Files
RSILauncherEnhance/main.js
2025-07-13 14:02:01 +08:00

56980 lines
3.0 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! For license information please see main.89a74382.js.LICENSE.txt */
!function () {
try {
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {},
n = (new e.Error).stack;
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "9156e693-b275-512a-8b5c-3bac4c2805e7")
} catch (e) {
}
}();
(() => {
const SC_TOOLBOX_ENABLED_LOCALIZATION = "en";
const SC_TOOLBOX_ENABLE_DOWNLOADER_BOOST = false;
var e = {
1114: (e, t, n) => {
"use strict";
var r = n(1479), a = n(4811);
function i(e) {
for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);
return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."
}
var o = new Set, s = {};
function l(e, t) {
c(e, t), c(e + "Capture", t)
}
function c(e, t) {
for (s[e] = t, e = 0; e < t.length; e++) o.add(t[e])
}
var u = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement),
d = Object.prototype.hasOwnProperty,
p = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
h = {}, f = {};
function m(e, t, n, r, a, i, o) {
this.acceptsBooleans = 2 === t || 3 === t || 4 === t, this.attributeName = r, this.attributeNamespace = a, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = i, this.removeEmptyString = o
}
var g = {};
"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function (e) {
g[e] = new m(e, 0, !1, e, null, !1, !1)
})), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach((function (e) {
var t = e[0];
g[t] = new m(t, 1, !1, e[1], null, !1, !1)
})), ["contentEditable", "draggable", "spellCheck", "value"].forEach((function (e) {
g[e] = new m(e, 2, !1, e.toLowerCase(), null, !1, !1)
})), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach((function (e) {
g[e] = new m(e, 2, !1, e, null, !1, !1)
})), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function (e) {
g[e] = new m(e, 3, !1, e.toLowerCase(), null, !1, !1)
})), ["checked", "multiple", "muted", "selected"].forEach((function (e) {
g[e] = new m(e, 3, !0, e, null, !1, !1)
})), ["capture", "download"].forEach((function (e) {
g[e] = new m(e, 4, !1, e, null, !1, !1)
})), ["cols", "rows", "size", "span"].forEach((function (e) {
g[e] = new m(e, 6, !1, e, null, !1, !1)
})), ["rowSpan", "start"].forEach((function (e) {
g[e] = new m(e, 5, !1, e.toLowerCase(), null, !1, !1)
}));
var v = /[\-:]([a-z])/g;
function _(e) {
return e[1].toUpperCase()
}
function y(e, t, n, r) {
var a = g.hasOwnProperty(t) ? g[t] : null;
(null !== a ? 0 !== a.type : r || !(2 < t.length) || "o" !== t[0] && "O" !== t[0] || "n" !== t[1] && "N" !== t[1]) && (function (e, t, n, r) {
if (null === t || "undefined" === typeof t || function (e, t, n, r) {
if (null !== n && 0 === n.type) return !1;
switch (typeof t) {
case"function":
case"symbol":
return !0;
case"boolean":
return !r && (null !== n ? !n.acceptsBooleans : "data-" !== (e = e.toLowerCase().slice(0, 5)) && "aria-" !== e);
default:
return !1
}
}(e, t, n, r)) return !0;
if (r) return !1;
if (null !== n) switch (n.type) {
case 3:
return !t;
case 4:
return !1 === t;
case 5:
return isNaN(t);
case 6:
return isNaN(t) || 1 > t
}
return !1
}(t, n, a, r) && (n = null), r || null === a ? function (e) {
return !!d.call(f, e) || !d.call(h, e) && (p.test(e) ? f[e] = !0 : (h[e] = !0, !1))
}(t) && (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : a.mustUseProperty ? e[a.propertyName] = null === n ? 3 !== a.type && "" : n : (t = a.attributeName, r = a.attributeNamespace, null === n ? e.removeAttribute(t) : (n = 3 === (a = a.type) || 4 === a && !0 === n ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))))
}
"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function (e) {
var t = e.replace(v, _);
g[t] = new m(t, 1, !1, e, null, !1, !1)
})), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function (e) {
var t = e.replace(v, _);
g[t] = new m(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1)
})), ["xml:base", "xml:lang", "xml:space"].forEach((function (e) {
var t = e.replace(v, _);
g[t] = new m(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1)
})), ["tabIndex", "crossOrigin"].forEach((function (e) {
g[e] = new m(e, 1, !1, e.toLowerCase(), null, !1, !1)
})), g.xlinkHref = new m("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach((function (e) {
g[e] = new m(e, 1, !1, e.toLowerCase(), null, !0, !0)
}));
var b = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, x = Symbol.for("react.element"),
w = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), S = Symbol.for("react.strict_mode"),
E = Symbol.for("react.profiler"), I = Symbol.for("react.provider"), C = Symbol.for("react.context"),
O = Symbol.for("react.forward_ref"), P = Symbol.for("react.suspense"),
A = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), D = Symbol.for("react.lazy");
Symbol.for("react.scope"), Symbol.for("react.debug_trace_mode");
var R = Symbol.for("react.offscreen");
Symbol.for("react.legacy_hidden"), Symbol.for("react.cache"), Symbol.for("react.tracing_marker");
var L = Symbol.iterator;
function j(e) {
return null === e || "object" !== typeof e ? null : "function" === typeof (e = L && e[L] || e["@@iterator"]) ? e : null
}
var N, M = Object.assign;
function F(e) {
if (void 0 === N) try {
throw Error()
} catch (n) {
var t = n.stack.trim().match(/\n( *(at )?)/);
N = t && t[1] || ""
}
return "\n" + N + e
}
var z = !1;
function V(e, t) {
if (!e || z) return "";
z = !0;
var n = Error.prepareStackTrace;
Error.prepareStackTrace = void 0;
try {
if (t) if (t = function () {
throw Error()
}, Object.defineProperty(t.prototype, "props", {
set: function () {
throw Error()
}
}), "object" === typeof Reflect && Reflect.construct) {
try {
Reflect.construct(t, [])
} catch (c) {
var r = c
}
Reflect.construct(e, [], t)
} else {
try {
t.call()
} catch (c) {
r = c
}
e.call(t.prototype)
} else {
try {
throw Error()
} catch (c) {
r = c
}
e()
}
} catch (c) {
if (c && r && "string" === typeof c.stack) {
for (var a = c.stack.split("\n"), i = r.stack.split("\n"), o = a.length - 1, s = i.length - 1; 1 <= o && 0 <= s && a[o] !== i[s];) s--;
for (; 1 <= o && 0 <= s; o--, s--) if (a[o] !== i[s]) {
if (1 !== o || 1 !== s) do {
if (o--, 0 > --s || a[o] !== i[s]) {
var l = "\n" + a[o].replace(" at new ", " at ");
return e.displayName && l.includes("<anonymous>") && (l = l.replace("<anonymous>", e.displayName)), l
}
} while (1 <= o && 0 <= s);
break
}
}
} finally {
z = !1, Error.prepareStackTrace = n
}
return (e = e ? e.displayName || e.name : "") ? F(e) : ""
}
function U(e) {
switch (e.tag) {
case 5:
return F(e.type);
case 16:
return F("Lazy");
case 13:
return F("Suspense");
case 19:
return F("SuspenseList");
case 0:
case 2:
case 15:
return e = V(e.type, !1);
case 11:
return e = V(e.type.render, !1);
case 1:
return e = V(e.type, !0);
default:
return ""
}
}
function B(e) {
if (null == e) return null;
if ("function" === typeof e) return e.displayName || e.name || null;
if ("string" === typeof e) return e;
switch (e) {
case k:
return "Fragment";
case w:
return "Portal";
case E:
return "Profiler";
case S:
return "StrictMode";
case P:
return "Suspense";
case A:
return "SuspenseList"
}
if ("object" === typeof e) switch (e.$$typeof) {
case C:
return (e.displayName || "Context") + ".Consumer";
case I:
return (e._context.displayName || "Context") + ".Provider";
case O:
var t = e.render;
return (e = e.displayName) || (e = "" !== (e = t.displayName || t.name || "") ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
case T:
return null !== (t = e.displayName || null) ? t : B(e.type) || "Memo";
case D:
t = e._payload, e = e._init;
try {
return B(e(t))
} catch (n) {
}
}
return null
}
function G(e) {
var t = e.type;
switch (e.tag) {
case 24:
return "Cache";
case 9:
return (t.displayName || "Context") + ".Consumer";
case 10:
return (t._context.displayName || "Context") + ".Provider";
case 18:
return "DehydratedFragment";
case 11:
return e = (e = t.render).displayName || e.name || "", t.displayName || ("" !== e ? "ForwardRef(" + e + ")" : "ForwardRef");
case 7:
return "Fragment";
case 5:
return t;
case 4:
return "Portal";
case 3:
return "Root";
case 6:
return "Text";
case 16:
return B(t);
case 8:
return t === S ? "StrictMode" : "Mode";
case 22:
return "Offscreen";
case 12:
return "Profiler";
case 21:
return "Scope";
case 13:
return "Suspense";
case 19:
return "SuspenseList";
case 25:
return "TracingMarker";
case 1:
case 0:
case 17:
case 2:
case 14:
case 15:
if ("function" === typeof t) return t.displayName || t.name || null;
if ("string" === typeof t) return t
}
return null
}
function $(e) {
switch (typeof e) {
case"boolean":
case"number":
case"string":
case"undefined":
case"object":
return e;
default:
return ""
}
}
function q(e) {
var t = e.type;
return (e = e.nodeName) && "input" === e.toLowerCase() && ("checkbox" === t || "radio" === t)
}
function W(e) {
e._valueTracker || (e._valueTracker = function (e) {
var t = q(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t),
r = "" + e[t];
if (!e.hasOwnProperty(t) && "undefined" !== typeof n && "function" === typeof n.get && "function" === typeof n.set) {
var a = n.get, i = n.set;
return Object.defineProperty(e, t, {
configurable: !0, get: function () {
return a.call(this)
}, set: function (e) {
r = "" + e, i.call(this, e)
}
}), Object.defineProperty(e, t, {enumerable: n.enumerable}), {
getValue: function () {
return r
}, setValue: function (e) {
r = "" + e
}, stopTracking: function () {
e._valueTracker = null, delete e[t]
}
}
}
}(e))
}
function H(e) {
if (!e) return !1;
var t = e._valueTracker;
if (!t) return !0;
var n = t.getValue(), r = "";
return e && (r = q(e) ? e.checked ? "true" : "false" : e.value), (e = r) !== n && (t.setValue(e), !0)
}
function K(e) {
if ("undefined" === typeof (e = e || ("undefined" !== typeof document ? document : void 0))) return null;
try {
return e.activeElement || e.body
} catch (t) {
return e.body
}
}
function Y(e, t) {
var n = t.checked;
return M({}, t, {
defaultChecked: void 0,
defaultValue: void 0,
value: void 0,
checked: null != n ? n : e._wrapperState.initialChecked
})
}
function Q(e, t) {
var n = null == t.defaultValue ? "" : t.defaultValue,
r = null != t.checked ? t.checked : t.defaultChecked;
n = $(null != t.value ? t.value : n), e._wrapperState = {
initialChecked: r,
initialValue: n,
controlled: "checkbox" === t.type || "radio" === t.type ? null != t.checked : null != t.value
}
}
function Z(e, t) {
null != (t = t.checked) && y(e, "checked", t, !1)
}
function X(e, t) {
Z(e, t);
var n = $(t.value), r = t.type;
if (null != n) "number" === r ? (0 === n && "" === e.value || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n); else if ("submit" === r || "reset" === r) return void e.removeAttribute("value");
t.hasOwnProperty("value") ? ee(e, t.type, n) : t.hasOwnProperty("defaultValue") && ee(e, t.type, $(t.defaultValue)), null == t.checked && null != t.defaultChecked && (e.defaultChecked = !!t.defaultChecked)
}
function J(e, t, n) {
if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
var r = t.type;
if (!("submit" !== r && "reset" !== r || void 0 !== t.value && null !== t.value)) return;
t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t
}
"" !== (n = e.name) && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, "" !== n && (e.name = n)
}
function ee(e, t, n) {
"number" === t && K(e.ownerDocument) === e || (null == n ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n))
}
var te = Array.isArray;
function ne(e, t, n, r) {
if (e = e.options, t) {
t = {};
for (var a = 0; a < n.length; a++) t["$" + n[a]] = !0;
for (n = 0; n < e.length; n++) a = t.hasOwnProperty("$" + e[n].value), e[n].selected !== a && (e[n].selected = a), a && r && (e[n].defaultSelected = !0)
} else {
for (n = "" + $(n), t = null, a = 0; a < e.length; a++) {
if (e[a].value === n) return e[a].selected = !0, void (r && (e[a].defaultSelected = !0));
null !== t || e[a].disabled || (t = e[a])
}
null !== t && (t.selected = !0)
}
}
function re(e, t) {
if (null != t.dangerouslySetInnerHTML) throw Error(i(91));
return M({}, t, {value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue})
}
function ae(e, t) {
var n = t.value;
if (null == n) {
if (n = t.children, t = t.defaultValue, null != n) {
if (null != t) throw Error(i(92));
if (te(n)) {
if (1 < n.length) throw Error(i(93));
n = n[0]
}
t = n
}
null == t && (t = ""), n = t
}
e._wrapperState = {initialValue: $(n)}
}
function ie(e, t) {
var n = $(t.value), r = $(t.defaultValue);
null != n && ((n = "" + n) !== e.value && (e.value = n), null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), null != r && (e.defaultValue = "" + r)
}
function oe(e) {
var t = e.textContent;
t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t)
}
function se(e) {
switch (e) {
case"svg":
return "http://www.w3.org/2000/svg";
case"math":
return "http://www.w3.org/1998/Math/MathML";
default:
return "http://www.w3.org/1999/xhtml"
}
}
function le(e, t) {
return null == e || "http://www.w3.org/1999/xhtml" === e ? se(t) : "http://www.w3.org/2000/svg" === e && "foreignObject" === t ? "http://www.w3.org/1999/xhtml" : e
}
var ce, ue, de = (ue = function (e, t) {
if ("http://www.w3.org/2000/svg" !== e.namespaceURI || "innerHTML" in e) e.innerHTML = t; else {
for ((ce = ce || document.createElement("div")).innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = ce.firstChild; e.firstChild;) e.removeChild(e.firstChild);
for (; t.firstChild;) e.appendChild(t.firstChild)
}
}, "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (e, t, n, r) {
MSApp.execUnsafeLocalFunction((function () {
return ue(e, t)
}))
} : ue);
function pe(e, t) {
if (t) {
var n = e.firstChild;
if (n && n === e.lastChild && 3 === n.nodeType) return void (n.nodeValue = t)
}
e.textContent = t
}
var he = {
animationIterationCount: !0,
aspectRatio: !0,
borderImageOutset: !0,
borderImageSlice: !0,
borderImageWidth: !0,
boxFlex: !0,
boxFlexGroup: !0,
boxOrdinalGroup: !0,
columnCount: !0,
columns: !0,
flex: !0,
flexGrow: !0,
flexPositive: !0,
flexShrink: !0,
flexNegative: !0,
flexOrder: !0,
gridArea: !0,
gridRow: !0,
gridRowEnd: !0,
gridRowSpan: !0,
gridRowStart: !0,
gridColumn: !0,
gridColumnEnd: !0,
gridColumnSpan: !0,
gridColumnStart: !0,
fontWeight: !0,
lineClamp: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
tabSize: !0,
widows: !0,
zIndex: !0,
zoom: !0,
fillOpacity: !0,
floodOpacity: !0,
stopOpacity: !0,
strokeDasharray: !0,
strokeDashoffset: !0,
strokeMiterlimit: !0,
strokeOpacity: !0,
strokeWidth: !0
}, fe = ["Webkit", "ms", "Moz", "O"];
function me(e, t, n) {
return null == t || "boolean" === typeof t || "" === t ? "" : n || "number" !== typeof t || 0 === t || he.hasOwnProperty(e) && he[e] ? ("" + t).trim() : t + "px"
}
function ge(e, t) {
for (var n in e = e.style, t) if (t.hasOwnProperty(n)) {
var r = 0 === n.indexOf("--"), a = me(n, t[n], r);
"float" === n && (n = "cssFloat"), r ? e.setProperty(n, a) : e[n] = a
}
}
Object.keys(he).forEach((function (e) {
fe.forEach((function (t) {
t = t + e.charAt(0).toUpperCase() + e.substring(1), he[t] = he[e]
}))
}));
var ve = M({menuitem: !0}, {
area: !0,
base: !0,
br: !0,
col: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
keygen: !0,
link: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
});
function _e(e, t) {
if (t) {
if (ve[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) throw Error(i(137, e));
if (null != t.dangerouslySetInnerHTML) {
if (null != t.children) throw Error(i(60));
if ("object" !== typeof t.dangerouslySetInnerHTML || !("__html" in t.dangerouslySetInnerHTML)) throw Error(i(61))
}
if (null != t.style && "object" !== typeof t.style) throw Error(i(62))
}
}
function ye(e, t) {
if (-1 === e.indexOf("-")) return "string" === typeof t.is;
switch (e) {
case"annotation-xml":
case"color-profile":
case"font-face":
case"font-face-src":
case"font-face-uri":
case"font-face-format":
case"font-face-name":
case"missing-glyph":
return !1;
default:
return !0
}
}
var be = null;
function xe(e) {
return (e = e.target || e.srcElement || window).correspondingUseElement && (e = e.correspondingUseElement), 3 === e.nodeType ? e.parentNode : e
}
var we = null, ke = null, Se = null;
function Ee(e) {
if (e = ya(e)) {
if ("function" !== typeof we) throw Error(i(280));
var t = e.stateNode;
t && (t = xa(t), we(e.stateNode, e.type, t))
}
}
function Ie(e) {
ke ? Se ? Se.push(e) : Se = [e] : ke = e
}
function Ce() {
if (ke) {
var e = ke, t = Se;
if (Se = ke = null, Ee(e), t) for (e = 0; e < t.length; e++) Ee(t[e])
}
}
function Oe(e, t) {
return e(t)
}
function Pe() {
}
var Ae = !1;
function Te(e, t, n) {
if (Ae) return e(t, n);
Ae = !0;
try {
return Oe(e, t, n)
} finally {
Ae = !1, (null !== ke || null !== Se) && (Pe(), Ce())
}
}
function De(e, t) {
var n = e.stateNode;
if (null === n) return null;
var r = xa(n);
if (null === r) return null;
n = r[t];
e:switch (t) {
case"onClick":
case"onClickCapture":
case"onDoubleClick":
case"onDoubleClickCapture":
case"onMouseDown":
case"onMouseDownCapture":
case"onMouseMove":
case"onMouseMoveCapture":
case"onMouseUp":
case"onMouseUpCapture":
case"onMouseEnter":
(r = !r.disabled) || (r = !("button" === (e = e.type) || "input" === e || "select" === e || "textarea" === e)), e = !r;
break e;
default:
e = !1
}
if (e) return null;
if (n && "function" !== typeof n) throw Error(i(231, t, typeof n));
return n
}
var Re = !1;
if (u) try {
var Le = {};
Object.defineProperty(Le, "passive", {
get: function () {
Re = !0
}
}), window.addEventListener("test", Le, Le), window.removeEventListener("test", Le, Le)
} catch (ue) {
Re = !1
}
function je(e, t, n, r, a, i, o, s, l) {
var c = Array.prototype.slice.call(arguments, 3);
try {
t.apply(n, c)
} catch (u) {
this.onError(u)
}
}
var Ne = !1, Me = null, Fe = !1, ze = null, Ve = {
onError: function (e) {
Ne = !0, Me = e
}
};
function Ue(e, t, n, r, a, i, o, s, l) {
Ne = !1, Me = null, je.apply(Ve, arguments)
}
function Be(e) {
var t = e, n = e;
if (e.alternate) for (; t.return;) t = t.return; else {
e = t;
do {
0 !== (4098 & (t = e).flags) && (n = t.return), e = t.return
} while (e)
}
return 3 === t.tag ? n : null
}
function Ge(e) {
if (13 === e.tag) {
var t = e.memoizedState;
if (null === t && (null !== (e = e.alternate) && (t = e.memoizedState)), null !== t) return t.dehydrated
}
return null
}
function $e(e) {
if (Be(e) !== e) throw Error(i(188))
}
function qe(e) {
return null !== (e = function (e) {
var t = e.alternate;
if (!t) {
if (null === (t = Be(e))) throw Error(i(188));
return t !== e ? null : e
}
for (var n = e, r = t; ;) {
var a = n.return;
if (null === a) break;
var o = a.alternate;
if (null === o) {
if (null !== (r = a.return)) {
n = r;
continue
}
break
}
if (a.child === o.child) {
for (o = a.child; o;) {
if (o === n) return $e(a), e;
if (o === r) return $e(a), t;
o = o.sibling
}
throw Error(i(188))
}
if (n.return !== r.return) n = a, r = o; else {
for (var s = !1, l = a.child; l;) {
if (l === n) {
s = !0, n = a, r = o;
break
}
if (l === r) {
s = !0, r = a, n = o;
break
}
l = l.sibling
}
if (!s) {
for (l = o.child; l;) {
if (l === n) {
s = !0, n = o, r = a;
break
}
if (l === r) {
s = !0, r = o, n = a;
break
}
l = l.sibling
}
if (!s) throw Error(i(189))
}
}
if (n.alternate !== r) throw Error(i(190))
}
if (3 !== n.tag) throw Error(i(188));
return n.stateNode.current === n ? e : t
}(e)) ? We(e) : null
}
function We(e) {
if (5 === e.tag || 6 === e.tag) return e;
for (e = e.child; null !== e;) {
var t = We(e);
if (null !== t) return t;
e = e.sibling
}
return null
}
var He = a.unstable_scheduleCallback, Ke = a.unstable_cancelCallback, Ye = a.unstable_shouldYield,
Qe = a.unstable_requestPaint, Ze = a.unstable_now, Xe = a.unstable_getCurrentPriorityLevel,
Je = a.unstable_ImmediatePriority, et = a.unstable_UserBlockingPriority, tt = a.unstable_NormalPriority,
nt = a.unstable_LowPriority, rt = a.unstable_IdlePriority, at = null, it = null;
var ot = Math.clz32 ? Math.clz32 : function (e) {
return e >>>= 0, 0 === e ? 32 : 31 - (st(e) / lt | 0) | 0
}, st = Math.log, lt = Math.LN2;
var ct = 64, ut = 4194304;
function dt(e) {
switch (e & -e) {
case 1:
return 1;
case 2:
return 2;
case 4:
return 4;
case 8:
return 8;
case 16:
return 16;
case 32:
return 32;
case 64:
case 128:
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
case 262144:
case 524288:
case 1048576:
case 2097152:
return 4194240 & e;
case 4194304:
case 8388608:
case 16777216:
case 33554432:
case 67108864:
return 130023424 & e;
case 134217728:
return 134217728;
case 268435456:
return 268435456;
case 536870912:
return 536870912;
case 1073741824:
return 1073741824;
default:
return e
}
}
function pt(e, t) {
var n = e.pendingLanes;
if (0 === n) return 0;
var r = 0, a = e.suspendedLanes, i = e.pingedLanes, o = 268435455 & n;
if (0 !== o) {
var s = o & ~a;
0 !== s ? r = dt(s) : 0 !== (i &= o) && (r = dt(i))
} else 0 !== (o = n & ~a) ? r = dt(o) : 0 !== i && (r = dt(i));
if (0 === r) return 0;
if (0 !== t && t !== r && 0 === (t & a) && ((a = r & -r) >= (i = t & -t) || 16 === a && 0 !== (4194240 & i))) return t;
if (0 !== (4 & r) && (r |= 16 & n), 0 !== (t = e.entangledLanes)) for (e = e.entanglements, t &= r; 0 < t;) a = 1 << (n = 31 - ot(t)), r |= e[n], t &= ~a;
return r
}
function ht(e, t) {
switch (e) {
case 1:
case 2:
case 4:
return t + 250;
case 8:
case 16:
case 32:
case 64:
case 128:
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
case 262144:
case 524288:
case 1048576:
case 2097152:
return t + 5e3;
default:
return -1
}
}
function ft(e) {
return 0 !== (e = -1073741825 & e.pendingLanes) ? e : 1073741824 & e ? 1073741824 : 0
}
function mt() {
var e = ct;
return 0 === (4194240 & (ct <<= 1)) && (ct = 64), e
}
function gt(e) {
for (var t = [], n = 0; 31 > n; n++) t.push(e);
return t
}
function vt(e, t, n) {
e.pendingLanes |= t, 536870912 !== t && (e.suspendedLanes = 0, e.pingedLanes = 0), (e = e.eventTimes)[t = 31 - ot(t)] = n
}
function _t(e, t) {
var n = e.entangledLanes |= t;
for (e = e.entanglements; n;) {
var r = 31 - ot(n), a = 1 << r;
a & t | e[r] & t && (e[r] |= t), n &= ~a
}
}
var yt = 0;
function bt(e) {
return 1 < (e &= -e) ? 4 < e ? 0 !== (268435455 & e) ? 16 : 536870912 : 4 : 1
}
var xt, wt, kt, St, Et, It = !1, Ct = [], Ot = null, Pt = null, At = null, Tt = new Map, Dt = new Map,
Rt = [],
Lt = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
function jt(e, t) {
switch (e) {
case"focusin":
case"focusout":
Ot = null;
break;
case"dragenter":
case"dragleave":
Pt = null;
break;
case"mouseover":
case"mouseout":
At = null;
break;
case"pointerover":
case"pointerout":
Tt.delete(t.pointerId);
break;
case"gotpointercapture":
case"lostpointercapture":
Dt.delete(t.pointerId)
}
}
function Nt(e, t, n, r, a, i) {
return null === e || e.nativeEvent !== i ? (e = {
blockedOn: t,
domEventName: n,
eventSystemFlags: r,
nativeEvent: i,
targetContainers: [a]
}, null !== t && (null !== (t = ya(t)) && wt(t)), e) : (e.eventSystemFlags |= r, t = e.targetContainers, null !== a && -1 === t.indexOf(a) && t.push(a), e)
}
function Mt(e) {
var t = _a(e.target);
if (null !== t) {
var n = Be(t);
if (null !== n) if (13 === (t = n.tag)) {
if (null !== (t = Ge(n))) return e.blockedOn = t, void Et(e.priority, (function () {
kt(n)
}))
} else if (3 === t && n.stateNode.current.memoizedState.isDehydrated) return void (e.blockedOn = 3 === n.tag ? n.stateNode.containerInfo : null)
}
e.blockedOn = null
}
function Ft(e) {
if (null !== e.blockedOn) return !1;
for (var t = e.targetContainers; 0 < t.length;) {
var n = Yt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent);
if (null !== n) return null !== (t = ya(n)) && wt(t), e.blockedOn = n, !1;
var r = new (n = e.nativeEvent).constructor(n.type, n);
be = r, n.target.dispatchEvent(r), be = null, t.shift()
}
return !0
}
function zt(e, t, n) {
Ft(e) && n.delete(t)
}
function Vt() {
It = !1, null !== Ot && Ft(Ot) && (Ot = null), null !== Pt && Ft(Pt) && (Pt = null), null !== At && Ft(At) && (At = null), Tt.forEach(zt), Dt.forEach(zt)
}
function Ut(e, t) {
e.blockedOn === t && (e.blockedOn = null, It || (It = !0, a.unstable_scheduleCallback(a.unstable_NormalPriority, Vt)))
}
function Bt(e) {
function t(t) {
return Ut(t, e)
}
if (0 < Ct.length) {
Ut(Ct[0], e);
for (var n = 1; n < Ct.length; n++) {
var r = Ct[n];
r.blockedOn === e && (r.blockedOn = null)
}
}
for (null !== Ot && Ut(Ot, e), null !== Pt && Ut(Pt, e), null !== At && Ut(At, e), Tt.forEach(t), Dt.forEach(t), n = 0; n < Rt.length; n++) (r = Rt[n]).blockedOn === e && (r.blockedOn = null);
for (; 0 < Rt.length && null === (n = Rt[0]).blockedOn;) Mt(n), null === n.blockedOn && Rt.shift()
}
var Gt = b.ReactCurrentBatchConfig, $t = !0;
function qt(e, t, n, r) {
var a = yt, i = Gt.transition;
Gt.transition = null;
try {
yt = 1, Ht(e, t, n, r)
} finally {
yt = a, Gt.transition = i
}
}
function Wt(e, t, n, r) {
var a = yt, i = Gt.transition;
Gt.transition = null;
try {
yt = 4, Ht(e, t, n, r)
} finally {
yt = a, Gt.transition = i
}
}
function Ht(e, t, n, r) {
if ($t) {
var a = Yt(e, t, n, r);
if (null === a) $r(e, t, r, Kt, n), jt(e, r); else if (function (e, t, n, r, a) {
switch (t) {
case"focusin":
return Ot = Nt(Ot, e, t, n, r, a), !0;
case"dragenter":
return Pt = Nt(Pt, e, t, n, r, a), !0;
case"mouseover":
return At = Nt(At, e, t, n, r, a), !0;
case"pointerover":
var i = a.pointerId;
return Tt.set(i, Nt(Tt.get(i) || null, e, t, n, r, a)), !0;
case"gotpointercapture":
return i = a.pointerId, Dt.set(i, Nt(Dt.get(i) || null, e, t, n, r, a)), !0
}
return !1
}(a, e, t, n, r)) r.stopPropagation(); else if (jt(e, r), 4 & t && -1 < Lt.indexOf(e)) {
for (; null !== a;) {
var i = ya(a);
if (null !== i && xt(i), null === (i = Yt(e, t, n, r)) && $r(e, t, r, Kt, n), i === a) break;
a = i
}
null !== a && r.stopPropagation()
} else $r(e, t, r, null, n)
}
}
var Kt = null;
function Yt(e, t, n, r) {
if (Kt = null, null !== (e = _a(e = xe(r)))) if (null === (t = Be(e))) e = null; else if (13 === (n = t.tag)) {
if (null !== (e = Ge(t))) return e;
e = null
} else if (3 === n) {
if (t.stateNode.current.memoizedState.isDehydrated) return 3 === t.tag ? t.stateNode.containerInfo : null;
e = null
} else t !== e && (e = null);
return Kt = e, null
}
function Qt(e) {
switch (e) {
case"cancel":
case"click":
case"close":
case"contextmenu":
case"copy":
case"cut":
case"auxclick":
case"dblclick":
case"dragend":
case"dragstart":
case"drop":
case"focusin":
case"focusout":
case"input":
case"invalid":
case"keydown":
case"keypress":
case"keyup":
case"mousedown":
case"mouseup":
case"paste":
case"pause":
case"play":
case"pointercancel":
case"pointerdown":
case"pointerup":
case"ratechange":
case"reset":
case"resize":
case"seeked":
case"submit":
case"touchcancel":
case"touchend":
case"touchstart":
case"volumechange":
case"change":
case"selectionchange":
case"textInput":
case"compositionstart":
case"compositionend":
case"compositionupdate":
case"beforeblur":
case"afterblur":
case"beforeinput":
case"blur":
case"fullscreenchange":
case"focus":
case"hashchange":
case"popstate":
case"select":
case"selectstart":
return 1;
case"drag":
case"dragenter":
case"dragexit":
case"dragleave":
case"dragover":
case"mousemove":
case"mouseout":
case"mouseover":
case"pointermove":
case"pointerout":
case"pointerover":
case"scroll":
case"toggle":
case"touchmove":
case"wheel":
case"mouseenter":
case"mouseleave":
case"pointerenter":
case"pointerleave":
return 4;
case"message":
switch (Xe()) {
case Je:
return 1;
case et:
return 4;
case tt:
case nt:
return 16;
case rt:
return 536870912;
default:
return 16
}
default:
return 16
}
}
var Zt = null, Xt = null, Jt = null;
function en() {
if (Jt) return Jt;
var e, t, n = Xt, r = n.length, a = "value" in Zt ? Zt.value : Zt.textContent, i = a.length;
for (e = 0; e < r && n[e] === a[e]; e++) ;
var o = r - e;
for (t = 1; t <= o && n[r - t] === a[i - t]; t++) ;
return Jt = a.slice(e, 1 < t ? 1 - t : void 0)
}
function tn(e) {
var t = e.keyCode;
return "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : e = t, 10 === e && (e = 13), 32 <= e || 13 === e ? e : 0
}
function nn() {
return !0
}
function rn() {
return !1
}
function an(e) {
function t(t, n, r, a, i) {
for (var o in this._reactName = t, this._targetInst = r, this.type = n, this.nativeEvent = a, this.target = i, this.currentTarget = null, e) e.hasOwnProperty(o) && (t = e[o], this[o] = t ? t(a) : a[o]);
return this.isDefaultPrevented = (null != a.defaultPrevented ? a.defaultPrevented : !1 === a.returnValue) ? nn : rn, this.isPropagationStopped = rn, this
}
return M(t.prototype, {
preventDefault: function () {
this.defaultPrevented = !0;
var e = this.nativeEvent;
e && (e.preventDefault ? e.preventDefault() : "unknown" !== typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = nn)
}, stopPropagation: function () {
var e = this.nativeEvent;
e && (e.stopPropagation ? e.stopPropagation() : "unknown" !== typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = nn)
}, persist: function () {
}, isPersistent: nn
}), t
}
var on, sn, ln, cn = {
eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function (e) {
return e.timeStamp || Date.now()
}, defaultPrevented: 0, isTrusted: 0
}, un = an(cn), dn = M({}, cn, {view: 0, detail: 0}), pn = an(dn), hn = M({}, dn, {
screenX: 0,
screenY: 0,
clientX: 0,
clientY: 0,
pageX: 0,
pageY: 0,
ctrlKey: 0,
shiftKey: 0,
altKey: 0,
metaKey: 0,
getModifierState: En,
button: 0,
buttons: 0,
relatedTarget: function (e) {
return void 0 === e.relatedTarget ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget
},
movementX: function (e) {
return "movementX" in e ? e.movementX : (e !== ln && (ln && "mousemove" === e.type ? (on = e.screenX - ln.screenX, sn = e.screenY - ln.screenY) : sn = on = 0, ln = e), on)
},
movementY: function (e) {
return "movementY" in e ? e.movementY : sn
}
}), fn = an(hn), mn = an(M({}, hn, {dataTransfer: 0})), gn = an(M({}, dn, {relatedTarget: 0})),
vn = an(M({}, cn, {animationName: 0, elapsedTime: 0, pseudoElement: 0})), _n = M({}, cn, {
clipboardData: function (e) {
return "clipboardData" in e ? e.clipboardData : window.clipboardData
}
}), yn = an(_n), bn = an(M({}, cn, {data: 0})), xn = {
Esc: "Escape",
Spacebar: " ",
Left: "ArrowLeft",
Up: "ArrowUp",
Right: "ArrowRight",
Down: "ArrowDown",
Del: "Delete",
Win: "OS",
Menu: "ContextMenu",
Apps: "ContextMenu",
Scroll: "ScrollLock",
MozPrintableKey: "Unidentified"
}, wn = {
8: "Backspace",
9: "Tab",
12: "Clear",
13: "Enter",
16: "Shift",
17: "Control",
18: "Alt",
19: "Pause",
20: "CapsLock",
27: "Escape",
32: " ",
33: "PageUp",
34: "PageDown",
35: "End",
36: "Home",
37: "ArrowLeft",
38: "ArrowUp",
39: "ArrowRight",
40: "ArrowDown",
45: "Insert",
46: "Delete",
112: "F1",
113: "F2",
114: "F3",
115: "F4",
116: "F5",
117: "F6",
118: "F7",
119: "F8",
120: "F9",
121: "F10",
122: "F11",
123: "F12",
144: "NumLock",
145: "ScrollLock",
224: "Meta"
}, kn = {Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey"};
function Sn(e) {
var t = this.nativeEvent;
return t.getModifierState ? t.getModifierState(e) : !!(e = kn[e]) && !!t[e]
}
function En() {
return Sn
}
var In = M({}, dn, {
key: function (e) {
if (e.key) {
var t = xn[e.key] || e.key;
if ("Unidentified" !== t) return t
}
return "keypress" === e.type ? 13 === (e = tn(e)) ? "Enter" : String.fromCharCode(e) : "keydown" === e.type || "keyup" === e.type ? wn[e.keyCode] || "Unidentified" : ""
},
code: 0,
location: 0,
ctrlKey: 0,
shiftKey: 0,
altKey: 0,
metaKey: 0,
repeat: 0,
locale: 0,
getModifierState: En,
charCode: function (e) {
return "keypress" === e.type ? tn(e) : 0
},
keyCode: function (e) {
return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0
},
which: function (e) {
return "keypress" === e.type ? tn(e) : "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0
}
}), Cn = an(In), On = an(M({}, hn, {
pointerId: 0,
width: 0,
height: 0,
pressure: 0,
tangentialPressure: 0,
tiltX: 0,
tiltY: 0,
twist: 0,
pointerType: 0,
isPrimary: 0
})), Pn = an(M({}, dn, {
touches: 0,
targetTouches: 0,
changedTouches: 0,
altKey: 0,
metaKey: 0,
ctrlKey: 0,
shiftKey: 0,
getModifierState: En
})), An = an(M({}, cn, {propertyName: 0, elapsedTime: 0, pseudoElement: 0})), Tn = M({}, hn, {
deltaX: function (e) {
return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0
}, deltaY: function (e) {
return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0
}, deltaZ: 0, deltaMode: 0
}), Dn = an(Tn), Rn = [9, 13, 27, 32], Ln = u && "CompositionEvent" in window, jn = null;
u && "documentMode" in document && (jn = document.documentMode);
var Nn = u && "TextEvent" in window && !jn, Mn = u && (!Ln || jn && 8 < jn && 11 >= jn),
Fn = String.fromCharCode(32), zn = !1;
function Vn(e, t) {
switch (e) {
case"keyup":
return -1 !== Rn.indexOf(t.keyCode);
case"keydown":
return 229 !== t.keyCode;
case"keypress":
case"mousedown":
case"focusout":
return !0;
default:
return !1
}
}
function Un(e) {
return "object" === typeof (e = e.detail) && "data" in e ? e.data : null
}
var Bn = !1;
var Gn = {
color: !0,
date: !0,
datetime: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
password: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0
};
function $n(e) {
var t = e && e.nodeName && e.nodeName.toLowerCase();
return "input" === t ? !!Gn[e.type] : "textarea" === t
}
function qn(e, t, n, r) {
Ie(r), 0 < (t = Wr(t, "onChange")).length && (n = new un("onChange", "change", null, n, r), e.push({
event: n,
listeners: t
}))
}
var Wn = null, Hn = null;
function Kn(e) {
Fr(e, 0)
}
function Yn(e) {
if (H(ba(e))) return e
}
function Qn(e, t) {
if ("change" === e) return t
}
var Zn = !1;
if (u) {
var Xn;
if (u) {
var Jn = "oninput" in document;
if (!Jn) {
var er = document.createElement("div");
er.setAttribute("oninput", "return;"), Jn = "function" === typeof er.oninput
}
Xn = Jn
} else Xn = !1;
Zn = Xn && (!document.documentMode || 9 < document.documentMode)
}
function tr() {
Wn && (Wn.detachEvent("onpropertychange", nr), Hn = Wn = null)
}
function nr(e) {
if ("value" === e.propertyName && Yn(Hn)) {
var t = [];
qn(t, Hn, e, xe(e)), Te(Kn, t)
}
}
function rr(e, t, n) {
"focusin" === e ? (tr(), Hn = n, (Wn = t).attachEvent("onpropertychange", nr)) : "focusout" === e && tr()
}
function ar(e) {
if ("selectionchange" === e || "keyup" === e || "keydown" === e) return Yn(Hn)
}
function ir(e, t) {
if ("click" === e) return Yn(t)
}
function or(e, t) {
if ("input" === e || "change" === e) return Yn(t)
}
var sr = "function" === typeof Object.is ? Object.is : function (e, t) {
return e === t && (0 !== e || 1 / e === 1 / t) || e !== e && t !== t
};
function lr(e, t) {
if (sr(e, t)) return !0;
if ("object" !== typeof e || null === e || "object" !== typeof t || null === t) return !1;
var n = Object.keys(e), r = Object.keys(t);
if (n.length !== r.length) return !1;
for (r = 0; r < n.length; r++) {
var a = n[r];
if (!d.call(t, a) || !sr(e[a], t[a])) return !1
}
return !0
}
function cr(e) {
for (; e && e.firstChild;) e = e.firstChild;
return e
}
function ur(e, t) {
var n, r = cr(e);
for (e = 0; r;) {
if (3 === r.nodeType) {
if (n = e + r.textContent.length, e <= t && n >= t) return {node: r, offset: t - e};
e = n
}
e:{
for (; r;) {
if (r.nextSibling) {
r = r.nextSibling;
break e
}
r = r.parentNode
}
r = void 0
}
r = cr(r)
}
}
function dr(e, t) {
return !(!e || !t) && (e === t || (!e || 3 !== e.nodeType) && (t && 3 === t.nodeType ? dr(e, t.parentNode) : "contains" in e ? e.contains(t) : !!e.compareDocumentPosition && !!(16 & e.compareDocumentPosition(t))))
}
function pr() {
for (var e = window, t = K(); t instanceof e.HTMLIFrameElement;) {
try {
var n = "string" === typeof t.contentWindow.location.href
} catch (r) {
n = !1
}
if (!n) break;
t = K((e = t.contentWindow).document)
}
return t
}
function hr(e) {
var t = e && e.nodeName && e.nodeName.toLowerCase();
return t && ("input" === t && ("text" === e.type || "search" === e.type || "tel" === e.type || "url" === e.type || "password" === e.type) || "textarea" === t || "true" === e.contentEditable)
}
function fr(e) {
var t = pr(), n = e.focusedElem, r = e.selectionRange;
if (t !== n && n && n.ownerDocument && dr(n.ownerDocument.documentElement, n)) {
if (null !== r && hr(n)) if (t = r.start, void 0 === (e = r.end) && (e = t), "selectionStart" in n) n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length); else if ((e = (t = n.ownerDocument || document) && t.defaultView || window).getSelection) {
e = e.getSelection();
var a = n.textContent.length, i = Math.min(r.start, a);
r = void 0 === r.end ? i : Math.min(r.end, a), !e.extend && i > r && (a = r, r = i, i = a), a = ur(n, i);
var o = ur(n, r);
a && o && (1 !== e.rangeCount || e.anchorNode !== a.node || e.anchorOffset !== a.offset || e.focusNode !== o.node || e.focusOffset !== o.offset) && ((t = t.createRange()).setStart(a.node, a.offset), e.removeAllRanges(), i > r ? (e.addRange(t), e.extend(o.node, o.offset)) : (t.setEnd(o.node, o.offset), e.addRange(t)))
}
for (t = [], e = n; e = e.parentNode;) 1 === e.nodeType && t.push({
element: e,
left: e.scrollLeft,
top: e.scrollTop
});
for ("function" === typeof n.focus && n.focus(), n = 0; n < t.length; n++) (e = t[n]).element.scrollLeft = e.left, e.element.scrollTop = e.top
}
}
var mr = u && "documentMode" in document && 11 >= document.documentMode, gr = null, vr = null, _r = null,
yr = !1;
function br(e, t, n) {
var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument;
yr || null == gr || gr !== K(r) || ("selectionStart" in (r = gr) && hr(r) ? r = {
start: r.selectionStart,
end: r.selectionEnd
} : r = {
anchorNode: (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection()).anchorNode,
anchorOffset: r.anchorOffset,
focusNode: r.focusNode,
focusOffset: r.focusOffset
}, _r && lr(_r, r) || (_r = r, 0 < (r = Wr(vr, "onSelect")).length && (t = new un("onSelect", "select", null, t, n), e.push({
event: t,
listeners: r
}), t.target = gr)))
}
function xr(e, t) {
var n = {};
return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n
}
var wr = {
animationend: xr("Animation", "AnimationEnd"),
animationiteration: xr("Animation", "AnimationIteration"),
animationstart: xr("Animation", "AnimationStart"),
transitionend: xr("Transition", "TransitionEnd")
}, kr = {}, Sr = {};
function Er(e) {
if (kr[e]) return kr[e];
if (!wr[e]) return e;
var t, n = wr[e];
for (t in n) if (n.hasOwnProperty(t) && t in Sr) return kr[e] = n[t];
return e
}
u && (Sr = document.createElement("div").style, "AnimationEvent" in window || (delete wr.animationend.animation, delete wr.animationiteration.animation, delete wr.animationstart.animation), "TransitionEvent" in window || delete wr.transitionend.transition);
var Ir = Er("animationend"), Cr = Er("animationiteration"), Or = Er("animationstart"),
Pr = Er("transitionend"), Ar = new Map,
Tr = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
function Dr(e, t) {
Ar.set(e, t), l(t, [e])
}
for (var Rr = 0; Rr < Tr.length; Rr++) {
var Lr = Tr[Rr];
Dr(Lr.toLowerCase(), "on" + (Lr[0].toUpperCase() + Lr.slice(1)))
}
Dr(Ir, "onAnimationEnd"), Dr(Cr, "onAnimationIteration"), Dr(Or, "onAnimationStart"), Dr("dblclick", "onDoubleClick"), Dr("focusin", "onFocus"), Dr("focusout", "onBlur"), Dr(Pr, "onTransitionEnd"), c("onMouseEnter", ["mouseout", "mouseover"]), c("onMouseLeave", ["mouseout", "mouseover"]), c("onPointerEnter", ["pointerout", "pointerover"]), c("onPointerLeave", ["pointerout", "pointerover"]), l("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), l("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), l("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), l("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), l("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), l("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
var jr = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),
Nr = new Set("cancel close invalid load scroll toggle".split(" ").concat(jr));
function Mr(e, t, n) {
var r = e.type || "unknown-event";
e.currentTarget = n, function (e, t, n, r, a, o, s, l, c) {
if (Ue.apply(this, arguments), Ne) {
if (!Ne) throw Error(i(198));
var u = Me;
Ne = !1, Me = null, Fe || (Fe = !0, ze = u)
}
}(r, t, void 0, e), e.currentTarget = null
}
function Fr(e, t) {
t = 0 !== (4 & t);
for (var n = 0; n < e.length; n++) {
var r = e[n], a = r.event;
r = r.listeners;
e:{
var i = void 0;
if (t) for (var o = r.length - 1; 0 <= o; o--) {
var s = r[o], l = s.instance, c = s.currentTarget;
if (s = s.listener, l !== i && a.isPropagationStopped()) break e;
Mr(a, s, c), i = l
} else for (o = 0; o < r.length; o++) {
if (l = (s = r[o]).instance, c = s.currentTarget, s = s.listener, l !== i && a.isPropagationStopped()) break e;
Mr(a, s, c), i = l
}
}
}
if (Fe) throw e = ze, Fe = !1, ze = null, e
}
function zr(e, t) {
var n = t[ma];
void 0 === n && (n = t[ma] = new Set);
var r = e + "__bubble";
n.has(r) || (Gr(t, e, 2, !1), n.add(r))
}
function Vr(e, t, n) {
var r = 0;
t && (r |= 4), Gr(n, e, r, t)
}
var Ur = "_reactListening" + Math.random().toString(36).slice(2);
function Br(e) {
if (!e[Ur]) {
e[Ur] = !0, o.forEach((function (t) {
"selectionchange" !== t && (Nr.has(t) || Vr(t, !1, e), Vr(t, !0, e))
}));
var t = 9 === e.nodeType ? e : e.ownerDocument;
null === t || t[Ur] || (t[Ur] = !0, Vr("selectionchange", !1, t))
}
}
function Gr(e, t, n, r) {
switch (Qt(t)) {
case 1:
var a = qt;
break;
case 4:
a = Wt;
break;
default:
a = Ht
}
n = a.bind(null, t, n, e), a = void 0, !Re || "touchstart" !== t && "touchmove" !== t && "wheel" !== t || (a = !0), r ? void 0 !== a ? e.addEventListener(t, n, {
capture: !0,
passive: a
}) : e.addEventListener(t, n, !0) : void 0 !== a ? e.addEventListener(t, n, {passive: a}) : e.addEventListener(t, n, !1)
}
function $r(e, t, n, r, a) {
var i = r;
if (0 === (1 & t) && 0 === (2 & t) && null !== r) e:for (; ;) {
if (null === r) return;
var o = r.tag;
if (3 === o || 4 === o) {
var s = r.stateNode.containerInfo;
if (s === a || 8 === s.nodeType && s.parentNode === a) break;
if (4 === o) for (o = r.return; null !== o;) {
var l = o.tag;
if ((3 === l || 4 === l) && ((l = o.stateNode.containerInfo) === a || 8 === l.nodeType && l.parentNode === a)) return;
o = o.return
}
for (; null !== s;) {
if (null === (o = _a(s))) return;
if (5 === (l = o.tag) || 6 === l) {
r = i = o;
continue e
}
s = s.parentNode
}
}
r = r.return
}
Te((function () {
var r = i, a = xe(n), o = [];
e:{
var s = Ar.get(e);
if (void 0 !== s) {
var l = un, c = e;
switch (e) {
case"keypress":
if (0 === tn(n)) break e;
case"keydown":
case"keyup":
l = Cn;
break;
case"focusin":
c = "focus", l = gn;
break;
case"focusout":
c = "blur", l = gn;
break;
case"beforeblur":
case"afterblur":
l = gn;
break;
case"click":
if (2 === n.button) break e;
case"auxclick":
case"dblclick":
case"mousedown":
case"mousemove":
case"mouseup":
case"mouseout":
case"mouseover":
case"contextmenu":
l = fn;
break;
case"drag":
case"dragend":
case"dragenter":
case"dragexit":
case"dragleave":
case"dragover":
case"dragstart":
case"drop":
l = mn;
break;
case"touchcancel":
case"touchend":
case"touchmove":
case"touchstart":
l = Pn;
break;
case Ir:
case Cr:
case Or:
l = vn;
break;
case Pr:
l = An;
break;
case"scroll":
l = pn;
break;
case"wheel":
l = Dn;
break;
case"copy":
case"cut":
case"paste":
l = yn;
break;
case"gotpointercapture":
case"lostpointercapture":
case"pointercancel":
case"pointerdown":
case"pointermove":
case"pointerout":
case"pointerover":
case"pointerup":
l = On
}
var u = 0 !== (4 & t), d = !u && "scroll" === e,
p = u ? null !== s ? s + "Capture" : null : s;
u = [];
for (var h, f = r; null !== f;) {
var m = (h = f).stateNode;
if (5 === h.tag && null !== m && (h = m, null !== p && (null != (m = De(f, p)) && u.push(qr(f, m, h)))), d) break;
f = f.return
}
0 < u.length && (s = new l(s, c, null, n, a), o.push({event: s, listeners: u}))
}
}
if (0 === (7 & t)) {
if (l = "mouseout" === e || "pointerout" === e, (!(s = "mouseover" === e || "pointerover" === e) || n === be || !(c = n.relatedTarget || n.fromElement) || !_a(c) && !c[fa]) && (l || s) && (s = a.window === a ? a : (s = a.ownerDocument) ? s.defaultView || s.parentWindow : window, l ? (l = r, null !== (c = (c = n.relatedTarget || n.toElement) ? _a(c) : null) && (c !== (d = Be(c)) || 5 !== c.tag && 6 !== c.tag) && (c = null)) : (l = null, c = r), l !== c)) {
if (u = fn, m = "onMouseLeave", p = "onMouseEnter", f = "mouse", "pointerout" !== e && "pointerover" !== e || (u = On, m = "onPointerLeave", p = "onPointerEnter", f = "pointer"), d = null == l ? s : ba(l), h = null == c ? s : ba(c), (s = new u(m, f + "leave", l, n, a)).target = d, s.relatedTarget = h, m = null, _a(a) === r && ((u = new u(p, f + "enter", c, n, a)).target = h, u.relatedTarget = d, m = u), d = m, l && c) e:{
for (p = c, f = 0, h = u = l; h; h = Hr(h)) f++;
for (h = 0, m = p; m; m = Hr(m)) h++;
for (; 0 < f - h;) u = Hr(u), f--;
for (; 0 < h - f;) p = Hr(p), h--;
for (; f--;) {
if (u === p || null !== p && u === p.alternate) break e;
u = Hr(u), p = Hr(p)
}
u = null
} else u = null;
null !== l && Kr(o, s, l, u, !1), null !== c && null !== d && Kr(o, d, c, u, !0)
}
if ("select" === (l = (s = r ? ba(r) : window).nodeName && s.nodeName.toLowerCase()) || "input" === l && "file" === s.type) var g = Qn; else if ($n(s)) if (Zn) g = or; else {
g = ar;
var v = rr
} else (l = s.nodeName) && "input" === l.toLowerCase() && ("checkbox" === s.type || "radio" === s.type) && (g = ir);
switch (g && (g = g(e, r)) ? qn(o, g, n, a) : (v && v(e, s, r), "focusout" === e && (v = s._wrapperState) && v.controlled && "number" === s.type && ee(s, "number", s.value)), v = r ? ba(r) : window, e) {
case"focusin":
($n(v) || "true" === v.contentEditable) && (gr = v, vr = r, _r = null);
break;
case"focusout":
_r = vr = gr = null;
break;
case"mousedown":
yr = !0;
break;
case"contextmenu":
case"mouseup":
case"dragend":
yr = !1, br(o, n, a);
break;
case"selectionchange":
if (mr) break;
case"keydown":
case"keyup":
br(o, n, a)
}
var _;
if (Ln) e:{
switch (e) {
case"compositionstart":
var y = "onCompositionStart";
break e;
case"compositionend":
y = "onCompositionEnd";
break e;
case"compositionupdate":
y = "onCompositionUpdate";
break e
}
y = void 0
} else Bn ? Vn(e, n) && (y = "onCompositionEnd") : "keydown" === e && 229 === n.keyCode && (y = "onCompositionStart");
y && (Mn && "ko" !== n.locale && (Bn || "onCompositionStart" !== y ? "onCompositionEnd" === y && Bn && (_ = en()) : (Xt = "value" in (Zt = a) ? Zt.value : Zt.textContent, Bn = !0)), 0 < (v = Wr(r, y)).length && (y = new bn(y, e, null, n, a), o.push({
event: y,
listeners: v
}), _ ? y.data = _ : null !== (_ = Un(n)) && (y.data = _))), (_ = Nn ? function (e, t) {
switch (e) {
case"compositionend":
return Un(t);
case"keypress":
return 32 !== t.which ? null : (zn = !0, Fn);
case"textInput":
return (e = t.data) === Fn && zn ? null : e;
default:
return null
}
}(e, n) : function (e, t) {
if (Bn) return "compositionend" === e || !Ln && Vn(e, t) ? (e = en(), Jt = Xt = Zt = null, Bn = !1, e) : null;
switch (e) {
case"paste":
default:
return null;
case"keypress":
if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) {
if (t.char && 1 < t.char.length) return t.char;
if (t.which) return String.fromCharCode(t.which)
}
return null;
case"compositionend":
return Mn && "ko" !== t.locale ? null : t.data
}
}(e, n)) && (0 < (r = Wr(r, "onBeforeInput")).length && (a = new bn("onBeforeInput", "beforeinput", null, n, a), o.push({
event: a,
listeners: r
}), a.data = _))
}
Fr(o, t)
}))
}
function qr(e, t, n) {
return {instance: e, listener: t, currentTarget: n}
}
function Wr(e, t) {
for (var n = t + "Capture", r = []; null !== e;) {
var a = e, i = a.stateNode;
5 === a.tag && null !== i && (a = i, null != (i = De(e, n)) && r.unshift(qr(e, i, a)), null != (i = De(e, t)) && r.push(qr(e, i, a))), e = e.return
}
return r
}
function Hr(e) {
if (null === e) return null;
do {
e = e.return
} while (e && 5 !== e.tag);
return e || null
}
function Kr(e, t, n, r, a) {
for (var i = t._reactName, o = []; null !== n && n !== r;) {
var s = n, l = s.alternate, c = s.stateNode;
if (null !== l && l === r) break;
5 === s.tag && null !== c && (s = c, a ? null != (l = De(n, i)) && o.unshift(qr(n, l, s)) : a || null != (l = De(n, i)) && o.push(qr(n, l, s))), n = n.return
}
0 !== o.length && e.push({event: t, listeners: o})
}
var Yr = /\r\n?/g, Qr = /\u0000|\uFFFD/g;
function Zr(e) {
return ("string" === typeof e ? e : "" + e).replace(Yr, "\n").replace(Qr, "")
}
function Xr(e, t, n) {
if (t = Zr(t), Zr(e) !== t && n) throw Error(i(425))
}
function Jr() {
}
var ea = null, ta = null;
function na(e, t) {
return "textarea" === e || "noscript" === e || "string" === typeof t.children || "number" === typeof t.children || "object" === typeof t.dangerouslySetInnerHTML && null !== t.dangerouslySetInnerHTML && null != t.dangerouslySetInnerHTML.__html
}
var ra = "function" === typeof setTimeout ? setTimeout : void 0,
aa = "function" === typeof clearTimeout ? clearTimeout : void 0,
ia = "function" === typeof Promise ? Promise : void 0,
oa = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof ia ? function (e) {
return ia.resolve(null).then(e).catch(sa)
} : ra;
function sa(e) {
setTimeout((function () {
throw e
}))
}
function la(e, t) {
var n = t, r = 0;
do {
var a = n.nextSibling;
if (e.removeChild(n), a && 8 === a.nodeType) if ("/$" === (n = a.data)) {
if (0 === r) return e.removeChild(a), void Bt(t);
r--
} else "$" !== n && "$?" !== n && "$!" !== n || r++;
n = a
} while (n);
Bt(t)
}
function ca(e) {
for (; null != e; e = e.nextSibling) {
var t = e.nodeType;
if (1 === t || 3 === t) break;
if (8 === t) {
if ("$" === (t = e.data) || "$!" === t || "$?" === t) break;
if ("/$" === t) return null
}
}
return e
}
function ua(e) {
e = e.previousSibling;
for (var t = 0; e;) {
if (8 === e.nodeType) {
var n = e.data;
if ("$" === n || "$!" === n || "$?" === n) {
if (0 === t) return e;
t--
} else "/$" === n && t++
}
e = e.previousSibling
}
return null
}
var da = Math.random().toString(36).slice(2), pa = "__reactFiber$" + da, ha = "__reactProps$" + da,
fa = "__reactContainer$" + da, ma = "__reactEvents$" + da, ga = "__reactListeners$" + da,
va = "__reactHandles$" + da;
function _a(e) {
var t = e[pa];
if (t) return t;
for (var n = e.parentNode; n;) {
if (t = n[fa] || n[pa]) {
if (n = t.alternate, null !== t.child || null !== n && null !== n.child) for (e = ua(e); null !== e;) {
if (n = e[pa]) return n;
e = ua(e)
}
return t
}
n = (e = n).parentNode
}
return null
}
function ya(e) {
return !(e = e[pa] || e[fa]) || 5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag ? null : e
}
function ba(e) {
if (5 === e.tag || 6 === e.tag) return e.stateNode;
throw Error(i(33))
}
function xa(e) {
return e[ha] || null
}
var wa = [], ka = -1;
function Sa(e) {
return {current: e}
}
function Ea(e) {
0 > ka || (e.current = wa[ka], wa[ka] = null, ka--)
}
function Ia(e, t) {
ka++, wa[ka] = e.current, e.current = t
}
var Ca = {}, Oa = Sa(Ca), Pa = Sa(!1), Aa = Ca;
function Ta(e, t) {
var n = e.type.contextTypes;
if (!n) return Ca;
var r = e.stateNode;
if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext;
var a, i = {};
for (a in n) i[a] = t[a];
return r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = i), i
}
function Da(e) {
return null !== (e = e.childContextTypes) && void 0 !== e
}
function Ra() {
Ea(Pa), Ea(Oa)
}
function La(e, t, n) {
if (Oa.current !== Ca) throw Error(i(168));
Ia(Oa, t), Ia(Pa, n)
}
function ja(e, t, n) {
var r = e.stateNode;
if (t = t.childContextTypes, "function" !== typeof r.getChildContext) return n;
for (var a in r = r.getChildContext()) if (!(a in t)) throw Error(i(108, G(e) || "Unknown", a));
return M({}, n, r)
}
function Na(e) {
return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || Ca, Aa = Oa.current, Ia(Oa, e), Ia(Pa, Pa.current), !0
}
function Ma(e, t, n) {
var r = e.stateNode;
if (!r) throw Error(i(169));
n ? (e = ja(e, t, Aa), r.__reactInternalMemoizedMergedChildContext = e, Ea(Pa), Ea(Oa), Ia(Oa, e)) : Ea(Pa), Ia(Pa, n)
}
var Fa = null, za = !1, Va = !1;
function Ua(e) {
null === Fa ? Fa = [e] : Fa.push(e)
}
function Ba() {
if (!Va && null !== Fa) {
Va = !0;
var e = 0, t = yt;
try {
var n = Fa;
for (yt = 1; e < n.length; e++) {
var r = n[e];
do {
r = r(!0)
} while (null !== r)
}
Fa = null, za = !1
} catch (a) {
throw null !== Fa && (Fa = Fa.slice(e + 1)), He(Je, Ba), a
} finally {
yt = t, Va = !1
}
}
return null
}
var Ga = [], $a = 0, qa = null, Wa = 0, Ha = [], Ka = 0, Ya = null, Qa = 1, Za = "";
function Xa(e, t) {
Ga[$a++] = Wa, Ga[$a++] = qa, qa = e, Wa = t
}
function Ja(e, t, n) {
Ha[Ka++] = Qa, Ha[Ka++] = Za, Ha[Ka++] = Ya, Ya = e;
var r = Qa;
e = Za;
var a = 32 - ot(r) - 1;
r &= ~(1 << a), n += 1;
var i = 32 - ot(t) + a;
if (30 < i) {
var o = a - a % 5;
i = (r & (1 << o) - 1).toString(32), r >>= o, a -= o, Qa = 1 << 32 - ot(t) + a | n << a | r, Za = i + e
} else Qa = 1 << i | n << a | r, Za = e
}
function ei(e) {
null !== e.return && (Xa(e, 1), Ja(e, 1, 0))
}
function ti(e) {
for (; e === qa;) qa = Ga[--$a], Ga[$a] = null, Wa = Ga[--$a], Ga[$a] = null;
for (; e === Ya;) Ya = Ha[--Ka], Ha[Ka] = null, Za = Ha[--Ka], Ha[Ka] = null, Qa = Ha[--Ka], Ha[Ka] = null
}
var ni = null, ri = null, ai = !1, ii = null;
function oi(e, t) {
var n = Tc(5, null, null, 0);
n.elementType = "DELETED", n.stateNode = t, n.return = e, null === (t = e.deletions) ? (e.deletions = [n], e.flags |= 16) : t.push(n)
}
function si(e, t) {
switch (e.tag) {
case 5:
var n = e.type;
return null !== (t = 1 !== t.nodeType || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t) && (e.stateNode = t, ni = e, ri = ca(t.firstChild), !0);
case 6:
return null !== (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && (e.stateNode = t, ni = e, ri = null, !0);
case 13:
return null !== (t = 8 !== t.nodeType ? null : t) && (n = null !== Ya ? {
id: Qa,
overflow: Za
} : null, e.memoizedState = {
dehydrated: t,
treeContext: n,
retryLane: 1073741824
}, (n = Tc(18, null, null, 0)).stateNode = t, n.return = e, e.child = n, ni = e, ri = null, !0);
default:
return !1
}
}
function li(e) {
return 0 !== (1 & e.mode) && 0 === (128 & e.flags)
}
function ci(e) {
if (ai) {
var t = ri;
if (t) {
var n = t;
if (!si(e, t)) {
if (li(e)) throw Error(i(418));
t = ca(n.nextSibling);
var r = ni;
t && si(e, t) ? oi(r, n) : (e.flags = -4097 & e.flags | 2, ai = !1, ni = e)
}
} else {
if (li(e)) throw Error(i(418));
e.flags = -4097 & e.flags | 2, ai = !1, ni = e
}
}
}
function ui(e) {
for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag;) e = e.return;
ni = e
}
function di(e) {
if (e !== ni) return !1;
if (!ai) return ui(e), ai = !0, !1;
var t;
if ((t = 3 !== e.tag) && !(t = 5 !== e.tag) && (t = "head" !== (t = e.type) && "body" !== t && !na(e.type, e.memoizedProps)), t && (t = ri)) {
if (li(e)) throw pi(), Error(i(418));
for (; t;) oi(e, t), t = ca(t.nextSibling)
}
if (ui(e), 13 === e.tag) {
if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(i(317));
e:{
for (e = e.nextSibling, t = 0; e;) {
if (8 === e.nodeType) {
var n = e.data;
if ("/$" === n) {
if (0 === t) {
ri = ca(e.nextSibling);
break e
}
t--
} else "$" !== n && "$!" !== n && "$?" !== n || t++
}
e = e.nextSibling
}
ri = null
}
} else ri = ni ? ca(e.stateNode.nextSibling) : null;
return !0
}
function pi() {
for (var e = ri; e;) e = ca(e.nextSibling)
}
function hi() {
ri = ni = null, ai = !1
}
function fi(e) {
null === ii ? ii = [e] : ii.push(e)
}
var mi = b.ReactCurrentBatchConfig;
function gi(e, t) {
if (e && e.defaultProps) {
for (var n in t = M({}, t), e = e.defaultProps) void 0 === t[n] && (t[n] = e[n]);
return t
}
return t
}
var vi = Sa(null), _i = null, yi = null, bi = null;
function xi() {
bi = yi = _i = null
}
function wi(e) {
var t = vi.current;
Ea(vi), e._currentValue = t
}
function ki(e, t, n) {
for (; null !== e;) {
var r = e.alternate;
if ((e.childLanes & t) !== t ? (e.childLanes |= t, null !== r && (r.childLanes |= t)) : null !== r && (r.childLanes & t) !== t && (r.childLanes |= t), e === n) break;
e = e.return
}
}
function Si(e, t) {
_i = e, bi = yi = null, null !== (e = e.dependencies) && null !== e.firstContext && (0 !== (e.lanes & t) && (bs = !0), e.firstContext = null)
}
function Ei(e) {
var t = e._currentValue;
if (bi !== e) if (e = {context: e, memoizedValue: t, next: null}, null === yi) {
if (null === _i) throw Error(i(308));
yi = e, _i.dependencies = {lanes: 0, firstContext: e}
} else yi = yi.next = e;
return t
}
var Ii = null;
function Ci(e) {
null === Ii ? Ii = [e] : Ii.push(e)
}
function Oi(e, t, n, r) {
var a = t.interleaved;
return null === a ? (n.next = n, Ci(t)) : (n.next = a.next, a.next = n), t.interleaved = n, Pi(e, r)
}
function Pi(e, t) {
e.lanes |= t;
var n = e.alternate;
for (null !== n && (n.lanes |= t), n = e, e = e.return; null !== e;) e.childLanes |= t, null !== (n = e.alternate) && (n.childLanes |= t), n = e, e = e.return;
return 3 === n.tag ? n.stateNode : null
}
var Ai = !1;
function Ti(e) {
e.updateQueue = {
baseState: e.memoizedState,
firstBaseUpdate: null,
lastBaseUpdate: null,
shared: {pending: null, interleaved: null, lanes: 0},
effects: null
}
}
function Di(e, t) {
e = e.updateQueue, t.updateQueue === e && (t.updateQueue = {
baseState: e.baseState,
firstBaseUpdate: e.firstBaseUpdate,
lastBaseUpdate: e.lastBaseUpdate,
shared: e.shared,
effects: e.effects
})
}
function Ri(e, t) {
return {eventTime: e, lane: t, tag: 0, payload: null, callback: null, next: null}
}
function Li(e, t, n) {
var r = e.updateQueue;
if (null === r) return null;
if (r = r.shared, 0 !== (2 & Ol)) {
var a = r.pending;
return null === a ? t.next = t : (t.next = a.next, a.next = t), r.pending = t, Pi(e, n)
}
return null === (a = r.interleaved) ? (t.next = t, Ci(r)) : (t.next = a.next, a.next = t), r.interleaved = t, Pi(e, n)
}
function ji(e, t, n) {
if (null !== (t = t.updateQueue) && (t = t.shared, 0 !== (4194240 & n))) {
var r = t.lanes;
n |= r &= e.pendingLanes, t.lanes = n, _t(e, n)
}
}
function Ni(e, t) {
var n = e.updateQueue, r = e.alternate;
if (null !== r && n === (r = r.updateQueue)) {
var a = null, i = null;
if (null !== (n = n.firstBaseUpdate)) {
do {
var o = {
eventTime: n.eventTime,
lane: n.lane,
tag: n.tag,
payload: n.payload,
callback: n.callback,
next: null
};
null === i ? a = i = o : i = i.next = o, n = n.next
} while (null !== n);
null === i ? a = i = t : i = i.next = t
} else a = i = t;
return n = {
baseState: r.baseState,
firstBaseUpdate: a,
lastBaseUpdate: i,
shared: r.shared,
effects: r.effects
}, void (e.updateQueue = n)
}
null === (e = n.lastBaseUpdate) ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t
}
function Mi(e, t, n, r) {
var a = e.updateQueue;
Ai = !1;
var i = a.firstBaseUpdate, o = a.lastBaseUpdate, s = a.shared.pending;
if (null !== s) {
a.shared.pending = null;
var l = s, c = l.next;
l.next = null, null === o ? i = c : o.next = c, o = l;
var u = e.alternate;
null !== u && ((s = (u = u.updateQueue).lastBaseUpdate) !== o && (null === s ? u.firstBaseUpdate = c : s.next = c, u.lastBaseUpdate = l))
}
if (null !== i) {
var d = a.baseState;
for (o = 0, u = c = l = null, s = i; ;) {
var p = s.lane, h = s.eventTime;
if ((r & p) === p) {
null !== u && (u = u.next = {
eventTime: h,
lane: 0,
tag: s.tag,
payload: s.payload,
callback: s.callback,
next: null
});
e:{
var f = e, m = s;
switch (p = t, h = n, m.tag) {
case 1:
if ("function" === typeof (f = m.payload)) {
d = f.call(h, d, p);
break e
}
d = f;
break e;
case 3:
f.flags = -65537 & f.flags | 128;
case 0:
if (null === (p = "function" === typeof (f = m.payload) ? f.call(h, d, p) : f) || void 0 === p) break e;
d = M({}, d, p);
break e;
case 2:
Ai = !0
}
}
null !== s.callback && 0 !== s.lane && (e.flags |= 64, null === (p = a.effects) ? a.effects = [s] : p.push(s))
} else h = {
eventTime: h,
lane: p,
tag: s.tag,
payload: s.payload,
callback: s.callback,
next: null
}, null === u ? (c = u = h, l = d) : u = u.next = h, o |= p;
if (null === (s = s.next)) {
if (null === (s = a.shared.pending)) break;
s = (p = s).next, p.next = null, a.lastBaseUpdate = p, a.shared.pending = null
}
}
if (null === u && (l = d), a.baseState = l, a.firstBaseUpdate = c, a.lastBaseUpdate = u, null !== (t = a.shared.interleaved)) {
a = t;
do {
o |= a.lane, a = a.next
} while (a !== t)
} else null === i && (a.shared.lanes = 0);
Nl |= o, e.lanes = o, e.memoizedState = d
}
}
function Fi(e, t, n) {
if (e = t.effects, t.effects = null, null !== e) for (t = 0; t < e.length; t++) {
var r = e[t], a = r.callback;
if (null !== a) {
if (r.callback = null, r = n, "function" !== typeof a) throw Error(i(191, a));
a.call(r)
}
}
}
var zi = (new r.Component).refs;
function Vi(e, t, n, r) {
n = null === (n = n(r, t = e.memoizedState)) || void 0 === n ? t : M({}, t, n), e.memoizedState = n, 0 === e.lanes && (e.updateQueue.baseState = n)
}
var Ui = {
isMounted: function (e) {
return !!(e = e._reactInternals) && Be(e) === e
}, enqueueSetState: function (e, t, n) {
e = e._reactInternals;
var r = ec(), a = tc(e), i = Ri(r, a);
i.payload = t, void 0 !== n && null !== n && (i.callback = n), null !== (t = Li(e, i, a)) && (nc(t, e, a, r), ji(t, e, a))
}, enqueueReplaceState: function (e, t, n) {
e = e._reactInternals;
var r = ec(), a = tc(e), i = Ri(r, a);
i.tag = 1, i.payload = t, void 0 !== n && null !== n && (i.callback = n), null !== (t = Li(e, i, a)) && (nc(t, e, a, r), ji(t, e, a))
}, enqueueForceUpdate: function (e, t) {
e = e._reactInternals;
var n = ec(), r = tc(e), a = Ri(n, r);
a.tag = 2, void 0 !== t && null !== t && (a.callback = t), null !== (t = Li(e, a, r)) && (nc(t, e, r, n), ji(t, e, r))
}
};
function Bi(e, t, n, r, a, i, o) {
return "function" === typeof (e = e.stateNode).shouldComponentUpdate ? e.shouldComponentUpdate(r, i, o) : !t.prototype || !t.prototype.isPureReactComponent || (!lr(n, r) || !lr(a, i))
}
function Gi(e, t, n) {
var r = !1, a = Ca, i = t.contextType;
return "object" === typeof i && null !== i ? i = Ei(i) : (a = Da(t) ? Aa : Oa.current, i = (r = null !== (r = t.contextTypes) && void 0 !== r) ? Ta(e, a) : Ca), t = new t(n, i), e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null, t.updater = Ui, e.stateNode = t, t._reactInternals = e, r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = a, e.__reactInternalMemoizedMaskedChildContext = i), t
}
function $i(e, t, n, r) {
e = t.state, "function" === typeof t.componentWillReceiveProps && t.componentWillReceiveProps(n, r), "function" === typeof t.UNSAFE_componentWillReceiveProps && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && Ui.enqueueReplaceState(t, t.state, null)
}
function qi(e, t, n, r) {
var a = e.stateNode;
a.props = n, a.state = e.memoizedState, a.refs = zi, Ti(e);
var i = t.contextType;
"object" === typeof i && null !== i ? a.context = Ei(i) : (i = Da(t) ? Aa : Oa.current, a.context = Ta(e, i)), a.state = e.memoizedState, "function" === typeof (i = t.getDerivedStateFromProps) && (Vi(e, t, i, n), a.state = e.memoizedState), "function" === typeof t.getDerivedStateFromProps || "function" === typeof a.getSnapshotBeforeUpdate || "function" !== typeof a.UNSAFE_componentWillMount && "function" !== typeof a.componentWillMount || (t = a.state, "function" === typeof a.componentWillMount && a.componentWillMount(), "function" === typeof a.UNSAFE_componentWillMount && a.UNSAFE_componentWillMount(), t !== a.state && Ui.enqueueReplaceState(a, a.state, null), Mi(e, n, a, r), a.state = e.memoizedState), "function" === typeof a.componentDidMount && (e.flags |= 4194308)
}
function Wi(e, t, n) {
if (null !== (e = n.ref) && "function" !== typeof e && "object" !== typeof e) {
if (n._owner) {
if (n = n._owner) {
if (1 !== n.tag) throw Error(i(309));
var r = n.stateNode
}
if (!r) throw Error(i(147, e));
var a = r, o = "" + e;
return null !== t && null !== t.ref && "function" === typeof t.ref && t.ref._stringRef === o ? t.ref : (t = function (e) {
var t = a.refs;
t === zi && (t = a.refs = {}), null === e ? delete t[o] : t[o] = e
}, t._stringRef = o, t)
}
if ("string" !== typeof e) throw Error(i(284));
if (!n._owner) throw Error(i(290, e))
}
return e
}
function Hi(e, t) {
throw e = Object.prototype.toString.call(t), Error(i(31, "[object Object]" === e ? "object with keys {" + Object.keys(t).join(", ") + "}" : e))
}
function Ki(e) {
return (0, e._init)(e._payload)
}
function Yi(e) {
function t(t, n) {
if (e) {
var r = t.deletions;
null === r ? (t.deletions = [n], t.flags |= 16) : r.push(n)
}
}
function n(n, r) {
if (!e) return null;
for (; null !== r;) t(n, r), r = r.sibling;
return null
}
function r(e, t) {
for (e = new Map; null !== t;) null !== t.key ? e.set(t.key, t) : e.set(t.index, t), t = t.sibling;
return e
}
function a(e, t) {
return (e = Rc(e, t)).index = 0, e.sibling = null, e
}
function o(t, n, r) {
return t.index = r, e ? null !== (r = t.alternate) ? (r = r.index) < n ? (t.flags |= 2, n) : r : (t.flags |= 2, n) : (t.flags |= 1048576, n)
}
function s(t) {
return e && null === t.alternate && (t.flags |= 2), t
}
function l(e, t, n, r) {
return null === t || 6 !== t.tag ? ((t = Mc(n, e.mode, r)).return = e, t) : ((t = a(t, n)).return = e, t)
}
function c(e, t, n, r) {
var i = n.type;
return i === k ? d(e, t, n.props.children, r, n.key) : null !== t && (t.elementType === i || "object" === typeof i && null !== i && i.$$typeof === D && Ki(i) === t.type) ? ((r = a(t, n.props)).ref = Wi(e, t, n), r.return = e, r) : ((r = Lc(n.type, n.key, n.props, null, e.mode, r)).ref = Wi(e, t, n), r.return = e, r)
}
function u(e, t, n, r) {
return null === t || 4 !== t.tag || t.stateNode.containerInfo !== n.containerInfo || t.stateNode.implementation !== n.implementation ? ((t = Fc(n, e.mode, r)).return = e, t) : ((t = a(t, n.children || [])).return = e, t)
}
function d(e, t, n, r, i) {
return null === t || 7 !== t.tag ? ((t = jc(n, e.mode, r, i)).return = e, t) : ((t = a(t, n)).return = e, t)
}
function p(e, t, n) {
if ("string" === typeof t && "" !== t || "number" === typeof t) return (t = Mc("" + t, e.mode, n)).return = e, t;
if ("object" === typeof t && null !== t) {
switch (t.$$typeof) {
case x:
return (n = Lc(t.type, t.key, t.props, null, e.mode, n)).ref = Wi(e, null, t), n.return = e, n;
case w:
return (t = Fc(t, e.mode, n)).return = e, t;
case D:
return p(e, (0, t._init)(t._payload), n)
}
if (te(t) || j(t)) return (t = jc(t, e.mode, n, null)).return = e, t;
Hi(e, t)
}
return null
}
function h(e, t, n, r) {
var a = null !== t ? t.key : null;
if ("string" === typeof n && "" !== n || "number" === typeof n) return null !== a ? null : l(e, t, "" + n, r);
if ("object" === typeof n && null !== n) {
switch (n.$$typeof) {
case x:
return n.key === a ? c(e, t, n, r) : null;
case w:
return n.key === a ? u(e, t, n, r) : null;
case D:
return h(e, t, (a = n._init)(n._payload), r)
}
if (te(n) || j(n)) return null !== a ? null : d(e, t, n, r, null);
Hi(e, n)
}
return null
}
function f(e, t, n, r, a) {
if ("string" === typeof r && "" !== r || "number" === typeof r) return l(t, e = e.get(n) || null, "" + r, a);
if ("object" === typeof r && null !== r) {
switch (r.$$typeof) {
case x:
return c(t, e = e.get(null === r.key ? n : r.key) || null, r, a);
case w:
return u(t, e = e.get(null === r.key ? n : r.key) || null, r, a);
case D:
return f(e, t, n, (0, r._init)(r._payload), a)
}
if (te(r) || j(r)) return d(t, e = e.get(n) || null, r, a, null);
Hi(t, r)
}
return null
}
function m(a, i, s, l) {
for (var c = null, u = null, d = i, m = i = 0, g = null; null !== d && m < s.length; m++) {
d.index > m ? (g = d, d = null) : g = d.sibling;
var v = h(a, d, s[m], l);
if (null === v) {
null === d && (d = g);
break
}
e && d && null === v.alternate && t(a, d), i = o(v, i, m), null === u ? c = v : u.sibling = v, u = v, d = g
}
if (m === s.length) return n(a, d), ai && Xa(a, m), c;
if (null === d) {
for (; m < s.length; m++) null !== (d = p(a, s[m], l)) && (i = o(d, i, m), null === u ? c = d : u.sibling = d, u = d);
return ai && Xa(a, m), c
}
for (d = r(a, d); m < s.length; m++) null !== (g = f(d, a, m, s[m], l)) && (e && null !== g.alternate && d.delete(null === g.key ? m : g.key), i = o(g, i, m), null === u ? c = g : u.sibling = g, u = g);
return e && d.forEach((function (e) {
return t(a, e)
})), ai && Xa(a, m), c
}
function g(a, s, l, c) {
var u = j(l);
if ("function" !== typeof u) throw Error(i(150));
if (null == (l = u.call(l))) throw Error(i(151));
for (var d = u = null, m = s, g = s = 0, v = null, _ = l.next(); null !== m && !_.done; g++, _ = l.next()) {
m.index > g ? (v = m, m = null) : v = m.sibling;
var y = h(a, m, _.value, c);
if (null === y) {
null === m && (m = v);
break
}
e && m && null === y.alternate && t(a, m), s = o(y, s, g), null === d ? u = y : d.sibling = y, d = y, m = v
}
if (_.done) return n(a, m), ai && Xa(a, g), u;
if (null === m) {
for (; !_.done; g++, _ = l.next()) null !== (_ = p(a, _.value, c)) && (s = o(_, s, g), null === d ? u = _ : d.sibling = _, d = _);
return ai && Xa(a, g), u
}
for (m = r(a, m); !_.done; g++, _ = l.next()) null !== (_ = f(m, a, g, _.value, c)) && (e && null !== _.alternate && m.delete(null === _.key ? g : _.key), s = o(_, s, g), null === d ? u = _ : d.sibling = _, d = _);
return e && m.forEach((function (e) {
return t(a, e)
})), ai && Xa(a, g), u
}
return function e(r, i, o, l) {
if ("object" === typeof o && null !== o && o.type === k && null === o.key && (o = o.props.children), "object" === typeof o && null !== o) {
switch (o.$$typeof) {
case x:
e:{
for (var c = o.key, u = i; null !== u;) {
if (u.key === c) {
if ((c = o.type) === k) {
if (7 === u.tag) {
n(r, u.sibling), (i = a(u, o.props.children)).return = r, r = i;
break e
}
} else if (u.elementType === c || "object" === typeof c && null !== c && c.$$typeof === D && Ki(c) === u.type) {
n(r, u.sibling), (i = a(u, o.props)).ref = Wi(r, u, o), i.return = r, r = i;
break e
}
n(r, u);
break
}
t(r, u), u = u.sibling
}
o.type === k ? ((i = jc(o.props.children, r.mode, l, o.key)).return = r, r = i) : ((l = Lc(o.type, o.key, o.props, null, r.mode, l)).ref = Wi(r, i, o), l.return = r, r = l)
}
return s(r);
case w:
e:{
for (u = o.key; null !== i;) {
if (i.key === u) {
if (4 === i.tag && i.stateNode.containerInfo === o.containerInfo && i.stateNode.implementation === o.implementation) {
n(r, i.sibling), (i = a(i, o.children || [])).return = r, r = i;
break e
}
n(r, i);
break
}
t(r, i), i = i.sibling
}
(i = Fc(o, r.mode, l)).return = r, r = i
}
return s(r);
case D:
return e(r, i, (u = o._init)(o._payload), l)
}
if (te(o)) return m(r, i, o, l);
if (j(o)) return g(r, i, o, l);
Hi(r, o)
}
return "string" === typeof o && "" !== o || "number" === typeof o ? (o = "" + o, null !== i && 6 === i.tag ? (n(r, i.sibling), (i = a(i, o)).return = r, r = i) : (n(r, i), (i = Mc(o, r.mode, l)).return = r, r = i), s(r)) : n(r, i)
}
}
var Qi = Yi(!0), Zi = Yi(!1), Xi = {}, Ji = Sa(Xi), eo = Sa(Xi), to = Sa(Xi);
function no(e) {
if (e === Xi) throw Error(i(174));
return e
}
function ro(e, t) {
switch (Ia(to, t), Ia(eo, e), Ia(Ji, Xi), e = t.nodeType) {
case 9:
case 11:
t = (t = t.documentElement) ? t.namespaceURI : le(null, "");
break;
default:
t = le(t = (e = 8 === e ? t.parentNode : t).namespaceURI || null, e = e.tagName)
}
Ea(Ji), Ia(Ji, t)
}
function ao() {
Ea(Ji), Ea(eo), Ea(to)
}
function io(e) {
no(to.current);
var t = no(Ji.current), n = le(t, e.type);
t !== n && (Ia(eo, e), Ia(Ji, n))
}
function oo(e) {
eo.current === e && (Ea(Ji), Ea(eo))
}
var so = Sa(0);
function lo(e) {
for (var t = e; null !== t;) {
if (13 === t.tag) {
var n = t.memoizedState;
if (null !== n && (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data)) return t
} else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) {
if (0 !== (128 & t.flags)) return t
} else if (null !== t.child) {
t.child.return = t, t = t.child;
continue
}
if (t === e) break;
for (; null === t.sibling;) {
if (null === t.return || t.return === e) return null;
t = t.return
}
t.sibling.return = t.return, t = t.sibling
}
return null
}
var co = [];
function uo() {
for (var e = 0; e < co.length; e++) co[e]._workInProgressVersionPrimary = null;
co.length = 0
}
var po = b.ReactCurrentDispatcher, ho = b.ReactCurrentBatchConfig, fo = 0, mo = null, go = null, vo = null,
_o = !1, yo = !1, bo = 0, xo = 0;
function wo() {
throw Error(i(321))
}
function ko(e, t) {
if (null === t) return !1;
for (var n = 0; n < t.length && n < e.length; n++) if (!sr(e[n], t[n])) return !1;
return !0
}
function So(e, t, n, r, a, o) {
if (fo = o, mo = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, po.current = null === e || null === e.memoizedState ? ss : ls, e = n(r, a), yo) {
o = 0;
do {
if (yo = !1, bo = 0, 25 <= o) throw Error(i(301));
o += 1, vo = go = null, t.updateQueue = null, po.current = cs, e = n(r, a)
} while (yo)
}
if (po.current = os, t = null !== go && null !== go.next, fo = 0, vo = go = mo = null, _o = !1, t) throw Error(i(300));
return e
}
function Eo() {
var e = 0 !== bo;
return bo = 0, e
}
function Io() {
var e = {memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null};
return null === vo ? mo.memoizedState = vo = e : vo = vo.next = e, vo
}
function Co() {
if (null === go) {
var e = mo.alternate;
e = null !== e ? e.memoizedState : null
} else e = go.next;
var t = null === vo ? mo.memoizedState : vo.next;
if (null !== t) vo = t, go = e; else {
if (null === e) throw Error(i(310));
e = {
memoizedState: (go = e).memoizedState,
baseState: go.baseState,
baseQueue: go.baseQueue,
queue: go.queue,
next: null
}, null === vo ? mo.memoizedState = vo = e : vo = vo.next = e
}
return vo
}
function Oo(e, t) {
return "function" === typeof t ? t(e) : t
}
function Po(e) {
var t = Co(), n = t.queue;
if (null === n) throw Error(i(311));
n.lastRenderedReducer = e;
var r = go, a = r.baseQueue, o = n.pending;
if (null !== o) {
if (null !== a) {
var s = a.next;
a.next = o.next, o.next = s
}
r.baseQueue = a = o, n.pending = null
}
if (null !== a) {
o = a.next, r = r.baseState;
var l = s = null, c = null, u = o;
do {
var d = u.lane;
if ((fo & d) === d) null !== c && (c = c.next = {
lane: 0,
action: u.action,
hasEagerState: u.hasEagerState,
eagerState: u.eagerState,
next: null
}), r = u.hasEagerState ? u.eagerState : e(r, u.action); else {
var p = {
lane: d,
action: u.action,
hasEagerState: u.hasEagerState,
eagerState: u.eagerState,
next: null
};
null === c ? (l = c = p, s = r) : c = c.next = p, mo.lanes |= d, Nl |= d
}
u = u.next
} while (null !== u && u !== o);
null === c ? s = r : c.next = l, sr(r, t.memoizedState) || (bs = !0), t.memoizedState = r, t.baseState = s, t.baseQueue = c, n.lastRenderedState = r
}
if (null !== (e = n.interleaved)) {
a = e;
do {
o = a.lane, mo.lanes |= o, Nl |= o, a = a.next
} while (a !== e)
} else null === a && (n.lanes = 0);
return [t.memoizedState, n.dispatch]
}
function Ao(e) {
var t = Co(), n = t.queue;
if (null === n) throw Error(i(311));
n.lastRenderedReducer = e;
var r = n.dispatch, a = n.pending, o = t.memoizedState;
if (null !== a) {
n.pending = null;
var s = a = a.next;
do {
o = e(o, s.action), s = s.next
} while (s !== a);
sr(o, t.memoizedState) || (bs = !0), t.memoizedState = o, null === t.baseQueue && (t.baseState = o), n.lastRenderedState = o
}
return [o, r]
}
function To() {
}
function Do(e, t) {
var n = mo, r = Co(), a = t(), o = !sr(r.memoizedState, a);
if (o && (r.memoizedState = a, bs = !0), r = r.queue, $o(jo.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || null !== vo && 1 & vo.memoizedState.tag) {
if (n.flags |= 2048, zo(9, Lo.bind(null, n, r, a, t), void 0, null), null === Pl) throw Error(i(349));
0 !== (30 & fo) || Ro(n, t, a)
}
return a
}
function Ro(e, t, n) {
e.flags |= 16384, e = {
getSnapshot: t,
value: n
}, null === (t = mo.updateQueue) ? (t = {
lastEffect: null,
stores: null
}, mo.updateQueue = t, t.stores = [e]) : null === (n = t.stores) ? t.stores = [e] : n.push(e)
}
function Lo(e, t, n, r) {
t.value = n, t.getSnapshot = r, No(t) && Mo(e)
}
function jo(e, t, n) {
return n((function () {
No(t) && Mo(e)
}))
}
function No(e) {
var t = e.getSnapshot;
e = e.value;
try {
var n = t();
return !sr(e, n)
} catch (r) {
return !0
}
}
function Mo(e) {
var t = Pi(e, 1);
null !== t && nc(t, e, 1, -1)
}
function Fo(e) {
var t = Io();
return "function" === typeof e && (e = e()), t.memoizedState = t.baseState = e, e = {
pending: null,
interleaved: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: Oo,
lastRenderedState: e
}, t.queue = e, e = e.dispatch = ns.bind(null, mo, e), [t.memoizedState, e]
}
function zo(e, t, n, r) {
return e = {
tag: e,
create: t,
destroy: n,
deps: r,
next: null
}, null === (t = mo.updateQueue) ? (t = {
lastEffect: null,
stores: null
}, mo.updateQueue = t, t.lastEffect = e.next = e) : null === (n = t.lastEffect) ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e), e
}
function Vo() {
return Co().memoizedState
}
function Uo(e, t, n, r) {
var a = Io();
mo.flags |= e, a.memoizedState = zo(1 | t, n, void 0, void 0 === r ? null : r)
}
function Bo(e, t, n, r) {
var a = Co();
r = void 0 === r ? null : r;
var i = void 0;
if (null !== go) {
var o = go.memoizedState;
if (i = o.destroy, null !== r && ko(r, o.deps)) return void (a.memoizedState = zo(t, n, i, r))
}
mo.flags |= e, a.memoizedState = zo(1 | t, n, i, r)
}
function Go(e, t) {
return Uo(8390656, 8, e, t)
}
function $o(e, t) {
return Bo(2048, 8, e, t)
}
function qo(e, t) {
return Bo(4, 2, e, t)
}
function Wo(e, t) {
return Bo(4, 4, e, t)
}
function Ho(e, t) {
return "function" === typeof t ? (e = e(), t(e), function () {
t(null)
}) : null !== t && void 0 !== t ? (e = e(), t.current = e, function () {
t.current = null
}) : void 0
}
function Ko(e, t, n) {
return n = null !== n && void 0 !== n ? n.concat([e]) : null, Bo(4, 4, Ho.bind(null, t, e), n)
}
function Yo() {
}
function Qo(e, t) {
var n = Co();
t = void 0 === t ? null : t;
var r = n.memoizedState;
return null !== r && null !== t && ko(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e)
}
function Zo(e, t) {
var n = Co();
t = void 0 === t ? null : t;
var r = n.memoizedState;
return null !== r && null !== t && ko(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e)
}
function Xo(e, t, n) {
return 0 === (21 & fo) ? (e.baseState && (e.baseState = !1, bs = !0), e.memoizedState = n) : (sr(n, t) || (n = mt(), mo.lanes |= n, Nl |= n, e.baseState = !0), t)
}
function Jo(e, t) {
var n = yt;
yt = 0 !== n && 4 > n ? n : 4, e(!0);
var r = ho.transition;
ho.transition = {};
try {
e(!1), t()
} finally {
yt = n, ho.transition = r
}
}
function es() {
return Co().memoizedState
}
function ts(e, t, n) {
var r = tc(e);
if (n = {
lane: r,
action: n,
hasEagerState: !1,
eagerState: null,
next: null
}, rs(e)) as(t, n); else if (null !== (n = Oi(e, t, n, r))) {
nc(n, e, r, ec()), is(n, t, r)
}
}
function ns(e, t, n) {
var r = tc(e), a = {lane: r, action: n, hasEagerState: !1, eagerState: null, next: null};
if (rs(e)) as(t, a); else {
var i = e.alternate;
if (0 === e.lanes && (null === i || 0 === i.lanes) && null !== (i = t.lastRenderedReducer)) try {
var o = t.lastRenderedState, s = i(o, n);
if (a.hasEagerState = !0, a.eagerState = s, sr(s, o)) {
var l = t.interleaved;
return null === l ? (a.next = a, Ci(t)) : (a.next = l.next, l.next = a), void (t.interleaved = a)
}
} catch (c) {
}
null !== (n = Oi(e, t, a, r)) && (nc(n, e, r, a = ec()), is(n, t, r))
}
}
function rs(e) {
var t = e.alternate;
return e === mo || null !== t && t === mo
}
function as(e, t) {
yo = _o = !0;
var n = e.pending;
null === n ? t.next = t : (t.next = n.next, n.next = t), e.pending = t
}
function is(e, t, n) {
if (0 !== (4194240 & n)) {
var r = t.lanes;
n |= r &= e.pendingLanes, t.lanes = n, _t(e, n)
}
}
var os = {
readContext: Ei,
useCallback: wo,
useContext: wo,
useEffect: wo,
useImperativeHandle: wo,
useInsertionEffect: wo,
useLayoutEffect: wo,
useMemo: wo,
useReducer: wo,
useRef: wo,
useState: wo,
useDebugValue: wo,
useDeferredValue: wo,
useTransition: wo,
useMutableSource: wo,
useSyncExternalStore: wo,
useId: wo,
unstable_isNewReconciler: !1
}, ss = {
readContext: Ei, useCallback: function (e, t) {
return Io().memoizedState = [e, void 0 === t ? null : t], e
}, useContext: Ei, useEffect: Go, useImperativeHandle: function (e, t, n) {
return n = null !== n && void 0 !== n ? n.concat([e]) : null, Uo(4194308, 4, Ho.bind(null, t, e), n)
}, useLayoutEffect: function (e, t) {
return Uo(4194308, 4, e, t)
}, useInsertionEffect: function (e, t) {
return Uo(4, 2, e, t)
}, useMemo: function (e, t) {
var n = Io();
return t = void 0 === t ? null : t, e = e(), n.memoizedState = [e, t], e
}, useReducer: function (e, t, n) {
var r = Io();
return t = void 0 !== n ? n(t) : t, r.memoizedState = r.baseState = t, e = {
pending: null,
interleaved: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: e,
lastRenderedState: t
}, r.queue = e, e = e.dispatch = ts.bind(null, mo, e), [r.memoizedState, e]
}, useRef: function (e) {
return e = {current: e}, Io().memoizedState = e
}, useState: Fo, useDebugValue: Yo, useDeferredValue: function (e) {
return Io().memoizedState = e
}, useTransition: function () {
var e = Fo(!1), t = e[0];
return e = Jo.bind(null, e[1]), Io().memoizedState = e, [t, e]
}, useMutableSource: function () {
}, useSyncExternalStore: function (e, t, n) {
var r = mo, a = Io();
if (ai) {
if (void 0 === n) throw Error(i(407));
n = n()
} else {
if (n = t(), null === Pl) throw Error(i(349));
0 !== (30 & fo) || Ro(r, t, n)
}
a.memoizedState = n;
var o = {value: n, getSnapshot: t};
return a.queue = o, Go(jo.bind(null, r, o, e), [e]), r.flags |= 2048, zo(9, Lo.bind(null, r, o, n, t), void 0, null), n
}, useId: function () {
var e = Io(), t = Pl.identifierPrefix;
if (ai) {
var n = Za;
t = ":" + t + "R" + (n = (Qa & ~(1 << 32 - ot(Qa) - 1)).toString(32) + n), 0 < (n = bo++) && (t += "H" + n.toString(32)), t += ":"
} else t = ":" + t + "r" + (n = xo++).toString(32) + ":";
return e.memoizedState = t
}, unstable_isNewReconciler: !1
}, ls = {
readContext: Ei,
useCallback: Qo,
useContext: Ei,
useEffect: $o,
useImperativeHandle: Ko,
useInsertionEffect: qo,
useLayoutEffect: Wo,
useMemo: Zo,
useReducer: Po,
useRef: Vo,
useState: function () {
return Po(Oo)
},
useDebugValue: Yo,
useDeferredValue: function (e) {
return Xo(Co(), go.memoizedState, e)
},
useTransition: function () {
return [Po(Oo)[0], Co().memoizedState]
},
useMutableSource: To,
useSyncExternalStore: Do,
useId: es,
unstable_isNewReconciler: !1
}, cs = {
readContext: Ei,
useCallback: Qo,
useContext: Ei,
useEffect: $o,
useImperativeHandle: Ko,
useInsertionEffect: qo,
useLayoutEffect: Wo,
useMemo: Zo,
useReducer: Ao,
useRef: Vo,
useState: function () {
return Ao(Oo)
},
useDebugValue: Yo,
useDeferredValue: function (e) {
var t = Co();
return null === go ? t.memoizedState = e : Xo(t, go.memoizedState, e)
},
useTransition: function () {
return [Ao(Oo)[0], Co().memoizedState]
},
useMutableSource: To,
useSyncExternalStore: Do,
useId: es,
unstable_isNewReconciler: !1
};
function us(e, t) {
try {
var n = "", r = t;
do {
n += U(r), r = r.return
} while (r);
var a = n
} catch (i) {
a = "\nError generating stack: " + i.message + "\n" + i.stack
}
return {value: e, source: t, stack: a, digest: null}
}
function ds(e, t, n) {
return {value: e, source: null, stack: null != n ? n : null, digest: null != t ? t : null}
}
function ps(e, t) {
try {
console.error(t.value)
} catch (n) {
setTimeout((function () {
throw n
}))
}
}
var hs = "function" === typeof WeakMap ? WeakMap : Map;
function fs(e, t, n) {
(n = Ri(-1, n)).tag = 3, n.payload = {element: null};
var r = t.value;
return n.callback = function () {
$l || ($l = !0, ql = r), ps(0, t)
}, n
}
function ms(e, t, n) {
(n = Ri(-1, n)).tag = 3;
var r = e.type.getDerivedStateFromError;
if ("function" === typeof r) {
var a = t.value;
n.payload = function () {
return r(a)
}, n.callback = function () {
ps(0, t)
}
}
var i = e.stateNode;
return null !== i && "function" === typeof i.componentDidCatch && (n.callback = function () {
ps(0, t), "function" !== typeof r && (null === Wl ? Wl = new Set([this]) : Wl.add(this));
var e = t.stack;
this.componentDidCatch(t.value, {componentStack: null !== e ? e : ""})
}), n
}
function gs(e, t, n) {
var r = e.pingCache;
if (null === r) {
r = e.pingCache = new hs;
var a = new Set;
r.set(t, a)
} else void 0 === (a = r.get(t)) && (a = new Set, r.set(t, a));
a.has(n) || (a.add(n), e = Ec.bind(null, e, t, n), t.then(e, e))
}
function vs(e) {
do {
var t;
if ((t = 13 === e.tag) && (t = null === (t = e.memoizedState) || null !== t.dehydrated), t) return e;
e = e.return
} while (null !== e);
return null
}
function _s(e, t, n, r, a) {
return 0 === (1 & e.mode) ? (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, 1 === n.tag && (null === n.alternate ? n.tag = 17 : ((t = Ri(-1, 1)).tag = 2, Li(n, t, 1))), n.lanes |= 1), e) : (e.flags |= 65536, e.lanes = a, e)
}
var ys = b.ReactCurrentOwner, bs = !1;
function xs(e, t, n, r) {
t.child = null === e ? Zi(t, null, n, r) : Qi(t, e.child, n, r)
}
function ws(e, t, n, r, a) {
n = n.render;
var i = t.ref;
return Si(t, a), r = So(e, t, n, r, i, a), n = Eo(), null === e || bs ? (ai && n && ei(t), t.flags |= 1, xs(e, t, r, a), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~a, $s(e, t, a))
}
function ks(e, t, n, r, a) {
if (null === e) {
var i = n.type;
return "function" !== typeof i || Dc(i) || void 0 !== i.defaultProps || null !== n.compare || void 0 !== n.defaultProps ? ((e = Lc(n.type, null, r, t, t.mode, a)).ref = t.ref, e.return = t, t.child = e) : (t.tag = 15, t.type = i, Ss(e, t, i, r, a))
}
if (i = e.child, 0 === (e.lanes & a)) {
var o = i.memoizedProps;
if ((n = null !== (n = n.compare) ? n : lr)(o, r) && e.ref === t.ref) return $s(e, t, a)
}
return t.flags |= 1, (e = Rc(i, r)).ref = t.ref, e.return = t, t.child = e
}
function Ss(e, t, n, r, a) {
if (null !== e) {
var i = e.memoizedProps;
if (lr(i, r) && e.ref === t.ref) {
if (bs = !1, t.pendingProps = r = i, 0 === (e.lanes & a)) return t.lanes = e.lanes, $s(e, t, a);
0 !== (131072 & e.flags) && (bs = !0)
}
}
return Cs(e, t, n, r, a)
}
function Es(e, t, n) {
var r = t.pendingProps, a = r.children, i = null !== e ? e.memoizedState : null;
if ("hidden" === r.mode) if (0 === (1 & t.mode)) t.memoizedState = {
baseLanes: 0,
cachePool: null,
transitions: null
}, Ia(Rl, Dl), Dl |= n; else {
if (0 === (1073741824 & n)) return e = null !== i ? i.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = {
baseLanes: e,
cachePool: null,
transitions: null
}, t.updateQueue = null, Ia(Rl, Dl), Dl |= e, null;
t.memoizedState = {
baseLanes: 0,
cachePool: null,
transitions: null
}, r = null !== i ? i.baseLanes : n, Ia(Rl, Dl), Dl |= r
} else null !== i ? (r = i.baseLanes | n, t.memoizedState = null) : r = n, Ia(Rl, Dl), Dl |= r;
return xs(e, t, a, n), t.child
}
function Is(e, t) {
var n = t.ref;
(null === e && null !== n || null !== e && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152)
}
function Cs(e, t, n, r, a) {
var i = Da(n) ? Aa : Oa.current;
return i = Ta(t, i), Si(t, a), n = So(e, t, n, r, i, a), r = Eo(), null === e || bs ? (ai && r && ei(t), t.flags |= 1, xs(e, t, n, a), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~a, $s(e, t, a))
}
function Os(e, t, n, r, a) {
if (Da(n)) {
var i = !0;
Na(t)
} else i = !1;
if (Si(t, a), null === t.stateNode) Gs(e, t), Gi(t, n, r), qi(t, n, r, a), r = !0; else if (null === e) {
var o = t.stateNode, s = t.memoizedProps;
o.props = s;
var l = o.context, c = n.contextType;
"object" === typeof c && null !== c ? c = Ei(c) : c = Ta(t, c = Da(n) ? Aa : Oa.current);
var u = n.getDerivedStateFromProps,
d = "function" === typeof u || "function" === typeof o.getSnapshotBeforeUpdate;
d || "function" !== typeof o.UNSAFE_componentWillReceiveProps && "function" !== typeof o.componentWillReceiveProps || (s !== r || l !== c) && $i(t, o, r, c), Ai = !1;
var p = t.memoizedState;
o.state = p, Mi(t, r, o, a), l = t.memoizedState, s !== r || p !== l || Pa.current || Ai ? ("function" === typeof u && (Vi(t, n, u, r), l = t.memoizedState), (s = Ai || Bi(t, n, s, r, p, l, c)) ? (d || "function" !== typeof o.UNSAFE_componentWillMount && "function" !== typeof o.componentWillMount || ("function" === typeof o.componentWillMount && o.componentWillMount(), "function" === typeof o.UNSAFE_componentWillMount && o.UNSAFE_componentWillMount()), "function" === typeof o.componentDidMount && (t.flags |= 4194308)) : ("function" === typeof o.componentDidMount && (t.flags |= 4194308), t.memoizedProps = r, t.memoizedState = l), o.props = r, o.state = l, o.context = c, r = s) : ("function" === typeof o.componentDidMount && (t.flags |= 4194308), r = !1)
} else {
o = t.stateNode, Di(e, t), s = t.memoizedProps, c = t.type === t.elementType ? s : gi(t.type, s), o.props = c, d = t.pendingProps, p = o.context, "object" === typeof (l = n.contextType) && null !== l ? l = Ei(l) : l = Ta(t, l = Da(n) ? Aa : Oa.current);
var h = n.getDerivedStateFromProps;
(u = "function" === typeof h || "function" === typeof o.getSnapshotBeforeUpdate) || "function" !== typeof o.UNSAFE_componentWillReceiveProps && "function" !== typeof o.componentWillReceiveProps || (s !== d || p !== l) && $i(t, o, r, l), Ai = !1, p = t.memoizedState, o.state = p, Mi(t, r, o, a);
var f = t.memoizedState;
s !== d || p !== f || Pa.current || Ai ? ("function" === typeof h && (Vi(t, n, h, r), f = t.memoizedState), (c = Ai || Bi(t, n, c, r, p, f, l) || !1) ? (u || "function" !== typeof o.UNSAFE_componentWillUpdate && "function" !== typeof o.componentWillUpdate || ("function" === typeof o.componentWillUpdate && o.componentWillUpdate(r, f, l), "function" === typeof o.UNSAFE_componentWillUpdate && o.UNSAFE_componentWillUpdate(r, f, l)), "function" === typeof o.componentDidUpdate && (t.flags |= 4), "function" === typeof o.getSnapshotBeforeUpdate && (t.flags |= 1024)) : ("function" !== typeof o.componentDidUpdate || s === e.memoizedProps && p === e.memoizedState || (t.flags |= 4), "function" !== typeof o.getSnapshotBeforeUpdate || s === e.memoizedProps && p === e.memoizedState || (t.flags |= 1024), t.memoizedProps = r, t.memoizedState = f), o.props = r, o.state = f, o.context = l, r = c) : ("function" !== typeof o.componentDidUpdate || s === e.memoizedProps && p === e.memoizedState || (t.flags |= 4), "function" !== typeof o.getSnapshotBeforeUpdate || s === e.memoizedProps && p === e.memoizedState || (t.flags |= 1024), r = !1)
}
return Ps(e, t, n, r, i, a)
}
function Ps(e, t, n, r, a, i) {
Is(e, t);
var o = 0 !== (128 & t.flags);
if (!r && !o) return a && Ma(t, n, !1), $s(e, t, i);
r = t.stateNode, ys.current = t;
var s = o && "function" !== typeof n.getDerivedStateFromError ? null : r.render();
return t.flags |= 1, null !== e && o ? (t.child = Qi(t, e.child, null, i), t.child = Qi(t, null, s, i)) : xs(e, t, s, i), t.memoizedState = r.state, a && Ma(t, n, !0), t.child
}
function As(e) {
var t = e.stateNode;
t.pendingContext ? La(0, t.pendingContext, t.pendingContext !== t.context) : t.context && La(0, t.context, !1), ro(e, t.containerInfo)
}
function Ts(e, t, n, r, a) {
return hi(), fi(a), t.flags |= 256, xs(e, t, n, r), t.child
}
var Ds, Rs, Ls, js = {dehydrated: null, treeContext: null, retryLane: 0};
function Ns(e) {
return {baseLanes: e, cachePool: null, transitions: null}
}
function Ms(e, t, n) {
var r, a = t.pendingProps, o = so.current, s = !1, l = 0 !== (128 & t.flags);
if ((r = l) || (r = (null === e || null !== e.memoizedState) && 0 !== (2 & o)), r ? (s = !0, t.flags &= -129) : null !== e && null === e.memoizedState || (o |= 1), Ia(so, 1 & o), null === e) return ci(t), null !== (e = t.memoizedState) && null !== (e = e.dehydrated) ? (0 === (1 & t.mode) ? t.lanes = 1 : "$!" === e.data ? t.lanes = 8 : t.lanes = 1073741824, null) : (l = a.children, e = a.fallback, s ? (a = t.mode, s = t.child, l = {
mode: "hidden",
children: l
}, 0 === (1 & a) && null !== s ? (s.childLanes = 0, s.pendingProps = l) : s = Nc(l, a, 0, null), e = jc(e, a, n, null), s.return = t, e.return = t, s.sibling = e, t.child = s, t.child.memoizedState = Ns(n), t.memoizedState = js, e) : Fs(t, l));
if (null !== (o = e.memoizedState) && null !== (r = o.dehydrated)) return function (e, t, n, r, a, o, s) {
if (n) return 256 & t.flags ? (t.flags &= -257, zs(e, t, s, r = ds(Error(i(422))))) : null !== t.memoizedState ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, a = t.mode, r = Nc({
mode: "visible",
children: r.children
}, a, 0, null), (o = jc(o, a, s, null)).flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, 0 !== (1 & t.mode) && Qi(t, e.child, null, s), t.child.memoizedState = Ns(s), t.memoizedState = js, o);
if (0 === (1 & t.mode)) return zs(e, t, s, null);
if ("$!" === a.data) {
if (r = a.nextSibling && a.nextSibling.dataset) var l = r.dgst;
return r = l, zs(e, t, s, r = ds(o = Error(i(419)), r, void 0))
}
if (l = 0 !== (s & e.childLanes), bs || l) {
if (null !== (r = Pl)) {
switch (s & -s) {
case 4:
a = 2;
break;
case 16:
a = 8;
break;
case 64:
case 128:
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
case 262144:
case 524288:
case 1048576:
case 2097152:
case 4194304:
case 8388608:
case 16777216:
case 33554432:
case 67108864:
a = 32;
break;
case 536870912:
a = 268435456;
break;
default:
a = 0
}
0 !== (a = 0 !== (a & (r.suspendedLanes | s)) ? 0 : a) && a !== o.retryLane && (o.retryLane = a, Pi(e, a), nc(r, e, a, -1))
}
return mc(), zs(e, t, s, r = ds(Error(i(421))))
}
return "$?" === a.data ? (t.flags |= 128, t.child = e.child, t = Cc.bind(null, e), a._reactRetry = t, null) : (e = o.treeContext, ri = ca(a.nextSibling), ni = t, ai = !0, ii = null, null !== e && (Ha[Ka++] = Qa, Ha[Ka++] = Za, Ha[Ka++] = Ya, Qa = e.id, Za = e.overflow, Ya = t), t = Fs(t, r.children), t.flags |= 4096, t)
}(e, t, l, a, r, o, n);
if (s) {
s = a.fallback, l = t.mode, r = (o = e.child).sibling;
var c = {mode: "hidden", children: a.children};
return 0 === (1 & l) && t.child !== o ? ((a = t.child).childLanes = 0, a.pendingProps = c, t.deletions = null) : (a = Rc(o, c)).subtreeFlags = 14680064 & o.subtreeFlags, null !== r ? s = Rc(r, s) : (s = jc(s, l, n, null)).flags |= 2, s.return = t, a.return = t, a.sibling = s, t.child = a, a = s, s = t.child, l = null === (l = e.child.memoizedState) ? Ns(n) : {
baseLanes: l.baseLanes | n,
cachePool: null,
transitions: l.transitions
}, s.memoizedState = l, s.childLanes = e.childLanes & ~n, t.memoizedState = js, a
}
return e = (s = e.child).sibling, a = Rc(s, {
mode: "visible",
children: a.children
}), 0 === (1 & t.mode) && (a.lanes = n), a.return = t, a.sibling = null, null !== e && (null === (n = t.deletions) ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = a, t.memoizedState = null, a
}
function Fs(e, t) {
return (t = Nc({mode: "visible", children: t}, e.mode, 0, null)).return = e, e.child = t
}
function zs(e, t, n, r) {
return null !== r && fi(r), Qi(t, e.child, null, n), (e = Fs(t, t.pendingProps.children)).flags |= 2, t.memoizedState = null, e
}
function Vs(e, t, n) {
e.lanes |= t;
var r = e.alternate;
null !== r && (r.lanes |= t), ki(e.return, t, n)
}
function Us(e, t, n, r, a) {
var i = e.memoizedState;
null === i ? e.memoizedState = {
isBackwards: t,
rendering: null,
renderingStartTime: 0,
last: r,
tail: n,
tailMode: a
} : (i.isBackwards = t, i.rendering = null, i.renderingStartTime = 0, i.last = r, i.tail = n, i.tailMode = a)
}
function Bs(e, t, n) {
var r = t.pendingProps, a = r.revealOrder, i = r.tail;
if (xs(e, t, r.children, n), 0 !== (2 & (r = so.current))) r = 1 & r | 2, t.flags |= 128; else {
if (null !== e && 0 !== (128 & e.flags)) e:for (e = t.child; null !== e;) {
if (13 === e.tag) null !== e.memoizedState && Vs(e, n, t); else if (19 === e.tag) Vs(e, n, t); else if (null !== e.child) {
e.child.return = e, e = e.child;
continue
}
if (e === t) break e;
for (; null === e.sibling;) {
if (null === e.return || e.return === t) break e;
e = e.return
}
e.sibling.return = e.return, e = e.sibling
}
r &= 1
}
if (Ia(so, r), 0 === (1 & t.mode)) t.memoizedState = null; else switch (a) {
case"forwards":
for (n = t.child, a = null; null !== n;) null !== (e = n.alternate) && null === lo(e) && (a = n), n = n.sibling;
null === (n = a) ? (a = t.child, t.child = null) : (a = n.sibling, n.sibling = null), Us(t, !1, a, n, i);
break;
case"backwards":
for (n = null, a = t.child, t.child = null; null !== a;) {
if (null !== (e = a.alternate) && null === lo(e)) {
t.child = a;
break
}
e = a.sibling, a.sibling = n, n = a, a = e
}
Us(t, !0, n, null, i);
break;
case"together":
Us(t, !1, null, null, void 0);
break;
default:
t.memoizedState = null
}
return t.child
}
function Gs(e, t) {
0 === (1 & t.mode) && null !== e && (e.alternate = null, t.alternate = null, t.flags |= 2)
}
function $s(e, t, n) {
if (null !== e && (t.dependencies = e.dependencies), Nl |= t.lanes, 0 === (n & t.childLanes)) return null;
if (null !== e && t.child !== e.child) throw Error(i(153));
if (null !== t.child) {
for (n = Rc(e = t.child, e.pendingProps), t.child = n, n.return = t; null !== e.sibling;) e = e.sibling, (n = n.sibling = Rc(e, e.pendingProps)).return = t;
n.sibling = null
}
return t.child
}
function qs(e, t) {
if (!ai) switch (e.tailMode) {
case"hidden":
t = e.tail;
for (var n = null; null !== t;) null !== t.alternate && (n = t), t = t.sibling;
null === n ? e.tail = null : n.sibling = null;
break;
case"collapsed":
n = e.tail;
for (var r = null; null !== n;) null !== n.alternate && (r = n), n = n.sibling;
null === r ? t || null === e.tail ? e.tail = null : e.tail.sibling = null : r.sibling = null
}
}
function Ws(e) {
var t = null !== e.alternate && e.alternate.child === e.child, n = 0, r = 0;
if (t) for (var a = e.child; null !== a;) n |= a.lanes | a.childLanes, r |= 14680064 & a.subtreeFlags, r |= 14680064 & a.flags, a.return = e, a = a.sibling; else for (a = e.child; null !== a;) n |= a.lanes | a.childLanes, r |= a.subtreeFlags, r |= a.flags, a.return = e, a = a.sibling;
return e.subtreeFlags |= r, e.childLanes = n, t
}
function Hs(e, t, n) {
var r = t.pendingProps;
switch (ti(t), t.tag) {
case 2:
case 16:
case 15:
case 0:
case 11:
case 7:
case 8:
case 12:
case 9:
case 14:
return Ws(t), null;
case 1:
case 17:
return Da(t.type) && Ra(), Ws(t), null;
case 3:
return r = t.stateNode, ao(), Ea(Pa), Ea(Oa), uo(), r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null), null !== e && null !== e.child || (di(t) ? t.flags |= 4 : null === e || e.memoizedState.isDehydrated && 0 === (256 & t.flags) || (t.flags |= 1024, null !== ii && (oc(ii), ii = null))), Ws(t), null;
case 5:
oo(t);
var a = no(to.current);
if (n = t.type, null !== e && null != t.stateNode) Rs(e, t, n, r), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152); else {
if (!r) {
if (null === t.stateNode) throw Error(i(166));
return Ws(t), null
}
if (e = no(Ji.current), di(t)) {
r = t.stateNode, n = t.type;
var o = t.memoizedProps;
switch (r[pa] = t, r[ha] = o, e = 0 !== (1 & t.mode), n) {
case"dialog":
zr("cancel", r), zr("close", r);
break;
case"iframe":
case"object":
case"embed":
zr("load", r);
break;
case"video":
case"audio":
for (a = 0; a < jr.length; a++) zr(jr[a], r);
break;
case"source":
zr("error", r);
break;
case"img":
case"image":
case"link":
zr("error", r), zr("load", r);
break;
case"details":
zr("toggle", r);
break;
case"input":
Q(r, o), zr("invalid", r);
break;
case"select":
r._wrapperState = {wasMultiple: !!o.multiple}, zr("invalid", r);
break;
case"textarea":
ae(r, o), zr("invalid", r)
}
for (var l in _e(n, o), a = null, o) if (o.hasOwnProperty(l)) {
var c = o[l];
"children" === l ? "string" === typeof c ? r.textContent !== c && (!0 !== o.suppressHydrationWarning && Xr(r.textContent, c, e), a = ["children", c]) : "number" === typeof c && r.textContent !== "" + c && (!0 !== o.suppressHydrationWarning && Xr(r.textContent, c, e), a = ["children", "" + c]) : s.hasOwnProperty(l) && null != c && "onScroll" === l && zr("scroll", r)
}
switch (n) {
case"input":
W(r), J(r, o, !0);
break;
case"textarea":
W(r), oe(r);
break;
case"select":
case"option":
break;
default:
"function" === typeof o.onClick && (r.onclick = Jr)
}
r = a, t.updateQueue = r, null !== r && (t.flags |= 4)
} else {
l = 9 === a.nodeType ? a : a.ownerDocument, "http://www.w3.org/1999/xhtml" === e && (e = se(n)), "http://www.w3.org/1999/xhtml" === e ? "script" === n ? ((e = l.createElement("div")).innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : "string" === typeof r.is ? e = l.createElement(n, {is: r.is}) : (e = l.createElement(n), "select" === n && (l = e, r.multiple ? l.multiple = !0 : r.size && (l.size = r.size))) : e = l.createElementNS(e, n), e[pa] = t, e[ha] = r, Ds(e, t), t.stateNode = e;
e:{
switch (l = ye(n, r), n) {
case"dialog":
zr("cancel", e), zr("close", e), a = r;
break;
case"iframe":
case"object":
case"embed":
zr("load", e), a = r;
break;
case"video":
case"audio":
for (a = 0; a < jr.length; a++) zr(jr[a], e);
a = r;
break;
case"source":
zr("error", e), a = r;
break;
case"img":
case"image":
case"link":
zr("error", e), zr("load", e), a = r;
break;
case"details":
zr("toggle", e), a = r;
break;
case"input":
Q(e, r), a = Y(e, r), zr("invalid", e);
break;
case"option":
default:
a = r;
break;
case"select":
e._wrapperState = {wasMultiple: !!r.multiple}, a = M({}, r, {value: void 0}), zr("invalid", e);
break;
case"textarea":
ae(e, r), a = re(e, r), zr("invalid", e)
}
for (o in _e(n, a), c = a) if (c.hasOwnProperty(o)) {
var u = c[o];
"style" === o ? ge(e, u) : "dangerouslySetInnerHTML" === o ? null != (u = u ? u.__html : void 0) && de(e, u) : "children" === o ? "string" === typeof u ? ("textarea" !== n || "" !== u) && pe(e, u) : "number" === typeof u && pe(e, "" + u) : "suppressContentEditableWarning" !== o && "suppressHydrationWarning" !== o && "autoFocus" !== o && (s.hasOwnProperty(o) ? null != u && "onScroll" === o && zr("scroll", e) : null != u && y(e, o, u, l))
}
switch (n) {
case"input":
W(e), J(e, r, !1);
break;
case"textarea":
W(e), oe(e);
break;
case"option":
null != r.value && e.setAttribute("value", "" + $(r.value));
break;
case"select":
e.multiple = !!r.multiple, null != (o = r.value) ? ne(e, !!r.multiple, o, !1) : null != r.defaultValue && ne(e, !!r.multiple, r.defaultValue, !0);
break;
default:
"function" === typeof a.onClick && (e.onclick = Jr)
}
switch (n) {
case"button":
case"input":
case"select":
case"textarea":
r = !!r.autoFocus;
break e;
case"img":
r = !0;
break e;
default:
r = !1
}
}
r && (t.flags |= 4)
}
null !== t.ref && (t.flags |= 512, t.flags |= 2097152)
}
return Ws(t), null;
case 6:
if (e && null != t.stateNode) Ls(0, t, e.memoizedProps, r); else {
if ("string" !== typeof r && null === t.stateNode) throw Error(i(166));
if (n = no(to.current), no(Ji.current), di(t)) {
if (r = t.stateNode, n = t.memoizedProps, r[pa] = t, (o = r.nodeValue !== n) && null !== (e = ni)) switch (e.tag) {
case 3:
Xr(r.nodeValue, n, 0 !== (1 & e.mode));
break;
case 5:
!0 !== e.memoizedProps.suppressHydrationWarning && Xr(r.nodeValue, n, 0 !== (1 & e.mode))
}
o && (t.flags |= 4)
} else (r = (9 === n.nodeType ? n : n.ownerDocument).createTextNode(r))[pa] = t, t.stateNode = r
}
return Ws(t), null;
case 13:
if (Ea(so), r = t.memoizedState, null === e || null !== e.memoizedState && null !== e.memoizedState.dehydrated) {
if (ai && null !== ri && 0 !== (1 & t.mode) && 0 === (128 & t.flags)) pi(), hi(), t.flags |= 98560, o = !1; else if (o = di(t), null !== r && null !== r.dehydrated) {
if (null === e) {
if (!o) throw Error(i(318));
if (!(o = null !== (o = t.memoizedState) ? o.dehydrated : null)) throw Error(i(317));
o[pa] = t
} else hi(), 0 === (128 & t.flags) && (t.memoizedState = null), t.flags |= 4;
Ws(t), o = !1
} else null !== ii && (oc(ii), ii = null), o = !0;
if (!o) return 65536 & t.flags ? t : null
}
return 0 !== (128 & t.flags) ? (t.lanes = n, t) : ((r = null !== r) !== (null !== e && null !== e.memoizedState) && r && (t.child.flags |= 8192, 0 !== (1 & t.mode) && (null === e || 0 !== (1 & so.current) ? 0 === Ll && (Ll = 3) : mc())), null !== t.updateQueue && (t.flags |= 4), Ws(t), null);
case 4:
return ao(), null === e && Br(t.stateNode.containerInfo), Ws(t), null;
case 10:
return wi(t.type._context), Ws(t), null;
case 19:
if (Ea(so), null === (o = t.memoizedState)) return Ws(t), null;
if (r = 0 !== (128 & t.flags), null === (l = o.rendering)) if (r) qs(o, !1); else {
if (0 !== Ll || null !== e && 0 !== (128 & e.flags)) for (e = t.child; null !== e;) {
if (null !== (l = lo(e))) {
for (t.flags |= 128, qs(o, !1), null !== (r = l.updateQueue) && (t.updateQueue = r, t.flags |= 4), t.subtreeFlags = 0, r = n, n = t.child; null !== n;) e = r, (o = n).flags &= 14680066, null === (l = o.alternate) ? (o.childLanes = 0, o.lanes = e, o.child = null, o.subtreeFlags = 0, o.memoizedProps = null, o.memoizedState = null, o.updateQueue = null, o.dependencies = null, o.stateNode = null) : (o.childLanes = l.childLanes, o.lanes = l.lanes, o.child = l.child, o.subtreeFlags = 0, o.deletions = null, o.memoizedProps = l.memoizedProps, o.memoizedState = l.memoizedState, o.updateQueue = l.updateQueue, o.type = l.type, e = l.dependencies, o.dependencies = null === e ? null : {
lanes: e.lanes,
firstContext: e.firstContext
}), n = n.sibling;
return Ia(so, 1 & so.current | 2), t.child
}
e = e.sibling
}
null !== o.tail && Ze() > Bl && (t.flags |= 128, r = !0, qs(o, !1), t.lanes = 4194304)
} else {
if (!r) if (null !== (e = lo(l))) {
if (t.flags |= 128, r = !0, null !== (n = e.updateQueue) && (t.updateQueue = n, t.flags |= 4), qs(o, !0), null === o.tail && "hidden" === o.tailMode && !l.alternate && !ai) return Ws(t), null
} else 2 * Ze() - o.renderingStartTime > Bl && 1073741824 !== n && (t.flags |= 128, r = !0, qs(o, !1), t.lanes = 4194304);
o.isBackwards ? (l.sibling = t.child, t.child = l) : (null !== (n = o.last) ? n.sibling = l : t.child = l, o.last = l)
}
return null !== o.tail ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = Ze(), t.sibling = null, n = so.current, Ia(so, r ? 1 & n | 2 : 1 & n), t) : (Ws(t), null);
case 22:
case 23:
return dc(), r = null !== t.memoizedState, null !== e && null !== e.memoizedState !== r && (t.flags |= 8192), r && 0 !== (1 & t.mode) ? 0 !== (1073741824 & Dl) && (Ws(t), 6 & t.subtreeFlags && (t.flags |= 8192)) : Ws(t), null;
case 24:
case 25:
return null
}
throw Error(i(156, t.tag))
}
function Ks(e, t) {
switch (ti(t), t.tag) {
case 1:
return Da(t.type) && Ra(), 65536 & (e = t.flags) ? (t.flags = -65537 & e | 128, t) : null;
case 3:
return ao(), Ea(Pa), Ea(Oa), uo(), 0 !== (65536 & (e = t.flags)) && 0 === (128 & e) ? (t.flags = -65537 & e | 128, t) : null;
case 5:
return oo(t), null;
case 13:
if (Ea(so), null !== (e = t.memoizedState) && null !== e.dehydrated) {
if (null === t.alternate) throw Error(i(340));
hi()
}
return 65536 & (e = t.flags) ? (t.flags = -65537 & e | 128, t) : null;
case 19:
return Ea(so), null;
case 4:
return ao(), null;
case 10:
return wi(t.type._context), null;
case 22:
case 23:
return dc(), null;
default:
return null
}
}
Ds = function (e, t) {
for (var n = t.child; null !== n;) {
if (5 === n.tag || 6 === n.tag) e.appendChild(n.stateNode); else if (4 !== n.tag && null !== n.child) {
n.child.return = n, n = n.child;
continue
}
if (n === t) break;
for (; null === n.sibling;) {
if (null === n.return || n.return === t) return;
n = n.return
}
n.sibling.return = n.return, n = n.sibling
}
}, Rs = function (e, t, n, r) {
var a = e.memoizedProps;
if (a !== r) {
e = t.stateNode, no(Ji.current);
var i, o = null;
switch (n) {
case"input":
a = Y(e, a), r = Y(e, r), o = [];
break;
case"select":
a = M({}, a, {value: void 0}), r = M({}, r, {value: void 0}), o = [];
break;
case"textarea":
a = re(e, a), r = re(e, r), o = [];
break;
default:
"function" !== typeof a.onClick && "function" === typeof r.onClick && (e.onclick = Jr)
}
for (u in _e(n, r), n = null, a) if (!r.hasOwnProperty(u) && a.hasOwnProperty(u) && null != a[u]) if ("style" === u) {
var l = a[u];
for (i in l) l.hasOwnProperty(i) && (n || (n = {}), n[i] = "")
} else "dangerouslySetInnerHTML" !== u && "children" !== u && "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && "autoFocus" !== u && (s.hasOwnProperty(u) ? o || (o = []) : (o = o || []).push(u, null));
for (u in r) {
var c = r[u];
if (l = null != a ? a[u] : void 0, r.hasOwnProperty(u) && c !== l && (null != c || null != l)) if ("style" === u) if (l) {
for (i in l) !l.hasOwnProperty(i) || c && c.hasOwnProperty(i) || (n || (n = {}), n[i] = "");
for (i in c) c.hasOwnProperty(i) && l[i] !== c[i] && (n || (n = {}), n[i] = c[i])
} else n || (o || (o = []), o.push(u, n)), n = c; else "dangerouslySetInnerHTML" === u ? (c = c ? c.__html : void 0, l = l ? l.__html : void 0, null != c && l !== c && (o = o || []).push(u, c)) : "children" === u ? "string" !== typeof c && "number" !== typeof c || (o = o || []).push(u, "" + c) : "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && (s.hasOwnProperty(u) ? (null != c && "onScroll" === u && zr("scroll", e), o || l === c || (o = [])) : (o = o || []).push(u, c))
}
n && (o = o || []).push("style", n);
var u = o;
(t.updateQueue = u) && (t.flags |= 4)
}
}, Ls = function (e, t, n, r) {
n !== r && (t.flags |= 4)
};
var Ys = !1, Qs = !1, Zs = "function" === typeof WeakSet ? WeakSet : Set, Xs = null;
function Js(e, t) {
var n = e.ref;
if (null !== n) if ("function" === typeof n) try {
n(null)
} catch (r) {
Sc(e, t, r)
} else n.current = null
}
function el(e, t, n) {
try {
n()
} catch (r) {
Sc(e, t, r)
}
}
var tl = !1;
function nl(e, t, n) {
var r = t.updateQueue;
if (null !== (r = null !== r ? r.lastEffect : null)) {
var a = r = r.next;
do {
if ((a.tag & e) === e) {
var i = a.destroy;
a.destroy = void 0, void 0 !== i && el(t, n, i)
}
a = a.next
} while (a !== r)
}
}
function rl(e, t) {
if (null !== (t = null !== (t = t.updateQueue) ? t.lastEffect : null)) {
var n = t = t.next;
do {
if ((n.tag & e) === e) {
var r = n.create;
n.destroy = r()
}
n = n.next
} while (n !== t)
}
}
function al(e) {
var t = e.ref;
if (null !== t) {
var n = e.stateNode;
e.tag, e = n, "function" === typeof t ? t(e) : t.current = e
}
}
function il(e) {
var t = e.alternate;
null !== t && (e.alternate = null, il(t)), e.child = null, e.deletions = null, e.sibling = null, 5 === e.tag && (null !== (t = e.stateNode) && (delete t[pa], delete t[ha], delete t[ma], delete t[ga], delete t[va])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null
}
function ol(e) {
return 5 === e.tag || 3 === e.tag || 4 === e.tag
}
function sl(e) {
e:for (; ;) {
for (; null === e.sibling;) {
if (null === e.return || ol(e.return)) return null;
e = e.return
}
for (e.sibling.return = e.return, e = e.sibling; 5 !== e.tag && 6 !== e.tag && 18 !== e.tag;) {
if (2 & e.flags) continue e;
if (null === e.child || 4 === e.tag) continue e;
e.child.return = e, e = e.child
}
if (!(2 & e.flags)) return e.stateNode
}
}
function ll(e, t, n) {
var r = e.tag;
if (5 === r || 6 === r) e = e.stateNode, t ? 8 === n.nodeType ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (8 === n.nodeType ? (t = n.parentNode).insertBefore(e, n) : (t = n).appendChild(e), null !== (n = n._reactRootContainer) && void 0 !== n || null !== t.onclick || (t.onclick = Jr)); else if (4 !== r && null !== (e = e.child)) for (ll(e, t, n), e = e.sibling; null !== e;) ll(e, t, n), e = e.sibling
}
function cl(e, t, n) {
var r = e.tag;
if (5 === r || 6 === r) e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e); else if (4 !== r && null !== (e = e.child)) for (cl(e, t, n), e = e.sibling; null !== e;) cl(e, t, n), e = e.sibling
}
var ul = null, dl = !1;
function pl(e, t, n) {
for (n = n.child; null !== n;) hl(e, t, n), n = n.sibling
}
function hl(e, t, n) {
if (it && "function" === typeof it.onCommitFiberUnmount) try {
it.onCommitFiberUnmount(at, n)
} catch (s) {
}
switch (n.tag) {
case 5:
Qs || Js(n, t);
case 6:
var r = ul, a = dl;
ul = null, pl(e, t, n), dl = a, null !== (ul = r) && (dl ? (e = ul, n = n.stateNode, 8 === e.nodeType ? e.parentNode.removeChild(n) : e.removeChild(n)) : ul.removeChild(n.stateNode));
break;
case 18:
null !== ul && (dl ? (e = ul, n = n.stateNode, 8 === e.nodeType ? la(e.parentNode, n) : 1 === e.nodeType && la(e, n), Bt(e)) : la(ul, n.stateNode));
break;
case 4:
r = ul, a = dl, ul = n.stateNode.containerInfo, dl = !0, pl(e, t, n), ul = r, dl = a;
break;
case 0:
case 11:
case 14:
case 15:
if (!Qs && (null !== (r = n.updateQueue) && null !== (r = r.lastEffect))) {
a = r = r.next;
do {
var i = a, o = i.destroy;
i = i.tag, void 0 !== o && (0 !== (2 & i) || 0 !== (4 & i)) && el(n, t, o), a = a.next
} while (a !== r)
}
pl(e, t, n);
break;
case 1:
if (!Qs && (Js(n, t), "function" === typeof (r = n.stateNode).componentWillUnmount)) try {
r.props = n.memoizedProps, r.state = n.memoizedState, r.componentWillUnmount()
} catch (s) {
Sc(n, t, s)
}
pl(e, t, n);
break;
case 21:
pl(e, t, n);
break;
case 22:
1 & n.mode ? (Qs = (r = Qs) || null !== n.memoizedState, pl(e, t, n), Qs = r) : pl(e, t, n);
break;
default:
pl(e, t, n)
}
}
function fl(e) {
var t = e.updateQueue;
if (null !== t) {
e.updateQueue = null;
var n = e.stateNode;
null === n && (n = e.stateNode = new Zs), t.forEach((function (t) {
var r = Oc.bind(null, e, t);
n.has(t) || (n.add(t), t.then(r, r))
}))
}
}
function ml(e, t) {
var n = t.deletions;
if (null !== n) for (var r = 0; r < n.length; r++) {
var a = n[r];
try {
var o = e, s = t, l = s;
e:for (; null !== l;) {
switch (l.tag) {
case 5:
ul = l.stateNode, dl = !1;
break e;
case 3:
case 4:
ul = l.stateNode.containerInfo, dl = !0;
break e
}
l = l.return
}
if (null === ul) throw Error(i(160));
hl(o, s, a), ul = null, dl = !1;
var c = a.alternate;
null !== c && (c.return = null), a.return = null
} catch (u) {
Sc(a, t, u)
}
}
if (12854 & t.subtreeFlags) for (t = t.child; null !== t;) gl(t, e), t = t.sibling
}
function gl(e, t) {
var n = e.alternate, r = e.flags;
switch (e.tag) {
case 0:
case 11:
case 14:
case 15:
if (ml(t, e), vl(e), 4 & r) {
try {
nl(3, e, e.return), rl(3, e)
} catch (g) {
Sc(e, e.return, g)
}
try {
nl(5, e, e.return)
} catch (g) {
Sc(e, e.return, g)
}
}
break;
case 1:
ml(t, e), vl(e), 512 & r && null !== n && Js(n, n.return);
break;
case 5:
if (ml(t, e), vl(e), 512 & r && null !== n && Js(n, n.return), 32 & e.flags) {
var a = e.stateNode;
try {
pe(a, "")
} catch (g) {
Sc(e, e.return, g)
}
}
if (4 & r && null != (a = e.stateNode)) {
var o = e.memoizedProps, s = null !== n ? n.memoizedProps : o, l = e.type,
c = e.updateQueue;
if (e.updateQueue = null, null !== c) try {
"input" === l && "radio" === o.type && null != o.name && Z(a, o), ye(l, s);
var u = ye(l, o);
for (s = 0; s < c.length; s += 2) {
var d = c[s], p = c[s + 1];
"style" === d ? ge(a, p) : "dangerouslySetInnerHTML" === d ? de(a, p) : "children" === d ? pe(a, p) : y(a, d, p, u)
}
switch (l) {
case"input":
X(a, o);
break;
case"textarea":
ie(a, o);
break;
case"select":
var h = a._wrapperState.wasMultiple;
a._wrapperState.wasMultiple = !!o.multiple;
var f = o.value;
null != f ? ne(a, !!o.multiple, f, !1) : h !== !!o.multiple && (null != o.defaultValue ? ne(a, !!o.multiple, o.defaultValue, !0) : ne(a, !!o.multiple, o.multiple ? [] : "", !1))
}
a[ha] = o
} catch (g) {
Sc(e, e.return, g)
}
}
break;
case 6:
if (ml(t, e), vl(e), 4 & r) {
if (null === e.stateNode) throw Error(i(162));
a = e.stateNode, o = e.memoizedProps;
try {
a.nodeValue = o
} catch (g) {
Sc(e, e.return, g)
}
}
break;
case 3:
if (ml(t, e), vl(e), 4 & r && null !== n && n.memoizedState.isDehydrated) try {
Bt(t.containerInfo)
} catch (g) {
Sc(e, e.return, g)
}
break;
case 4:
default:
ml(t, e), vl(e);
break;
case 13:
ml(t, e), vl(e), 8192 & (a = e.child).flags && (o = null !== a.memoizedState, a.stateNode.isHidden = o, !o || null !== a.alternate && null !== a.alternate.memoizedState || (Ul = Ze())), 4 & r && fl(e);
break;
case 22:
if (d = null !== n && null !== n.memoizedState, 1 & e.mode ? (Qs = (u = Qs) || d, ml(t, e), Qs = u) : ml(t, e), vl(e), 8192 & r) {
if (u = null !== e.memoizedState, (e.stateNode.isHidden = u) && !d && 0 !== (1 & e.mode)) for (Xs = e, d = e.child; null !== d;) {
for (p = Xs = d; null !== Xs;) {
switch (f = (h = Xs).child, h.tag) {
case 0:
case 11:
case 14:
case 15:
nl(4, h, h.return);
break;
case 1:
Js(h, h.return);
var m = h.stateNode;
if ("function" === typeof m.componentWillUnmount) {
r = h, n = h.return;
try {
t = r, m.props = t.memoizedProps, m.state = t.memoizedState, m.componentWillUnmount()
} catch (g) {
Sc(r, n, g)
}
}
break;
case 5:
Js(h, h.return);
break;
case 22:
if (null !== h.memoizedState) {
xl(p);
continue
}
}
null !== f ? (f.return = h, Xs = f) : xl(p)
}
d = d.sibling
}
e:for (d = null, p = e; ;) {
if (5 === p.tag) {
if (null === d) {
d = p;
try {
a = p.stateNode, u ? "function" === typeof (o = a.style).setProperty ? o.setProperty("display", "none", "important") : o.display = "none" : (l = p.stateNode, s = void 0 !== (c = p.memoizedProps.style) && null !== c && c.hasOwnProperty("display") ? c.display : null, l.style.display = me("display", s))
} catch (g) {
Sc(e, e.return, g)
}
}
} else if (6 === p.tag) {
if (null === d) try {
p.stateNode.nodeValue = u ? "" : p.memoizedProps
} catch (g) {
Sc(e, e.return, g)
}
} else if ((22 !== p.tag && 23 !== p.tag || null === p.memoizedState || p === e) && null !== p.child) {
p.child.return = p, p = p.child;
continue
}
if (p === e) break e;
for (; null === p.sibling;) {
if (null === p.return || p.return === e) break e;
d === p && (d = null), p = p.return
}
d === p && (d = null), p.sibling.return = p.return, p = p.sibling
}
}
break;
case 19:
ml(t, e), vl(e), 4 & r && fl(e);
case 21:
}
}
function vl(e) {
var t = e.flags;
if (2 & t) {
try {
e:{
for (var n = e.return; null !== n;) {
if (ol(n)) {
var r = n;
break e
}
n = n.return
}
throw Error(i(160))
}
switch (r.tag) {
case 5:
var a = r.stateNode;
32 & r.flags && (pe(a, ""), r.flags &= -33), cl(e, sl(e), a);
break;
case 3:
case 4:
var o = r.stateNode.containerInfo;
ll(e, sl(e), o);
break;
default:
throw Error(i(161))
}
} catch (s) {
Sc(e, e.return, s)
}
e.flags &= -3
}
4096 & t && (e.flags &= -4097)
}
function _l(e, t, n) {
Xs = e, yl(e, t, n)
}
function yl(e, t, n) {
for (var r = 0 !== (1 & e.mode); null !== Xs;) {
var a = Xs, i = a.child;
if (22 === a.tag && r) {
var o = null !== a.memoizedState || Ys;
if (!o) {
var s = a.alternate, l = null !== s && null !== s.memoizedState || Qs;
s = Ys;
var c = Qs;
if (Ys = o, (Qs = l) && !c) for (Xs = a; null !== Xs;) l = (o = Xs).child, 22 === o.tag && null !== o.memoizedState ? wl(a) : null !== l ? (l.return = o, Xs = l) : wl(a);
for (; null !== i;) Xs = i, yl(i, t, n), i = i.sibling;
Xs = a, Ys = s, Qs = c
}
bl(e)
} else 0 !== (8772 & a.subtreeFlags) && null !== i ? (i.return = a, Xs = i) : bl(e)
}
}
function bl(e) {
for (; null !== Xs;) {
var t = Xs;
if (0 !== (8772 & t.flags)) {
var n = t.alternate;
try {
if (0 !== (8772 & t.flags)) switch (t.tag) {
case 0:
case 11:
case 15:
Qs || rl(5, t);
break;
case 1:
var r = t.stateNode;
if (4 & t.flags && !Qs) if (null === n) r.componentDidMount(); else {
var a = t.elementType === t.type ? n.memoizedProps : gi(t.type, n.memoizedProps);
r.componentDidUpdate(a, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate)
}
var o = t.updateQueue;
null !== o && Fi(t, o, r);
break;
case 3:
var s = t.updateQueue;
if (null !== s) {
if (n = null, null !== t.child) switch (t.child.tag) {
case 5:
case 1:
n = t.child.stateNode
}
Fi(t, s, n)
}
break;
case 5:
var l = t.stateNode;
if (null === n && 4 & t.flags) {
n = l;
var c = t.memoizedProps;
switch (t.type) {
case"button":
case"input":
case"select":
case"textarea":
c.autoFocus && n.focus();
break;
case"img":
c.src && (n.src = c.src)
}
}
break;
case 6:
case 4:
case 12:
case 19:
case 17:
case 21:
case 22:
case 23:
case 25:
break;
case 13:
if (null === t.memoizedState) {
var u = t.alternate;
if (null !== u) {
var d = u.memoizedState;
if (null !== d) {
var p = d.dehydrated;
null !== p && Bt(p)
}
}
}
break;
default:
throw Error(i(163))
}
Qs || 512 & t.flags && al(t)
} catch (h) {
Sc(t, t.return, h)
}
}
if (t === e) {
Xs = null;
break
}
if (null !== (n = t.sibling)) {
n.return = t.return, Xs = n;
break
}
Xs = t.return
}
}
function xl(e) {
for (; null !== Xs;) {
var t = Xs;
if (t === e) {
Xs = null;
break
}
var n = t.sibling;
if (null !== n) {
n.return = t.return, Xs = n;
break
}
Xs = t.return
}
}
function wl(e) {
for (; null !== Xs;) {
var t = Xs;
try {
switch (t.tag) {
case 0:
case 11:
case 15:
var n = t.return;
try {
rl(4, t)
} catch (l) {
Sc(t, n, l)
}
break;
case 1:
var r = t.stateNode;
if ("function" === typeof r.componentDidMount) {
var a = t.return;
try {
r.componentDidMount()
} catch (l) {
Sc(t, a, l)
}
}
var i = t.return;
try {
al(t)
} catch (l) {
Sc(t, i, l)
}
break;
case 5:
var o = t.return;
try {
al(t)
} catch (l) {
Sc(t, o, l)
}
}
} catch (l) {
Sc(t, t.return, l)
}
if (t === e) {
Xs = null;
break
}
var s = t.sibling;
if (null !== s) {
s.return = t.return, Xs = s;
break
}
Xs = t.return
}
}
var kl, Sl = Math.ceil, El = b.ReactCurrentDispatcher, Il = b.ReactCurrentOwner,
Cl = b.ReactCurrentBatchConfig, Ol = 0, Pl = null, Al = null, Tl = 0, Dl = 0, Rl = Sa(0), Ll = 0,
jl = null, Nl = 0, Ml = 0, Fl = 0, zl = null, Vl = null, Ul = 0, Bl = 1 / 0, Gl = null, $l = !1,
ql = null, Wl = null, Hl = !1, Kl = null, Yl = 0, Ql = 0, Zl = null, Xl = -1, Jl = 0;
function ec() {
return 0 !== (6 & Ol) ? Ze() : -1 !== Xl ? Xl : Xl = Ze()
}
function tc(e) {
return 0 === (1 & e.mode) ? 1 : 0 !== (2 & Ol) && 0 !== Tl ? Tl & -Tl : null !== mi.transition ? (0 === Jl && (Jl = mt()), Jl) : 0 !== (e = yt) ? e : e = void 0 === (e = window.event) ? 16 : Qt(e.type)
}
function nc(e, t, n, r) {
if (50 < Ql) throw Ql = 0, Zl = null, Error(i(185));
vt(e, n, r), 0 !== (2 & Ol) && e === Pl || (e === Pl && (0 === (2 & Ol) && (Ml |= n), 4 === Ll && sc(e, Tl)), rc(e, r), 1 === n && 0 === Ol && 0 === (1 & t.mode) && (Bl = Ze() + 500, za && Ba()))
}
function rc(e, t) {
var n = e.callbackNode;
!function (e, t) {
for (var n = e.suspendedLanes, r = e.pingedLanes, a = e.expirationTimes, i = e.pendingLanes; 0 < i;) {
var o = 31 - ot(i), s = 1 << o, l = a[o];
-1 === l ? 0 !== (s & n) && 0 === (s & r) || (a[o] = ht(s, t)) : l <= t && (e.expiredLanes |= s), i &= ~s
}
}(e, t);
var r = pt(e, e === Pl ? Tl : 0);
if (0 === r) null !== n && Ke(n), e.callbackNode = null, e.callbackPriority = 0; else if (t = r & -r, e.callbackPriority !== t) {
if (null != n && Ke(n), 1 === t) 0 === e.tag ? function (e) {
za = !0, Ua(e)
}(lc.bind(null, e)) : Ua(lc.bind(null, e)), oa((function () {
0 === (6 & Ol) && Ba()
})), n = null; else {
switch (bt(r)) {
case 1:
n = Je;
break;
case 4:
n = et;
break;
case 16:
default:
n = tt;
break;
case 536870912:
n = rt
}
n = Pc(n, ac.bind(null, e))
}
e.callbackPriority = t, e.callbackNode = n
}
}
function ac(e, t) {
if (Xl = -1, Jl = 0, 0 !== (6 & Ol)) throw Error(i(327));
var n = e.callbackNode;
if (wc() && e.callbackNode !== n) return null;
var r = pt(e, e === Pl ? Tl : 0);
if (0 === r) return null;
if (0 !== (30 & r) || 0 !== (r & e.expiredLanes) || t) t = gc(e, r); else {
t = r;
var a = Ol;
Ol |= 2;
var o = fc();
for (Pl === e && Tl === t || (Gl = null, Bl = Ze() + 500, pc(e, t)); ;) try {
_c();
break
} catch (l) {
hc(e, l)
}
xi(), El.current = o, Ol = a, null !== Al ? t = 0 : (Pl = null, Tl = 0, t = Ll)
}
if (0 !== t) {
if (2 === t && (0 !== (a = ft(e)) && (r = a, t = ic(e, a))), 1 === t) throw n = jl, pc(e, 0), sc(e, r), rc(e, Ze()), n;
if (6 === t) sc(e, r); else {
if (a = e.current.alternate, 0 === (30 & r) && !function (e) {
for (var t = e; ;) {
if (16384 & t.flags) {
var n = t.updateQueue;
if (null !== n && null !== (n = n.stores)) for (var r = 0; r < n.length; r++) {
var a = n[r], i = a.getSnapshot;
a = a.value;
try {
if (!sr(i(), a)) return !1
} catch (s) {
return !1
}
}
}
if (n = t.child, 16384 & t.subtreeFlags && null !== n) n.return = t, t = n; else {
if (t === e) break;
for (; null === t.sibling;) {
if (null === t.return || t.return === e) return !0;
t = t.return
}
t.sibling.return = t.return, t = t.sibling
}
}
return !0
}(a) && (2 === (t = gc(e, r)) && (0 !== (o = ft(e)) && (r = o, t = ic(e, o))), 1 === t)) throw n = jl, pc(e, 0), sc(e, r), rc(e, Ze()), n;
switch (e.finishedWork = a, e.finishedLanes = r, t) {
case 0:
case 1:
throw Error(i(345));
case 2:
case 5:
xc(e, Vl, Gl);
break;
case 3:
if (sc(e, r), (130023424 & r) === r && 10 < (t = Ul + 500 - Ze())) {
if (0 !== pt(e, 0)) break;
if (((a = e.suspendedLanes) & r) !== r) {
ec(), e.pingedLanes |= e.suspendedLanes & a;
break
}
e.timeoutHandle = ra(xc.bind(null, e, Vl, Gl), t);
break
}
xc(e, Vl, Gl);
break;
case 4:
if (sc(e, r), (4194240 & r) === r) break;
for (t = e.eventTimes, a = -1; 0 < r;) {
var s = 31 - ot(r);
o = 1 << s, (s = t[s]) > a && (a = s), r &= ~o
}
if (r = a, 10 < (r = (120 > (r = Ze() - r) ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Sl(r / 1960)) - r)) {
e.timeoutHandle = ra(xc.bind(null, e, Vl, Gl), r);
break
}
xc(e, Vl, Gl);
break;
default:
throw Error(i(329))
}
}
}
return rc(e, Ze()), e.callbackNode === n ? ac.bind(null, e) : null
}
function ic(e, t) {
var n = zl;
return e.current.memoizedState.isDehydrated && (pc(e, t).flags |= 256), 2 !== (e = gc(e, t)) && (t = Vl, Vl = n, null !== t && oc(t)), e
}
function oc(e) {
null === Vl ? Vl = e : Vl.push.apply(Vl, e)
}
function sc(e, t) {
for (t &= ~Fl, t &= ~Ml, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t;) {
var n = 31 - ot(t), r = 1 << n;
e[n] = -1, t &= ~r
}
}
function lc(e) {
if (0 !== (6 & Ol)) throw Error(i(327));
wc();
var t = pt(e, 0);
if (0 === (1 & t)) return rc(e, Ze()), null;
var n = gc(e, t);
if (0 !== e.tag && 2 === n) {
var r = ft(e);
0 !== r && (t = r, n = ic(e, r))
}
if (1 === n) throw n = jl, pc(e, 0), sc(e, t), rc(e, Ze()), n;
if (6 === n) throw Error(i(345));
return e.finishedWork = e.current.alternate, e.finishedLanes = t, xc(e, Vl, Gl), rc(e, Ze()), null
}
function cc(e, t) {
var n = Ol;
Ol |= 1;
try {
return e(t)
} finally {
0 === (Ol = n) && (Bl = Ze() + 500, za && Ba())
}
}
function uc(e) {
null !== Kl && 0 === Kl.tag && 0 === (6 & Ol) && wc();
var t = Ol;
Ol |= 1;
var n = Cl.transition, r = yt;
try {
if (Cl.transition = null, yt = 1, e) return e()
} finally {
yt = r, Cl.transition = n, 0 === (6 & (Ol = t)) && Ba()
}
}
function dc() {
Dl = Rl.current, Ea(Rl)
}
function pc(e, t) {
e.finishedWork = null, e.finishedLanes = 0;
var n = e.timeoutHandle;
if (-1 !== n && (e.timeoutHandle = -1, aa(n)), null !== Al) for (n = Al.return; null !== n;) {
var r = n;
switch (ti(r), r.tag) {
case 1:
null !== (r = r.type.childContextTypes) && void 0 !== r && Ra();
break;
case 3:
ao(), Ea(Pa), Ea(Oa), uo();
break;
case 5:
oo(r);
break;
case 4:
ao();
break;
case 13:
case 19:
Ea(so);
break;
case 10:
wi(r.type._context);
break;
case 22:
case 23:
dc()
}
n = n.return
}
if (Pl = e, Al = e = Rc(e.current, null), Tl = Dl = t, Ll = 0, jl = null, Fl = Ml = Nl = 0, Vl = zl = null, null !== Ii) {
for (t = 0; t < Ii.length; t++) if (null !== (r = (n = Ii[t]).interleaved)) {
n.interleaved = null;
var a = r.next, i = n.pending;
if (null !== i) {
var o = i.next;
i.next = a, r.next = o
}
n.pending = r
}
Ii = null
}
return e
}
function hc(e, t) {
for (; ;) {
var n = Al;
try {
if (xi(), po.current = os, _o) {
for (var r = mo.memoizedState; null !== r;) {
var a = r.queue;
null !== a && (a.pending = null), r = r.next
}
_o = !1
}
if (fo = 0, vo = go = mo = null, yo = !1, bo = 0, Il.current = null, null === n || null === n.return) {
Ll = 1, jl = t, Al = null;
break
}
e:{
var o = e, s = n.return, l = n, c = t;
if (t = Tl, l.flags |= 32768, null !== c && "object" === typeof c && "function" === typeof c.then) {
var u = c, d = l, p = d.tag;
if (0 === (1 & d.mode) && (0 === p || 11 === p || 15 === p)) {
var h = d.alternate;
h ? (d.updateQueue = h.updateQueue, d.memoizedState = h.memoizedState, d.lanes = h.lanes) : (d.updateQueue = null, d.memoizedState = null)
}
var f = vs(s);
if (null !== f) {
f.flags &= -257, _s(f, s, l, 0, t), 1 & f.mode && gs(o, u, t), c = u;
var m = (t = f).updateQueue;
if (null === m) {
var g = new Set;
g.add(c), t.updateQueue = g
} else m.add(c);
break e
}
if (0 === (1 & t)) {
gs(o, u, t), mc();
break e
}
c = Error(i(426))
} else if (ai && 1 & l.mode) {
var v = vs(s);
if (null !== v) {
0 === (65536 & v.flags) && (v.flags |= 256), _s(v, s, l, 0, t), fi(us(c, l));
break e
}
}
o = c = us(c, l), 4 !== Ll && (Ll = 2), null === zl ? zl = [o] : zl.push(o), o = s;
do {
switch (o.tag) {
case 3:
o.flags |= 65536, t &= -t, o.lanes |= t, Ni(o, fs(0, c, t));
break e;
case 1:
l = c;
var _ = o.type, y = o.stateNode;
if (0 === (128 & o.flags) && ("function" === typeof _.getDerivedStateFromError || null !== y && "function" === typeof y.componentDidCatch && (null === Wl || !Wl.has(y)))) {
o.flags |= 65536, t &= -t, o.lanes |= t, Ni(o, ms(o, l, t));
break e
}
}
o = o.return
} while (null !== o)
}
bc(n)
} catch (b) {
t = b, Al === n && null !== n && (Al = n = n.return);
continue
}
break
}
}
function fc() {
var e = El.current;
return El.current = os, null === e ? os : e
}
function mc() {
0 !== Ll && 3 !== Ll && 2 !== Ll || (Ll = 4), null === Pl || 0 === (268435455 & Nl) && 0 === (268435455 & Ml) || sc(Pl, Tl)
}
function gc(e, t) {
var n = Ol;
Ol |= 2;
var r = fc();
for (Pl === e && Tl === t || (Gl = null, pc(e, t)); ;) try {
vc();
break
} catch (a) {
hc(e, a)
}
if (xi(), Ol = n, El.current = r, null !== Al) throw Error(i(261));
return Pl = null, Tl = 0, Ll
}
function vc() {
for (; null !== Al;) yc(Al)
}
function _c() {
for (; null !== Al && !Ye();) yc(Al)
}
function yc(e) {
var t = kl(e.alternate, e, Dl);
e.memoizedProps = e.pendingProps, null === t ? bc(e) : Al = t, Il.current = null
}
function bc(e) {
var t = e;
do {
var n = t.alternate;
if (e = t.return, 0 === (32768 & t.flags)) {
if (null !== (n = Hs(n, t, Dl))) return void (Al = n)
} else {
if (null !== (n = Ks(n, t))) return n.flags &= 32767, void (Al = n);
if (null === e) return Ll = 6, void (Al = null);
e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null
}
if (null !== (t = t.sibling)) return void (Al = t);
Al = t = e
} while (null !== t);
0 === Ll && (Ll = 5)
}
function xc(e, t, n) {
var r = yt, a = Cl.transition;
try {
Cl.transition = null, yt = 1, function (e, t, n, r) {
do {
wc()
} while (null !== Kl);
if (0 !== (6 & Ol)) throw Error(i(327));
n = e.finishedWork;
var a = e.finishedLanes;
if (null === n) return null;
if (e.finishedWork = null, e.finishedLanes = 0, n === e.current) throw Error(i(177));
e.callbackNode = null, e.callbackPriority = 0;
var o = n.lanes | n.childLanes;
if (function (e, t) {
var n = e.pendingLanes & ~t;
e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
var r = e.eventTimes;
for (e = e.expirationTimes; 0 < n;) {
var a = 31 - ot(n), i = 1 << a;
t[a] = 0, r[a] = -1, e[a] = -1, n &= ~i
}
}(e, o), e === Pl && (Al = Pl = null, Tl = 0), 0 === (2064 & n.subtreeFlags) && 0 === (2064 & n.flags) || Hl || (Hl = !0, Pc(tt, (function () {
return wc(), null
}))), o = 0 !== (15990 & n.flags), 0 !== (15990 & n.subtreeFlags) || o) {
o = Cl.transition, Cl.transition = null;
var s = yt;
yt = 1;
var l = Ol;
Ol |= 4, Il.current = null, function (e, t) {
if (ea = $t, hr(e = pr())) {
if ("selectionStart" in e) var n = {
start: e.selectionStart,
end: e.selectionEnd
}; else e:{
var r = (n = (n = e.ownerDocument) && n.defaultView || window).getSelection && n.getSelection();
if (r && 0 !== r.rangeCount) {
n = r.anchorNode;
var a = r.anchorOffset, o = r.focusNode;
r = r.focusOffset;
try {
n.nodeType, o.nodeType
} catch (x) {
n = null;
break e
}
var s = 0, l = -1, c = -1, u = 0, d = 0, p = e, h = null;
t:for (; ;) {
for (var f; p !== n || 0 !== a && 3 !== p.nodeType || (l = s + a), p !== o || 0 !== r && 3 !== p.nodeType || (c = s + r), 3 === p.nodeType && (s += p.nodeValue.length), null !== (f = p.firstChild);) h = p, p = f;
for (; ;) {
if (p === e) break t;
if (h === n && ++u === a && (l = s), h === o && ++d === r && (c = s), null !== (f = p.nextSibling)) break;
h = (p = h).parentNode
}
p = f
}
n = -1 === l || -1 === c ? null : {start: l, end: c}
} else n = null
}
n = n || {start: 0, end: 0}
} else n = null;
for (ta = {
focusedElem: e,
selectionRange: n
}, $t = !1, Xs = t; null !== Xs;) if (e = (t = Xs).child, 0 !== (1028 & t.subtreeFlags) && null !== e) e.return = t, Xs = e; else for (; null !== Xs;) {
t = Xs;
try {
var m = t.alternate;
if (0 !== (1024 & t.flags)) switch (t.tag) {
case 0:
case 11:
case 15:
case 5:
case 6:
case 4:
case 17:
break;
case 1:
if (null !== m) {
var g = m.memoizedProps, v = m.memoizedState, _ = t.stateNode,
y = _.getSnapshotBeforeUpdate(t.elementType === t.type ? g : gi(t.type, g), v);
_.__reactInternalSnapshotBeforeUpdate = y
}
break;
case 3:
var b = t.stateNode.containerInfo;
1 === b.nodeType ? b.textContent = "" : 9 === b.nodeType && b.documentElement && b.removeChild(b.documentElement);
break;
default:
throw Error(i(163))
}
} catch (x) {
Sc(t, t.return, x)
}
if (null !== (e = t.sibling)) {
e.return = t.return, Xs = e;
break
}
Xs = t.return
}
m = tl, tl = !1
}(e, n), gl(n, e), fr(ta), $t = !!ea, ta = ea = null, e.current = n, _l(n, e, a), Qe(), Ol = l, yt = s, Cl.transition = o
} else e.current = n;
if (Hl && (Hl = !1, Kl = e, Yl = a), o = e.pendingLanes, 0 === o && (Wl = null), function (e) {
if (it && "function" === typeof it.onCommitFiberRoot) try {
it.onCommitFiberRoot(at, e, void 0, 128 === (128 & e.current.flags))
} catch (t) {
}
}(n.stateNode), rc(e, Ze()), null !== t) for (r = e.onRecoverableError, n = 0; n < t.length; n++) a = t[n], r(a.value, {
componentStack: a.stack,
digest: a.digest
});
if ($l) throw $l = !1, e = ql, ql = null, e;
0 !== (1 & Yl) && 0 !== e.tag && wc(), o = e.pendingLanes, 0 !== (1 & o) ? e === Zl ? Ql++ : (Ql = 0, Zl = e) : Ql = 0, Ba()
}(e, t, n, r)
} finally {
Cl.transition = a, yt = r
}
return null
}
function wc() {
if (null !== Kl) {
var e = bt(Yl), t = Cl.transition, n = yt;
try {
if (Cl.transition = null, yt = 16 > e ? 16 : e, null === Kl) var r = !1; else {
if (e = Kl, Kl = null, Yl = 0, 0 !== (6 & Ol)) throw Error(i(331));
var a = Ol;
for (Ol |= 4, Xs = e.current; null !== Xs;) {
var o = Xs, s = o.child;
if (0 !== (16 & Xs.flags)) {
var l = o.deletions;
if (null !== l) {
for (var c = 0; c < l.length; c++) {
var u = l[c];
for (Xs = u; null !== Xs;) {
var d = Xs;
switch (d.tag) {
case 0:
case 11:
case 15:
nl(8, d, o)
}
var p = d.child;
if (null !== p) p.return = d, Xs = p; else for (; null !== Xs;) {
var h = (d = Xs).sibling, f = d.return;
if (il(d), d === u) {
Xs = null;
break
}
if (null !== h) {
h.return = f, Xs = h;
break
}
Xs = f
}
}
}
var m = o.alternate;
if (null !== m) {
var g = m.child;
if (null !== g) {
m.child = null;
do {
var v = g.sibling;
g.sibling = null, g = v
} while (null !== g)
}
}
Xs = o
}
}
if (0 !== (2064 & o.subtreeFlags) && null !== s) s.return = o, Xs = s; else e:for (; null !== Xs;) {
if (0 !== (2048 & (o = Xs).flags)) switch (o.tag) {
case 0:
case 11:
case 15:
nl(9, o, o.return)
}
var _ = o.sibling;
if (null !== _) {
_.return = o.return, Xs = _;
break e
}
Xs = o.return
}
}
var y = e.current;
for (Xs = y; null !== Xs;) {
var b = (s = Xs).child;
if (0 !== (2064 & s.subtreeFlags) && null !== b) b.return = s, Xs = b; else e:for (s = y; null !== Xs;) {
if (0 !== (2048 & (l = Xs).flags)) try {
switch (l.tag) {
case 0:
case 11:
case 15:
rl(9, l)
}
} catch (w) {
Sc(l, l.return, w)
}
if (l === s) {
Xs = null;
break e
}
var x = l.sibling;
if (null !== x) {
x.return = l.return, Xs = x;
break e
}
Xs = l.return
}
}
if (Ol = a, Ba(), it && "function" === typeof it.onPostCommitFiberRoot) try {
it.onPostCommitFiberRoot(at, e)
} catch (w) {
}
r = !0
}
return r
} finally {
yt = n, Cl.transition = t
}
}
return !1
}
function kc(e, t, n) {
e = Li(e, t = fs(0, t = us(n, t), 1), 1), t = ec(), null !== e && (vt(e, 1, t), rc(e, t))
}
function Sc(e, t, n) {
if (3 === e.tag) kc(e, e, n); else for (; null !== t;) {
if (3 === t.tag) {
kc(t, e, n);
break
}
if (1 === t.tag) {
var r = t.stateNode;
if ("function" === typeof t.type.getDerivedStateFromError || "function" === typeof r.componentDidCatch && (null === Wl || !Wl.has(r))) {
t = Li(t, e = ms(t, e = us(n, e), 1), 1), e = ec(), null !== t && (vt(t, 1, e), rc(t, e));
break
}
}
t = t.return
}
}
function Ec(e, t, n) {
var r = e.pingCache;
null !== r && r.delete(t), t = ec(), e.pingedLanes |= e.suspendedLanes & n, Pl === e && (Tl & n) === n && (4 === Ll || 3 === Ll && (130023424 & Tl) === Tl && 500 > Ze() - Ul ? pc(e, 0) : Fl |= n), rc(e, t)
}
function Ic(e, t) {
0 === t && (0 === (1 & e.mode) ? t = 1 : (t = ut, 0 === (130023424 & (ut <<= 1)) && (ut = 4194304)));
var n = ec();
null !== (e = Pi(e, t)) && (vt(e, t, n), rc(e, n))
}
function Cc(e) {
var t = e.memoizedState, n = 0;
null !== t && (n = t.retryLane), Ic(e, n)
}
function Oc(e, t) {
var n = 0;
switch (e.tag) {
case 13:
var r = e.stateNode, a = e.memoizedState;
null !== a && (n = a.retryLane);
break;
case 19:
r = e.stateNode;
break;
default:
throw Error(i(314))
}
null !== r && r.delete(t), Ic(e, n)
}
function Pc(e, t) {
return He(e, t)
}
function Ac(e, t, n, r) {
this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null
}
function Tc(e, t, n, r) {
return new Ac(e, t, n, r)
}
function Dc(e) {
return !(!(e = e.prototype) || !e.isReactComponent)
}
function Rc(e, t) {
var n = e.alternate;
return null === n ? ((n = Tc(e.tag, t, e.key, e.mode)).elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.subtreeFlags = 0, n.deletions = null), n.flags = 14680064 & e.flags, n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = null === t ? null : {
lanes: t.lanes,
firstContext: t.firstContext
}, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n
}
function Lc(e, t, n, r, a, o) {
var s = 2;
if (r = e, "function" === typeof e) Dc(e) && (s = 1); else if ("string" === typeof e) s = 5; else e:switch (e) {
case k:
return jc(n.children, a, o, t);
case S:
s = 8, a |= 8;
break;
case E:
return (e = Tc(12, n, t, 2 | a)).elementType = E, e.lanes = o, e;
case P:
return (e = Tc(13, n, t, a)).elementType = P, e.lanes = o, e;
case A:
return (e = Tc(19, n, t, a)).elementType = A, e.lanes = o, e;
case R:
return Nc(n, a, o, t);
default:
if ("object" === typeof e && null !== e) switch (e.$$typeof) {
case I:
s = 10;
break e;
case C:
s = 9;
break e;
case O:
s = 11;
break e;
case T:
s = 14;
break e;
case D:
s = 16, r = null;
break e
}
throw Error(i(130, null == e ? e : typeof e, ""))
}
return (t = Tc(s, n, t, a)).elementType = e, t.type = r, t.lanes = o, t
}
function jc(e, t, n, r) {
return (e = Tc(7, e, r, t)).lanes = n, e
}
function Nc(e, t, n, r) {
return (e = Tc(22, e, r, t)).elementType = R, e.lanes = n, e.stateNode = {isHidden: !1}, e
}
function Mc(e, t, n) {
return (e = Tc(6, e, null, t)).lanes = n, e
}
function Fc(e, t, n) {
return (t = Tc(4, null !== e.children ? e.children : [], e.key, t)).lanes = n, t.stateNode = {
containerInfo: e.containerInfo,
pendingChildren: null,
implementation: e.implementation
}, t
}
function zc(e, t, n, r, a) {
this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = gt(0), this.expirationTimes = gt(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = gt(0), this.identifierPrefix = r, this.onRecoverableError = a, this.mutableSourceEagerHydrationData = null
}
function Vc(e, t, n, r, a, i, o, s, l) {
return e = new zc(e, t, n, s, l), 1 === t ? (t = 1, !0 === i && (t |= 8)) : t = 0, i = Tc(3, null, null, t), e.current = i, i.stateNode = e, i.memoizedState = {
element: r,
isDehydrated: n,
cache: null,
transitions: null,
pendingSuspenseBoundaries: null
}, Ti(i), e
}
function Uc(e, t, n) {
var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
return {$$typeof: w, key: null == r ? null : "" + r, children: e, containerInfo: t, implementation: n}
}
function Bc(e) {
if (!e) return Ca;
e:{
if (Be(e = e._reactInternals) !== e || 1 !== e.tag) throw Error(i(170));
var t = e;
do {
switch (t.tag) {
case 3:
t = t.stateNode.context;
break e;
case 1:
if (Da(t.type)) {
t = t.stateNode.__reactInternalMemoizedMergedChildContext;
break e
}
}
t = t.return
} while (null !== t);
throw Error(i(171))
}
if (1 === e.tag) {
var n = e.type;
if (Da(n)) return ja(e, n, t)
}
return t
}
function Gc(e, t, n, r, a, i, o, s, l) {
return (e = Vc(n, r, !0, e, 0, i, 0, s, l)).context = Bc(null), n = e.current, (i = Ri(r = ec(), a = tc(n))).callback = void 0 !== t && null !== t ? t : null, Li(n, i, a), e.current.lanes = a, vt(e, a, r), rc(e, r), e
}
function $c(e, t, n, r) {
var a = t.current, i = ec(), o = tc(a);
return n = Bc(n), null === t.context ? t.context = n : t.pendingContext = n, (t = Ri(i, o)).payload = {element: e}, null !== (r = void 0 === r ? null : r) && (t.callback = r), null !== (e = Li(a, t, o)) && (nc(e, a, o, i), ji(e, a, o)), o
}
function qc(e) {
return (e = e.current).child ? (e.child.tag, e.child.stateNode) : null
}
function Wc(e, t) {
if (null !== (e = e.memoizedState) && null !== e.dehydrated) {
var n = e.retryLane;
e.retryLane = 0 !== n && n < t ? n : t
}
}
function Hc(e, t) {
Wc(e, t), (e = e.alternate) && Wc(e, t)
}
kl = function (e, t, n) {
if (null !== e) if (e.memoizedProps !== t.pendingProps || Pa.current) bs = !0; else {
if (0 === (e.lanes & n) && 0 === (128 & t.flags)) return bs = !1, function (e, t, n) {
switch (t.tag) {
case 3:
As(t), hi();
break;
case 5:
io(t);
break;
case 1:
Da(t.type) && Na(t);
break;
case 4:
ro(t, t.stateNode.containerInfo);
break;
case 10:
var r = t.type._context, a = t.memoizedProps.value;
Ia(vi, r._currentValue), r._currentValue = a;
break;
case 13:
if (null !== (r = t.memoizedState)) return null !== r.dehydrated ? (Ia(so, 1 & so.current), t.flags |= 128, null) : 0 !== (n & t.child.childLanes) ? Ms(e, t, n) : (Ia(so, 1 & so.current), null !== (e = $s(e, t, n)) ? e.sibling : null);
Ia(so, 1 & so.current);
break;
case 19:
if (r = 0 !== (n & t.childLanes), 0 !== (128 & e.flags)) {
if (r) return Bs(e, t, n);
t.flags |= 128
}
if (null !== (a = t.memoizedState) && (a.rendering = null, a.tail = null, a.lastEffect = null), Ia(so, so.current), r) break;
return null;
case 22:
case 23:
return t.lanes = 0, Es(e, t, n)
}
return $s(e, t, n)
}(e, t, n);
bs = 0 !== (131072 & e.flags)
} else bs = !1, ai && 0 !== (1048576 & t.flags) && Ja(t, Wa, t.index);
switch (t.lanes = 0, t.tag) {
case 2:
var r = t.type;
Gs(e, t), e = t.pendingProps;
var a = Ta(t, Oa.current);
Si(t, n), a = So(null, t, r, e, a, n);
var o = Eo();
return t.flags |= 1, "object" === typeof a && null !== a && "function" === typeof a.render && void 0 === a.$$typeof ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, Da(r) ? (o = !0, Na(t)) : o = !1, t.memoizedState = null !== a.state && void 0 !== a.state ? a.state : null, Ti(t), a.updater = Ui, t.stateNode = a, a._reactInternals = t, qi(t, r, e, n), t = Ps(null, t, r, !0, o, n)) : (t.tag = 0, ai && o && ei(t), xs(null, t, a, n), t = t.child), t;
case 16:
r = t.elementType;
e:{
switch (Gs(e, t), e = t.pendingProps, r = (a = r._init)(r._payload), t.type = r, a = t.tag = function (e) {
if ("function" === typeof e) return Dc(e) ? 1 : 0;
if (void 0 !== e && null !== e) {
if ((e = e.$$typeof) === O) return 11;
if (e === T) return 14
}
return 2
}(r), e = gi(r, e), a) {
case 0:
t = Cs(null, t, r, e, n);
break e;
case 1:
t = Os(null, t, r, e, n);
break e;
case 11:
t = ws(null, t, r, e, n);
break e;
case 14:
t = ks(null, t, r, gi(r.type, e), n);
break e
}
throw Error(i(306, r, ""))
}
return t;
case 0:
return r = t.type, a = t.pendingProps, Cs(e, t, r, a = t.elementType === r ? a : gi(r, a), n);
case 1:
return r = t.type, a = t.pendingProps, Os(e, t, r, a = t.elementType === r ? a : gi(r, a), n);
case 3:
e:{
if (As(t), null === e) throw Error(i(387));
r = t.pendingProps, a = (o = t.memoizedState).element, Di(e, t), Mi(t, r, null, n);
var s = t.memoizedState;
if (r = s.element, o.isDehydrated) {
if (o = {
element: r,
isDehydrated: !1,
cache: s.cache,
pendingSuspenseBoundaries: s.pendingSuspenseBoundaries,
transitions: s.transitions
}, t.updateQueue.baseState = o, t.memoizedState = o, 256 & t.flags) {
t = Ts(e, t, r, n, a = us(Error(i(423)), t));
break e
}
if (r !== a) {
t = Ts(e, t, r, n, a = us(Error(i(424)), t));
break e
}
for (ri = ca(t.stateNode.containerInfo.firstChild), ni = t, ai = !0, ii = null, n = Zi(t, null, r, n), t.child = n; n;) n.flags = -3 & n.flags | 4096, n = n.sibling
} else {
if (hi(), r === a) {
t = $s(e, t, n);
break e
}
xs(e, t, r, n)
}
t = t.child
}
return t;
case 5:
return io(t), null === e && ci(t), r = t.type, a = t.pendingProps, o = null !== e ? e.memoizedProps : null, s = a.children, na(r, a) ? s = null : null !== o && na(r, o) && (t.flags |= 32), Is(e, t), xs(e, t, s, n), t.child;
case 6:
return null === e && ci(t), null;
case 13:
return Ms(e, t, n);
case 4:
return ro(t, t.stateNode.containerInfo), r = t.pendingProps, null === e ? t.child = Qi(t, null, r, n) : xs(e, t, r, n), t.child;
case 11:
return r = t.type, a = t.pendingProps, ws(e, t, r, a = t.elementType === r ? a : gi(r, a), n);
case 7:
return xs(e, t, t.pendingProps, n), t.child;
case 8:
case 12:
return xs(e, t, t.pendingProps.children, n), t.child;
case 10:
e:{
if (r = t.type._context, a = t.pendingProps, o = t.memoizedProps, s = a.value, Ia(vi, r._currentValue), r._currentValue = s, null !== o) if (sr(o.value, s)) {
if (o.children === a.children && !Pa.current) {
t = $s(e, t, n);
break e
}
} else for (null !== (o = t.child) && (o.return = t); null !== o;) {
var l = o.dependencies;
if (null !== l) {
s = o.child;
for (var c = l.firstContext; null !== c;) {
if (c.context === r) {
if (1 === o.tag) {
(c = Ri(-1, n & -n)).tag = 2;
var u = o.updateQueue;
if (null !== u) {
var d = (u = u.shared).pending;
null === d ? c.next = c : (c.next = d.next, d.next = c), u.pending = c
}
}
o.lanes |= n, null !== (c = o.alternate) && (c.lanes |= n), ki(o.return, n, t), l.lanes |= n;
break
}
c = c.next
}
} else if (10 === o.tag) s = o.type === t.type ? null : o.child; else if (18 === o.tag) {
if (null === (s = o.return)) throw Error(i(341));
s.lanes |= n, null !== (l = s.alternate) && (l.lanes |= n), ki(s, n, t), s = o.sibling
} else s = o.child;
if (null !== s) s.return = o; else for (s = o; null !== s;) {
if (s === t) {
s = null;
break
}
if (null !== (o = s.sibling)) {
o.return = s.return, s = o;
break
}
s = s.return
}
o = s
}
xs(e, t, a.children, n), t = t.child
}
return t;
case 9:
return a = t.type, r = t.pendingProps.children, Si(t, n), r = r(a = Ei(a)), t.flags |= 1, xs(e, t, r, n), t.child;
case 14:
return a = gi(r = t.type, t.pendingProps), ks(e, t, r, a = gi(r.type, a), n);
case 15:
return Ss(e, t, t.type, t.pendingProps, n);
case 17:
return r = t.type, a = t.pendingProps, a = t.elementType === r ? a : gi(r, a), Gs(e, t), t.tag = 1, Da(r) ? (e = !0, Na(t)) : e = !1, Si(t, n), Gi(t, r, a), qi(t, r, a, n), Ps(null, t, r, !0, e, n);
case 19:
return Bs(e, t, n);
case 22:
return Es(e, t, n)
}
throw Error(i(156, t.tag))
};
var Kc = "function" === typeof reportError ? reportError : function (e) {
console.error(e)
};
function Yc(e) {
this._internalRoot = e
}
function Qc(e) {
this._internalRoot = e
}
function Zc(e) {
return !(!e || 1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType)
}
function Xc(e) {
return !(!e || 1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType && (8 !== e.nodeType || " react-mount-point-unstable " !== e.nodeValue))
}
function Jc() {
}
function eu(e, t, n, r, a) {
var i = n._reactRootContainer;
if (i) {
var o = i;
if ("function" === typeof a) {
var s = a;
a = function () {
var e = qc(o);
s.call(e)
}
}
$c(t, o, e, a)
} else o = function (e, t, n, r, a) {
if (a) {
if ("function" === typeof r) {
var i = r;
r = function () {
var e = qc(o);
i.call(e)
}
}
var o = Gc(t, r, e, 0, null, !1, 0, "", Jc);
return e._reactRootContainer = o, e[fa] = o.current, Br(8 === e.nodeType ? e.parentNode : e), uc(), o
}
for (; a = e.lastChild;) e.removeChild(a);
if ("function" === typeof r) {
var s = r;
r = function () {
var e = qc(l);
s.call(e)
}
}
var l = Vc(e, 0, !1, null, 0, !1, 0, "", Jc);
return e._reactRootContainer = l, e[fa] = l.current, Br(8 === e.nodeType ? e.parentNode : e), uc((function () {
$c(t, l, n, r)
})), l
}(n, t, e, a, r);
return qc(o)
}
Qc.prototype.render = Yc.prototype.render = function (e) {
var t = this._internalRoot;
if (null === t) throw Error(i(409));
$c(e, t, null, null)
}, Qc.prototype.unmount = Yc.prototype.unmount = function () {
var e = this._internalRoot;
if (null !== e) {
this._internalRoot = null;
var t = e.containerInfo;
uc((function () {
$c(null, e, null, null)
})), t[fa] = null
}
}, Qc.prototype.unstable_scheduleHydration = function (e) {
if (e) {
var t = St();
e = {blockedOn: null, target: e, priority: t};
for (var n = 0; n < Rt.length && 0 !== t && t < Rt[n].priority; n++) ;
Rt.splice(n, 0, e), 0 === n && Mt(e)
}
}, xt = function (e) {
switch (e.tag) {
case 3:
var t = e.stateNode;
if (t.current.memoizedState.isDehydrated) {
var n = dt(t.pendingLanes);
0 !== n && (_t(t, 1 | n), rc(t, Ze()), 0 === (6 & Ol) && (Bl = Ze() + 500, Ba()))
}
break;
case 13:
uc((function () {
var t = Pi(e, 1);
if (null !== t) {
var n = ec();
nc(t, e, 1, n)
}
})), Hc(e, 1)
}
}, wt = function (e) {
if (13 === e.tag) {
var t = Pi(e, 134217728);
if (null !== t) nc(t, e, 134217728, ec());
Hc(e, 134217728)
}
}, kt = function (e) {
if (13 === e.tag) {
var t = tc(e), n = Pi(e, t);
if (null !== n) nc(n, e, t, ec());
Hc(e, t)
}
}, St = function () {
return yt
}, Et = function (e, t) {
var n = yt;
try {
return yt = e, t()
} finally {
yt = n
}
}, we = function (e, t, n) {
switch (t) {
case"input":
if (X(e, n), t = n.name, "radio" === n.type && null != t) {
for (n = e; n.parentNode;) n = n.parentNode;
for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {
var r = n[t];
if (r !== e && r.form === e.form) {
var a = xa(r);
if (!a) throw Error(i(90));
H(r), X(r, a)
}
}
}
break;
case"textarea":
ie(e, n);
break;
case"select":
null != (t = n.value) && ne(e, !!n.multiple, t, !1)
}
}, Oe = cc, Pe = uc;
var tu = {usingClientEntryPoint: !1, Events: [ya, ba, xa, Ie, Ce, cc]},
nu = {findFiberByHostInstance: _a, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom"},
ru = {
bundleType: nu.bundleType,
version: nu.version,
rendererPackageName: nu.rendererPackageName,
rendererConfig: nu.rendererConfig,
overrideHookState: null,
overrideHookStateDeletePath: null,
overrideHookStateRenamePath: null,
overrideProps: null,
overridePropsDeletePath: null,
overridePropsRenamePath: null,
setErrorHandler: null,
setSuspenseHandler: null,
scheduleUpdate: null,
currentDispatcherRef: b.ReactCurrentDispatcher,
findHostInstanceByFiber: function (e) {
return null === (e = qe(e)) ? null : e.stateNode
},
findFiberByHostInstance: nu.findFiberByHostInstance || function () {
return null
},
findHostInstancesForRefresh: null,
scheduleRefresh: null,
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.2.0-next-9e3b772b8-20220608"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var au = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (!au.isDisabled && au.supportsFiber) try {
at = au.inject(ru), it = au
} catch (ue) {
}
}
t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = tu, t.createPortal = function (e, t) {
var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
if (!Zc(t)) throw Error(i(200));
return Uc(e, t, null, n)
}, t.createRoot = function (e, t) {
if (!Zc(e)) throw Error(i(299));
var n = !1, r = "", a = Kc;
return null !== t && void 0 !== t && (!0 === t.unstable_strictMode && (n = !0), void 0 !== t.identifierPrefix && (r = t.identifierPrefix), void 0 !== t.onRecoverableError && (a = t.onRecoverableError)), t = Vc(e, 1, !1, null, 0, n, 0, r, a), e[fa] = t.current, Br(8 === e.nodeType ? e.parentNode : e), new Yc(t)
}, t.findDOMNode = function (e) {
if (null == e) return null;
if (1 === e.nodeType) return e;
var t = e._reactInternals;
if (void 0 === t) {
if ("function" === typeof e.render) throw Error(i(188));
throw e = Object.keys(e).join(","), Error(i(268, e))
}
return e = null === (e = qe(t)) ? null : e.stateNode
}, t.flushSync = function (e) {
return uc(e)
}, t.hydrate = function (e, t, n) {
if (!Xc(t)) throw Error(i(200));
return eu(null, e, t, !0, n)
}, t.hydrateRoot = function (e, t, n) {
if (!Zc(e)) throw Error(i(405));
var r = null != n && n.hydratedSources || null, a = !1, o = "", s = Kc;
if (null !== n && void 0 !== n && (!0 === n.unstable_strictMode && (a = !0), void 0 !== n.identifierPrefix && (o = n.identifierPrefix), void 0 !== n.onRecoverableError && (s = n.onRecoverableError)), t = Gc(t, null, e, 1, null != n ? n : null, a, 0, o, s), e[fa] = t.current, Br(e), r) for (e = 0; e < r.length; e++) a = (a = (n = r[e])._getVersion)(n._source), null == t.mutableSourceEagerHydrationData ? t.mutableSourceEagerHydrationData = [n, a] : t.mutableSourceEagerHydrationData.push(n, a);
return new Qc(t)
}, t.render = function (e, t, n) {
if (!Xc(t)) throw Error(i(200));
return eu(null, e, t, !1, n)
}, t.unmountComponentAtNode = function (e) {
if (!Xc(e)) throw Error(i(40));
return !!e._reactRootContainer && (uc((function () {
eu(null, null, e, !1, (function () {
e._reactRootContainer = null, e[fa] = null
}))
})), !0)
}, t.unstable_batchedUpdates = cc, t.unstable_renderSubtreeIntoContainer = function (e, t, n, r) {
if (!Xc(n)) throw Error(i(200));
if (null == e || void 0 === e._reactInternals) throw Error(i(38));
return eu(e, t, n, !1, r)
}, t.version = "18.2.0-next-9e3b772b8-20220608"
}, 95: (e, t, n) => {
"use strict";
var r = n(8508);
t.createRoot = r.createRoot, t.hydrateRoot = r.hydrateRoot
}, 8508: (e, t, n) => {
"use strict";
!function e() {
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try {
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)
} catch (t) {
console.error(t)
}
}(), e.exports = n(1114)
}, 8316: (e, t, n) => {
"use strict";
var r = n(1479), a = Symbol.for("react.element"), i = Symbol.for("react.fragment"),
o = Object.prototype.hasOwnProperty,
s = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
l = {key: !0, ref: !0, __self: !0, __source: !0};
function c(e, t, n) {
var r, i = {}, c = null, u = null;
for (r in void 0 !== n && (c = "" + n), void 0 !== t.key && (c = "" + t.key), void 0 !== t.ref && (u = t.ref), t) o.call(t, r) && !l.hasOwnProperty(r) && (i[r] = t[r]);
if (e && e.defaultProps) for (r in t = e.defaultProps) void 0 === i[r] && (i[r] = t[r]);
return {$$typeof: a, type: e, key: c, ref: u, props: i, _owner: s.current}
}
t.Fragment = i, t.jsx = c, t.jsxs = c
}, 984: (e, t) => {
"use strict";
var n = Symbol.for("react.element"), r = Symbol.for("react.portal"), a = Symbol.for("react.fragment"),
i = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), s = Symbol.for("react.provider"),
l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"),
d = Symbol.for("react.memo"), p = Symbol.for("react.lazy"), h = Symbol.iterator;
var f = {
isMounted: function () {
return !1
}, enqueueForceUpdate: function () {
}, enqueueReplaceState: function () {
}, enqueueSetState: function () {
}
}, m = Object.assign, g = {};
function v(e, t, n) {
this.props = e, this.context = t, this.refs = g, this.updater = n || f
}
function _() {
}
function y(e, t, n) {
this.props = e, this.context = t, this.refs = g, this.updater = n || f
}
v.prototype.isReactComponent = {}, v.prototype.setState = function (e, t) {
if ("object" !== typeof e && "function" !== typeof e && null != e) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
this.updater.enqueueSetState(this, e, t, "setState")
}, v.prototype.forceUpdate = function (e) {
this.updater.enqueueForceUpdate(this, e, "forceUpdate")
}, _.prototype = v.prototype;
var b = y.prototype = new _;
b.constructor = y, m(b, v.prototype), b.isPureReactComponent = !0;
var x = Array.isArray, w = Object.prototype.hasOwnProperty, k = {current: null},
S = {key: !0, ref: !0, __self: !0, __source: !0};
function E(e, t, r) {
var a, i = {}, o = null, s = null;
if (null != t) for (a in void 0 !== t.ref && (s = t.ref), void 0 !== t.key && (o = "" + t.key), t) w.call(t, a) && !S.hasOwnProperty(a) && (i[a] = t[a]);
var l = arguments.length - 2;
if (1 === l) i.children = r; else if (1 < l) {
for (var c = Array(l), u = 0; u < l; u++) c[u] = arguments[u + 2];
i.children = c
}
if (e && e.defaultProps) for (a in l = e.defaultProps) void 0 === i[a] && (i[a] = l[a]);
return {$$typeof: n, type: e, key: o, ref: s, props: i, _owner: k.current}
}
function I(e) {
return "object" === typeof e && null !== e && e.$$typeof === n
}
var C = /\/+/g;
function O(e, t) {
return "object" === typeof e && null !== e && null != e.key ? function (e) {
var t = {"=": "=0", ":": "=2"};
return "$" + e.replace(/[=:]/g, (function (e) {
return t[e]
}))
}("" + e.key) : t.toString(36)
}
function P(e, t, a, i, o) {
var s = typeof e;
"undefined" !== s && "boolean" !== s || (e = null);
var l = !1;
if (null === e) l = !0; else switch (s) {
case"string":
case"number":
l = !0;
break;
case"object":
switch (e.$$typeof) {
case n:
case r:
l = !0
}
}
if (l) return o = o(l = e), e = "" === i ? "." + O(l, 0) : i, x(o) ? (a = "", null != e && (a = e.replace(C, "$&/") + "/"), P(o, t, a, "", (function (e) {
return e
}))) : null != o && (I(o) && (o = function (e, t) {
return {$$typeof: n, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner}
}(o, a + (!o.key || l && l.key === o.key ? "" : ("" + o.key).replace(C, "$&/") + "/") + e)), t.push(o)), 1;
if (l = 0, i = "" === i ? "." : i + ":", x(e)) for (var c = 0; c < e.length; c++) {
var u = i + O(s = e[c], c);
l += P(s, t, a, u, o)
} else if (u = function (e) {
return null === e || "object" !== typeof e ? null : "function" === typeof (e = h && e[h] || e["@@iterator"]) ? e : null
}(e), "function" === typeof u) for (e = u.call(e), c = 0; !(s = e.next()).done;) l += P(s = s.value, t, a, u = i + O(s, c++), o); else if ("object" === s) throw t = String(e), Error("Objects are not valid as a React child (found: " + ("[object Object]" === t ? "object with keys {" + Object.keys(e).join(", ") + "}" : t) + "). If you meant to render a collection of children, use an array instead.");
return l
}
function A(e, t, n) {
if (null == e) return e;
var r = [], a = 0;
return P(e, r, "", "", (function (e) {
return t.call(n, e, a++)
})), r
}
function T(e) {
if (-1 === e._status) {
var t = e._result;
(t = t()).then((function (t) {
0 !== e._status && -1 !== e._status || (e._status = 1, e._result = t)
}), (function (t) {
0 !== e._status && -1 !== e._status || (e._status = 2, e._result = t)
})), -1 === e._status && (e._status = 0, e._result = t)
}
if (1 === e._status) return e._result.default;
throw e._result
}
var D = {current: null}, R = {transition: null},
L = {ReactCurrentDispatcher: D, ReactCurrentBatchConfig: R, ReactCurrentOwner: k};
t.Children = {
map: A, forEach: function (e, t, n) {
A(e, (function () {
t.apply(this, arguments)
}), n)
}, count: function (e) {
var t = 0;
return A(e, (function () {
t++
})), t
}, toArray: function (e) {
return A(e, (function (e) {
return e
})) || []
}, only: function (e) {
if (!I(e)) throw Error("React.Children.only expected to receive a single React element child.");
return e
}
}, t.Component = v, t.Fragment = a, t.Profiler = o, t.PureComponent = y, t.StrictMode = i, t.Suspense = u, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = L, t.cloneElement = function (e, t, r) {
if (null === e || void 0 === e) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + e + ".");
var a = m({}, e.props), i = e.key, o = e.ref, s = e._owner;
if (null != t) {
if (void 0 !== t.ref && (o = t.ref, s = k.current), void 0 !== t.key && (i = "" + t.key), e.type && e.type.defaultProps) var l = e.type.defaultProps;
for (c in t) w.call(t, c) && !S.hasOwnProperty(c) && (a[c] = void 0 === t[c] && void 0 !== l ? l[c] : t[c])
}
var c = arguments.length - 2;
if (1 === c) a.children = r; else if (1 < c) {
l = Array(c);
for (var u = 0; u < c; u++) l[u] = arguments[u + 2];
a.children = l
}
return {$$typeof: n, type: e.type, key: i, ref: o, props: a, _owner: s}
}, t.createContext = function (e) {
return (e = {
$$typeof: l,
_currentValue: e,
_currentValue2: e,
_threadCount: 0,
Provider: null,
Consumer: null,
_defaultValue: null,
_globalName: null
}).Provider = {$$typeof: s, _context: e}, e.Consumer = e
}, t.createElement = E, t.createFactory = function (e) {
var t = E.bind(null, e);
return t.type = e, t
}, t.createRef = function () {
return {current: null}
}, t.forwardRef = function (e) {
return {$$typeof: c, render: e}
}, t.isValidElement = I, t.lazy = function (e) {
return {$$typeof: p, _payload: {_status: -1, _result: e}, _init: T}
}, t.memo = function (e, t) {
return {$$typeof: d, type: e, compare: void 0 === t ? null : t}
}, t.startTransition = function (e) {
var t = R.transition;
R.transition = {};
try {
e()
} finally {
R.transition = t
}
}, t.unstable_act = function () {
throw Error("act(...) is not supported in production builds of React.")
}, t.useCallback = function (e, t) {
return D.current.useCallback(e, t)
}, t.useContext = function (e) {
return D.current.useContext(e)
}, t.useDebugValue = function () {
}, t.useDeferredValue = function (e) {
return D.current.useDeferredValue(e)
}, t.useEffect = function (e, t) {
return D.current.useEffect(e, t)
}, t.useId = function () {
return D.current.useId()
}, t.useImperativeHandle = function (e, t, n) {
return D.current.useImperativeHandle(e, t, n)
}, t.useInsertionEffect = function (e, t) {
return D.current.useInsertionEffect(e, t)
}, t.useLayoutEffect = function (e, t) {
return D.current.useLayoutEffect(e, t)
}, t.useMemo = function (e, t) {
return D.current.useMemo(e, t)
}, t.useReducer = function (e, t, n) {
return D.current.useReducer(e, t, n)
}, t.useRef = function (e) {
return D.current.useRef(e)
}, t.useState = function (e) {
return D.current.useState(e)
}, t.useSyncExternalStore = function (e, t, n) {
return D.current.useSyncExternalStore(e, t, n)
}, t.useTransition = function () {
return D.current.useTransition()
}, t.version = "18.2.0"
}, 1479: (e, t, n) => {
"use strict";
e.exports = n(984)
}, 4499: (e, t, n) => {
"use strict";
e.exports = n(8316)
}, 6854: (e, t) => {
"use strict";
function n(e, t) {
var n = e.length;
e.push(t);
e:for (; 0 < n;) {
var r = n - 1 >>> 1, a = e[r];
if (!(0 < i(a, t))) break e;
e[r] = t, e[n] = a, n = r
}
}
function r(e) {
return 0 === e.length ? null : e[0]
}
function a(e) {
if (0 === e.length) return null;
var t = e[0], n = e.pop();
if (n !== t) {
e[0] = n;
e:for (var r = 0, a = e.length, o = a >>> 1; r < o;) {
var s = 2 * (r + 1) - 1, l = e[s], c = s + 1, u = e[c];
if (0 > i(l, n)) c < a && 0 > i(u, l) ? (e[r] = u, e[c] = n, r = c) : (e[r] = l, e[s] = n, r = s); else {
if (!(c < a && 0 > i(u, n))) break e;
e[r] = u, e[c] = n, r = c
}
}
}
return t
}
function i(e, t) {
var n = e.sortIndex - t.sortIndex;
return 0 !== n ? n : e.id - t.id
}
if ("object" === typeof performance && "function" === typeof performance.now) {
var o = performance;
t.unstable_now = function () {
return o.now()
}
} else {
var s = Date, l = s.now();
t.unstable_now = function () {
return s.now() - l
}
}
var c = [], u = [], d = 1, p = null, h = 3, f = !1, m = !1, g = !1,
v = "function" === typeof setTimeout ? setTimeout : null,
_ = "function" === typeof clearTimeout ? clearTimeout : null,
y = "undefined" !== typeof setImmediate ? setImmediate : null;
function b(e) {
for (var t = r(u); null !== t;) {
if (null === t.callback) a(u); else {
if (!(t.startTime <= e)) break;
a(u), t.sortIndex = t.expirationTime, n(c, t)
}
t = r(u)
}
}
function x(e) {
if (g = !1, b(e), !m) if (null !== r(c)) m = !0, R(w); else {
var t = r(u);
null !== t && L(x, t.startTime - e)
}
}
function w(e, n) {
m = !1, g && (g = !1, _(I), I = -1), f = !0;
var i = h;
try {
for (b(n), p = r(c); null !== p && (!(p.expirationTime > n) || e && !P());) {
var o = p.callback;
if ("function" === typeof o) {
p.callback = null, h = p.priorityLevel;
var s = o(p.expirationTime <= n);
n = t.unstable_now(), "function" === typeof s ? p.callback = s : p === r(c) && a(c), b(n)
} else a(c);
p = r(c)
}
if (null !== p) var l = !0; else {
var d = r(u);
null !== d && L(x, d.startTime - n), l = !1
}
return l
} finally {
p = null, h = i, f = !1
}
}
"undefined" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling);
var k, S = !1, E = null, I = -1, C = 5, O = -1;
function P() {
return !(t.unstable_now() - O < C)
}
function A() {
if (null !== E) {
var e = t.unstable_now();
O = e;
var n = !0;
try {
n = E(!0, e)
} finally {
n ? k() : (S = !1, E = null)
}
} else S = !1
}
if ("function" === typeof y) k = function () {
y(A)
}; else if ("undefined" !== typeof MessageChannel) {
var T = new MessageChannel, D = T.port2;
T.port1.onmessage = A, k = function () {
D.postMessage(null)
}
} else k = function () {
v(A, 0)
};
function R(e) {
E = e, S || (S = !0, k())
}
function L(e, n) {
I = v((function () {
e(t.unstable_now())
}), n)
}
t.unstable_IdlePriority = 5, t.unstable_ImmediatePriority = 1, t.unstable_LowPriority = 4, t.unstable_NormalPriority = 3, t.unstable_Profiling = null, t.unstable_UserBlockingPriority = 2, t.unstable_cancelCallback = function (e) {
e.callback = null
}, t.unstable_continueExecution = function () {
m || f || (m = !0, R(w))
}, t.unstable_forceFrameRate = function (e) {
0 > e || 125 < e ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : C = 0 < e ? Math.floor(1e3 / e) : 5
}, t.unstable_getCurrentPriorityLevel = function () {
return h
}, t.unstable_getFirstCallbackNode = function () {
return r(c)
}, t.unstable_next = function (e) {
switch (h) {
case 1:
case 2:
case 3:
var t = 3;
break;
default:
t = h
}
var n = h;
h = t;
try {
return e()
} finally {
h = n
}
}, t.unstable_pauseExecution = function () {
}, t.unstable_requestPaint = function () {
}, t.unstable_runWithPriority = function (e, t) {
switch (e) {
case 1:
case 2:
case 3:
case 4:
case 5:
break;
default:
e = 3
}
var n = h;
h = e;
try {
return t()
} finally {
h = n
}
}, t.unstable_scheduleCallback = function (e, a, i) {
var o = t.unstable_now();
switch ("object" === typeof i && null !== i ? i = "number" === typeof (i = i.delay) && 0 < i ? o + i : o : i = o, e) {
case 1:
var s = -1;
break;
case 2:
s = 250;
break;
case 5:
s = 1073741823;
break;
case 4:
s = 1e4;
break;
default:
s = 5e3
}
return e = {
id: d++,
callback: a,
priorityLevel: e,
startTime: i,
expirationTime: s = i + s,
sortIndex: -1
}, i > o ? (e.sortIndex = i, n(u, e), null === r(c) && e === r(u) && (g ? (_(I), I = -1) : g = !0, L(x, i - o))) : (e.sortIndex = s, n(c, e), m || f || (m = !0, R(w))), e
}, t.unstable_shouldYield = P, t.unstable_wrapCallback = function (e) {
var t = h;
return function () {
var n = h;
h = t;
try {
return e.apply(this, arguments)
} finally {
h = n
}
}
}
}, 4811: (e, t, n) => {
"use strict";
e.exports = n(6854)
}, 1438: e => {
"use strict";
e.exports = function (e, t) {
if ("string" === typeof e) return o(e);
if ("number" === typeof e) return i(e, t);
return null
}, e.exports.format = i, e.exports.parse = o;
var t = /\B(?=(\d{3})+(?!\d))/g, n = /(?:\.0*|(\.[^0]+)0+)$/,
r = {b: 1, kb: 1024, mb: 1 << 20, gb: 1 << 30, tb: Math.pow(1024, 4), pb: Math.pow(1024, 5)},
a = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
function i(e, a) {
if (!Number.isFinite(e)) return null;
var i = Math.abs(e), o = a && a.thousandsSeparator || "", s = a && a.unitSeparator || "",
l = a && void 0 !== a.decimalPlaces ? a.decimalPlaces : 2, c = Boolean(a && a.fixedDecimals),
u = a && a.unit || "";
u && r[u.toLowerCase()] || (u = i >= r.pb ? "PB" : i >= r.tb ? "TB" : i >= r.gb ? "GB" : i >= r.mb ? "MB" : i >= r.kb ? "KB" : "B");
var d = (e / r[u.toLowerCase()]).toFixed(l);
return c || (d = d.replace(n, "$1")), o && (d = d.split(".").map((function (e, n) {
return 0 === n ? e.replace(t, o) : e
})).join(".")), d + s + u
}
function o(e) {
if ("number" === typeof e && !isNaN(e)) return e;
if ("string" !== typeof e) return null;
var t, n = a.exec(e), i = "b";
return n ? (t = parseFloat(n[1]), i = n[4].toLowerCase()) : (t = parseInt(e, 10), i = "b"), isNaN(t) ? null : Math.floor(r[i] * t)
}
}, 5982: e => {
"use strict";
function t(e) {
if ("string" !== typeof e) throw new TypeError("Path must be a string. Received " + JSON.stringify(e))
}
function n(e, t) {
for (var n, r = "", a = 0, i = -1, o = 0, s = 0; s <= e.length; ++s) {
if (s < e.length) n = e.charCodeAt(s); else {
if (47 === n) break;
n = 47
}
if (47 === n) {
if (i === s - 1 || 1 === o) ; else if (i !== s - 1 && 2 === o) {
if (r.length < 2 || 2 !== a || 46 !== r.charCodeAt(r.length - 1) || 46 !== r.charCodeAt(r.length - 2)) if (r.length > 2) {
var l = r.lastIndexOf("/");
if (l !== r.length - 1) {
-1 === l ? (r = "", a = 0) : a = (r = r.slice(0, l)).length - 1 - r.lastIndexOf("/"), i = s, o = 0;
continue
}
} else if (2 === r.length || 1 === r.length) {
r = "", a = 0, i = s, o = 0;
continue
}
t && (r.length > 0 ? r += "/.." : r = "..", a = 2)
} else r.length > 0 ? r += "/" + e.slice(i + 1, s) : r = e.slice(i + 1, s), a = s - i - 1;
i = s, o = 0
} else 46 === n && -1 !== o ? ++o : o = -1
}
return r
}
var r = {
resolve: function () {
for (var e, r = "", a = !1, i = arguments.length - 1; i >= -1 && !a; i--) {
var o;
i >= 0 ? o = arguments[i] : (void 0 === e && (e = process.cwd()), o = e), t(o), 0 !== o.length && (r = o + "/" + r, a = 47 === o.charCodeAt(0))
}
return r = n(r, !a), a ? r.length > 0 ? "/" + r : "/" : r.length > 0 ? r : "."
}, normalize: function (e) {
if (t(e), 0 === e.length) return ".";
var r = 47 === e.charCodeAt(0), a = 47 === e.charCodeAt(e.length - 1);
return 0 !== (e = n(e, !r)).length || r || (e = "."), e.length > 0 && a && (e += "/"), r ? "/" + e : e
}, isAbsolute: function (e) {
return t(e), e.length > 0 && 47 === e.charCodeAt(0)
}, join: function () {
if (0 === arguments.length) return ".";
for (var e, n = 0; n < arguments.length; ++n) {
var a = arguments[n];
t(a), a.length > 0 && (void 0 === e ? e = a : e += "/" + a)
}
return void 0 === e ? "." : r.normalize(e)
}, relative: function (e, n) {
if (t(e), t(n), e === n) return "";
if ((e = r.resolve(e)) === (n = r.resolve(n))) return "";
for (var a = 1; a < e.length && 47 === e.charCodeAt(a); ++a) ;
for (var i = e.length, o = i - a, s = 1; s < n.length && 47 === n.charCodeAt(s); ++s) ;
for (var l = n.length - s, c = o < l ? o : l, u = -1, d = 0; d <= c; ++d) {
if (d === c) {
if (l > c) {
if (47 === n.charCodeAt(s + d)) return n.slice(s + d + 1);
if (0 === d) return n.slice(s + d)
} else o > c && (47 === e.charCodeAt(a + d) ? u = d : 0 === d && (u = 0));
break
}
var p = e.charCodeAt(a + d);
if (p !== n.charCodeAt(s + d)) break;
47 === p && (u = d)
}
var h = "";
for (d = a + u + 1; d <= i; ++d) d !== i && 47 !== e.charCodeAt(d) || (0 === h.length ? h += ".." : h += "/..");
return h.length > 0 ? h + n.slice(s + u) : (s += u, 47 === n.charCodeAt(s) && ++s, n.slice(s))
}, _makeLong: function (e) {
return e
}, dirname: function (e) {
if (t(e), 0 === e.length) return ".";
for (var n = e.charCodeAt(0), r = 47 === n, a = -1, i = !0, o = e.length - 1; o >= 1; --o) if (47 === (n = e.charCodeAt(o))) {
if (!i) {
a = o;
break
}
} else i = !1;
return -1 === a ? r ? "/" : "." : r && 1 === a ? "//" : e.slice(0, a)
}, basename: function (e, n) {
if (void 0 !== n && "string" !== typeof n) throw new TypeError('"ext" argument must be a string');
t(e);
var r, a = 0, i = -1, o = !0;
if (void 0 !== n && n.length > 0 && n.length <= e.length) {
if (n.length === e.length && n === e) return "";
var s = n.length - 1, l = -1;
for (r = e.length - 1; r >= 0; --r) {
var c = e.charCodeAt(r);
if (47 === c) {
if (!o) {
a = r + 1;
break
}
} else -1 === l && (o = !1, l = r + 1), s >= 0 && (c === n.charCodeAt(s) ? -1 === --s && (i = r) : (s = -1, i = l))
}
return a === i ? i = l : -1 === i && (i = e.length), e.slice(a, i)
}
for (r = e.length - 1; r >= 0; --r) if (47 === e.charCodeAt(r)) {
if (!o) {
a = r + 1;
break
}
} else -1 === i && (o = !1, i = r + 1);
return -1 === i ? "" : e.slice(a, i)
}, extname: function (e) {
t(e);
for (var n = -1, r = 0, a = -1, i = !0, o = 0, s = e.length - 1; s >= 0; --s) {
var l = e.charCodeAt(s);
if (47 !== l) -1 === a && (i = !1, a = s + 1), 46 === l ? -1 === n ? n = s : 1 !== o && (o = 1) : -1 !== n && (o = -1); else if (!i) {
r = s + 1;
break
}
}
return -1 === n || -1 === a || 0 === o || 1 === o && n === a - 1 && n === r + 1 ? "" : e.slice(n, a)
}, format: function (e) {
if (null === e || "object" !== typeof e) throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof e);
return function (e, t) {
var n = t.dir || t.root, r = t.base || (t.name || "") + (t.ext || "");
return n ? n === t.root ? n + r : n + e + r : r
}("/", e)
}, parse: function (e) {
t(e);
var n = {root: "", dir: "", base: "", ext: "", name: ""};
if (0 === e.length) return n;
var r, a = e.charCodeAt(0), i = 47 === a;
i ? (n.root = "/", r = 1) : r = 0;
for (var o = -1, s = 0, l = -1, c = !0, u = e.length - 1, d = 0; u >= r; --u) if (47 !== (a = e.charCodeAt(u))) -1 === l && (c = !1, l = u + 1), 46 === a ? -1 === o ? o = u : 1 !== d && (d = 1) : -1 !== o && (d = -1); else if (!c) {
s = u + 1;
break
}
return -1 === o || -1 === l || 0 === d || 1 === d && o === l - 1 && o === s + 1 ? -1 !== l && (n.base = n.name = 0 === s && i ? e.slice(1, l) : e.slice(s, l)) : (0 === s && i ? (n.name = e.slice(1, o), n.base = e.slice(1, l)) : (n.name = e.slice(s, o), n.base = e.slice(s, l)), n.ext = e.slice(o, l)), s > 0 ? n.dir = e.slice(0, s - 1) : i && (n.dir = "/"), n
}, sep: "/", delimiter: ":", win32: null, posix: null
};
r.posix = r, e.exports = r
}, 7399: e => {
e.exports = {
area: !0,
base: !0,
br: !0,
col: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
link: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
}
}, 4379: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0});
const n = {
env: {
local: {
apiUrl: "https://rsi-platform.local.dev/api/launcher/v3",
rootUrl: "https://rsi-platform.local.dev"
},
reviewapp: {apiUrl: void 0, rootUrl: void 0},
staging: {
apiUrl: "https://staging.cloudimperiumgames.com/api/launcher/v3",
rootUrl: "https://staging.cloudimperiumgames.com"
},
ptu: {
apiUrl: "https://ptu.cloudimperiumgames.com/api/launcher/v3",
rootUrl: "https://ptu.cloudimperiumgames.com"
},
eptu: {
apiUrl: "https://ptu.cloudimperiumgames.com/api/launcher/v3",
rootUrl: "https://ptu.cloudimperiumgames.com"
},
prod: {
apiUrl: "https://robertsspaceindustries.com/api/launcher/v3",
rootUrl: "https://robertsspaceindustries.com"
},
qaheap3: {
apiUrl: "https://qa-heap3.cloudimperiumgames.com/api/launcher/v3",
rootUrl: "https://qa-heap3.cloudimperiumgames.com"
}
},
infoApp: {
appName: "RSI Launcher",
companyName: "Cloud Imperium Games",
defaultLibraryFolder: "Roberts Space Industries",
defaultLibraryPath: "C:\\Program Files\\"
},
sentry: {
minidumpUrl: "https://sentry.cloudimperiumgames.com/api/47/minidump/?sentry_key=6d91dc2ae1b74c9e80ee11bbf507df58",
dsn: "https://6d91dc2ae1b74c9e80ee11bbf507df58@sentry.cloudimperiumgames.com/47"
},
rootUrl: "https://robertsspaceindustries.com",
enlistUrl: "https://robertsspaceindustries.com/enlist",
recoverUrl: "https://robertsspaceindustries.com/connect",
websiteUrl: "https://robertsspaceindustries.com",
issueCouncilUrl: "https://issue-council.robertsspaceindustries.com",
installerErrorKnowledgeDatabaseUrl: "https://support.robertsspaceindustries.com/hc/en-us/articles/22514899089431-Error-2000",
copyPTUAccountSupportUrl: "https://support.robertsspaceindustries.com/hc/en-us/articles/360000668488-Install-the-Star-Citizen-PTU",
spectrumUrl: "https://robertsspaceindustries.com/spectrum/community/SC",
communityHubUrl: "https://robertsspaceindustries.com/community-hub",
supportUrl: "https://support.robertsspaceindustries.com",
statusUrl: "https://status.robertsspaceindustries.com",
welcomeHubUrl: "https://robertsspaceindustries.com/playstarcitizen",
analyticsUrl: "https://launcher2.robertsspaceindustries.com",
playnowUrl: "https://robertsspaceindustries.com/star-citizen/play-now",
patchnotesUrl: "https://robertsspaceindustries.com/patch-notes",
downloadUrl: "https://robertsspaceindustries.com/download",
minimumRequirementsUrl: "https://support.robertsspaceindustries.com/hc/en-us/articles/360042417374-Star-Citizen-Minimum-System-Requirements",
filesSupportUrl: "https://support.robertsspaceindustries.com/hc/en-us/articles/360000065688-Send-In-Game-Files-for-RSI-Support",
assets: {
directory: "./assets",
avatar: {
defaultLocal: "/images/avatar_default.jpg",
defaultUrl: "https://cdn.robertsspaceindustries.com/static/images/account/avatar_default.jpg"
},
sounds: {
open: "/sounds/phazein.wav",
error: "/sounds/website_ui_rejection.wav",
save: "/sounds/website_ui_savesettings.wav"
},
musics: {
bg1: "/musics/SC_PMC_600i_v31_24bit_23LUFS.ogg",
bg2: "/musics/SC_PMC_First Light_23LUFS.ogg",
bg3: "/musics/SC_PMC_Main_Theme_23LUFS.ogg",
bg4: "/musics/SC_PMC_Majesty of Space_23LUFS.ogg",
bg5: "/musics/SC_PMC_Mind Games_23LUFS.ogg"
},
games: [{
id: "SC",
logo: "/logos/sc-game-logo-small.svg",
logoWide: "/logos/sc-game-logo-wide.svg",
logoAnimation: "/logos/sc-logo-animation.json",
bgImage: "/images/sc_bg_fallback.jpg",
bgVideo: "/videos/sc_bg_video.webm"
}, {
id: "SQ42",
logo: "/logos/sq42-game-logo-small.svg",
bgImage: "/images/sc_bg_og_fallback.jpg",
bgVideo: "/videos/sc_bg_og_video.webm"
}]
},
authenticationExpiry: 2592e6,
loginDataRemovalTimeout: 3e5,
appLayoutLoaderWipeTrigger: 2500,
requestPollingInterval: {
library: {base: 6e5, window: 1e4},
gamePageContent: {base: 6e5, window: 1e4},
status: {base: 6e4, window: 1e3}
},
language: {defaultLanguage: {code: SC_TOOLBOX_ENABLED_LOCALIZATION}}
};
t.default = n
}, 2222: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
}, i = this && this.__importDefault || function (e) {
return e && e.__esModule ? e : {default: e}
};
Object.defineProperty(t, "__esModule", {value: !0}), t.configuration = void 0, a(n(375), t), a(n(2335), t);
var o = n(4379);
Object.defineProperty(t, "configuration", {
enumerable: !0, get: function () {
return i(o).default
}
})
}, 5396: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.analytics = void 0, t.analytics = {
ANALYTICS_SEND_EVENT: "analytics@send-event",
ANALYTICS_SEND_EVENT_FAILED: "analytics@send-event-failed",
ANALYTICS_SEND_EVENT_SUCCESSFUL: "analytics@send-event-successful"
}
}, 9316: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(5396), t)
}, 5543: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.autoUpdater = void 0, t.autoUpdater = {
AUTOUPDATER_CHECKING_FOR_UPDATE: "checking-for-update",
AUTOUPDATER_CHECK_NOW: "autoupdater@check-now",
AUTOUPDATER_DOWNLOAD_PROGRESS: "autoupdater@download-progress",
AUTOUPDATER_ERROR: "autoupdater@error",
AUTOUPDATER_UPDATE_AVAILABLE: "autoupdater@update-available",
AUTOUPDATER_UPDATE_NOT_AVAILABLE: "autoupdater@update-not-available",
AUTOUPDATER_UPDATE_DOWNLOADED: "autoupdater@update-downloaded",
AUTOUPDATER_UPDATE_RESTART: "auto-updater@update-restart",
AUTOUPDATER_UPDATE_DISMISS: "auto-updater@update-dismiss",
AUTOUPDATER_QUIT_INSTALL_ERROR: "auto-updater@update-quit-install-error",
AUTOUPDATER_NEW_VERSION_INSTALLED: "auto-updater@new-version-installed"
}
}, 6735: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(5543), t)
}, 4726: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.config = void 0, t.config = {
GET_GLOBAL: "get-global",
GET_APP_PATH: "get-app-path"
}
}, 2383: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(4726), t)
}, 1905: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.connectivity = void 0, t.connectivity = {
CONNECTIVITY_CONNECTION_AVAILABLE: "connectivity@connection-available",
CONNECTIVITY_CONNECTION_UNAVAILABLE: "connectivity@connection-unavailable",
CONNECTIVITY_CHECK_CONNECTION: "connectivity@check-connection"
}
}, 2130: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(1905), t)
}, 3520: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.dialog = void 0, t.dialog = {
SHOW_OPEN_DIALOG: "dialog@show-open-dialog",
SHOW_LIBRARY_FOLDER_DIALOG: "dialog@show-library-folder",
SHOW_FILESYSTEM_DIALOG: "dialog@show-filesystem"
}
}, 8762: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(3520), t)
}, 5116: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.channel = void 0, t.channel = {SELECT_GAME_CHANNEL: "select-game-channel"}
}, 2859: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(5116), t)
}, 5376: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.gameFiles = void 0, t.gameFiles = {
GAME_FILES_INITIALIZE_WATCHER: "game-files@initialize-watcher",
GAME_FILES_CHANGED: "game-files@game-files-changed",
GAME_FILES_REMOVE_USER_FOLDER: "game-files@remove-user-folder",
GAME_FILES_REMOVE_USER_FOLDER_FAILED: "game-files@remove-user-folder-failed",
GAME_FILES_REMOVE_USER_FOLDER_SICCESSFUL: "game-files@remove-user-folder-successful",
GAME_FILES_CHECK_USER_FOLDER_EXISTS: "game-files@check-user-folder-exists",
GAME_FILES_REMOVE_SHADERS_FOLDER: "game-files@remove-shaders-folder",
GAME_FILES_REMOVE_SHADERS_FOLDER_FAILED: "game-files@remove-shaders-folder-failed",
GAME_FILES_REMOVE_SHADERS_FOLDER_SUCCESSFUL: "game-files@remove-shaders-folder-successful",
GAME_FILES_CHECK_SHADERS_FOLDER_EXISTS: "game-files@check-shaders-folder-exists"
}
}, 7433: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(5376), t)
}, 2466: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(9316), t), a(n(6735), t), a(n(2130), t), a(n(2383), t), a(n(8762), t), a(n(2859), t), a(n(7433), t), a(n(8675), t), a(n(5465), t), a(n(7798), t), a(n(6513), t), a(n(8533), t), a(n(6423), t), a(n(3081), t), a(n(712), t), a(n(3621), t), a(n(730), t), a(n(8577), t), a(n(5535), t), a(n(2682), t), a(n(6305), t)
}, 8675: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(4925), t)
}, 4925: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.installer = void 0, t.installer = {
INSTALLER_INSTALL: "installer@install",
INSTALLER_INSTALL_SUCCESSFUL: "installer@install-successful",
INSTALLER_INSTALL_FAILED: "installer@install-failed",
INSTALLER_INSTALL_PROGRESS: "installer@install-progress",
INSTALLER_PAUSE: "installer@pause",
INSTALLER_PAUSE_SUCCESSFUL: "installer@pause-successful",
INSTALLER_PAUSE_FAILED: "installer@pause-failed",
INSTALLER_RESUME: "installer@resume",
INSTALLER_RESUME_SUCCESSFUL: "installer@resume-successful",
INSTALLER_RESUME_FAILED: "installer@resume-failed",
INSTALLER_SET_OPTIONS: "installer@set-option",
INSTALLER_SET_OPTION_SUCCESSFUL: "installer@set-option-successful",
INSTALLER_CANCEL: "installer@cancel",
INSTALLER_CANCEL_SUCCESSFUL: "installer@cancel-successful",
INSTALLER_CANCEL_FAILED: "installer@cancel-failed",
INSTALLER_FIX_PERMISSIONS: "installer@fix-permissions",
INSTALLER_FIX_PERMISSIONS_SUCCESSFUL: "installer@fix-permissions-successful",
INSTALLER_FIX_PERMISSIONS_FAILED: "installer@fix-permissions-failed",
INSTALLER_UNINSTALL: "installer@uninstall",
INSTALLER_UNINSTALL_SUCCESSFUL: "installer@uninstall-successful",
INSTALLER_UNINSTALL_FAILED: "installer@uninstall-failed"
}
}, 6513: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(7540), t)
}, 7540: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.language = void 0, t.language = {
GET_OS_LANGUAGE: "language@get-os-language",
GET_CURRENT_LANGUAGE: "language@get-current-language",
GET_LANGUAGE_COLLECTION: "language@get-language-collection",
CHANGE_CURRENT_LANGUAGE: "language@change-current-language",
CHANGE_LANGUAGE_COLLECTION: "language@change-language-collection"
}
}, 7798: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(3737), t)
}, 3737: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.launcherSupport = void 0, t.launcherSupport = {
DELETE_LOCAL_SETTINGS: "launcher-support@delete-local-settings",
DELETE_LOCAL_SETTINGS_SUCCESS: "launcher-support@delete-local-settings-success",
DELETE_LOCAL_SETTINGS_ERROR: "launcher-support@delete-local-settings-error"
}
}, 5465: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(670), t)
}, 670: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.launcher = void 0, t.launcher = {
LAUNCHER_LAUNCH: "launcher@launch",
LAUNCHER_LAUNCH_SUCCESSFUL: "launcher@launch-successful",
LAUNCHER_LAUNCH_FAILED: "launcher@launch-failed",
LAUNCHER_LAUNCH_CRASH_INFO_RETRIEVED: "launcher@launch-crash-info-retrieved",
LAUNCHER_LAUNCH_STOPPED: "launcher@launch-stopped",
LAUNCHER_IS_GAME_RUNNING: "launcher@is-game-running",
LAUNCHER_KILL_GAME_PROCESS: "launcher@kill-game-process",
LAUNCHER_GET_RELEASE_OBJECT: "launcher@get-game-release-object"
}
}, 8533: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(1829), t)
}, 1829: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.library = void 0, t.library = {CHANGE_LIBRARY_FOLDER: "change-library-folder"}
}, 6423: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(6717), t)
}, 6717: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.logger = void 0, t.logger = {
LOGGER_LOG_EVENT: "logger@log-event",
LOGGER_GET_LOGS: "logger@get-logs"
}
}, 3081: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(469), t)
}, 469: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.notification = void 0, t.notification = {NATIVE_NOTIFICATION_SHOW: "native-notification@show-notification"}
}, 712: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(4692), t)
}, 4692: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.settings = void 0, t.settings = {
GET_ANIMATION_SYSTEM_SETTINGS: "settings@get-animation-system-settings",
RESTART_APP: "settings@restart-app"
}
}, 3621: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(3542), t)
}, 3542: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.signIn = void 0, t.signIn = {
USER_AUTO_SIGNIN: "user@auto-sign-in",
USER_SIGNIN: "user@sign-in",
USER_SIGNOUT: "user@signOut"
}
}, 8577: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(3619), t)
}, 3619: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.storage = void 0, t.storage = {
GET_DEFAULT_LIBRARY: "storage-get-default-library",
GET_ADDITIONAL_LIBRARIES: "storage-get-additional-libraries",
SET_DEFAULT_LIBRARY: "storage-set-default-library",
SET_ADDITIONAL_LIBRARIES: "storage-set-additional-libraries"
}
}, 730: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(8171), t)
}, 8171: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.store = void 0, t.store = {
STORE_SET: "store-set",
STORE_SET_SUCCESS: "store-set-success",
STORE_SET_ERROR: "store-set-error",
STORE_GET: "store-get",
STORE_CLEAR: "store-clear",
STORE_CLEAR_SUCCESS: "store-clear-success",
STORE_CLEAR_ERROR: "store-clear-error"
}
}, 5535: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(933), t)
}, 933: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.tray = void 0, t.tray = {
TRAY_UPDATE_MENU: "tray@update-menu",
TRAY_MENU_ITEM_CLICKED: "tray@menu-item-clicked"
}
}, 2682: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(2205), t)
}, 2205: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.user = void 0, t.user = {
USER_GET_SESSION: "user@get-session",
USER_GET_IDENTITY: "user@get-identity",
USER_GET_DEVICE: "user@get-device",
USER_SET_SESSION: "user@set-session",
USER_SET_IDENTITY: "user@set-identity",
USER_SET_DEVICE: "user@set-device"
}
}, 6305: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(3672), t)
}, 3672: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.window = void 0, t.window = {
WINDOW_OPEN_INTERNAL: "window@open-internal",
WINDOW_OPEN_EXTERNAL: "window@open-external",
WINDOW_MINIMIZE: "window@minimize",
WINDOW_RESTORE: "window@restore",
WINDOW_HIDE: "window@hide",
WINDOW_SHOW: "window@show",
WINDOW_QUIT: "window@quit",
WINDOW_CLOSE: "window@close",
WINDOW_SET_SMALL: "window@create-small",
WINDOW_SET_LARGE: "window@create-large",
WINDOW_OPEN: "window@open",
WINDOW_IS_MINIMIZED: "window@is-minimized",
WINDOW_HIDE_SUCCESSFUL: "window@hide-successful",
WINDOW_SHOW_SUCCESSFUL: "window@show-successful",
WINDOW_QUIT_SUCCESSFUL: "window@quit-successful"
}
}, 375: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.ipcEvents = void 0;
const r = n(2466);
t.ipcEvents = {
analytics: r.analytics,
autoUpdater: r.autoUpdater,
config: r.config,
connectivity: r.connectivity,
dialog: r.dialog,
channel: r.channel,
gameFiles: r.gameFiles,
installer: r.installer,
launcher: r.launcher,
launcherSupport: r.launcherSupport,
language: r.language,
library: r.library,
notification: r.notification,
logger: r.logger,
settings: r.settings,
signIn: r.signIn,
store: r.store,
storage: r.storage,
tray: r.tray,
user: r.user,
window: r.window
}
}, 2335: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(1012), t)
}, 8096: (e, t) => {
"use strict";
var n;
Object.defineProperty(t, "__esModule", {value: !0}), t.AnalyticsEventName = void 0, function (e) {
e.APP_OPEN = "App:Open", e.APP_CLOSE = "App:Close", e.APP_SIGNEDIN = "App:SignedIn", e.APP_SIGNEDOUT = "App:SignedOut", e.APP_API_ERROR = "App:Api:Error", e.APP_INSTALL_START = "App:Install:Start", e.APP_INSTALL_STOP = "App:Install:Stop", e.APP_INSTALL_SUCCESS = "App:Install:Success", e.APP_INSTALL_ERROR = "App:Install:Error", e.APP_VERIFY_START = "App:Verify:Start", e.APP_VERIFY_STOP = "App:Verify:Stop", e.APP_VERIFY_SUCCESS = "App:Verify:Success", e.APP_VERIFY_ERROR = "App:Verify:Error", e.APP_UPDATE_START = "App:Update:Start", e.APP_UPDATE_STOP = "App:Update:Stop", e.APP_UPDATE_SUCCESS = "App:Update:Success", e.APP_UPDATE_ERROR = "App:Update:Error", e.APP_UNINSTALL_START = "App:Uninstall:Start", e.APP_UNINSTALL_SUCCESS = "App:Uninstall:Success", e.APP_UNINSTALL_ERROR = "App:Uninstall:Error", e.APP_LAUNCH_START = "App:Launch:Start", e.APP_LAUNCH_STOP = "App:Launch:Stop", e.APP_LAUNCH_ERROR = "App:Launch:Error", e.OLD_APP_LAUNCH_START = "App:Launcher:Start", e.OLD_APP_LAUNCH_STOP = "App:Launcher:Stop", e.OLD_APP_LAUNCH_ERROR = "App:Launcher:Error", e.APP_LS_ERROR = "App:LauncherSupport:Error"
}(n || (t.AnalyticsEventName = n = {}))
}, 5708: (e, t) => {
"use strict";
var n;
Object.defineProperty(t, "__esModule", {value: !0}), t.AutoUpdateDialogStates = void 0, function (e) {
e.AVAILABLE = "available", e.NOT_AVAILABLE = "not-available", e.QUIT_GAME = "quit-game", e.ERROR = "error"
}(n || (t.AutoUpdateDialogStates = n = {}))
}, 7035: (e, t) => {
"use strict";
var n;
Object.defineProperty(t, "__esModule", {value: !0}), t.ConnectionMode = void 0, function (e) {
e.ONLINE = "online", e.OFFLINE = "offline", e.NO_CONNECTION = "no-connection"
}(n || (t.ConnectionMode = n = {}))
}, 2700: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.GenericError = t.errorsCodes = t.errorsNames = void 0, t.errorsNames = {
ERR_UNKNOWN: "GenericError",
ERR_LOGOUT_FAILED: "logoutFailed",
ERR_DISPLAY_AGREEMENT: "DisplayAgreementErr"
}, t.errorsCodes = {
ERR_UNKNOWN: "GenericError",
ERR_LOGOUT_FAILED: "logoutFailed",
ERR_DISPLAY_AGREEMENT: "DisplayAgreementErr"
};
class n extends Error {
constructor({message: e = "Unknown Error", code: r = t.errorsNames.ERR_UNKNOWN, payload: a = null}) {
super(e), Object.setPrototypeOf(this, n.prototype), this.code = r, this.payload = a
}
}
t.GenericError = n
}, 6994: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(2700), t), a(n(5320), t), a(n(728), t), a(n(6565), t), a(n(2358), t), a(n(2299), t)
}, 728: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.CancelError = t.Error21Error = t.NetworkDefaultError = t.NetworkTooManyFilesFailedError = t.NetworkFailedToRecieveHandshakeError = t.NetworkCouldNotResolveHostError = t.ExceptionU00Error = t.InvalidArgumentTypeError = t.P4KError = t.IOError = t.FixPermissionError = t.BasePackGenericError = t.DownloadUnsuccessfullError = t.PatcherGenericError = t.BasePackP4kCorruptedError = t.PatcherUnknownNetworkError = t.RetrieveManifestError = t.Pk4CorruptedError = t.FileInUseError = t.WritePermissionsError = t.DiskFullError = t.NotMappedError = t.MDFileHeaderNotFoundError = t.InvalidMDFileHeaderError = t.InvalidMDFileError = t.InstallerError = t.LauncherSpecificInstallerErrorsCodes = t.InstallerErrorsNames = t.InitialDownloadErrorsNames = t.PatcherErrorsNames = void 0;
const r = n(2700), a = n(5320);
t.PatcherErrorsNames = {
ERR_DISK_FULL: "DiskFullError",
ERR_WRITE_PERMISSION: "WritePermissionError",
ERR_FILE_IN_USE: "FileInUseError",
ERR_RETRIEVE_MANIFEST: "RetrieveManifestError",
ERR_P4K_CORRUPTED: "P4kCorruptedError",
ERR_BASE_P4K_CORRUPTED: "BaseP4kCorruptedError",
ERR_UNKNOWN_NETWORK_ERROR: "UnknownNetworkError",
ERR_PATCHER_UNKNOWN: "GenericPatchInstallerError",
ERR_DOWNLOAD_UNSUCCESSFULL: "DownloadUnsuccessfullError",
ERR_IO_ERROR: "IOError",
ERR_P4K_ERROR: "P4KError",
ERR_INVALID_ARGUMENT_TYPE: "InvalidArgumentTypeError",
ERR_EXCEPTION_U_00: "ExceptionU00Error",
ERR_NETWORK_COULD_NOT_RESOLVE_HOST: "NetworkCouldNotResolveHostError",
ERR_NETWORK_FAILED_TO_RECEIVE_HANDSHAKE: "NetworkFailedToReceiveHandshakeError",
ERR_NETWORK_TOO_MANY_FILES_FAILED: "NetworkTooMAnyFilesFailedError",
ERR_NETWORK_DEFAULT: "NetworkDefaultError",
ERR_CANCEL_EXCEPTION: "ErrorCancelException",
ERR_ERROR_21: "Error21Error"
}, t.InitialDownloadErrorsNames = {
ERR_INIT_UNKNOWN: "GenericInitialDownloadError",
ERR_INVALID_MD_FILE: "InvalidMDFileError",
ERR_INVALID_MD_FILE_HEADER: "InvalidMDFileHeaderError",
ERR_MD_FILE_HEADER_NOT_FOUND: "MDFileHeaderNotFoundError",
ERR_NOT_MAPPED_ERRORS: "NotMappedErrors",
ERR_INIT_DISK_FULL: "DiskFullError"
}, t.InstallerErrorsNames = Object.assign(Object.assign(Object.assign(Object.assign({}, t.PatcherErrorsNames), t.InitialDownloadErrorsNames), a.LauncherSupportErrorsNames), {
ERR_INSTALL_UNKNOWN: "GenericInstallerError",
ERR_FIX_PERMISSIONS: "FixPermissionsError",
ERR_CANCEL_FAIL: "CancelFailError"
});
t.LauncherSpecificInstallerErrorsCodes = Object.assign(Object.assign(Object.assign({
ERR_INSTALL_UNKNOWN: "2000",
ERR_FIX_PERMISSIONS: "2001",
ERR_CANCEL_FAIL: "2002"
}, {
ERR_DISK_FULL: "5000",
ERR_WRITE_PERMISSION: "5001",
ERR_FILE_IN_USE: "5002",
ERR_RETRIEVE_MANIFEST: "5003",
ERR_P4K_CORRUPTED: "5004",
ERR_UNKNOWN_NETWORK_ERROR: "5005",
ERR_BASE_P4K_CORRUPTED: "5006",
ERR_PATCHER_UNKNOWN: "5007",
ERR_DOWNLOAD_UNSUCCESSFULL: "5008",
ERR_IO_ERROR: "5009",
ERR_P4K_ERROR: "5010",
ERR_INVALID_ARGUMENT_TYPE: "5011",
ERR_EXCEPTION_U_00: "5013",
ERR_NETWORK_COULD_NOT_RESOLVE_HOST: "5015",
ERR_NETWORK_FAILED_TO_RECEIVE_HANDSHAKE: "5016",
ERR_NETWORK_TOO_MANY_FILES_FAILED: "5017",
ERR_NETWORK_DEFAULT: "5018",
ERR_CANCEL_EXCEPTION: "5019",
ERR_ERROR_21: "5021"
}), {
ERR_INIT_UNKNOWN: "3000",
ERR_INVALID_MD_FILE: "3001",
ERR_INVALID_MD_FILE_HEADER: "3003",
ERR_MD_FILE_HEADER_NOT_FOUND: "3004",
ERR_NOT_MAPPED_ERRORS: "3005",
ERR_INIT_DISK_FULL: "3006"
}), a.LauncherSupportErrorsCodes);
class i extends r.GenericError {
constructor({
message: e,
code: n = t.LauncherSpecificInstallerErrorsCodes.ERR_INSTALL_UNKNOWN,
payload: r
}) {
super({
message: e,
code: n,
payload: r
}), Object.setPrototypeOf(this, i.prototype), this.code = n, this.payload = r
}
}
t.InstallerError = i;
class o extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_INVALID_MD_FILE,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
}
t.InvalidMDFileError = o;
t.InvalidMDFileHeaderError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_INVALID_MD_FILE_HEADER,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
};
t.MDFileHeaderNotFoundError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_MD_FILE_HEADER_NOT_FOUND,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
};
t.NotMappedError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NOT_MAPPED_ERRORS,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
};
class s extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_DISK_FULL,
payload: n
}), Object.setPrototypeOf(this, s.prototype)
}
}
t.DiskFullError = s;
class l extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_WRITE_PERMISSION,
payload: n
}), Object.setPrototypeOf(this, l.prototype)
}
}
t.WritePermissionsError = l;
class c extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_FILE_IN_USE,
payload: n
}), Object.setPrototypeOf(this, c.prototype)
}
}
t.FileInUseError = c;
class u extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_P4K_CORRUPTED,
payload: n
}), Object.setPrototypeOf(this, u.prototype)
}
}
t.Pk4CorruptedError = u;
class d extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_RETRIEVE_MANIFEST,
payload: n
}), Object.setPrototypeOf(this, d.prototype)
}
}
t.RetrieveManifestError = d;
class p extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_UNKNOWN_NETWORK_ERROR,
payload: n
}), Object.setPrototypeOf(this, p.prototype)
}
}
t.PatcherUnknownNetworkError = p;
class h extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_BASE_P4K_CORRUPTED,
payload: n
}), Object.setPrototypeOf(this, h.prototype)
}
}
t.BasePackP4kCorruptedError = h;
class f extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_PATCHER_UNKNOWN,
payload: n
}), Object.setPrototypeOf(this, f.prototype)
}
}
t.PatcherGenericError = f;
t.DownloadUnsuccessfullError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_DOWNLOAD_UNSUCCESSFULL,
payload: n
}), Object.setPrototypeOf(this, f.prototype)
}
};
class m extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_INIT_UNKNOWN,
payload: n
}), Object.setPrototypeOf(this, m.prototype)
}
}
t.BasePackGenericError = m;
class g extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_FIX_PERMISSIONS,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
}
t.FixPermissionError = g;
t.IOError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_IO_ERROR,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.P4KError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_P4K_ERROR,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.InvalidArgumentTypeError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_INVALID_ARGUMENT_TYPE,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.ExceptionU00Error = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_EXCEPTION_U_00,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.NetworkCouldNotResolveHostError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NETWORK_COULD_NOT_RESOLVE_HOST,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.NetworkFailedToRecieveHandshakeError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NETWORK_FAILED_TO_RECEIVE_HANDSHAKE,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.NetworkTooManyFilesFailedError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NETWORK_TOO_MANY_FILES_FAILED,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.NetworkDefaultError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NETWORK_DEFAULT,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.Error21Error = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_ERROR_21,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.CancelError = class extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_CANCEL_FAIL,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
}
}, 6565: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.serializerInstallerErrors = void 0;
const r = n(728), a = n(5320);
t.serializerInstallerErrors = e => {
const {code: t, message: n, payload: i} = e;
switch (t) {
case r.InstallerErrorsNames.ERR_DISK_FULL:
return new r.DiskFullError(n, i);
case r.InstallerErrorsNames.ERR_WRITE_PERMISSION:
return new r.WritePermissionsError(n, i);
case r.InstallerErrorsNames.ERR_FILE_IN_USE:
return new r.FileInUseError(n, i);
case r.InstallerErrorsNames.ERR_RETRIEVE_MANIFEST:
return new r.RetrieveManifestError(n, i);
case r.InstallerErrorsNames.ERR_P4K_CORRUPTED:
return new r.Pk4CorruptedError(n, i);
case r.InstallerErrorsNames.ERR_BASE_P4K_CORRUPTED:
return new r.BasePackP4kCorruptedError(n, i);
case r.InstallerErrorsNames.ERR_UNKNOWN_NETWORK_ERROR:
return new r.PatcherUnknownNetworkError(n, i);
case r.InstallerErrorsNames.ERR_PATCHER_UNKNOWN:
return new r.PatcherGenericError(n, i);
case r.InstallerErrorsNames.ERR_DOWNLOAD_UNSUCCESSFULL:
return new r.DownloadUnsuccessfullError(n, i);
case r.InstallerErrorsNames.ERR_IO_ERROR:
return new r.IOError(n, i);
case r.InstallerErrorsNames.ERR_P4K_ERROR:
return new r.P4KError(n, i);
case r.InstallerErrorsNames.ERR_INVALID_ARGUMENT_TYPE:
return new r.InvalidArgumentTypeError(n, i);
case r.InstallerErrorsNames.ERR_EXCEPTION_U_00:
return new r.ExceptionU00Error(n, i);
case r.InstallerErrorsNames.ERR_NETWORK_COULD_NOT_RESOLVE_HOST:
case r.InstallerErrorsNames.ERR_NETWORK_FAILED_TO_RECEIVE_HANDSHAKE:
return new r.NetworkFailedToRecieveHandshakeError(n, i);
case r.InstallerErrorsNames.ERR_NETWORK_TOO_MANY_FILES_FAILED:
return new r.NetworkTooManyFilesFailedError(n, i);
case r.InstallerErrorsNames.ERR_NETWORK_DEFAULT:
return new r.NetworkDefaultError(n, i);
case r.InstallerErrorsNames.ERR_ERROR_21:
return new r.Error21Error(n, i);
case r.InstallerErrorsNames.ERR_INIT_UNKNOWN:
return new r.BasePackGenericError(n, i);
case r.InstallerErrorsNames.ERR_INVALID_MD_FILE:
return new r.InvalidMDFileError(n, i);
case r.InstallerErrorsNames.ERR_INVALID_MD_FILE_HEADER:
return new r.InvalidMDFileHeaderError(n, i);
case r.InstallerErrorsNames.ERR_MD_FILE_HEADER_NOT_FOUND:
return new r.MDFileHeaderNotFoundError(n, i);
case r.InstallerErrorsNames.ERR_NOT_MAPPED_ERRORS:
return new r.NotMappedError(n, i);
case r.InstallerErrorsNames.ERR_INIT_DISK_FULL:
return new r.DiskFullError(n, i);
case r.InstallerErrorsNames.ERR_LS_PERMISSION:
return new a.LSPermissionError(n, i);
case r.InstallerErrorsNames.ERR_LS_CREATE_DIRECTORY:
return new a.LSCreateDirectoryError(n, i);
case r.InstallerErrorsNames.ERR_LS_FIX_PERMISSION:
return new a.LSFixPermissionError(n, i);
case r.InstallerErrorsNames.ERR_FIX_PERMISSIONS:
return new r.FixPermissionError(n, i);
case r.InstallerErrorsNames.ERR_CANCEL_FAIL:
return new r.CancelError(n, i);
default:
return new r.InstallerError({
code: r.LauncherSpecificInstallerErrorsCodes.ERR_INSTALL_UNKNOWN,
message: n,
payload: i
})
}
}
}, 2358: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.GameCrashError = t.EACError = t.NoGameFilesError = t.LaunchError = t.LauncherSpecificLaunchErrorCodes = t.LaunchErrorsNames = void 0;
const r = n(2700);
t.LaunchErrorsNames = {
ERR_LAUNCH_UNKNOWN: "UnknownLaunchError",
ERR_LAUNCH_NO_GAME_FILES: "NoGameFileError",
ERR_LAUNCH_EAC: "LaunchEACError",
ERR_LAUNCH_GAME_CRASH: "GameCrashLaunchError"
}, t.LauncherSpecificLaunchErrorCodes = {
ERR_LAUNCH_UNKNOWN: "6000",
ERR_LAUNCH_NO_GAME_FILES: "6001",
ERR_LAUNCH_EAC: "6002",
ERR_LAUNCH_GAME_CRASH: "7000"
};
class a extends r.GenericError {
constructor({message: e, code: n = t.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN, payload: r}) {
super({
message: e,
code: n,
payload: r
}), Object.setPrototypeOf(this, a.prototype), this.code = n, this.payload = r
}
}
t.LaunchError = a;
class i extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_NO_GAME_FILES,
payload: n
}), Object.setPrototypeOf(this, i.prototype)
}
}
t.NoGameFilesError = i;
class o extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_EAC,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
}
t.EACError = o;
class s extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_GAME_CRASH,
payload: n
}), Object.setPrototypeOf(this, s.prototype)
}
}
t.GameCrashError = s
}, 2299: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.serializerLaunchErrors = void 0;
const r = n(2358);
t.serializerLaunchErrors = e => {
const {code: t, message: n, payload: a} = e;
switch (t) {
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_NO_GAME_FILES:
return new r.NoGameFilesError(n, a);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_EAC:
return new r.EACError(n, a);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_GAME_CRASH:
return new r.GameCrashError(n, a);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN:
default:
return new r.LaunchError({
code: r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN,
message: n,
payload: a
})
}
}
}, 5320: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0}), t.LSFixPermissionError = t.LSCreateDirectoryError = t.LSPermissionError = t.LauncherSupportError = t.LauncherSupportErrorsCodes = t.LauncherSupportErrorsNames = void 0;
const r = n(2700);
t.LauncherSupportErrorsNames = {
ERR_LS_UNKNOWN: "LSGenericError",
ERR_LS_PERMISSION: "LSPermissionError",
ERR_LS_WRITE_PERMISSION: "LSWritePermissionError",
ERR_LS_INVALID_COMMAND: "LSInvalidCommandError",
ERR_LS_CREATE_DIRECTORY: "LSCreateDirectoryError",
ERR_LS_FIX_PERMISSION: "LSFixPermissionError"
}, t.LauncherSupportErrorsCodes = {
ERR_LS_UNKNOWN: "8000",
ERR_LS_PERMISSION: "8001",
ERR_LS_WRITE_PERMISSION: "8002",
ERR_LS_INVALID_COMMAND: "8003",
ERR_LS_CREATE_DIRECTORY: "8004",
ERR_LS_FIX_PERMISSION: "8005"
};
class a extends r.GenericError {
constructor({message: e, code: n = t.LauncherSupportErrorsCodes.ERR_LS_UNKNOWN, payload: r}) {
super({
message: e,
code: n,
payload: r
}), Object.setPrototypeOf(this, a.prototype), this.code = n, this.payload = r
}
}
t.LauncherSupportError = a;
class i extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSupportErrorsCodes.ERR_LS_PERMISSION,
payload: n
}), Object.setPrototypeOf(this, i.prototype)
}
}
t.LSPermissionError = i;
class o extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSupportErrorsCodes.ERR_LS_CREATE_DIRECTORY,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
}
t.LSCreateDirectoryError = o;
class s extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSupportErrorsCodes.ERR_LS_FIX_PERMISSION,
payload: n
}), Object.setPrototypeOf(this, s.prototype)
}
}
t.LSFixPermissionError = s
}, 2087: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 1012: function (e, t, n) {
"use strict";
var r = this && this.__createBinding || (Object.create ? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
a && !("get" in a ? !t.__esModule : a.writable || a.configurable) || (a = {
enumerable: !0,
get: function () {
return t[n]
}
}), Object.defineProperty(e, r, a)
} : function (e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}), a = this && this.__exportStar || function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
};
Object.defineProperty(t, "__esModule", {value: !0}), a(n(6994), t), a(n(8096), t), a(n(7035), t), a(n(2087), t), a(n(5708), t), a(n(4208), t), a(n(7735), t), a(n(3010), t), a(n(4764), t), a(n(9056), t), a(n(4724), t), a(n(6840), t), a(n(9647), t), a(n(4762), t), a(n(3186), t)
}, 4208: (e, t) => {
"use strict";
var n, r, a;
Object.defineProperty(t, "__esModule", {value: !0}), t.InstallerOptions = t.InstallationStatus = t.InstallationType = t.InstallerVerificationPhases = t.InstallerEndPhases = t.InstallerSingleFilePhases = t.InstallerProgressPhases = t.InstallerStartPhases = t.InstallerPhases = t.installerPatcherPhases = t.installerNMDPhases = void 0, t.installerNMDPhases = {
InitialDownloadStart: "installer@initial-download-start",
InitialDownloadProgress: "installer@initial-download-progress",
InitialDownloadEnd: "installer@initial-download-end"
}, t.installerPatcherPhases = {
PatcherOpenP4kStart: "installer@open-p4k-start",
PatcherRetrieveLocalFileStart: "installer@retrieve-local-file-list-start",
PatcherRetrieveRemoteFileStart: "installer@retrieve-remote-file-list-start",
PatcherUpdateP4kStart: "installer@update-files-inside-p4k-start",
PatcherUpdateLooseFileStart: "installer@update-loose-files-start",
PatcherUpdateP4kStructureStart: "installer@update-p4k-structure-start",
PatcherVerificationP4kStart: "installer@p4k-verification-start",
PatcherVerificationLooseFileStart: "installer@loose-file-verification-start",
PatcherRetrieveRemoteFileProgress: "installer@retrieve-remote-file-list-progress",
PatcherUpdateP4kProgress: "installer@update-files-inside-p4k-progress",
PatcherUpdateLooseFileProgress: "installer@update-loose-files-progress",
PatcherVerificationP4kProgress: "installer@p4k-verification-progress",
PatcherVerificationLooseFileProgress: "installer@loose-file-verification-progress",
PatcherComputeListDifferenceStart: "installer@compute-file-list-difference-start",
PatcherComputeFileListDifferenceEnd: "installer@compute-file-list-difference-end",
PatcherOpenP4kEnd: "installer@open-p4k-end",
PatcherRetrieveLocalFileEnd: "installer@retrieve-local-file-list-end",
PatcherRetrieveRemoteFileEnd: "installer@retrieve-remote-file-list-end",
PatcherUpdateP4kEnd: "installer@update-files-inside-p4k-end",
PatcherUpdateLooseFileEnd: "installer@update-loose-files-end",
PatcherUpdateP4kStructureEnd: "installer@update-p4k-structure-end",
PatcherVerificationP4kEnd: "installer@p4k-verification-end",
PatcherVerificationLooseFileEnd: "installer@loose-file-verification-end"
}, t.InstallerPhases = Object.assign(Object.assign({}, t.installerNMDPhases), t.installerPatcherPhases), t.InstallerStartPhases = [t.InstallerPhases.InitialDownloadStart, t.InstallerPhases.PatcherOpenP4kStart, t.InstallerPhases.PatcherRetrieveLocalFileStart, t.InstallerPhases.PatcherRetrieveRemoteFileStart, t.InstallerPhases.PatcherUpdateP4kStart, t.InstallerPhases.PatcherUpdateLooseFileStart, t.InstallerPhases.PatcherUpdateP4kStructureStart, t.InstallerPhases.PatcherVerificationP4kStart, t.InstallerPhases.PatcherVerificationLooseFileStart], t.InstallerProgressPhases = [t.InstallerPhases.InitialDownloadProgress, t.InstallerPhases.PatcherRetrieveRemoteFileProgress, t.InstallerPhases.PatcherUpdateP4kProgress, t.InstallerPhases.PatcherUpdateLooseFileProgress, t.InstallerPhases.PatcherVerificationP4kProgress, t.InstallerPhases.PatcherVerificationLooseFileProgress], t.InstallerSingleFilePhases = [t.InstallerPhases.InitialDownloadProgress, t.InstallerPhases.PatcherRetrieveRemoteFileProgress], t.InstallerEndPhases = [t.InstallerPhases.InitialDownloadEnd, t.InstallerPhases.PatcherOpenP4kEnd, t.InstallerPhases.PatcherRetrieveLocalFileEnd, t.InstallerPhases.PatcherRetrieveRemoteFileEnd, t.InstallerPhases.PatcherUpdateP4kEnd, t.InstallerPhases.PatcherUpdateLooseFileEnd, t.InstallerPhases.PatcherUpdateP4kStructureEnd, t.InstallerPhases.PatcherVerificationP4kEnd, t.InstallerPhases.PatcherVerificationLooseFileEnd], t.InstallerVerificationPhases = [t.InstallerPhases.PatcherVerificationP4kStart, t.InstallerPhases.PatcherVerificationLooseFileStart, t.InstallerPhases.PatcherVerificationP4kProgress, t.InstallerPhases.PatcherVerificationLooseFileProgress, t.InstallerPhases.PatcherVerificationP4kEnd, t.InstallerPhases.PatcherVerificationLooseFileEnd], function (e) {
e.INSTALL = "install", e.VERIFY = "verify", e.UPDATE = "update"
}(n || (t.InstallationType = n = {})), function (e) {
e.WAITING = "waiting", e.CANCELLING = "cancelling", e.IN_PROGRESS = "in-progress", e.PAUSED = "paused", e.COMPLETED = "completed", e.ERROR = "error"
}(r || (t.InstallationStatus = r = {})), function (e) {
e.ConcurrentTransfers = "concurrentTransfers", e.MaximumDownloadBandwidth = "maximumDownloadBandwidth", e.MaximumTransfersInFlight = "maximumTransfersInFlight", e.RetriesPerFile = "retriesPerFile"
}(a || (t.InstallerOptions = a = {}))
}, 3186: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 3010: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 4762: (e, t) => {
"use strict";
var n, r, a;
Object.defineProperty(t, "__esModule", {value: !0}), t.LSErrorCodes = t.UserSettingsFields = t.DeleteLocalSettingsFields = void 0, function (e) {
e.SHADERS = "shaders", e.SCREENSHOTS = "screenshots", e.USER = "user"
}(n || (t.DeleteLocalSettingsFields = n = {})), function (e) {
e.KEYBINDINGS = "keybindings", e.PREFERENCES = "preferences", e.CHARACTERS = "characters"
}(r || (t.UserSettingsFields = r = {})), function (e) {
e[e.Success = 0] = "Success", e[e.Failed = 25] = "Failed", e[e.Error = 50] = "Error", e[e.Crash = 100] = "Crash"
}(a || (t.LSErrorCodes = a = {}))
}, 7735: (e, t) => {
"use strict";
var n;
Object.defineProperty(t, "__esModule", {value: !0}), t.GameChannelStatus = void 0, function (e) {
e.AVAILABLE = "available", e.INSTALLED = "installed", e.UNINSTALLING = "uninstalling", e.UPDATE_AVAILABLE = "update-available"
}(n || (t.GameChannelStatus = n = {}))
}, 4724: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 9056: (e, t) => {
"use strict";
var n, r, a;
Object.defineProperty(t, "__esModule", {value: !0}), t.SystemStatusOrder = t.RSISystemName = t.RSISystemStatus = void 0, function (e) {
e.MAJOR = "major", e.PARTIAL = "partial", e.DEGRADED = "degraded", e.MAINTENANCE = "maintenance", e.OPERATIONAL = "operational"
}(n || (t.RSISystemStatus = n = {})), function (e) {
e.PLATFORM = "Platform", e.PERSISTENTE_UNIVERSE = "Persistent Universe", e.ARENA_COMMANDER = "Arena Commander"
}(r || (t.RSISystemName = r = {})), function (e) {
e[e.MAJOR = 0] = "MAJOR", e[e.PARTIAL = 1] = "PARTIAL", e[e.DEGRADED = 2] = "DEGRADED", e[e.MAINTENANCE = 3] = "MAINTENANCE", e[e.OPERATIONAL = 4] = "OPERATIONAL"
}(a || (t.SystemStatusOrder = a = {}))
}, 4764: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 6840: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {value: !0})
}, 9647: (e, t) => {
"use strict";
var n;
Object.defineProperty(t, "__esModule", {value: !0}), t.DeviceDuration = void 0, function (e) {
e.SESSION = "session", e.DAY = "day", e.WEEK = "week", e.MONTH = "month", e.YEAR = "year"
}(n || (t.DeviceDuration = n = {}))
}, 1901: (e, t, n) => {
"use strict";
n.d(t, {N: () => i});
var r = n(8974), a = n(5391), i = new class extends r.l {
#e = !0;
#t;
#n;
constructor() {
super(), this.#n = e => {
if (!a.sk && window.addEventListener) {
const t = () => e(!0), n = () => e(!1);
return window.addEventListener("online", t, !1), window.addEventListener("offline", n, !1), () => {
window.removeEventListener("online", t), window.removeEventListener("offline", n)
}
}
}
}
onSubscribe() {
this.#t || this.setEventListener(this.#n)
}
onUnsubscribe() {
this.hasListeners() || (this.#t?.(), this.#t = void 0)
}
setEventListener(e) {
this.#n = e, this.#t?.(), this.#t = e(this.setOnline.bind(this))
}
setOnline(e) {
this.#e !== e && (this.#e = e, this.listeners.forEach((t => {
t(e)
})))
}
isOnline() {
return this.#e
}
}
}, 8974: (e, t, n) => {
"use strict";
n.d(t, {l: () => r});
var r = class {
constructor() {
this.listeners = new Set, this.subscribe = this.subscribe.bind(this)
}
subscribe(e) {
return this.listeners.add(e), this.onSubscribe(), () => {
this.listeners.delete(e), this.onUnsubscribe()
}
}
hasListeners() {
return this.listeners.size > 0
}
onSubscribe() {
}
onUnsubscribe() {
}
}
}, 5391: (e, t, n) => {
"use strict";
n.d(t, {
A4: () => y,
Ht: () => w,
Kp: () => s,
PN: () => o,
Rm: () => u,
SE: () => i,
VS: () => f,
VX: () => x,
X7: () => c,
Ym: () => d,
ZT: () => a,
_v: () => _,
_x: () => l,
oE: () => b,
sk: () => r,
to: () => p
});
var r = "undefined" === typeof window || "Deno" in window;
function a() {
}
function i(e, t) {
return "function" === typeof e ? e(t) : e
}
function o(e) {
return "number" === typeof e && e >= 0 && e !== 1 / 0
}
function s(e, t) {
return Math.max(e + (t || 0) - Date.now(), 0)
}
function l(e, t) {
const {type: n = "all", exact: r, fetchStatus: a, predicate: i, queryKey: o, stale: s} = e;
if (o) if (r) {
if (t.queryHash !== u(o, t.options)) return !1
} else if (!p(t.queryKey, o)) return !1;
if ("all" !== n) {
const e = t.isActive();
if ("active" === n && !e) return !1;
if ("inactive" === n && e) return !1
}
return ("boolean" !== typeof s || t.isStale() === s) && (("undefined" === typeof a || a === t.state.fetchStatus) && !(i && !i(t)))
}
function c(e, t) {
const {exact: n, status: r, predicate: a, mutationKey: i} = e;
if (i) {
if (!t.options.mutationKey) return !1;
if (n) {
if (d(t.options.mutationKey) !== d(i)) return !1
} else if (!p(t.options.mutationKey, i)) return !1
}
return (!r || t.state.status === r) && !(a && !a(t))
}
function u(e, t) {
return (t?.queryKeyHashFn || d)(e)
}
function d(e) {
return JSON.stringify(e, ((e, t) => g(t) ? Object.keys(t).sort().reduce(((e, n) => (e[n] = t[n], e)), {}) : t))
}
function p(e, t) {
return e === t || typeof e === typeof t && (!(!e || !t || "object" !== typeof e || "object" !== typeof t) && !Object.keys(t).some((n => !p(e[n], t[n]))))
}
function h(e, t) {
if (e === t) return e;
const n = m(e) && m(t);
if (n || g(e) && g(t)) {
const r = n ? e.length : Object.keys(e).length, a = n ? t : Object.keys(t), i = a.length,
o = n ? [] : {};
let s = 0;
for (let l = 0; l < i; l++) {
const r = n ? l : a[l];
o[r] = h(e[r], t[r]), o[r] === e[r] && s++
}
return r === i && s === r ? e : o
}
return t
}
function f(e, t) {
if (e && !t || t && !e) return !1;
for (const n in e) if (e[n] !== t[n]) return !1;
return !0
}
function m(e) {
return Array.isArray(e) && e.length === Object.keys(e).length
}
function g(e) {
if (!v(e)) return !1;
const t = e.constructor;
if ("undefined" === typeof t) return !0;
const n = t.prototype;
return !!v(n) && !!n.hasOwnProperty("isPrototypeOf")
}
function v(e) {
return "[object Object]" === Object.prototype.toString.call(e)
}
function _(e) {
return new Promise((t => {
setTimeout(t, e)
}))
}
function y(e) {
_(0).then(e)
}
function b(e, t, n) {
return "function" === typeof n.structuralSharing ? n.structuralSharing(e, t) : !1 !== n.structuralSharing ? h(e, t) : t
}
function x(e, t, n = 0) {
const r = [...e, t];
return n && r.length > n ? r.slice(1) : r
}
function w(e, t, n = 0) {
const r = [t, ...e];
return n && r.length > n ? r.slice(0, -1) : r
}
}, 3713: (e, t, n) => {
"use strict";
n.d(t, {NL: () => i, aH: () => o});
var r = n(1479), a = r.createContext(void 0), i = e => {
const t = r.useContext(a);
if (e) return e;
if (!t) throw new Error("No QueryClient set, use QueryClientProvider to set one");
return t
}, o = ({client: e, children: t}) => (r.useEffect((() => (e.mount(), () => {
e.unmount()
})), [e]), r.createElement(a.Provider, {value: e}, t))
}
}, t = {};
function n(r) {
var a = t[r];
if (void 0 !== a) return a.exports;
var i = t[r] = {exports: {}};
return e[r].call(i.exports, i, i.exports, n), i.exports
}
n.m = e, n.n = e => {
var t = e && e.__esModule ? () => e.default : () => e;
return n.d(t, {a: t}), t
}, (() => {
var e, t = Object.getPrototypeOf ? e => Object.getPrototypeOf(e) : e => e.__proto__;
n.t = function (r, a) {
if (1 & a && (r = this(r)), 8 & a) return r;
if ("object" === typeof r && r) {
if (4 & a && r.__esModule) return r;
if (16 & a && "function" === typeof r.then) return r
}
var i = Object.create(null);
n.r(i);
var o = {};
e = e || [null, t({}), t([]), t(t)];
for (var s = 2 & a && r; "object" == typeof s && !~e.indexOf(s); s = t(s)) Object.getOwnPropertyNames(s).forEach((e => o[e] = () => r[e]));
return o.default = () => r, n.d(i, o), i
}
})(), n.d = (e, t) => {
for (var r in t) n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, {enumerable: !0, get: t[r]})
}, n.f = {}, n.e = e => Promise.all(Object.keys(n.f).reduce(((t, r) => (n.f[r](e, t), t)), [])), n.u = e => "static/js/" + e + "." + {
496: "25235a38",
569: "7c5bec35",
803: "5b23f8e0"
}[e] + ".chunk.js", n.miniCssF = e => {
}, n.g = function () {
if ("object" === typeof globalThis) return globalThis;
try {
return this || new Function("return this")()
} catch (e) {
if ("object" === typeof window) return window
}
}(), n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), (() => {
var e = {}, t = "@rsilauncher/app-renderer:";
n.l = (r, a, i, o) => {
if (e[r]) e[r].push(a); else {
var s, l;
if (void 0 !== i) for (var c = document.getElementsByTagName("script"), u = 0; u < c.length; u++) {
var d = c[u];
if (d.getAttribute("src") == r || d.getAttribute("data-webpack") == t + i) {
s = d;
break
}
}
s || (l = !0, (s = document.createElement("script")).charset = "utf-8", s.timeout = 120, n.nc && s.setAttribute("nonce", n.nc), s.setAttribute("data-webpack", t + i), s.src = r), e[r] = [a];
var p = (t, n) => {
s.onerror = s.onload = null, clearTimeout(h);
var a = e[r];
if (delete e[r], s.parentNode && s.parentNode.removeChild(s), a && a.forEach((e => e(n))), t) return t(n)
}, h = setTimeout(p.bind(null, void 0, {type: "timeout", target: s}), 12e4);
s.onerror = p.bind(null, s.onerror), s.onload = p.bind(null, s.onload), l && document.head.appendChild(s)
}
}
})(), n.r = e => {
"undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
}, n.p = "./", (() => {
var e = {179: 0};
n.f.j = (t, r) => {
var a = n.o(e, t) ? e[t] : void 0;
if (0 !== a) if (a) r.push(a[2]); else {
var i = new Promise(((n, r) => a = e[t] = [n, r]));
r.push(a[2] = i);
var o = n.p + n.u(t), s = new Error;
n.l(o, (r => {
if (n.o(e, t) && (0 !== (a = e[t]) && (e[t] = void 0), a)) {
var i = r && ("load" === r.type ? "missing" : r.type), o = r && r.target && r.target.src;
s.message = "Loading chunk " + t + " failed.\n(" + i + ": " + o + ")", s.name = "ChunkLoadError", s.type = i, s.request = o, a[1](s)
}
}), "chunk-" + t, t)
}
};
var t = (t, r) => {
var a, i, [o, s, l] = r, c = 0;
if (o.some((t => 0 !== e[t]))) {
for (a in s) n.o(s, a) && (n.m[a] = s[a]);
if (l) l(n)
}
for (t && t(r); c < o.length; c++) i = o[c], n.o(e, i) && e[i] && e[i][0](), e[i] = 0
},
r = globalThis.webpackChunk_rsilauncher_app_renderer = globalThis.webpackChunk_rsilauncher_app_renderer || [];
r.forEach(t.bind(null, 0)), r.push = t.bind(null, r.push.bind(r))
})(), (() => {
"use strict";
const e = {
agreements: {
agreement_fetch_info_error: "Could not retrieve agreement from server at this time, please wait a minute and try again.",
agreement_declined: "Agreement has been declined"
},
appHeader: {
app_header_menu: "Menu",
app_header_volume: "Volume",
app_header_volume_mute: "Mute",
app_header_volume_unmute: "Unmute",
app_header_account: "Account",
app_header_account_name: "Name",
app_header_account_moniker: "@Community Moniker",
app_header_menu_get_help: "Get Help",
app_header_menu_spectrum: "Spectrum",
app_header_menu_issue_council: "Issue Council",
app_header_menu_discover: "Discover",
app_header_menu_exit_the_app: "Exit the app",
app_header_menu_settings: "Settings",
app_header_actions_download: "Downloads",
app_header_actions_menu_rsi_status: "RSI Status",
app_header_actions_menu_rsi_account: "RSI Account",
app_header_actions_menu_log_out: "Log out",
app_header_loading: "Entering the verse\u2026"
},
autoUpdate: {
auto_update_dialog_close: "Close",
auto_update_dialog_title: "App Update Available",
auto_update_dialog_sub_title: "Version {{version}}",
auto_update_dialog_no_update_content: "You've already run the latest version of the RSI Launcher.<0/>Thanks for being up to date!",
auto_update_dialog_no_update_action_primary_label: "Continue",
auto_update_dialog_update_available_content: "A new version of the RSI Launcher is available for installation. This application will close and relaunch...",
auto_update_dialog_update_available_action_primary_label: "Install and Restart",
auto_update_dialog_update_available_action_secondary_label: "Install later",
auto_update_dialog_update_install_failed_content: "Unable to update to the newer version of the Launcher, please retry installation or contact <0>customer support</0>",
auto_update_dialog_update_install_failed_action_primary_label: "Retry Install",
auto_update_dialog_update_install_failed_action_secondary_label: "Install Later",
auto_update_dialog_update_quit_game_content: "A game session is currently running. If you want to install the new version of the Launcher, it will close the current game session and progression might be lost",
auto_update_dialog_update_quit_game_action_primary_label: "Quit Game and Install",
auto_update_dialog_update_quit_game_action_secondary_label: "Try Later",
auto_update_toast_update_installed: "Newer version of Launcher has been successfully installed"
},
connection: {
connection_title: "Offline mode",
connection_offline_information: "You are currently offline, certain functions may not be available. You will be automatically reconnected as soon as your internet connection is back online.",
connection_offline_trying_to_reconnect: "Trying to reconnect",
connection_toast_connection_available: "Reconnection succeeded",
connection_toast_action_continue_offline: "Continue offline",
connection_toast_warning_lost_connection_title: "You are currently offline",
connection_toast_warning_lost_connection_content: "It seems you are offline. When your internet connection is re-established, you will be reconnected automatically. You can continue to use the launcher in offline mode.",
connection_toast_warning_lost_connection_remaining: "Remaining time offline before logout"
},
contextMenu: {
context_menu_copy: "Copy",
context_menu_paste: "Paste",
context_menu_cut: "Cut",
context_menu_select_all: "Select all"
},
dialog: {
dialog_warning_logout_title: "Logout",
dialog_warning_logout_text: "Do you really want to log out of your account ?",
dialog_warning_logout_game_running_text: "Do you really want to log out of your account while the game is running? Progress might be lost.",
dialog_warning_logout_confirm: "Logout",
dialog_warning_logout_error: "An error occured while logging out. Your session might have expired try login again",
dialog_warning_duplicate_library_title: "Game Library Already Exists",
dialog_warning_duplicate_library_content: "A Library already exists at the location that you chose. Please select a different location and try again",
dialog_warning_delete_game_library_title: "Delete Game Library",
dialog_warning_delete_game_library_location: "Do you really want to delete the following Game Library?",
dialog_warning_delete_game_library_games: "The following game(s) currently use this library:",
dialog_warning_delete_game_library_content: "The default library will be used instead. Please make sure to move your game folders in the right location.",
dialog_warning_set_default_library_title: "Change Default Library",
dialog_warning_set_default_library_content: "Do you really want to set the following Library as the default location for any new installation?",
dialog_action_set_default_library: "Set As Default",
dialog_action_cancel: "Cancel",
dialog_action_confirm: "Confirm",
dialog_action_proceed: "Proceed",
dialog_action_acknowledge: "Acknowledge",
dialog_action_ok: "OK",
dialog_action_retry: "Retry",
dialog_action_close: "Close",
dialog_action_accept: "Accept",
dialog_action_decline: "Decline",
dialog_action_verify: "Verify",
dialog_action_install: "Install Game",
dialog_action_relaunch: "Relaunch",
dialog_action_discard: "Discard",
dialog_action_delete: "Delete",
dialog_action_browse_library: "browse library",
dialog_warning_back_launcher: "Go back to Launcher",
dialog_warning_exit_app_title: "Exit App",
dialog_warning_exit_app_text: "Do you really want to exit the app ?",
dialog_warning_exit_app_checkbox: "Don't show this again",
dialog_warning_exit_app_confirm: "Exit the app",
dialog_warning_exit_app_game_running_text: "You can't exit the application while the game is running.",
dialog_warning_uninstall_title: "Uninstall {{game}} - {{channel}}",
dialog_warning_uninstall_text: "Would you like to uninstall this game channel from your computer? Please note that the game files will be uninstalled for all users on this machine.",
dialog_warning_uninstall_userFolder_checkbox: "Keep my user folder (keybindings and settings preferences)",
dialog_warning_uninstall_userFolder_checkbox_description: "Location: {{path}}",
dialog_warning_uninstall_confirm: "Uninstall Game",
dialog_settings_reset_title: "Reset Settings",
dialog_settings_reset_content: "Are you sure you want to reset your game settings?",
dialog_settings_reset_button: "Reset to default",
dialog_settings_game_not_installed_title: "The game is not installed",
dialog_settings_game_not_installed_content: "The game you are trying to verify is not currently installed at this location. Please install the game first and try again.",
dialog_cancel_install_title: "Cancel Installation",
dialog_cancel_install_content: "Do you really want to cancel the installation of {{info}} ?",
dialog_cancel_install_content_keep_files_downloaded: "Keep already downloaded files",
dialog_cancel_verify_title: "Cancel Verification",
dialog_cancel_verify_content: "Do you really want to cancel the verification of {{info}} ?",
dialog_cancel_updte_title: "Cancel Update",
dialog_cancel_update_content: "Do you really want to cancel the update of {{info}} ?",
dialog_start_installation_title: "Install {{game}} - {{channel}}",
dialog_start_installation_content_location: "The game will be installed at the following location:",
dialog_start_installation_content_location_settings: "You can change the game location in the Game Settings.",
dialog_start_installation_content_location_close_popover: "Please close this dialog if you need to change the game installation location first.",
dialog_start_installation_action_go_to_settings: "Game Settings",
dialog_start_installation_action_install: "Install",
dialog_launch_check_update_available_title: "Game version update",
dialog_launch_check_update_available_content: "A new version of {{game}} - {{channel}} is available. Please update to access the game.",
dialog_discover_title: "The Launcher has a new UI!",
dialog_discover_content: "The RSI Launcher has a brand-new look! We have prepared a little tour to show you around.",
dialog_discover_start: "Start tour",
dialog_discover_skip: "Skip",
dialog_debug_cache_clear_title: "Clear Launcher Cache",
dialog_debug_cache_clear_content: "This action will clear the Launcher cache and log you out, do you really want to proceed?",
dialog_debug_cache_clear_button: "Proceed",
dialog_warning_change_game_title_dialog: "Change game location",
dialog_warning_change_game_question_dialog: "{{game}} - {{channel}} is already installed at the current location. Do you want to change the game library?",
dialog_warning_change_installed_game_question_dialog: "Are you sure you want to change this library location?",
dialog_warning_change_game_current_dialog: "Current:",
dialog_warning_change_game_new_dialog: "New:",
dialog_warning_change_game_warn_dialog: "If you wish to proceed, make sure to move your files to the new location and verify or reinstall the game at the new location.",
dialog_settings_delete_local_title: "Manage Local Settings"
},
discover: {
step_done_label: "Enter Now",
step_menu_title: "Launcher App Menu",
step_menu_description: "Quick access to settings and useful resources can be found in this menu, such as Support, Spectrum, and Issue Council.",
step_status_title: "Status",
step_status_description: "Monitor the status of RSI services here. If there are any performance or service interruptions, you will see it here.",
step_download_title: "Download Management",
step_download_description: "Follow the progress of your game downloads / updates, pause the current download, or quickly access the download settings here.",
"step_user-profile_title": "User Profile",
"step_user-profile_description": "See which account is currently logged-in here. Use this menu to directly access your RSI account page or log out if you need to switch accounts. ",
step_last_title: "Launcher Evolution",
step_last_description: "The RSI Launcher will continue to evolve through time. Please do not hesitate to give us your feedback on Issue Council. Thank you for supporting the development."
},
download: {
download_empty: "There is no download in the queue.",
download_phase: "Phase",
download_status: "Status",
download_speed: "Speed",
download_left: "Left",
download_files_left: "Files left",
download_settings: "Download Settings",
download_play: "Play",
download_pause: "Pause",
download_initializing: "Initializing\u2026",
download_update_manifest: "Downloading update manifest",
download_manifest: "Downloading manifest",
downloaded_update_manifest: "Update manifest downloaded",
download_analysing_install: "Analyzing current installation",
download_checking_files: "Checking files - This can take a few minutes",
download_base_pack: "Downloading base pack",
download_updating_game_files: "Updating game files",
download_updating_game_content: "Updating game content",
download_verifying_game_content: "Verifying game content",
download_completed: "Completed",
download_waiting: "Waiting in queue",
download_cancelling: "Cancelling",
download_resume: "Resume",
download_cancel: "Cancel",
download_remove: "Remove",
download_error: "Error",
download_downloads_on_going: "Ongoing",
download_downloads_waiting: "Up Next",
download_downloads_finished: "Finished",
download_toast_install_success: "Installation has been completed",
download_toast_update_success: "Update has been completed",
download_toast_verify_success: "Verification has been completed",
download_toast_cancel_install_success: "Installation has been canceled",
download_toast_cancel_verify_success: "Verification has been canceled",
download_toast_cancel_update_success: "Update has been canceled",
download_toast_uninstall_success: "{{game}} - {{channel}} has been uninstalled",
download_toast_uninstall_fail: "{{game}} - {{channel}} could not be uninstalled",
download_type_install: "Installation",
download_type_update: "Update",
download_type_verify: "Verify",
download_toast_fix_permission_success: "Permissions fixed. Please verify the game to proceed.",
download_toast_fix_permission_fail: "Failed to fix permissions for {{game}} - {{channel}}. Please try again."
},
errors: {
error_game_package_missing_title: "Missing a game package",
error_game_package_missing_subtitle: "You need to purchase a game package to access the game and log-in",
error_game_package_missing_retry: "Retry Sign In",
error_game_package_missing_support: "Customer Support",
error_sign_in_offline_header_title: "You are currently offline",
error_sign_in_offline_header_subtitle: "It is impossible to connect to our server. Please check your network and retry.",
error_sign_in_offline_content_title: "Why can't I enter in offline mode?",
error_sign_in_offline_content_description: "You are not able to enter the offline mode for one of the following reasons:",
error_sign_in_offline_content_description_first: "You haven't checked \u201cRemember me\u201d",
error_sign_in_offline_content_description_second: "Your device trust period has expired",
error_sign_in_offline_content_description_third: "You haven't signed in during the last 30 days",
error_sign_in_offline_exit: "Exit",
error_sign_in_offline_retry: "Retry",
error_internal_error: "Internal Error",
error_not_authenticated: "You are not authenticated",
error_invalid_claims: "Invalid claims",
error_authentication_mfa: "Authentication requires mfa",
"error_sign-in_failed": "Sign in failed. You may have entered the wrong credentials.",
error_sign_in_not_authorized: "You don't have access to this version of the RSI Launcher. Please download the public version from <0>the website</0>.",
error_captcha_invalid: "Captcha is invalid",
error_session_expired: "Your session has expired. Please confirm your password again.",
error_wrong_credentials: "You may have entered the wrong credentials, the account does not exist, or has not been activated.",
error_max_login_attempt: "Maximum number of failed login attempts exceeded.",
error_wrong_mfa_code: "Two-factor authentication failed. You may have entered an incorrect or expired code.",
error_captcha_required: "Captcha verification is required.",
error_game_error_code: "Game error code: {{ code }}",
error_installer_error_code: "Error code: {{ code }}",
error_installer_support_permission_title: "Insufficient Permission",
error_installer_support_permission_content: "You must give the Launcher permission to perform the installation process on your system.",
error_installer_create_directory_title: "Unable to Create Folder",
error_installer_create_directory_content_1: "Something went wrong while trying to create the channel folder.",
error_installer_create_directory_content_2: "Please consider creating the channel folder manually and try again. The folder must be created on the following path: ",
error_installer_more_info_content: "Find more information on the <0>Knowledge base</0>.",
error_installer_basepack_invalid_title: "Basepack - Invalid Files",
error_installer_basepack_invalid_content: "Something went wrong while downloading the game, please try again.",
error_installer_disc_full_title: "Insufficient Disk Space",
error_installer_disc_full_content: "Your hard drive does not have the available space required. Free space or move your library folder to a larger disk.",
error_installer_permissions_title: "Filesystem Permission Error",
error_installer_permissions_content: "The patcher encountered a permissions issue when writing to disk. Please check your library folder permissions and try again.",
error_installer_permissions_action: "Fix permissions",
error_installer_file_in_use_title: "File In Use",
error_installer_file_in_use_content: "The game files are in use. Please close any game files you may have open, then try again.",
error_installer_pk4_corrupted_title: "Game Files Are Corrupted",
error_installer_pk4_corrupted_content: "Your game files are corrupted and unrecoverable.",
error_installer_retrieve_manifest_title: "Cannot Retrieve Update Manifest",
error_installer_retrieve_manifest_content: "A network error occurred fetching the update manifest. Please check your internet connection, restart the launcher, and try again.",
error_installer_retry_download: "Retry Download",
error_installer_unknown_network_title: "Unknown Network Error",
error_installer_unknown_network_content: "Please check your network access and try again.",
error_installer_base_p4k_corrupted_title: "Base Pack Verification Error",
error_installer_base_p4k_corrupted_content: "Failed to verify Basepack.",
error_installer_init_download_title: "Initial Download - Base Pack - Error",
error_installer_patcher_title: "Data Patcher Error",
error_installer_title: "Installer Error",
error_installer_patcher_generic_content: "An error has occured during the installation process. Find more information on the <0>Knowledge base</0>.",
error_installer_generic_content: "An error has occured during the installation process.",
error_report_bug: "Please <0>report a bug</0> if the problem persists. Make sure to include your <1>logs</1>.",
error_generic_title: "Launcher Error",
error_generic_content: "Something went wrong.",
error_os_requirements_title: "Minimum Requirements Not Met",
error_os_requirements_text: "Your computer does not meet the <0>minimum requirements</0> to run {{ game }}.",
error_cpu_requirements_title: "Unsupported Hardware Detected",
error_cpu_requirements_text: "This game requires a CPU supporting the AVX instruction set to run.",
error_launch_account_not_found_title: "Copy Your Account To PTU",
error_launch_account_not_found_content: "In order to play in the Public Test Universe (PTU), you need to copy your account to the PTU. Please follow the steps <0>here</0> and try again.",
error_launch_unknown_title: "Launcher - Unknown Error",
error_launch_unknown_content: "Something went wrong on Launch. Please, verify game files.",
error_launch_error_code: "Game error code: {{ code }}",
error_launch_no_game_files_title: "Launch - Game Files Not Found",
error_launch_no_game_files_content: "Something went wrong on game launch. Could not retrieve game files. Please verify game files. ",
error_launch_EAC_title: "Launch - EAC error",
error_launch_EAC_content: "Something went wrong on Launch. EAC detected corrupted files. Please verify game files.",
error_launch_game_crash_title: "{{ game }} Has Stopped Running Unexpectedly",
error_launch_game_crash_content_1: "Something went wrong while playing the game.",
error_launch_game_crash_content_2: "Please try relaunching the game. If this problem persists, verify your installation files.",
error_launch_game_running_title: "Game Is Already Running",
error_launch_game_running_content: "The game is already running",
error_launch_check_update_unavailable_title: "Check Game Version Failed",
error_launch_check_update_unavailable_content: "Something went wrong while checking your game version.",
error_launch_game_crash_info: "Crash Digest:",
error_launch_game_crash_retrieving_crash_info: "Retrieving data",
error_launch_game_crash_could_not_retrieve_crash_info: "Could not retrieve data",
error_api_denied_request_title: "API Denied Request",
error_api_denied_request_content: "Something went wrong. It appears that your session is expired or has been denied. You have been logged out. Please try again.",
error_api_validation_failed: "API Request validation failed",
error_api_too_many_requests_title: "Too Many Requests",
error_api_too_many_requests_content: "API is currently overloaded, please try again in a couple of minutes.",
error_api_unavailable: "API is unavailable. Please try again in a few minutes.",
error_api_internal_server_error: "Our servers are experiencing difficulties. Please try again in a few minutes.",
error_api_auth_expired_content: "Your session has expired. Please confirm your password again.",
error_api_auth_expired_title: "Session Expired",
error_api_platform_auth_title: "Platform Auth Error",
error_api_platform_auth_content: "Unable to authenticate to authenticate on {{ id }} platform : {{ error }}",
error_network_issue_title: "Network Issue",
error_network_issue_content: "Network connection cannot be established. Please check your network status and attempt to connect again."
},
form: {
sign_in_title: "Sign in to the RSI Launcher",
sign_in_email: "Email",
sign_in_password: "Password",
sign_in_remember_me: "Remember me",
sign_in_forgot_password: "Forgot password?",
sign_in_captcha: "Captcha",
sign_in_captcha_refresh: "Refresh",
sign_in_captcha_help: "Enter the text you see in the image above.",
sign_in_no_account: "No account?",
sign_in_create_account: "Create one!",
sign_in_submit: "Sign in",
sign_in_loading: "Signing in\u2026",
sign_in_prerelease: "This is a prerelease version of the RSI Launcher",
sign_in_mfa_title: "We need to verify your identity",
sign_in_mfa_subtitle: "Protecting your account is important to us. We sent an authentication code to the email address attached to your account.",
sign_in_mfa_code_label: "Authentification code",
sign_in_mfa_code_help: "Enter the code sent to your email or from your authenticator. Alternatively use a backup code.",
sign_in_mfa_device_label: "Device name",
sign_in_mfa_device_help: "Enter a name for your current device.",
sign_in_mfa_duration_label: "Trust this device for",
sign_in_mfa_duration_help: "Allow this device to skip MFA for a selected amount of time. If this is a shared or public device we recommend \u201cthis session only\u201d.",
sign_in_mfa_session: "This session only",
sign_in_mfa_day: "One day",
sign_in_mfa_week: "One week",
sign_in_mfa_month: "One month",
sign_in_mfa_year: "One year",
sign_in_mfa_back_sign_in: "Back",
sign_in_mfa_submit: "Authenticate",
error_field_is_required: "This field is required",
error_email_field_is_required: "An email adress is required",
error_password_field_is_required: "A password is required",
error_code_required: "You must enter your code",
error_device_required: "You must enter your device name",
error_device_min_length: "Your device name must be at least 3 characters in length",
text_field_show_password: "Show password",
text_field_hide_password: "Hide password"
},
gamePage: {
game_page_title: "Get into the<0/><1>{{name}} Universe</1>",
game_page_nav_title_one: "Game",
game_page_nav_title_other: "Games",
game_page_game_is_running: "Game is running",
game_page_installing: "Installing\u2026",
game_page_installing_paused: "Install paused",
game_page_updating: "Updating\u2026",
game_page_updating_paused: "Update paused",
game_page_verifying: "Verifying\u2026",
game_page_uninstalling: "Uninstalling",
game_page_verifying_paused: "Verify paused",
game_page_update_game: "Update Game",
game_page_launch_game: "Launch Game",
game_page_install_game: "Install Game",
game_page_waiting_in_queue: "Waiting in queue",
game_page_channels: "Game Environment",
game_page_settings: "Game Settings",
game_page_settings_verify: "Verify Game Files",
game_page_settings_show_in_explorer: "Show in Explorer",
game_page_settings_check_update: "Check for Updates",
game_page_settings_uninstall: "Uninstall Game",
game_page_settings_check_update_toast_yes: "An update is available for {{game}} - {{channel}}.",
game_page_settings_check_update_toast_no: "{{game}} - {{channel}} is up to date.",
game_page_update_game_is_available: "Read about {{version}} features, <0>see patch notes</0>",
game_page_game_is_not_available_offline: "You are currently offline. {{game}} requires an internet connection to run.",
game_page_status_under_maintenance: "We have ongoing maintenance on one of our services.",
game_page_status_issue: "We are working on resolving an issue. Enter at your own risk.",
game_page_status_more_information: "For more information check out the <0>status page</0>.",
game_page_cards_empty: "No content available for now",
game_page_cards_loading: "Loading content.",
game_page_cards_tab_community: "Community",
"game_page_cards_tab_comm-links": "Comm-Links",
"game_page_cards_tab_new-citizens": "New Citizens",
"game_page_cards_tab_patch-notes": "Patch Notes",
game_page_card_button_label: "Read More"
},
settingsPage: {
settings_main_title: "Settings",
settings_about_title: "About",
settings_application_title: "Application",
settings_games_title: "Games",
settings_download_title: "Download",
settings_dev_title: "Dev / QA",
settings_storage_title: "Storage",
settings_nav_items_application: "Application",
settings_nav_items_accessibility: "Accessibility",
settings_nav_items_games: "Games",
settings_nav_items_about: "About",
settings_nav_items_download: "Download",
settings_nav_items_storage: "Storage",
settings_nav_items_dev: "DEV \ud83d\ude80",
settings_about_logo_alt: "Cloud Imperium\xa9",
settings_about_copyright: "\xa9 2012 - {{year}} Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd",
settings_about_launcher_version: "Launcher version:",
settings_about_launcher_preversion: "(prerelease)",
settings_application_window_behavior_title: "Window Behavior",
settings_application_window_behavior_description: "This option will allow you to quit the app when the window is closed.",
settings_application_window_behavior_close_to_quit: "Enable close-to-quit",
settings_application_debug_tools_title: "Launcher debug tools",
settings_application_debug_tools_description: "If you have trouble with the Launcher, clearing the cache may solve the issue. You may also need to locate your logs file, this can be useful for reporting a bug on the Launcher <iclink>Issue Council</iclink>.",
settings_application_debug_tools_label: "Debug tools",
settings_application_debug_tools_button_clear_cache: "Clear Launcher Cache",
settings_application_debug_tools_button_get_logs: "Get Logs",
settings_application_debug_tools_button_cache_clear_success: "Cache Cleared",
settings_accessibility_title: "Accessibility",
settings_accessibility_reduce_motion_title: "Reduce Motion",
settings_accessibility_reduce_motion_description: "Reduce the number of animations in the Launcher such as background videos, icon animations and page transitions.",
settings_accessibility_reduce_motion_system_sync_title: "Sync with operating system",
settings_accessibility_reduce_motion_system_sync_description: "Follow operating system Reduce Motion preferences",
settings_accessibility_reduce_motion_background_video_toggle_title: "Disable background video",
settings_accessibility_reduce_motion_background_video_toggle_description: "Replace the video loop with a static image",
settings_accessibility_reduce_motion_unessential_animation_toggle_title: "Disable non-essential animations",
settings_accessibility_reduce_motion_unessential_animation_toggle_description: "Decorative icons, logos, mouse interactions...",
settings_accessibility_reduce_motion_transition_effects_toggle_title: "Disable transition effects",
settings_accessibility_reduce_motion_transition_effects_toggle_description: "Animations between sections (pages, tabs...)",
settings_accessibility_reduce_motion_information_enabled: "Operating system Reduce Motion is activated.",
settings_accessibility_reduce_motion_information_disabled: "Operating system Reduce Motion is deactivated.",
settings_accessibility_reduce_motion_information_restart_link_label: "Your changes will be applied on next launch. <iclink>Restart now</iclink>.",
settings_games_installation_title: "Game location",
settings_games_installation_description: "This is the path of your game folder location.",
settings_games_installation_information: "If your game is already installed at a different location, select it here, then hit Verify.",
settings_games_installation_path_title: "Game location complete path:",
settings_games_installation_library_folder_success: "Path updated",
settings_games_installation_library_folder_change: "Change",
settings_games_installation_library_folder_label: "RSI Library Location",
settings_games_game_files_title: "Installation",
settings_games_game_files_description: "Install/Uninstall this game channel or verify if the game files are installed correctly on your computer.",
settings_games_game_files_verify_files: "Verify Game",
settings_games_game_files_verifying_files: "Verifying game",
settings_games_game_files_install_files: "Install Game",
settings_games_game_files_installing_files: "Installing",
settings_games_game_files_updating_files: "Installing",
settings_games_game_files_uninstall_files: "Uninstall Game",
settings_games_game_files_uninstalling_files: "Uninstalling",
settings_games_game_files_process_paused: "Paused",
settings_common_reset: "Reset all changes",
settings_common_reset_confirmation: "Changes have been reset for this game channel",
settings_common_accordion_open_all: "Expand all",
settings_common_accordion_close_all: "Collapse all",
settings_common_back: "Back",
settings_common_saved: "Saved",
settings_download_main_title: "Bandwidth usage",
settings_download_main_content: "Adjust the bandwidth usage of the download to optimize your internet speed",
settings_storage_main_title: "Default Library",
settings_storage_main_description: "This is where new games and environments will be installed by default.",
settings_storage_default_library_folder_label: "Game Library Location",
settings_storage_additional_libs_title: "Additional Libraries",
settings_storage_additional_libs_description: "Create Libraries in one or multiple drives",
settings_storage_add_additional_libraries: "ADD NEW LIBRARY",
settings_download_concurrent_title: "Concurrent Download",
settings_download_concurrent_desc: "Adjust the maximum number of simultaneous downloads allowed at once, optimizing your download experience to match your preferences and network capabilities.",
settings_download_speed_title: "Download Speed Limit",
settings_download_speed_desc: "Regulate download speed by setting a cap on the data transfer rate per second for each concurrent download connection.",
settings_download_speed_unlimited: "Unlimited",
settings_application_discover_behavior_title: "Discover Behavior",
settings_application_discover_behavior_description: "The discover is only displayed at the first visit (or by clicking the Discover button in RSI menu). This option will allow you to re-enable Discover on load for testing purpose.",
settings_application_discover_behavior_isDiscoverDone: "isDiscoverDone",
settings_download_force_datapatcher_title: "Download Settings",
settings_download_force_datapatcher_description: "Change settings for the download of the game",
settings_download_force_datapatcher_force_datapatcher_toggle: "Data Patcher only (this setting will not be persisted)",
settings_download_force_datapatcher_force_datapatcher_description: 'Remove the download of the basepack (NMD) and use only the Data Patcher. Prerequisite : Create the file "Data.p4k" by hand before starting the download.',
settings_application_language_title: "Language",
settings_application_language_description: "App Language",
settings_application_language_en: "English",
settings_application_language_fr: "French",
settings_games_launch_command_line: "Additional Command Line Arguments",
settings_games_launch_disclaimer: "This action will apply the next time you will launch the game",
settings_games_launch_hostname: "Universe Host",
settings_games_launch_port: "Universe Port",
settings_games_launch_executable: "Executable",
settings_games_launch_launch_options: "Launcher Options",
settings_games_launch_eac_title: "Easy Anti-Cheat",
settings_games_launch_eac_description: "Easy Anti-Cheat is an anti-cheat service used by numerous popular games, countering cheating and the use of unauthorized third party software in multiplayer PC games.",
settings_games_launch_eac_informative: "You need to set the right executable above to enable EAC bypass",
settings_games_launch_eac_disable: "Enable Easy Anti-Cheat bypass",
settings_games_launch_default: "Default:",
settings_games_info_move_directory: "If your game is already installed at a different location, please move your game folder to the following Game Library location",
settings_gmaes_info_complete_path: "Complete path: ",
settings_games_manage_game_libraries: "Manage game libraries",
settings_games_game_location_title: "Game Location",
settings_games_game_location_description: "Select the library where you want this game to be installed",
settings_action_set_default: "Set as Default",
settings_action_delete_library: "Delete Library",
settings_toast_delete_lib_success: "Library has been deleted",
settings_toast_default_lib_updated: "Default library has been updated",
settings_toast_lib_added: "A new library has been created",
settings_games_local_title: "Local Settings Management",
settings_games_local_description: "Select the local settings you want to delete. This can be useful to troubleshoot in-game issue you may encounter.",
settings_games_local_button: "Manage Local Settings",
settings_games_local_shaders_folder: "Shaders folder",
settings_games_local_screenshots_folder: "Screenshots folder",
settings_games_local_user_folder: "User folder",
settings_games_local_keybindings: "Keybindings (Controls)",
settings_games_local_settings: "Settings preferences (Profiles)",
settings_games_local_characters: "Custom characters",
settings_games_local_delete_description: "Please choose which files you want to delete.",
settings_games_local_delete_success: "Local settings have been deleted",
settings_games_local_delete_error: "Delete local settings failed",
settings_games_local_delete_error_message: "Something went wrong, please make sure the files you are trying to delete are not in use, then try again."
},
status: {
status_title: "RSI Status",
status_empty: "There is no status available.",
status_last_updated: "Last updated {{time}}",
status_last_updated_empty: "No data available at the moment.",
status_more_information: "More information",
status_major: "Major Outage",
status_partial: "Partial Outage",
status_degraded: "Degraded Performances",
status_maintenance: "Under Maintenance",
status_operational: "Operational"
},
tray: {
tray_website: "Visit website",
tray_report_bug: "Report a bug",
tray_spectrum: "Spectrum",
tray_community_hub: "Community hub",
tray_support: "Support",
tray_mute: "Mute sound",
tray_unmute: "Unmute sound",
tray_logout: "Log out",
tray_quit: "Quit"
}
}, t = {
agreements: {
agreement_fetch_info_error: "Impossible de r\xe9cup\xe9rer l'accord du serveur pour le moment, veuillez patienter une minute et r\xe9essayer.",
agreement_declined: "L'accord a \xe9t\xe9 refus\xe9 "
},
appHeader: {
app_header_menu: "Menu",
app_header_volume: "Volume",
app_header_volume_mute: "D\xe9sactiver le son",
app_header_volume_unmute: "Activer le son",
app_header_account: "Compte",
app_header_account_name: "Nom",
app_header_account_moniker: "@Surnom de la Communaut\xe9",
app_header_menu_get_help: "Obtenir de l'aide",
app_header_menu_spectrum: "Spectrum",
app_header_menu_issue_council: "Issue Council",
app_header_menu_discover: "D\xe9couvrir",
app_header_menu_exit_the_app: "Quitter l'application",
app_header_menu_settings: "Param\xe8tres",
app_header_actions_download: "T\xe9l\xe9chargements",
app_header_actions_menu_rsi_account: "Compte RSI",
app_header_actions_menu_log_out: "Se d\xe9connecter",
app_header_actions_menu_rsi_status: "Statut RSI",
app_header_loading: "Entering the verse\u2026"
},
autoUpdate: {
auto_update_dialog_close: "Fermer",
auto_update_dialog_title: "Version de l'application",
auto_update_dialog_sub_title: "Version {{version}}",
auto_update_dialog_no_update_content: "Vous avez d\xe9j\xe0 la derni\xe8re version du Launcher RSI.<0/>Merci d'\xeatre \xe0 jour !",
auto_update_dialog_no_update_action_primary_label: "Continuer",
auto_update_dialog_update_available_content: "Une nouvelle version du Launcher RSI est disponible, vous pouvez l'installer.<0/>L'application se fermera et se relancera une fois l'installation termin\xe9e.",
auto_update_dialog_update_available_action_primary_label: "Installer plus tard",
auto_update_dialog_update_available_action_secondary_label: "Installer et red\xe9marrer",
auto_update_dialog_update_install_failed_content: "La mise \xe0 jour de la nouvelle version a \xe9chou\xe9e, merci de r\xe9essayer ou contacter le <0>support client</0>",
auto_update_dialog_update_install_failed_action_primary_label: "R\xe9essayez l'installation",
auto_update_dialog_update_install_failed_action_secondary_label: "Installer plus tard",
auto_update_dialog_update_quit_game_content: "Vous avez actuellement une session de jeu en cours. Si vous souhaitez continuer et installer la nouvelle version, le jeu sera ferm\xe9 et votre progression risque d'\xeatre perdue",
auto_update_dialog_update_quit_game_action_primary_label: "Quitter le jeu et installer",
auto_update_dialog_update_quit_game_action_secondary_label: "Essayer plus tard",
auto_update_toast_update_installed: "La nouvelle version de l'application a \xe9t\xe9 install\xe9e"
},
connection: {
connection_title: "Mode d\xe9connect\xe9",
connection_offline_information: "Vous \xeates actuellement d\xe9connect\xe9, certaines fonctionnalit\xe9s ne sont pas accessible. Vous serez automatiquement reconnect\xe9 d\xe8s que votre connexion internet sera de retour.",
connection_offline_trying_to_reconnect: "Tentative de reconnexion",
connection_toast_connection_available: "Reconnexion r\xe9ussie",
connection_toast_action_continue_offline: "Continuer hors ligne",
connection_toast_warning_lost_connection_title: "Vous \xeates actuellement hors ligne",
connection_toast_warning_lost_connection_content: "Il semble que vous soyez hors ligne. Lorsque votre connexion Internet sera r\xe9tablie, vous serez reconnect\xe9 automatiquement. Vous pouvez continuer \xe0 utiliser le lanceur en mode hors ligne.",
connection_toast_warning_lost_connection_remaining: "Temps restant hors ligne avant d\xe9connexion"
},
contextMenu: {
context_menu_copy: "Copier",
context_menu_paste: "Coller",
context_menu_cut: "Couper",
context_menu_select_all: "Tout selectionner"
},
dialog: {
dialog_warning_logout_title: "Quitter l'application",
dialog_warning_logout_text: "\xcates-vous s\xfbr de vouloir de vous d\xe9connecter?",
dialog_warning_logout_game_running_text: "\xcates-vous s\xfbr de vouloir vous d\xe9connecter lorsque le jeu est en cours d'ex\xe9cution? Les progr\xe8s pourraient \xeatre perdus.",
dialog_warning_logout_confirm: "Quitter",
dialog_warning_logout_error: "Une erreur est apparue lorsque vous avez essay\xe9 de vous d\xe9connecter. Votre session pourrait \xeatre expir\xe9e. Essayez de vous connecter \xe0 nouveau.",
dialog_warning_duplicate_library_title: "La biblioth\xe8que de jeux existe d\xe9j\xe0",
dialog_warning_duplicate_library_content: "Une biblioth\xe8que existe d\xe9j\xe0 \xe0 l'emplacement que vous avez choisi. Veuillez s\xe9lectionner un autre emplacement et r\xe9essayer.",
dialog_warning_delete_game_library_title: "Supprimer la biblioth\xe8que de jeux",
dialog_warning_delete_game_library_location: "Voulez-vous vraiment supprimer la biblioth\xe8que de jeux suivante ?",
dialog_warning_delete_game_library_games: "Le(s) jeu(x) suivant(s) utilisent actuellement cette biblioth\xe8que:",
dialog_warning_delete_game_library_content: "La biblioth\xe8que par d\xe9faut sera utilis\xe9e \xe0 la place. Veuillez vous assurer de d\xe9placer vos dossiers de jeu au bon emplacement.",
dialog_warning_set_default_library_title: "Changer la biblioth\xe8que par d\xe9faut",
dialog_warning_set_default_library_content: "Voulez-vous vraiment d\xe9finir la biblioth\xe8que suivante comme emplacement par d\xe9faut pour toute nouvelle installation ?",
dialog_action_set_default_library: "D\xe9finir Comme Par D\xe9faut",
dialog_action_cancel: " Annuler",
dialog_action_confirm: "Confirmer",
dialog_action_proceed: "Continuer",
dialog_action_acknowledge: "Affirmer",
dialog_action_ok: "OK",
dialog_action_close: "Fermer",
dialog_action_retry: "R\xe9-essayer",
dialog_action_accept: "Accepter",
dialog_action_decline: "Decliner",
dialog_action_verify: "Verify",
dialog_action_install: "Installer le jeu",
dialog_action_relaunch: "Relancer",
dialog_action_delete: "Supprimer",
dialog_action_browse_library: "parcourir la biblioth\xe8que",
dialog_warning_back_launcher: "Retour vers le launcher",
dialog_warning_exit_app_title: "Quitter l'application",
dialog_warning_exit_app_text: "\xcates-vous s\xfbr de vouloir quitter l'application lorsque le jeu est en cours d'ex\xe9cution? Les progr\xe8s pourraient \xeatre perdus.",
dialog_warning_exit_app_checkbox: "Ne plus afficher ce message",
dialog_warning_exit_app_confirm: "Quitter l'application",
dialog_warning_exit_app_game_running_text: "Vous ne pouvez pas fermer l'application lorsque le jeu est lanc\xe9.",
dialog_warning_uninstall_title: "D\xe9sinstallation {{game}} - {{channel}}",
dialog_warning_uninstall_text: "Voulez-vous d\xe9sinstaller ce jeu de votre ordinateur ? Veuillez not\xe9 que les fichiers du jeu seront supprim\xe9s pour tous les utilisateurs de cette machine.",
dialog_warning_uninstall_userFolder_checkbox: "Garder mon dossier utilisateur (raccourcis clavier et pr\xe9f\xe9rences de param\xe8tres)",
dialog_warning_uninstall_userFolder_checkbox_description: "Position: {{path}}",
dialog_warning_uninstall_confirm: "D\xe9sinstaller le jeu",
dialog_settings_reset_title: "R\xe9initialiser les options",
dialog_settings_reset_content: "\xcates-vous s\xfbr de vouloir r\xe9initialiser vos param\xe8tres de jeu ?",
dialog_settings_reset_button: "R\xe9initialiser les options par d\xe9faut",
dialog_settings_game_not_installed_title: "Le jeu n'est pas install\xe9",
dialog_settings_game_not_installed_content: "Le jeu que vous essayez de v\xe9rifier n'est pas actuellement install\xe9 \xe0 cet emplacement. Veuillez d'abord installer le jeu et r\xe9essayer.",
dialog_cancel_install_title: "Annuler Installation",
dialog_cancel_install_content: "Est-ce que vous voulez vraiment annuler l'installation de {{info}} ?",
dialog_cancel_install_content_keep_files_downloaded: "Garder les fichiers d\xe9j\xe0 t\xe9l\xe9charg\xe9s",
dialog_cancel_verify_title: "Annuler V\xe9rification",
dialog_cancel_verify_content: "Est-ce que vous voulez vraiment annuler la v\xe9rification de {{info}} ?",
dialog_cancel_updte_title: "Annuler Mise \xe0 Jour",
dialog_cancel_update_content: "Est-ce que vous voulez vraiment annuler la mise \xe0 jour de {{info}} ?",
dialog_start_installation_title: "Installation {{game}} - {{channel}}",
dialog_start_installation_content_location: "Le jeu va \xeatre install\xe9 \xe0 l'emplacement suivant:",
dialog_start_installation_content_location_settings: "Vous pouvez changer l'emplacement du jeu dans les param\xe8tres de jeu.",
dialog_start_installation_content_location_close_popover: "Veuillez fermer cette bo\xeete de dialogue si vous devez d'abord modifier l'emplacement d'installation du jeu.",
dialog_start_installation_action_go_to_settings: "Param\xe8tres de Jeu",
dialog_start_installation_action_install: "Installer",
dialog_launch_check_update_available_title: "Mise \xe0 jour du jeu",
dialog_launch_check_update_available_content: "Une nouvelle version de {{game}} - {{channel}} est disponible. S'il vous plait, mettez \xe0 jour votre jeu pour le lancer.",
dialog_discover_title: "Le Launcher a une nouvelle interface utilisateur !",
dialog_discover_content: "Le Launcher RSI a un tout nouveau look ! Nous avons pr\xe9par\xe9 une petite visite pour vous montrer les alentours.",
dialog_discover_start: "Commencer la visite",
dialog_discover_skip: "Passer",
dialog_debug_cache_clear_title: "Vider le cache du Launcher",
dialog_debug_cache_clear_content: "Cette action va vider le cache du Launcher et vous d\xe9connecter, voulez-vous vraiment continuer ?",
dialog_debug_cache_clear_button: "Continuer",
dialog_warning_change_game_title_dialog: "Modifier l'emplacement du jeu",
dialog_warning_change_game_question_dialog: "{{game}} - {{channel}} est d\xe9j\xe0 install\xe9 \xe0 l'emplacement actuel. Voulez-vous changer la biblioth\xe8que du jeu?",
dialog_warning_change_installed_game_question_dialog: "\xcates-vous s\xfbr de vouloir changer l'emplacement de cette biblioth\xe8que?",
dialog_warning_change_game_current_dialog: "Actuel:",
dialog_warning_change_game_new_dialog: "Nouveau:",
dialog_warning_change_game_warn_dialog: "Si vous souhaitez continuer, assurez-vous de d\xe9placer vos fichiers vers le nouvel emplacement et de v\xe9rifier ou r\xe9installer le jeu \xe0 cet endroit.",
dialog_settings_delete_local_title: "Gestion des Param\xe8tres Locaux"
},
discover: {
step_done_label: "Enter Now",
step_menu_title: "Menu de l'application du Launcher",
step_menu_description: "Acc\xe8s rapide aux param\xe8tres et aux ressources utiles telles que le support, Spectrum et le Issue Council.",
step_status_title: "Statut",
step_status_description: "Surveillez l'\xe9tat des services RSI. Si des probl\xe8mes de performance ou des interruptions de service se produisent, vous les verrez ici.",
step_download_title: "Gestion des t\xe9l\xe9chargements",
step_download_description: "Suivez la progression de vos t\xe9l\xe9chargements et mises \xe0 jour de jeux, mettez en pause le t\xe9l\xe9chargement en cours ou acc\xe9dez rapidement aux param\xe8tres de t\xe9l\xe9chargement.",
"step_user-profile_title": "Profil utilisateur",
"step_user-profile_description": "Voyez quel utilisateur est actuellement connect\xe9 et acc\xe9dez rapidement \xe0 la page du compte. Utilisez ce menu pour vous d\xe9connecter si vous devez changer de compte.",
step_last_title: "\xc9volution du Launcher",
step_last_description: "Le Launcher RSI continuera \xe0 \xe9voluer avec le temps. N'h\xe9sitez pas \xe0 nous donner vos commentaires sur le Issue Council. Merci de soutenir le d\xe9veloppement."
},
download: {
download_empty: "Il n'y a pas de t\xe9l\xe9chargment en attente.",
download_phase: "Phase",
download_status: "Status",
download_speed: "Vitesse",
download_left: "Restant",
download_files_left: "Fichiers restant",
download_settings: "Param\xe8tres de t\xe9l\xe9chargment",
download_play: "Lecture",
download_pause: "Arret",
download_initializing: "Initialisation\u2026",
download_update_manifest: "T\xe9l\xe9chargement du manifeste mis \xe0 jour",
download_manifest: "T\xe9l\xe9chargement du manifeste",
downloaded_update_manifest: "Mise \xe0 jour du manifeste t\xe9l\xe9charg\xe9",
download_analysing_install: "Analyse de l'installation actuelle",
download_checking_files: "V\xe9rification des fichiers - Cela peut prendre quelques minutes",
download_base_pack: "T\xe9l\xe9chargement du pack de base",
download_updating_game_files: "Mise \xe0 jour des fichiers du jeu",
download_updating_game_content: "Mise \xe0 jour du contenu du jeu",
download_verifying_game_content: "V\xe9rification du contenu du jeu",
download_completed: "Complet\xe9",
download_cancelling: "Annulation",
download_resume: "Reprendre",
download_cancel: "Annuler",
download_remove: "Supprimer",
download_error: "Erreur",
download_downloads_on_going: "En cours",
download_downloads_waiting: "En attente",
download_downloads_finished: "Finis",
download_toast_install_success: "L'installation est termin\xe9e",
download_toast_update_success: "L'update est termin\xe9e",
download_toast_verify_success: "La verification des fichiers est termin\xe9e",
download_toast_cancel_install_success: "L'installation a \xe9t\xe9 annul\xe9",
download_toast_cancel_verify_success: "La v\xe9rification a \xe9t\xe9 annul\xe9",
download_toast_cancel_update_success: "La mise \xe0 jour a \xe9t\xe9 annul\xe9",
download_toast_uninstall_success: "{{game}} - {{channel}} a \xe9t\xe9 d\xe9sinstall\xe9",
download_toast_uninstall_fail: "{{game}} - {{channel}} n'a pas pu \xeatre d\xe9sinstall\xe9",
download_type_install: "Installation",
download_type_update: "Mise \xe0 jour",
download_type_verify: "V\xe9rification",
download_toast_fix_permission_success: "Permissions corrig\xe9es. Veuillez v\xe9rifier le jeu pour continuer.",
download_toast_fix_permission_fail: "Impossible de corriger les autorisations pour {{game}} - {{channel}}. Veuillez r\xe9essayer."
},
errors: {
error_game_package_missing_title: "Il manque un package de jeu",
error_game_package_missing_subtitle: "Vous devez acheter un package de jeu pour vous connecter et acc\xe9der au jeu, visitez <0>Jouer maintenant</0>",
error_game_package_missing_retry: "R\xe9essayez de me connecter",
error_game_package_missing_support: "Assistance client",
error_internal_error: "Erreur interne",
error_not_authenticated: "Vous n'\xeates pas authentifi\xe9",
error_invalid_claims: "R\xe9clamations invalides",
error_authentication_mfa: "L'authentification n\xe9cessite mfa",
"error_sign-in_failed": "La connexion a \xe9chou\xe9. Vous avez peut-\xeatre saisi de mauvaises informations d'identification.",
error_sign_in_not_authorized: "Vous n'\xeates pas autoris\xe9 \xe0 vous connecter sur cette version du Lanceur RSI. Veuillez t\xe9l\xe9charger la version public sur <0>site web</0>.",
error_captcha_invalid: "Le captcha n'est pas valide",
error_session_expired: "Votre session a expir\xe9. Veuillez confirmer \xe0 nouveau votre mot de passe.",
error_wrong_credentials: "La connexion a \xe9chou\xe9. Vous avez peut-\xeatre saisi des informations d'identification erron\xe9es, ou le compte n'existe pas, ou n'a pas \xe9t\xe9 activ\xe9.",
error_max_login_attempt: "Nombre maximum de tentatives de connexion \xe9chou\xe9es d\xe9pass\xe9.",
error_wrong_mfa_code: "Le code n'est pas valide ou est d\xe9j\xe0 utilis\xe9.",
error_captcha_required: "La v\xe9rification Captcha est obligatoire",
error_installer_error_code: "Code d'erreur : {{ code }}",
error_installer_support_permission_title: "Autorisation Insuffisante",
error_installer_support_permission_content: "Vous devez donner au lanceur l\u2019autorisation d\u2019effectuer le processus d\u2019installation sur votre syst\xe8me.",
error_installer_create_directory_title: "Impossible de cr\xe9er le dossier de cha\xeene",
error_installer_create_directory_content_1: "Une erreur s'est produite lors de la tentative de cr\xe9ation du dossier de cha\xeene.",
error_installer_create_directory_content_2: "Veuillez envisager de cr\xe9er le dossier de cha\xeene manuellement et r\xe9essayer. Le dossier doit \xeatre cr\xe9\xe9 sur le chemin suivant: ",
error_installer_more_info_content: "Trouvez plus d'informations sur le <0>Knowledge base</0>.",
error_installer_basepack_invalid_title: "Basepack - Fichiers Invalides",
error_installer_basepack_invalid_content: "Quelque chose s'est mal pass\xe9 lors du t\xe9l\xe9chargement du jeu, veuillez r\xe9essayer.",
error_installer_disc_full_title: "Espace disque insuffisant",
error_installer_disc_full_content: "Votre disque dur ne dispose pas de l'espace disponible requis. Lib\xe9rez de l'espace ou d\xe9placez votre dossier biblioth\xe8que vers un disque plus grand.",
error_installer_permissions_title: "Erreur d'autorisation du syst\xe8me de fichiers",
error_installer_permissions_content: "Le patcher a rencontr\xe9 un probl\xe8me d'autorisations lors de l'\xe9criture sur le disque. Veuillez v\xe9rifier les autorisations de votre dossier de biblioth\xe8que et r\xe9essayer.",
error_installer_permissions_action: "Corriger les autorisations",
error_installer_file_in_use_title: "Fichier en cours d'utilisation",
error_installer_file_in_use_content: "Les fichiers du jeu sont en cours d'utilisation. Veuillez fermer le jeu et le lanceur et r\xe9essayer.",
error_installer_pk4_corrupted_title: "Les fichiers du jeu sont corrompus",
error_installer_pk4_corrupted_content: "Vos fichiers de jeu sont corrompus et irr\xe9cup\xe9rables.",
error_installer_retrieve_manifest_title: "Impossible de r\xe9cup\xe9rer le manifeste de mise \xe0 jour",
error_installer_retrieve_manifest_content: "Une erreur r\xe9seau s'est produite lors de la r\xe9cup\xe9ration du manifeste de mise \xe0 jour. Veuillez v\xe9rifier votre connexion Internet, red\xe9marrer le lanceur et r\xe9essayer.",
error_installer_retry_download: "Retry Download",
error_installer_unknown_network_title: "Erreur r\xe9seau",
error_installer_unknown_network_content: "Veuillez v\xe9rifier votre acc\xe8s r\xe9seau et r\xe9essayer. Erreur r\xe9seau inconnue.",
error_installer_base_p4k_corrupted_title: "Erreur de v\xe9rification du pack de base",
error_installer_base_p4k_corrupted_content: "\xc9chec de la v\xe9rification du Basepack.",
error_installer_init_download_title: "T\xe9l\xe9chargement initial - Basepack - Erreur",
error_installer_patcher_title: "Erreur de Data Patcher",
error_installer_title: "Erreur de l'installateur",
error_installer_patcher_generic_content: "Une erreur s'est produite lors du processus d'installation. Trouvez plus d'information dans la <0>base de connaissances</0>.",
error_installer_generic_content: "Une erreur s'est produite lors du processus d'installation.",
error_report_bug: "Veuillez <0>signaler un bug</0> si le probl\xe8me persiste. Assurez-vous d'inclure vos <1>journaux</1>.",
error_generic_title: "Erreur du lanceur",
error_generic_content: "Quelque chose s'est mal pass\xe9.",
error_os_requirements_title: "Exigences minimales non remplies",
error_os_requirements_text: "Votre ordinateur ne r\xe9pond pas \xe0 la <0>configuration minimale</0> pour ex\xe9cuter {{ game }}.",
error_cpu_requirements_title: "Mat\xe9riel non pris en charge d\xe9tect\xe9",
error_cpu_requirements_text: "Ce jeu n\xe9cessite un processeur prenant en charge le jeu d'instructions AVX pour fonctionner.",
error_launch_account_not_found_title: "Copiez votre compte sur l'environement PTU",
error_launch_account_not_found_content: "Afin de pouvoir jouer sur l'environement de test (PTU) vous avez besoin de copier votre compte sur l'environement PTU. S'il vous plait, suivez les \xe9tapes <0>ici</0> et r\xe9essayer.",
error_launch_unknown_title: "Lanceur - Erreur inconnue",
error_launch_unknown_content: "Quelque chose s'est mal pass\xe9 lors du lancement. Veuillez v\xe9rifier les fichiers du jeu.",
error_launch_error_code: "Code erreur du jeu : {{ code }}",
error_launch_no_game_files_title: "Lancement - Fichiers de jeu introuvables",
error_launch_no_game_files_content: "Quelque chose s'est mal pass\xe9 lors du lancement du jeu. Impossible de r\xe9cup\xe9rer les fichiers du jeu. Veuillez v\xe9rifier les fichiers du jeu.",
error_launch_EAC_title: "Lancement - Erreur EAC",
error_launch_EAC_content: "Quelque chose s'est mal pass\xe9 au lancement. EAC a d\xe9tect\xe9 des fichiers corrompus. Veuillez v\xe9rifier les fichiers du jeu.",
error_launch_game_crash_title: "{{ game }} a cess\xe9 de fonctionner de mani\xe8re inattendue",
error_launch_game_crash_content_1: "Quelque chose s'est mal pass\xe9 pendant le jeu.",
error_launch_game_crash_content_2: "Essayez de relancer le jeu. Si ce probl\xe8me persiste, veuillez v\xe9rifier vos fichiers d'installation.",
error_launch_game_running_title: "Le jeu est d\xe9j\xe0 en cours",
error_launch_game_running_content: "Le jeu est d\xe9j\xe0 en cours d'ex\xe9cution",
error_launch_check_update_unavailable_title: "V\xe9rification de la version a \xe9chou\xe9",
error_launch_check_update_unavailable_content: "Quelque chose s'est mal pass\xe9 pendant la v\xe9rification de la version du jeu.",
error_api_denied_request_title: "Demande API refus\xe9e",
error_api_denied_request_content: "Quelque chose s'est mal pass\xe9. Il semble que votre session a expir\xe9 ou a \xe9t\xe9 refus\xe9e. Vous avez \xe9t\xe9 d\xe9connect\xe9. Veuillez r\xe9essayer.",
error_api_validation_failed: "La validation de la requ\xeate API a \xe9chou\xe9",
error_api_too_many_requests_title: "Trop de requ\xeates",
error_api_too_many_requests_content: "L'API est surcharg\xe9e. Veuillez r\xe9essayer dans quelques minutes.",
error_api_unavailable: "L'API n'est pas disponible. Veuillez r\xe9essayer dans quelques minutes.",
error_api_internal_server_error: "Nos serveurs rencontrent des difficult\xe9s. Veuillez r\xe9essayer dans quelques minutes.",
error_api_auth_expired_content: "Votre session a expir\xe9. Veuillez confirmer \xe0 nouveau votre mot de passe.",
error_api_auth_expired_title: "Session expir\xe9e",
error_api_platform_auth_title: "Erreur d'authentification de la plateforme",
error_api_platform_auth_content: "Impossible de s'authentifier sur la plateforme {{ id }} : {{ error }}",
error_network_issue_title: "Probl\xe8me de r\xe9seau",
error_network_issue_content: "La connexion r\xe9seau ne peut pas \xeatre \xe9tablie. Veuillez v\xe9rifier l'\xe9tat de votre r\xe9seau et tenter de vous connecter \xe0 nouveau."
},
form: {
sign_in_title: "Se connecter au RSI Launcher",
sign_in_email: "E-mail",
sign_in_password: "Mot de passe",
sign_in_remember_me: "Se souvenir de moi",
sign_in_forgot_password: "Mot de passe oubli\xe9",
sign_in_captcha: "Captcha",
sign_in_captcha_refresh: "Actualiser",
sign_in_captcha_help: "Entrez le texte que vous voyez dans l'image ci-dessus.",
sign_in_no_account: "Pas de compte?",
sign_in_create_account: "Cr\xe9er un compte.",
sign_in_submit: "Connexion",
sign_in_loading: "Connexion en cours\u2026",
sign_in_prerelease: "This is a prerelease version of the RSI Launcher",
sign_in_mfa_title: "Nous devons v\xe9rifier votre identit\xe9",
sign_in_mfa_subtitle: "La protection de votre compte est importante pour nous. Nous avons envoy\xe9 un code d'authentification sur la bo\xeete mail attach\xe9e \xe0 votre compte.",
sign_in_mfa_code_label: "Code d'authentification",
sign_in_mfa_code_help: "Entrez le code envoy\xe9 \xe0 votre email ou depuis votre authentificateur. Vous pouvez \xe9galement utiliser un code de secours.",
sign_in_mfa_device_label: "Nom de l'appareil",
sign_in_mfa_device_help: "Entrez un nom pour votre appareil actuel.",
sign_in_mfa_duration_label: "Se fier \xe0 cet appareil pendant",
sign_in_mfa_duration_help: "Autorisez cet appareil \xe0 ignorer MFA pendant une dur\xe9e s\xe9lectionn\xe9e. S'il s'agit d'un appareil partag\xe9 ou public, nous recommandons \xab cette session uniquement \xbb.",
sign_in_mfa_session: "Cette session uniquement",
sign_in_mfa_day: "Un jour",
sign_in_mfa_week: "Une semaine",
sign_in_mfa_month: "Un mois",
sign_in_mfa_year: "Une ann\xe9e",
sign_in_mfa_back_sign_in: "Retour",
sign_in_mfa_submit: "Authentication",
error_field_is_required: "Ce champs est obligatoire",
error_email_field_is_required: "Une adresse email est obligatoire",
error_password_field_is_required: "Un mot de passe est obligatoire",
error_code_required: "Le code est obligatoire",
error_device_required: "Le nom de l'appareil est obligatoire",
error_device_min_length: "Le nom de l'appareil doit etre d'au moins 3 caracteres",
text_field_show_password: "Afficher le mot de passe",
text_field_hide_password: "Masquer le mot de passe"
},
gamePage: {
game_page_title: "Entrez dans l\u2019univers de<0/><1>{{name}}</1>",
game_page_nav_title_one: "Jeu",
game_page_nav_title_other: "Jeux",
game_page_game_is_running: "Le jeu tourne",
game_page_installing: "Installation\u2026",
game_page_installing_paused: "Installation en pause",
game_page_updating: "Mise a jour\u2026",
game_page_updating_paused: "Mise \xe0 jour en pause",
game_page_verifying: "Verification\u2026",
game_page_verifying_paused: "V\xe9rification en pause",
game_page_update_game: "Mise a jour du jeu",
game_page_launch_game: "Lancer le jeu",
game_page_install_game: "Installer le jeu",
game_page_waiting_in_queue: "En attente dans la queue",
game_page_channels: "Environnement de jeu",
game_page_settings: "Param\xe8tres de jeu",
game_page_settings_verify: "V\xe9rification des Fichiers de Jeu",
game_page_settings_show_in_explorer: "Explorer les Fichiers",
game_page_settings_check_update: "Rechercher des Mise \xe0 jours",
game_page_settings_uninstall: "D\xe9sinstallation du Jeu",
game_page_settings_check_update_toast_yes: "Une mise \xe0 jour est disponible pour {{game}} - {{channel}}.",
game_page_settings_check_update_toast_no: "{{game}} - {{channel}} est \xe0 jour.",
game_page_update_game_is_available: "Lire au sujet des fonctionnalit\xe9s de {{version}} , <0>voir patch notes</0>",
game_page_game_is_not_available_offline: "Vous \xeates actuellement hors-ligne. {{game}} requiert une connexion internet pour d\xe9marrer.",
game_page_status_under_maintenance: "Nous avons une maintenance continue sur un de nos services.",
game_page_status_issue: "Nous travaillons \xe0 r\xe9soudre un probl\xe8me. Entrez \xe0 vos risques et p\xe9rils.",
game_page_status_more_information: "Pour plus d'informations, visitez le <0>page d'\xe9tat</0>.",
game_page_cards_empty: "Aucun contenu disponible",
game_page_cards_loading: "Chargement du contenu.",
game_page_cards_tab_community: "Communit\xe9",
"game_page_cards_tab_comm-links": "Communiqu\xe9s",
"game_page_cards_tab_new-citizens": "Nouveaux Citoyens",
"game_page_cards_tab_patch-notes": "Notes de Patch",
game_page_card_button_label: "En savoir plus"
},
settingsPage: {
settings_main_title: "Param\xe8tres",
settings_about_title: "\xc0 propos",
settings_application_title: "Application",
settings_games_title: "Jeux",
settings_download_title: "T\xe9l\xe9chargement",
settings_storage_title: "Stockage",
settings_nav_items_application: "Application",
settings_nav_items_accessibility: "Accessibilit\xe9",
settings_dev_title: "Dev / QA",
settings_nav_items_games: "Jeux",
settings_nav_items_about: "\xc0 propos",
settings_nav_items_download: "T\xe9l\xe9chargement",
settings_nav_items_storage: "Stockage",
settings_nav_items_dev: "DEV \ud83d\ude80",
settings_about_logo_alt: "Cloud Imperium\xa9",
settings_about_copyright: "\xa9 2012 - {{year}} Cloud Imperium Rights LLC et Cloud Imperium Rights Ltd",
settings_about_launcher_version: "Version du Launcher :",
settings_about_launcher_preversion: "(pr\xe9version)",
settings_application_window_behavior_title: "Comportement de la fen\xeatre",
settings_application_window_behavior_description: "Cette option vous permettra de quitter l'application lorsque la fen\xeatre sera ferm\xe9e.",
settings_application_window_behavior_close_to_quit: "Activer la fermeture proche",
settings_application_debug_tools_title: "Outils de d\xe9bogage du Launcher",
settings_application_debug_tools_description: "Si vous rencontrez des probl\xe8mes avec le Launcher, vider le cache peut r\xe9soudre le probl\xe8me. Vous pourriez \xe9galement avoir besoin de localiser votre fichier de logs, cela peut \xeatre utile pour signaler un bug sur le <iclink>Issue Council</iclink> du Launcher.",
settings_application_debug_tools_label: "Debug tools",
settings_application_debug_tools_button_clear_cache: "Vider le cache du Launcher",
settings_application_debug_tools_button_get_logs: "Obtenir les logs",
settings_application_debug_tools_button_cache_clear_success: "Cache Cleared",
settings_application_discover_behavior_title: "Comportement de d\xe9couverte",
settings_application_discover_behavior_description: "La d\xe9couverte est affich\xe9e uniquement lors de la premi\xe8re visite (ou en cliquant sur le bouton D\xe9couvrir dans le menu RSI). Cette option vous permettra de r\xe9activer la d\xe9couverte lors du chargement \xe0 des fins de test.",
settings_application_discover_behavior_isDiscoverDone: "isDiscoverDone",
settings_application_language_title: "Langue",
settings_application_language_description: "Langue de l'application",
settings_application_language_en: "Anglais",
settings_application_language_fr: "Fran\xe7ais",
settings_accessibility_title: "Accessibilit\xe9s",
settings_accessibility_reduce_motion_title: "R\xe9duire les animations",
settings_accessibility_reduce_motion_description: "R\xe9duire le nombre d'animations dans le lanceur, telles que les vid\xe9os d'arri\xe8re-plan, les animations d'ic\xf4nes et les transitions de page.",
settings_accessibility_reduce_motion_system_sync_title: "Synchroniser avec le syst\xe8me d'exploitation",
settings_accessibility_reduce_motion_system_sync_description: "Suivre les pr\xe9f\xe9rences de r\xe9duction des animations du syst\xe8me d'exploitation",
settings_accessibility_reduce_motion_background_video_toggle_title: "D\xe9sactiver la vid\xe9o d'arri\xe8re-plan",
settings_accessibility_reduce_motion_background_video_toggle_description: "Remplacer la boucle vid\xe9o par une image statique",
settings_accessibility_reduce_motion_unessential_animation_toggle_title: "D\xe9sactiver les animations non essentielles",
settings_accessibility_reduce_motion_unessential_animation_toggle_description: "Ic\xf4nes d\xe9coratives, logos, interactions de la souris...",
settings_accessibility_reduce_motion_transition_effects_toggle_title: "D\xe9sactiver les effets de transition",
settings_accessibility_reduce_motion_transition_effects_toggle_description: "Animations entre les sections (pages, onglets...)",
settings_accessibility_reduce_motion_information_enabled: "La r\xe9duction des animations du syst\xe8me d'exploitation est activ\xe9e.",
settings_accessibility_reduce_motion_information_disabled: "La r\xe9duction des animations du syst\xe8me d'exploitation est d\xe9sactiv\xe9e.",
settings_accessibility_reduce_motion_information_restart_link_label: "Vos modifications seront appliqu\xe9es au prochain lancement. <iclink>Red\xe9marrer maintenant</iclink>.",
settings_games_installation_title: "Emplacement du jeu",
settings_games_installation_description: "Il s'agit du chemin de l'emplacement de votre dossier de jeu.",
settings_games_installation_information: "Si votre jeu est d\xe9j\xe0 install\xe9 \xe0 un autre emplacement, s\xe9lectionnez-le ici, puis cliquez sur V\xe9rifier.",
settings_games_installation_path_title: "Chemin d'installation complet:",
settings_games_installation_library_folder_success: "Chemin mis \xe0 jour",
settings_games_installation_library_folder_change: "Modifier",
settings_games_installation_library_folder_label: "Emplacement de la biblioth\xe8que RSI",
settings_games_game_files_title: "Installation",
settings_games_game_files_description: "V\xe9rifiez si les fichiers du jeu sont correctement install\xe9s. Si le jeu n'est pas encore install\xe9, cela installera le jeu.",
settings_games_game_files_verify_files: "V\xe9rifier",
settings_games_game_files_verifying_files: "V\xe9rification en cours",
settings_games_game_files_install_files: "Installer",
settings_games_game_files_installing_files: "Installation en cours",
settings_games_game_files_updating_files: "Mise \xe0 jour en cours",
settings_games_game_files_uninstall_files: "D\xe9sinstaller",
settings_games_game_files_uninstalling_files: "D\xe9sinstallation en cours",
settings_games_game_files_process_paused: "En pause",
settings_common_reset: "R\xe9initialiser toutes les modifications",
settings_common_reset_confirmation: "Les modifications ont \xe9t\xe9 r\xe9initialis\xe9es pour cette cha\xeene de jeu",
settings_common_accordion_open_all: "Tout ouvrir",
settings_common_accordion_close_all: "Tout fermer",
settings_common_back: "Retour",
settings_common_saved: "Enregistr\xe9",
settings_download_main_title: "Utilisation de la bande passante",
settings_download_main_content: "Ajustez l'utilisation de la bande passante du t\xe9l\xe9chargement pour optimiser votre vitesse Internet",
settings_storage_main_title: "Biblioth\xe8que par d\xe9faut",
settings_storage_main_description: "C'est ici que de nouveaux jeux et environnements seront install\xe9s par d\xe9faut.",
settings_storage_default_library_folder_label: "Emplacement du jeu",
settings_storage_additional_libs_title: "Biblioth\xe8ques suppl\xe9mentaires",
settings_storage_additional_libs_description: "Cr\xe9er des biblioth\xe8ques sur un ou plusieurs disques",
settings_storage_add_additional_libraries: "AJOUTER UNE NOUVELLE BIBLIOTH\xc8QUE",
settings_download_concurrent_title: "T\xe9l\xe9chargement simultan\xe9",
settings_download_concurrent_desc: "Ajustez le nombre maximum de t\xe9l\xe9chargements simultan\xe9s autoris\xe9s \xe0 la fois, en optimisant votre exp\xe9rience de t\xe9l\xe9chargement en fonction de vos pr\xe9f\xe9rences et des capacit\xe9s de votre r\xe9seau.",
settings_download_speed_title: "Limitation de vitesse de t\xe9l\xe9chargement",
settings_download_speed_desc: "R\xe9gulez la vitesse de t\xe9l\xe9chargement en fixant un plafond sur le taux de transfert de donn\xe9es par seconde pour chaque connexion de t\xe9l\xe9chargement simultan\xe9e.",
settings_download_speed_unlimited: "Illimit\xe9",
settings_games_launch_command_line: "Arguments de Ligne de Commande Suppl\xe9mentaires",
settings_games_launch_disclaimer: "Cette action s'appliquera la prochaine fois que vous lancerez le jeu",
settings_games_launch_hostname: "Universe Host",
settings_games_launch_port: "Universe Port",
settings_games_launch_executable: "Executable",
settings_games_launch_launch_options: "Launcher Options",
settings_games_launch_eac_title: "Easy Anti-Cheat",
settings_games_launch_eac_description: "Easy Anti-Cheat est un service anti-triche utilis\xe9 par de nombreux jeux populaires, luttant contre la triche et l'utilisation de logiciels tiers non autoris\xe9s dans les jeux PC multijoueurs.",
settings_games_launch_eac_informative: "Vous devez d\xe9finir le bon ex\xe9cutable ci-dessus pour activer le contournement EAC",
settings_games_launch_eac_disable: "Activer Easy Anti-Cheat bypass",
settings_games_launch_default: "Default:",
settings_games_info_move_directory: "Si votre jeu est d\xe9j\xe0 install\xe9 \xe0 un autre emplacement, veuillez d\xe9placer le dossier de votre jeu vers l'emplacement suivant de la biblioth\xe8que de jeux.",
settings_games_info_complete_path: "Chemin complet : ",
settings_games_manage_game_libraries: "G\xe9rer les biblioth\xe8ques de jeux",
settings_games_game_location_title: "Emplacement du jeu",
settings_games_game_location_description: "S\xe9lectionnez la biblioth\xe8que o\xf9 vous souhaitez installer ce jeu",
settings_action_set_default: "D\xe9finir comme par d\xe9faut",
settings_action_delete_library: "Supprimer la biblioth\xe8que",
settings_toast_delete_lib_success: "La biblioth\xe8que a \xe9t\xe9 supprim\xe9e",
settings_toast_default_lib_updated: "La biblioth\xe8que par d\xe9faut a \xe9t\xe9 mise \xe0 jour",
settings_toast_lib_added: "Une nouvelle biblioth\xe8que a \xe9t\xe9 cr\xe9\xe9e",
settings_games_local_title: "Gestion des Param\xe8tres Locaux",
settings_games_local_description: "Selectionne les param\xe8tre locaux que tu veux supprimer. Cela peut \xeatre utile pour r\xe9soudre tout probl\xe8me dans le jeu que vous pourriez rencontrer.",
settings_games_local_button: "SUPPRIMER LES PARAM\xc8TRES LOCAUX",
settings_games_local_shaders_folder: "Shaders folder",
settings_games_local_screenshots_folder: "Screenshots folder",
settings_games_local_user_folder: "User folder",
settings_games_local_keybindings: "Keybindings (Controls)",
settings_games_local_settings: "Settings preferences (Profiles)",
settings_games_local_characters: "Custom characters",
settings_games_local_delete_description: "Veuillez choisir les fichiers que vous souhaitez supprimer.",
settings_games_local_delete_success: "Local settings have been deleted",
settings_games_local_delete_error: "Delete local settings failed",
settings_games_local_delete_error_message: "Something went wrong, please make sure the files you are trying to delete are not in use, then try again."
},
status: {
status_title: "RSI Status",
status_empty: "Aucun statut disponible.",
status_last_updated: "Date de derni\xe8re mise \xe0 jour {{time}}",
status_last_updated_empty: "Aucune donn\xe9e disponible pour le moment.",
status_more_information: "Plus d'information",
status_major: "Panne majeure",
status_partial: "Panne partielle",
status_degraded: "Performances d\xe9grad\xe9es",
status_maintenance: "En maintenance",
status_operational: "Op\xe9rationnel"
},
tray: {
tray_website: "Visiter le site",
tray_report_bug: "Signaler un bug",
tray_spectrum: "Spectrum",
tray_community_hub: "Community hub",
tray_support: "Obtenir de l'aide",
tray_mute: "D\xe9sactiver le son",
tray_unmute: "Activer le son",
tray_logout: "Se d\xe9connecter",
tray_quit: "Quitter l'application"
}
};
const SC_TOOLBOX_LOCALIZATION_ZHCN_MAP = {
agreements: {
agreement_fetch_info_error: "暂时无法从服务器获取协议,请稍等一分钟后再试。",
agreement_declined: "协议被拒绝"
},
appHeader: {
app_header_menu: "菜单",
app_header_volume: "音量",
app_header_volume_mute: "静音",
app_header_volume_unmute: "取消静音",
app_header_account: "账户",
app_header_account_name: "用户名",
app_header_account_moniker: "@社区昵称",
app_header_menu_get_help: "获取帮助",
app_header_menu_spectrum: "光谱",
app_header_menu_issue_council: "问题理事会",
app_header_menu_discover: "探索启动器",
app_header_menu_exit_the_app: "退出程序",
app_header_menu_settings: "设置",
app_header_actions_download: "下载",
app_header_actions_menu_rsi_status: "RSI 状态",
app_header_actions_menu_rsi_account: "RSI 账户",
app_header_actions_menu_log_out: "登出",
app_header_loading: "正在进入宇宙…"
},
autoUpdate: {
auto_update_dialog_close: "关闭",
auto_update_dialog_title: "有可用的更新",
auto_update_dialog_sub_title: "版本{{version}}",
auto_update_dialog_no_update_content: "您当前正在运行的就是 RSI 启动器的最新版本。<0/>感谢您保持更新!",
auto_update_dialog_no_update_action_primary_label: "继续",
auto_update_dialog_update_available_content: "有新的 RSI 启动器版本可安装。程序将会关闭并重新启动。",
auto_update_dialog_update_available_action_primary_label: "安装并重新启动",
auto_update_dialog_update_available_action_secondary_label: "稍后安装",
auto_update_dialog_update_install_failed_content: "无法更新至最新版本的启动器,请重新安装或联系<0>客户支持</0>",
auto_update_dialog_update_install_failed_action_primary_label: "重新安装",
auto_update_dialog_update_install_failed_action_secondary_label: "稍后安装",
auto_update_dialog_update_quit_game_content: "游戏会话当前正在运行。如果你想要安装新版本启动器,将会关闭当前游戏会话,当前游戏进度可能会丢失",
auto_update_dialog_update_quit_game_action_primary_label: "退出游戏并安装",
auto_update_dialog_update_quit_game_action_secondary_label: "稍后再试",
auto_update_toast_update_installed: "成功安装新版本启动器"
},
connection: {
connection_title: "离线模式",
connection_offline_information: "你目前处于离线状态,某些功能暂不可用。当你的网络恢复,你将自动重连。",
connection_offline_trying_to_reconnect: "正在尝试重新连接",
connection_toast_connection_available: "重连成功",
connection_toast_action_continue_offline: "继续处于离线状态",
connection_toast_warning_lost_connection_title: "你目前处于离线状态",
connection_toast_warning_lost_connection_content: "你似乎处于离线状态。当你的网络恢复,你将自动重连。你可以在离线模式下继续使用启动器。",
connection_toast_warning_lost_connection_remaining: "距离登出还有的离线时间"
},
contextMenu: {
context_menu_copy: "复制",
context_menu_paste: "粘贴",
context_menu_cut: "剪切",
context_menu_select_all: "全选"
},
dialog: {
dialog_warning_logout_title: "登出",
dialog_warning_logout_text: "你确定要登出账户吗?",
dialog_warning_logout_game_running_text: "你确定要在游戏运行时登出账户吗?当前游戏进度可能会丢失。",
dialog_warning_logout_confirm: "登出",
dialog_warning_logout_error: "登出时发生错误。你的会话可能已经过期。请尝试重新登录。",
dialog_warning_duplicate_library_title: "游戏库已存在",
dialog_warning_duplicate_library_content: "你当前选择的位置已存在一个游戏库,请选择其他位置后重试",
dialog_warning_delete_game_library_title: "删除游戏库",
dialog_warning_delete_game_library_location: "你确定要删除以下游戏库?",
dialog_warning_delete_game_library_games: "以下游戏当前使用此游戏库:",
dialog_warning_delete_game_library_content: "将会使用默认游戏库。请确保将游戏文件夹移动到正确的位置。",
dialog_warning_set_default_library_title: "更改默认游戏库",
dialog_warning_set_default_library_content: "你确定要将以下游戏库设置为新安装游戏的默认位置?",
dialog_action_set_default_library: "设置为默认",
dialog_action_cancel: "取消",
dialog_action_confirm: "确认",
dialog_action_proceed: "继续",
dialog_action_acknowledge: "我已知悉",
dialog_action_ok: "OK",
dialog_action_retry: "重试",
dialog_action_close: "关闭",
dialog_action_accept: "同意",
dialog_action_decline: "拒绝",
dialog_action_verify: "验证文件",
dialog_action_install: "安装游戏",
dialog_action_relaunch: "重新启动",
dialog_action_discard: "放弃",
dialog_action_delete: "删除",
dialog_action_browse_library: "浏览游戏库",
dialog_warning_back_launcher: "返回启动器",
dialog_warning_exit_app_title: "退出程序",
dialog_warning_exit_app_text: "你确定要退出该应用程序吗?",
dialog_warning_exit_app_checkbox: "不再显示",
dialog_warning_exit_app_confirm: "退出程序",
dialog_warning_exit_app_game_running_text: "你无法在游戏运行时退出该应用程序。",
dialog_warning_uninstall_title: "卸载 {{game}} - {{channel}}",
dialog_warning_uninstall_text: "你确定要从你的电脑卸载该游戏吗?请注意,你的电脑上的所有用户都会卸载该游戏文件。",
dialog_warning_uninstall_userFolder_checkbox: "保留用户文件夹(按键绑定和设置偏好)",
dialog_warning_uninstall_userFolder_checkbox_description: "目录位置:{{path}}",
dialog_warning_uninstall_confirm: "卸载游戏",
dialog_settings_reset_title: "重置设置",
dialog_settings_reset_content: "你确定要重置你的游戏设置吗?",
dialog_settings_reset_button: "重置至默认",
dialog_settings_game_not_installed_title: "游戏未安装",
dialog_settings_game_not_installed_content: "当前你尝试验证文件的位置并未安装游戏。请先安装游戏后重试。",
dialog_cancel_installation_title: "取消安装",
dialog_cancel_installation_content: "你确定要取消安装 {{info}} 吗?",
dialog_cancel_install_content_keep_files_downloaded: "保留已下载的文件",
dialog_cancel_verify_title: "取消验证文件",
dialog_cancel_verify_content: "你确定要取消验证 {{info}} 吗?",
dialog_cancel_updte_title: "取消更新",
dialog_cancel_update_content: "你确定要取消更新 {{info}} 吗?",
dialog_start_installation_title: "安装 {{game}} - {{channel}}",
dialog_start_installation_content_location: "游戏将安装在以下位置",
dialog_start_installation_content_location_settings: "你可以在游戏设置中更改游戏位置",
dialog_start_installation_content_location_close_popover: "如果你需要先更改游戏安装位置,请关闭此对话框。",
dialog_start_installation_action_go_to_settings: "游戏设置",
dialog_start_installation_action_install: "安装",
dialog_launch_check_update_available_title: "游戏版本更新",
dialog_launch_check_update_available_content: "一个新的游戏版本 {{game}} - {{channel}} 可用。请更新后再进入游戏。",
dialog_discover_title: "启动器更新了 UI ",
dialog_discover_content: "RSI 启动器的外观焕然一新!我准备了一个小旅程带你去看看有什么变化。",
dialog_discover_start: "开启旅程",
dialog_discover_skip: "跳过",
dialog_debug_cache_clear_title: "清除启动器缓存",
dialog_debug_cache_clear_content: "此操作将清除启动器缓存并退出登录,你确定要继续吗?",
dialog_debug_cache_clear_button: "继续",
dialog_warning_change_game_title_dialog: "更改游戏位置",
dialog_warning_change_game_question_dialog: "{{game}} - {{channel}} 已安装至当前位置。你想要更改游戏库吗is already installed at the current location. Do you want to change the game library?",
dialog_warning_change_installed_game_question_dialog: "你确定要更改此游戏库的位置?",
dialog_warning_change_game_current_dialog: "当前:",
dialog_warning_change_game_new_dialog: "新:",
dialog_warning_change_game_warn_dialog: "如要继续,请确保将文件移动到新位置,并在新位置验证文件或重新安装游戏。",
dialog_settings_delete_local_title: "管理本地配置"
},
discover: {
step_done_label: "立即进入",
step_menu_title: "启动器应用菜单",
step_menu_description: "在此菜单中可快速访设置和其他有用的资源,例如:支持、光谱和问题理事会。",
step_status_title: "状态",
step_status_description: "在此可查看 RSI 各项服务的状态。如果有任何性能问题或服务中断,你可以在此处看到。",
step_download_title: "下载管理",
step_download_description: "查看下载/更新进度、暂停当前下载或快速访问下载设置。",
"step_user-profile_title": "用户档案",
"step_user-profile_description": "查看当前登录的账户。使用此菜单可快速访问你的 RSI 账户界面。如果你需要切换账号,可在此登出。",
step_last_title: "启动器发展",
step_last_description: "RSI 启动器会随着时间的推移不断发展。请随时在问题理事会向我们反馈问题。感谢你对我们开发的支持。"
},
download: {
download_empty: "下载队列中没有下载任务。",
download_phase: "阶段",
download_status: "状态",
download_speed: "速度",
download_left: "剩余",
download_files_left: "剩余文件",
download_settings: "下载设置",
download_play: "开始",
download_pause: "暂停",
download_initializing: "正在初始化…",
download_update_manifest: "正在下载更新文件清单",
download_manifest: "正在下载文件清单",
downloaded_update_manifest: "更新文件清单已下载",
download_analysing_install: "正在验证安装文件",
download_checking_files: "正在验证文件 - 需要几分钟",
download_base_pack: "正在下载基础文件包",
download_updating_game_files: "正在更新游戏文件",
download_updating_game_content: "正在更新游戏内容",
download_verifying_game_content: "正在验证游戏内容",
download_completed: "完成",
download_waiting: "正在排队",
download_cancelling: "正在取消",
download_resume: "继续",
download_cancel: "取消",
download_remove: "移除",
download_error: "错误",
download_downloads_on_going: "进行中任务",
download_downloads_waiting: "下一任务",
download_downloads_finished: "完成",
download_toast_install_success: "安装已完成",
download_toast_update_success: "更新已完成",
download_toast_verify_success: "文件验证已完成",
download_toast_cancel_install_success: "安装已取消",
download_toast_cancel_verify_success: "文件验证已取消",
download_toast_cancel_update_success: "更新已取消",
download_toast_uninstall_success: "{{game}} - {{channel}} 已卸载",
download_toast_uninstall_fail: "{{game}} - {{channel}} 无法卸载",
download_type_install: "安装",
download_type_update: "更新",
download_type_verify: "验证文件",
download_toast_fix_permission_success: "权限已修复。请验证游戏文件以继续。",
download_toast_fix_permission_fail: "修复 {{game}} - {{channel}} 权限失败。请重试。"
},
errors: {
error_game_package_missing_title: "没有游戏资格包",
error_game_package_missing_subtitle: "你需要购买一个游戏资格包以登录访问游戏。",
error_game_package_missing_retry: "重试登录",
error_game_package_missing_support: "客户支持",
error_sign_in_offline_header_title: "你当前处于离线状态",
error_sign_in_offline_header_subtitle: "无法连接至我们的服务器。请检查你的网络并重试。",
error_sign_in_offline_content_title: "为什么我不能进入离线模式?",
error_sign_in_offline_content_description: "你无法进入离线模式可能由以下原因之一造成:",
error_sign_in_offline_content_description_first: "你还未选择 \u201c记住密码\u201d",
error_sign_in_offline_content_description_second: "你的设备信任期限已过",
error_sign_in_offline_content_description_third: "你在过去的30天内未登录过",
error_sign_in_offline_exit: "退出",
error_sign_in_offline_retry: "重试",
error_internal_error: "内部错误",
error_not_authenticated: "你未通过身份验证",
error_invalid_claims: "无效声明",
error_authentication_mfa: "身份验证需要mfa",
error_sign_in_failed: "登入失败。你可能输入了错误的凭证。",
error_sign_in_not_authorized: "你没有权限访问此版本的 RSI 启动器。请从<0>该网页</0>下载公众版本。",
error_captcha_invalid: "验证码无效",
error_session_expired: "你的会话已过期。请再次确认你的密码。",
error_wrong_credentials: "你可能输入了错误的凭证、账户不存在或账户未激活。",
error_max_login_attempt: "已超过登入失败的最大次数。",
error_wrong_mfa_code: "双重验证失败。你可能输入了一个错误或过期的验证码。",
error_captcha_required: "需要验证验证码。",
error_game_error_code: "游戏错误代码:{{ code }}",
error_installer_error_code: "错误代码:{{ code }}",
error_installer_support_permission_title: "权限不足",
error_installer_support_permission_content: "你需要授予启动器权限才能在你的系统上执行安装操作。",
error_installer_create_directory_title: "无法创建文件夹",
error_installer_create_directory_content_1: "创建频道文件夹时出现错误。",
error_installer_create_directory_content_2: "请手动创建频道文件夹,后重试。必须在以下路径上创建文件夹:",
error_installer_more_info_content: "可在<0>知识库</0>中查阅更多相关信息。",
error_installer_basepack_invalid_title: "基础文件包 - 文件无效",
error_installer_basepack_invalid_content: "下载游戏时出现错误,请重试。",
error_installer_disc_full_title: "磁盘空间不足",
error_installer_disc_full_content: "你的磁盘没有足够的可用空间。请清理出空间或将目录移动至空间更大的磁盘。",
error_installer_permissions_title: "文件系统权限错误",
error_installer_permissions_content: "修补程序在写入时遇到权限问题。请检查目录权限并重试。",
error_installer_permissions_action: "修复权限",
error_installer_file_in_use_title: "文件被占用",
error_installer_file_in_use_content: "游戏文件正在被占用。请关闭你打开的游戏文件后重试。",
error_installer_pk4_corrupted_title: "游戏文件已损坏",
error_installer_pk4_corrupted_content: "你的游戏文件已损坏且无法恢复。",
error_installer_retrieve_manifest_title: "无法获取更新文件清单",
error_installer_retrieve_manifest_content: "获取更新文件清单时发生网络错误。请检查你的网络连接-并重启启动器后重试。",
error_installer_retry_download: "重试下载",
error_installer_unknown_network_title: "未知网络错误",
error_installer_unknown_network_content: "请检查你的网络并重试。",
error_installer_base_p4k_corrupted_title: "基础文件包验证错误",
error_installer_base_p4k_corrupted_content: "基础文件包验证失败。",
error_installer_init_download_title: "下载初始化 - 基础文件包 - 错误",
error_installer_patcher_title: "数据修补程序错误",
error_installer_title: "安装程序错误",
error_installer_patcher_generic_content: "安装时出现错误。可在<0>知识库</0>中查阅更多相关信息。",
error_installer_generic_content: "安装时出现错误。",
error_report_bug: "如果问题依然存在,请<0>汇报漏洞</0>。请同时附上你的<1>日志文件</1>。",
error_generic_title: "启动器错误",
error_generic_content: "出现错误。",
error_os_requirements_title: "未达到最低配置要求",
error_os_requirements_text: "你的电脑未达到运行 {{ game }} 的<0>最低配置要求</0>",
error_cpu_requirements_title: "检测到不支持的硬件",
error_cpu_requirements_text: "游戏需要一个支持 AVX 指令集的 CPU 才能运行。",
error_launch_account_not_found_title: "复制你的账户到 PTU ",
error_launch_account_not_found_content: "想要游玩公共测试宇宙PTU你需要复制账户到 PTU。请按照以下步骤<0>这里</0>并重试。",
error_launch_unknown_title: "启动器 - 未知错误",
error_launch_unknown_content: "启动游戏时出现错误。请验证游戏文件完整性。",
error_launch_error_code: "游戏错误代码:{{ code }}",
error_launch_no_game_files_title: "启动器 - 未找到游戏文件",
error_launch_no_game_files_content: "启动游戏时出现错误。无法检索到游戏文件。请验证游戏文件完整性。",
error_launch_EAC_title: "启动器 - EAC 错误",
error_launch_EAC_content: "启动游戏时出现错误。EAC 检测到文件损坏。请验证游戏文件完整性。",
error_launch_game_crash_title: "{{game}} 意外停止运行",
error_launch_game_crash_content_1: "游戏运行时出现错误。",
error_launch_game_crash_content_2: "请尝试重新启动游戏。如果问题依然存在,请验证你的安装文件。",
error_launch_game_running_title: "游戏正在运行",
error_launch_game_running_content: "游戏已经处于运行状态",
error_launch_check_update_unavailable_title: "检查游戏版本失败",
error_launch_check_update_unavailable_content: "检查游戏版本时出现错误。",
error_launch_game_crash_info: "崩溃摘要:",
error_launch_game_crash_retrieving_crash_info: "正在获取数据",
error_launch_game_crash_could_not_retrieve_crash_info: "无法获取数据",
error_api_denied_request_title: "API 拒绝请求",
error_api_denied_request_content: "出现错误。你的会话似乎已过期或被拒绝。你已登出,请重试。",
error_api_validation_failed: "API 请求验证失败",
error_api_too_many_requests_title: "请求过多",
error_api_too_many_requests_content: "API 当前过载。请稍等几分钟后重试。",
error_api_unavailable: "API 不可用。请稍等几分钟后重试。",
error_api_internal_server_error: "我们的服务器遇到困难。请稍等几分钟后重试。",
error_api_auth_expired_content: "你的会话已过期。请再次确认你的密码。",
error_api_auth_expired_title: "会话已过期",
error_api_platform_auth_title: "平台验证错误",
error_api_platform_auth_content: "无法在 {{id}} 平台进行验证 {{error}}",
error_network_issue_title: "网络问题",
error_network_issue_content: "无法建立网络连接。请检查你的网络状态后尝试重新连接。"
},
form: {
sign_in_title: "登入 RSI 启动器",
sign_in_email: "邮箱",
sign_in_password: "密码",
sign_in_remember_me: "记住密码",
sign_in_forgot_password: "忘记密码?",
sign_in_captcha: "验证码",
sign_in_captcha_refresh: "刷新",
sign_in_captcha_help: "输入上方图像中的文本。",
sign_in_no_account: "没有账户?",
sign_in_create_account: "创建一个!",
sign_in_submit: "登入",
sign_in_loading: "正在登入…",
sign_in_prerelease: "这是RSI启动器的抢先发布版本",
sign_in_mfa_title: "我们需要验证你的身份",
sign_in_mfa_subtitle: "保护你的账户对于我们来说是非常重要的。我们向你账户绑定的邮箱发送了验证码。",
sign_in_mfa_code_label: "验证码",
sign_in_mfa_code_help: "输入发送到你的邮箱的代码或验证器中的代码。或者使用备用代码。",
sign_in_mfa_device_label: "设备名称",
sign_in_mfa_device_help: "为你当前设备输入一个名称。",
sign_in_mfa_duration_label: "信任这个设备",
sign_in_mfa_duration_help: "允许设备在选定的时间内跳过MFA验证。如果这是一个共享或公共设备我们建议你选择“仅当前会话”。",
sign_in_mfa_session: "仅当前会话",
sign_in_mfa_day: "一天",
sign_in_mfa_week: "一周",
sign_in_mfa_month: "一个月",
sign_in_mfa_year: "一年",
sign_in_mfa_back_sign_in: "返回",
sign_in_mfa_submit: "验证身份",
error_field_is_required: "必须输入该字段",
error_email_field_is_required: "需要输入一个邮箱地址",
error_password_field_is_required: "需要输入密码",
error_code_required: "你必须输入你的代码",
error_device_required: "你必须输入你的设备名称",
error_device_min_length: "你的设备名称最少需要3个字符",
text_field_show_password: "显示密码",
text_field_hide_password: "隐藏密码"
},
gamePage: {
game_page_title: "进入<0/><1>{{name}} 宇宙</1>",
game_page_nav_title: "游戏",
game_page_nav_title_one: "游戏",
game_page_nav_title_other: "游戏",
game_page_game_is_running: "游戏正在运行",
game_page_installing: "正在安装…",
game_page_installing_paused: "安装已暂停",
game_page_updating: "正在更新…",
game_page_updating_paused: "更新已暂停",
game_page_verifying: "正在验证文件…",
game_page_uninstalling: "正在卸载",
game_page_verifying_paused: "验证已暂停",
game_page_update_game: "更新游戏",
game_page_launch_game: "启动游戏",
game_page_install_game: "安装游戏",
game_page_waiting_in_queue: "正在排队",
game_page_channels: "游戏环境",
game_page_settings: "游戏设置",
game_page_settings_verify: "验证游戏文件",
game_page_settings_show_in_explorer: "在资源管理器中打开",
game_page_settings_check_update: "检查更新",
game_page_settings_uninstall: "卸载游戏",
game_page_settings_check_update_toast_yes: "有新的 {{game}} - {{channel}} 更新可用。",
game_page_settings_check_update_toast_no: "{{game}} - {{channel}} 已为最新版本",
game_page_update_game_is_available: "了解 {{version}} 新内容,<0>请查看补丁说明</0>",
game_page_game_is_not_available_offline: "你目前处于离线状态。运行 {{game}} 需要网络连接。",
game_page_status_under_maintenance: "我们正在对其中一项服务进行维护。",
game_page_status_issue: "我们正在解决一个问题。请自行承担风险。",
game_page_status_more_information: "想要获取更多信息请查阅<0>状态页面</0>",
game_page_cards_empty: "目前没有可用的内容",
game_page_cards_loading: "正在加载内容。",
game_page_cards_tab_community: "社区",
"game_page_cards_tab_comm-links": "通讯链接",
"game_page_cards_tab_new-citizens": "新手指南",
"game_page_cards_tab_patch-notes": "补丁说明",
game_page_card_button_label: "查看更多"
},
settingsPage: {
settings_main_title: "设置",
settings_about_title: "关于",
settings_application_title: "程序",
settings_games_title: "游戏",
settings_download_title: "下载",
settings_dev_title: "Dev / QA",
settings_storage_title: "存储空间",
settings_nav_items_application: "程序",
settings_nav_items_accessibility: "辅助功能",
settings_nav_items_games: "游戏",
settings_nav_items_about: "关于",
settings_nav_items_download: "下载",
settings_nav_items_storage: "存储空间",
settings_nav_items_dev: "DEV \ud83d\ude80",
settings_about_logo_alt: "CloudImperium©",
settings_about_copyright: "© 2012 - {{year}} Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd",
settings_about_launcher_version: "启动器版本",
settings_about_launcher_preversion: "(抢先版)",
settings_application_window_behavior_title: "窗口行为",
settings_application_window_behavior_description: "此选项允许你在关闭窗口时退出该程序。",
settings_application_window_behavior_close_to_quit: "启用 关闭窗口直接退出程序",
settings_application_debug_tools_title: "启动器调试工具",
settings_application_debug_tools_description: "如果你在使用启动器时遇到问题,清除缓存可能可以解决问题。你还需要找到你的日志文件,这可在你向<iclink>问题理事会</iclink>报告启动器问题时提供帮助。",
settings_application_debug_tools_label: "调试工具",
settings_application_debug_tools_button_clear_cache: "清除缓存",
settings_application_debug_tools_button_get_logs: "获取日志文件",
settings_application_debug_tools_button_cache_clear_success: "缓存已清除",
settings_accessibility_title: "辅助功能",
settings_accessibility_reduce_motion_title: "动画减弱",
settings_accessibility_reduce_motion_description: "减弱启动器中的动画。例如:背景视频、图标动画和页面过渡动画。",
settings_accessibility_reduce_motion_system_sync_title: "与操作系统同步",
settings_accessibility_reduce_motion_system_sync_description: "跟随操作系统的动画减弱设置偏好",
settings_accessibility_reduce_motion_background_video_toggle_title: "禁用背景视频",
settings_accessibility_reduce_motion_background_video_toggle_description: "将背景视频替换成一张静态图片",
settings_accessibility_reduce_motion_unessential_animation_toggle_title: "禁用非必要动画",
settings_accessibility_reduce_motion_unessential_animation_toggle_description: "装饰性图标、标志、光标交互...",
settings_accessibility_reduce_motion_transition_effects_toggle_title: "禁用页面过渡效果",
settings_accessibility_reduce_motion_transition_effects_toggle_description: "各部分(页面、选项卡...)之间的过渡动画",
settings_accessibility_reduce_motion_information_enabled: "操作系统的动画减弱已启用。",
settings_accessibility_reduce_motion_information_disabled: "操作系统的动画减弱已停用。",
settings_accessibility_reduce_motion_information_restart_link_label: "下次启动才会应用当前更改。<iclink>现在重新启动</iclink>。",
settings_games_installation_title: "游戏位置",
settings_games_installation_description: "这是你的游戏文件夹的路径。",
settings_games_installation_information: "如果你的游戏已经安装在其他位置,在这里选择位置,然后点击验证文件。",
settings_games_installation_path_title: "游戏位置完整路径",
settings_games_installation_library_folder_success: "路径已更新",
settings_games_installation_library_folder_change: "更改",
settings_games_installation_library_folder_label: "RSI 目录位置",
settings_games_game_files_title: "安装位置",
settings_games_game_files_description: "安装/卸载此游戏频道或验证已安装的游戏文件完整性。",
settings_games_game_files_verify_files: "验证游戏文件",
settings_games_game_files_verifying_files: "正在验证游戏文件",
settings_games_game_files_install_files: "安装游戏",
settings_games_game_files_installing_files: "正在安装",
settings_games_game_files_updating_files: "正在安装",
settings_games_game_files_uninstall_files: "卸载游戏",
settings_games_game_files_uninstalling_files: "正在卸载",
settings_games_game_files_process_paused: "已暂停",
settings_common_reset: "重置所有更改",
settings_common_reset_confirmation: "此游戏频道的更改已被重置",
settings_common_accordion_open_all: "全部展开",
settings_common_accordion_close_all: "全部折叠",
settings_common_back: "返回",
settings_common_saved: "已保存",
settings_download_main_title: "带宽使用",
settings_download_main_content: "调整下行带宽以优化网速",
settings_storage_main_title: "默认游戏库",
settings_storage_main_description: "默认情况下,新游戏和环境将安装在此处。",
settings_storage_default_library_folder_label: "游戏库位置",
settings_storage_additional_libs_title: "其他游戏库",
settings_storage_additional_libs_description: "在一个或多个驱动器中创建库",
settings_storage_add_additional_libraries: "添加新游戏库",
settings_download_concurrent_title: "同时下载数",
settings_download_concurrent_desc: "调整同时下载的最大文件数。优化你的下载体验以匹配你的偏好和网络。",
settings_download_speed_title: "限制下载速度",
settings_download_speed_desc: "通过为每个并发下载连接设置每秒数据传输速率上限来调节下载速度。",
settings_download_speed_unlimited: "无限制",
settings_application_discover_behavior_title: "探索行为",
settings_application_discover_behavior_description: "启动器探索仅在首次进入启动器时显示(或通过点击 RSI 菜单中的 探索 按钮)。此选项将允许您在负载时重新启用 探索 以进行测试。",
settings_application_discover_behavior_isDiscoverDone: "isDiscoverDone",
settings_download_force_datapatcher_title: "下载设置",
settings_download_force_datapatcher_description: "更改游戏下载设置",
settings_download_force_datapatcher_force_datapatcher_toggle: "仅限数据修补程序(此设置不会被保存)",
settings_download_force_datapatcher_force_datapatcher_description: '移除基础包NMD的下载仅使用数据修补程序。前提条件在开始下载前需手动创建"Data.p4k"文件。',
settings_application_language_title: "语言",
settings_application_language_description: "应用程序语言",
settings_application_language_en: "英文",
settings_application_language_fr: "法语",
settings_games_launch_command_line: "其他命令行参数",
settings_games_launch_disclaimer: "此操作将在你下次启动游戏时应用",
settings_games_launch_hostname: "宇宙 Host",
settings_games_launch_port: "宇宙端口",
settings_games_launch_executable: "可执行",
settings_games_launch_launch_options: "启动器选项",
settings_games_launch_eac_title: "Easy Anti-Cheat",
settings_games_launch_eac_description: "Easy Anti-Cheat 是许多流行游戏使用的反作弊服务。用于在多人PC游戏中阻止作弊和未授权的第三方软件的使用。",
settings_games_launch_eac_informative: "你需要在上面设置正确的可执行文件以启用 绕过EAC",
settings_games_launch_eac_disable: "启用 绕过Easy Anti-Cheat",
settings_games_launch_default: "默认:",
settings_games_info_move_directory: "如果你的游戏已安装在其他位置,请将你的游戏文件夹移动到以下游戏库位置",
settings_gmaes_info_complete_path: "完整路径:",
settings_games_manage_game_libraries: "管理游戏库",
settings_games_game_location_title: "游戏位置",
settings_games_game_location_description: "选择要安装此游戏的游戏库",
settings_action_set_default: "设置为默认",
settings_action_delete_library: "删除游戏库",
settings_toast_delete_lib_success: "游戏库已删除",
settings_toast_default_lib_updated: "默认游戏库已更新",
settings_toast_lib_added: "一个新的游戏库已创建",
settings_games_local_title: "本地配置管理",
settings_games_local_description: "选择需要删除的本地配置,这样可能可以帮助你解决在游戏中遇到的问题。",
settings_games_local_button: "管理本地配置",
settings_games_local_shaders_folder: "着色器文件夹",
settings_games_local_screenshots_folder: "截图文件夹",
settings_games_local_user_folder: "用户文件夹",
settings_games_local_keybindings: "键位绑定(控制)",
settings_games_local_settings: "设置偏好(配置)",
settings_games_local_characters: "自定义角色",
settings_games_local_delete_description: "请选择需要删除的文件。",
settings_games_local_delete_success: "本地配置已删除。",
settings_games_local_delete_error: "删除本地配置失败",
settings_games_local_delete_error_message: "发生错误,请确保你尝试删除的文件未被占用后再试。"
},
status: {
status_title: "RSI 状态",
status_empty: "无状态可用。",
status_last_updated: "最后一次更新 {{time}}",
status_last_updated_empty: "当前无可用数据。",
status_more_information: "更多信息",
status_major: "完全中断",
status_partial: "部分中断",
status_degraded: "性能下降",
status_maintenance: "正在维护",
status_operational: "正常运行"
},
tray: {
tray_website: "访问网站",
tray_report_bug: "汇报漏洞",
tray_spectrum: "光谱",
tray_community_hub: "社区中心",
tray_support: "支持",
tray_mute: "静音",
tray_unmute: "取消静音",
tray_logout: "登出",
tray_quit: "退出"
}
};
const SC_TOOLBOX_LOCALIZATION_ZHTW_MAP = {
agreements: {
agreement_fetch_info_error: "暫時無法從伺服器取得協議,請稍等一分鐘後再試一次。",
agreement_declined: "協議被拒絕"
},
appHeader: {
app_header_menu: "選單",
app_header_volume: "音量",
app_header_volume_mute: "靜音",
app_header_volume_unmute: "取消靜音",
app_header_account: "帳戶",
app_header_account_name: "使用者名稱",
app_header_account_moniker: "@社群暱稱",
app_header_menu_get_help: "取得幫助",
app_header_menu_spectrum: "Spectrum",
app_header_menu_issue_council: "問題與建議中心",
app_header_menu_discover: "探索啟動器功能",
app_header_menu_exit_the_app: "關閉程式",
app_header_menu_settings: "設定",
app_header_actions_download: "下載",
app_header_actions_menu_rsi_status: "RSI 狀態",
app_header_actions_menu_rsi_account: "RSI 帳戶",
app_header_actions_menu_log_out: "登出",
app_header_loading: "正在進入宇宙…"
},
autoUpdate: {
auto_update_dialog_close: "關閉",
auto_update_dialog_title: "有更新等待安裝",
auto_update_dialog_sub_title: "版本{{version}}",
auto_update_dialog_no_update_content: "您目前正在執行的就是 RSI 啟動器的最新版本。<0/>感謝您保持更新!",
auto_update_dialog_no_update_action_primary_label: "繼續",
auto_update_dialog_update_available_content: "有新的 RSI 啟動器版本可安裝。程式將會關閉並重新啟動。",
auto_update_dialog_update_available_action_primary_label: "安裝並重新啟動",
auto_update_dialog_update_available_action_secondary_label: "稍後安裝",
auto_update_dialog_update_install_failed_content: "無法更新至最新版本的啟動器,請重新安裝或聯繫<0>客戶支援</0>",
auto_update_dialog_update_install_failed_action_primary_label: "重新安裝",
auto_update_dialog_update_install_failed_action_secondary_label: "稍後安裝",
auto_update_dialog_update_quit_game_content: "遊戲工作階段目前正在執行。如果您想要安裝新版本啟動器,將會關閉目前遊戲工作階段,正在進行的遊戲進度可能會遺失",
auto_update_dialog_update_quit_game_action_primary_label: "退出遊戲並安裝",
auto_update_dialog_update_quit_game_action_secondary_label: "稍後再試",
auto_update_toast_update_installed: "成功安裝新版本啟動器"
},
connection: {
connection_title: "離線模式",
connection_offline_information: "您目前處於離線狀態,部分功能無法使用。當您的網路恢復時將會自動重新連線。",
connection_offline_trying_to_reconnect: "正在嘗試重新連線",
connection_toast_connection_available: "重新連線成功",
connection_toast_action_continue_offline: "繼續保持離線狀態",
connection_toast_warning_lost_connection_title: "您目前處於離線狀態",
connection_toast_warning_lost_connection_content: "您似乎處於離線狀態。當您的網路恢復將會自動重新連線。您可以在離線模式下繼續使用啟動器。",
connection_toast_warning_lost_connection_remaining: "距離登出的剩餘離線時間"
},
contextMenu: {
context_menu_copy: "複製",
context_menu_paste: "貼上",
context_menu_cut: "剪下",
context_menu_select_all: "全選"
},
dialog: {
dialog_warning_logout_title: "登出",
dialog_warning_logout_text: "您確定要登出帳戶嗎?",
dialog_warning_logout_game_running_text: "您確定要在遊戲執行時登出帳戶嗎?正在進行的遊戲進度可能會遺失。",
dialog_warning_logout_confirm: "登出",
dialog_warning_logout_error: "登出時發生錯誤。您的工作階段可能已經過期。請嘗試重新登入。",
dialog_warning_duplicate_library_title: "收藏庫已存在",
dialog_warning_duplicate_library_content: "您目前選擇的位置已存在一個收藏庫,請選擇其他位置後重新嘗試",
dialog_warning_delete_game_library_title: "刪除收藏庫",
dialog_warning_delete_game_library_location: "您確定要刪除下列收藏庫嗎?",
dialog_warning_delete_game_library_games: "下列遊戲目前使用此收藏庫:",
dialog_warning_delete_game_library_content: "將會使用預設收藏庫。請確保將遊戲資料夾移動到正確的位置。",
dialog_warning_set_default_library_title: "變更預設收藏庫",
dialog_warning_set_default_library_content: "您確定要將下列收藏庫設定為新安裝遊戲的預設位置嗎?",
dialog_action_set_default_library: "設為預設",
dialog_action_cancel: "取消",
dialog_action_confirm: "確認",
dialog_action_proceed: "繼續",
dialog_action_acknowledge: "我已了解",
dialog_action_ok: "OK",
dialog_action_retry: "重新嘗試",
dialog_action_close: "關閉",
dialog_action_accept: "同意",
dialog_action_decline: "拒絕",
dialog_action_verify: "驗證檔案",
dialog_action_install: "安裝遊戲",
dialog_action_relaunch: "重新啟動",
dialog_action_discard: "放棄",
dialog_action_delete: "刪除",
dialog_action_browse_library: "瀏覽收藏庫",
dialog_action_cancel_download: "取消下載",
dialog_warning_back_launcher: "返回啟動器",
dialog_warning_exit_app_title: "關閉程式",
dialog_warning_exit_app_text: "您確定要退出應用程式嗎?",
dialog_warning_exit_app_checkbox: "不再顯示",
dialog_warning_exit_app_game_running_text: "您確定要在遊戲執行時退出應用程式嗎?",
dialog_warning_exit_app_confirm: "關閉程式",
dialog_warning_uninstall_title: "解除安裝 {{game}} - {{channel}}",
dialog_warning_uninstall_text: "您確定要從您的電腦解除安裝該遊戲嗎?請注意,您的電腦上的所有使用者都會解除安裝該遊戲檔案。",
dialog_warning_uninstall_userFolder_checkbox: "保留使用者資料夾(按鍵綁定和偏好設定)",
dialog_warning_uninstall_userFolder_checkbox_description: "目錄位置:{{path}}",
dialog_warning_uninstall_confirm: "解除安裝遊戲",
dialog_settings_reset_title: "重置設定",
dialog_settings_reset_content: "您確定要重置您的遊戲設定嗎?",
dialog_settings_reset_button: "恢復預設",
dialog_settings_game_not_installed_title: "尚未安裝遊戲",
dialog_settings_game_not_installed_content: "目前您嘗試驗證檔案的位置並未安裝遊戲。請先安裝遊戲後重新嘗試。",
dialog_cancel_installation_title: "取消下載",
dialog_cancel_installation_content: "您確定要取消下載{{info}}嗎?",
dialog_cancel_installation_content_keep_files_downloaded: "保留已下載檔案",
dialog_start_installation_title: "安裝 {{game}} - {{channel}}",
dialog_start_installation_content_location: "遊戲將安裝在下列位置",
dialog_start_installation_content_location_settings: "您可以在遊戲設定中變更遊戲位置",
dialog_start_installation_content_location_close_popover: "如果您需要先變更遊戲安裝位置,請關閉此對話框。",
dialog_start_installation_action_go_to_settings: "遊戲設定",
dialog_start_installation_action_install: "安裝",
dialog_launch_check_update_available_title: "遊戲版本更新",
dialog_launch_check_update_available_content: "一個新的遊戲版本 {{game}} - {{channel}} 可安裝。請更新後再進入遊戲。",
dialog_discover_title: "啟動器介面已更新!",
dialog_discover_content: "RSI 啟動器的外觀現在已經煥然一新!我們準備了一小段旅程來引領您去看看有什麼樣的改變。",
dialog_discover_start: "開始旅程",
dialog_discover_skip: "跳過",
dialog_debug_cache_clear_title: "清除啟動器快取",
dialog_debug_cache_clear_content: "此操作將清除啟動器快取並退出登入,您確定要繼續嗎?",
dialog_debug_cache_clear_button: "繼續",
dialog_warning_change_game_title_dialog: "變更遊戲位置",
dialog_warning_change_game_question_dialog: "{{game}} - {{channel}} 已安裝至目前位置。您想要變更收藏庫嗎?",
dialog_warning_change_installed_game_question_dialog: "您確定要變更此收藏庫的位置嗎?",
dialog_warning_change_game_current_dialog: "目前:",
dialog_warning_change_game_new_dialog: "新:",
dialog_warning_change_game_warn_dialog: "如果要繼續,請確保將檔案移動至新位置,並在新位置驗證檔案或重新安裝遊戲。",
dialog_settings_delete_local_title: "刪除本機配置"
},
discover: {
step_done_label: "立即進入",
step_menu_title: "啟動器選單",
step_menu_description: "在此選單中可快速前往設定與其他實用資源例如支援、Spectrum 和問題與建議中心。",
step_status_title: "狀態",
step_status_description: "在此處能夠檢視 RSI 各項服務的狀態。如果有任何性能問題或服務中斷,您可以在此處看到。",
step_download_title: "下載管理",
step_download_description: "查看下載/更新進度、暫停目前下載或快速變更下載設定。",
"step_user-profile_title": "使用者檔案",
"step_user-profile_description": "查看目前登入的帳戶。使用此選單能夠快速瀏覽您的 RSI 帳戶介面。如果您需要切換帳號,可以在此處進行登出。",
step_last_title: "啟動器路線圖",
step_last_description: "RSI 啟動器會隨著時間的推移不斷發展。請隨時在問題與建議中心向我們回饋問題。感謝您對我們開發的支援。"
},
download: {
download_empty: "下載佇列中沒有下載任務。",
download_phase: "階段",
download_status: "狀態",
download_speed: "速度",
download_left: "剩餘",
download_files_left: "剩餘檔案",
download_title: "下載任務",
download_settings: "下載設定",
download_play: "開始",
download_pause: "暫停",
download_initializing: "正在初始化…",
download_update_manifest: "正在下載更新檔案清單",
download_manifest: "正在下載檔案清單",
downloaded_update_manifest: "更新檔案清單已下載",
download_analysing_install: "正在驗證安裝檔案",
download_checking_files: "正在驗證檔案 - 需要幾分鐘",
download_base_pack: "正在下載基礎檔案包",
download_updating_game_files: "正在更新遊戲檔案",
download_updating_game_content: "正在更新遊戲內容",
download_completed: "完成",
download_waiting: "正在排隊",
download_cancelling: "正在取消",
download_resume: "繼續",
download_cancel: "取消",
download_remove: "移除",
download_error: "錯誤",
download_toast_install_success: "安裝已完成",
download_toast_update_success: "更新已完成",
download_toast_verify_success: "檔案驗證已完成",
download_toast_install_cancel_success: "下載已取消",
download_toast_uninstall_success: "{{game}} - {{channel}} 已移除",
download_toast_uninstall_fail: "{{game}} - {{channel}} 無法移除",
download_type_install: "安裝",
download_type_update: "更新",
download_type_verify: "驗證檔案",
download_toast_fix_permission_success: "權限已修復。請驗證遊戲檔案以繼續。",
download_toast_fix_permission_fail: "修復 {{game}} - {{channel}} 權限失敗。請重新嘗試。"
},
errors: {
error_game_package_missing_title: "沒有遊戲資格包",
error_game_package_missing_subtitle: "您需要購買一個遊戲資格包才能夠登入遊戲。",
error_game_package_missing_retry: "重新登入",
error_game_package_missing_support: "客戶支援",
error_sign_in_offline_header_title: "您目前處於離線狀態",
error_sign_in_offline_header_subtitle: "無法連線至我們的伺服器。請檢查您的網路並重新嘗試。",
error_sign_in_offline_content_title: "為什麼我不能進入離線模式?",
error_sign_in_offline_content_description: "您無法進入離線模式可能由下列其中一項原因導致:",
error_sign_in_offline_content_description_first: "您還未選擇 \u201c記住密碼\u201d",
error_sign_in_offline_content_description_second: "您的裝置信任期限已逾期",
error_sign_in_offline_content_description_third: "您在過去的30天內未曾登入帳戶",
error_sign_in_offline_exit: "退出",
error_sign_in_offline_retry: "重新嘗試",
error_internal_error: "內部錯誤",
error_not_authenticated: "您未通過身份驗證",
error_invalid_claims: "無效宣告",
error_authentication_mfa: "身份驗證需要mfa",
error_sign_in_failed: "登入失敗。您可能輸入了錯誤的憑證。",
error_sign_in_not_authorized: "您沒有登入權限。",
error_captcha_invalid: "驗證碼無效",
error_session_expired: "您的工作階段已過期。請再次確認您的密碼。",
error_wrong_credentials: "您可能輸入了錯誤的憑證、帳戶不存在或帳戶未啟用(1032)",
error_max_login_attempt: "已超過登入失敗的最大次數限制。(1034)",
error_wrong_mfa_code: "雙重驗證失敗。您可能輸入了錯誤的或過期的驗證碼(1037)",
error_captcha_required: "需要驗證驗證碼。",
error_game_error_code: "遊戲錯誤代碼:{{ code }}",
error_installer_error_code: "錯誤代碼:{{ code }}",
error_installer_support_permission_title: "權限不足",
error_installer_support_permission_content: "您需要授予啟動器權限才能在您的系統上執行安裝操作。",
error_installer_create_directory_title: "無法建立資料夾",
error_installer_create_directory_content_1: "建立頻道資料夾時出現錯誤。",
error_installer_create_directory_content_2: "請手動建立頻道資料夾,後重新嘗試。必須在下列路徑上建立資料夾:",
error_installer_more_info_content: "可在<0>知識庫</0>中查閱更多相關資訊。",
error_installer_basepack_invalid_title: "基礎檔案包 - 檔案無效",
error_installer_basepack_invalid_content: "下載遊戲時出現錯誤,請重新嘗試。錯誤代碼:{{code}}",
error_installer_disc_full_title: "磁碟空間不足",
error_installer_disc_full_content: "您的磁碟沒有足夠的可用空間。請嘗試清理空間或將目錄移動至空間更大的磁碟。錯誤代碼:{{code}}",
error_installer_permissions_title: "檔案系統權限錯誤",
error_installer_permissions_content: "修補程式在寫入時遇到權限問題。請檢查目錄權限並重新嘗試。錯誤代碼:{{code}}",
error_installer_permissions_action: "修復權限",
error_installer_file_in_use_title: "檔案被佔用",
error_installer_file_in_use_content: "遊戲檔案正在被佔用。請關閉您打開的遊戲檔案後重新嘗試。錯誤代碼:{{code}}",
error_installer_pk4_corrupted_title: "遊戲檔案已損壞",
error_installer_pk4_corrupted_content: "您的遊戲檔案已損壞且無法恢復。錯誤代碼:{{code}}",
error_installer_retrieve_manifest_title: "無法取得更新檔案清單",
error_installer_retrieve_manifest_content: "取得更新檔案清單時發生網路錯誤。請檢查您的網路連線-並重啟啟動器後重新嘗試。錯誤代碼:{{code}}",
error_installer_unknown_network_title: "未知網路錯誤",
error_installer_unknown_network_content: "請檢查您的網路並重新嘗試。錯誤代碼:{{code}}",
error_installer_base_p4k_corrupted_title: "基礎檔案包驗證錯誤",
error_installer_base_p4k_corrupted_content: "基礎檔案包驗證失敗,請重新嘗試。如果問題依然存在,請<0>回報漏洞</0>。別忘了附上您的<1>日誌檔案。</1>",
error_installer_init_download_title: "下載初始化 - 基礎檔案包 - 錯誤",
error_installer_patcher_title: "資料修補程式錯誤",
error_installer_title: "安裝程式錯誤",
error_installer_patcher_generic_content: "安裝時出現錯誤。可在<0>知識庫</0>中查閱更多相關資訊。",
error_installer_generic_content: "安裝時出現錯誤。",
error_report_bug: "如果問題依然存在,請<0>回報漏洞</0>。請同時附上您的<1>日誌檔案</1>。",
error_generic_title: "啟動器錯誤",
error_generic_content: "出現錯誤。",
error_os_requirements_title: "未達到最低配置要求",
error_os_requirements_text: "您的電腦未達到執行 {{ game }} 的<0>最低配置要求</0>",
error_cpu_requirements_title: "檢測到不支援的硬體",
error_cpu_requirements_text: "遊戲需要一個支援 AVX 指令集的 CPU 才能執行。",
error_launch_account_not_found_title: "將您的帳戶複製到 PTU ",
error_launch_account_not_found_content: "想要遊玩公共測試宇宙PTU您需要複製帳戶到 PTU。請按照下列步驟<0>這裡</0>並重新嘗試。",
error_launch_unknown_title: "啟動器 - 未知錯誤",
error_launch_unknown_content: "啟動遊戲時出現錯誤。請驗證遊戲檔案完整性。",
error_launch_error_code: "遊戲錯誤代碼:{{ code }}",
error_launch_no_game_files_title: "啟動器 - 未找到遊戲檔案",
error_launch_no_game_files_content: "啟動遊戲時出現錯誤。無法檢索到遊戲檔案。請驗證遊戲檔案完整性。",
error_launch_EAC_title: "啟動器 - EAC 錯誤",
error_launch_EAC_content: "啟動遊戲時出現錯誤。EAC 檢測到檔案損壞。請驗證遊戲檔案完整性。",
error_launch_game_crash_title: "{{game}} 意外停止執行",
error_launch_game_crash_content_1: "遊戲執行時出現錯誤。",
error_launch_game_crash_content_2: "請嘗試重新啟動遊戲。如果問題依然存在,請驗證您的安裝檔案。",
error_launch_game_running_title: "遊戲正在執行",
error_launch_game_running_content: "遊戲已經處於執行狀態",
error_launch_check_update_unavailable_title: "檢查遊戲版本失敗",
error_launch_check_update_unavailable_content: "檢查遊戲版本時出現錯誤。",
error_api_denied_request_title: "API 拒絕請求",
error_api_denied_request_content: "出現錯誤。您的工作階段似乎已過期或被拒絕。您已登出,請重新嘗試。",
error_api_validation_failed: "API 請求驗證失敗",
error_api_too_many_requests_title: "請求過多",
error_api_too_many_requests_content: "API 目前過載。請稍等幾分鐘後重新嘗試。",
error_api_unavailable: "API 無法使用。請稍等幾分鐘後重新嘗試。",
error_api_internal_server_error: "我們的伺服器遇到困難。請稍等幾分鐘後重新嘗試。",
error_api_auth_expired_content: "您的工作階段已過期。請再次確認您的密碼。",
error_api_auth_expired_title: "工作階段已過期",
error_api_platform_auth_title: "平台驗證錯誤",
error_api_platform_auth_content: "無法在 {{id}} 平台進行驗證 {{error}}",
error_network_issue_title: "網路問題",
error_network_issue_content: "無法建立網路連線。請檢查您的網路狀態後嘗試重新連線。"
},
form: {
sign_in_title: "登入 RSI 啟動器",
sign_in_email: "電子信箱",
sign_in_password: "密碼",
sign_in_remember_me: "記住密碼",
sign_in_forgot_password: "忘記密碼?",
sign_in_captcha: "驗證碼",
sign_in_captcha_refresh: "重新整理",
sign_in_captcha_help: "輸入上方圖像中的文字。",
sign_in_no_account: "沒有帳戶?",
sign_in_create_account: "建立一個!",
sign_in_submit: "登入",
sign_in_loading: "正在登入…",
sign_in_prerelease: "這是RSI啟動器的搶先發布版本",
sign_in_mfa_title: "我們需要驗證您的身份",
sign_in_mfa_subtitle: "保護您的帳戶對於我們來說是非常重要的。我們向您帳戶綁定的電子信箱發送了驗證碼。",
sign_in_mfa_code_label: "驗證碼",
sign_in_mfa_code_help: "輸入發送到您的電子信箱的驗證碼或驗證器中的驗證碼。或者使用備用驗證碼。",
sign_in_mfa_device_label: "裝置名稱",
sign_in_mfa_device_help: "為您目前裝置輸入一個名稱。",
sign_in_mfa_duration_label: "信任這個裝置",
sign_in_mfa_duration_help: "允許裝置在選定的時間內跳過MFA驗證。如果這是一個共享或公用裝置我們建議您選擇“僅目前工作階段”。",
sign_in_mfa_session: "僅目前工作階段",
sign_in_mfa_day: "一天",
sign_in_mfa_week: "一週",
sign_in_mfa_month: "一個月",
sign_in_mfa_year: "一年",
sign_in_mfa_back_sign_in: "返回",
sign_in_mfa_submit: "驗證身份",
error_field_is_required: "必須輸入該欄位",
error_email_field_is_required: "需要輸入一個電子信箱地址",
error_password_field_is_required: "需要輸入密碼",
error_code_required: "您必須輸入您的驗證碼",
error_device_required: "您必須輸入您的裝置名稱",
error_device_min_length: "您的裝置名稱最少需要3個字元",
text_field_show_password: "顯示密碼",
text_field_hide_password: "隱藏密碼"
},
gamePage: {
game_page_title: "進入<0/><1>{{name}} 宇宙</1>",
game_page_nav_title: "遊戲",
game_page_nav_title_one: "遊戲",
game_page_nav_title_other: "遊戲",
game_page_game_is_running: "遊戲正在執行",
game_page_installing: "正在安裝…",
game_page_installing_paused: "安裝已暫停",
game_page_updating: "正在更新…",
game_page_updating_paused: "更新已暫停",
game_page_verifying: "正在驗證檔案…",
game_page_uninstalling: "正在移除",
game_page_verifying_paused: "驗證已暫停",
game_page_update_game: "更新遊戲",
game_page_launch_game: "啟動遊戲",
game_page_install_game: "安裝遊戲",
game_page_waiting_in_queue: "正在排隊",
game_page_channels: "遊戲環境",
game_page_settings: "遊戲設定",
game_page_settings_verify: "驗證遊戲檔案",
game_page_settings_uninstall: "移除遊戲",
game_page_update_game_is_available: "了解 {{version}} 新內容,<0>請查看補丁說明</0>",
game_page_game_is_not_available_offline: "您目前處於離線狀態。執行 {{game}} 需要網路連線。",
game_page_status_under_maintenance: "我們正在對其中一項服務進行維護。",
game_page_status_issue: "我們正在解決一個問題。請自行承擔風險。",
game_page_status_more_information: "想要取得更多資訊請查閱<0>狀態頁面</0>",
game_page_cards_empty: "目前沒有可用的內容",
game_page_cards_loading: "正在載入內容。",
game_page_cards_tab_community: "社群",
"game_page_cards_tab_comm-links": "通訊連結",
"game_page_cards_tab_new-citizens": "新手指南",
"game_page_cards_tab_patch-notes": "補丁說明",
game_page_card_button_label: "查看更多"
},
settingsPage: {
settings_about_title: "關於啟動器",
settings_application_title: "一般設定",
settings_games_title: "遊戲檔案",
settings_download_title: "下載設定",
settings_dev_title: "Dev / QA",
settings_storage_title: "儲存空間",
settings_nav_items_application: "程式",
settings_nav_items_accessibility: "輔助功能",
settings_nav_items_games: "遊戲",
settings_nav_items_about: "關於",
settings_nav_items_download: "下載",
settings_nav_items_storage: "儲存空間",
settings_nav_items_dev: "DEV \ud83d\ude80",
settings_about_logo_alt: "CloudImperium©",
settings_about_copyright: "© 2012 - {{year}} Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd",
settings_about_launcher_version: "啟動器版本",
settings_about_launcher_preversion: "(搶先版)",
settings_application_window_behavior_title: "視窗設定",
settings_application_window_behavior_description: "開啟此功能將會停用啟動器最小化,並在您關閉視窗後直接關閉啟動器。",
settings_application_window_behavior_close_to_quit: "啟用 關閉視窗直接關閉程式",
settings_application_debug_tools_title: "啟動器除錯工具",
settings_application_debug_tools_description: "如果您在使用啟動器時遇到問題,清除快取可能可以解決問題。您還需要找到您的日誌檔案,這可在您向<iclink>問題與建議中心</iclink>報告啟動器問題時提供幫助。",
settings_application_debug_tools_label: "除錯工具",
settings_application_debug_tools_button_clear_cache: "清除快取",
settings_application_debug_tools_button_get_logs: "取得日誌檔案",
settings_application_debug_tools_button_cache_clear_success: "快取已清除",
settings_accessibility_title: "輔助功能",
settings_accessibility_reduce_motion_title: "減少動畫效果",
settings_accessibility_reduce_motion_description: "減少啟動器中的動畫效果。例如:背景影片、圖示動畫和頁面轉換動畫。",
settings_accessibility_reduce_motion_system_sync_title: "與系統同步",
settings_accessibility_reduce_motion_system_sync_description: "與系統的動畫減少設定同步",
settings_accessibility_reduce_motion_background_video_toggle_title: "停用背景影片",
settings_accessibility_reduce_motion_background_video_toggle_description: "使用靜態圖片取代背景影片",
settings_accessibility_reduce_motion_unessential_animation_toggle_title: "停用非必要動畫",
settings_accessibility_reduce_motion_unessential_animation_toggle_description: "裝飾性圖示、標誌、游標互動...",
settings_accessibility_reduce_motion_transition_effects_toggle_title: "停用頁面轉換效果",
settings_accessibility_reduce_motion_transition_effects_toggle_description: "各部分(頁面、頁籤...)之間的過渡動畫",
settings_accessibility_reduce_motion_information_enabled: "系統的動畫減少已啟用。",
settings_accessibility_reduce_motion_information_disabled: "系統的動畫減少已停用。",
settings_accessibility_reduce_motion_information_restart_link_label: "下次啟動時才會套用目前變更。<iclink>立刻重新啟動</iclink>。",
settings_games_installation_title: "遊戲位置",
settings_games_installation_description: "這是您的遊戲資料夾的路徑。",
settings_games_installation_information: "如果您的遊戲已經安裝在其他位置,在這裡選擇位置,然後點擊驗證檔案。",
settings_games_installation_path_title: "遊戲位置完整路徑",
settings_games_installation_library_folder_success: "路徑已更新",
settings_games_installation_library_folder_change: "變更",
settings_games_installation_library_folder_label: "RSI 目錄位置",
settings_games_game_files_title: "安裝位置",
settings_games_game_files_description: "安裝/解除安裝此遊戲頻道或驗證已安裝的遊戲檔案完整性。",
settings_games_game_files_verify_files: "驗證遊戲檔案",
settings_games_game_files_verifying_files: "正在驗證遊戲檔案",
settings_games_game_files_install_files: "安裝遊戲",
settings_games_game_files_installing_files: "正在安裝",
settings_games_game_files_uninstall_files: "解除安裝遊戲",
settings_games_game_files_uninstalling_files: "正在解除安裝",
settings_games_game_files_process_paused: "已暫停",
settings_common_reset: "重置所有變更",
settings_common_reset_confirmation: "此遊戲頻道的變更已被重置",
settings_common_accordion_open_all: "全部展開",
settings_common_accordion_close_all: "全部收起",
settings_common_back: "返回",
settings_common_saved: "已儲存",
settings_download_main_title: "下載限制",
settings_download_main_content: "調整下載速度來改善網路速率",
settings_storage_main_title: "預設收藏庫",
settings_storage_main_description: "預設情況下,新遊戲和環境將安裝在此處。",
settings_storage_default_library_folder_label: "收藏庫位置",
settings_storage_additional_libs_title: "其他收藏庫",
settings_storage_additional_libs_description: "在一個或多個驅動器中建立庫",
settings_storage_add_additional_libraries: "添加新收藏庫",
settings_download_concurrent_title: "同時下載數量",
settings_download_concurrent_desc: "調整同時下載的最大檔案數。提升您的下載體驗來匹配您的個人習慣和網路環境。",
settings_download_speed_title: "限制下載速度",
settings_download_speed_desc: "設定每秒資料傳輸速率上限以調節下載速率。",
settings_application_discover_behavior_title: "探索功能",
settings_application_discover_behavior_description: "啟動器探索僅在首次進入啟動器時顯示(或透過點擊 RSI 選單中的 探索 按鈕)。此選項將允許您在負載時重新啟用 探索 以進行測試。",
settings_application_discover_behavior_isDiscoverDone: "isDiscoverDone",
settings_games_launch_command_line: "其他命令列參數",
settings_games_launch_disclaimer: "此操作將在您下次\u2019ll啟動遊戲時套用",
settings_games_launch_hostname: "宇宙 Host",
settings_games_launch_port: "宇宙埠",
settings_games_launch_executable: "可執行",
settings_games_launch_launch_options: "啟動器選項",
settings_games_launch_eac_title: "Easy Anti-Cheat",
settings_games_launch_eac_description: "Easy Anti-Cheat 是許多熱門遊戲所使用的反作弊服務。用於在多人PC遊戲中阻止作弊和未授權的第三方軟體的使用。",
settings_games_launch_eac_informative: "您需要在上方設定正確的可執行檔案以啟用 繞過EAC",
settings_games_launch_eac_disable: "啟用 繞過Easy Anti-Cheat",
settings_games_launch_default: "預設:",
settings_games_info_move_directory: "如果您的遊戲已安裝在其他位置,請將您的遊戲資料夾移動至下列收藏庫位置",
settings_gmaes_info_complete_path: "完整路徑:",
settings_games_manage_game_libraries: "管理收藏庫",
settings_games_game_location_title: "遊戲位置",
settings_games_game_location_description: "選擇要安裝此遊戲的收藏庫",
settings_action_set_default: "設定為預設",
settings_action_delete_library: "刪除收藏庫",
settings_toast_delete_lib_success: "收藏庫已刪除",
settings_toast_default_lib_updated: "預設收藏庫已更新",
settings_toast_lib_added: "已建立一個新的收藏庫",
settings_games_local_title: "本機配置",
settings_games_local_description: "刪除本機配置將重置著色器和使用者資料夾,可能可以幫助您解決在遊戲中遇到的任何問題。",
settings_games_local_button: "清除本機配置",
settings_games_local_shaders_folder: "著色器資料夾",
settings_games_local_screenshots_folder: "截圖資料夾",
settings_games_local_user_folder: "使用者資料夾",
settings_games_local_keybindings: "按鍵綁定(控制)",
settings_games_local_settings: "偏好設定(配置)",
settings_games_local_characters: "自訂角色",
settings_games_local_delete_description: "請選擇需要刪除的檔案。",
settings_games_local_delete_success: "本機配置已刪除。",
settings_games_local_delete_error: "刪除本機配置失敗",
settings_games_local_delete_error_message: "發生錯誤,請確保您嘗試刪除的檔案未被佔用後再試。"
},
status: {
status_title: "RSI 伺服器狀態",
status_empty: "暫無狀態可顯示。",
status_last_updated: "最後更新於 {{time}}",
status_last_updated_empty: "目前沒有資料。",
status_more_information: "更多資訊",
status_major: "完全斷線",
status_partial: "部分斷線",
status_degraded: "性能較差",
status_maintenance: "正在維護",
status_operational: "正常執行"
},
tray: {
tray_website: "瀏覽網站",
tray_report_bug: "回報漏洞",
tray_spectrum: "Spectrum",
tray_community_hub: "社群中心",
tray_support: "支援",
tray_mute: "靜音",
tray_unmute: "取消靜音",
tray_logout: "登出",
tray_quit: "退出"
}
};
function r(e) {
return r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, r(e)
}
function a(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function i(e) {
var t = function (e, t) {
if ("object" !== r(e) || null === e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var a = n.call(e, t || "default");
if ("object" !== r(a)) return a;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" === r(t) ? t : String(t)
}
function o(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, i(r.key), r)
}
}
function s(e, t, n) {
return t && o(e.prototype, t), n && o(e, n), Object.defineProperty(e, "prototype", {writable: !1}), e
}
function l(e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e
}
function c(e, t) {
return c = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {
return e.__proto__ = t, e
}, c(e, t)
}
function u(e, t) {
if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
writable: !0,
configurable: !0
}
}), Object.defineProperty(e, "prototype", {writable: !1}), t && c(e, t)
}
function d(e, t) {
if (t && ("object" === r(t) || "function" === typeof t)) return t;
if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
return l(e)
}
function p(e) {
return p = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {
return e.__proto__ || Object.getPrototypeOf(e)
}, p(e)
}
function h(e, t, n) {
return (t = i(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function f(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r
}
function m(e) {
return function (e) {
if (Array.isArray(e)) return e
}(e) || function (e) {
if ("undefined" !== typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || function (e, t) {
if (e) {
if ("string" === typeof e) return f(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0
}
}(e) || function () {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function g(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function v(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? g(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : g(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
var _ = {
type: "logger", log: function (e) {
this.output("log", e)
}, warn: function (e) {
this.output("warn", e)
}, error: function (e) {
this.output("error", e)
}, output: function (e, t) {
console && console[e] && console[e].apply(console, t)
}
}, y = function () {
function e(t) {
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
a(this, e), this.init(t, n)
}
return s(e, [{
key: "init", value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
this.prefix = t.prefix || "i18next:", this.logger = e || _, this.options = t, this.debug = t.debug
}
}, {
key: "setDebug", value: function (e) {
this.debug = e
}
}, {
key: "log", value: function () {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
return this.forward(t, "log", "", !0)
}
}, {
key: "warn", value: function () {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
return this.forward(t, "warn", "", !0)
}
}, {
key: "error", value: function () {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
return this.forward(t, "error", "")
}
}, {
key: "deprecate", value: function () {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
return this.forward(t, "warn", "WARNING DEPRECATED: ", !0)
}
}, {
key: "forward", value: function (e, t, n, r) {
return r && !this.debug ? null : ("string" === typeof e[0] && (e[0] = "".concat(n).concat(this.prefix, " ").concat(e[0])), this.logger[t](e))
}
}, {
key: "create", value: function (t) {
return new e(this.logger, v(v({}, {prefix: "".concat(this.prefix, ":").concat(t, ":")}), this.options))
}
}, {
key: "clone", value: function (t) {
return (t = t || this.options).prefix = t.prefix || this.prefix, new e(this.logger, t)
}
}]), e
}(), b = new y, x = function () {
function e() {
a(this, e), this.observers = {}
}
return s(e, [{
key: "on", value: function (e, t) {
var n = this;
return e.split(" ").forEach((function (e) {
n.observers[e] = n.observers[e] || [], n.observers[e].push(t)
})), this
}
}, {
key: "off", value: function (e, t) {
this.observers[e] && (t ? this.observers[e] = this.observers[e].filter((function (e) {
return e !== t
})) : delete this.observers[e])
}
}, {
key: "emit", value: function (e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
if (this.observers[e]) {
var a = [].concat(this.observers[e]);
a.forEach((function (e) {
e.apply(void 0, n)
}))
}
if (this.observers["*"]) {
var i = [].concat(this.observers["*"]);
i.forEach((function (t) {
t.apply(t, [e].concat(n))
}))
}
}
}]), e
}();
function w() {
var e, t, n = new Promise((function (n, r) {
e = n, t = r
}));
return n.resolve = e, n.reject = t, n
}
function k(e) {
return null == e ? "" : "" + e
}
function S(e, t, n) {
e.forEach((function (e) {
t[e] && (n[e] = t[e])
}))
}
function E(e, t, n) {
function r(e) {
return e && e.indexOf("###") > -1 ? e.replace(/###/g, ".") : e
}
function a() {
return !e || "string" === typeof e
}
for (var i = "string" !== typeof t ? [].concat(t) : t.split("."); i.length > 1;) {
if (a()) return {};
var o = r(i.shift());
!e[o] && n && (e[o] = new n), e = Object.prototype.hasOwnProperty.call(e, o) ? e[o] : {}
}
return a() ? {} : {obj: e, k: r(i.shift())}
}
function I(e, t, n) {
var r = E(e, t, Object);
r.obj[r.k] = n
}
function C(e, t) {
var n = E(e, t), r = n.obj, a = n.k;
if (r) return r[a]
}
function O(e, t, n) {
var r = C(e, n);
return void 0 !== r ? r : C(t, n)
}
function P(e, t, n) {
for (var r in t) "__proto__" !== r && "constructor" !== r && (r in e ? "string" === typeof e[r] || e[r] instanceof String || "string" === typeof t[r] || t[r] instanceof String ? n && (e[r] = t[r]) : P(e[r], t[r], n) : e[r] = t[r]);
return e
}
function A(e) {
return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
}
var T = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;"};
function D(e) {
return "string" === typeof e ? e.replace(/[&<>"'\/]/g, (function (e) {
return T[e]
})) : e
}
var R = "undefined" !== typeof window && window.navigator && "undefined" === typeof window.navigator.userAgentData && window.navigator.userAgent && window.navigator.userAgent.indexOf("MSIE") > -1,
L = [" ", ",", "?", "!", ";"];
function j(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function N(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? j(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : j(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function M(e) {
var t = function () {
if ("undefined" === typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" === typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
}))), !0
} catch (e) {
return !1
}
}();
return function () {
var n, r = p(e);
if (t) {
var a = p(this).constructor;
n = Reflect.construct(r, arguments, a)
} else n = r.apply(this, arguments);
return d(this, n)
}
}
function F(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ".";
if (e) {
if (e[t]) return e[t];
for (var r = t.split(n), a = e, i = 0; i < r.length; ++i) {
if (!a) return;
if ("string" === typeof a[r[i]] && i + 1 < r.length) return;
if (void 0 === a[r[i]]) {
for (var o = 2, s = r.slice(i, i + o).join(n), l = a[s]; void 0 === l && r.length > i + o;) o++, l = a[s = r.slice(i, i + o).join(n)];
if (void 0 === l) return;
if (null === l) return null;
if (t.endsWith(s)) {
if ("string" === typeof l) return l;
if (s && "string" === typeof l[s]) return l[s]
}
var c = r.slice(i + o).join(n);
return c ? F(l, c, n) : void 0
}
a = a[r[i]]
}
return a
}
}
var z = function (e) {
u(n, e);
var t = M(n);
function n(e) {
var r, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
ns: ["translation"],
defaultNS: "translation"
};
return a(this, n), r = t.call(this), R && x.call(l(r)), r.data = e || {}, r.options = i, void 0 === r.options.keySeparator && (r.options.keySeparator = "."), void 0 === r.options.ignoreJSONStructure && (r.options.ignoreJSONStructure = !0), r
}
return s(n, [{
key: "addNamespaces", value: function (e) {
this.options.ns.indexOf(e) < 0 && this.options.ns.push(e)
}
}, {
key: "removeNamespaces", value: function (e) {
var t = this.options.ns.indexOf(e);
t > -1 && this.options.ns.splice(t, 1)
}
}, {
key: "getResource", value: function (e, t, n) {
var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
a = void 0 !== r.keySeparator ? r.keySeparator : this.options.keySeparator,
i = void 0 !== r.ignoreJSONStructure ? r.ignoreJSONStructure : this.options.ignoreJSONStructure,
o = [e, t];
n && "string" !== typeof n && (o = o.concat(n)), n && "string" === typeof n && (o = o.concat(a ? n.split(a) : n)), e.indexOf(".") > -1 && (o = e.split("."));
var s = C(this.data, o);
return s || !i || "string" !== typeof n ? s : F(this.data && this.data[e] && this.data[e][t], n, a)
}
}, {
key: "addResource", value: function (e, t, n, r) {
var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {silent: !1},
i = this.options.keySeparator;
void 0 === i && (i = ".");
var o = [e, t];
n && (o = o.concat(i ? n.split(i) : n)), e.indexOf(".") > -1 && (r = t, t = (o = e.split("."))[1]), this.addNamespaces(t), I(this.data, o, r), a.silent || this.emit("added", e, t, n, r)
}
}, {
key: "addResources", value: function (e, t, n) {
var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {silent: !1};
for (var a in n) "string" !== typeof n[a] && "[object Array]" !== Object.prototype.toString.apply(n[a]) || this.addResource(e, t, a, n[a], {silent: !0});
r.silent || this.emit("added", e, t, n)
}
}, {
key: "addResourceBundle", value: function (e, t, n, r, a) {
var i = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {silent: !1}, o = [e, t];
e.indexOf(".") > -1 && (r = n, n = t, t = (o = e.split("."))[1]), this.addNamespaces(t);
var s = C(this.data, o) || {};
r ? P(s, n, a) : s = N(N({}, s), n), I(this.data, o, s), i.silent || this.emit("added", e, t, n)
}
}, {
key: "removeResourceBundle", value: function (e, t) {
this.hasResourceBundle(e, t) && delete this.data[e][t], this.removeNamespaces(t), this.emit("removed", e, t)
}
}, {
key: "hasResourceBundle", value: function (e, t) {
return void 0 !== this.getResource(e, t)
}
}, {
key: "getResourceBundle", value: function (e, t) {
return t || (t = this.options.defaultNS), "v1" === this.options.compatibilityAPI ? N(N({}, {}), this.getResource(e, t)) : this.getResource(e, t)
}
}, {
key: "getDataByLanguage", value: function (e) {
return this.data[e]
}
}, {
key: "hasLanguageSomeTranslations", value: function (e) {
var t = this.getDataByLanguage(e);
return !!(t && Object.keys(t) || []).find((function (e) {
return t[e] && Object.keys(t[e]).length > 0
}))
}
}, {
key: "toJSON", value: function () {
return this.data
}
}]), n
}(x), V = {
processors: {}, addPostProcessor: function (e) {
this.processors[e.name] = e
}, handle: function (e, t, n, r, a) {
var i = this;
return e.forEach((function (e) {
i.processors[e] && (t = i.processors[e].process(t, n, r, a))
})), t
}
};
function U(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function B(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? U(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : U(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function G(e) {
var t = function () {
if ("undefined" === typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" === typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
}))), !0
} catch (e) {
return !1
}
}();
return function () {
var n, r = p(e);
if (t) {
var a = p(this).constructor;
n = Reflect.construct(r, arguments, a)
} else n = r.apply(this, arguments);
return d(this, n)
}
}
var $ = {}, q = function (e) {
u(n, e);
var t = G(n);
function n(e) {
var r, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return a(this, n), r = t.call(this), R && x.call(l(r)), S(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], e, l(r)), r.options = i, void 0 === r.options.keySeparator && (r.options.keySeparator = "."), r.logger = b.create("translator"), r
}
return s(n, [{
key: "changeLanguage", value: function (e) {
e && (this.language = e)
}
}, {
key: "exists", value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {interpolation: {}};
if (void 0 === e || null === e) return !1;
var n = this.resolve(e, t);
return n && void 0 !== n.res
}
}, {
key: "extractFromKey", value: function (e, t) {
var n = void 0 !== t.nsSeparator ? t.nsSeparator : this.options.nsSeparator;
void 0 === n && (n = ":");
var r = void 0 !== t.keySeparator ? t.keySeparator : this.options.keySeparator,
a = t.ns || this.options.defaultNS || [], i = n && e.indexOf(n) > -1,
o = !this.options.userDefinedKeySeparator && !t.keySeparator && !this.options.userDefinedNsSeparator && !t.nsSeparator && !function (e, t, n) {
t = t || "", n = n || "";
var r = L.filter((function (e) {
return t.indexOf(e) < 0 && n.indexOf(e) < 0
}));
if (0 === r.length) return !0;
var a = new RegExp("(".concat(r.map((function (e) {
return "?" === e ? "\\?" : e
})).join("|"), ")")), i = !a.test(e);
if (!i) {
var o = e.indexOf(n);
o > 0 && !a.test(e.substring(0, o)) && (i = !0)
}
return i
}(e, n, r);
if (i && !o) {
var s = e.match(this.interpolator.nestingRegexp);
if (s && s.length > 0) return {key: e, namespaces: a};
var l = e.split(n);
(n !== r || n === r && this.options.ns.indexOf(l[0]) > -1) && (a = l.shift()), e = l.join(r)
}
return "string" === typeof a && (a = [a]), {key: e, namespaces: a}
}
}, {
key: "translate", value: function (e, t, a) {
var i = this;
if ("object" !== r(t) && this.options.overloadTranslationOptionHandler && (t = this.options.overloadTranslationOptionHandler(arguments)), t || (t = {}), void 0 === e || null === e) return "";
Array.isArray(e) || (e = [String(e)]);
var o = void 0 !== t.returnDetails ? t.returnDetails : this.options.returnDetails,
s = void 0 !== t.keySeparator ? t.keySeparator : this.options.keySeparator,
l = this.extractFromKey(e[e.length - 1], t), c = l.key, u = l.namespaces, d = u[u.length - 1],
p = t.lng || this.language,
h = t.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
if (p && "cimode" === p.toLowerCase()) {
if (h) {
var f = t.nsSeparator || this.options.nsSeparator;
return o ? (m.res = "".concat(d).concat(f).concat(c), m) : "".concat(d).concat(f).concat(c)
}
return o ? (m.res = c, m) : c
}
var m = this.resolve(e, t), g = m && m.res, v = m && m.usedKey || c, _ = m && m.exactUsedKey || c,
y = Object.prototype.toString.apply(g),
b = ["[object Number]", "[object Function]", "[object RegExp]"],
x = void 0 !== t.joinArrays ? t.joinArrays : this.options.joinArrays,
w = !this.i18nFormat || this.i18nFormat.handleAsObject,
k = "string" !== typeof g && "boolean" !== typeof g && "number" !== typeof g;
if (w && g && k && b.indexOf(y) < 0 && ("string" !== typeof x || "[object Array]" !== y)) {
if (!t.returnObjects && !this.options.returnObjects) {
this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
var S = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(v, g, B(B({}, t), {}, {ns: u})) : "key '".concat(c, " (").concat(this.language, ")' returned an object instead of string.");
return o ? (m.res = S, m) : S
}
if (s) {
var E = "[object Array]" === y, I = E ? [] : {}, C = E ? _ : v;
for (var O in g) if (Object.prototype.hasOwnProperty.call(g, O)) {
var P = "".concat(C).concat(s).concat(O);
I[O] = this.translate(P, B(B({}, t), {
joinArrays: !1,
ns: u
})), I[O] === P && (I[O] = g[O])
}
g = I
}
} else if (w && "string" === typeof x && "[object Array]" === y) (g = g.join(x)) && (g = this.extendTranslation(g, e, t, a)); else {
var A = !1, T = !1, D = void 0 !== t.count && "string" !== typeof t.count,
R = n.hasDefaultValue(t), L = D ? this.pluralResolver.getSuffix(p, t.count, t) : "",
j = t["defaultValue".concat(L)] || t.defaultValue;
!this.isValidLookup(g) && R && (A = !0, g = j), this.isValidLookup(g) || (T = !0, g = c);
var N = t.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey,
M = N && T ? void 0 : g, F = R && j !== g && this.options.updateMissing;
if (T || A || F) {
if (this.logger.log(F ? "updateKey" : "missingKey", p, d, c, F ? j : g), s) {
var z = this.resolve(c, B(B({}, t), {}, {keySeparator: !1}));
z && z.res && this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")
}
var V = [],
U = this.languageUtils.getFallbackCodes(this.options.fallbackLng, t.lng || this.language);
if ("fallback" === this.options.saveMissingTo && U && U[0]) for (var G = 0; G < U.length; G++) V.push(U[G]); else "all" === this.options.saveMissingTo ? V = this.languageUtils.toResolveHierarchy(t.lng || this.language) : V.push(t.lng || this.language);
var $ = function (e, n, r) {
var a = R && r !== g ? r : M;
i.options.missingKeyHandler ? i.options.missingKeyHandler(e, d, n, a, F, t) : i.backendConnector && i.backendConnector.saveMissing && i.backendConnector.saveMissing(e, d, n, a, F, t), i.emit("missingKey", e, d, n, g)
};
this.options.saveMissing && (this.options.saveMissingPlurals && D ? V.forEach((function (e) {
i.pluralResolver.getSuffixes(e, t).forEach((function (n) {
$([e], c + n, t["defaultValue".concat(n)] || j)
}))
})) : $(V, c, j))
}
g = this.extendTranslation(g, e, t, m, a), T && g === c && this.options.appendNamespaceToMissingKey && (g = "".concat(d, ":").concat(c)), (T || A) && this.options.parseMissingKeyHandler && (g = "v1" !== this.options.compatibilityAPI ? this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(d, ":").concat(c) : c, A ? g : void 0) : this.options.parseMissingKeyHandler(g))
}
return o ? (m.res = g, m) : g
}
}, {
key: "extendTranslation", value: function (e, t, n, r, a) {
var i = this;
if (this.i18nFormat && this.i18nFormat.parse) e = this.i18nFormat.parse(e, B(B({}, this.options.interpolation.defaultVariables), n), r.usedLng, r.usedNS, r.usedKey, {resolved: r}); else if (!n.skipInterpolation) {
n.interpolation && this.interpolator.init(B(B({}, n), {interpolation: B(B({}, this.options.interpolation), n.interpolation)}));
var o,
s = "string" === typeof e && (n && n.interpolation && void 0 !== n.interpolation.skipOnVariables ? n.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);
if (s) {
var l = e.match(this.interpolator.nestingRegexp);
o = l && l.length
}
var c = n.replace && "string" !== typeof n.replace ? n.replace : n;
if (this.options.interpolation.defaultVariables && (c = B(B({}, this.options.interpolation.defaultVariables), c)), e = this.interpolator.interpolate(e, c, n.lng || this.language, n), s) {
var u = e.match(this.interpolator.nestingRegexp);
o < (u && u.length) && (n.nest = !1)
}
!1 !== n.nest && (e = this.interpolator.nest(e, (function () {
for (var e = arguments.length, r = new Array(e), o = 0; o < e; o++) r[o] = arguments[o];
return a && a[0] === r[0] && !n.context ? (i.logger.warn("It seems you are nesting recursively key: ".concat(r[0], " in key: ").concat(t[0])), null) : i.translate.apply(i, r.concat([t]))
}), n)), n.interpolation && this.interpolator.reset()
}
var d = n.postProcess || this.options.postProcess, p = "string" === typeof d ? [d] : d;
return void 0 !== e && null !== e && p && p.length && !1 !== n.applyPostProcessor && (e = V.handle(p, e, t, this.options && this.options.postProcessPassResolved ? B({i18nResolved: r}, n) : n, this)), e
}
}, {
key: "resolve", value: function (e) {
var t, n, r, a, i, o = this,
s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return "string" === typeof e && (e = [e]), e.forEach((function (e) {
if (!o.isValidLookup(t)) {
var l = o.extractFromKey(e, s), c = l.key;
n = c;
var u = l.namespaces;
o.options.fallbackNS && (u = u.concat(o.options.fallbackNS));
var d = void 0 !== s.count && "string" !== typeof s.count,
p = d && !s.ordinal && 0 === s.count && o.pluralResolver.shouldUseIntlApi(),
h = void 0 !== s.context && ("string" === typeof s.context || "number" === typeof s.context) && "" !== s.context,
f = s.lngs ? s.lngs : o.languageUtils.toResolveHierarchy(s.lng || o.language, s.fallbackLng);
u.forEach((function (e) {
o.isValidLookup(t) || (i = e, !$["".concat(f[0], "-").concat(e)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(i) && ($["".concat(f[0], "-").concat(e)] = !0, o.logger.warn('key "'.concat(n, '" for languages "').concat(f.join(", "), '" won\'t get resolved as namespace "').concat(i, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), f.forEach((function (n) {
if (!o.isValidLookup(t)) {
a = n;
var i, l = [c];
if (o.i18nFormat && o.i18nFormat.addLookupKeys) o.i18nFormat.addLookupKeys(l, c, n, e, s); else {
var u;
d && (u = o.pluralResolver.getSuffix(n, s.count, s));
var f = "".concat(o.options.pluralSeparator, "zero");
if (d && (l.push(c + u), p && l.push(c + f)), h) {
var m = "".concat(c).concat(o.options.contextSeparator).concat(s.context);
l.push(m), d && (l.push(m + u), p && l.push(m + f))
}
}
for (; i = l.pop();) o.isValidLookup(t) || (r = i, t = o.getResource(n, e, i, s))
}
})))
}))
}
})), {res: t, usedKey: n, exactUsedKey: r, usedLng: a, usedNS: i}
}
}, {
key: "isValidLookup", value: function (e) {
return void 0 !== e && !(!this.options.returnNull && null === e) && !(!this.options.returnEmptyString && "" === e)
}
}, {
key: "getResource", value: function (e, t, n) {
var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
return this.i18nFormat && this.i18nFormat.getResource ? this.i18nFormat.getResource(e, t, n, r) : this.resourceStore.getResource(e, t, n, r)
}
}], [{
key: "hasDefaultValue", value: function (e) {
var t = "defaultValue";
for (var n in e) if (Object.prototype.hasOwnProperty.call(e, n) && t === n.substring(0, t.length) && void 0 !== e[n]) return !0;
return !1
}
}]), n
}(x);
function W(e) {
return e.charAt(0).toUpperCase() + e.slice(1)
}
var H = function () {
function e(t) {
a(this, e), this.options = t, this.supportedLngs = this.options.supportedLngs || !1, this.logger = b.create("languageUtils")
}
return s(e, [{
key: "getScriptPartFromCode", value: function (e) {
if (!e || e.indexOf("-") < 0) return null;
var t = e.split("-");
return 2 === t.length ? null : (t.pop(), "x" === t[t.length - 1].toLowerCase() ? null : this.formatLanguageCode(t.join("-")))
}
}, {
key: "getLanguagePartFromCode", value: function (e) {
if (!e || e.indexOf("-") < 0) return e;
var t = e.split("-");
return this.formatLanguageCode(t[0])
}
}, {
key: "formatLanguageCode", value: function (e) {
if ("string" === typeof e && e.indexOf("-") > -1) {
var t = ["hans", "hant", "latn", "cyrl", "cans", "mong", "arab"], n = e.split("-");
return this.options.lowerCaseLng ? n = n.map((function (e) {
return e.toLowerCase()
})) : 2 === n.length ? (n[0] = n[0].toLowerCase(), n[1] = n[1].toUpperCase(), t.indexOf(n[1].toLowerCase()) > -1 && (n[1] = W(n[1].toLowerCase()))) : 3 === n.length && (n[0] = n[0].toLowerCase(), 2 === n[1].length && (n[1] = n[1].toUpperCase()), "sgn" !== n[0] && 2 === n[2].length && (n[2] = n[2].toUpperCase()), t.indexOf(n[1].toLowerCase()) > -1 && (n[1] = W(n[1].toLowerCase())), t.indexOf(n[2].toLowerCase()) > -1 && (n[2] = W(n[2].toLowerCase()))), n.join("-")
}
return this.options.cleanCode || this.options.lowerCaseLng ? e.toLowerCase() : e
}
}, {
key: "isSupportedCode", value: function (e) {
return ("languageOnly" === this.options.load || this.options.nonExplicitSupportedLngs) && (e = this.getLanguagePartFromCode(e)), !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(e) > -1
}
}, {
key: "getBestMatchFromCodes", value: function (e) {
var t, n = this;
return e ? (e.forEach((function (e) {
if (!t) {
var r = n.formatLanguageCode(e);
n.options.supportedLngs && !n.isSupportedCode(r) || (t = r)
}
})), !t && this.options.supportedLngs && e.forEach((function (e) {
if (!t) {
var r = n.getLanguagePartFromCode(e);
if (n.isSupportedCode(r)) return t = r;
t = n.options.supportedLngs.find((function (e) {
if (0 === e.indexOf(r)) return e
}))
}
})), t || (t = this.getFallbackCodes(this.options.fallbackLng)[0]), t) : null
}
}, {
key: "getFallbackCodes", value: function (e, t) {
if (!e) return [];
if ("function" === typeof e && (e = e(t)), "string" === typeof e && (e = [e]), "[object Array]" === Object.prototype.toString.apply(e)) return e;
if (!t) return e.default || [];
var n = e[t];
return n || (n = e[this.getScriptPartFromCode(t)]), n || (n = e[this.formatLanguageCode(t)]), n || (n = e[this.getLanguagePartFromCode(t)]), n || (n = e.default), n || []
}
}, {
key: "toResolveHierarchy", value: function (e, t) {
var n = this, r = this.getFallbackCodes(t || this.options.fallbackLng || [], e), a = [],
i = function (e) {
e && (n.isSupportedCode(e) ? a.push(e) : n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))
};
return "string" === typeof e && e.indexOf("-") > -1 ? ("languageOnly" !== this.options.load && i(this.formatLanguageCode(e)), "languageOnly" !== this.options.load && "currentOnly" !== this.options.load && i(this.getScriptPartFromCode(e)), "currentOnly" !== this.options.load && i(this.getLanguagePartFromCode(e))) : "string" === typeof e && i(this.formatLanguageCode(e)), r.forEach((function (e) {
a.indexOf(e) < 0 && i(n.formatLanguageCode(e))
})), a
}
}]), e
}(), K = [{
lngs: ["ach", "ak", "am", "arn", "br", "fil", "gun", "ln", "mfe", "mg", "mi", "oc", "pt", "pt-BR", "tg", "tl", "ti", "tr", "uz", "wa"],
nr: [1, 2],
fc: 1
}, {
lngs: ["af", "an", "ast", "az", "bg", "bn", "ca", "da", "de", "dev", "el", "en", "eo", "es", "et", "eu", "fi", "fo", "fur", "fy", "gl", "gu", "ha", "hi", "hu", "hy", "ia", "it", "kk", "kn", "ku", "lb", "mai", "ml", "mn", "mr", "nah", "nap", "nb", "ne", "nl", "nn", "no", "nso", "pa", "pap", "pms", "ps", "pt-PT", "rm", "sco", "se", "si", "so", "son", "sq", "sv", "sw", "ta", "te", "tk", "ur", "yo"],
nr: [1, 2],
fc: 2
}, {
lngs: ["ay", "bo", "cgg", "fa", "ht", "id", "ja", "jbo", "ka", "km", "ko", "ky", "lo", "ms", "sah", "su", "th", "tt", "ug", "vi", "wo", "zh"],
nr: [1],
fc: 3
}, {lngs: ["be", "bs", "cnr", "dz", "hr", "ru", "sr", "uk"], nr: [1, 2, 5], fc: 4}, {
lngs: ["ar"],
nr: [0, 1, 2, 3, 11, 100],
fc: 5
}, {lngs: ["cs", "sk"], nr: [1, 2, 5], fc: 6}, {lngs: ["csb", "pl"], nr: [1, 2, 5], fc: 7}, {
lngs: ["cy"],
nr: [1, 2, 3, 8],
fc: 8
}, {lngs: ["fr"], nr: [1, 2], fc: 9}, {lngs: ["ga"], nr: [1, 2, 3, 7, 11], fc: 10}, {
lngs: ["gd"],
nr: [1, 2, 3, 20],
fc: 11
}, {lngs: ["is"], nr: [1, 2], fc: 12}, {lngs: ["jv"], nr: [0, 1], fc: 13}, {
lngs: ["kw"],
nr: [1, 2, 3, 4],
fc: 14
}, {lngs: ["lt"], nr: [1, 2, 10], fc: 15}, {lngs: ["lv"], nr: [1, 2, 0], fc: 16}, {
lngs: ["mk"],
nr: [1, 2],
fc: 17
}, {lngs: ["mnk"], nr: [0, 1, 2], fc: 18}, {lngs: ["mt"], nr: [1, 2, 11, 20], fc: 19}, {
lngs: ["or"],
nr: [2, 1],
fc: 2
}, {lngs: ["ro"], nr: [1, 2, 20], fc: 20}, {lngs: ["sl"], nr: [5, 1, 2, 3], fc: 21}, {
lngs: ["he", "iw"],
nr: [1, 2, 20, 21],
fc: 22
}], Y = {
1: function (e) {
return Number(e > 1)
}, 2: function (e) {
return Number(1 != e)
}, 3: function (e) {
return 0
}, 4: function (e) {
return Number(e % 10 == 1 && e % 100 != 11 ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
}, 5: function (e) {
return Number(0 == e ? 0 : 1 == e ? 1 : 2 == e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5)
}, 6: function (e) {
return Number(1 == e ? 0 : e >= 2 && e <= 4 ? 1 : 2)
}, 7: function (e) {
return Number(1 == e ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
}, 8: function (e) {
return Number(1 == e ? 0 : 2 == e ? 1 : 8 != e && 11 != e ? 2 : 3)
}, 9: function (e) {
return Number(e >= 2)
}, 10: function (e) {
return Number(1 == e ? 0 : 2 == e ? 1 : e < 7 ? 2 : e < 11 ? 3 : 4)
}, 11: function (e) {
return Number(1 == e || 11 == e ? 0 : 2 == e || 12 == e ? 1 : e > 2 && e < 20 ? 2 : 3)
}, 12: function (e) {
return Number(e % 10 != 1 || e % 100 == 11)
}, 13: function (e) {
return Number(0 !== e)
}, 14: function (e) {
return Number(1 == e ? 0 : 2 == e ? 1 : 3 == e ? 2 : 3)
}, 15: function (e) {
return Number(e % 10 == 1 && e % 100 != 11 ? 0 : e % 10 >= 2 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
}, 16: function (e) {
return Number(e % 10 == 1 && e % 100 != 11 ? 0 : 0 !== e ? 1 : 2)
}, 17: function (e) {
return Number(1 == e || e % 10 == 1 && e % 100 != 11 ? 0 : 1)
}, 18: function (e) {
return Number(0 == e ? 0 : 1 == e ? 1 : 2)
}, 19: function (e) {
return Number(1 == e ? 0 : 0 == e || e % 100 > 1 && e % 100 < 11 ? 1 : e % 100 > 10 && e % 100 < 20 ? 2 : 3)
}, 20: function (e) {
return Number(1 == e ? 0 : 0 == e || e % 100 > 0 && e % 100 < 20 ? 1 : 2)
}, 21: function (e) {
return Number(e % 100 == 1 ? 1 : e % 100 == 2 ? 2 : e % 100 == 3 || e % 100 == 4 ? 3 : 0)
}, 22: function (e) {
return Number(1 == e ? 0 : 2 == e ? 1 : (e < 0 || e > 10) && e % 10 == 0 ? 2 : 3)
}
}, Q = ["v1", "v2", "v3"], Z = {zero: 0, one: 1, two: 2, few: 3, many: 4, other: 5};
function X() {
var e = {};
return K.forEach((function (t) {
t.lngs.forEach((function (n) {
e[n] = {numbers: t.nr, plurals: Y[t.fc]}
}))
})), e
}
var J = function () {
function e(t) {
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
a(this, e), this.languageUtils = t, this.options = n, this.logger = b.create("pluralResolver"), this.options.compatibilityJSON && "v4" !== this.options.compatibilityJSON || "undefined" !== typeof Intl && Intl.PluralRules || (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = X()
}
return s(e, [{
key: "addRule", value: function (e, t) {
this.rules[e] = t
}
}, {
key: "getRule", value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
if (this.shouldUseIntlApi()) try {
return new Intl.PluralRules(e, {type: t.ordinal ? "ordinal" : "cardinal"})
} catch (n) {
return
}
return this.rules[e] || this.rules[this.languageUtils.getLanguagePartFromCode(e)]
}
}, {
key: "needsPlural", value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = this.getRule(e, t);
return this.shouldUseIntlApi() ? n && n.resolvedOptions().pluralCategories.length > 1 : n && n.numbers.length > 1
}
}, {
key: "getPluralFormsOfKey", value: function (e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
return this.getSuffixes(e, n).map((function (e) {
return "".concat(t).concat(e)
}))
}
}, {
key: "getSuffixes", value: function (e) {
var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
r = this.getRule(e, n);
return r ? this.shouldUseIntlApi() ? r.resolvedOptions().pluralCategories.sort((function (e, t) {
return Z[e] - Z[t]
})).map((function (e) {
return "".concat(t.options.prepend).concat(e)
})) : r.numbers.map((function (r) {
return t.getSuffix(e, r, n)
})) : []
}
}, {
key: "getSuffix", value: function (e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, r = this.getRule(e, n);
return r ? this.shouldUseIntlApi() ? "".concat(this.options.prepend).concat(r.select(t)) : this.getSuffixRetroCompatible(r, t) : (this.logger.warn("no plural rule found for: ".concat(e)), "")
}
}, {
key: "getSuffixRetroCompatible", value: function (e, t) {
var n = this, r = e.noAbs ? e.plurals(t) : e.plurals(Math.abs(t)), a = e.numbers[r];
this.options.simplifyPluralSuffix && 2 === e.numbers.length && 1 === e.numbers[0] && (2 === a ? a = "plural" : 1 === a && (a = ""));
var i = function () {
return n.options.prepend && a.toString() ? n.options.prepend + a.toString() : a.toString()
};
return "v1" === this.options.compatibilityJSON ? 1 === a ? "" : "number" === typeof a ? "_plural_".concat(a.toString()) : i() : "v2" === this.options.compatibilityJSON || this.options.simplifyPluralSuffix && 2 === e.numbers.length && 1 === e.numbers[0] ? i() : this.options.prepend && r.toString() ? this.options.prepend + r.toString() : r.toString()
}
}, {
key: "shouldUseIntlApi", value: function () {
return !Q.includes(this.options.compatibilityJSON)
}
}]), e
}();
function ee(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function te(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? ee(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ee(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
var ne = function () {
function e() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
a(this, e), this.logger = b.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || function (e) {
return e
}, this.init(t)
}
return s(e, [{
key: "init", value: function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
e.interpolation || (e.interpolation = {escapeValue: !0});
var t = e.interpolation;
this.escape = void 0 !== t.escape ? t.escape : D, this.escapeValue = void 0 === t.escapeValue || t.escapeValue, this.useRawValueToEscape = void 0 !== t.useRawValueToEscape && t.useRawValueToEscape, this.prefix = t.prefix ? A(t.prefix) : t.prefixEscaped || "{{", this.suffix = t.suffix ? A(t.suffix) : t.suffixEscaped || "}}", this.formatSeparator = t.formatSeparator ? t.formatSeparator : t.formatSeparator || ",", this.unescapePrefix = t.unescapeSuffix ? "" : t.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : t.unescapeSuffix || "", this.nestingPrefix = t.nestingPrefix ? A(t.nestingPrefix) : t.nestingPrefixEscaped || A("$t("), this.nestingSuffix = t.nestingSuffix ? A(t.nestingSuffix) : t.nestingSuffixEscaped || A(")"), this.nestingOptionsSeparator = t.nestingOptionsSeparator ? t.nestingOptionsSeparator : t.nestingOptionsSeparator || ",", this.maxReplaces = t.maxReplaces ? t.maxReplaces : 1e3, this.alwaysFormat = void 0 !== t.alwaysFormat && t.alwaysFormat, this.resetRegExp()
}
}, {
key: "reset", value: function () {
this.options && this.init(this.options)
}
}, {
key: "resetRegExp", value: function () {
var e = "".concat(this.prefix, "(.+?)").concat(this.suffix);
this.regexp = new RegExp(e, "g");
var t = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix);
this.regexpUnescape = new RegExp(t, "g");
var n = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix);
this.nestingRegexp = new RegExp(n, "g")
}
}, {
key: "interpolate", value: function (e, t, n, r) {
var a, i, o, s = this,
l = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};
function c(e) {
return e.replace(/\$/g, "$$$$")
}
var u = function (e) {
if (e.indexOf(s.formatSeparator) < 0) {
var a = O(t, l, e);
return s.alwaysFormat ? s.format(a, void 0, n, te(te(te({}, r), t), {}, {interpolationkey: e})) : a
}
var i = e.split(s.formatSeparator), o = i.shift().trim(), c = i.join(s.formatSeparator).trim();
return s.format(O(t, l, o), c, n, te(te(te({}, r), t), {}, {interpolationkey: o}))
};
this.resetRegExp();
var d = r && r.missingInterpolationHandler || this.options.missingInterpolationHandler,
p = r && r.interpolation && void 0 !== r.interpolation.skipOnVariables ? r.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;
return [{
regex: this.regexpUnescape, safeValue: function (e) {
return c(e)
}
}, {
regex: this.regexp, safeValue: function (e) {
return s.escapeValue ? c(s.escape(e)) : c(e)
}
}].forEach((function (t) {
for (o = 0; a = t.regex.exec(e);) {
var n = a[1].trim();
if (void 0 === (i = u(n))) if ("function" === typeof d) {
var l = d(e, a, r);
i = "string" === typeof l ? l : ""
} else if (r && r.hasOwnProperty(n)) i = ""; else {
if (p) {
i = a[0];
continue
}
s.logger.warn("missed to pass in variable ".concat(n, " for interpolating ").concat(e)), i = ""
} else "string" === typeof i || s.useRawValueToEscape || (i = k(i));
var c = t.safeValue(i);
if (e = e.replace(a[0], c), p ? (t.regex.lastIndex += i.length, t.regex.lastIndex -= a[0].length) : t.regex.lastIndex = 0, ++o >= s.maxReplaces) break
}
})), e
}
}, {
key: "nest", value: function (e, t) {
var n, r, a, i = this, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
function s(e, t) {
var n = this.nestingOptionsSeparator;
if (e.indexOf(n) < 0) return e;
var r = e.split(new RegExp("".concat(n, "[ ]*{"))), i = "{".concat(r[1]);
e = r[0];
var o = (i = this.interpolate(i, a)).match(/'/g), s = i.match(/"/g);
(o && o.length % 2 === 0 && !s || s.length % 2 !== 0) && (i = i.replace(/'/g, '"'));
try {
a = JSON.parse(i), t && (a = te(te({}, t), a))
} catch (l) {
return this.logger.warn("failed parsing options string in nesting for key ".concat(e), l), "".concat(e).concat(n).concat(i)
}
return delete a.defaultValue, e
}
for (; n = this.nestingRegexp.exec(e);) {
var l = [];
(a = (a = te({}, o)).replace && "string" !== typeof a.replace ? a.replace : a).applyPostProcessor = !1, delete a.defaultValue;
var c = !1;
if (-1 !== n[0].indexOf(this.formatSeparator) && !/{.*}/.test(n[1])) {
var u = n[1].split(this.formatSeparator).map((function (e) {
return e.trim()
}));
n[1] = u.shift(), l = u, c = !0
}
if ((r = t(s.call(this, n[1].trim(), a), a)) && n[0] === e && "string" !== typeof r) return r;
"string" !== typeof r && (r = k(r)), r || (this.logger.warn("missed to resolve ".concat(n[1], " for nesting ").concat(e)), r = ""), c && (r = l.reduce((function (e, t) {
return i.format(e, t, o.lng, te(te({}, o), {}, {interpolationkey: n[1].trim()}))
}), r.trim())), e = e.replace(n[0], r), this.regexp.lastIndex = 0
}
return e
}
}]), e
}();
function re(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function ae(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? re(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : re(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function ie(e) {
var t = {};
return function (n, r, a) {
var i = r + JSON.stringify(a), o = t[i];
return o || (o = e(r, a), t[i] = o), o(n)
}
}
var oe = function () {
function e() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
a(this, e), this.logger = b.create("formatter"), this.options = t, this.formats = {
number: ie((function (e, t) {
var n = new Intl.NumberFormat(e, t);
return function (e) {
return n.format(e)
}
})), currency: ie((function (e, t) {
var n = new Intl.NumberFormat(e, ae(ae({}, t), {}, {style: "currency"}));
return function (e) {
return n.format(e)
}
})), datetime: ie((function (e, t) {
var n = new Intl.DateTimeFormat(e, ae({}, t));
return function (e) {
return n.format(e)
}
})), relativetime: ie((function (e, t) {
var n = new Intl.RelativeTimeFormat(e, ae({}, t));
return function (e) {
return n.format(e, t.range || "day")
}
})), list: ie((function (e, t) {
var n = new Intl.ListFormat(e, ae({}, t));
return function (e) {
return n.format(e)
}
}))
}, this.init(t)
}
return s(e, [{
key: "init", value: function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {interpolation: {}},
n = t.interpolation;
this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ","
}
}, {
key: "add", value: function (e, t) {
this.formats[e.toLowerCase().trim()] = t
}
}, {
key: "addCached", value: function (e, t) {
this.formats[e.toLowerCase().trim()] = ie(t)
}
}, {
key: "format", value: function (e, t, n, r) {
var a = this, i = t.split(this.formatSeparator).reduce((function (e, t) {
var i = function (e) {
var t = e.toLowerCase().trim(), n = {};
if (e.indexOf("(") > -1) {
var r = e.split("(");
t = r[0].toLowerCase().trim();
var a = r[1].substring(0, r[1].length - 1);
"currency" === t && a.indexOf(":") < 0 ? n.currency || (n.currency = a.trim()) : "relativetime" === t && a.indexOf(":") < 0 ? n.range || (n.range = a.trim()) : a.split(";").forEach((function (e) {
if (e) {
var t = m(e.split(":")), r = t[0],
a = t.slice(1).join(":").trim().replace(/^'+|'+$/g, "");
n[r.trim()] || (n[r.trim()] = a), "false" === a && (n[r.trim()] = !1), "true" === a && (n[r.trim()] = !0), isNaN(a) || (n[r.trim()] = parseInt(a, 10))
}
}))
}
return {formatName: t, formatOptions: n}
}(t), o = i.formatName, s = i.formatOptions;
if (a.formats[o]) {
var l = e;
try {
var c = r && r.formatParams && r.formatParams[r.interpolationkey] || {},
u = c.locale || c.lng || r.locale || r.lng || n;
l = a.formats[o](e, u, ae(ae(ae({}, s), r), c))
} catch (d) {
a.logger.warn(d)
}
return l
}
return a.logger.warn("there was no format function for ".concat(o)), e
}), e);
return i
}
}]), e
}();
function se(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function le(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? se(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : se(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function ce(e) {
var t = function () {
if ("undefined" === typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" === typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
}))), !0
} catch (e) {
return !1
}
}();
return function () {
var n, r = p(e);
if (t) {
var a = p(this).constructor;
n = Reflect.construct(r, arguments, a)
} else n = r.apply(this, arguments);
return d(this, n)
}
}
var ue = function (e) {
u(n, e);
var t = ce(n);
function n(e, r, i) {
var o, s = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
return a(this, n), o = t.call(this), R && x.call(l(o)), o.backend = e, o.store = r, o.services = i, o.languageUtils = i.languageUtils, o.options = s, o.logger = b.create("backendConnector"), o.waitingReads = [], o.maxParallelReads = s.maxParallelReads || 10, o.readingCalls = 0, o.maxRetries = s.maxRetries >= 0 ? s.maxRetries : 5, o.retryTimeout = s.retryTimeout >= 1 ? s.retryTimeout : 350, o.state = {}, o.queue = [], o.backend && o.backend.init && o.backend.init(i, s.backend, s), o
}
return s(n, [{
key: "queueLoad", value: function (e, t, n, r) {
var a = this, i = {}, o = {}, s = {}, l = {};
return e.forEach((function (e) {
var r = !0;
t.forEach((function (t) {
var s = "".concat(e, "|").concat(t);
!n.reload && a.store.hasResourceBundle(e, t) ? a.state[s] = 2 : a.state[s] < 0 || (1 === a.state[s] ? void 0 === o[s] && (o[s] = !0) : (a.state[s] = 1, r = !1, void 0 === o[s] && (o[s] = !0), void 0 === i[s] && (i[s] = !0), void 0 === l[t] && (l[t] = !0)))
})), r || (s[e] = !0)
})), (Object.keys(i).length || Object.keys(o).length) && this.queue.push({
pending: o,
pendingCount: Object.keys(o).length,
loaded: {},
errors: [],
callback: r
}), {
toLoad: Object.keys(i),
pending: Object.keys(o),
toLoadLanguages: Object.keys(s),
toLoadNamespaces: Object.keys(l)
}
}
}, {
key: "loaded", value: function (e, t, n) {
var r = e.split("|"), a = r[0], i = r[1];
t && this.emit("failedLoading", a, i, t), n && this.store.addResourceBundle(a, i, n), this.state[e] = t ? -1 : 2;
var o = {};
this.queue.forEach((function (n) {
!function (e, t, n, r) {
var a = E(e, t, Object), i = a.obj, o = a.k;
i[o] = i[o] || [], r && (i[o] = i[o].concat(n)), r || i[o].push(n)
}(n.loaded, [a], i), function (e, t) {
void 0 !== e.pending[t] && (delete e.pending[t], e.pendingCount--)
}(n, e), t && n.errors.push(t), 0 !== n.pendingCount || n.done || (Object.keys(n.loaded).forEach((function (e) {
o[e] || (o[e] = {});
var t = n.loaded[e];
t.length && t.forEach((function (t) {
void 0 === o[e][t] && (o[e][t] = !0)
}))
})), n.done = !0, n.errors.length ? n.callback(n.errors) : n.callback())
})), this.emit("loaded", o), this.queue = this.queue.filter((function (e) {
return !e.done
}))
}
}, {
key: "read", value: function (e, t, n) {
var r = this, a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : this.retryTimeout,
o = arguments.length > 5 ? arguments[5] : void 0;
if (!e.length) return o(null, {});
if (this.readingCalls >= this.maxParallelReads) this.waitingReads.push({
lng: e,
ns: t,
fcName: n,
tried: a,
wait: i,
callback: o
}); else {
this.readingCalls++;
var s = function (s, l) {
if (r.readingCalls--, r.waitingReads.length > 0) {
var c = r.waitingReads.shift();
r.read(c.lng, c.ns, c.fcName, c.tried, c.wait, c.callback)
}
s && l && a < r.maxRetries ? setTimeout((function () {
r.read.call(r, e, t, n, a + 1, 2 * i, o)
}), i) : o(s, l)
}, l = this.backend[n].bind(this.backend);
if (2 !== l.length) return l(e, t, s);
try {
var c = l(e, t);
c && "function" === typeof c.then ? c.then((function (e) {
return s(null, e)
})).catch(s) : s(null, c)
} catch (u) {
s(u)
}
}
}
}, {
key: "prepareLoading", value: function (e, t) {
var n = this, r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
a = arguments.length > 3 ? arguments[3] : void 0;
if (!this.backend) return this.logger.warn("No backend was added via i18next.use. Will not load resources."), a && a();
"string" === typeof e && (e = this.languageUtils.toResolveHierarchy(e)), "string" === typeof t && (t = [t]);
var i = this.queueLoad(e, t, r, a);
if (!i.toLoad.length) return i.pending.length || a(), null;
i.toLoad.forEach((function (e) {
n.loadOne(e)
}))
}
}, {
key: "load", value: function (e, t, n) {
this.prepareLoading(e, t, {}, n)
}
}, {
key: "reload", value: function (e, t, n) {
this.prepareLoading(e, t, {reload: !0}, n)
}
}, {
key: "loadOne", value: function (e) {
var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
r = e.split("|"), a = r[0], i = r[1];
this.read(a, i, "read", void 0, void 0, (function (r, o) {
r && t.logger.warn("".concat(n, "loading namespace ").concat(i, " for language ").concat(a, " failed"), r), !r && o && t.logger.log("".concat(n, "loaded namespace ").concat(i, " for language ").concat(a), o), t.loaded(e, r, o)
}))
}
}, {
key: "saveMissing", value: function (e, t, n, r, a) {
var i = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {},
o = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : function () {
};
if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(t)) this.logger.warn('did not save key "'.concat(n, '" as the namespace "').concat(t, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"); else if (void 0 !== n && null !== n && "" !== n) {
if (this.backend && this.backend.create) {
var s = le(le({}, i), {}, {isUpdate: a}), l = this.backend.create.bind(this.backend);
if (l.length < 6) try {
var c;
(c = 5 === l.length ? l(e, t, n, r, s) : l(e, t, n, r)) && "function" === typeof c.then ? c.then((function (e) {
return o(null, e)
})).catch(o) : o(null, c)
} catch (u) {
o(u)
} else l(e, t, n, r, o, s)
}
e && e[0] && this.store.addResource(e[0], t, n, r)
}
}
}]), n
}(x);
function de() {
return {
debug: !1,
initImmediate: !0,
ns: ["translation"],
defaultNS: ["translation"],
fallbackLng: ["dev"],
fallbackNS: !1,
supportedLngs: !1,
nonExplicitSupportedLngs: !1,
load: "all",
preload: !1,
simplifyPluralSuffix: !0,
keySeparator: ".",
nsSeparator: ":",
pluralSeparator: "_",
contextSeparator: "_",
partialBundledLanguages: !1,
saveMissing: !1,
updateMissing: !1,
saveMissingTo: "fallback",
saveMissingPlurals: !0,
missingKeyHandler: !1,
missingInterpolationHandler: !1,
postProcess: !1,
postProcessPassResolved: !1,
returnNull: !0,
returnEmptyString: !0,
returnObjects: !1,
joinArrays: !1,
returnedObjectHandler: !1,
parseMissingKeyHandler: !1,
appendNamespaceToMissingKey: !1,
appendNamespaceToCIMode: !1,
overloadTranslationOptionHandler: function (e) {
var t = {};
if ("object" === r(e[1]) && (t = e[1]), "string" === typeof e[1] && (t.defaultValue = e[1]), "string" === typeof e[2] && (t.tDescription = e[2]), "object" === r(e[2]) || "object" === r(e[3])) {
var n = e[3] || e[2];
Object.keys(n).forEach((function (e) {
t[e] = n[e]
}))
}
return t
},
interpolation: {
escapeValue: !0,
format: function (e, t, n, r) {
return e
},
prefix: "{{",
suffix: "}}",
formatSeparator: ",",
unescapePrefix: "-",
nestingPrefix: "$t(",
nestingSuffix: ")",
nestingOptionsSeparator: ",",
maxReplaces: 1e3,
skipOnVariables: !0
}
}
}
function pe(e) {
return "string" === typeof e.ns && (e.ns = [e.ns]), "string" === typeof e.fallbackLng && (e.fallbackLng = [e.fallbackLng]), "string" === typeof e.fallbackNS && (e.fallbackNS = [e.fallbackNS]), e.supportedLngs && e.supportedLngs.indexOf("cimode") < 0 && (e.supportedLngs = e.supportedLngs.concat(["cimode"])), e
}
function he(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function fe(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? he(Object(n), !0).forEach((function (t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : he(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function me(e) {
var t = function () {
if ("undefined" === typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" === typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
}))), !0
} catch (e) {
return !1
}
}();
return function () {
var n, r = p(e);
if (t) {
var a = p(this).constructor;
n = Reflect.construct(r, arguments, a)
} else n = r.apply(this, arguments);
return d(this, n)
}
}
function ge() {
}
function ve(e) {
Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function (t) {
"function" === typeof e[t] && (e[t] = e[t].bind(e))
}))
}
var _e = function (e) {
u(n, e);
var t = me(n);
function n() {
var e, r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
i = arguments.length > 1 ? arguments[1] : void 0;
if (a(this, n), e = t.call(this), R && x.call(l(e)), e.options = pe(r), e.services = {}, e.logger = b, e.modules = {external: []}, ve(l(e)), i && !e.isInitialized && !r.isClone) {
if (!e.options.initImmediate) return e.init(r, i), d(e, l(e));
setTimeout((function () {
e.init(r, i)
}), 0)
}
return e
}
return s(n, [{
key: "init", value: function () {
var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
n = arguments.length > 1 ? arguments[1] : void 0;
"function" === typeof t && (n = t, t = {}), !t.defaultNS && !1 !== t.defaultNS && t.ns && ("string" === typeof t.ns ? t.defaultNS = t.ns : t.ns.indexOf("translation") < 0 && (t.defaultNS = t.ns[0]));
var r = de();
function a(e) {
return e ? "function" === typeof e ? new e : e : null
}
if (this.options = fe(fe(fe({}, r), this.options), pe(t)), "v1" !== this.options.compatibilityAPI && (this.options.interpolation = fe(fe({}, r.interpolation), this.options.interpolation)), void 0 !== t.keySeparator && (this.options.userDefinedKeySeparator = t.keySeparator), void 0 !== t.nsSeparator && (this.options.userDefinedNsSeparator = t.nsSeparator), !this.options.isClone) {
var i;
this.modules.logger ? b.init(a(this.modules.logger), this.options) : b.init(null, this.options), this.modules.formatter ? i = this.modules.formatter : "undefined" !== typeof Intl && (i = oe);
var o = new H(this.options);
this.store = new z(this.options.resources, this.options);
var s = this.services;
s.logger = b, s.resourceStore = this.store, s.languageUtils = o, s.pluralResolver = new J(o, {
prepend: this.options.pluralSeparator,
compatibilityJSON: this.options.compatibilityJSON,
simplifyPluralSuffix: this.options.simplifyPluralSuffix
}), !i || this.options.interpolation.format && this.options.interpolation.format !== r.interpolation.format || (s.formatter = a(i), s.formatter.init(s, this.options), this.options.interpolation.format = s.formatter.format.bind(s.formatter)), s.interpolator = new ne(this.options), s.utils = {hasLoadedNamespace: this.hasLoadedNamespace.bind(this)}, s.backendConnector = new ue(a(this.modules.backend), s.resourceStore, s, this.options), s.backendConnector.on("*", (function (t) {
for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
e.emit.apply(e, [t].concat(r))
})), this.modules.languageDetector && (s.languageDetector = a(this.modules.languageDetector), s.languageDetector.init && s.languageDetector.init(s, this.options.detection, this.options)), this.modules.i18nFormat && (s.i18nFormat = a(this.modules.i18nFormat), s.i18nFormat.init && s.i18nFormat.init(this)), this.translator = new q(this.services, this.options), this.translator.on("*", (function (t) {
for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
e.emit.apply(e, [t].concat(r))
})), this.modules.external.forEach((function (t) {
t.init && t.init(e)
}))
}
if (this.format = this.options.interpolation.format, n || (n = ge), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
var l = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
l.length > 0 && "dev" !== l[0] && (this.options.lng = l[0])
}
this.services.languageDetector || this.options.lng || this.logger.warn("init: no languageDetector is used and no lng is defined");
var c = ["getResource", "hasResourceBundle", "getResourceBundle", "getDataByLanguage"];
c.forEach((function (t) {
e[t] = function () {
var n;
return (n = e.store)[t].apply(n, arguments)
}
}));
var u = ["addResource", "addResources", "addResourceBundle", "removeResourceBundle"];
u.forEach((function (t) {
e[t] = function () {
var n;
return (n = e.store)[t].apply(n, arguments), e
}
}));
var d = w(), p = function () {
var t = function (t, r) {
e.isInitialized && !e.initializedStoreOnce && e.logger.warn("init: i18next is already initialized. You should call init just once!"), e.isInitialized = !0, e.options.isClone || e.logger.log("initialized", e.options), e.emit("initialized", e.options), d.resolve(r), n(t, r)
};
if (e.languages && "v1" !== e.options.compatibilityAPI && !e.isInitialized) return t(null, e.t.bind(e));
e.changeLanguage(e.options.lng, t)
};
return this.options.resources || !this.options.initImmediate ? p() : setTimeout(p, 0), d
}
}, {
key: "loadResources", value: function (e) {
var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ge, r = n,
a = "string" === typeof e ? e : this.language;
if ("function" === typeof e && (r = e), !this.options.resources || this.options.partialBundledLanguages) {
if (a && "cimode" === a.toLowerCase()) return r();
var i = [], o = function (e) {
e && t.services.languageUtils.toResolveHierarchy(e).forEach((function (e) {
i.indexOf(e) < 0 && i.push(e)
}))
};
if (a) o(a); else {
var s = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
s.forEach((function (e) {
return o(e)
}))
}
this.options.preload && this.options.preload.forEach((function (e) {
return o(e)
})), this.services.backendConnector.load(i, this.options.ns, (function (e) {
e || t.resolvedLanguage || !t.language || t.setResolvedLanguage(t.language), r(e)
}))
} else r(null)
}
}, {
key: "reloadResources", value: function (e, t, n) {
var r = w();
return e || (e = this.languages), t || (t = this.options.ns), n || (n = ge), this.services.backendConnector.reload(e, t, (function (e) {
r.resolve(), n(e)
})), r
}
}, {
key: "use", value: function (e) {
if (!e) throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");
if (!e.type) throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");
return "backend" === e.type && (this.modules.backend = e), ("logger" === e.type || e.log && e.warn && e.error) && (this.modules.logger = e), "languageDetector" === e.type && (this.modules.languageDetector = e), "i18nFormat" === e.type && (this.modules.i18nFormat = e), "postProcessor" === e.type && V.addPostProcessor(e), "formatter" === e.type && (this.modules.formatter = e), "3rdParty" === e.type && this.modules.external.push(e), this
}
}, {
key: "setResolvedLanguage", value: function (e) {
if (e && this.languages && !(["cimode", "dev"].indexOf(e) > -1)) for (var t = 0; t < this.languages.length; t++) {
var n = this.languages[t];
if (!(["cimode", "dev"].indexOf(n) > -1) && this.store.hasLanguageSomeTranslations(n)) {
this.resolvedLanguage = n;
break
}
}
}
}, {
key: "changeLanguage", value: function (e, t) {
var n = this;
this.isLanguageChangingTo = e;
var r = w();
this.emit("languageChanging", e);
var a = function (e) {
n.language = e, n.languages = n.services.languageUtils.toResolveHierarchy(e), n.resolvedLanguage = void 0, n.setResolvedLanguage(e)
}, i = function (i) {
e || i || !n.services.languageDetector || (i = []);
var o = "string" === typeof i ? i : n.services.languageUtils.getBestMatchFromCodes(i);
o && (n.language || a(o), n.translator.language || n.translator.changeLanguage(o), n.services.languageDetector && n.services.languageDetector.cacheUserLanguage && n.services.languageDetector.cacheUserLanguage(o)), n.loadResources(o, (function (e) {
!function (e, i) {
i ? (a(i), n.translator.changeLanguage(i), n.isLanguageChangingTo = void 0, n.emit("languageChanged", i), n.logger.log("languageChanged", i)) : n.isLanguageChangingTo = void 0, r.resolve((function () {
return n.t.apply(n, arguments)
})), t && t(e, (function () {
return n.t.apply(n, arguments)
}))
}(e, o)
}))
};
return e || !this.services.languageDetector || this.services.languageDetector.async ? !e && this.services.languageDetector && this.services.languageDetector.async ? 0 === this.services.languageDetector.detect.length ? this.services.languageDetector.detect().then(i) : this.services.languageDetector.detect(i) : i(e) : i(this.services.languageDetector.detect()), r
}
}, {
key: "getFixedT", value: function (e, t, n) {
var a = this, i = function e(t, i) {
var o;
if ("object" !== r(i)) {
for (var s = arguments.length, l = new Array(s > 2 ? s - 2 : 0), c = 2; c < s; c++) l[c - 2] = arguments[c];
o = a.options.overloadTranslationOptionHandler([t, i].concat(l))
} else o = fe({}, i);
o.lng = o.lng || e.lng, o.lngs = o.lngs || e.lngs, o.ns = o.ns || e.ns, o.keyPrefix = o.keyPrefix || n || e.keyPrefix;
var u, d = a.options.keySeparator || ".";
return u = o.keyPrefix && Array.isArray(t) ? t.map((function (e) {
return "".concat(o.keyPrefix).concat(d).concat(e)
})) : o.keyPrefix ? "".concat(o.keyPrefix).concat(d).concat(t) : t, a.t(u, o)
};
return "string" === typeof e ? i.lng = e : i.lngs = e, i.ns = t, i.keyPrefix = n, i
}
}, {
key: "t", value: function () {
var e;
return this.translator && (e = this.translator).translate.apply(e, arguments)
}
}, {
key: "exists", value: function () {
var e;
return this.translator && (e = this.translator).exists.apply(e, arguments)
}
}, {
key: "setDefaultNamespace", value: function (e) {
this.options.defaultNS = e
}
}, {
key: "hasLoadedNamespace", value: function (e) {
var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
if (!this.isInitialized) return this.logger.warn("hasLoadedNamespace: i18next was not initialized", this.languages), !1;
if (!this.languages || !this.languages.length) return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty", this.languages), !1;
var r = this.resolvedLanguage || this.languages[0], a = !!this.options && this.options.fallbackLng,
i = this.languages[this.languages.length - 1];
if ("cimode" === r.toLowerCase()) return !0;
var o = function (e, n) {
var r = t.services.backendConnector.state["".concat(e, "|").concat(n)];
return -1 === r || 2 === r
};
if (n.precheck) {
var s = n.precheck(this, o);
if (void 0 !== s) return s
}
return !!this.hasResourceBundle(r, e) || (!(this.services.backendConnector.backend && (!this.options.resources || this.options.partialBundledLanguages)) || !(!o(r, e) || a && !o(i, e)))
}
}, {
key: "loadNamespaces", value: function (e, t) {
var n = this, r = w();
return this.options.ns ? ("string" === typeof e && (e = [e]), e.forEach((function (e) {
n.options.ns.indexOf(e) < 0 && n.options.ns.push(e)
})), this.loadResources((function (e) {
r.resolve(), t && t(e)
})), r) : (t && t(), Promise.resolve())
}
}, {
key: "loadLanguages", value: function (e, t) {
var n = w();
"string" === typeof e && (e = [e]);
var r = this.options.preload || [], a = e.filter((function (e) {
return r.indexOf(e) < 0
}));
return a.length ? (this.options.preload = r.concat(a), this.loadResources((function (e) {
n.resolve(), t && t(e)
})), n) : (t && t(), Promise.resolve())
}
}, {
key: "dir", value: function (e) {
if (e || (e = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language)), !e) return "rtl";
var t = this.services && this.services.languageUtils || new H(de());
return ["ar", "shu", "sqr", "ssh", "xaa", "yhd", "yud", "aao", "abh", "abv", "acm", "acq", "acw", "acx", "acy", "adf", "ads", "aeb", "aec", "afb", "ajp", "apc", "apd", "arb", "arq", "ars", "ary", "arz", "auz", "avl", "ayh", "ayl", "ayn", "ayp", "bbz", "pga", "he", "iw", "ps", "pbt", "pbu", "pst", "prp", "prd", "ug", "ur", "ydd", "yds", "yih", "ji", "yi", "hbo", "men", "xmn", "fa", "jpr", "peo", "pes", "prs", "dv", "sam", "ckb"].indexOf(t.getLanguagePartFromCode(e)) > -1 || e.toLowerCase().indexOf("-arab") > 1 ? "rtl" : "ltr"
}
}, {
key: "cloneInstance", value: function () {
var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ge,
a = fe(fe(fe({}, this.options), t), {isClone: !0}), i = new n(a);
void 0 === t.debug && void 0 === t.prefix || (i.logger = i.logger.clone(t));
var o = ["store", "services", "language"];
return o.forEach((function (t) {
i[t] = e[t]
})), i.services = fe({}, this.services), i.services.utils = {hasLoadedNamespace: i.hasLoadedNamespace.bind(i)}, i.translator = new q(i.services, i.options), i.translator.on("*", (function (e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
i.emit.apply(i, [e].concat(n))
})), i.init(a, r), i.translator.options = i.options, i.translator.backendConnector.services.utils = {hasLoadedNamespace: i.hasLoadedNamespace.bind(i)}, i
}
}, {
key: "toJSON", value: function () {
return {
options: this.options,
store: this.store,
language: this.language,
languages: this.languages,
resolvedLanguage: this.resolvedLanguage
}
}
}]), n
}(x);
h(_e, "createInstance", (function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 ? arguments[1] : void 0;
return new _e(e, t)
}));
var ye = _e.createInstance();
ye.createInstance = _e.createInstance;
ye.createInstance, ye.dir, ye.init, ye.loadResources, ye.reloadResources, ye.use, ye.changeLanguage, ye.getFixedT;
var be = ye.t;
ye.exists, ye.setDefaultNamespace, ye.hasLoadedNamespace, ye.loadNamespaces, ye.loadLanguages;
function xe(e) {
return xe = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, xe(e)
}
function we(e) {
var t = function (e, t) {
if ("object" !== xe(e) || null === e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" !== xe(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" === xe(t) ? t : String(t)
}
function ke(e, t, n) {
return (t = we(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function Se(e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}
var Ee = n(1479), Ie = n.t(Ee, 2), Ce = n(7399), Oe = n.n(Ce),
Pe = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;
function Ae(e) {
var t = {type: "tag", name: "", voidElement: !1, attrs: {}, children: []},
n = e.match(/<\/?([^\s]+?)[/\s>]/);
if (n && (t.name = n[1], (Oe()[n[1]] || "/" === e.charAt(e.length - 2)) && (t.voidElement = !0), t.name.startsWith("!--"))) {
var r = e.indexOf("--\x3e");
return {type: "comment", comment: -1 !== r ? e.slice(4, r) : ""}
}
for (var a = new RegExp(Pe), i = null; null !== (i = a.exec(e));) if (i[0].trim()) if (i[1]) {
var o = i[1].trim(), s = [o, ""];
o.indexOf("=") > -1 && (s = o.split("=")), t.attrs[s[0]] = s[1], a.lastIndex--
} else i[2] && (t.attrs[i[2]] = i[3].trim().substring(1, i[3].length - 1));
return t
}
var Te = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g, De = /^\s*$/, Re = Object.create(null);
function Le(e, t) {
switch (t.type) {
case"text":
return e + t.content;
case"tag":
return e += "<" + t.name + (t.attrs ? function (e) {
var t = [];
for (var n in e) t.push(n + '="' + e[n] + '"');
return t.length ? " " + t.join(" ") : ""
}(t.attrs) : "") + (t.voidElement ? "/>" : ">"), t.voidElement ? e : e + t.children.reduce(Le, "") + "</" + t.name + ">";
case"comment":
return e + "\x3c!--" + t.comment + "--\x3e"
}
}
var je = {
parse: function (e, t) {
t || (t = {}), t.components || (t.components = Re);
var n, r = [], a = [], i = -1, o = !1;
if (0 !== e.indexOf("<")) {
var s = e.indexOf("<");
r.push({type: "text", content: -1 === s ? e : e.substring(0, s)})
}
return e.replace(Te, (function (s, l) {
if (o) {
if (s !== "</" + n.name + ">") return;
o = !1
}
var c, u = "/" !== s.charAt(1), d = s.startsWith("\x3c!--"), p = l + s.length, h = e.charAt(p);
if (d) {
var f = Ae(s);
return i < 0 ? (r.push(f), r) : ((c = a[i]).children.push(f), r)
}
if (u && (i++, "tag" === (n = Ae(s)).type && t.components[n.name] && (n.type = "component", o = !0), n.voidElement || o || !h || "<" === h || n.children.push({
type: "text",
content: e.slice(p, e.indexOf("<", p))
}), 0 === i && r.push(n), (c = a[i - 1]) && c.children.push(n), a[i] = n), (!u || n.voidElement) && (i > -1 && (n.voidElement || n.name === s.slice(2, -1)) && (i--, n = -1 === i ? r : a[i]), !o && "<" !== h && h)) {
c = -1 === i ? r : a[i].children;
var m = e.indexOf("<", p), g = e.slice(p, -1 === m ? void 0 : m);
De.test(g) && (g = " "), (m > -1 && i + c.length >= 0 || " " !== g) && c.push({
type: "text",
content: g
})
}
})), r
}, stringify: function (e) {
return e.reduce((function (e, t) {
return e + Le("", t)
}), "")
}
};
const Ne = je;
function Me() {
if (console && console.warn) {
for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
"string" === typeof n[0] && (n[0] = "react-i18next:: ".concat(n[0])), (e = console).warn.apply(e, n)
}
}
var Fe = {};
function ze() {
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
"string" === typeof t[0] && Fe[t[0]] || ("string" === typeof t[0] && (Fe[t[0]] = new Date), Me.apply(void 0, t))
}
function Ve(e, t, n) {
e.loadNamespaces(t, (function () {
if (e.isInitialized) n(); else {
e.on("initialized", (function t() {
setTimeout((function () {
e.off("initialized", t)
}), 0), n()
}))
}
}))
}
function Ue(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, r = t.languages[0],
a = !!t.options && t.options.fallbackLng, i = t.languages[t.languages.length - 1];
if ("cimode" === r.toLowerCase()) return !0;
var o = function (e, n) {
var r = t.services.backendConnector.state["".concat(e, "|").concat(n)];
return -1 === r || 2 === r
};
return !(n.bindI18n && n.bindI18n.indexOf("languageChanging") > -1 && t.services.backendConnector.backend && t.isLanguageChangingTo && !o(t.isLanguageChangingTo, e)) && (!!t.hasResourceBundle(r, e) || (!(t.services.backendConnector.backend && (!t.options.resources || t.options.partialBundledLanguages)) || !(!o(r, e) || a && !o(i, e))))
}
function Be(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
if (!t.languages || !t.languages.length) return ze("i18n.languages were undefined or empty", t.languages), !0;
var r = void 0 !== t.options.ignoreJSONStructure;
return r ? t.hasLoadedNamespace(e, {
precheck: function (t, r) {
if (n.bindI18n && n.bindI18n.indexOf("languageChanging") > -1 && t.services.backendConnector.backend && t.isLanguageChangingTo && !r(t.isLanguageChangingTo, e)) return !1
}
}) : Ue(e, t, n)
}
var Ge = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,
$e = {
"&amp;": "&",
"&#38;": "&",
"&lt;": "<",
"&#60;": "<",
"&gt;": ">",
"&#62;": ">",
"&apos;": "'",
"&#39;": "'",
"&quot;": '"',
"&#34;": '"',
"&nbsp;": " ",
"&#160;": " ",
"&copy;": "\xa9",
"&#169;": "\xa9",
"&reg;": "\xae",
"&#174;": "\xae",
"&hellip;": "\u2026",
"&#8230;": "\u2026",
"&#x2F;": "/",
"&#47;": "/"
}, qe = function (e) {
return $e[e]
};
function We(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function He(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? We(Object(n), !0).forEach((function (t) {
ke(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : We(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
var Ke, Ye = {
bindI18n: "languageChanged",
bindI18nStore: "",
transEmptyNodeValue: "",
transSupportBasicHtmlNodes: !0,
transWrapTextNodes: "",
transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
useSuspense: !0,
unescape: function (e) {
return e.replace(Ge, qe)
}
};
function Qe() {
return Ye
}
function Ze() {
return Ke
}
var Xe = ["format"],
Je = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
function et(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function tt(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? et(Object(n), !0).forEach((function (t) {
ke(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : et(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function nt(e, t) {
if (!e) return !1;
var n = e.props ? e.props.children : e.children;
return t ? n.length > 0 : !!n
}
function rt(e) {
return e ? e.props ? e.props.children : e.children : []
}
function at(e) {
return Array.isArray(e) ? e : [e]
}
function it(e, t) {
if (!e) return "";
var n = "", r = at(e),
a = t.transSupportBasicHtmlNodes && t.transKeepBasicHtmlNodesFor ? t.transKeepBasicHtmlNodesFor : [];
return r.forEach((function (e, r) {
if ("string" === typeof e) n += "".concat(e); else if ((0, Ee.isValidElement)(e)) {
var i = Object.keys(e.props).length, o = a.indexOf(e.type) > -1, s = e.props.children;
if (!s && o && 0 === i) n += "<".concat(e.type, "/>"); else if (s || o && 0 === i) if (e.props.i18nIsDynamicList) n += "<".concat(r, "></").concat(r, ">"); else if (o && 1 === i && "string" === typeof s) n += "<".concat(e.type, ">").concat(s, "</").concat(e.type, ">"); else {
var l = it(s, t);
n += "<".concat(r, ">").concat(l, "</").concat(r, ">")
} else n += "<".concat(r, "></").concat(r, ">")
} else if (null === e) Me("Trans: the passed in value is invalid - seems you passed in a null child."); else if ("object" === xe(e)) {
var c = e.format, u = Se(e, Xe), d = Object.keys(u);
if (1 === d.length) {
var p = c ? "".concat(d[0], ", ").concat(c) : d[0];
n += "{{".concat(p, "}}")
} else Me("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", e)
} else Me("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", e)
})), n
}
function ot(e, t, n, r, a, i) {
if ("" === t) return [];
var o = r.transKeepBasicHtmlNodesFor || [], s = t && new RegExp(o.join("|")).test(t);
if (!e && !s) return [t];
var l = {};
!function e(t) {
at(t).forEach((function (t) {
"string" !== typeof t && (nt(t) ? e(rt(t)) : "object" !== xe(t) || (0, Ee.isValidElement)(t) || Object.assign(l, t))
}))
}(e);
var c = Ne.parse("<0>".concat(t, "</0>")), u = tt(tt({}, l), a);
function d(e, t, n) {
var r = rt(e), a = h(r, t.children, n);
return function (e) {
return "[object Array]" === Object.prototype.toString.call(e) && e.every((function (e) {
return (0, Ee.isValidElement)(e)
}))
}(r) && 0 === a.length ? r : a
}
function p(e, t, n, r, a) {
e.dummy && (e.children = t), n.push((0, Ee.cloneElement)(e, tt(tt({}, e.props), {}, {key: r}), a ? void 0 : t))
}
function h(t, a, l) {
var c = at(t);
return at(a).reduce((function (t, a, f) {
var m = a.children && a.children[0] && a.children[0].content && n.services.interpolator.interpolate(a.children[0].content, u, n.language);
if ("tag" === a.type) {
var g = c[parseInt(a.name, 10)];
!g && 1 === l.length && l[0][a.name] && (g = l[0][a.name]), g || (g = {});
var v = 0 !== Object.keys(a.attrs).length ? function (e, t) {
var n = tt({}, t);
return n.props = Object.assign(e.props, t.props), n
}({props: a.attrs}, g) : g, _ = (0, Ee.isValidElement)(v), y = _ && nt(a, !0) && !a.voidElement,
b = s && "object" === xe(v) && v.dummy && !_,
x = "object" === xe(e) && null !== e && Object.hasOwnProperty.call(e, a.name);
if ("string" === typeof v) {
var w = n.services.interpolator.interpolate(v, u, n.language);
t.push(w)
} else if (nt(v) || y) {
p(v, d(v, a, l), t, f)
} else if (b) {
var k = h(c, a.children, l);
t.push((0, Ee.cloneElement)(v, tt(tt({}, v.props), {}, {key: f}), k))
} else if (Number.isNaN(parseFloat(a.name))) {
if (x) p(v, d(v, a, l), t, f, a.voidElement); else if (r.transSupportBasicHtmlNodes && o.indexOf(a.name) > -1) if (a.voidElement) t.push((0, Ee.createElement)(a.name, {key: "".concat(a.name, "-").concat(f)})); else {
var S = h(c, a.children, l);
t.push((0, Ee.createElement)(a.name, {key: "".concat(a.name, "-").concat(f)}, S))
} else if (a.voidElement) t.push("<".concat(a.name, " />")); else {
var E = h(c, a.children, l);
t.push("<".concat(a.name, ">").concat(E, "</").concat(a.name, ">"))
}
} else if ("object" !== xe(v) || _) 1 === a.children.length && m ? t.push((0, Ee.cloneElement)(v, tt(tt({}, v.props), {}, {key: f}), m)) : t.push((0, Ee.cloneElement)(v, tt(tt({}, v.props), {}, {key: f}))); else {
var I = a.children[0] ? m : null;
I && t.push(I)
}
} else if ("text" === a.type) {
var C = r.transWrapTextNodes,
O = i ? r.unescape(n.services.interpolator.interpolate(a.content, u, n.language)) : n.services.interpolator.interpolate(a.content, u, n.language);
C ? t.push((0, Ee.createElement)(C, {key: "".concat(a.name, "-").concat(f)}, O)) : t.push(O)
}
return t
}), [])
}
return rt(h([{dummy: !0, children: e || []}], c, at(e || []))[0])
}
function st(e) {
var t = e.children, n = e.count, r = e.parent, a = e.i18nKey, i = e.context, o = e.tOptions,
s = void 0 === o ? {} : o, l = e.values, c = e.defaults, u = e.components, d = e.ns, p = e.i18n,
h = e.t, f = e.shouldUnescape, m = Se(e, Je), g = p || Ze();
if (!g) return ze("You will need to pass in an i18next instance by using i18nextReactModule"), t;
var v = h || g.t.bind(g) || function (e) {
return e
};
i && (s.context = i);
var _ = tt(tt({}, Qe()), g.options && g.options.react), y = d || v.ns || g.options && g.options.defaultNS;
y = "string" === typeof y ? [y] : y || ["translation"];
var b = c || it(t, _) || _.transEmptyNodeValue || a, x = _.hashTransKey, w = a || (x ? x(b) : b),
k = l ? s.interpolation : {
interpolation: tt(tt({}, s.interpolation), {}, {
prefix: "#$?",
suffix: "?$#"
})
}, S = tt(tt(tt(tt({}, s), {}, {count: n}, l), k), {}, {defaultValue: b, ns: y}),
E = ot(u || t, w ? v(w, S) : b, g, _, S, f), I = void 0 !== r ? r : _.defaultTransParent;
return I ? (0, Ee.createElement)(I, m, E) : E
}
function lt(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, we(r.key), r)
}
}
var ct = {
type: "3rdParty", init: function (e) {
!function () {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
Ye = He(He({}, Ye), e)
}(e.options.react), function (e) {
Ke = e
}(e)
}
};
var ut = (0, Ee.createContext)(), dt = function () {
function e() {
!function (e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}(this, e), this.usedNamespaces = {}
}
var t, n, r;
return t = e, n = [{
key: "addUsedNamespaces", value: function (e) {
var t = this;
e.forEach((function (e) {
t.usedNamespaces[e] || (t.usedNamespaces[e] = !0)
}))
}
}, {
key: "getUsedNamespaces", value: function () {
return Object.keys(this.usedNamespaces)
}
}], n && lt(t.prototype, n), r && lt(t, r), Object.defineProperty(t, "prototype", {writable: !1}), e
}();
var pt = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
function ht(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function ft(e) {
var t = e.children, n = e.count, r = e.parent, a = e.i18nKey, i = e.context, o = e.tOptions,
s = void 0 === o ? {} : o, l = e.values, c = e.defaults, u = e.components, d = e.ns, p = e.i18n,
h = e.t, f = e.shouldUnescape, m = Se(e, pt), g = (0, Ee.useContext)(ut) || {}, v = g.i18n,
_ = g.defaultNS, y = p || v || Ze(), b = h || y && y.t.bind(y);
return st(function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? ht(Object(n), !0).forEach((function (t) {
ke(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ht(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}({
children: t,
count: n,
parent: r,
i18nKey: a,
context: i,
tOptions: s,
values: l,
defaults: c,
components: u,
ns: d || b && b.ns || _ || y && y.options && y.options.defaultNS,
i18n: y,
t: h,
shouldUnescape: f
}, m))
}
function mt(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r
}
function gt(e, t) {
return function (e) {
if (Array.isArray(e)) return e
}(e) || function (e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, a, i, o, s = [], l = !0, c = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
l = !1
} else for (; !(l = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); l = !0) ;
} catch (u) {
c = !0, a = u
} finally {
try {
if (!l && null != n.return && (o = n.return(), Object(o) !== o)) return
} finally {
if (c) throw a
}
}
return s
}
}(e, t) || function (e, t) {
if (e) {
if ("string" === typeof e) return mt(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? mt(e, t) : void 0
}
}(e, t) || function () {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function vt(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function _t(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? vt(Object(n), !0).forEach((function (t) {
ke(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : vt(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
var yt = function (e, t) {
var n = (0, Ee.useRef)();
return (0, Ee.useEffect)((function () {
n.current = t ? n.current : e
}), [e, t]), n.current
};
function bt(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.i18n,
r = (0, Ee.useContext)(ut) || {}, a = r.i18n, i = r.defaultNS, o = n || a || Ze();
if (o && !o.reportNamespaces && (o.reportNamespaces = new dt), !o) {
ze("You will need to pass in an i18next instance by using initReactI18next");
var s = function (e) {
return Array.isArray(e) ? e[e.length - 1] : e
}, l = [s, {}, !1];
return l.t = s, l.i18n = {}, l.ready = !1, l
}
o.options.react && void 0 !== o.options.react.wait && ze("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
var c = _t(_t(_t({}, Qe()), o.options.react), t), u = c.useSuspense, d = c.keyPrefix,
p = e || i || o.options && o.options.defaultNS;
p = "string" === typeof p ? [p] : p || ["translation"], o.reportNamespaces.addUsedNamespaces && o.reportNamespaces.addUsedNamespaces(p);
var h = (o.isInitialized || o.initializedStoreOnce) && p.every((function (e) {
return Be(e, o, c)
}));
function f() {
return o.getFixedT(null, "fallback" === c.nsMode ? p : p[0], d)
}
var m = (0, Ee.useState)(f), g = gt(m, 2), v = g[0], _ = g[1], y = p.join(), b = yt(y),
x = (0, Ee.useRef)(!0);
(0, Ee.useEffect)((function () {
var e = c.bindI18n, t = c.bindI18nStore;
function n() {
x.current && _(f)
}
return x.current = !0, h || u || Ve(o, p, (function () {
x.current && _(f)
})), h && b && b !== y && x.current && _(f), e && o && o.on(e, n), t && o && o.store.on(t, n), function () {
x.current = !1, e && o && e.split(" ").forEach((function (e) {
return o.off(e, n)
})), t && o && t.split(" ").forEach((function (e) {
return o.store.off(e, n)
}))
}
}), [o, y]);
var w = (0, Ee.useRef)(!0);
(0, Ee.useEffect)((function () {
x.current && !w.current && _(f), w.current = !1
}), [o, d]);
var k = [v, o, h];
if (k.t = v, k.i18n = o, k.ready = h, h) return k;
if (!h && !u) return k;
throw new Promise((function (e) {
Ve(o, p, (function () {
e()
}))
}))
}
ye.use(ct).init({
resources: {
en: e, fr: t, zh_CN: SC_TOOLBOX_LOCALIZATION_ZHCN_MAP,
zh_TW: SC_TOOLBOX_LOCALIZATION_ZHTW_MAP
}, lng: SC_TOOLBOX_ENABLED_LOCALIZATION, interpolation: {escapeValue: !1}, returnNull: !1,
});
const xt = ye, wt = "9.18.0", kt = globalThis;
function St() {
return Et(kt), kt
}
function Et(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || wt, t[wt] = t[wt] || {}
}
function It(e, t, n = kt) {
const r = n.__SENTRY__ = n.__SENTRY__ || {}, a = r[wt] = r[wt] || {};
return a[e] || (a[e] = t())
}
const Ct = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__, Ot = Object.prototype.toString;
function Pt(e) {
switch (Ot.call(e)) {
case"[object Error]":
case"[object Exception]":
case"[object DOMException]":
case"[object WebAssembly.Exception]":
return !0;
default:
return zt(e, Error)
}
}
function At(e, t) {
return Ot.call(e) === `[object ${t}]`
}
function Tt(e) {
return At(e, "ErrorEvent")
}
function Dt(e) {
return At(e, "DOMError")
}
function Rt(e) {
return At(e, "String")
}
function Lt(e) {
return "object" === typeof e && null !== e && "__sentry_template_string__" in e && "__sentry_template_values__" in e
}
function jt(e) {
return null === e || Lt(e) || "object" !== typeof e && "function" !== typeof e
}
function Nt(e) {
return At(e, "Object")
}
function Mt(e) {
return "undefined" !== typeof Event && zt(e, Event)
}
function Ft(e) {
return Boolean(e?.then && "function" === typeof e.then)
}
function zt(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
function Vt(e) {
return !("object" !== typeof e || null === e || !e.__isVue && !e._isVue)
}
function Ut(e) {
return "undefined" !== typeof Request && zt(e, Request)
}
const Bt = kt;
function Gt(e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5, a = [];
let i = 0, o = 0;
const s = " > ", l = s.length;
let c;
const u = Array.isArray(t) ? t : t.keyAttrs, d = !Array.isArray(t) && t.maxStringLength || 80;
for (; n && i++ < r && (c = $t(n, u), !("html" === c || i > 1 && o + a.length * l + c.length >= d));) a.push(c), o += c.length, n = n.parentNode;
return a.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}
function $t(e, t) {
const n = e, r = [];
if (!n?.tagName) return "";
if (Bt.HTMLElement && n instanceof HTMLElement && n.dataset) {
if (n.dataset.sentryComponent) return n.dataset.sentryComponent;
if (n.dataset.sentryElement) return n.dataset.sentryElement
}
r.push(n.tagName.toLowerCase());
const a = t?.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (a?.length) a.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
})); else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && Rt(e)) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const i = ["aria-label", "type", "name", "title", "alt"];
for (const o of i) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
function qt() {
try {
return Bt.document.location.href
} catch (_w) {
return ""
}
}
const Wt = ["debug", "info", "warn", "error", "log", "assert", "trace"], Ht = {};
function Kt(e) {
if (!("console" in kt)) return e();
const t = kt.console, n = {}, r = Object.keys(Ht);
r.forEach((e => {
const r = Ht[e];
n[e] = t[e], t[e] = r
}));
try {
return e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}
const Yt = It("logger", (function () {
let e = !1;
const t = {
enable: () => {
e = !0
}, disable: () => {
e = !1
}, isEnabled: () => e
};
return Ct ? Wt.forEach((n => {
t[n] = (...t) => {
e && Kt((() => {
kt.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : Wt.forEach((e => {
t[e] = () => {
}
})), t
}));
function Qt(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0, t)}...`
}
function Zt(e, t) {
if (!Array.isArray(e)) return "";
const n = [];
for (let a = 0; a < e.length; a++) {
const t = e[a];
try {
Vt(t) ? n.push("[VueViewModel]") : n.push(String(t))
} catch (r) {
n.push("[value cannot be serialized]")
}
}
return n.join(t)
}
function Xt(e, t, n = !1) {
return !!Rt(e) && (At(t, "RegExp") ? t.test(e) : !!Rt(t) && (n ? e === t : e.includes(t)))
}
function Jt(e, t = [], n = !1) {
return t.some((t => Xt(e, t, n)))
}
function en(e, t, n) {
if (!(t in e)) return;
const r = e[t];
if ("function" !== typeof r) return;
const a = n(r);
"function" === typeof a && nn(a, r);
try {
e[t] = a
} catch {
Ct && Yt.log(`Failed to replace method "${t}" in object`, e)
}
}
function tn(e, t, n) {
try {
Object.defineProperty(e, t, {value: n, writable: !0, configurable: !0})
} catch (r) {
Ct && Yt.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function nn(e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, tn(e, "__sentry_original__", t)
} catch (n) {
}
}
function rn(e) {
return e.__sentry_original__
}
function an(e) {
if (Pt(e)) return {message: e.message, name: e.name, stack: e.stack, ...sn(e)};
if (Mt(e)) {
const t = {type: e.type, target: on(e.target), currentTarget: on(e.currentTarget), ...sn(e)};
return "undefined" !== typeof CustomEvent && zt(e, CustomEvent) && (t.detail = e.detail), t
}
return e
}
function on(e) {
try {
return t = e, "undefined" !== typeof Element && zt(t, Element) ? Gt(e) : Object.prototype.toString.call(e)
} catch (n) {
return "<unknown>"
}
var t
}
function sn(e) {
if ("object" === typeof e && null !== e) {
const t = {};
for (const n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t
}
return {}
}
function ln(e = function () {
const e = kt;
return e.crypto || e.msCrypto
}()) {
let t = () => 16 * Math.random();
try {
if (e?.randomUUID) return e.randomUUID().replace(/-/g, "");
e?.getRandomValues && (t = () => {
const t = new Uint8Array(1);
return e.getRandomValues(t), t[0]
})
} catch (xz) {
}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & t()) >> e / 4).toString(16)))
}
function cn(e) {
return e.exception?.values?.[0]
}
function un(e) {
const {message: t, event_id: n} = e;
if (t) return t;
const r = cn(e);
return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || n || "<unknown>" : n || "<unknown>"
}
function dn(e, t, n) {
const r = e.exception = e.exception || {}, a = r.values = r.values || [], i = a[0] = a[0] || {};
i.value || (i.value = t || ""), i.type || (i.type = n || "Error")
}
function pn(e, t) {
const n = cn(e);
if (!n) return;
const r = n.mechanism;
if (n.mechanism = {type: "generic", handled: !0, ...r, ...t}, t && "data" in t) {
const e = {...r?.data, ...t.data};
n.mechanism.data = e
}
}
function hn(e) {
if (function (e) {
try {
return e.__sentry_captured__
} catch {
}
}(e)) return !0;
try {
tn(e, "__sentry_captured__", !0)
} catch (t) {
}
return !1
}
function fn() {
return Date.now() / 1e3
}
const mn = function () {
const {performance: e} = kt;
if (!e?.now) return fn;
const t = Date.now() - e.now(), n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
let gn;
function vn() {
return gn || (gn = function () {
const {performance: e} = kt;
if (!e?.now) return [void 0, "none"];
const t = 36e5, n = e.now(), r = Date.now(), a = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
i = a < t, o = e.timing?.navigationStart, s = "number" === typeof o ? Math.abs(o + n - r) : t;
return i || s < t ? a <= s ? [e.timeOrigin, "timeOrigin"] : [o, "navigationStart"] : [r, "dateNow"]
}()), gn[0]
}
function _n(e) {
const t = mn(), n = {
sid: ln(),
init: !0,
timestamp: t,
started: t,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: !1,
toJSON: () => function (e) {
return {
sid: `${e.sid}`,
init: e.init,
started: new Date(1e3 * e.started).toISOString(),
timestamp: new Date(1e3 * e.timestamp).toISOString(),
status: e.status,
errors: e.errors,
did: "number" === typeof e.did || "string" === typeof e.did ? `${e.did}` : void 0,
duration: e.duration,
abnormal_mechanism: e.abnormal_mechanism,
attrs: {
release: e.release,
environment: e.environment,
ip_address: e.ipAddress,
user_agent: e.userAgent
}
}
}(n)
};
return e && yn(n, e), n
}
function yn(e, t = {}) {
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), e.did || t.did || (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || mn(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = 32 === t.sid.length ? t.sid : ln()), void 0 !== t.init && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), "number" === typeof t.started && (e.started = t.started), e.ignoreDuration) e.duration = void 0; else if ("number" === typeof t.duration) e.duration = t.duration; else {
const t = e.timestamp - e.started;
e.duration = t >= 0 ? t : 0
}
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), "number" === typeof t.errors && (e.errors = t.errors), t.status && (e.status = t.status)
}
function bn(e, t, n = 2) {
if (!t || "object" !== typeof t || n <= 0) return t;
if (e && 0 === Object.keys(t).length) return e;
const r = {...e};
for (const a in t) Object.prototype.hasOwnProperty.call(t, a) && (r[a] = bn(r[a], t[a], n - 1));
return r
}
const xn = "_sentrySpan";
function wn(e, t) {
t ? tn(e, xn, t) : delete e[xn]
}
function kn(e) {
return e[xn]
}
function Sn() {
return ln()
}
function En() {
return ln().substring(16)
}
class In {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = {
traceId: Sn(),
sampleRand: Math.random()
}
}
clone() {
const e = new In;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {...this._tags}, e._extra = {...this._extra}, e._contexts = {...this._contexts}, this._contexts.flags && (e._contexts.flags = {values: [...this._contexts.flags.values]}), e._user = this._user, e._level = this._level, e._session = this._session, e._transactionName = this._transactionName, e._fingerprint = this._fingerprint, e._eventProcessors = [...this._eventProcessors], e._attachments = [...this._attachments], e._sdkProcessingMetadata = {...this._sdkProcessingMetadata}, e._propagationContext = {...this._propagationContext}, e._client = this._client, e._lastEventId = this._lastEventId, wn(e, kn(this)), e
}
setClient(e) {
this._client = e
}
setLastEventId(e) {
this._lastEventId = e
}
getClient() {
return this._client
}
lastEventId() {
return this._lastEventId
}
addScopeListener(e) {
this._scopeListeners.push(e)
}
addEventProcessor(e) {
return this._eventProcessors.push(e), this
}
setUser(e) {
return this._user = e || {
email: void 0,
id: void 0,
ip_address: void 0,
username: void 0
}, this._session && yn(this._session, {user: e}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
setTags(e) {
return this._tags = {...this._tags, ...e}, this._notifyScopeListeners(), this
}
setTag(e, t) {
return this._tags = {...this._tags, [e]: t}, this._notifyScopeListeners(), this
}
setExtras(e) {
return this._extra = {...this._extra, ...e}, this._notifyScopeListeners(), this
}
setExtra(e, t) {
return this._extra = {...this._extra, [e]: t}, this._notifyScopeListeners(), this
}
setFingerprint(e) {
return this._fingerprint = e, this._notifyScopeListeners(), this
}
setLevel(e) {
return this._level = e, this._notifyScopeListeners(), this
}
setTransactionName(e) {
return this._transactionName = e, this._notifyScopeListeners(), this
}
setContext(e, t) {
return null === t ? delete this._contexts[e] : this._contexts[e] = t, this._notifyScopeListeners(), this
}
setSession(e) {
return e ? this._session = e : delete this._session, this._notifyScopeListeners(), this
}
getSession() {
return this._session
}
update(e) {
if (!e) return this;
const t = "function" === typeof e ? e(this) : e,
n = t instanceof In ? t.getScopeData() : Nt(t) ? e : void 0, {
tags: r,
extra: a,
user: i,
contexts: o,
level: s,
fingerprint: l = [],
propagationContext: c
} = n || {};
return this._tags = {...this._tags, ...r}, this._extra = {...this._extra, ...a}, this._contexts = {...this._contexts, ...o}, i && Object.keys(i).length && (this._user = i), s && (this._level = s), l.length && (this._fingerprint = l), c && (this._propagationContext = c), this
}
clear() {
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._session = void 0, wn(this, void 0), this._attachments = [], this.setPropagationContext({
traceId: Sn(),
sampleRand: Math.random()
}), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {timestamp: fn(), ...e, message: e.message ? Qt(e.message, 2048) : e.message};
return this._breadcrumbs.push(r), this._breadcrumbs.length > n && (this._breadcrumbs = this._breadcrumbs.slice(-n), this._client?.recordDroppedEvent("buffer_overflow", "log_item")), this._notifyScopeListeners(), this
}
getLastBreadcrumb() {
return this._breadcrumbs[this._breadcrumbs.length - 1]
}
clearBreadcrumbs() {
return this._breadcrumbs = [], this._notifyScopeListeners(), this
}
addAttachment(e) {
return this._attachments.push(e), this
}
clearAttachments() {
return this._attachments = [], this
}
getScopeData() {
return {
breadcrumbs: this._breadcrumbs,
attachments: this._attachments,
contexts: this._contexts,
tags: this._tags,
extra: this._extra,
user: this._user,
level: this._level,
fingerprint: this._fingerprint || [],
eventProcessors: this._eventProcessors,
propagationContext: this._propagationContext,
sdkProcessingMetadata: this._sdkProcessingMetadata,
transactionName: this._transactionName,
span: kn(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = bn(this._sdkProcessingMetadata, e, 2), this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t?.event_id || ln();
if (!this._client) return Yt.warn("No client configured on scope - will not capture exception!"), n;
const r = new Error("Sentry syntheticException");
return this._client.captureException(e, {
originalException: e,
syntheticException: r, ...t,
event_id: n
}, this), n
}
captureMessage(e, t, n) {
const r = n?.event_id || ln();
if (!this._client) return Yt.warn("No client configured on scope - will not capture message!"), r;
const a = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: a, ...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t?.event_id || ln();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (Yt.warn("No client configured on scope - will not capture event!"), n)
}
_notifyScopeListeners() {
this._notifyingListeners || (this._notifyingListeners = !0, this._scopeListeners.forEach((e => {
e(this)
})), this._notifyingListeners = !1)
}
}
class Cn {
constructor(e, t) {
let n, r;
n = e || new In, r = t || new In, this._stack = [{scope: n}], this._isolationScope = r
}
withScope(e) {
const t = this._pushScope();
let n;
try {
n = e(t)
} catch (r) {
throw this._popScope(), r
}
return Ft(n) ? n.then((e => (this._popScope(), e)), (e => {
throw this._popScope(), e
})) : (this._popScope(), n)
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getIsolationScope() {
return this._isolationScope
}
getStackTop() {
return this._stack[this._stack.length - 1]
}
_pushScope() {
const e = this.getScope().clone();
return this._stack.push({client: this.getClient(), scope: e}), e
}
_popScope() {
return !(this._stack.length <= 1) && !!this._stack.pop()
}
}
function On() {
const e = Et(St());
return e.stack = e.stack || new Cn(It("defaultCurrentScope", (() => new In)), It("defaultIsolationScope", (() => new In)))
}
function Pn(e) {
return On().withScope(e)
}
function An(e, t) {
const n = On();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function Tn(e) {
return On().withScope((() => e(On().getIsolationScope())))
}
function Dn(e) {
const t = Et(e);
return t.acs ? t.acs : {
withIsolationScope: Tn,
withScope: Pn,
withSetScope: An,
withSetIsolationScope: (e, t) => Tn(t),
getCurrentScope: () => On().getScope(),
getIsolationScope: () => On().getIsolationScope()
}
}
function Rn() {
return Dn(St()).getCurrentScope()
}
function Ln() {
return Dn(St()).getIsolationScope()
}
function jn(...e) {
const t = Dn(St());
if (2 === e.length) {
const [n, r] = e;
return n ? t.withSetScope(n, r) : t.withScope(r)
}
return t.withScope(e[0])
}
function Nn() {
return Rn().getClient()
}
function Mn(e) {
const t = e.getPropagationContext(), {traceId: n, parentSpanId: r, propagationSpanId: a} = t,
i = {trace_id: n, span_id: a || En()};
return r && (i.parent_span_id = r), i
}
const Fn = "sentry.source", zn = "sentry.sample_rate", Vn = "sentry.previous_trace_sample_rate",
Un = "sentry.op", Bn = "sentry.origin", Gn = "sentry.idle_span_finish_reason",
$n = "sentry.custom_span_name", qn = "sentry.profile_id", Wn = "sentry.exclusive_time",
Hn = "sentry.link.type";
function Kn(e) {
if ("boolean" === typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = e || Nn()?.getOptions();
return !!t && (null != t.tracesSampleRate || !!t.tracesSampler)
}
function Yn(e, t) {
e.setAttribute("http.response.status_code", t);
const n = function (e) {
if (e < 400 && e >= 100) return {code: 1};
if (e >= 400 && e < 500) switch (e) {
case 401:
return {code: 2, message: "unauthenticated"};
case 403:
return {code: 2, message: "permission_denied"};
case 404:
return {code: 2, message: "not_found"};
case 409:
return {code: 2, message: "already_exists"};
case 413:
return {code: 2, message: "failed_precondition"};
case 429:
return {code: 2, message: "resource_exhausted"};
case 499:
return {code: 2, message: "cancelled"};
default:
return {code: 2, message: "invalid_argument"}
}
if (e >= 500 && e < 600) switch (e) {
case 501:
return {code: 2, message: "unimplemented"};
case 503:
return {code: 2, message: "unavailable"};
case 504:
return {code: 2, message: "deadline_exceeded"};
default:
return {code: 2, message: "internal_error"}
}
return {code: 2, message: "unknown_error"}
}(t);
"unknown_error" !== n.message && e.setStatus(n)
}
const Qn = "_sentryScope", Zn = "_sentryIsolationScope";
function Xn(e) {
return {scope: e[Qn], isolationScope: e[Zn]}
}
function Jn(e) {
if ("boolean" === typeof e) return Number(e);
const t = "string" === typeof e ? parseFloat(e) : e;
return "number" !== typeof t || isNaN(t) || t < 0 || t > 1 ? void 0 : t
}
const er = "sentry-", tr = /^sentry-/;
function nr(e) {
const t = function (e) {
if (!e || !Rt(e) && !Array.isArray(e)) return;
if (Array.isArray(e)) return e.reduce(((e, t) => {
const n = ar(t);
return Object.entries(n).forEach((([t, n]) => {
e[t] = n
})), e
}), {});
return ar(e)
}(e);
if (!t) return;
const n = Object.entries(t).reduce(((e, [t, n]) => {
if (t.match(tr)) {
e[t.slice(er.length)] = n
}
return e
}), {});
return Object.keys(n).length > 0 ? n : void 0
}
function rr(e) {
if (!e) return;
return function (e) {
if (0 === Object.keys(e).length) return;
return Object.entries(e).reduce(((e, [t, n], r) => {
const a = `${encodeURIComponent(t)}=${encodeURIComponent(n)}`, i = 0 === r ? a : `${e},${a}`;
return i.length > 8192 ? (Ct && Yt.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`), e) : i
}), "")
}(Object.entries(e).reduce(((e, [t, n]) => (n && (e[`${er}${t}`] = n), e)), {}))
}
function ar(e) {
return e.split(",").map((e => e.split("=").map((e => {
try {
return decodeURIComponent(e.trim())
} catch {
return
}
})))).reduce(((e, [t, n]) => (t && n && (e[t] = n), e)), {})
}
const ir = new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");
function or(e, t) {
const n = function (e) {
if (!e) return;
const t = e.match(ir);
if (!t) return;
let n;
return "1" === t[3] ? n = !0 : "0" === t[3] && (n = !1), {
traceId: t[1],
parentSampled: n,
parentSpanId: t[2]
}
}(e), r = nr(t);
if (!n?.traceId) return {traceId: Sn(), sampleRand: Math.random()};
const a = function (e, t) {
const n = Jn(t?.sample_rand);
if (void 0 !== n) return n;
const r = Jn(t?.sample_rate);
return r && void 0 !== e?.parentSampled ? e.parentSampled ? Math.random() * r : r + Math.random() * (1 - r) : Math.random()
}(n, r);
r && (r.sample_rand = a.toString());
const {traceId: i, parentSpanId: o, parentSampled: s} = n;
return {traceId: i, parentSpanId: o, sampled: s, dsc: r || {}, sampleRand: a}
}
function sr(e = Sn(), t = En(), n) {
let r = "";
return void 0 !== n && (r = n ? "-1" : "-0"), `${e}-${t}${r}`
}
let lr = !1;
function cr(e) {
const {spanId: t, traceId: n} = e.spanContext(), {
data: r,
op: a,
parent_span_id: i,
status: o,
origin: s,
links: l
} = fr(e);
return {parent_span_id: i, span_id: t, trace_id: n, data: r, op: a, status: o, origin: s, links: l}
}
function ur(e) {
const {spanId: t, traceId: n, isRemote: r} = e.spanContext(), a = r ? t : fr(e).parent_span_id,
i = Xn(e).scope;
return {
parent_span_id: a,
span_id: r ? i?.getPropagationContext().propagationSpanId || En() : t,
trace_id: n
}
}
function dr(e) {
return e && e.length > 0 ? e.map((({
context: {spanId: e, traceId: t, traceFlags: n, ...r},
attributes: a
}) => ({
span_id: e,
trace_id: t,
sampled: 1 === n,
attributes: a, ...r
}))) : void 0
}
function pr(e) {
return "number" === typeof e ? hr(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? hr(e.getTime()) : mn()
}
function hr(e) {
return e > 9999999999 ? e / 1e3 : e
}
function fr(e) {
if (function (e) {
return "function" === typeof e.getSpanJSON
}(e)) return e.getSpanJSON();
const {spanId: t, traceId: n} = e.spanContext();
if (function (e) {
const t = e;
return !!t.attributes && !!t.startTime && !!t.name && !!t.endTime && !!t.status
}(e)) {
const {attributes: r, startTime: a, name: i, endTime: o, status: s, links: l} = e;
return {
span_id: t,
trace_id: n,
data: r,
description: i,
parent_span_id: "parentSpanId" in e ? e.parentSpanId : "parentSpanContext" in e ? e.parentSpanContext?.spanId : void 0,
start_timestamp: pr(a),
timestamp: pr(o) || void 0,
status: gr(s),
op: r[Un],
origin: r[Bn],
links: dr(l)
}
}
return {span_id: t, trace_id: n, start_timestamp: 0, data: {}}
}
function mr(e) {
const {traceFlags: t} = e.spanContext();
return 1 === t
}
function gr(e) {
if (e && 0 !== e.code) return 1 === e.code ? "ok" : e.message || "unknown_error"
}
const vr = "_sentryChildSpans", _r = "_sentryRootSpan";
function yr(e, t) {
const n = e[_r] || e;
tn(t, _r, n), e[vr] ? e[vr].add(t) : tn(e, vr, new Set([t]))
}
function br(e) {
const t = new Set;
return function e(n) {
if (!t.has(n) && mr(n)) {
t.add(n);
const r = n[vr] ? Array.from(n[vr]) : [];
for (const t of r) e(t)
}
}(e), Array.from(t)
}
function xr(e) {
return e[_r] || e
}
function wr() {
const e = Dn(St());
return e.getActiveSpan ? e.getActiveSpan() : kn(Rn())
}
function kr() {
lr || (Kt((() => {
console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")
})), lr = !0)
}
const Sr = "production", Er = "_frozenDsc";
function Ir(e, t) {
tn(e, Er, t)
}
function Cr(e, t) {
const n = t.getOptions(), {publicKey: r} = t.getDsn() || {},
a = {environment: n.environment || Sr, release: n.release, public_key: r, trace_id: e};
return t.emit("createDsc", a), a
}
function Or(e, t) {
const n = t.getPropagationContext();
return n.dsc || Cr(n.traceId, e)
}
function Pr(e) {
const t = Nn();
if (!t) return {};
const n = xr(e), r = fr(n), a = r.data, i = n.spanContext().traceState,
o = i?.get("sentry.sample_rate") ?? a[zn] ?? a[Vn];
function s(e) {
return "number" !== typeof o && "string" !== typeof o || (e.sample_rate = `${o}`), e
}
const l = n[Er];
if (l) return s(l);
const c = i?.get("sentry.dsc"), u = c && nr(c);
if (u) return s(u);
const d = Cr(e.spanContext().traceId, t), p = a[Fn], h = r.description;
return "url" !== p && h && (d.transaction = h), Kn() && (d.sampled = String(mr(n)), d.sample_rand = i?.get("sentry.sample_rand") ?? Xn(n).scope?.getPropagationContext().sampleRand.toString()), s(d), t.emit("createDsc", d, n), d
}
class Ar {
constructor(e = {}) {
this._traceId = e.traceId || Sn(), this._spanId = e.spanId || En()
}
spanContext() {
return {spanId: this._spanId, traceId: this._traceId, traceFlags: 0}
}
end(e) {
}
setAttribute(e, t) {
return this
}
setAttributes(e) {
return this
}
setStatus(e) {
return this
}
updateName(e) {
return this
}
isRecording() {
return !1
}
addEvent(e, t, n) {
return this
}
addLink(e) {
return this
}
addLinks(e) {
return this
}
recordException(e, t) {
}
}
const Tr = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
function Dr(e, t = !1) {
const {host: n, path: r, pass: a, port: i, projectId: o, protocol: s, publicKey: l} = e;
return `${s}://${l}${t && a ? `:${a}` : ""}@${n}${i ? `:${i}` : ""}/${r ? `${r}/` : r}${o}`
}
function Rr(e) {
return {
protocol: e.protocol,
publicKey: e.publicKey || "",
pass: e.pass || "",
host: e.host,
port: e.port || "",
path: e.path || "",
projectId: e.projectId
}
}
function Lr(e) {
const t = "string" === typeof e ? function (e) {
const t = Tr.exec(e);
if (!t) return void Kt((() => {
console.error(`Invalid Sentry Dsn: ${e}`)
}));
const [n, r, a = "", i = "", o = "", s = ""] = t.slice(1);
let l = "", c = s;
const u = c.split("/");
if (u.length > 1 && (l = u.slice(0, -1).join("/"), c = u.pop()), c) {
const e = c.match(/^\d+/);
e && (c = e[0])
}
return Rr({host: i, pass: a, path: l, projectId: c, port: o, protocol: n, publicKey: r})
}(e) : Rr(e);
if (t && function (e) {
if (!Ct) return !0;
const {port: t, projectId: n, protocol: r} = e;
return !["protocol", "publicKey", "host", "projectId"].find((t => !e[t] && (Yt.error(`Invalid Sentry Dsn: ${t} missing`), !0))) && (n.match(/^\d+$/) ? function (e) {
return "http" === e || "https" === e
}(r) ? !t || !isNaN(parseInt(t, 10)) || (Yt.error(`Invalid Sentry Dsn: Invalid port ${t}`), !1) : (Yt.error(`Invalid Sentry Dsn: Invalid protocol ${r}`), !1) : (Yt.error(`Invalid Sentry Dsn: Invalid projectId ${n}`), !1))
}(t)) return t
}
const jr = "?", Nr = /\(error: (.*)\)/, Mr = /captureMessage|captureException/;
function Fr(...e) {
const t = e.sort(((e, t) => e[0] - t[0])).map((e => e[1]));
return (e, n = 0, r = 0) => {
const a = [], i = e.split("\n");
for (let o = n; o < i.length; o++) {
const e = i[o];
if (e.length > 1024) continue;
const n = Nr.test(e) ? e.replace(Nr, "$1") : e;
if (!n.match(/\S*Error: /)) {
for (const e of t) {
const t = e(n);
if (t) {
a.push(t);
break
}
}
if (a.length >= 50 + r) break
}
}
return function (e) {
if (!e.length) return [];
const t = Array.from(e);
/sentryWrapped/.test(zr(t).function || "") && t.pop();
t.reverse(), Mr.test(zr(t).function || "") && (t.pop(), Mr.test(zr(t).function || "") && t.pop());
return t.slice(0, 50).map((e => ({
...e,
filename: e.filename || zr(t).filename,
function: e.function || jr
})))
}(a.slice(r))
}
}
function zr(e) {
return e[e.length - 1] || {}
}
const Vr = "<anonymous>";
function Ur(e) {
try {
return e && "function" === typeof e && e.name || Vr
} catch (t) {
return Vr
}
}
function Br(e) {
const t = e.exception;
if (t) {
const e = [];
try {
return t.values.forEach((t => {
t.stacktrace.frames && e.push(...t.stacktrace.frames)
})), e
} catch (n) {
return
}
}
}
function Gr(e, t = 100, n = 1 / 0) {
try {
return qr("", e, t, n)
} catch (r) {
return {ERROR: `**non-serializable** (${r})`}
}
}
function $r(e, t = 3, n = 102400) {
const r = Gr(e, t);
return a = r, function (e) {
return ~-encodeURI(e).split(/%..|./).length
}(JSON.stringify(a)) > n ? $r(e, t - 1, n) : r;
var a
}
function qr(e, t, n = 1 / 0, r = 1 / 0, a = function () {
const e = new WeakSet;
function t(t) {
return !!e.has(t) || (e.add(t), !1)
}
function n(t) {
e.delete(t)
}
return [t, n]
}()) {
const [i, o] = a;
if (null == t || ["boolean", "string"].includes(typeof t) || "number" === typeof t && Number.isFinite(t)) return t;
const s = function (e, t) {
try {
if ("domain" === e && t && "object" === typeof t && t._events) return "[Domain]";
if ("domainEmitter" === e) return "[DomainEmitter]";
if ("undefined" !== typeof global && t === global) return "[Global]";
if ("undefined" !== typeof window && t === window) return "[Window]";
if ("undefined" !== typeof document && t === document) return "[Document]";
if (Vt(t)) return "[VueViewModel]";
if (Nt(n = t) && "nativeEvent" in n && "preventDefault" in n && "stopPropagation" in n) return "[SyntheticEvent]";
if ("number" === typeof t && !Number.isFinite(t)) return `[${t}]`;
if ("function" === typeof t) return `[Function: ${Ur(t)}]`;
if ("symbol" === typeof t) return `[${String(t)}]`;
if ("bigint" === typeof t) return `[BigInt: ${String(t)}]`;
const r = function (e) {
const t = Object.getPrototypeOf(e);
return t?.constructor ? t.constructor.name : "null prototype"
}(t);
return /^HTML(\w*)Element$/.test(r) ? `[HTMLElement: ${r}]` : `[object ${r}]`
} catch (r) {
return `**non-serializable** (${r})`
}
var n
}(e, t);
if (!s.startsWith("[object ")) return s;
if (t.__sentry_skip_normalization__) return t;
const l = "number" === typeof t.__sentry_override_normalization_depth__ ? t.__sentry_override_normalization_depth__ : n;
if (0 === l) return s.replace("object ", "");
if (i(t)) return "[Circular ~]";
const c = t;
if (c && "function" === typeof c.toJSON) try {
return qr("", c.toJSON(), l - 1, r, a)
} catch (h) {
}
const u = Array.isArray(t) ? [] : {};
let d = 0;
const p = an(t);
for (const f in p) {
if (!Object.prototype.hasOwnProperty.call(p, f)) continue;
if (d >= r) {
u[f] = "[MaxProperties ~]";
break
}
const e = p[f];
u[f] = qr(f, e, l - 1, r, a), d++
}
return o(t), u
}
function Wr(e, t = []) {
return [e, t]
}
function Hr(e, t) {
const [n, r] = e;
return [n, [...r, t]]
}
function Kr(e, t) {
const n = e[1];
for (const r of n) {
if (t(r, r[0].type)) return !0
}
return !1
}
function Yr(e) {
const t = Et(kt);
return t.encodePolyfill ? t.encodePolyfill(e) : (new TextEncoder).encode(e)
}
function Qr(e) {
const [t, n] = e;
let r = JSON.stringify(t);
function a(e) {
"string" === typeof r ? r = "string" === typeof e ? r + e : [Yr(r), e] : r.push("string" === typeof e ? Yr(e) : e)
}
for (const o of n) {
const [e, t] = o;
if (a(`\n${JSON.stringify(e)}\n`), "string" === typeof t || t instanceof Uint8Array) a(t); else {
let e;
try {
e = JSON.stringify(t)
} catch (i) {
e = JSON.stringify(Gr(t))
}
a(e)
}
}
return "string" === typeof r ? r : function (e) {
const t = e.reduce(((e, t) => e + t.length), 0), n = new Uint8Array(t);
let r = 0;
for (const a of e) n.set(a, r), r += a.length;
return n
}(r)
}
function Zr(e) {
return [{type: "span"}, e]
}
function Xr(e) {
const t = "string" === typeof e.data ? Yr(e.data) : e.data;
return [{
type: "attachment",
length: t.length,
filename: e.filename,
content_type: e.contentType,
attachment_type: e.attachmentType
}, t]
}
const Jr = {
session: "session",
sessions: "session",
attachment: "attachment",
transaction: "transaction",
event: "error",
client_report: "internal",
user_report: "default",
profile: "profile",
profile_chunk: "profile",
replay_event: "replay",
replay_recording: "replay",
check_in: "monitor",
feedback: "feedback",
span: "span",
raw_security: "security",
log: "log_item"
};
function ea(e) {
return Jr[e]
}
function ta(e) {
if (!e?.sdk) return;
const {name: t, version: n} = e.sdk;
return {name: t, version: n}
}
function na(e, t, n, r) {
const a = ta(n), i = e.type && "replay_event" !== e.type ? e.type : "event";
!function (e, t) {
t && (e.sdk = e.sdk || {}, e.sdk.name = e.sdk.name || t.name, e.sdk.version = e.sdk.version || t.version, e.sdk.integrations = [...e.sdk.integrations || [], ...t.integrations || []], e.sdk.packages = [...e.sdk.packages || [], ...t.packages || []])
}(e, n?.sdk);
const o = function (e, t, n, r) {
const a = e.sdkProcessingMetadata?.dynamicSamplingContext;
return {
event_id: e.event_id,
sent_at: (new Date).toISOString(), ...t && {sdk: t}, ...!!n && r && {dsn: Dr(r)}, ...a && {trace: a}
}
}(e, a, r, t);
delete e.sdkProcessingMetadata;
return Wr(o, [[{type: i}, e]])
}
function ra(e) {
if (!e || 0 === e.length) return;
const t = {};
return e.forEach((e => {
const n = e.attributes || {}, r = n["sentry.measurement_unit"], a = n["sentry.measurement_value"];
"string" === typeof r && "number" === typeof a && (t[e.name] = {value: a, unit: r})
})), t
}
class aa {
constructor(e = {}) {
this._traceId = e.traceId || Sn(), this._spanId = e.spanId || En(), this._startTime = e.startTimestamp || mn(), this._links = e.links, this._attributes = {}, this.setAttributes({
[Bn]: "manual",
[Un]: e.op, ...e.attributes
}), this._name = e.name, e.parentSpanId && (this._parentSpanId = e.parentSpanId), "sampled" in e && (this._sampled = e.sampled), e.endTimestamp && (this._endTime = e.endTimestamp), this._events = [], this._isStandaloneSpan = e.isStandalone, this._endTime && this._onSpanEnded()
}
addLink(e) {
return this._links ? this._links.push(e) : this._links = [e], this
}
addLinks(e) {
return this._links ? this._links.push(...e) : this._links = e, this
}
recordException(e, t) {
}
spanContext() {
const {_spanId: e, _traceId: t, _sampled: n} = this;
return {spanId: e, traceId: t, traceFlags: n ? 1 : 0}
}
setAttribute(e, t) {
return void 0 === t ? delete this._attributes[e] : this._attributes[e] = t, this
}
setAttributes(e) {
return Object.keys(e).forEach((t => this.setAttribute(t, e[t]))), this
}
updateStartTime(e) {
this._startTime = pr(e)
}
setStatus(e) {
return this._status = e, this
}
updateName(e) {
return this._name = e, this.setAttribute(Fn, "custom"), this
}
end(e) {
this._endTime || (this._endTime = pr(e), function (e) {
if (!Ct) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >"
} = fr(e), {spanId: r} = e.spanContext(),
a = `[Tracing] Finishing "${n}" ${xr(e) === e ? "root " : ""}span "${t}" with ID ${r}`;
Yt.log(a)
}(this), this._onSpanEnded())
}
getSpanJSON() {
return {
data: this._attributes,
description: this._name,
op: this._attributes[Un],
parent_span_id: this._parentSpanId,
span_id: this._spanId,
start_timestamp: this._startTime,
status: gr(this._status),
timestamp: this._endTime,
trace_id: this._traceId,
origin: this._attributes[Bn],
profile_id: this._attributes[qn],
exclusive_time: this._attributes[Wn],
measurements: ra(this._events),
is_segment: this._isStandaloneSpan && xr(this) === this || void 0,
segment_id: this._isStandaloneSpan ? xr(this).spanContext().spanId : void 0,
links: dr(this._links)
}
}
isRecording() {
return !this._endTime && !!this._sampled
}
addEvent(e, t, n) {
Ct && Yt.log("[Tracing] Adding an event to span:", e);
const r = ia(t) ? t : n || mn(), a = ia(t) ? {} : t || {}, i = {name: e, time: pr(r), attributes: a};
return this._events.push(i), this
}
isStandaloneSpan() {
return !!this._isStandaloneSpan
}
_onSpanEnded() {
const e = Nn();
e && e.emit("spanEnd", this);
if (!(this._isStandaloneSpan || this === xr(this))) return;
if (this._isStandaloneSpan) return void (this._sampled ? function (e) {
const t = Nn();
if (!t) return;
const n = e[1];
if (!n || 0 === n.length) return void t.recordDroppedEvent("before_send", "span");
t.sendEnvelope(e)
}(function (e, t) {
const n = Pr(e[0]), r = t?.getDsn(), a = t?.getOptions().tunnel, i = {
sent_at: (new Date).toISOString(), ...function (e) {
return !!e.trace_id && !!e.public_key
}(n) && {trace: n}, ...!!a && r && {dsn: Dr(r)}
}, o = t?.getOptions().beforeSendSpan, s = o ? e => {
const t = fr(e);
return o(t) || (kr(), t)
} : fr, l = [];
for (const c of e) {
const e = s(c);
e && l.push(Zr(e))
}
return Wr(i, l)
}([this], e)) : (Ct && Yt.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."), e && e.recordDroppedEvent("sample_rate", "span")));
const t = this._convertSpanToTransaction();
if (t) {
(Xn(this).scope || Rn()).captureEvent(t)
}
}
_convertSpanToTransaction() {
if (!oa(fr(this))) return;
this._name || (Ct && Yt.warn("Transaction has no name, falling back to `<unlabeled transaction>`."), this._name = "<unlabeled transaction>");
const {scope: e, isolationScope: t} = Xn(this);
if (!0 !== this._sampled) return;
const n = br(this).filter((e => e !== this && !function (e) {
return e instanceof aa && e.isStandaloneSpan()
}(e))).map((e => fr(e))).filter(oa), r = this._attributes[Fn];
delete this._attributes[$n], n.forEach((e => {
delete e.data[$n]
}));
const a = {
contexts: {trace: cr(this)},
spans: n.length > 1e3 ? n.sort(((e, t) => e.start_timestamp - t.start_timestamp)).slice(0, 1e3) : n,
start_timestamp: this._startTime,
timestamp: this._endTime,
transaction: this._name,
type: "transaction",
sdkProcessingMetadata: {
capturedSpanScope: e,
capturedSpanIsolationScope: t,
dynamicSamplingContext: Pr(this)
}, ...r && {transaction_info: {source: r}}
}, i = ra(this._events);
return i && Object.keys(i).length && (Ct && Yt.log("[Measurements] Adding measurements to transaction event", JSON.stringify(i, void 0, 2)), a.measurements = i), a
}
}
function ia(e) {
return e && "number" === typeof e || e instanceof Date || Array.isArray(e)
}
function oa(e) {
return !!e.start_timestamp && !!e.timestamp && !!e.span_id && !!e.trace_id
}
const sa = "__SENTRY_SUPPRESS_TRACING__";
function la(e) {
const t = pa();
if (t.startInactiveSpan) return t.startInactiveSpan(e);
const n = da(e), {forceTransaction: r, parentSpan: a} = e;
return (e.scope ? t => jn(e.scope, t) : void 0 !== a ? e => ca(a, e) : e => e())((() => {
const t = Rn(), a = fa(t);
return e.onlyIfParent && !a ? new Ar : ua({
parentSpan: a,
spanArguments: n,
forceTransaction: r,
scope: t
})
}))
}
function ca(e, t) {
const n = pa();
return n.withActiveSpan ? n.withActiveSpan(e, t) : jn((n => (wn(n, e || void 0), t(n))))
}
function ua({parentSpan: e, spanArguments: t, forceTransaction: n, scope: r}) {
if (!Kn()) {
const r = new Ar;
if (n || !e) {
Ir(r, {sampled: "false", sample_rate: "0", transaction: t.name, ...Pr(r)})
}
return r
}
const a = Ln();
let i;
if (e && !n) i = function (e, t, n) {
const {spanId: r, traceId: a} = e.spanContext(),
i = !t.getScopeData().sdkProcessingMetadata[sa] && mr(e),
o = i ? new aa({...n, parentSpanId: r, traceId: a, sampled: i}) : new Ar({traceId: a});
yr(e, o);
const s = Nn();
s && (s.emit("spanStart", o), n.endTimestamp && s.emit("spanEnd", o));
return o
}(e, r, t), yr(e, i); else if (e) {
const n = Pr(e), {traceId: a, spanId: o} = e.spanContext(), s = mr(e);
i = ha({traceId: a, parentSpanId: o, ...t}, r, s), Ir(i, n)
} else {
const {
traceId: e,
dsc: n,
parentSpanId: o,
sampled: s
} = {...a.getPropagationContext(), ...r.getPropagationContext()};
i = ha({traceId: e, parentSpanId: o, ...t}, r, s), n && Ir(i, n)
}
return function (e) {
if (!Ct) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >",
parent_span_id: r
} = fr(e), {spanId: a} = e.spanContext(), i = mr(e), o = xr(e), s = o === e,
l = `[Tracing] Starting ${i ? "sampled" : "unsampled"} ${s ? "root " : ""}span`,
c = [`op: ${n}`, `name: ${t}`, `ID: ${a}`];
if (r && c.push(`parent ID: ${r}`), !s) {
const {op: e, description: t} = fr(o);
c.push(`root ID: ${o.spanContext().spanId}`), e && c.push(`root op: ${e}`), t && c.push(`root description: ${t}`)
}
Yt.log(`${l}\n ${c.join("\n ")}`)
}(i), function (e, t, n) {
e && (tn(e, Zn, n), tn(e, Qn, t))
}(i, r, a), i
}
function da(e) {
const t = {isStandalone: (e.experimental || {}).standalone, ...e};
if (e.startTime) {
const n = {...t};
return n.startTimestamp = pr(e.startTime), delete n.startTime, n
}
return t
}
function pa() {
return Dn(St())
}
function ha(e, t, n) {
const r = Nn(), a = r?.getOptions() || {}, {name: i = ""} = e,
o = {spanAttributes: {...e.attributes}, spanName: i, parentSampled: n};
r?.emit("beforeSampling", o, {decision: !1});
const s = o.parentSampled ?? n, l = o.spanAttributes,
c = t.getPropagationContext(), [u, d, p] = t.getScopeData().sdkProcessingMetadata[sa] ? [!1] : function (e, t, n) {
if (!Kn(e)) return [!1];
let r, a;
"function" === typeof e.tracesSampler ? (a = e.tracesSampler({
...t,
inheritOrSampleWith: e => "number" === typeof t.parentSampleRate ? t.parentSampleRate : "boolean" === typeof t.parentSampled ? Number(t.parentSampled) : e
}), r = !0) : void 0 !== t.parentSampled ? a = t.parentSampled : "undefined" !== typeof e.tracesSampleRate && (a = e.tracesSampleRate, r = !0);
const i = Jn(a);
if (void 0 === i) return Ct && Yt.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(a)} of type ${JSON.stringify(typeof a)}.`), [!1];
if (!i) return Ct && Yt.log("[Tracing] Discarding transaction because " + ("function" === typeof e.tracesSampler ? "tracesSampler returned 0 or false" : "a negative sampling decision was inherited or tracesSampleRate is set to 0")), [!1, i, r];
const o = n < i;
return o || Ct && Yt.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(a)})`), [o, i, r]
}(a, {name: i, parentSampled: s, attributes: l, parentSampleRate: Jn(c.dsc?.sample_rate)}, c.sampleRand),
h = new aa({
...e,
attributes: {[Fn]: "custom", [zn]: void 0 !== d && p ? d : void 0, ...l},
sampled: u
});
return !u && r && (Ct && Yt.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."), r.recordDroppedEvent("sample_rate", "transaction")), r && r.emit("spanStart", h), h
}
function fa(e) {
const t = kn(e);
if (!t) return;
const n = Nn();
return (n ? n.getOptions() : {}).parentSpanIsAlwaysRootSpan ? xr(t) : t
}
const ma = {idleTimeout: 1e3, finalTimeout: 3e4, childSpanTimeout: 15e3};
function ga(e, t = {}) {
const n = new Map;
let r, a = !1, i = "externalFinish", o = !t.disableAutoFinish;
const s = [], {
idleTimeout: l = ma.idleTimeout,
finalTimeout: c = ma.finalTimeout,
childSpanTimeout: u = ma.childSpanTimeout,
beforeSpanEnd: d
} = t, p = Nn();
if (!p || !Kn()) {
const e = new Ar;
return Ir(e, {sample_rate: "0", sampled: "false", ...Pr(e)}), e
}
const h = Rn(), f = wr(), m = function (e) {
const t = la(e);
return wn(Rn(), t), Ct && Yt.log("[Tracing] Started span is an idle span"), t
}(e);
function g() {
r && (clearTimeout(r), r = void 0)
}
function v(e) {
g(), r = setTimeout((() => {
!a && 0 === n.size && o && (i = "idleTimeout", m.end(e))
}), l)
}
function _(e) {
r = setTimeout((() => {
!a && o && (i = "heartbeatFailed", m.end(e))
}), u)
}
function y(e) {
a = !0, n.clear(), s.forEach((e => e())), wn(h, f);
const t = fr(m), {start_timestamp: r} = t;
if (!r) return;
t.data[Gn] || m.setAttribute(Gn, i), Yt.log(`[Tracing] Idle span "${t.op}" finished`);
const o = br(m).filter((e => e !== m));
let u = 0;
o.forEach((t => {
t.isRecording() && (t.setStatus({
code: 2,
message: "cancelled"
}), t.end(e), Ct && Yt.log("[Tracing] Cancelling span since span ended early", JSON.stringify(t, void 0, 2)));
const n = fr(t), {timestamp: r = 0, start_timestamp: a = 0} = n, i = a <= e,
o = r - a <= (c + l) / 1e3;
if (Ct) {
const e = JSON.stringify(t, void 0, 2);
i ? o || Yt.log("[Tracing] Discarding span since it finished after idle span final timeout", e) : Yt.log("[Tracing] Discarding span since it happened after idle span was finished", e)
}
o && i || (!function (e, t) {
e[vr] && e[vr].delete(t)
}(m, t), u++)
})), u > 0 && m.setAttribute("sentry.idle_span_discarded_spans", u)
}
return m.end = new Proxy(m.end, {
apply(e, t, n) {
if (d && d(m), t instanceof Ar) return;
const [r, ...a] = n, i = pr(r || mn()), o = br(m).filter((e => e !== m));
if (!o.length) return y(i), Reflect.apply(e, t, [i, ...a]);
const s = o.map((e => fr(e).timestamp)).filter((e => !!e)), l = s.length ? Math.max(...s) : void 0,
u = fr(m).start_timestamp,
p = Math.min(u ? u + c / 1e3 : 1 / 0, Math.max(u || -1 / 0, Math.min(i, l || 1 / 0)));
return y(p), Reflect.apply(e, t, [p, ...a])
}
}), s.push(p.on("spanStart", (e => {
if (a || e === m || fr(e).timestamp) return;
var t;
br(m).includes(e) && (t = e.spanContext().spanId, g(), n.set(t, !0), _(mn() + u / 1e3))
}))), s.push(p.on("spanEnd", (e => {
var t;
a || (t = e.spanContext().spanId, n.has(t) && n.delete(t), 0 === n.size && v(mn() + l / 1e3))
}))), s.push(p.on("idleSpanEnableAutoFinish", (e => {
e === m && (o = !0, v(), n.size && _())
}))), t.disableAutoFinish || v(), setTimeout((() => {
a || (m.setStatus({code: 2, message: "deadline_exceeded"}), i = "finalTimeout", m.end())
}), c), m
}
const va = {}, _a = {};
function ya(e, t) {
va[e] = va[e] || [], va[e].push(t)
}
function ba(e, t) {
if (!_a[e]) {
_a[e] = !0;
try {
t()
} catch (n) {
Ct && Yt.error(`Error while instrumenting ${e}`, n)
}
}
}
function xa(e, t) {
const n = e && va[e];
if (n) for (const a of n) try {
a(t)
} catch (r) {
Ct && Yt.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${Ur(a)}\nError:`, r)
}
}
let wa = null;
function ka(e) {
const t = "error";
ya(t, e), ba(t, Sa)
}
function Sa() {
wa = kt.onerror, kt.onerror = function (e, t, n, r, a) {
const i = {column: r, error: a, line: n, msg: e, url: t};
return xa("error", i), !!wa && wa.apply(this, arguments)
}, kt.onerror.__SENTRY_INSTRUMENTED__ = !0
}
let Ea = null;
function Ia(e) {
const t = "unhandledrejection";
ya(t, e), ba(t, Ca)
}
function Ca() {
Ea = kt.onunhandledrejection, kt.onunhandledrejection = function (e) {
const t = e;
return xa("unhandledrejection", t), !Ea || Ea.apply(this, arguments)
}, kt.onunhandledrejection.__SENTRY_INSTRUMENTED__ = !0
}
let Oa = !1;
function Pa() {
const e = wr(), t = e && xr(e);
if (t) {
const e = "internal_error";
Ct && Yt.log(`[Tracing] Root span: ${e} -> Global error occurred`), t.setStatus({code: 2, message: e})
}
}
Pa.tag = "sentry_tracingErrorCallback";
const Aa = globalThis;
function Ta() {
return Date.now() / 1e3
}
const Da = function () {
const {performance: e} = Aa;
if (!e?.now) return Ta;
const t = Date.now() - e.now(), n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
let Ra;
function La() {
return Ra || (Ra = function () {
const {performance: e} = Aa;
if (!e?.now) return [void 0, "none"];
const t = 36e5, n = e.now(), r = Date.now(), a = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
i = a < t, o = e.timing?.navigationStart, s = "number" === typeof o ? Math.abs(o + n - r) : t;
return i || s < t ? a <= s ? [e.timeOrigin, "timeOrigin"] : [o, "navigationStart"] : [r, "dateNow"]
}()), Ra[0]
}
const ja = "9.18.0";
function Na() {
return Ma(Aa), Aa
}
function Ma(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || ja, t[ja] = t[ja] || {}
}
function Fa(e, t, n = Aa) {
const r = n.__SENTRY__ = n.__SENTRY__ || {}, a = r[ja] = r[ja] || {};
return a[e] || (a[e] = t())
}
function za(e = function () {
const e = Aa;
return e.crypto || e.msCrypto
}()) {
let t = () => 16 * Math.random();
try {
if (e?.randomUUID) return e.randomUUID().replace(/-/g, "");
e?.getRandomValues && (t = () => {
const t = new Uint8Array(1);
return e.getRandomValues(t), t[0]
})
} catch (xz) {
}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & t()) >> e / 4).toString(16)))
}
function Va(e, t = {}) {
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), e.did || t.did || (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || Da(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = 32 === t.sid.length ? t.sid : za()), void 0 !== t.init && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), "number" === typeof t.started && (e.started = t.started), e.ignoreDuration) e.duration = void 0; else if ("number" === typeof t.duration) e.duration = t.duration; else {
const t = e.timestamp - e.started;
e.duration = t >= 0 ? t : 0
}
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), "number" === typeof t.errors && (e.errors = t.errors), t.status && (e.status = t.status)
}
function Ua(e, t, n = 2) {
if (!t || "object" !== typeof t || n <= 0) return t;
if (e && 0 === Object.keys(t).length) return e;
const r = {...e};
for (const a in t) Object.prototype.hasOwnProperty.call(t, a) && (r[a] = Ua(r[a], t[a], n - 1));
return r
}
const Ba = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
Ga = ["debug", "info", "warn", "error", "log", "assert", "trace"], $a = {};
function qa(e) {
if (!("console" in Aa)) return e();
const t = Aa.console, n = {}, r = Object.keys($a);
r.forEach((e => {
const r = $a[e];
n[e] = t[e], t[e] = r
}));
try {
return e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}
const Wa = Fa("logger", (function () {
let e = !1;
const t = {
enable: () => {
e = !0
}, disable: () => {
e = !1
}, isEnabled: () => e
};
return Ba ? Ga.forEach((n => {
t[n] = (...t) => {
e && qa((() => {
Aa.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : Ga.forEach((e => {
t[e] = () => {
}
})), t
}));
function Ha(e, t, n) {
if (!(t in e)) return;
const r = e[t];
if ("function" !== typeof r) return;
const a = n(r);
"function" === typeof a && function (e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, Ka(e, "__sentry_original__", t)
} catch (n) {
}
}(a, r);
try {
e[t] = a
} catch {
Ba && Wa.log(`Failed to replace method "${t}" in object`, e)
}
}
function Ka(e, t, n) {
try {
Object.defineProperty(e, t, {value: n, writable: !0, configurable: !0})
} catch (r) {
Ba && Wa.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
const Ya = "_sentrySpan";
function Qa(e, t) {
t ? Ka(e, Ya, t) : delete e[Ya]
}
function Za(e) {
return e[Ya]
}
const Xa = Object.prototype.toString;
function Ja(e, t) {
return Xa.call(e) === `[object ${t}]`
}
function ei(e) {
return Ja(e, "String")
}
function ti(e) {
return Ja(e, "Object")
}
function ni() {
return za()
}
function ri() {
return za().substring(16)
}
function ai(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0, t)}...`
}
class ii {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = {
traceId: ni(),
sampleRand: Math.random()
}
}
clone() {
const e = new ii;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {...this._tags}, e._extra = {...this._extra}, e._contexts = {...this._contexts}, this._contexts.flags && (e._contexts.flags = {values: [...this._contexts.flags.values]}), e._user = this._user, e._level = this._level, e._session = this._session, e._transactionName = this._transactionName, e._fingerprint = this._fingerprint, e._eventProcessors = [...this._eventProcessors], e._attachments = [...this._attachments], e._sdkProcessingMetadata = {...this._sdkProcessingMetadata}, e._propagationContext = {...this._propagationContext}, e._client = this._client, e._lastEventId = this._lastEventId, Qa(e, Za(this)), e
}
setClient(e) {
this._client = e
}
setLastEventId(e) {
this._lastEventId = e
}
getClient() {
return this._client
}
lastEventId() {
return this._lastEventId
}
addScopeListener(e) {
this._scopeListeners.push(e)
}
addEventProcessor(e) {
return this._eventProcessors.push(e), this
}
setUser(e) {
return this._user = e || {
email: void 0,
id: void 0,
ip_address: void 0,
username: void 0
}, this._session && Va(this._session, {user: e}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
setTags(e) {
return this._tags = {...this._tags, ...e}, this._notifyScopeListeners(), this
}
setTag(e, t) {
return this._tags = {...this._tags, [e]: t}, this._notifyScopeListeners(), this
}
setExtras(e) {
return this._extra = {...this._extra, ...e}, this._notifyScopeListeners(), this
}
setExtra(e, t) {
return this._extra = {...this._extra, [e]: t}, this._notifyScopeListeners(), this
}
setFingerprint(e) {
return this._fingerprint = e, this._notifyScopeListeners(), this
}
setLevel(e) {
return this._level = e, this._notifyScopeListeners(), this
}
setTransactionName(e) {
return this._transactionName = e, this._notifyScopeListeners(), this
}
setContext(e, t) {
return null === t ? delete this._contexts[e] : this._contexts[e] = t, this._notifyScopeListeners(), this
}
setSession(e) {
return e ? this._session = e : delete this._session, this._notifyScopeListeners(), this
}
getSession() {
return this._session
}
update(e) {
if (!e) return this;
const t = "function" === typeof e ? e(this) : e,
n = t instanceof ii ? t.getScopeData() : ti(t) ? e : void 0, {
tags: r,
extra: a,
user: i,
contexts: o,
level: s,
fingerprint: l = [],
propagationContext: c
} = n || {};
return this._tags = {...this._tags, ...r}, this._extra = {...this._extra, ...a}, this._contexts = {...this._contexts, ...o}, i && Object.keys(i).length && (this._user = i), s && (this._level = s), l.length && (this._fingerprint = l), c && (this._propagationContext = c), this
}
clear() {
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._session = void 0, Qa(this, void 0), this._attachments = [], this.setPropagationContext({
traceId: ni(),
sampleRand: Math.random()
}), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {timestamp: Ta(), ...e, message: e.message ? ai(e.message, 2048) : e.message};
return this._breadcrumbs.push(r), this._breadcrumbs.length > n && (this._breadcrumbs = this._breadcrumbs.slice(-n), this._client?.recordDroppedEvent("buffer_overflow", "log_item")), this._notifyScopeListeners(), this
}
getLastBreadcrumb() {
return this._breadcrumbs[this._breadcrumbs.length - 1]
}
clearBreadcrumbs() {
return this._breadcrumbs = [], this._notifyScopeListeners(), this
}
addAttachment(e) {
return this._attachments.push(e), this
}
clearAttachments() {
return this._attachments = [], this
}
getScopeData() {
return {
breadcrumbs: this._breadcrumbs,
attachments: this._attachments,
contexts: this._contexts,
tags: this._tags,
extra: this._extra,
user: this._user,
level: this._level,
fingerprint: this._fingerprint || [],
eventProcessors: this._eventProcessors,
propagationContext: this._propagationContext,
sdkProcessingMetadata: this._sdkProcessingMetadata,
transactionName: this._transactionName,
span: Za(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = Ua(this._sdkProcessingMetadata, e, 2), this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t?.event_id || za();
if (!this._client) return Wa.warn("No client configured on scope - will not capture exception!"), n;
const r = new Error("Sentry syntheticException");
return this._client.captureException(e, {
originalException: e,
syntheticException: r, ...t,
event_id: n
}, this), n
}
captureMessage(e, t, n) {
const r = n?.event_id || za();
if (!this._client) return Wa.warn("No client configured on scope - will not capture message!"), r;
const a = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: a, ...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t?.event_id || za();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (Wa.warn("No client configured on scope - will not capture event!"), n)
}
_notifyScopeListeners() {
this._notifyingListeners || (this._notifyingListeners = !0, this._scopeListeners.forEach((e => {
e(this)
})), this._notifyingListeners = !1)
}
}
class oi {
constructor(e, t) {
let n, r;
n = e || new ii, r = t || new ii, this._stack = [{scope: n}], this._isolationScope = r
}
withScope(e) {
const t = this._pushScope();
let n;
try {
n = e(t)
} catch (a) {
throw this._popScope(), a
}
return r = n, Boolean(r?.then && "function" === typeof r.then) ? n.then((e => (this._popScope(), e)), (e => {
throw this._popScope(), e
})) : (this._popScope(), n);
var r
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getIsolationScope() {
return this._isolationScope
}
getStackTop() {
return this._stack[this._stack.length - 1]
}
_pushScope() {
const e = this.getScope().clone();
return this._stack.push({client: this.getClient(), scope: e}), e
}
_popScope() {
return !(this._stack.length <= 1) && !!this._stack.pop()
}
}
function si() {
const e = Ma(Na());
return e.stack = e.stack || new oi(Fa("defaultCurrentScope", (() => new ii)), Fa("defaultIsolationScope", (() => new ii)))
}
function li(e) {
return si().withScope(e)
}
function ci(e, t) {
const n = si();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function ui(e) {
return si().withScope((() => e(si().getIsolationScope())))
}
function di(e) {
const t = Ma(e);
return t.acs ? t.acs : {
withIsolationScope: ui,
withScope: li,
withSetScope: ci,
withSetIsolationScope: (e, t) => ui(t),
getCurrentScope: () => si().getScope(),
getIsolationScope: () => si().getIsolationScope()
}
}
function pi() {
return di(Na()).getCurrentScope()
}
function hi(...e) {
const t = di(Na());
if (2 === e.length) {
const [n, r] = e;
return n ? t.withSetScope(n, r) : t.withScope(r)
}
return t.withScope(e[0])
}
function fi() {
return pi().getClient()
}
const mi = "sentry.source", gi = "sentry.sample_rate", vi = "sentry.op", _i = "sentry.origin",
yi = "sentry.measurement_unit", bi = "sentry.measurement_value", xi = "sentry.custom_span_name",
wi = "sentry.exclusive_time";
let ki = !1;
function Si(e) {
const {spanId: t, traceId: n} = e.spanContext(), {
data: r,
op: a,
parent_span_id: i,
status: o,
origin: s,
links: l
} = Oi(e);
return {parent_span_id: i, span_id: t, trace_id: n, data: r, op: a, status: o, origin: s, links: l}
}
function Ei(e) {
return e && e.length > 0 ? e.map((({
context: {spanId: e, traceId: t, traceFlags: n, ...r},
attributes: a
}) => ({
span_id: e,
trace_id: t,
sampled: 1 === n,
attributes: a, ...r
}))) : void 0
}
function Ii(e) {
return "number" === typeof e ? Ci(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? Ci(e.getTime()) : Da()
}
function Ci(e) {
return e > 9999999999 ? e / 1e3 : e
}
function Oi(e) {
if (function (e) {
return "function" === typeof e.getSpanJSON
}(e)) return e.getSpanJSON();
const {spanId: t, traceId: n} = e.spanContext();
if (function (e) {
const t = e;
return !!t.attributes && !!t.startTime && !!t.name && !!t.endTime && !!t.status
}(e)) {
const {attributes: r, startTime: a, name: i, endTime: o, status: s, links: l} = e;
return {
span_id: t,
trace_id: n,
data: r,
description: i,
parent_span_id: "parentSpanId" in e ? e.parentSpanId : "parentSpanContext" in e ? e.parentSpanContext?.spanId : void 0,
start_timestamp: Ii(a),
timestamp: Ii(o) || void 0,
status: Ai(s),
op: r[vi],
origin: r[_i],
links: Ei(l)
}
}
return {span_id: t, trace_id: n, start_timestamp: 0, data: {}}
}
function Pi(e) {
const {traceFlags: t} = e.spanContext();
return 1 === t
}
function Ai(e) {
if (e && 0 !== e.code) return 1 === e.code ? "ok" : e.message || "unknown_error"
}
const Ti = "_sentryChildSpans", Di = "_sentryRootSpan";
function Ri(e, t) {
const n = e[Di] || e;
Ka(t, Di, n), e[Ti] ? e[Ti].add(t) : Ka(e, Ti, new Set([t]))
}
function Li(e) {
return e[Di] || e
}
function ji() {
const e = di(Na());
return e.getActiveSpan ? e.getActiveSpan() : Za(pi())
}
const Ni = Aa;
function Mi(e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5, a = [];
let i = 0, o = 0;
const s = " > ", l = s.length;
let c;
const u = Array.isArray(t) ? t : t.keyAttrs, d = !Array.isArray(t) && t.maxStringLength || 80;
for (; n && i++ < r && (c = Fi(n, u), !("html" === c || i > 1 && o + a.length * l + c.length >= d));) a.push(c), o += c.length, n = n.parentNode;
return a.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}
function Fi(e, t) {
const n = e, r = [];
if (!n?.tagName) return "";
if (Ni.HTMLElement && n instanceof HTMLElement && n.dataset) {
if (n.dataset.sentryComponent) return n.dataset.sentryComponent;
if (n.dataset.sentryElement) return n.dataset.sentryElement
}
r.push(n.tagName.toLowerCase());
const a = t?.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (a?.length) a.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
})); else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && ei(e)) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const i = ["aria-label", "type", "name", "title", "alt"];
for (const o of i) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
function zi(e) {
if (!Ni.HTMLElement) return null;
let t = e;
for (let n = 0; n < 5; n++) {
if (!t) return null;
if (t instanceof HTMLElement) {
if (t.dataset.sentryComponent) return t.dataset.sentryComponent;
if (t.dataset.sentryElement) return t.dataset.sentryElement
}
t = t.parentNode
}
return null
}
function Vi(e) {
if (!e || 0 === e.length) return;
const t = {};
return e.forEach((e => {
const n = e.attributes || {}, r = n[yi], a = n[bi];
"string" === typeof r && "number" === typeof a && (t[e.name] = {value: a, unit: r})
})), t
}
const Ui = Aa, Bi = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
const Gi = "<anonymous>";
function $i(e) {
try {
return e && "function" === typeof e && e.name || Gi
} catch (t) {
return Gi
}
}
const qi = (e, t, n, r) => {
let a, i;
return o => {
t.value >= 0 && (o || r) && (i = t.value - (a || 0), (i || void 0 === a) && (a = t.value, t.delta = i, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)))
}
}, Wi = (e = !0) => {
const t = Ui.performance?.getEntriesByType?.("navigation")[0];
if (!e || t && t.responseStart > 0 && t.responseStart < performance.now()) return t
}, Hi = () => Wi()?.activationStart || 0, Ki = (e, t) => {
const n = Wi();
let r = "navigate";
n && (Ui.document?.prerendering || Hi() > 0 ? r = "prerender" : Ui.document?.wasDiscarded ? r = "restore" : n.type && (r = n.type.replace(/_/g, "-")));
return {
name: e,
value: "undefined" === typeof t ? -1 : t,
rating: "good",
delta: 0,
entries: [],
id: `v4-${Date.now()}-${Math.floor(8999999999999 * Math.random()) + 1e12}`,
navigationType: r
}
}, Yi = (e, t, n) => {
try {
if (PerformanceObserver.supportedEntryTypes.includes(e)) {
const r = new PerformanceObserver((e => {
Promise.resolve().then((() => {
t(e.getEntries())
}))
}));
return r.observe(Object.assign({type: e, buffered: !0}, n || {})), r
}
} catch (r) {
}
}, Qi = e => {
const t = t => {
"pagehide" !== t.type && "hidden" !== Ui.document?.visibilityState || e(t)
};
Ui.document && (addEventListener("visibilitychange", t, !0), addEventListener("pagehide", t, !0))
}, Zi = e => {
let t = !1;
return () => {
t || (e(), t = !0)
}
};
let Xi = -1;
const Ji = e => {
"hidden" === Ui.document.visibilityState && Xi > -1 && (Xi = "visibilitychange" === e.type ? e.timeStamp : 0, eo())
}, eo = () => {
removeEventListener("visibilitychange", Ji, !0), removeEventListener("prerenderingchange", Ji, !0)
},
to = () => (Ui.document && Xi < 0 && (Xi = "hidden" !== Ui.document.visibilityState || Ui.document.prerendering ? 1 / 0 : 0, addEventListener("visibilitychange", Ji, !0), addEventListener("prerenderingchange", Ji, !0)), {
get firstHiddenTime() {
return Xi
}
}), no = e => {
Ui.document?.prerendering ? addEventListener("prerenderingchange", (() => e()), !0) : e()
}, ro = [1800, 3e3], ao = [.1, .25], io = (e, t = {}) => {
((e, t = {}) => {
no((() => {
const n = to(), r = Ki("FCP");
let a;
const i = Yi("paint", (e => {
e.forEach((e => {
"first-contentful-paint" === e.name && (i.disconnect(), e.startTime < n.firstHiddenTime && (r.value = Math.max(e.startTime - Hi(), 0), r.entries.push(e), a(!0)))
}))
}));
i && (a = qi(e, r, ro, t.reportAllChanges))
}))
})(Zi((() => {
const n = Ki("CLS", 0);
let r, a = 0, i = [];
const o = e => {
e.forEach((e => {
if (!e.hadRecentInput) {
const t = i[0], n = i[i.length - 1];
a && t && n && e.startTime - n.startTime < 1e3 && e.startTime - t.startTime < 5e3 ? (a += e.value, i.push(e)) : (a = e.value, i = [e])
}
})), a > n.value && (n.value = a, n.entries = i, r())
}, s = Yi("layout-shift", o);
s && (r = qi(e, n, ao, t.reportAllChanges), Qi((() => {
o(s.takeRecords()), r(!0)
})), setTimeout(r, 0))
})))
}, oo = [100, 300];
let so = 0, lo = 1 / 0, co = 0;
const uo = e => {
e.forEach((e => {
e.interactionId && (lo = Math.min(lo, e.interactionId), co = Math.max(co, e.interactionId), so = co ? (co - lo) / 7 + 1 : 0)
}))
};
let po;
const ho = () => {
"interactionCount" in performance || po || (po = Yi("event", uo, {
type: "event",
buffered: !0,
durationThreshold: 0
}))
}, fo = [], mo = new Map;
const go = () => (po ? so : performance.interactionCount || 0) - 0, vo = [], _o = e => {
if (vo.forEach((t => t(e))), !e.interactionId && "first-input" !== e.entryType) return;
const t = fo[fo.length - 1], n = mo.get(e.interactionId);
if (n || fo.length < 10 || t && e.duration > t.latency) {
if (n) e.duration > n.latency ? (n.entries = [e], n.latency = e.duration) : e.duration === n.latency && e.startTime === n.entries[0]?.startTime && n.entries.push(e); else {
const t = {id: e.interactionId, latency: e.duration, entries: [e]};
mo.set(t.id, t), fo.push(t)
}
fo.sort(((e, t) => t.latency - e.latency)), fo.length > 10 && fo.splice(10).forEach((e => mo.delete(e.id)))
}
}, yo = e => {
const t = Ui.requestIdleCallback || Ui.setTimeout;
let n = -1;
return e = Zi(e), "hidden" === Ui.document?.visibilityState ? e() : (n = t(e), Qi(e)), n
}, bo = [200, 500], xo = (e, t = {}) => {
"PerformanceEventTiming" in Ui && "interactionId" in PerformanceEventTiming.prototype && no((() => {
ho();
const n = Ki("INP");
let r;
const a = e => {
yo((() => {
e.forEach(_o);
const t = (() => {
const e = Math.min(fo.length - 1, Math.floor(go() / 50));
return fo[e]
})();
t && t.latency !== n.value && (n.value = t.latency, n.entries = t.entries, r())
}))
}, i = Yi("event", a, {durationThreshold: null != t.durationThreshold ? t.durationThreshold : 40});
r = qi(e, n, bo, t.reportAllChanges), i && (i.observe({type: "first-input", buffered: !0}), Qi((() => {
a(i.takeRecords()), r(!0)
})))
}))
}, wo = [2500, 4e3], ko = {}, So = [800, 1800], Eo = e => {
Ui.document?.prerendering ? no((() => Eo(e))) : "complete" !== Ui.document?.readyState ? addEventListener("load", (() => Eo(e)), !0) : setTimeout(e, 0)
}, Io = {}, Co = {};
let Oo, Po, Ao, To, Do;
function Ro(e, t = !1) {
return $o("cls", e, zo, Oo, t)
}
function Lo(e, t = !1) {
return $o("lcp", e, Uo, Ao, t)
}
function jo(e) {
return $o("fid", e, Vo, Po)
}
function No(e) {
return $o("inp", e, Go, Do)
}
function Mo(e, t) {
return qo(e, t), Co[e] || (!function (e) {
const t = {};
"event" === e && (t.durationThreshold = 0);
Yi(e, (t => {
Fo(e, {entries: t})
}), t)
}(e), Co[e] = !0), Wo(e, t)
}
function Fo(e, t) {
const n = Io[e];
if (n?.length) for (const a of n) try {
a(t)
} catch (r) {
Bi && Wa.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${$i(a)}\nError:`, r)
}
}
function zo() {
return io((e => {
Fo("cls", {metric: e}), Oo = e
}), {reportAllChanges: !0})
}
function Vo() {
return ((e, t = {}) => {
no((() => {
const n = to(), r = Ki("FID");
let a;
const i = e => {
e.startTime < n.firstHiddenTime && (r.value = e.processingStart - e.startTime, r.entries.push(e), a(!0))
}, o = e => {
e.forEach(i)
}, s = Yi("first-input", o);
a = qi(e, r, oo, t.reportAllChanges), s && Qi(Zi((() => {
o(s.takeRecords()), s.disconnect()
})))
}))
})((e => {
Fo("fid", {metric: e}), Po = e
}))
}
function Uo() {
return ((e, t = {}) => {
no((() => {
const n = to(), r = Ki("LCP");
let a;
const i = e => {
t.reportAllChanges || (e = e.slice(-1)), e.forEach((e => {
e.startTime < n.firstHiddenTime && (r.value = Math.max(e.startTime - Hi(), 0), r.entries = [e], a())
}))
}, o = Yi("largest-contentful-paint", i);
if (o) {
a = qi(e, r, wo, t.reportAllChanges);
const n = Zi((() => {
ko[r.id] || (i(o.takeRecords()), o.disconnect(), ko[r.id] = !0, a(!0))
}));
["keydown", "click"].forEach((e => {
Ui.document && addEventListener(e, (() => yo(n)), {once: !0, capture: !0})
})), Qi(n)
}
}))
})((e => {
Fo("lcp", {metric: e}), Ao = e
}), {reportAllChanges: !0})
}
function Bo() {
return ((e, t = {}) => {
const n = Ki("TTFB"), r = qi(e, n, So, t.reportAllChanges);
Eo((() => {
const e = Wi();
e && (n.value = Math.max(e.responseStart - Hi(), 0), n.entries = [e], r(!0))
}))
})((e => {
Fo("ttfb", {metric: e}), To = e
}))
}
function Go() {
return xo((e => {
Fo("inp", {metric: e}), Do = e
}))
}
function $o(e, t, n, r, a = !1) {
let i;
return qo(e, t), Co[e] || (i = n(), Co[e] = !0), r && t({metric: r}), Wo(e, t, a ? i : void 0)
}
function qo(e, t) {
Io[e] = Io[e] || [], Io[e].push(t)
}
function Wo(e, t, n) {
return () => {
n && n();
const r = Io[e];
if (!r) return;
const a = r.indexOf(t);
-1 !== a && r.splice(a, 1)
}
}
function Ho(e) {
if ("boolean" === typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = e || fi()?.getOptions();
return !!t && (null != t.tracesSampleRate || !!t.tracesSampler)
}
function Ko(e) {
if ("boolean" === typeof e) return Number(e);
const t = "string" === typeof e ? parseFloat(e) : e;
return "number" !== typeof t || isNaN(t) || t < 0 || t > 1 ? void 0 : t
}
const Yo = "sentry-", Qo = /^sentry-/;
function Zo(e) {
const t = function (e) {
if (!e || !ei(e) && !Array.isArray(e)) return;
if (Array.isArray(e)) return e.reduce(((e, t) => {
const n = Xo(t);
return Object.entries(n).forEach((([t, n]) => {
e[t] = n
})), e
}), {});
return Xo(e)
}(e);
if (!t) return;
const n = Object.entries(t).reduce(((e, [t, n]) => {
if (t.match(Qo)) {
e[t.slice(Yo.length)] = n
}
return e
}), {});
return Object.keys(n).length > 0 ? n : void 0
}
function Xo(e) {
return e.split(",").map((e => e.split("=").map((e => {
try {
return decodeURIComponent(e.trim())
} catch {
return
}
})))).reduce(((e, [t, n]) => (t && n && (e[t] = n), e)), {})
}
const Jo = "_sentryScope", es = "_sentryIsolationScope";
function ts(e) {
return {scope: e[Jo], isolationScope: e[es]}
}
const ns = "_frozenDsc";
function rs(e, t) {
Ka(e, ns, t)
}
function as(e, t) {
const n = t.getOptions(), {publicKey: r} = t.getDsn() || {},
a = {environment: n.environment || "production", release: n.release, public_key: r, trace_id: e};
return t.emit("createDsc", a), a
}
function is(e) {
const t = fi();
if (!t) return {};
const n = Li(e), r = Oi(n), a = r.data, i = n.spanContext().traceState,
o = i?.get("sentry.sample_rate") ?? a[gi] ?? a["sentry.previous_trace_sample_rate"];
function s(e) {
return "number" !== typeof o && "string" !== typeof o || (e.sample_rate = `${o}`), e
}
const l = n[ns];
if (l) return s(l);
const c = i?.get("sentry.dsc"), u = c && Zo(c);
if (u) return s(u);
const d = as(e.spanContext().traceId, t), p = a[mi], h = r.description;
return "url" !== p && h && (d.transaction = h), Ho() && (d.sampled = String(Pi(n)), d.sample_rand = i?.get("sentry.sample_rand") ?? ts(n).scope?.getPropagationContext().sampleRand.toString()), s(d), t.emit("createDsc", d, n), d
}
class os {
constructor(e = {}) {
this._traceId = e.traceId || ni(), this._spanId = e.spanId || ri()
}
spanContext() {
return {spanId: this._spanId, traceId: this._traceId, traceFlags: 0}
}
end(e) {
}
setAttribute(e, t) {
return this
}
setAttributes(e) {
return this
}
setStatus(e) {
return this
}
updateName(e) {
return this
}
isRecording() {
return !1
}
addEvent(e, t, n) {
return this
}
addLink(e) {
return this
}
addLinks(e) {
return this
}
recordException(e, t) {
}
}
function ss(e, t = !1) {
const {host: n, path: r, pass: a, port: i, projectId: o, protocol: s, publicKey: l} = e;
return `${s}://${l}${t && a ? `:${a}` : ""}@${n}${i ? `:${i}` : ""}/${r ? `${r}/` : r}${o}`
}
function ls(e) {
return [{type: "span"}, e]
}
function cs(e, t) {
const n = is(e[0]), r = t?.getDsn(), a = t?.getOptions().tunnel, i = {
sent_at: (new Date).toISOString(), ...function (e) {
return !!e.trace_id && !!e.public_key
}(n) && {trace: n}, ...!!a && r && {dsn: ss(r)}
}, o = t?.getOptions().beforeSendSpan, s = o ? e => {
const t = Oi(e), n = o(t);
return n || (ki || (qa((() => {
console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")
})), ki = !0), t)
} : Oi, l = [];
for (const c of e) {
const e = s(c);
e && l.push(ls(e))
}
return function (e, t = []) {
return [e, t]
}(i, l)
}
class us {
constructor(e = {}) {
this._traceId = e.traceId || ni(), this._spanId = e.spanId || ri(), this._startTime = e.startTimestamp || Da(), this._links = e.links, this._attributes = {}, this.setAttributes({
[_i]: "manual",
[vi]: e.op, ...e.attributes
}), this._name = e.name, e.parentSpanId && (this._parentSpanId = e.parentSpanId), "sampled" in e && (this._sampled = e.sampled), e.endTimestamp && (this._endTime = e.endTimestamp), this._events = [], this._isStandaloneSpan = e.isStandalone, this._endTime && this._onSpanEnded()
}
addLink(e) {
return this._links ? this._links.push(e) : this._links = [e], this
}
addLinks(e) {
return this._links ? this._links.push(...e) : this._links = e, this
}
recordException(e, t) {
}
spanContext() {
const {_spanId: e, _traceId: t, _sampled: n} = this;
return {spanId: e, traceId: t, traceFlags: n ? 1 : 0}
}
setAttribute(e, t) {
return void 0 === t ? delete this._attributes[e] : this._attributes[e] = t, this
}
setAttributes(e) {
return Object.keys(e).forEach((t => this.setAttribute(t, e[t]))), this
}
updateStartTime(e) {
this._startTime = Ii(e)
}
setStatus(e) {
return this._status = e, this
}
updateName(e) {
return this._name = e, this.setAttribute(mi, "custom"), this
}
end(e) {
this._endTime || (this._endTime = Ii(e), function (e) {
if (!Ba) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >"
} = Oi(e), {spanId: r} = e.spanContext(),
a = `[Tracing] Finishing "${n}" ${Li(e) === e ? "root " : ""}span "${t}" with ID ${r}`;
Wa.log(a)
}(this), this._onSpanEnded())
}
getSpanJSON() {
return {
data: this._attributes,
description: this._name,
op: this._attributes[vi],
parent_span_id: this._parentSpanId,
span_id: this._spanId,
start_timestamp: this._startTime,
status: Ai(this._status),
timestamp: this._endTime,
trace_id: this._traceId,
origin: this._attributes[_i],
profile_id: this._attributes["sentry.profile_id"],
exclusive_time: this._attributes[wi],
measurements: Vi(this._events),
is_segment: this._isStandaloneSpan && Li(this) === this || void 0,
segment_id: this._isStandaloneSpan ? Li(this).spanContext().spanId : void 0,
links: Ei(this._links)
}
}
isRecording() {
return !this._endTime && !!this._sampled
}
addEvent(e, t, n) {
Ba && Wa.log("[Tracing] Adding an event to span:", e);
const r = ds(t) ? t : n || Da(), a = ds(t) ? {} : t || {}, i = {name: e, time: Ii(r), attributes: a};
return this._events.push(i), this
}
isStandaloneSpan() {
return !!this._isStandaloneSpan
}
_onSpanEnded() {
const e = fi();
e && e.emit("spanEnd", this);
if (!(this._isStandaloneSpan || this === Li(this))) return;
if (this._isStandaloneSpan) return void (this._sampled ? function (e) {
const t = fi();
if (!t) return;
const n = e[1];
if (!n || 0 === n.length) return void t.recordDroppedEvent("before_send", "span");
t.sendEnvelope(e)
}(cs([this], e)) : (Ba && Wa.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."), e && e.recordDroppedEvent("sample_rate", "span")));
const t = this._convertSpanToTransaction();
if (t) {
(ts(this).scope || pi()).captureEvent(t)
}
}
_convertSpanToTransaction() {
if (!ps(Oi(this))) return;
this._name || (Ba && Wa.warn("Transaction has no name, falling back to `<unlabeled transaction>`."), this._name = "<unlabeled transaction>");
const {scope: e, isolationScope: t} = ts(this);
if (!0 !== this._sampled) return;
const n = function (e) {
const t = new Set;
return function e(n) {
if (!t.has(n) && Pi(n)) {
t.add(n);
const r = n[Ti] ? Array.from(n[Ti]) : [];
for (const t of r) e(t)
}
}(e), Array.from(t)
}(this).filter((e => e !== this && !function (e) {
return e instanceof us && e.isStandaloneSpan()
}(e))).map((e => Oi(e))).filter(ps), r = this._attributes[mi];
delete this._attributes[xi], n.forEach((e => {
delete e.data[xi]
}));
const a = {
contexts: {trace: Si(this)},
spans: n.length > 1e3 ? n.sort(((e, t) => e.start_timestamp - t.start_timestamp)).slice(0, 1e3) : n,
start_timestamp: this._startTime,
timestamp: this._endTime,
transaction: this._name,
type: "transaction",
sdkProcessingMetadata: {
capturedSpanScope: e,
capturedSpanIsolationScope: t,
dynamicSamplingContext: is(this)
}, ...r && {transaction_info: {source: r}}
}, i = Vi(this._events);
return i && Object.keys(i).length && (Ba && Wa.log("[Measurements] Adding measurements to transaction event", JSON.stringify(i, void 0, 2)), a.measurements = i), a
}
}
function ds(e) {
return e && "number" === typeof e || e instanceof Date || Array.isArray(e)
}
function ps(e) {
return !!e.start_timestamp && !!e.timestamp && !!e.span_id && !!e.trace_id
}
const hs = "__SENTRY_SUPPRESS_TRACING__";
function fs(e) {
const t = _s();
if (t.startInactiveSpan) return t.startInactiveSpan(e);
const n = vs(e), {forceTransaction: r, parentSpan: a} = e;
return (e.scope ? t => hi(e.scope, t) : void 0 !== a ? e => ms(a, e) : e => e())((() => {
const t = pi(), a = bs(t);
return e.onlyIfParent && !a ? new os : gs({
parentSpan: a,
spanArguments: n,
forceTransaction: r,
scope: t
})
}))
}
function ms(e, t) {
const n = _s();
return n.withActiveSpan ? n.withActiveSpan(e, t) : hi((n => (Qa(n, e || void 0), t(n))))
}
function gs({parentSpan: e, spanArguments: t, forceTransaction: n, scope: r}) {
if (!Ho()) {
const r = new os;
if (n || !e) {
rs(r, {sampled: "false", sample_rate: "0", transaction: t.name, ...is(r)})
}
return r
}
const a = di(Na()).getIsolationScope();
let i;
if (e && !n) i = function (e, t, n) {
const {spanId: r, traceId: a} = e.spanContext(),
i = !t.getScopeData().sdkProcessingMetadata[hs] && Pi(e),
o = i ? new us({...n, parentSpanId: r, traceId: a, sampled: i}) : new os({traceId: a});
Ri(e, o);
const s = fi();
s && (s.emit("spanStart", o), n.endTimestamp && s.emit("spanEnd", o));
return o
}(e, r, t), Ri(e, i); else if (e) {
const n = is(e), {traceId: a, spanId: o} = e.spanContext(), s = Pi(e);
i = ys({traceId: a, parentSpanId: o, ...t}, r, s), rs(i, n)
} else {
const {
traceId: e,
dsc: n,
parentSpanId: o,
sampled: s
} = {...a.getPropagationContext(), ...r.getPropagationContext()};
i = ys({traceId: e, parentSpanId: o, ...t}, r, s), n && rs(i, n)
}
return function (e) {
if (!Ba) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >",
parent_span_id: r
} = Oi(e), {spanId: a} = e.spanContext(), i = Pi(e), o = Li(e), s = o === e,
l = `[Tracing] Starting ${i ? "sampled" : "unsampled"} ${s ? "root " : ""}span`,
c = [`op: ${n}`, `name: ${t}`, `ID: ${a}`];
if (r && c.push(`parent ID: ${r}`), !s) {
const {op: e, description: t} = Oi(o);
c.push(`root ID: ${o.spanContext().spanId}`), e && c.push(`root op: ${e}`), t && c.push(`root description: ${t}`)
}
Wa.log(`${l}\n ${c.join("\n ")}`)
}(i), function (e, t, n) {
e && (Ka(e, es, n), Ka(e, Jo, t))
}(i, r, a), i
}
function vs(e) {
const t = {isStandalone: (e.experimental || {}).standalone, ...e};
if (e.startTime) {
const n = {...t};
return n.startTimestamp = Ii(e.startTime), delete n.startTime, n
}
return t
}
function _s() {
return di(Na())
}
function ys(e, t, n) {
const r = fi(), a = r?.getOptions() || {}, {name: i = ""} = e,
o = {spanAttributes: {...e.attributes}, spanName: i, parentSampled: n};
r?.emit("beforeSampling", o, {decision: !1});
const s = o.parentSampled ?? n, l = o.spanAttributes,
c = t.getPropagationContext(), [u, d, p] = t.getScopeData().sdkProcessingMetadata[hs] ? [!1] : function (e, t, n) {
if (!Ho(e)) return [!1];
let r, a;
"function" === typeof e.tracesSampler ? (a = e.tracesSampler({
...t,
inheritOrSampleWith: e => "number" === typeof t.parentSampleRate ? t.parentSampleRate : "boolean" === typeof t.parentSampled ? Number(t.parentSampled) : e
}), r = !0) : void 0 !== t.parentSampled ? a = t.parentSampled : "undefined" !== typeof e.tracesSampleRate && (a = e.tracesSampleRate, r = !0);
const i = Ko(a);
if (void 0 === i) return Ba && Wa.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(a)} of type ${JSON.stringify(typeof a)}.`), [!1];
if (!i) return Ba && Wa.log("[Tracing] Discarding transaction because " + ("function" === typeof e.tracesSampler ? "tracesSampler returned 0 or false" : "a negative sampling decision was inherited or tracesSampleRate is set to 0")), [!1, i, r];
const o = n < i;
return o || Ba && Wa.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(a)})`), [o, i, r]
}(a, {name: i, parentSampled: s, attributes: l, parentSampleRate: Ko(c.dsc?.sample_rate)}, c.sampleRand),
h = new us({
...e,
attributes: {[mi]: "custom", [gi]: void 0 !== d && p ? d : void 0, ...l},
sampled: u
});
return !u && r && (Ba && Wa.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."), r.recordDroppedEvent("sample_rate", "transaction")), r && r.emit("spanStart", h), h
}
function bs(e) {
const t = Za(e);
if (!t) return;
const n = fi();
return (n ? n.getOptions() : {}).parentSpanIsAlwaysRootSpan ? Li(t) : t
}
function xs(e) {
return "number" === typeof e && isFinite(e)
}
function ws(e, t, n, {...r}) {
const a = Oi(e).start_timestamp;
return a && a > t && "function" === typeof e.updateStartTime && e.updateStartTime(t), ms(e, (() => {
const e = fs({startTime: t, ...r});
return e && e.end(n), e
}))
}
function ks(e) {
const t = fi();
if (!t) return;
const {name: n, transaction: r, attributes: a, startTime: i} = e, {
release: o,
environment: s,
sendDefaultPii: l
} = t.getOptions(), c = t.getIntegrationByName("Replay")?.getReplayId(), u = pi(), d = u.getUser(),
p = void 0 !== d ? d.email || d.id || d.ip_address : void 0;
let h;
try {
h = u.getScopeData().contexts.profile.profile_id
} catch {
}
return fs({
name: n,
attributes: {
release: o,
environment: s,
user: p || void 0,
profile_id: h || void 0,
replay_id: c || void 0,
transaction: r,
"user_agent.original": Ui.navigator?.userAgent,
"client.address": l ? "{{auto}}" : void 0, ...a
},
startTime: i,
experimental: {standalone: !0}
})
}
function Ss() {
return Ui.addEventListener && Ui.performance
}
function Es(e) {
return e / 1e3
}
function Is(e) {
let t = "unknown", n = "unknown", r = "";
for (const a of e) {
if ("/" === a) {
[t, n] = e.split("/");
break
}
if (!isNaN(Number(a))) {
t = "h" === r ? "http" : r, n = e.split(r)[1];
break
}
r += a
}
return r === e && (t = r), {name: t, version: n}
}
function Cs() {
let e, t, n = 0;
if (!function () {
try {
return PerformanceObserver.supportedEntryTypes.includes("layout-shift")
} catch {
return !1
}
}()) return;
let r = !1;
function a() {
r || (r = !0, t && function (e, t, n) {
Bi && Wa.log(`Sending CLS span (${e})`);
const r = Es((La() || 0) + (t?.startTime || 0)), a = pi().getScopeData().transactionName,
i = t ? Mi(t.sources[0]?.node) : "Layout shift", o = {
[_i]: "auto.http.browser.cls",
[vi]: "ui.webvital.cls",
[wi]: t?.duration || 0,
"sentry.pageload.span_id": n
}, s = ks({name: i, transaction: a, attributes: o, startTime: r});
s && (s.addEvent("cls", {[yi]: "", [bi]: e}), s.end(r))
}(n, e, t), i())
}
const i = Ro((({metric: t}) => {
const r = t.entries[t.entries.length - 1];
r && (n = t.value, e = r)
}), !0);
Qi((() => {
a()
})), setTimeout((() => {
const e = fi();
if (!e) return;
const n = e.on("startNavigationSpan", (() => {
a(), n?.()
})), r = ji();
if (r) {
const e = Li(r);
"pageload" === Oi(e).op && (t = e.spanContext().spanId)
}
}), 0)
}
let Os, Ps, As = 0, Ts = {};
function Ds({recordClsStandaloneSpans: e}) {
const t = Ss();
if (t && La()) {
t.mark && Ui.performance.mark("sentry-tracing-init");
const n = jo((({metric: e}) => {
const t = e.entries[e.entries.length - 1];
if (!t) return;
const n = Es(La()), r = Es(t.startTime);
Ts.fid = {value: e.value, unit: "millisecond"}, Ts["mark.fid"] = {value: n + r, unit: "second"}
})), r = Lo((({metric: e}) => {
const t = e.entries[e.entries.length - 1];
t && (Ts.lcp = {value: e.value, unit: "millisecond"}, Os = t)
}), !0), a = function () {
return e = ({metric: e}) => {
e.entries[e.entries.length - 1] && (Ts.ttfb = {value: e.value, unit: "millisecond"})
}, $o("ttfb", e, Bo, To);
var e
}(), i = e ? Cs() : Ro((({metric: e}) => {
const t = e.entries[e.entries.length - 1];
t && (Ts.cls = {value: e.value, unit: ""}, Ps = t)
}), !0);
return () => {
n(), r(), a(), i?.()
}
}
return () => {
}
}
function Rs(e, t) {
const n = Ss(), r = La();
if (!n?.getEntries || !r) return;
const a = Es(r), i = n.getEntries(), {op: o, start_timestamp: s} = Oi(e);
if (i.slice(As).forEach((t => {
const n = Es(t.startTime), r = Es(Math.max(0, t.duration));
if (!("navigation" === o && s && a + n < s)) switch (t.entryType) {
case"navigation":
!function (e, t, n) {
["unloadEvent", "redirect", "domContentLoadedEvent", "loadEvent", "connect"].forEach((r => {
Ls(e, t, r, n)
})), Ls(e, t, "secureConnection", n, "TLS/SSL"), Ls(e, t, "fetch", n, "cache"), Ls(e, t, "domainLookup", n, "DNS"), function (e, t, n) {
const r = n + Es(t.requestStart), a = n + Es(t.responseEnd),
i = n + Es(t.responseStart);
t.responseEnd && (ws(e, r, a, {
op: "browser.request",
name: t.name,
attributes: {[_i]: "auto.ui.browser.metrics"}
}), ws(e, i, a, {
op: "browser.response",
name: t.name,
attributes: {[_i]: "auto.ui.browser.metrics"}
}))
}(e, t, n)
}(e, t, a);
break;
case"mark":
case"paint":
case"measure": {
!function (e, t, n, r, a) {
const i = Wi(!1), o = Es(i ? i.requestStart : 0), s = a + Math.max(n, o), l = a + n,
c = l + r, u = {[_i]: "auto.resource.browser.metrics"};
s !== l && (u["sentry.browser.measure_happened_before_request"] = !0, u["sentry.browser.measure_start_time"] = s);
s <= c && ws(e, s, c, {name: t.name, op: t.entryType, attributes: u})
}(e, t, n, r, a);
const i = to(), o = t.startTime < i.firstHiddenTime;
"first-paint" === t.name && o && (Ts.fp = {
value: t.startTime,
unit: "millisecond"
}), "first-contentful-paint" === t.name && o && (Ts.fcp = {
value: t.startTime,
unit: "millisecond"
});
break
}
case"resource":
!function (e, t, n, r, a, i) {
if ("xmlhttprequest" === t.initiatorType || "fetch" === t.initiatorType) return;
const o = function (e) {
if (!e) return {};
const t = e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!t) return {};
const n = t[6] || "", r = t[8] || "";
return {
host: t[4],
path: t[5],
protocol: t[2],
search: n,
hash: r,
relative: t[5] + n + r
}
}(n), s = {[_i]: "auto.resource.browser.metrics"};
js(s, t, "transferSize", "http.response_transfer_size"), js(s, t, "encodedBodySize", "http.response_content_length"), js(s, t, "decodedBodySize", "http.decoded_response_content_length");
const l = t.deliveryType;
null != l && (s["http.response_delivery_type"] = l);
const c = t.renderBlockingStatus;
c && (s["resource.render_blocking_status"] = c);
o.protocol && (s["url.scheme"] = o.protocol.split(":").pop());
o.host && (s["server.address"] = o.host);
s["url.same_origin"] = n.includes(Ui.location.origin);
const {name: u, version: d} = Is(t.nextHopProtocol);
s["network.protocol.name"] = u, s["network.protocol.version"] = d;
const p = i + r, h = p + a;
ws(e, p, h, {
name: n.replace(Ui.location.origin, ""),
op: t.initiatorType ? `resource.${t.initiatorType}` : "resource.other",
attributes: s
})
}(e, t, t.name, n, r, a)
}
})), As = Math.max(i.length - 1, 0), function (e) {
const t = Ui.navigator;
if (!t) return;
const n = t.connection;
n && (n.effectiveType && e.setAttribute("effectiveConnectionType", n.effectiveType), n.type && e.setAttribute("connectionType", n.type), xs(n.rtt) && (Ts["connection.rtt"] = {
value: n.rtt,
unit: "millisecond"
}));
xs(t.deviceMemory) && e.setAttribute("deviceMemory", `${t.deviceMemory} GB`);
xs(t.hardwareConcurrency) && e.setAttribute("hardwareConcurrency", String(t.hardwareConcurrency))
}(e), "pageload" === o) {
!function (e) {
const t = Wi(!1);
if (!t) return;
const {responseStart: n, requestStart: r} = t;
r <= n && (e["ttfb.requestTime"] = {value: n - r, unit: "millisecond"})
}(Ts);
const n = Ts["mark.fid"];
n && Ts.fid && (ws(e, n.value, n.value + Es(Ts.fid.value), {
name: "first input delay",
op: "ui.action",
attributes: {[_i]: "auto.ui.browser.metrics"}
}), delete Ts["mark.fid"]), "fcp" in Ts && t.recordClsOnPageloadSpan || delete Ts.cls, Object.entries(Ts).forEach((([e, t]) => {
!function (e, t, n, r = ji()) {
const a = r && Li(r);
a && (Ba && Wa.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`), a.addEvent(e, {
[bi]: t,
[yi]: n
}))
}(e, t.value, t.unit)
})), e.setAttribute("performance.timeOrigin", a), e.setAttribute("performance.activationStart", Hi()), function (e) {
Os && (Os.element && e.setAttribute("lcp.element", Mi(Os.element)), Os.id && e.setAttribute("lcp.id", Os.id), Os.url && e.setAttribute("lcp.url", Os.url.trim().slice(0, 200)), null != Os.loadTime && e.setAttribute("lcp.loadTime", Os.loadTime), null != Os.renderTime && e.setAttribute("lcp.renderTime", Os.renderTime), e.setAttribute("lcp.size", Os.size));
Ps?.sources && Ps.sources.forEach(((t, n) => e.setAttribute(`cls.source.${n + 1}`, Mi(t.node))))
}(e)
}
Os = void 0, Ps = void 0, Ts = {}
}
function Ls(e, t, n, r, a = n) {
const i = function (e) {
if ("secureConnection" === e) return "connectEnd";
if ("fetch" === e) return "domainLookupStart";
return `${e}End`
}(n), o = t[i], s = t[`${n}Start`];
s && o && ws(e, r + Es(s), r + Es(o), {
op: `browser.${a}`,
name: t.name,
attributes: {[_i]: "auto.ui.browser.metrics", ..."redirect" === n && null != t.redirectCount ? {"http.redirect_count": t.redirectCount} : {}}
})
}
function js(e, t, n, r) {
const a = t[n];
null != a && a < 2147483647 && (e[r] = a)
}
const Ns = [], Ms = new Map;
function Fs() {
if (Ss() && La()) {
const e = No((({metric: e}) => {
if (void 0 == e.value) return;
const t = e.entries.find((t => t.duration === e.value && zs[t.name]));
if (!t) return;
const {interactionId: n} = t, r = zs[t.name], a = Es(La() + t.startTime), i = Es(e.value), o = ji(),
s = o ? Li(o) : void 0, l = (null != n ? Ms.get(n) : void 0) || s,
c = l ? Oi(l).description : pi().getScopeData().transactionName, u = ks({
name: Mi(t.target),
transaction: c,
attributes: {[_i]: "auto.http.browser.inp", [vi]: `ui.interaction.${r}`, [wi]: t.duration},
startTime: a
});
u && (u.addEvent("inp", {[yi]: "millisecond", [bi]: e.value}), u.end(a + i))
}));
return () => {
e()
}
}
return () => {
}
}
const zs = {
click: "click",
pointerdown: "click",
pointerup: "click",
mousedown: "click",
mouseup: "click",
touchstart: "click",
touchend: "click",
mouseover: "hover",
mouseout: "hover",
mouseenter: "hover",
mouseleave: "hover",
pointerover: "hover",
pointerout: "hover",
pointerenter: "hover",
pointerleave: "hover",
dragstart: "drag",
dragend: "drag",
drag: "drag",
dragenter: "drag",
dragleave: "drag",
dragover: "drag",
drop: "drag",
keydown: "press",
keyup: "press",
keypress: "press",
input: "press"
};
const Vs = {}, Us = {};
function Bs(e, t) {
Vs[e] = Vs[e] || [], Vs[e].push(t)
}
function Gs(e, t) {
if (!Us[e]) {
Us[e] = !0;
try {
t()
} catch (n) {
Ba && Wa.error(`Error while instrumenting ${e}`, n)
}
}
}
function $s(e, t) {
const n = e && Vs[e];
if (n) for (const a of n) try {
a(t)
} catch (r) {
Ba && Wa.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${$i(a)}\nError:`, r)
}
}
const qs = Aa;
function Ws(e) {
return e && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())
}
let Hs;
function Ks(e) {
const t = "history";
Bs(t, e), Gs(t, Ys)
}
function Ys() {
function e(e) {
return function (...t) {
const n = t.length > 2 ? t[2] : void 0;
if (n) {
const r = Hs, a = String(n);
if (Hs = a, r === a) return e.apply(this, t);
$s("history", {from: r, to: a})
}
return e.apply(this, t)
}
}
Ui.addEventListener("popstate", (() => {
const e = Ui.location.href, t = Hs;
if (Hs = e, t === e) return;
$s("history", {from: t, to: e})
})), "history" in qs && qs.history && (Ha(Ui.history, "pushState", e), Ha(Ui.history, "replaceState", e))
}
const Qs = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
var Zs;
function Xs(e) {
return new el((t => {
t(e)
}))
}
function Js(e) {
return new el(((t, n) => {
n(e)
}))
}
!function (e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(Zs || (Zs = {}));
class el {
constructor(e) {
this._state = Zs.PENDING, this._handlers = [], this._runExecutor(e)
}
then(e, t) {
return new el(((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (a) {
r(a)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (a) {
r(a)
} else r(e)
}]), this._executeHandlers()
}))
}
catch(e) {
return this.then((e => e), e)
}
finally(e) {
return new el(((t, n) => {
let r, a;
return this.then((t => {
a = !1, r = t, e && e()
}), (t => {
a = !0, r = t, e && e()
})).then((() => {
a ? n(r) : t(r)
}))
}))
}
_executeHandlers() {
if (this._state === Zs.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach((e => {
e[0] || (this._state === Zs.RESOLVED && e[1](this._value), this._state === Zs.REJECTED && e[2](this._value), e[0] = !0)
}))
}
_runExecutor(e) {
const t = (e, t) => {
this._state === Zs.PENDING && (Ft(t) ? t.then(n, r) : (this._state = e, this._value = t, this._executeHandlers()))
}, n = e => {
t(Zs.RESOLVED, e)
}, r = e => {
t(Zs.REJECTED, e)
};
try {
e(n, r)
} catch (a) {
r(a)
}
}
}
function tl(e, t, n, r = 0) {
return new el(((a, i) => {
const o = e[r];
if (null === t || "function" !== typeof o) a(t); else {
const s = o({...t}, n);
Ct && o.id && null === s && Yt.log(`Event processor "${o.id}" dropped event`), Ft(s) ? s.then((t => tl(e, t, n, r + 1).then(a))).then(null, i) : tl(e, s, n, r + 1).then(a).then(null, i)
}
}))
}
let nl, rl, al;
function il(e) {
const t = kt._sentryDebugIds;
if (!t) return {};
const n = Object.keys(t);
return al && n.length === rl || (rl = n.length, al = n.reduce(((n, r) => {
nl || (nl = {});
const a = nl[r];
if (a) n[a[0]] = a[1]; else {
const a = e(r);
for (let e = a.length - 1; e >= 0; e--) {
const i = a[e]?.filename, o = t[r];
if (i && o) {
n[i] = o, nl[r] = [i, o];
break
}
}
}
return n
}), {})), al
}
function ol(e, t) {
const {fingerprint: n, span: r, breadcrumbs: a, sdkProcessingMetadata: i} = t;
!function (e, t) {
const {extra: n, tags: r, user: a, contexts: i, level: o, transactionName: s} = t;
Object.keys(n).length && (e.extra = {...n, ...e.extra});
Object.keys(r).length && (e.tags = {...r, ...e.tags});
Object.keys(a).length && (e.user = {...a, ...e.user});
Object.keys(i).length && (e.contexts = {...i, ...e.contexts});
o && (e.level = o);
s && "transaction" !== e.type && (e.transaction = s)
}(e, t), r && function (e, t) {
e.contexts = {trace: ur(t), ...e.contexts}, e.sdkProcessingMetadata = {dynamicSamplingContext: Pr(t), ...e.sdkProcessingMetadata};
const n = xr(t), r = fr(n).description;
r && !e.transaction && "transaction" === e.type && (e.transaction = r)
}(e, r), function (e, t) {
e.fingerprint = e.fingerprint ? Array.isArray(e.fingerprint) ? e.fingerprint : [e.fingerprint] : [], t && (e.fingerprint = e.fingerprint.concat(t));
e.fingerprint.length || delete e.fingerprint
}(e, n), function (e, t) {
const n = [...e.breadcrumbs || [], ...t];
e.breadcrumbs = n.length ? n : void 0
}(e, a), function (e, t) {
e.sdkProcessingMetadata = {...e.sdkProcessingMetadata, ...t}
}(e, i)
}
function sl(e, t) {
const {
extra: n,
tags: r,
user: a,
contexts: i,
level: o,
sdkProcessingMetadata: s,
breadcrumbs: l,
fingerprint: c,
eventProcessors: u,
attachments: d,
propagationContext: p,
transactionName: h,
span: f
} = t;
ll(e, "extra", n), ll(e, "tags", r), ll(e, "user", a), ll(e, "contexts", i), e.sdkProcessingMetadata = bn(e.sdkProcessingMetadata, s, 2), o && (e.level = o), h && (e.transactionName = h), f && (e.span = f), l.length && (e.breadcrumbs = [...e.breadcrumbs, ...l]), c.length && (e.fingerprint = [...e.fingerprint, ...c]), u.length && (e.eventProcessors = [...e.eventProcessors, ...u]), d.length && (e.attachments = [...e.attachments, ...d]), e.propagationContext = {...e.propagationContext, ...p}
}
function ll(e, t, n) {
e[t] = bn(e[t], n, 1)
}
function cl(e, t, n, r, a, i) {
const {normalizeDepth: o = 3, normalizeMaxBreadth: s = 1e3} = e,
l = {...t, event_id: t.event_id || n.event_id || ln(), timestamp: t.timestamp || fn()},
c = n.integrations || e.integrations.map((e => e.name));
!function (e, t) {
const {environment: n, release: r, dist: a, maxValueLength: i = 250} = t;
e.environment = e.environment || n || Sr, !e.release && r && (e.release = r);
!e.dist && a && (e.dist = a);
const o = e.request;
o?.url && (o.url = Qt(o.url, i))
}(l, e), function (e, t) {
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t])
}(l, c), a && a.emit("applyFrameMetadata", t), void 0 === t.type && function (e, t) {
const n = il(t);
e.exception?.values?.forEach((e => {
e.stacktrace?.frames?.forEach((e => {
e.filename && (e.debug_id = n[e.filename])
}))
}))
}(l, e.stackParser);
const u = function (e, t) {
if (!t) return e;
const n = e ? e.clone() : new In;
return n.update(t), n
}(r, n.captureContext);
n.mechanism && pn(l, n.mechanism);
const d = a ? a.getEventProcessors() : [], p = It("globalScope", (() => new In)).getScopeData();
if (i) {
sl(p, i.getScopeData())
}
if (u) {
sl(p, u.getScopeData())
}
const h = [...n.attachments || [], ...p.attachments];
h.length && (n.attachments = h), ol(l, p);
return tl([...d, ...p.eventProcessors], l, n).then((e => (e && function (e) {
const t = {};
if (e.exception?.values?.forEach((e => {
e.stacktrace?.frames?.forEach((e => {
e.debug_id && (e.abs_path ? t[e.abs_path] = e.debug_id : e.filename && (t[e.filename] = e.debug_id), delete e.debug_id)
}))
})), 0 === Object.keys(t).length) return;
e.debug_meta = e.debug_meta || {}, e.debug_meta.images = e.debug_meta.images || [];
const n = e.debug_meta.images;
Object.entries(t).forEach((([e, t]) => {
n.push({type: "sourcemap", code_file: e, debug_id: t})
}))
}(e), "number" === typeof o && o > 0 ? function (e, t, n) {
if (!e) return null;
const r = {...e, ...e.breadcrumbs && {breadcrumbs: e.breadcrumbs.map((e => ({...e, ...e.data && {data: Gr(e.data, t, n)}})))}, ...e.user && {user: Gr(e.user, t, n)}, ...e.contexts && {contexts: Gr(e.contexts, t, n)}, ...e.extra && {extra: Gr(e.extra, t, n)}};
e.contexts?.trace && r.contexts && (r.contexts.trace = e.contexts.trace, e.contexts.trace.data && (r.contexts.trace.data = Gr(e.contexts.trace.data, t, n)));
e.spans && (r.spans = e.spans.map((e => ({...e, ...e.data && {data: Gr(e.data, t, n)}}))));
e.contexts?.flags && r.contexts && (r.contexts.flags = Gr(e.contexts.flags, 3, n));
return r
}(e, o, s) : e)))
}
function ul(e) {
if (e) return function (e) {
return e instanceof In || "function" === typeof e
}(e) || function (e) {
return Object.keys(e).some((e => dl.includes(e)))
}(e) ? {captureContext: e} : e
}
const dl = ["user", "level", "extra", "contexts", "tags", "fingerprint", "propagationContext"];
function pl(e, t) {
return Rn().captureException(e, ul(t))
}
function hl(e, t) {
return Rn().captureEvent(e, t)
}
function fl(e) {
const t = Ln(), n = Rn(), {userAgent: r} = kt.navigator || {},
a = _n({user: n.getUser() || t.getUser(), ...r && {userAgent: r}, ...e}), i = t.getSession();
return "ok" === i?.status && yn(i, {status: "exited"}), ml(), t.setSession(a), a
}
function ml() {
const e = Ln(), t = Rn().getSession() || e.getSession();
t && function (e, t) {
let n = {};
t ? n = {status: t} : "ok" === e.status && (n = {status: "exited"}), yn(e, n)
}(t), gl(), e.setSession()
}
function gl() {
const e = Ln(), t = Nn(), n = e.getSession();
n && t && t.captureSession(n)
}
function vl(e = !1) {
e ? ml() : gl()
}
const _l = kt;
let yl = 0;
function bl() {
return yl > 0
}
function xl(e, t = {}) {
if (!function (e) {
return "function" === typeof e
}(e)) return e;
try {
const t = e.__sentry_wrapped__;
if (t) return "function" === typeof t ? t : e;
if (rn(e)) return e
} catch (r) {
return e
}
const n = function (...n) {
try {
const r = n.map((e => xl(e, t)));
return e.apply(this, r)
} catch (Zy) {
throw yl++, setTimeout((() => {
yl--
})), jn((r => {
r.addEventProcessor((e => (t.mechanism && (dn(e, void 0, void 0), pn(e, t.mechanism)), e.extra = {
...e.extra,
arguments: n
}, e))), pl(Zy)
})), Zy
}
};
try {
for (const t in e) Object.prototype.hasOwnProperty.call(e, t) && (n[t] = e[t])
} catch {
}
nn(n, e), tn(e, "__sentry_wrapped__", n);
try {
Object.getOwnPropertyDescriptor(n, "name").configurable && Object.defineProperty(n, "name", {get: () => e.name})
} catch {
}
return n
}
const wl = "sentry_previous_trace", kl = "sentry.previous_trace";
function Sl(e, {linkPreviousTrace: t, consistentTraceSampling: n}) {
const r = "session-storage" === t;
let a = r ? function () {
try {
const e = _l.sessionStorage?.getItem(wl);
return JSON.parse(e)
} catch (e) {
return
}
}() : void 0;
e.on("spanStart", (e => {
if (xr(e) !== e) return;
const t = Rn().getPropagationContext();
a = function (e, t, n) {
const r = fr(t);
function a() {
try {
return Number(n.dsc?.sample_rate) ?? Number(r.data?.[zn])
} catch {
return 0
}
}
const i = {
spanContext: t.spanContext(),
startTimestamp: r.start_timestamp,
sampleRate: a(),
sampleRand: n.sampleRand
};
if (!e) return i;
const o = e.spanContext;
if (o.traceId === r.trace_id) return e;
Date.now() / 1e3 - e.startTimestamp <= 3600 && (Qs && Yt.info(`Adding previous_trace ${o} link to span ${{op: r.op, ...t.spanContext()}}`), t.addLink({
context: o,
attributes: {[Hn]: "previous_trace"}
}), t.setAttribute(kl, `${o.traceId}-${o.spanId}-${El(o) ? 1 : 0}`));
return i
}(a, e, t), r && function (e) {
try {
_l.sessionStorage.setItem(wl, JSON.stringify(e))
} catch (t) {
Qs && Yt.warn("Could not store previous trace in sessionStorage", t)
}
}(a)
}));
let i = !0;
n && e.on("beforeSampling", (e => {
if (!a) return;
const t = Rn(), n = t.getPropagationContext();
i && n.parentSpanId ? i = !1 : (t.setPropagationContext({
...n,
dsc: {...n.dsc, sample_rate: String(a.sampleRate), sampled: String(El(a.spanContext))},
sampleRand: a.sampleRand
}), e.parentSampled = El(a.spanContext), e.parentSampleRate = a.sampleRate, e.spanAttributes = {
...e.spanAttributes,
[Vn]: a.sampleRate
})
}))
}
function El(e) {
return 1 === e.traceFlags
}
const Il = kt;
function Cl() {
if (!("fetch" in Il)) return !1;
try {
return new Headers, new Request("http://www.example.com"), new Response, !0
} catch (e) {
return !1
}
}
function Ol(e) {
return e && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())
}
function Pl(e, t) {
const n = "fetch";
ya(n, e), ba(n, (() => Al(void 0, t)))
}
function Al(e, t = !1) {
t && !function () {
if ("string" === typeof EdgeRuntime) return !0;
if (!Cl()) return !1;
if (Ol(Il.fetch)) return !0;
let e = !1;
const t = Il.document;
if (t && "function" === typeof t.createElement) try {
const n = t.createElement("iframe");
n.hidden = !0, t.head.appendChild(n), n.contentWindow?.fetch && (e = Ol(n.contentWindow.fetch)), t.head.removeChild(n)
} catch (n) {
Ct && Yt.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", n)
}
return e
}() || en(kt, "fetch", (function (t) {
return function (...n) {
const r = new Error, {method: a, url: i} = function (e) {
if (0 === e.length) return {method: "GET", url: ""};
if (2 === e.length) {
const [t, n] = e;
return {url: Rl(t), method: Dl(n, "method") ? String(n.method).toUpperCase() : "GET"}
}
const t = e[0];
return {url: Rl(t), method: Dl(t, "method") ? String(t.method).toUpperCase() : "GET"}
}(n), o = {
args: n,
fetchData: {method: a, url: i},
startTimestamp: 1e3 * mn(),
virtualError: r,
headers: Ll(n)
};
return e || xa("fetch", {...o}), t.apply(kt, n).then((async t => (e ? e(t) : xa("fetch", {
...o,
endTimestamp: 1e3 * mn(),
response: t
}), t)), (e => {
if (xa("fetch", {
...o,
endTimestamp: 1e3 * mn(),
error: e
}), Pt(e) && void 0 === e.stack && (e.stack = r.stack, tn(e, "framesToPop", 1)), e instanceof TypeError && ("Failed to fetch" === e.message || "Load failed" === e.message || "NetworkError when attempting to fetch resource." === e.message)) try {
const t = new URL(o.fetchData.url);
e.message = `${e.message} (${t.host})`
} catch {
}
throw e
}))
}
}))
}
function Tl(e) {
let t;
try {
t = e.clone()
} catch {
return
}
!async function (e, t) {
if (e?.body) {
const r = e.body, a = r.getReader(), i = setTimeout((() => {
r.cancel().then(null, (() => {
}))
}), 9e4);
let o = !0;
for (; o;) {
let e;
try {
e = setTimeout((() => {
r.cancel().then(null, (() => {
}))
}), 5e3);
const {done: n} = await a.read();
clearTimeout(e), n && (t(), o = !1)
} catch (n) {
o = !1
} finally {
clearTimeout(e)
}
}
clearTimeout(i), a.releaseLock(), r.cancel().then(null, (() => {
}))
}
}(t, (() => {
xa("fetch-body-resolved", {endTimestamp: 1e3 * mn(), response: e})
}))
}
function Dl(e, t) {
return !!e && "object" === typeof e && !!e[t]
}
function Rl(e) {
return "string" === typeof e ? e : e ? Dl(e, "url") ? e.url : e.toString ? e.toString() : "" : ""
}
function Ll(e) {
const [t, n] = e;
try {
if ("object" === typeof n && null !== n && "headers" in n && n.headers) return new Headers(n.headers);
if (Ut(t)) return new Headers(t.headers)
} catch {
}
}
function jl(e = {}) {
const t = Nn();
if (!function () {
const e = Nn();
return !1 !== e?.getOptions().enabled && !!e?.getTransport()
}() || !t) return {};
const n = Dn(St());
if (n.getTraceData) return n.getTraceData(e);
const r = Rn(), a = e.span || wr(), i = a ? function (e) {
const {traceId: t, spanId: n} = e.spanContext();
return sr(t, n, mr(e))
}(a) : function (e) {
const {traceId: t, sampled: n, propagationSpanId: r} = e.getPropagationContext();
return sr(t, r, n)
}(r), o = rr(a ? Pr(a) : Or(t, r));
return ir.test(i) ? {
"sentry-trace": i,
baggage: o
} : (Yt.warn("Invalid sentry-trace data. Cannot generate trace data"), {})
}
function Nl(e) {
return "isRelative" in e
}
function Ml(e) {
if (Nl(e)) return e.pathname;
const t = new URL(e);
return t.search = "", t.hash = "", ["80", "443"].includes(t.port) && (t.port = ""), t.password && (t.password = "%filtered%"), t.username && (t.username = "%filtered%"), t.toString()
}
function Fl(e) {
if (!e) return {};
const t = e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!t) return {};
const n = t[6] || "", r = t[8] || "";
return {host: t[4], path: t[5], protocol: t[2], search: n, hash: r, relative: t[5] + n + r}
}
function zl(e, t, n, r, a = "auto.http.browser") {
if (!e.fetchData) return;
const {method: i, url: o} = e.fetchData, s = Kn() && t(o);
if (e.endTimestamp && s) {
const t = e.fetchData.__span;
if (!t) return;
const n = r[t];
return void (n && (!function (e, t) {
if (t.response) {
Yn(e, t.response.status);
const n = t.response?.headers && t.response.headers.get("content-length");
if (n) {
const t = parseInt(n);
t > 0 && e.setAttribute("http.response_content_length", t)
}
} else t.error && e.setStatus({code: 2, message: "internal_error"});
e.end()
}(n, e), delete r[t]))
}
const l = !!wr(), c = s && l ? la(function (e, t, n) {
const r = function (e, t) {
const n = e.indexOf("://") <= 0 && 0 !== e.indexOf("//"), r = t ?? (n ? "thismessage:/" : void 0);
try {
if ("canParse" in URL && !URL.canParse(e, r)) return;
const t = new URL(e, r);
return n ? {isRelative: n, pathname: t.pathname, search: t.search, hash: t.hash} : t
} catch {
}
}(e);
return {name: r ? `${t} ${Ml(r)}` : t, attributes: Ul(e, r, t, n)}
}(o, i, a)) : new Ar;
if (e.fetchData.__span = c.spanContext().spanId, r[c.spanContext().spanId] = c, n(e.fetchData.url)) {
const t = e.args[0], n = e.args[1] || {}, r = function (e, t, n) {
const r = jl({span: n}), a = r["sentry-trace"], i = r.baggage;
if (!a) return;
const o = t.headers || (Ut(e) ? e.headers : void 0);
if (o) {
if (function (e) {
return "undefined" !== typeof Headers && zt(e, Headers)
}(o)) {
const e = new Headers(o);
if (e.get("sentry-trace") || e.set("sentry-trace", a), i) {
const t = e.get("baggage");
t ? Vl(t) || e.set("baggage", `${t},${i}`) : e.set("baggage", i)
}
return e
}
if (Array.isArray(o)) {
const e = [...o];
o.find((e => "sentry-trace" === e[0])) || e.push(["sentry-trace", a]);
const t = o.find((e => "baggage" === e[0] && Vl(e[1])));
return i && !t && e.push(["baggage", i]), e
}
{
const e = "sentry-trace" in o ? o["sentry-trace"] : void 0,
t = "baggage" in o ? o.baggage : void 0, n = t ? Array.isArray(t) ? [...t] : [t] : [],
r = t && (Array.isArray(t) ? t.find((e => Vl(e))) : Vl(t));
return i && !r && n.push(i), {
...o,
"sentry-trace": e ?? a,
baggage: n.length > 0 ? n.join(",") : void 0
}
}
}
return {...r}
}(t, n, Kn() && l ? c : void 0);
r && (e.args[1] = n, n.headers = r)
}
const u = Nn();
if (u) {
const t = {
input: e.args,
response: e.response,
startTimestamp: e.startTimestamp,
endTimestamp: e.endTimestamp
};
u.emit("beforeOutgoingRequestSpan", c, t)
}
return c
}
function Vl(e) {
return e.split(",").some((e => e.trim().startsWith(er)))
}
function Ul(e, t, n, r) {
const a = {url: e, type: "fetch", "http.method": n, [Bn]: r, [Un]: "http.client"};
return t && (Nl(t) || (a["http.url"] = t.href, a["server.address"] = t.host), t.search && (a["http.query"] = t.search), t.hash && (a["http.fragment"] = t.hash)), a
}
const Bl = "__sentry_xhr_v3__";
function Gl(e) {
Bs("xhr", e), Gs("xhr", $l)
}
function $l() {
if (!Ui.XMLHttpRequest) return;
const e = XMLHttpRequest.prototype;
e.open = new Proxy(e.open, {
apply(e, t, n) {
const r = new Error, a = 1e3 * Da(), i = ei(n[0]) ? n[0].toUpperCase() : void 0, o = function (e) {
if (ei(e)) return e;
try {
return e.toString()
} catch {
}
return
}(n[1]);
if (!i || !o) return e.apply(t, n);
t[Bl] = {
method: i,
url: o,
request_headers: {}
}, "POST" === i && o.match(/sentry_key/) && (t.__sentry_own_request__ = !0);
const s = () => {
const e = t[Bl];
if (e && 4 === t.readyState) {
try {
e.status_code = t.status
} catch (n) {
}
$s("xhr", {endTimestamp: 1e3 * Da(), startTimestamp: a, xhr: t, virtualError: r})
}
};
return "onreadystatechange" in t && "function" === typeof t.onreadystatechange ? t.onreadystatechange = new Proxy(t.onreadystatechange, {apply: (e, t, n) => (s(), e.apply(t, n))}) : t.addEventListener("readystatechange", s), t.setRequestHeader = new Proxy(t.setRequestHeader, {
apply(e, t, n) {
const [r, a] = n, i = t[Bl];
return i && ei(r) && ei(a) && (i.request_headers[r.toLowerCase()] = a), e.apply(t, n)
}
}), e.apply(t, n)
}
}), e.send = new Proxy(e.send, {
apply(e, t, n) {
const r = t[Bl];
if (!r) return e.apply(t, n);
void 0 !== n[0] && (r.body = n[0]);
return $s("xhr", {startTimestamp: 1e3 * Da(), xhr: t}), e.apply(t, n)
}
})
}
const ql = new WeakMap, Wl = new Map,
Hl = {traceFetch: !0, traceXHR: !0, enableHTTPTimings: !0, trackFetchStreamPerformance: !1};
function Kl(e, t) {
const {
traceFetch: n,
traceXHR: r,
trackFetchStreamPerformance: a,
shouldCreateSpanForRequest: i,
enableHTTPTimings: o,
tracePropagationTargets: s,
onRequestSpanStart: l
} = {...Hl, ...t}, c = "function" === typeof i ? i : e => !0, u = e => function (e, t) {
const n = qt();
if (n) {
let a, i;
try {
a = new URL(e, n), i = new URL(n).origin
} catch (r) {
return !1
}
const o = a.origin === i;
return t ? Jt(a.toString(), t) || o && Jt(a.pathname, t) : o
}
{
const n = !!e.match(/^\/(?!\/)/);
return t ? Jt(e, t) : n
}
}(e, s), d = {};
n && (e.addEventProcessor((e => ("transaction" === e.type && e.spans && e.spans.forEach((e => {
if ("http.client" === e.op) {
const t = Wl.get(e.span_id);
t && (e.timestamp = t / 1e3, Wl.delete(e.span_id))
}
})), e))), a && function (e) {
const t = "fetch-body-resolved";
ya(t, e), ba(t, (() => Al(Tl)))
}((e => {
if (e.response) {
const t = ql.get(e.response);
t && e.endTimestamp && Wl.set(t, e.endTimestamp)
}
})), Pl((e => {
const t = zl(e, c, u, d);
if (e.response && e.fetchData.__span && ql.set(e.response, e.fetchData.__span), t) {
const n = Zl(e.fetchData.url), r = n ? Fl(n).host : void 0;
t.setAttributes({"http.url": n, "server.address": r}), o && Yl(t), l?.(t, {headers: e.headers})
}
}))), r && Gl((e => {
const t = function (e, t, n, r) {
const a = e.xhr, i = a?.[Bl];
if (!a || a.__sentry_own_request__ || !i) return;
const {url: o, method: s} = i, l = Kn() && t(o);
if (e.endTimestamp && l) {
const e = a.__sentry_xhr_span_id__;
if (!e) return;
const t = r[e];
return void (t && void 0 !== i.status_code && (Yn(t, i.status_code), t.end(), delete r[e]))
}
const c = Zl(o), u = Fl(c || o), d = (f = o, f.split(/[?#]/, 1)[0]), p = !!wr(), h = l && p ? la({
name: `${s} ${d}`,
attributes: {
url: o,
type: "xhr",
"http.method": s,
"http.url": c,
"server.address": u?.host,
[Bn]: "auto.http.browser",
[Un]: "http.client", ...u?.search && {"http.query": u?.search}, ...u?.hash && {"http.fragment": u?.hash}
}
}) : new Ar;
var f;
a.__sentry_xhr_span_id__ = h.spanContext().spanId, r[a.__sentry_xhr_span_id__] = h, n(o) && function (e, t) {
const {"sentry-trace": n, baggage: r} = jl({span: t});
n && function (e, t, n) {
const r = e.__sentry_xhr_v3__?.request_headers;
if (r?.["sentry-trace"]) return;
try {
if (e.setRequestHeader("sentry-trace", t), n) {
const t = r?.baggage;
t && t.split(",").some((e => e.trim().startsWith("sentry-"))) || e.setRequestHeader("baggage", n)
}
} catch (xz) {
}
}(e, n, r)
}(a, Kn() && p ? h : void 0);
const m = Nn();
m && m.emit("beforeOutgoingRequestSpan", h, e);
return h
}(e, c, u, d);
if (t) {
let n;
o && Yl(t);
try {
n = new Headers(e.xhr.__sentry_xhr_v3__?.request_headers)
} catch {
}
l?.(t, {headers: n})
}
}))
}
function Yl(e) {
const {url: t} = fr(e).data;
if (!t || "string" !== typeof t) return;
const n = Mo("resource", (({entries: r}) => {
r.forEach((r => {
if (function (e) {
return "resource" === e.entryType && "initiatorType" in e && "string" === typeof e.nextHopProtocol && ("fetch" === e.initiatorType || "xmlhttprequest" === e.initiatorType)
}(r) && r.name.endsWith(t)) {
(function (e) {
const {name: t, version: n} = Is(e.nextHopProtocol), r = [];
if (r.push(["network.protocol.version", n], ["network.protocol.name", t]), !vn()) return r;
return [...r, ["http.request.redirect_start", Ql(e.redirectStart)], ["http.request.fetch_start", Ql(e.fetchStart)], ["http.request.domain_lookup_start", Ql(e.domainLookupStart)], ["http.request.domain_lookup_end", Ql(e.domainLookupEnd)], ["http.request.connect_start", Ql(e.connectStart)], ["http.request.secure_connection_start", Ql(e.secureConnectionStart)], ["http.request.connection_end", Ql(e.connectEnd)], ["http.request.request_start", Ql(e.requestStart)], ["http.request.response_start", Ql(e.responseStart)], ["http.request.response_end", Ql(e.responseEnd)]]
})(r).forEach((t => e.setAttribute(...t))), setTimeout(n)
}
}))
}))
}
function Ql(e = 0) {
return ((vn() || performance.timeOrigin) + e) / 1e3
}
function Zl(e) {
try {
return new URL(e, _l.location.origin).href
} catch {
return
}
}
const Xl = {
...ma,
instrumentNavigation: !0,
instrumentPageLoad: !0,
markBackgroundSpan: !0,
enableLongTask: !0,
enableLongAnimationFrame: !0,
enableInp: !0,
linkPreviousTrace: "in-memory",
consistentTraceSampling: !1,
_experiments: {}, ...Hl
};
let Jl = !1;
function ec(e) {
const t = _l.document?.querySelector(`meta[name=${e}]`);
return t?.getAttribute("content") || void 0
}
const tc = "_sentry_idleSpan";
function nc(e) {
return e[tc]
}
function rc(e, t) {
tn(e, tc, t)
}
const ac = globalThis, ic = Object.prototype.toString;
function oc(e, t) {
return ic.call(e) === `[object ${t}]`
}
function sc(e) {
return oc(e, "String")
}
function lc(e) {
return oc(e, "Object")
}
function cc(e) {
return Boolean(e?.then && "function" === typeof e.then)
}
function uc(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
const dc = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__, pc = ac;
function hc(e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5, a = [];
let i = 0, o = 0;
const s = " > ", l = s.length;
let c;
const u = Array.isArray(t) ? t : t.keyAttrs, d = !Array.isArray(t) && t.maxStringLength || 80;
for (; n && i++ < r && (c = fc(n, u), !("html" === c || i > 1 && o + a.length * l + c.length >= d));) a.push(c), o += c.length, n = n.parentNode;
return a.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}
function fc(e, t) {
const n = e, r = [];
if (!n?.tagName) return "";
if (pc.HTMLElement && n instanceof HTMLElement && n.dataset) {
if (n.dataset.sentryComponent) return n.dataset.sentryComponent;
if (n.dataset.sentryElement) return n.dataset.sentryElement
}
r.push(n.tagName.toLowerCase());
const a = t?.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (a?.length) a.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
})); else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && sc(e)) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const i = ["aria-label", "type", "name", "title", "alt"];
for (const o of i) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
function mc() {
try {
return pc.document.location.href
} catch (_w) {
return ""
}
}
const gc = "9.18.0";
function vc() {
return _c(ac), ac
}
function _c(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || gc, t[gc] = t[gc] || {}
}
function yc(e, t, n = ac) {
const r = n.__SENTRY__ = n.__SENTRY__ || {}, a = r[gc] = r[gc] || {};
return a[e] || (a[e] = t())
}
const bc = ["debug", "info", "warn", "error", "log", "assert", "trace"], xc = {};
function wc(e) {
if (!("console" in ac)) return e();
const t = ac.console, n = {}, r = Object.keys(xc);
r.forEach((e => {
const r = xc[e];
n[e] = t[e], t[e] = r
}));
try {
return e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}
const kc = yc("logger", (function () {
let e = !1;
const t = {
enable: () => {
e = !0
}, disable: () => {
e = !1
}, isEnabled: () => e
};
return dc ? bc.forEach((n => {
t[n] = (...t) => {
e && wc((() => {
ac.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : bc.forEach((e => {
t[e] = () => {
}
})), t
}));
function Sc(e, t, n) {
if (!(t in e)) return;
const r = e[t];
if ("function" !== typeof r) return;
const a = n(r);
"function" === typeof a && function (e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, Ec(e, "__sentry_original__", t)
} catch (n) {
}
}(a, r);
try {
e[t] = a
} catch {
dc && kc.log(`Failed to replace method "${t}" in object`, e)
}
}
function Ec(e, t, n) {
try {
Object.defineProperty(e, t, {value: n, writable: !0, configurable: !0})
} catch (r) {
dc && kc.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function Ic(e) {
if (function (e) {
switch (ic.call(e)) {
case"[object Error]":
case"[object Exception]":
case"[object DOMException]":
case"[object WebAssembly.Exception]":
return !0;
default:
return uc(e, Error)
}
}(e)) return {message: e.message, name: e.name, stack: e.stack, ...Oc(e)};
if (t = e, "undefined" !== typeof Event && uc(t, Event)) {
const t = {type: e.type, target: Cc(e.target), currentTarget: Cc(e.currentTarget), ...Oc(e)};
return "undefined" !== typeof CustomEvent && uc(e, CustomEvent) && (t.detail = e.detail), t
}
return e;
var t
}
function Cc(e) {
try {
return t = e, "undefined" !== typeof Element && uc(t, Element) ? hc(e) : Object.prototype.toString.call(e)
} catch (n) {
return "<unknown>"
}
var t
}
function Oc(e) {
if ("object" === typeof e && null !== e) {
const t = {};
for (const n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t
}
return {}
}
const Pc = "<anonymous>";
function Ac(e, t = 100, n = 1 / 0) {
try {
return Tc("", e, t, n)
} catch (r) {
return {ERROR: `**non-serializable** (${r})`}
}
}
function Tc(e, t, n = 1 / 0, r = 1 / 0, a = function () {
const e = new WeakSet;
function t(t) {
return !!e.has(t) || (e.add(t), !1)
}
function n(t) {
e.delete(t)
}
return [t, n]
}()) {
const [i, o] = a;
if (null == t || ["boolean", "string"].includes(typeof t) || "number" === typeof t && Number.isFinite(t)) return t;
const s = function (e, t) {
try {
if ("domain" === e && t && "object" === typeof t && t._events) return "[Domain]";
if ("domainEmitter" === e) return "[DomainEmitter]";
if ("undefined" !== typeof global && t === global) return "[Global]";
if ("undefined" !== typeof window && t === window) return "[Window]";
if ("undefined" !== typeof document && t === document) return "[Document]";
if ("object" === typeof (n = t) && null !== n && (n.__isVue || n._isVue)) return "[VueViewModel]";
if (function (e) {
return lc(e) && "nativeEvent" in e && "preventDefault" in e && "stopPropagation" in e
}(t)) return "[SyntheticEvent]";
if ("number" === typeof t && !Number.isFinite(t)) return `[${t}]`;
if ("function" === typeof t) return `[Function: ${function (e) {
try {
return e && "function" === typeof e && e.name || Pc
} catch (t) {
return Pc
}
}(t)}]`;
if ("symbol" === typeof t) return `[${String(t)}]`;
if ("bigint" === typeof t) return `[BigInt: ${String(t)}]`;
const r = function (e) {
const t = Object.getPrototypeOf(e);
return t?.constructor ? t.constructor.name : "null prototype"
}(t);
return /^HTML(\w*)Element$/.test(r) ? `[HTMLElement: ${r}]` : `[object ${r}]`
} catch (r) {
return `**non-serializable** (${r})`
}
var n
}(e, t);
if (!s.startsWith("[object ")) return s;
if (t.__sentry_skip_normalization__) return t;
const l = "number" === typeof t.__sentry_override_normalization_depth__ ? t.__sentry_override_normalization_depth__ : n;
if (0 === l) return s.replace("object ", "");
if (i(t)) return "[Circular ~]";
const c = t;
if (c && "function" === typeof c.toJSON) try {
return Tc("", c.toJSON(), l - 1, r, a)
} catch (h) {
}
const u = Array.isArray(t) ? [] : {};
let d = 0;
const p = Ic(t);
for (const f in p) {
if (!Object.prototype.hasOwnProperty.call(p, f)) continue;
if (d >= r) {
u[f] = "[MaxProperties ~]";
break
}
const e = p[f];
u[f] = Tc(f, e, l - 1, r, a), d++
}
return o(t), u
}
function Dc() {
return Date.now() / 1e3
}
const Rc = function () {
const {performance: e} = ac;
if (!e?.now) return Dc;
const t = Date.now() - e.now(), n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
let Lc;
function jc() {
return Lc || (Lc = function () {
const {performance: e} = ac;
if (!e?.now) return [void 0, "none"];
const t = 36e5, n = e.now(), r = Date.now(), a = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
i = a < t, o = e.timing?.navigationStart, s = "number" === typeof o ? Math.abs(o + n - r) : t;
return i || s < t ? a <= s ? [e.timeOrigin, "timeOrigin"] : [o, "navigationStart"] : [r, "dateNow"]
}()), Lc[0]
}
function Nc(e = function () {
const e = ac;
return e.crypto || e.msCrypto
}()) {
let t = () => 16 * Math.random();
try {
if (e?.randomUUID) return e.randomUUID().replace(/-/g, "");
e?.getRandomValues && (t = () => {
const t = new Uint8Array(1);
return e.getRandomValues(t), t[0]
})
} catch (xz) {
}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & t()) >> e / 4).toString(16)))
}
function Mc(e) {
return e.exception?.values?.[0]
}
function Fc(e, t = {}) {
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), e.did || t.did || (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || Rc(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = 32 === t.sid.length ? t.sid : Nc()), void 0 !== t.init && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), "number" === typeof t.started && (e.started = t.started), e.ignoreDuration) e.duration = void 0; else if ("number" === typeof t.duration) e.duration = t.duration; else {
const t = e.timestamp - e.started;
e.duration = t >= 0 ? t : 0
}
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), "number" === typeof t.errors && (e.errors = t.errors), t.status && (e.status = t.status)
}
function zc(e, t, n = 2) {
if (!t || "object" !== typeof t || n <= 0) return t;
if (e && 0 === Object.keys(t).length) return e;
const r = {...e};
for (const a in t) Object.prototype.hasOwnProperty.call(t, a) && (r[a] = zc(r[a], t[a], n - 1));
return r
}
const Vc = "_sentrySpan";
function Uc(e, t) {
t ? Ec(e, Vc, t) : delete e[Vc]
}
function Bc(e) {
return e[Vc]
}
function Gc() {
return Nc()
}
function $c(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0, t)}...`
}
function qc(e, t, n = !1) {
return !!sc(e) && (oc(t, "RegExp") ? t.test(e) : !!sc(t) && (n ? e === t : e.includes(t)))
}
class Wc {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = {
traceId: Gc(),
sampleRand: Math.random()
}
}
clone() {
const e = new Wc;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {...this._tags}, e._extra = {...this._extra}, e._contexts = {...this._contexts}, this._contexts.flags && (e._contexts.flags = {values: [...this._contexts.flags.values]}), e._user = this._user, e._level = this._level, e._session = this._session, e._transactionName = this._transactionName, e._fingerprint = this._fingerprint, e._eventProcessors = [...this._eventProcessors], e._attachments = [...this._attachments], e._sdkProcessingMetadata = {...this._sdkProcessingMetadata}, e._propagationContext = {...this._propagationContext}, e._client = this._client, e._lastEventId = this._lastEventId, Uc(e, Bc(this)), e
}
setClient(e) {
this._client = e
}
setLastEventId(e) {
this._lastEventId = e
}
getClient() {
return this._client
}
lastEventId() {
return this._lastEventId
}
addScopeListener(e) {
this._scopeListeners.push(e)
}
addEventProcessor(e) {
return this._eventProcessors.push(e), this
}
setUser(e) {
return this._user = e || {
email: void 0,
id: void 0,
ip_address: void 0,
username: void 0
}, this._session && Fc(this._session, {user: e}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
setTags(e) {
return this._tags = {...this._tags, ...e}, this._notifyScopeListeners(), this
}
setTag(e, t) {
return this._tags = {...this._tags, [e]: t}, this._notifyScopeListeners(), this
}
setExtras(e) {
return this._extra = {...this._extra, ...e}, this._notifyScopeListeners(), this
}
setExtra(e, t) {
return this._extra = {...this._extra, [e]: t}, this._notifyScopeListeners(), this
}
setFingerprint(e) {
return this._fingerprint = e, this._notifyScopeListeners(), this
}
setLevel(e) {
return this._level = e, this._notifyScopeListeners(), this
}
setTransactionName(e) {
return this._transactionName = e, this._notifyScopeListeners(), this
}
setContext(e, t) {
return null === t ? delete this._contexts[e] : this._contexts[e] = t, this._notifyScopeListeners(), this
}
setSession(e) {
return e ? this._session = e : delete this._session, this._notifyScopeListeners(), this
}
getSession() {
return this._session
}
update(e) {
if (!e) return this;
const t = "function" === typeof e ? e(this) : e,
n = t instanceof Wc ? t.getScopeData() : lc(t) ? e : void 0, {
tags: r,
extra: a,
user: i,
contexts: o,
level: s,
fingerprint: l = [],
propagationContext: c
} = n || {};
return this._tags = {...this._tags, ...r}, this._extra = {...this._extra, ...a}, this._contexts = {...this._contexts, ...o}, i && Object.keys(i).length && (this._user = i), s && (this._level = s), l.length && (this._fingerprint = l), c && (this._propagationContext = c), this
}
clear() {
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._session = void 0, Uc(this, void 0), this._attachments = [], this.setPropagationContext({
traceId: Gc(),
sampleRand: Math.random()
}), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {timestamp: Dc(), ...e, message: e.message ? $c(e.message, 2048) : e.message};
return this._breadcrumbs.push(r), this._breadcrumbs.length > n && (this._breadcrumbs = this._breadcrumbs.slice(-n), this._client?.recordDroppedEvent("buffer_overflow", "log_item")), this._notifyScopeListeners(), this
}
getLastBreadcrumb() {
return this._breadcrumbs[this._breadcrumbs.length - 1]
}
clearBreadcrumbs() {
return this._breadcrumbs = [], this._notifyScopeListeners(), this
}
addAttachment(e) {
return this._attachments.push(e), this
}
clearAttachments() {
return this._attachments = [], this
}
getScopeData() {
return {
breadcrumbs: this._breadcrumbs,
attachments: this._attachments,
contexts: this._contexts,
tags: this._tags,
extra: this._extra,
user: this._user,
level: this._level,
fingerprint: this._fingerprint || [],
eventProcessors: this._eventProcessors,
propagationContext: this._propagationContext,
sdkProcessingMetadata: this._sdkProcessingMetadata,
transactionName: this._transactionName,
span: Bc(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = zc(this._sdkProcessingMetadata, e, 2), this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t?.event_id || Nc();
if (!this._client) return kc.warn("No client configured on scope - will not capture exception!"), n;
const r = new Error("Sentry syntheticException");
return this._client.captureException(e, {
originalException: e,
syntheticException: r, ...t,
event_id: n
}, this), n
}
captureMessage(e, t, n) {
const r = n?.event_id || Nc();
if (!this._client) return kc.warn("No client configured on scope - will not capture message!"), r;
const a = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: a, ...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t?.event_id || Nc();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (kc.warn("No client configured on scope - will not capture event!"), n)
}
_notifyScopeListeners() {
this._notifyingListeners || (this._notifyingListeners = !0, this._scopeListeners.forEach((e => {
e(this)
})), this._notifyingListeners = !1)
}
}
class Hc {
constructor(e, t) {
let n, r;
n = e || new Wc, r = t || new Wc, this._stack = [{scope: n}], this._isolationScope = r
}
withScope(e) {
const t = this._pushScope();
let n;
try {
n = e(t)
} catch (r) {
throw this._popScope(), r
}
return cc(n) ? n.then((e => (this._popScope(), e)), (e => {
throw this._popScope(), e
})) : (this._popScope(), n)
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getIsolationScope() {
return this._isolationScope
}
getStackTop() {
return this._stack[this._stack.length - 1]
}
_pushScope() {
const e = this.getScope().clone();
return this._stack.push({client: this.getClient(), scope: e}), e
}
_popScope() {
return !(this._stack.length <= 1) && !!this._stack.pop()
}
}
function Kc() {
const e = _c(vc());
return e.stack = e.stack || new Hc(yc("defaultCurrentScope", (() => new Wc)), yc("defaultIsolationScope", (() => new Wc)))
}
function Yc(e) {
return Kc().withScope(e)
}
function Qc(e, t) {
const n = Kc();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function Zc(e) {
return Kc().withScope((() => e(Kc().getIsolationScope())))
}
function Xc(e) {
const t = _c(e);
return t.acs ? t.acs : {
withIsolationScope: Zc,
withScope: Yc,
withSetScope: Qc,
withSetIsolationScope: (e, t) => Zc(t),
getCurrentScope: () => Kc().getScope(),
getIsolationScope: () => Kc().getIsolationScope()
}
}
function Jc() {
return Xc(vc()).getCurrentScope()
}
function eu() {
return Xc(vc()).getIsolationScope()
}
function tu() {
return Jc().getClient()
}
const nu = 100;
const ru = "production";
var au;
function iu(e) {
return new ou((t => {
t(e)
}))
}
!function (e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(au || (au = {}));
class ou {
constructor(e) {
this._state = au.PENDING, this._handlers = [], this._runExecutor(e)
}
then(e, t) {
return new ou(((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (a) {
r(a)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (a) {
r(a)
} else r(e)
}]), this._executeHandlers()
}))
}
catch(e) {
return this.then((e => e), e)
}
finally(e) {
return new ou(((t, n) => {
let r, a;
return this.then((t => {
a = !1, r = t, e && e()
}), (t => {
a = !0, r = t, e && e()
})).then((() => {
a ? n(r) : t(r)
}))
}))
}
_executeHandlers() {
if (this._state === au.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach((e => {
e[0] || (this._state === au.RESOLVED && e[1](this._value), this._state === au.REJECTED && e[2](this._value), e[0] = !0)
}))
}
_runExecutor(e) {
const t = (e, t) => {
this._state === au.PENDING && (cc(t) ? t.then(n, r) : (this._state = e, this._value = t, this._executeHandlers()))
}, n = e => {
t(au.RESOLVED, e)
}, r = e => {
t(au.REJECTED, e)
};
try {
e(n, r)
} catch (a) {
r(a)
}
}
}
function su(e, t, n, r = 0) {
return new ou(((a, i) => {
const o = e[r];
if (null === t || "function" !== typeof o) a(t); else {
const s = o({...t}, n);
dc && o.id && null === s && kc.log(`Event processor "${o.id}" dropped event`), cc(s) ? s.then((t => su(e, t, n, r + 1).then(a))).then(null, i) : su(e, s, n, r + 1).then(a).then(null, i)
}
}))
}
let lu, cu, uu;
function du(e) {
const t = ac._sentryDebugIds;
if (!t) return {};
const n = Object.keys(t);
return uu && n.length === cu || (cu = n.length, uu = n.reduce(((n, r) => {
lu || (lu = {});
const a = lu[r];
if (a) n[a[0]] = a[1]; else {
const a = e(r);
for (let e = a.length - 1; e >= 0; e--) {
const i = a[e]?.filename, o = t[r];
if (i && o) {
n[i] = o, lu[r] = [i, o];
break
}
}
}
return n
}), {})), uu
}
const pu = "sentry.source";
function hu(e) {
if ("boolean" === typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = e || tu()?.getOptions();
return !!t && (null != t.tracesSampleRate || !!t.tracesSampler)
}
const fu = "_sentryScope", mu = "_sentryIsolationScope";
function gu(e) {
return {scope: e[fu], isolationScope: e[mu]}
}
function vu(e) {
const {spanId: t, traceId: n, isRemote: r} = e.spanContext(), a = r ? t : xu(e).parent_span_id,
i = gu(e).scope;
return {
parent_span_id: a,
span_id: r ? i?.getPropagationContext().propagationSpanId || Nc().substring(16) : t,
trace_id: n
}
}
function _u(e) {
return e && e.length > 0 ? e.map((({
context: {spanId: e, traceId: t, traceFlags: n, ...r},
attributes: a
}) => ({
span_id: e,
trace_id: t,
sampled: 1 === n,
attributes: a, ...r
}))) : void 0
}
function yu(e) {
return "number" === typeof e ? bu(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? bu(e.getTime()) : Rc()
}
function bu(e) {
return e > 9999999999 ? e / 1e3 : e
}
function xu(e) {
if (function (e) {
return "function" === typeof e.getSpanJSON
}(e)) return e.getSpanJSON();
const {spanId: t, traceId: n} = e.spanContext();
if (function (e) {
const t = e;
return !!t.attributes && !!t.startTime && !!t.name && !!t.endTime && !!t.status
}(e)) {
const {attributes: r, startTime: a, name: i, endTime: o, status: s, links: l} = e;
return {
span_id: t,
trace_id: n,
data: r,
description: i,
parent_span_id: "parentSpanId" in e ? e.parentSpanId : "parentSpanContext" in e ? e.parentSpanContext?.spanId : void 0,
start_timestamp: yu(a),
timestamp: yu(o) || void 0,
status: ku(s),
op: r["sentry.op"],
origin: r["sentry.origin"],
links: _u(l)
}
}
return {span_id: t, trace_id: n, start_timestamp: 0, data: {}}
}
function wu(e) {
const {traceFlags: t} = e.spanContext();
return 1 === t
}
function ku(e) {
if (e && 0 !== e.code) return 1 === e.code ? "ok" : e.message || "unknown_error"
}
const Su = "_sentryRootSpan";
function Eu(e) {
return e[Su] || e
}
function Iu() {
const e = Xc(vc());
return e.getActiveSpan ? e.getActiveSpan() : Bc(Jc())
}
const Cu = "sentry-", Ou = /^sentry-/;
function Pu(e) {
const t = function (e) {
if (!e || !sc(e) && !Array.isArray(e)) return;
if (Array.isArray(e)) return e.reduce(((e, t) => {
const n = Au(t);
return Object.entries(n).forEach((([t, n]) => {
e[t] = n
})), e
}), {});
return Au(e)
}(e);
if (!t) return;
const n = Object.entries(t).reduce(((e, [t, n]) => {
if (t.match(Ou)) {
e[t.slice(Cu.length)] = n
}
return e
}), {});
return Object.keys(n).length > 0 ? n : void 0
}
function Au(e) {
return e.split(",").map((e => e.split("=").map((e => {
try {
return decodeURIComponent(e.trim())
} catch {
return
}
})))).reduce(((e, [t, n]) => (t && n && (e[t] = n), e)), {})
}
const Tu = "_frozenDsc";
function Du(e, t) {
const n = t.getOptions(), {publicKey: r} = t.getDsn() || {},
a = {environment: n.environment || ru, release: n.release, public_key: r, trace_id: e};
return t.emit("createDsc", a), a
}
function Ru(e) {
const t = tu();
if (!t) return {};
const n = Eu(e), r = xu(n), a = r.data, i = n.spanContext().traceState,
o = i?.get("sentry.sample_rate") ?? a["sentry.sample_rate"] ?? a["sentry.previous_trace_sample_rate"];
function s(e) {
return "number" !== typeof o && "string" !== typeof o || (e.sample_rate = `${o}`), e
}
const l = n[Tu];
if (l) return s(l);
const c = i?.get("sentry.dsc"), u = c && Pu(c);
if (u) return s(u);
const d = Du(e.spanContext().traceId, t), p = a[pu], h = r.description;
return "url" !== p && h && (d.transaction = h), hu() && (d.sampled = String(wu(n)), d.sample_rand = i?.get("sentry.sample_rand") ?? gu(n).scope?.getPropagationContext().sampleRand.toString()), s(d), t.emit("createDsc", d, n), d
}
function Lu(e, t) {
const {fingerprint: n, span: r, breadcrumbs: a, sdkProcessingMetadata: i} = t;
!function (e, t) {
const {extra: n, tags: r, user: a, contexts: i, level: o, transactionName: s} = t;
Object.keys(n).length && (e.extra = {...n, ...e.extra});
Object.keys(r).length && (e.tags = {...r, ...e.tags});
Object.keys(a).length && (e.user = {...a, ...e.user});
Object.keys(i).length && (e.contexts = {...i, ...e.contexts});
o && (e.level = o);
s && "transaction" !== e.type && (e.transaction = s)
}(e, t), r && function (e, t) {
e.contexts = {trace: vu(t), ...e.contexts}, e.sdkProcessingMetadata = {dynamicSamplingContext: Ru(t), ...e.sdkProcessingMetadata};
const n = Eu(t), r = xu(n).description;
r && !e.transaction && "transaction" === e.type && (e.transaction = r)
}(e, r), function (e, t) {
e.fingerprint = e.fingerprint ? Array.isArray(e.fingerprint) ? e.fingerprint : [e.fingerprint] : [], t && (e.fingerprint = e.fingerprint.concat(t));
e.fingerprint.length || delete e.fingerprint
}(e, n), function (e, t) {
const n = [...e.breadcrumbs || [], ...t];
e.breadcrumbs = n.length ? n : void 0
}(e, a), function (e, t) {
e.sdkProcessingMetadata = {...e.sdkProcessingMetadata, ...t}
}(e, i)
}
function ju(e, t) {
const {
extra: n,
tags: r,
user: a,
contexts: i,
level: o,
sdkProcessingMetadata: s,
breadcrumbs: l,
fingerprint: c,
eventProcessors: u,
attachments: d,
propagationContext: p,
transactionName: h,
span: f
} = t;
Nu(e, "extra", n), Nu(e, "tags", r), Nu(e, "user", a), Nu(e, "contexts", i), e.sdkProcessingMetadata = zc(e.sdkProcessingMetadata, s, 2), o && (e.level = o), h && (e.transactionName = h), f && (e.span = f), l.length && (e.breadcrumbs = [...e.breadcrumbs, ...l]), c.length && (e.fingerprint = [...e.fingerprint, ...c]), u.length && (e.eventProcessors = [...e.eventProcessors, ...u]), d.length && (e.attachments = [...e.attachments, ...d]), e.propagationContext = {...e.propagationContext, ...p}
}
function Nu(e, t, n) {
e[t] = zc(e[t], n, 1)
}
function Mu(e, t, n, r, a, i) {
const {normalizeDepth: o = 3, normalizeMaxBreadth: s = 1e3} = e,
l = {...t, event_id: t.event_id || n.event_id || Nc(), timestamp: t.timestamp || Dc()},
c = n.integrations || e.integrations.map((e => e.name));
!function (e, t) {
const {environment: n, release: r, dist: a, maxValueLength: i = 250} = t;
e.environment = e.environment || n || ru, !e.release && r && (e.release = r);
!e.dist && a && (e.dist = a);
const o = e.request;
o?.url && (o.url = $c(o.url, i))
}(l, e), function (e, t) {
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t])
}(l, c), a && a.emit("applyFrameMetadata", t), void 0 === t.type && function (e, t) {
const n = du(t);
e.exception?.values?.forEach((e => {
e.stacktrace?.frames?.forEach((e => {
e.filename && (e.debug_id = n[e.filename])
}))
}))
}(l, e.stackParser);
const u = function (e, t) {
if (!t) return e;
const n = e ? e.clone() : new Wc;
return n.update(t), n
}(r, n.captureContext);
n.mechanism && function (e, t) {
const n = Mc(e);
if (!n) return;
const r = n.mechanism;
if (n.mechanism = {type: "generic", handled: !0, ...r, ...t}, t && "data" in t) {
const e = {...r?.data, ...t.data};
n.mechanism.data = e
}
}(l, n.mechanism);
const d = a ? a.getEventProcessors() : [], p = yc("globalScope", (() => new Wc)).getScopeData();
if (i) {
ju(p, i.getScopeData())
}
if (u) {
ju(p, u.getScopeData())
}
const h = [...n.attachments || [], ...p.attachments];
h.length && (n.attachments = h), Lu(l, p);
return su([...d, ...p.eventProcessors], l, n).then((e => (e && function (e) {
const t = {};
if (e.exception?.values?.forEach((e => {
e.stacktrace?.frames?.forEach((e => {
e.debug_id && (e.abs_path ? t[e.abs_path] = e.debug_id : e.filename && (t[e.filename] = e.debug_id), delete e.debug_id)
}))
})), 0 === Object.keys(t).length) return;
e.debug_meta = e.debug_meta || {}, e.debug_meta.images = e.debug_meta.images || [];
const n = e.debug_meta.images;
Object.entries(t).forEach((([e, t]) => {
n.push({type: "sourcemap", code_file: e, debug_id: t})
}))
}(e), "number" === typeof o && o > 0 ? function (e, t, n) {
if (!e) return null;
const r = {...e, ...e.breadcrumbs && {breadcrumbs: e.breadcrumbs.map((e => ({...e, ...e.data && {data: Ac(e.data, t, n)}})))}, ...e.user && {user: Ac(e.user, t, n)}, ...e.contexts && {contexts: Ac(e.contexts, t, n)}, ...e.extra && {extra: Ac(e.extra, t, n)}};
e.contexts?.trace && r.contexts && (r.contexts.trace = e.contexts.trace, e.contexts.trace.data && (r.contexts.trace.data = Ac(e.contexts.trace.data, t, n)));
e.spans && (r.spans = e.spans.map((e => ({...e, ...e.data && {data: Ac(e.data, t, n)}}))));
e.contexts?.flags && r.contexts && (r.contexts.flags = Ac(e.contexts.flags, 3, n));
return r
}(e, o, s) : e)))
}
function Fu(e) {
if (e) return function (e) {
return e instanceof Wc || "function" === typeof e
}(e) || function (e) {
return Object.keys(e).some((e => zu.includes(e)))
}(e) ? {captureContext: e} : e
}
const zu = ["user", "level", "extra", "contexts", "tags", "fingerprint", "propagationContext"];
function Vu(e, t) {
const n = t?.getDsn(), r = t?.getOptions().tunnel;
return function (e, t) {
return !!t && e.includes(t.host)
}(e, n) || function (e, t) {
if (!t) return !1;
return Uu(e) === Uu(t)
}(e, r)
}
function Uu(e) {
return "/" === e[e.length - 1] ? e.slice(0, -1) : e
}
function Bu(e, t = !1) {
const {host: n, path: r, pass: a, port: i, projectId: o, protocol: s, publicKey: l} = e;
return `${s}://${l}${t && a ? `:${a}` : ""}@${n}${i ? `:${i}` : ""}/${r ? `${r}/` : r}${o}`
}
function Gu(e, {statusCode: t, headers: n}, r = Date.now()) {
const a = {...e}, i = n?.["x-sentry-rate-limits"], o = n?.["retry-after"];
if (i) for (const s of i.trim().split(",")) {
const [e, t, , , n] = s.split(":", 5), i = parseInt(e, 10), o = 1e3 * (isNaN(i) ? 60 : i);
if (t) for (const s of t.split(";")) "metric_bucket" === s && n && !n.split(";").includes("custom") || (a[s] = r + o); else a.all = r + o
} else o ? a.all = r + function (e, t = Date.now()) {
const n = parseInt(`${e}`, 10);
if (!isNaN(n)) return 1e3 * n;
const r = Date.parse(`${e}`);
return isNaN(r) ? 6e4 : r - t
}(o, r) : 429 === t && (a.all = r + 6e4);
return a
}
function $u() {
return !("undefined" !== typeof __SENTRY_BROWSER_BUNDLE__ && __SENTRY_BROWSER_BUNDLE__) && "[object process]" === Object.prototype.toString.call("undefined" !== typeof process ? process : 0)
}
function qu() {
return "undefined" !== typeof window && (!$u() || "renderer" === ac.process?.type)
}
function Wu(e) {
if ("boolean" === typeof e) return Number(e);
const t = "string" === typeof e ? parseFloat(e) : e;
return "number" !== typeof t || isNaN(t) || t < 0 || t > 1 ? void 0 : t
}
const Hu = {};
function Ku(e) {
const t = Hu[e];
if (t) return t;
let n = Ui[e];
if (Ws(n)) return Hu[e] = n.bind(Ui);
const r = Ui.document;
if (r && "function" === typeof r.createElement) try {
const t = r.createElement("iframe");
t.hidden = !0, r.head.appendChild(t);
const a = t.contentWindow;
a?.[e] && (n = a[e]), r.head.removeChild(t)
} catch (a) {
Bi && Wa.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `, a)
}
return n ? Hu[e] = n.bind(Ui) : n
}
function Yu(e) {
Hu[e] = void 0
}
function Qu(...e) {
return Ku("setTimeout")(...e)
}
function Zu(e) {
return new URLSearchParams(e).toString()
}
function Xu(e, t = Wa) {
try {
if ("string" === typeof e) return [e];
if (e instanceof URLSearchParams) return [e.toString()];
if (e instanceof FormData) return [Zu(e)];
if (!e) return [void 0]
} catch (n) {
return Bi && t.error(n, "Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return Bi && t.info("Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}
function Ju(e = []) {
if (2 === e.length && "object" === typeof e[1]) return e[1].body
}
let ed, td, nd;
function rd(e) {
Bs("dom", e), Gs("dom", ad)
}
function ad() {
if (!Ui.document) return;
const e = $s.bind(null, "dom"), t = id(e, !0);
Ui.document.addEventListener("click", t, !1), Ui.document.addEventListener("keypress", t, !1), ["EventTarget", "Node"].forEach((t => {
const n = Ui[t]?.prototype;
n?.hasOwnProperty?.("addEventListener") && (Ha(n, "addEventListener", (function (t) {
return function (n, r, a) {
if ("click" === n || "keypress" == n) try {
const r = this.__sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {},
i = r[n] = r[n] || {refCount: 0};
if (!i.handler) {
const r = id(e);
i.handler = r, t.call(this, n, r, a)
}
i.refCount++
} catch (i) {
}
return t.call(this, n, r, a)
}
})), Ha(n, "removeEventListener", (function (e) {
return function (t, n, r) {
if ("click" === t || "keypress" == t) try {
const n = this.__sentry_instrumentation_handlers__ || {}, a = n[t];
a && (a.refCount--, a.refCount <= 0 && (e.call(this, t, a.handler, r), a.handler = void 0, delete n[t]), 0 === Object.keys(n).length && delete this.__sentry_instrumentation_handlers__)
} catch (a) {
}
return e.call(this, t, n, r)
}
})))
}))
}
function id(e, t = !1) {
return n => {
if (!n || n._sentryCaptured) return;
const r = function (e) {
try {
return e.target
} catch (t) {
return null
}
}(n);
if (function (e, t) {
return "keypress" === e && (!t?.tagName || "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && !t.isContentEditable)
}(n.type, r)) return;
Ka(n, "_sentryCaptured", !0), r && !r._sentryId && Ka(r, "_sentryId", za());
const a = "keypress" === n.type ? "input" : n.type;
if (!function (e) {
if (e.type !== td) return !1;
try {
if (!e.target || e.target._sentryId !== nd) return !1
} catch (t) {
}
return !0
}(n)) {
e({event: n, name: a, global: t}), td = n.type, nd = r ? r._sentryId : void 0
}
clearTimeout(ed), ed = Ui.setTimeout((() => {
nd = void 0, td = void 0
}), 1e3)
}
}
const od = ac, sd = "sentryReplaySession", ld = "Unable to send Replay", cd = 15e4, ud = 5e3, dd = 2e7,
pd = 36e5;
var hd = Object.defineProperty, fd = (e, t, n) => ((e, t, n) => t in e ? hd(e, t, {
enumerable: !0,
configurable: !0,
writable: !0,
value: n
}) : e[t] = n)(e, "symbol" !== typeof t ? t + "" : t, n),
md = (e => (e[e.Document = 0] = "Document", e[e.DocumentType = 1] = "DocumentType", e[e.Element = 2] = "Element", e[e.Text = 3] = "Text", e[e.CDATA = 4] = "CDATA", e[e.Comment = 5] = "Comment", e))(md || {});
function gd(e) {
const t = e?.host;
return Boolean(t?.shadowRoot === e)
}
function vd(e) {
return "[object ShadowRoot]" === Object.prototype.toString.call(e)
}
function _d(e) {
try {
const n = e.rules || e.cssRules;
return n ? ((t = Array.from(n, yd).join("")).includes(" background-clip: text;") && !t.includes(" -webkit-background-clip: text;") && (t = t.replace(/\sbackground-clip:\s*text;/g, " -webkit-background-clip: text; background-clip: text;")), t) : null
} catch (n) {
return null
}
var t
}
function yd(e) {
let t;
if (function (e) {
return "styleSheet" in e
}(e)) try {
t = _d(e.styleSheet) || function (e) {
const {cssText: t} = e;
if (t.split('"').length < 3) return t;
const n = ["@import", `url(${JSON.stringify(e.href)})`];
return "" === e.layerName ? n.push("layer") : e.layerName && n.push(`layer(${e.layerName})`), e.supportsText && n.push(`supports(${e.supportsText})`), e.media.length && n.push(e.media.mediaText), n.join(" ") + ";"
}(e)
} catch (n) {
} else if (function (e) {
return "selectorText" in e
}(e)) {
let t = e.cssText;
const n = e.selectorText.includes(":"), r = "string" === typeof e.style.all && e.style.all;
if (r && (t = function (e) {
let t = "";
for (let n = 0; n < e.style.length; n++) {
const r = e.style, a = r[n], i = r.getPropertyPriority(a);
t += `${a}:${r.getPropertyValue(a)}${i ? " !important" : ""};`
}
return `${e.selectorText} { ${t} }`
}(e)), n && (t = function (e) {
const t = /(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;
return e.replace(t, "$1\\$2")
}(t)), n || r) return t
}
return t || e.cssText
}
class bd {
constructor() {
fd(this, "idNodeMap", new Map), fd(this, "nodeMetaMap", new WeakMap)
}
getId(e) {
if (!e) return -1;
const t = this.getMeta(e)?.id;
return t ?? -1
}
getNode(e) {
return this.idNodeMap.get(e) || null
}
getIds() {
return Array.from(this.idNodeMap.keys())
}
getMeta(e) {
return this.nodeMetaMap.get(e) || null
}
removeNodeFromMap(e) {
const t = this.getId(e);
this.idNodeMap.delete(t), e.childNodes && e.childNodes.forEach((e => this.removeNodeFromMap(e)))
}
has(e) {
return this.idNodeMap.has(e)
}
hasNode(e) {
return this.nodeMetaMap.has(e)
}
add(e, t) {
const n = t.id;
this.idNodeMap.set(n, e), this.nodeMetaMap.set(e, t)
}
replace(e, t) {
const n = this.getNode(e);
if (n) {
const e = this.nodeMetaMap.get(n);
e && this.nodeMetaMap.set(t, e)
}
this.idNodeMap.set(e, t)
}
reset() {
this.idNodeMap = new Map, this.nodeMetaMap = new WeakMap
}
}
function xd({maskInputOptions: e, tagName: t, type: n}) {
return "OPTION" === t && (t = "SELECT"), Boolean(e[t.toLowerCase()] || n && e[n] || "password" === n || "INPUT" === t && !n && e.text)
}
function wd({isMasked: e, element: t, value: n, maskInputFn: r}) {
let a = n || "";
return e ? (r && (a = r(a, t)), "*".repeat(a.length)) : a
}
function kd(e) {
return e.toLowerCase()
}
function Sd(e) {
return e.toUpperCase()
}
const Ed = "__rrweb_original__";
function Id(e) {
const t = e.type;
return e.hasAttribute("data-rr-is-password") ? "password" : t ? kd(t) : null
}
function Cd(e, t, n) {
return "INPUT" !== t || "radio" !== n && "checkbox" !== n ? e.value : e.getAttribute("value") || ""
}
function Od(e, t) {
let n;
try {
n = new URL(e, t ?? window.location.href)
} catch (r) {
return null
}
return n.pathname.match(/\.([0-9a-z]+)(?:$)/i)?.[1] ?? null
}
const Pd = {};
function Ad(e) {
const t = Pd[e];
if (t) return t;
const n = window.document;
let r = window[e];
if (n && "function" === typeof n.createElement) try {
const t = n.createElement("iframe");
t.hidden = !0, n.head.appendChild(t);
const a = t.contentWindow;
a && a[e] && (r = a[e]), n.head.removeChild(t)
} catch (Ab) {
}
return Pd[e] = r.bind(window)
}
function Td(...e) {
return Ad("setTimeout")(...e)
}
function Dd(...e) {
return Ad("clearTimeout")(...e)
}
function Rd(e) {
try {
return e.contentDocument
} catch (Ab) {
}
}
let Ld = 1;
const jd = new RegExp("[^a-z0-9-_:]");
function Nd() {
return Ld++
}
let Md, Fd;
const zd = /url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm, Vd = /^(?:[a-z+]+:)?\/\//i, Ud = /^www\..*/i,
Bd = /^(data:)([^,]*),(.*)/i;
function Gd(e, t) {
return (e || "").replace(zd, ((e, n, r, a, i, o) => {
const s = r || i || o, l = n || a || "";
if (!s) return e;
if (Vd.test(s) || Ud.test(s)) return `url(${l}${s}${l})`;
if (Bd.test(s)) return `url(${l}${s}${l})`;
if ("/" === s[0]) return `url(${l}${function (e) {
let t = "";
return t = e.indexOf("//") > -1 ? e.split("/").slice(0, 3).join("/") : e.split("/")[0], t = t.split("?")[0], t
}(t) + s}${l})`;
const c = t.split("/"), u = s.split("/");
c.pop();
for (const t of u) "." !== t && (".." === t ? c.pop() : c.push(t));
return `url(${l}${c.join("/")}${l})`
}))
}
const $d = /^[^ \t\n\r\u000c]+/, qd = /^[, \t\n\r\u000c]+/;
const Wd = new WeakMap;
function Hd(e, t) {
return t && "" !== t.trim() ? Yd(e, t) : t
}
function Kd(e) {
return Boolean("svg" === e.tagName || e.ownerSVGElement)
}
function Yd(e, t) {
let n = Wd.get(e);
if (n || (n = e.createElement("a"), Wd.set(e, n)), t) {
if (t.startsWith("blob:") || t.startsWith("data:")) return t
} else t = "";
return n.setAttribute("href", t), n.href
}
function Qd(e, t, n, r, a, i) {
return r ? "src" === n || "href" === n && ("use" !== t || "#" !== r[0]) || "xlink:href" === n && "#" !== r[0] ? Hd(e, r) : "background" !== n || "table" !== t && "td" !== t && "th" !== t ? "srcset" === n ? function (e, t) {
if ("" === t.trim()) return t;
let n = 0;
function r(e) {
let r;
const a = e.exec(t.substring(n));
return a ? (r = a[0], n += r.length, r) : ""
}
const a = [];
for (; r(qd), !(n >= t.length);) {
let i = r($d);
if ("," === i.slice(-1)) i = Hd(e, i.substring(0, i.length - 1)), a.push(i); else {
let r = "";
i = Hd(e, i);
let o = !1;
for (; ;) {
const e = t.charAt(n);
if ("" === e) {
a.push((i + r).trim());
break
}
if (o) ")" === e && (o = !1); else {
if ("," === e) {
n += 1, a.push((i + r).trim());
break
}
"(" === e && (o = !0)
}
r += e, n += 1
}
}
}
return a.join(", ")
}(e, r) : "style" === n ? Gd(r, Yd(e)) : "object" === t && "data" === n ? Hd(e, r) : "function" === typeof i ? i(n, r, a) : r : Hd(e, r) : r
}
function Zd(e, t, n) {
return ("video" === e || "audio" === e) && "autoplay" === t
}
function Xd(e, t, n, r) {
try {
if (r && e.matches(r)) return !1;
if ("string" === typeof t) {
if (e.classList.contains(t)) return !0
} else for (let n = e.classList.length; n--;) {
const r = e.classList[n];
if (t.test(r)) return !0
}
if (n) return e.matches(n)
} catch (Ab) {
}
return !1
}
function Jd(e, t, n = 1 / 0, r = 0) {
return e ? e.nodeType !== e.ELEMENT_NODE || r > n ? -1 : t(e) ? r : Jd(e.parentNode, t, n, r + 1) : -1
}
function ep(e, t) {
return n => {
const r = n;
if (null === r) return !1;
try {
if (e) if ("string" === typeof e) {
if (r.matches(`.${e}`)) return !0
} else if (function (e, t) {
for (let n = e.classList.length; n--;) {
const r = e.classList[n];
if (t.test(r)) return !0
}
return !1
}(r, e)) return !0;
return !(!t || !r.matches(t))
} catch {
return !1
}
}
}
function tp(e, t, n, r, a, i) {
try {
const o = e.nodeType === e.ELEMENT_NODE ? e : e.parentElement;
if (null === o) return !1;
if ("INPUT" === o.tagName) {
const e = o.getAttribute("autocomplete");
if (["current-password", "new-password", "cc-number", "cc-exp", "cc-exp-month", "cc-exp-year", "cc-csc"].includes(e)) return !0
}
let s = -1, l = -1;
if (i) {
if (l = Jd(o, ep(r, a)), l < 0) return !0;
s = Jd(o, ep(t, n), l >= 0 ? l : 1 / 0)
} else {
if (s = Jd(o, ep(t, n)), s < 0) return !1;
l = Jd(o, ep(r, a), s >= 0 ? s : 1 / 0)
}
return s >= 0 ? !(l >= 0) || s <= l : !(l >= 0) && !!i
} catch (Ab) {
}
return !!i
}
function np(e, t) {
const {
doc: n,
mirror: r,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: s,
maskAttributeFn: l,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: d,
unmaskTextSelector: p,
inlineStylesheet: h,
maskInputOptions: f = {},
maskTextFn: m,
maskInputFn: g,
dataURLOptions: v = {},
inlineImages: _,
recordCanvas: y,
keepIframeSrcFn: b,
newlyAddedElement: x = !1
} = t, w = function (e, t) {
if (!t.hasNode(e)) return;
const n = t.getId(e);
return 1 === n ? void 0 : n
}(n, r);
switch (e.nodeType) {
case e.DOCUMENT_NODE:
return "CSS1Compat" !== e.compatMode ? {
type: md.Document,
childNodes: [],
compatMode: e.compatMode
} : {type: md.Document, childNodes: []};
case e.DOCUMENT_TYPE_NODE:
return {type: md.DocumentType, name: e.name, publicId: e.publicId, systemId: e.systemId, rootId: w};
case e.ELEMENT_NODE:
return function (e, t) {
const {
doc: n,
blockClass: r,
blockSelector: a,
unblockSelector: i,
inlineStylesheet: o,
maskInputOptions: s = {},
maskAttributeFn: l,
maskInputFn: c,
dataURLOptions: u = {},
inlineImages: d,
recordCanvas: p,
keepIframeSrcFn: h,
newlyAddedElement: f = !1,
rootId: m,
maskTextClass: g,
unmaskTextClass: v,
maskTextSelector: _,
unmaskTextSelector: y
} = t, b = Xd(e, r, a, i), x = function (e) {
if (e instanceof HTMLFormElement) return "form";
const t = kd(e.tagName);
return jd.test(t) ? "div" : t
}(e);
let w = {};
const k = e.attributes.length;
for (let E = 0; E < k; E++) {
const t = e.attributes[E];
t.name && !Zd(x, t.name, t.value) && (w[t.name] = Qd(n, x, kd(t.name), t.value, e, l))
}
if ("link" === x && o) {
const t = Array.from(n.styleSheets).find((t => t.href === e.href));
let r = null;
t && (r = _d(t)), r && (w.rel = null, w.href = null, w.crossorigin = null, w._cssText = Gd(r, t.href))
}
if ("style" === x && e.sheet && !(e.innerText || e.textContent || "").trim().length) {
const t = _d(e.sheet);
t && (w._cssText = Gd(t, Yd(n)))
}
if ("input" === x || "textarea" === x || "select" === x || "option" === x) {
const t = e, n = Id(t), r = Cd(t, Sd(x), n), a = t.checked;
if ("submit" !== n && "button" !== n && r) {
const e = tp(t, g, _, v, y, xd({type: n, tagName: Sd(x), maskInputOptions: s}));
w.value = wd({isMasked: e, element: t, value: r, maskInputFn: c})
}
a && (w.checked = a)
}
"option" === x && (e.selected && !s.select ? w.selected = !0 : delete w.selected);
if ("canvas" === x && p) if ("2d" === e.__context) (function (e) {
const t = e.getContext("2d");
if (!t) return !0;
for (let n = 0; n < e.width; n += 50) for (let r = 0; r < e.height; r += 50) {
const a = t.getImageData, i = Ed in a ? a[Ed] : a;
if (new Uint32Array(i.call(t, n, r, Math.min(50, e.width - n), Math.min(50, e.height - r)).data.buffer).some((e => 0 !== e))) return !1
}
return !0
})(e) || (w.rr_dataURL = e.toDataURL(u.type, u.quality)); else if (!("__context" in e)) {
const t = e.toDataURL(u.type, u.quality), r = n.createElement("canvas");
r.width = e.width, r.height = e.height;
t !== r.toDataURL(u.type, u.quality) && (w.rr_dataURL = t)
}
if ("img" === x && d) {
Md || (Md = n.createElement("canvas"), Fd = Md.getContext("2d"));
const t = e, r = t.currentSrc || t.getAttribute("src") || "<unknown-src>",
a = t.crossOrigin, i = () => {
t.removeEventListener("load", i);
try {
Md.width = t.naturalWidth, Md.height = t.naturalHeight, Fd.drawImage(t, 0, 0), w.rr_dataURL = Md.toDataURL(u.type, u.quality)
} catch (e) {
if ("anonymous" !== t.crossOrigin) return t.crossOrigin = "anonymous", void (t.complete && 0 !== t.naturalWidth ? i() : t.addEventListener("load", i));
console.warn(`Cannot inline img src=${r}! Error: ${e}`)
}
"anonymous" === t.crossOrigin && (a ? w.crossOrigin = a : t.removeAttribute("crossorigin"))
};
t.complete && 0 !== t.naturalWidth ? i() : t.addEventListener("load", i)
}
"audio" !== x && "video" !== x || (w.rr_mediaState = e.paused ? "paused" : "played", w.rr_mediaCurrentTime = e.currentTime);
f || (e.scrollLeft && (w.rr_scrollLeft = e.scrollLeft), e.scrollTop && (w.rr_scrollTop = e.scrollTop));
if (b) {
const {width: t, height: n} = e.getBoundingClientRect();
w = {class: w.class, rr_width: `${t}px`, rr_height: `${n}px`}
}
"iframe" !== x || h(w.src) || (b || Rd(e) || (w.rr_src = w.src), delete w.src);
let S;
try {
customElements.get(x) && (S = !0)
} catch (Ab) {
}
return {
type: md.Element,
tagName: x,
attributes: w,
childNodes: [],
isSVG: Kd(e) || void 0,
needBlock: b,
rootId: m,
isCustom: S
}
}(e, {
doc: n,
blockClass: a,
blockSelector: i,
unblockSelector: o,
inlineStylesheet: h,
maskAttributeFn: l,
maskInputOptions: f,
maskInputFn: g,
dataURLOptions: v,
inlineImages: _,
recordCanvas: y,
keepIframeSrcFn: b,
newlyAddedElement: x,
rootId: w,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: d,
unmaskTextSelector: p
});
case e.TEXT_NODE:
return function (e, t) {
const {
maskAllText: n,
maskTextClass: r,
unmaskTextClass: a,
maskTextSelector: i,
unmaskTextSelector: o,
maskTextFn: s,
maskInputOptions: l,
maskInputFn: c,
rootId: u
} = t, d = e.parentNode && e.parentNode.tagName;
let p = e.textContent;
const h = "STYLE" === d || void 0, f = "SCRIPT" === d || void 0, m = "TEXTAREA" === d || void 0;
if (h && p) {
try {
e.nextSibling || e.previousSibling || e.parentNode.sheet?.cssRules && (p = _d(e.parentNode.sheet))
} catch (v) {
console.warn(`Cannot get CSS styles from text's parentNode. Error: ${v}`, e)
}
p = Gd(p, Yd(t.doc))
}
f && (p = "SCRIPT_PLACEHOLDER");
const g = tp(e, r, i, a, o, n);
h || f || m || !p || !g || (p = s ? s(p, e.parentElement) : p.replace(/[\S]/g, "*"));
m && p && (l.textarea || g) && (p = c ? c(p, e.parentNode) : p.replace(/[\S]/g, "*"));
if ("OPTION" === d && p) {
p = wd({
isMasked: tp(e, r, i, a, o, xd({type: null, tagName: d, maskInputOptions: l})),
element: e,
value: p,
maskInputFn: c
})
}
return {type: md.Text, textContent: p || "", isStyle: h, rootId: u}
}(e, {
doc: n,
maskAllText: s,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: d,
unmaskTextSelector: p,
maskTextFn: m,
maskInputOptions: f,
maskInputFn: g,
rootId: w
});
case e.CDATA_SECTION_NODE:
return {type: md.CDATA, textContent: "", rootId: w};
case e.COMMENT_NODE:
return {type: md.Comment, textContent: e.textContent || "", rootId: w};
default:
return !1
}
}
function rp(e) {
return void 0 === e || null === e ? "" : e.toLowerCase()
}
function ap(e, t) {
const {
doc: n,
mirror: r,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: s,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
skipChild: p = !1,
inlineStylesheet: h = !0,
maskInputOptions: f = {},
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOMOptions: _,
dataURLOptions: y = {},
inlineImages: b = !1,
recordCanvas: x = !1,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S = 5e3,
onStylesheetLoad: E,
stylesheetLoadTimeout: I = 5e3,
keepIframeSrcFn: C = (() => !1),
newlyAddedElement: O = !1
} = t;
let {preserveWhiteSpace: P = !0} = t;
const A = np(e, {
doc: n,
mirror: r,
blockClass: a,
blockSelector: i,
maskAllText: s,
unblockSelector: o,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
inlineStylesheet: h,
maskInputOptions: f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
dataURLOptions: y,
inlineImages: b,
recordCanvas: x,
keepIframeSrcFn: C,
newlyAddedElement: O
});
if (!A) return console.warn(e, "not serialized"), null;
let T;
T = r.hasNode(e) ? r.getId(e) : !function (e, t) {
if (t.comment && e.type === md.Comment) return !0;
if (e.type === md.Element) {
if (t.script && ("script" === e.tagName || "link" === e.tagName && ("preload" === e.attributes.rel || "modulepreload" === e.attributes.rel) || "link" === e.tagName && "prefetch" === e.attributes.rel && "string" === typeof e.attributes.href && "js" === Od(e.attributes.href))) return !0;
if (t.headFavicon && ("link" === e.tagName && "shortcut icon" === e.attributes.rel || "meta" === e.tagName && (rp(e.attributes.name).match(/^msapplication-tile(image|color)$/) || "application-name" === rp(e.attributes.name) || "icon" === rp(e.attributes.rel) || "apple-touch-icon" === rp(e.attributes.rel) || "shortcut icon" === rp(e.attributes.rel)))) return !0;
if ("meta" === e.tagName) {
if (t.headMetaDescKeywords && rp(e.attributes.name).match(/^description|keywords$/)) return !0;
if (t.headMetaSocial && (rp(e.attributes.property).match(/^(og|twitter|fb):/) || rp(e.attributes.name).match(/^(og|twitter):/) || "pinterest" === rp(e.attributes.name))) return !0;
if (t.headMetaRobots && ("robots" === rp(e.attributes.name) || "googlebot" === rp(e.attributes.name) || "bingbot" === rp(e.attributes.name))) return !0;
if (t.headMetaHttpEquiv && void 0 !== e.attributes["http-equiv"]) return !0;
if (t.headMetaAuthorship && ("author" === rp(e.attributes.name) || "generator" === rp(e.attributes.name) || "framework" === rp(e.attributes.name) || "publisher" === rp(e.attributes.name) || "progid" === rp(e.attributes.name) || rp(e.attributes.property).match(/^article:/) || rp(e.attributes.property).match(/^product:/))) return !0;
if (t.headMetaVerification && ("google-site-verification" === rp(e.attributes.name) || "yandex-verification" === rp(e.attributes.name) || "csrf-token" === rp(e.attributes.name) || "p:domain_verify" === rp(e.attributes.name) || "verify-v1" === rp(e.attributes.name) || "verification" === rp(e.attributes.name) || "shopify-checkout-api-token" === rp(e.attributes.name))) return !0
}
}
return !1
}(A, _) && (P || A.type !== md.Text || A.isStyle || A.textContent.replace(/^\s+|\s+$/gm, "").length) ? Nd() : -2;
const D = Object.assign(A, {id: T});
if (r.add(e, D), -2 === T) return null;
w && w(e);
let R = !p;
if (D.type === md.Element) {
R = R && !D.needBlock, delete D.needBlock;
const t = e.shadowRoot;
t && vd(t) && (D.isShadowHost = !0)
}
if ((D.type === md.Document || D.type === md.Element) && R) {
_.headWhitespace && D.type === md.Element && "head" === D.tagName && (P = !1);
const t = {
doc: n,
mirror: r,
blockClass: a,
blockSelector: i,
maskAllText: s,
unblockSelector: o,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
skipChild: p,
inlineStylesheet: h,
maskInputOptions: f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOMOptions: _,
dataURLOptions: y,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: C
};
for (const n of Array.from(e.childNodes)) {
const e = ap(n, t);
e && D.childNodes.push(e)
}
if (function (e) {
return e.nodeType === e.ELEMENT_NODE
}(e) && e.shadowRoot) for (const n of Array.from(e.shadowRoot.childNodes)) {
const r = ap(n, t);
r && (vd(e.shadowRoot) && (r.isShadow = !0), D.childNodes.push(r))
}
}
return e.parentNode && gd(e.parentNode) && vd(e.parentNode) && (D.isShadow = !0), D.type !== md.Element || "iframe" !== D.tagName || Xd(e, a, i, o) || function (e, t, n) {
const r = e.contentWindow;
if (!r) return;
let a, i = !1;
try {
a = r.document.readyState
} catch (s) {
return
}
if ("complete" !== a) {
const r = Td((() => {
i || (t(), i = !0)
}), n);
return void e.addEventListener("load", (() => {
Dd(r), i = !0, t()
}))
}
const o = "about:blank";
if (r.location.href !== o || e.src === o || "" === e.src) return Td(t, 0), e.addEventListener("load", t);
e.addEventListener("load", t)
}(e, (() => {
const t = Rd(e);
if (t && k) {
const n = ap(t, {
doc: t,
mirror: r,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: s,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
skipChild: !1,
inlineStylesheet: h,
maskInputOptions: f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOMOptions: _,
dataURLOptions: y,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: C
});
n && k(e, n)
}
}), S), D.type === md.Element && "link" === D.tagName && "string" === typeof D.attributes.rel && ("stylesheet" === D.attributes.rel || "preload" === D.attributes.rel && "string" === typeof D.attributes.href && "css" === Od(D.attributes.href)) && function (e, t, n) {
let r, a = !1;
try {
r = e.sheet
} catch (o) {
return
}
if (r) return;
const i = Td((() => {
a || (t(), a = !0)
}), n);
e.addEventListener("load", (() => {
Dd(i), a = !0, t()
}))
}(e, (() => {
if (E) {
const t = ap(e, {
doc: n,
mirror: r,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: s,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
skipChild: !1,
inlineStylesheet: h,
maskInputOptions: f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOMOptions: _,
dataURLOptions: y,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: C
});
t && E(e, t)
}
}), I), D
}
function ip(e, t, n = document) {
const r = {capture: !0, passive: !0};
return n.addEventListener(e, t, r), () => n.removeEventListener(e, t, r)
}
const op = "Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";
let sp = {
map: {},
getId: () => (console.error(op), -1),
getNode: () => (console.error(op), null),
removeNodeFromMap() {
console.error(op)
},
has: () => (console.error(op), !1),
reset() {
console.error(op)
}
};
function lp(e, t, n = {}) {
let r = null, a = 0;
return function (...i) {
const o = Date.now();
a || !1 !== n.leading || (a = o);
const s = t - (o - a), l = this;
s <= 0 || s > t ? (r && (!function (...e) {
Op("clearTimeout")(...e)
}(r), r = null), a = o, e.apply(l, i)) : r || !1 === n.trailing || (r = Pp((() => {
a = !1 === n.leading ? 0 : Date.now(), r = null, e.apply(l, i)
}), s))
}
}
function cp(e, t, n, r, a = window) {
const i = a.Object.getOwnPropertyDescriptor(e, t);
return a.Object.defineProperty(e, t, r ? n : {
set(e) {
Pp((() => {
n.set.call(this, e)
}), 0), i && i.set && i.set.call(this, e)
}
}), () => cp(e, t, i || {}, !0)
}
function up(e, t, n) {
try {
if (!(t in e)) return () => {
};
const r = e[t], a = n(r);
return "function" === typeof a && (a.prototype = a.prototype || {}, Object.defineProperties(a, {
__rrweb_original__: {
enumerable: !1,
value: r
}
})), e[t] = a, () => {
e[t] = r
}
} catch {
return () => {
}
}
}
"undefined" !== typeof window && window.Proxy && window.Reflect && (sp = new Proxy(sp, {get: (e, t, n) => ("map" === t && console.error(op), Reflect.get(e, t, n))}));
let dp = Date.now;
function pp(e) {
const t = e.document;
return {
left: t.scrollingElement ? t.scrollingElement.scrollLeft : void 0 !== e.pageXOffset ? e.pageXOffset : t?.documentElement.scrollLeft || t?.body?.parentElement?.scrollLeft || t?.body?.scrollLeft || 0,
top: t.scrollingElement ? t.scrollingElement.scrollTop : void 0 !== e.pageYOffset ? e.pageYOffset : t?.documentElement.scrollTop || t?.body?.parentElement?.scrollTop || t?.body?.scrollTop || 0
}
}
function hp() {
return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight
}
function fp() {
return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth
}
function mp(e) {
if (!e) return null;
try {
return e.nodeType === e.ELEMENT_NODE ? e : e.parentElement
} catch (t) {
return null
}
}
function gp(e, t, n, r, a) {
if (!e) return !1;
const i = mp(e);
if (!i) return !1;
const o = ep(t, n);
if (!a) {
const e = r && i.matches(r);
return o(i) && !e
}
const s = Jd(i, o);
let l = -1;
return !(s < 0) && (r && (l = Jd(i, ep(null, r))), s > -1 && l < 0 || s < l)
}
function vp(e, t) {
return -2 === t.getId(e)
}
function _p(e, t) {
if (gd(e)) return !1;
const n = t.getId(e);
return !t.has(n) || (!e.parentNode || e.parentNode.nodeType !== e.DOCUMENT_NODE) && (!e.parentNode || _p(e.parentNode, t))
}
function yp(e) {
return Boolean(e.changedTouches)
}
function bp(e, t) {
return Boolean("IFRAME" === e.nodeName && t.getMeta(e))
}
function xp(e, t) {
return Boolean("LINK" === e.nodeName && e.nodeType === e.ELEMENT_NODE && e.getAttribute && "stylesheet" === e.getAttribute("rel") && t.getMeta(e))
}
function wp(e) {
return Boolean(e?.shadowRoot)
}
/[1-9][0-9]{12}/.test(Date.now().toString()) || (dp = () => (new Date).getTime());
class kp {
constructor() {
this.id = 1, this.styleIDMap = new WeakMap, this.idStyleMap = new Map
}
getId(e) {
return this.styleIDMap.get(e) ?? -1
}
has(e) {
return this.styleIDMap.has(e)
}
add(e, t) {
if (this.has(e)) return this.getId(e);
let n;
return n = void 0 === t ? this.id++ : t, this.styleIDMap.set(e, n), this.idStyleMap.set(n, e), n
}
getStyle(e) {
return this.idStyleMap.get(e) || null
}
reset() {
this.styleIDMap = new WeakMap, this.idStyleMap = new Map, this.id = 1
}
generateId() {
return this.id++
}
}
function Sp(e) {
let t = null;
return e.getRootNode?.()?.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.getRootNode().host && (t = e.getRootNode().host), t
}
function Ep(e) {
const t = e.ownerDocument;
if (!t) return !1;
const n = function (e) {
let t, n = e;
for (; t = Sp(n);) n = t;
return n
}(e);
return t.contains(n)
}
function Ip(e) {
const t = e.ownerDocument;
return !!t && (t.contains(e) || Ep(e))
}
const Cp = {};
function Op(e) {
const t = Cp[e];
if (t) return t;
const n = window.document;
let r = window[e];
if (n && "function" === typeof n.createElement) try {
const t = n.createElement("iframe");
t.hidden = !0, n.head.appendChild(t);
const a = t.contentWindow;
a && a[e] && (r = a[e]), n.head.removeChild(t)
} catch (Ab) {
}
return Cp[e] = r.bind(window)
}
function Pp(...e) {
return Op("setTimeout")(...e)
}
var Ap = (e => (e[e.DomContentLoaded = 0] = "DomContentLoaded", e[e.Load = 1] = "Load", e[e.FullSnapshot = 2] = "FullSnapshot", e[e.IncrementalSnapshot = 3] = "IncrementalSnapshot", e[e.Meta = 4] = "Meta", e[e.Custom = 5] = "Custom", e[e.Plugin = 6] = "Plugin", e))(Ap || {}),
Tp = (e => (e[e.Mutation = 0] = "Mutation", e[e.MouseMove = 1] = "MouseMove", e[e.MouseInteraction = 2] = "MouseInteraction", e[e.Scroll = 3] = "Scroll", e[e.ViewportResize = 4] = "ViewportResize", e[e.Input = 5] = "Input", e[e.TouchMove = 6] = "TouchMove", e[e.MediaInteraction = 7] = "MediaInteraction", e[e.StyleSheetRule = 8] = "StyleSheetRule", e[e.CanvasMutation = 9] = "CanvasMutation", e[e.Font = 10] = "Font", e[e.Log = 11] = "Log", e[e.Drag = 12] = "Drag", e[e.StyleDeclaration = 13] = "StyleDeclaration", e[e.Selection = 14] = "Selection", e[e.AdoptedStyleSheet = 15] = "AdoptedStyleSheet", e[e.CustomElement = 16] = "CustomElement", e))(Tp || {}),
Dp = (e => (e[e.MouseUp = 0] = "MouseUp", e[e.MouseDown = 1] = "MouseDown", e[e.Click = 2] = "Click", e[e.ContextMenu = 3] = "ContextMenu", e[e.DblClick = 4] = "DblClick", e[e.Focus = 5] = "Focus", e[e.Blur = 6] = "Blur", e[e.TouchStart = 7] = "TouchStart", e[e.TouchMove_Departed = 8] = "TouchMove_Departed", e[e.TouchEnd = 9] = "TouchEnd", e[e.TouchCancel = 10] = "TouchCancel", e))(Dp || {}),
Rp = (e => (e[e.Mouse = 0] = "Mouse", e[e.Pen = 1] = "Pen", e[e.Touch = 2] = "Touch", e))(Rp || {}),
Lp = (e => (e[e.Play = 0] = "Play", e[e.Pause = 1] = "Pause", e[e.Seeked = 2] = "Seeked", e[e.VolumeChange = 3] = "VolumeChange", e[e.RateChange = 4] = "RateChange", e))(Lp || {});
function jp(e) {
try {
return e.contentDocument
} catch (Ab) {
}
}
function Np(e) {
return "__ln" in e
}
class Mp {
constructor() {
this.length = 0, this.head = null, this.tail = null
}
get(e) {
if (e >= this.length) throw new Error("Position outside of list range");
let t = this.head;
for (let n = 0; n < e; n++) t = t?.next || null;
return t
}
addNode(e) {
const t = {value: e, previous: null, next: null};
if (e.__ln = t, e.previousSibling && Np(e.previousSibling)) {
const n = e.previousSibling.__ln.next;
t.next = n, t.previous = e.previousSibling.__ln, e.previousSibling.__ln.next = t, n && (n.previous = t)
} else if (e.nextSibling && Np(e.nextSibling) && e.nextSibling.__ln.previous) {
const n = e.nextSibling.__ln.previous;
t.previous = n, t.next = e.nextSibling.__ln, e.nextSibling.__ln.previous = t, n && (n.next = t)
} else this.head && (this.head.previous = t), t.next = this.head, this.head = t;
null === t.next && (this.tail = t), this.length++
}
removeNode(e) {
const t = e.__ln;
this.head && (t.previous ? (t.previous.next = t.next, t.next ? t.next.previous = t.previous : this.tail = t.previous) : (this.head = t.next, this.head ? this.head.previous = null : this.tail = null), e.__ln && delete e.__ln, this.length--)
}
}
const Fp = (e, t) => `${e}@${t}`;
class zp {
constructor() {
this.frozen = !1, this.locked = !1, this.texts = [], this.attributes = [], this.attributeMap = new WeakMap, this.removes = [], this.mapRemoves = [], this.movedMap = {}, this.addedSet = new Set, this.movedSet = new Set, this.droppedSet = new Set, this.processMutations = e => {
e.forEach(this.processMutation), this.emit()
}, this.emit = () => {
if (this.frozen || this.locked) return;
const e = [], t = new Set, n = new Mp, r = e => {
let t = e, n = -2;
for (; -2 === n;) t = t && t.nextSibling, n = t && this.mirror.getId(t);
return n
}, a = a => {
if (!a.parentNode || !Ip(a)) return;
const i = gd(a.parentNode) ? this.mirror.getId(Sp(a)) : this.mirror.getId(a.parentNode),
o = r(a);
if (-1 === i || -1 === o) return n.addNode(a);
const s = ap(a, {
doc: this.doc,
mirror: this.mirror,
blockClass: this.blockClass,
blockSelector: this.blockSelector,
maskAllText: this.maskAllText,
unblockSelector: this.unblockSelector,
maskTextClass: this.maskTextClass,
unmaskTextClass: this.unmaskTextClass,
maskTextSelector: this.maskTextSelector,
unmaskTextSelector: this.unmaskTextSelector,
skipChild: !0,
newlyAddedElement: !0,
inlineStylesheet: this.inlineStylesheet,
maskInputOptions: this.maskInputOptions,
maskAttributeFn: this.maskAttributeFn,
maskTextFn: this.maskTextFn,
maskInputFn: this.maskInputFn,
slimDOMOptions: this.slimDOMOptions,
dataURLOptions: this.dataURLOptions,
recordCanvas: this.recordCanvas,
inlineImages: this.inlineImages,
onSerialize: e => {
bp(e, this.mirror) && !gp(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) && this.iframeManager.addIframe(e), xp(e, this.mirror) && this.stylesheetManager.trackLinkElement(e), wp(a) && this.shadowDomManager.addShadowRoot(a.shadowRoot, this.doc)
},
onIframeLoad: (e, t) => {
gp(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) || (this.iframeManager.attachIframe(e, t), e.contentWindow && this.canvasManager.addWindow(e.contentWindow), this.shadowDomManager.observeAttachShadow(e))
},
onStylesheetLoad: (e, t) => {
this.stylesheetManager.attachLinkElement(e, t)
}
});
s && (e.push({parentId: i, nextId: o, node: s}), t.add(s.id))
};
for (; this.mapRemoves.length;) this.mirror.removeNodeFromMap(this.mapRemoves.shift());
for (const s of this.movedSet) Up(this.removes, s, this.mirror) && !this.movedSet.has(s.parentNode) || a(s);
for (const s of this.addedSet) Bp(this.droppedSet, s) || Up(this.removes, s, this.mirror) ? Bp(this.movedSet, s) ? a(s) : this.droppedSet.add(s) : a(s);
let i = null;
for (; n.length;) {
let e = null;
if (i) {
const t = this.mirror.getId(i.value.parentNode), n = r(i.value);
-1 !== t && -1 !== n && (e = i)
}
if (!e) {
let t = n.tail;
for (; t;) {
const n = t;
if (t = t.previous, n) {
const t = this.mirror.getId(n.value.parentNode);
if (-1 === r(n.value)) continue;
if (-1 !== t) {
e = n;
break
}
{
const t = n.value;
if (t.parentNode && t.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
const r = t.parentNode.host;
if (-1 !== this.mirror.getId(r)) {
e = n;
break
}
}
}
}
}
}
if (!e) {
for (; n.head;) n.removeNode(n.head.value);
break
}
i = e.previous, n.removeNode(e.value), a(e.value)
}
const o = {
texts: this.texts.map((e => ({
id: this.mirror.getId(e.node),
value: e.value
}))).filter((e => !t.has(e.id))).filter((e => this.mirror.has(e.id))),
attributes: this.attributes.map((e => {
const {attributes: t} = e;
if ("string" === typeof t.style) {
const n = JSON.stringify(e.styleDiff), r = JSON.stringify(e._unchangedStyles);
n.length < t.style.length && (n + r).split("var(").length === t.style.split("var(").length && (t.style = e.styleDiff)
}
return {id: this.mirror.getId(e.node), attributes: t}
})).filter((e => !t.has(e.id))).filter((e => this.mirror.has(e.id))),
removes: this.removes,
adds: e
};
(o.texts.length || o.attributes.length || o.removes.length || o.adds.length) && (this.texts = [], this.attributes = [], this.attributeMap = new WeakMap, this.removes = [], this.addedSet = new Set, this.movedSet = new Set, this.droppedSet = new Set, this.movedMap = {}, this.mutationCb(o))
}, this.processMutation = e => {
if (!vp(e.target, this.mirror)) switch (e.type) {
case"characterData": {
const t = e.target.textContent;
gp(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || t === e.oldValue || this.texts.push({
value: tp(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, this.maskAllText) && t ? this.maskTextFn ? this.maskTextFn(t, mp(e.target)) : t.replace(/[\S]/g, "*") : t,
node: e.target
});
break
}
case"attributes": {
const t = e.target;
let n = e.attributeName, r = e.target.getAttribute(n);
if ("value" === n) {
const n = Id(t), a = t.tagName;
r = Cd(t, a, n);
const i = xd({maskInputOptions: this.maskInputOptions, tagName: a, type: n});
r = wd({
isMasked: tp(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, i),
element: t,
value: r,
maskInputFn: this.maskInputFn
})
}
if (gp(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || r === e.oldValue) return;
let a = this.attributeMap.get(e.target);
if ("IFRAME" === t.tagName && "src" === n && !this.keepIframeSrcFn(r)) {
if (jp(t)) return;
n = "rr_src"
}
if (a || (a = {
node: e.target,
attributes: {},
styleDiff: {},
_unchangedStyles: {}
}, this.attributes.push(a), this.attributeMap.set(e.target, a)), "type" === n && "INPUT" === t.tagName && "password" === (e.oldValue || "").toLowerCase() && t.setAttribute("data-rr-is-password", "true"), !Zd(t.tagName, n) && (a.attributes[n] = Qd(this.doc, kd(t.tagName), kd(n), r, t, this.maskAttributeFn), "style" === n)) {
if (!this.unattachedDoc) try {
this.unattachedDoc = document.implementation.createHTMLDocument()
} catch (Ab) {
this.unattachedDoc = this.doc
}
const n = this.unattachedDoc.createElement("span");
e.oldValue && n.setAttribute("style", e.oldValue);
for (const e of Array.from(t.style)) {
const r = t.style.getPropertyValue(e), i = t.style.getPropertyPriority(e);
r !== n.style.getPropertyValue(e) || i !== n.style.getPropertyPriority(e) ? a.styleDiff[e] = "" === i ? r : [r, i] : a._unchangedStyles[e] = [r, i]
}
for (const e of Array.from(n.style)) "" === t.style.getPropertyValue(e) && (a.styleDiff[e] = !1)
}
break
}
case"childList":
if (gp(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !0)) return;
e.addedNodes.forEach((t => this.genAdds(t, e.target))), e.removedNodes.forEach((t => {
const n = this.mirror.getId(t),
r = gd(e.target) ? this.mirror.getId(e.target.host) : this.mirror.getId(e.target);
gp(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || vp(t, this.mirror) || !function (e, t) {
return -1 !== t.getId(e)
}(t, this.mirror) || (this.addedSet.has(t) ? (Vp(this.addedSet, t), this.droppedSet.add(t)) : this.addedSet.has(e.target) && -1 === n || _p(e.target, this.mirror) || (this.movedSet.has(t) && this.movedMap[Fp(n, r)] ? Vp(this.movedSet, t) : this.removes.push({
parentId: r,
id: n,
isShadow: !(!gd(e.target) || !vd(e.target)) || void 0
})), this.mapRemoves.push(t))
}))
}
}, this.genAdds = (e, t) => {
if (!this.processedNodeManager.inOtherBuffer(e, this) && !this.addedSet.has(e) && !this.movedSet.has(e)) {
if (this.mirror.hasNode(e)) {
if (vp(e, this.mirror)) return;
this.movedSet.add(e);
let n = null;
t && this.mirror.hasNode(t) && (n = this.mirror.getId(t)), n && -1 !== n && (this.movedMap[Fp(this.mirror.getId(e), n)] = !0)
} else this.addedSet.add(e), this.droppedSet.delete(e);
gp(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) || (e.childNodes.forEach((e => this.genAdds(e))), wp(e) && e.shadowRoot.childNodes.forEach((t => {
this.processedNodeManager.add(t, this), this.genAdds(t, e)
})))
}
}
}
init(e) {
["mutationCb", "blockClass", "blockSelector", "unblockSelector", "maskAllText", "maskTextClass", "unmaskTextClass", "maskTextSelector", "unmaskTextSelector", "inlineStylesheet", "maskInputOptions", "maskAttributeFn", "maskTextFn", "maskInputFn", "keepIframeSrcFn", "recordCanvas", "inlineImages", "slimDOMOptions", "dataURLOptions", "doc", "mirror", "iframeManager", "stylesheetManager", "shadowDomManager", "canvasManager", "processedNodeManager"].forEach((t => {
this[t] = e[t]
}))
}
freeze() {
this.frozen = !0, this.canvasManager.freeze()
}
unfreeze() {
this.frozen = !1, this.canvasManager.unfreeze(), this.emit()
}
isFrozen() {
return this.frozen
}
lock() {
this.locked = !0, this.canvasManager.lock()
}
unlock() {
this.locked = !1, this.canvasManager.unlock(), this.emit()
}
reset() {
this.shadowDomManager.reset(), this.canvasManager.reset()
}
}
function Vp(e, t) {
e.delete(t), t.childNodes.forEach((t => Vp(e, t)))
}
function Up(e, t, n) {
return 0 !== e.length && function (e, t, n) {
let r = t.parentNode;
for (; r;) {
const t = n.getId(r);
if (e.some((e => e.id === t))) return !0;
r = r.parentNode
}
return !1
}(e, t, n)
}
function Bp(e, t) {
return 0 !== e.size && Gp(e, t)
}
function Gp(e, t) {
const {parentNode: n} = t;
return !!n && (!!e.has(n) || Gp(e, n))
}
let $p;
const qp = e => {
if (!$p) return e;
return (...t) => {
try {
return e(...t)
} catch (n) {
if ($p && !0 === $p(n)) return () => {
};
throw n
}
}
}, Wp = [];
function Hp(e) {
try {
if ("composedPath" in e) {
const t = e.composedPath();
if (t.length) return t[0]
} else if ("path" in e && e.path.length) return e.path[0]
} catch {
}
return e && e.target
}
function Kp(e, t) {
const n = new zp;
Wp.push(n), n.init(e);
let r = window.MutationObserver || window.__rrMutationObserver;
const a = window?.Zone?.__symbol__?.("MutationObserver");
a && window[a] && (r = window[a]);
const i = new r(qp((t => {
e.onMutation && !1 === e.onMutation(t) || n.processMutations.bind(n)(t)
})));
return i.observe(t, {
attributes: !0,
attributeOldValue: !0,
characterData: !0,
characterDataOldValue: !0,
childList: !0,
subtree: !0
}), i
}
function Yp({
mouseInteractionCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: a,
unblockSelector: i,
sampling: o
}) {
if (!1 === o.mouseInteraction) return () => {
};
const s = !0 === o.mouseInteraction || void 0 === o.mouseInteraction ? {} : o.mouseInteraction, l = [];
let c = null;
return Object.keys(Dp).filter((e => Number.isNaN(Number(e)) && !e.endsWith("_Departed") && !1 !== s[e])).forEach((o => {
let s = kd(o);
const u = (t => o => {
const s = Hp(o);
if (gp(s, r, a, i, !0)) return;
let l = null, u = t;
if ("pointerType" in o) {
switch (o.pointerType) {
case"mouse":
l = Rp.Mouse;
break;
case"touch":
l = Rp.Touch;
break;
case"pen":
l = Rp.Pen
}
l === Rp.Touch ? Dp[t] === Dp.MouseDown ? u = "TouchStart" : Dp[t] === Dp.MouseUp && (u = "TouchEnd") : Rp.Pen
} else yp(o) && (l = Rp.Touch);
null !== l ? (c = l, (u.startsWith("Touch") && l === Rp.Touch || u.startsWith("Mouse") && l === Rp.Mouse) && (l = null)) : Dp[t] === Dp.Click && (l = c, c = null);
const d = yp(o) ? o.changedTouches[0] : o;
if (!d) return;
const p = n.getId(s), {clientX: h, clientY: f} = d;
qp(e)({type: Dp[u], id: p, x: h, y: f, ...null !== l && {pointerType: l}})
})(o);
if (window.PointerEvent) switch (Dp[o]) {
case Dp.MouseDown:
case Dp.MouseUp:
s = s.replace("mouse", "pointer");
break;
case Dp.TouchStart:
case Dp.TouchEnd:
return
}
l.push(ip(s, u, t))
})), qp((() => {
l.forEach((e => e()))
}))
}
function Qp({
scrollCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: a,
unblockSelector: i,
sampling: o
}) {
const s = qp(lp(qp((o => {
const s = Hp(o);
if (!s || gp(s, r, a, i, !0)) return;
const l = n.getId(s);
if (s === t && t.defaultView) {
const n = pp(t.defaultView);
e({id: l, x: n.left, y: n.top})
} else e({id: l, x: s.scrollLeft, y: s.scrollTop})
})), o.scroll || 100));
return ip("scroll", s, t)
}
const Zp = ["INPUT", "TEXTAREA", "SELECT"], Xp = new WeakMap;
function Jp({
inputCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: a,
unblockSelector: i,
ignoreClass: o,
ignoreSelector: s,
maskInputOptions: l,
maskInputFn: c,
sampling: u,
userTriggeredOnInput: d,
maskTextClass: p,
unmaskTextClass: h,
maskTextSelector: f,
unmaskTextSelector: m
}) {
function g(e) {
let n = Hp(e);
const u = e.isTrusted, g = n && Sd(n.tagName);
if ("OPTION" === g && (n = n.parentElement), !n || !g || Zp.indexOf(g) < 0 || gp(n, r, a, i, !0)) return;
const _ = n;
if (_.classList.contains(o) || s && _.matches(s)) return;
const y = Id(n);
let b = Cd(_, g, y), x = !1;
const w = xd({maskInputOptions: l, tagName: g, type: y}), k = tp(n, p, f, h, m, w);
"radio" !== y && "checkbox" !== y || (x = n.checked), b = wd({
isMasked: k,
element: n,
value: b,
maskInputFn: c
}), v(n, d ? {text: b, isChecked: x, userTriggered: u} : {text: b, isChecked: x});
const S = n.name;
"radio" === y && S && x && t.querySelectorAll(`input[type="radio"][name="${S}"]`).forEach((e => {
if (e !== n) {
const t = wd({isMasked: k, element: e, value: Cd(e, g, y), maskInputFn: c});
v(e, d ? {text: t, isChecked: !x, userTriggered: !1} : {text: t, isChecked: !x})
}
}))
}
function v(t, r) {
const a = Xp.get(t);
if (!a || a.text !== r.text || a.isChecked !== r.isChecked) {
Xp.set(t, r);
const a = n.getId(t);
qp(e)({...r, id: a})
}
}
const _ = ("last" === u.input ? ["change"] : ["input", "change"]).map((e => ip(e, qp(g), t))),
y = t.defaultView;
if (!y) return () => {
_.forEach((e => e()))
};
const b = y.Object.getOwnPropertyDescriptor(y.HTMLInputElement.prototype, "value"),
x = [[y.HTMLInputElement.prototype, "value"], [y.HTMLInputElement.prototype, "checked"], [y.HTMLSelectElement.prototype, "value"], [y.HTMLTextAreaElement.prototype, "value"], [y.HTMLSelectElement.prototype, "selectedIndex"], [y.HTMLOptionElement.prototype, "selected"]];
return b && b.set && _.push(...x.map((e => cp(e[0], e[1], {
set() {
qp(g)({target: this, isTrusted: !1})
}
}, !1, y)))), qp((() => {
_.forEach((e => e()))
}))
}
function eh(e) {
return function (e, t) {
if (ah("CSSGroupingRule") && e.parentRule instanceof CSSGroupingRule || ah("CSSMediaRule") && e.parentRule instanceof CSSMediaRule || ah("CSSSupportsRule") && e.parentRule instanceof CSSSupportsRule || ah("CSSConditionRule") && e.parentRule instanceof CSSConditionRule) {
const n = Array.from(e.parentRule.cssRules).indexOf(e);
t.unshift(n)
} else if (e.parentStyleSheet) {
const n = Array.from(e.parentStyleSheet.cssRules).indexOf(e);
t.unshift(n)
}
return t
}(e, [])
}
function th(e, t, n) {
let r, a;
return e ? (e.ownerNode ? r = t.getId(e.ownerNode) : a = n.getId(e), {styleId: a, id: r}) : {}
}
function nh({mirror: e, stylesheetManager: t}, n) {
let r = null;
r = "#document" === n.nodeName ? e.getId(n) : e.getId(n.host);
const a = "#document" === n.nodeName ? n.defaultView?.Document : n.ownerDocument?.defaultView?.ShadowRoot,
i = a?.prototype ? Object.getOwnPropertyDescriptor(a?.prototype, "adoptedStyleSheets") : void 0;
return null !== r && -1 !== r && a && i ? (Object.defineProperty(n, "adoptedStyleSheets", {
configurable: i.configurable,
enumerable: i.enumerable,
get() {
return i.get?.call(this)
},
set(e) {
const n = i.set?.call(this, e);
if (null !== r && -1 !== r) try {
t.adoptStyleSheets(e, r)
} catch (Ab) {
}
return n
}
}), qp((() => {
Object.defineProperty(n, "adoptedStyleSheets", {
configurable: i.configurable,
enumerable: i.enumerable,
get: i.get,
set: i.set
})
}))) : () => {
}
}
function rh(e, t = {}) {
const n = e.doc.defaultView;
if (!n) return () => {
};
let r;
e.recordDOM && (r = Kp(e, e.doc));
const a = function ({mousemoveCb: e, sampling: t, doc: n, mirror: r}) {
if (!1 === t.mousemove) return () => {
};
const a = "number" === typeof t.mousemove ? t.mousemove : 50,
i = "number" === typeof t.mousemoveCallback ? t.mousemoveCallback : 500;
let o, s = [];
const l = lp(qp((t => {
const n = Date.now() - o;
e(s.map((e => (e.timeOffset -= n, e))), t), s = [], o = null
})), i), c = qp(lp(qp((e => {
const t = Hp(e), {clientX: n, clientY: a} = yp(e) ? e.changedTouches[0] : e;
o || (o = dp()), s.push({
x: n,
y: a,
id: r.getId(t),
timeOffset: dp() - o
}), l("undefined" !== typeof DragEvent && e instanceof DragEvent ? Tp.Drag : e instanceof MouseEvent ? Tp.MouseMove : Tp.TouchMove)
})), a, {trailing: !1})), u = [ip("mousemove", c, n), ip("touchmove", c, n), ip("drag", c, n)];
return qp((() => {
u.forEach((e => e()))
}))
}(e), i = Yp(e), o = Qp(e), s = function ({viewportResizeCb: e}, {win: t}) {
let n = -1, r = -1;
return ip("resize", qp(lp(qp((() => {
const t = hp(), a = fp();
n === t && r === a || (e({width: Number(a), height: Number(t)}), n = t, r = a)
})), 200)), t)
}(e, {win: n}), l = Jp(e), c = function ({
mediaInteractionCb: e,
blockClass: t,
blockSelector: n,
unblockSelector: r,
mirror: a,
sampling: i,
doc: o
}) {
const s = qp((o => lp(qp((i => {
const s = Hp(i);
if (!s || gp(s, t, n, r, !0)) return;
const {currentTime: l, volume: c, muted: u, playbackRate: d} = s;
e({type: o, id: a.getId(s), currentTime: l, volume: c, muted: u, playbackRate: d})
})), i.media || 500))),
l = [ip("play", s(Lp.Play), o), ip("pause", s(Lp.Pause), o), ip("seeked", s(Lp.Seeked), o), ip("volumechange", s(Lp.VolumeChange), o), ip("ratechange", s(Lp.RateChange), o)];
return qp((() => {
l.forEach((e => e()))
}))
}(e);
let u = () => {
}, d = () => {
}, p = () => {
}, h = () => {
};
e.recordDOM && (u = function ({styleSheetRuleCb: e, mirror: t, stylesheetManager: n}, {win: r}) {
if (!r.CSSStyleSheet || !r.CSSStyleSheet.prototype) return () => {
};
const a = r.CSSStyleSheet.prototype.insertRule;
r.CSSStyleSheet.prototype.insertRule = new Proxy(a, {
apply: qp(((r, a, i) => {
const [o, s] = i, {id: l, styleId: c} = th(a, t, n.styleMirror);
return (l && -1 !== l || c && -1 !== c) && e({
id: l,
styleId: c,
adds: [{rule: o, index: s}]
}), r.apply(a, i)
}))
});
const i = r.CSSStyleSheet.prototype.deleteRule;
let o, s;
r.CSSStyleSheet.prototype.deleteRule = new Proxy(i, {
apply: qp(((r, a, i) => {
const [o] = i, {id: s, styleId: l} = th(a, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
removes: [{index: o}]
}), r.apply(a, i)
}))
}), r.CSSStyleSheet.prototype.replace && (o = r.CSSStyleSheet.prototype.replace, r.CSSStyleSheet.prototype.replace = new Proxy(o, {
apply: qp(((r, a, i) => {
const [o] = i, {id: s, styleId: l} = th(a, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({id: s, styleId: l, replace: o}), r.apply(a, i)
}))
})), r.CSSStyleSheet.prototype.replaceSync && (s = r.CSSStyleSheet.prototype.replaceSync, r.CSSStyleSheet.prototype.replaceSync = new Proxy(s, {
apply: qp(((r, a, i) => {
const [o] = i, {id: s, styleId: l} = th(a, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({id: s, styleId: l, replaceSync: o}), r.apply(a, i)
}))
}));
const l = {};
ih("CSSGroupingRule") ? l.CSSGroupingRule = r.CSSGroupingRule : (ih("CSSMediaRule") && (l.CSSMediaRule = r.CSSMediaRule), ih("CSSConditionRule") && (l.CSSConditionRule = r.CSSConditionRule), ih("CSSSupportsRule") && (l.CSSSupportsRule = r.CSSSupportsRule));
const c = {};
return Object.entries(l).forEach((([r, a]) => {
c[r] = {
insertRule: a.prototype.insertRule,
deleteRule: a.prototype.deleteRule
}, a.prototype.insertRule = new Proxy(c[r].insertRule, {
apply: qp(((r, a, i) => {
const [o, s] = i, {id: l, styleId: c} = th(a.parentStyleSheet, t, n.styleMirror);
return (l && -1 !== l || c && -1 !== c) && e({
id: l,
styleId: c,
adds: [{rule: o, index: [...eh(a), s || 0]}]
}), r.apply(a, i)
}))
}), a.prototype.deleteRule = new Proxy(c[r].deleteRule, {
apply: qp(((r, a, i) => {
const [o] = i, {id: s, styleId: l} = th(a.parentStyleSheet, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
removes: [{index: [...eh(a), o]}]
}), r.apply(a, i)
}))
})
})), qp((() => {
r.CSSStyleSheet.prototype.insertRule = a, r.CSSStyleSheet.prototype.deleteRule = i, o && (r.CSSStyleSheet.prototype.replace = o), s && (r.CSSStyleSheet.prototype.replaceSync = s), Object.entries(l).forEach((([e, t]) => {
t.prototype.insertRule = c[e].insertRule, t.prototype.deleteRule = c[e].deleteRule
}))
}))
}(e, {win: n}), d = nh(e, e.doc), p = function ({
styleDeclarationCb: e,
mirror: t,
ignoreCSSAttributes: n,
stylesheetManager: r
}, {win: a}) {
const i = a.CSSStyleDeclaration.prototype.setProperty;
a.CSSStyleDeclaration.prototype.setProperty = new Proxy(i, {
apply: qp(((a, o, s) => {
const [l, c, u] = s;
if (n.has(l)) return i.apply(o, [l, c, u]);
const {id: d, styleId: p} = th(o.parentRule?.parentStyleSheet, t, r.styleMirror);
return (d && -1 !== d || p && -1 !== p) && e({
id: d,
styleId: p,
set: {property: l, value: c, priority: u},
index: eh(o.parentRule)
}), a.apply(o, s)
}))
});
const o = a.CSSStyleDeclaration.prototype.removeProperty;
return a.CSSStyleDeclaration.prototype.removeProperty = new Proxy(o, {
apply: qp(((a, i, s) => {
const [l] = s;
if (n.has(l)) return o.apply(i, [l]);
const {id: c, styleId: u} = th(i.parentRule?.parentStyleSheet, t, r.styleMirror);
return (c && -1 !== c || u && -1 !== u) && e({
id: c,
styleId: u,
remove: {property: l},
index: eh(i.parentRule)
}), a.apply(i, s)
}))
}), qp((() => {
a.CSSStyleDeclaration.prototype.setProperty = i, a.CSSStyleDeclaration.prototype.removeProperty = o
}))
}(e, {win: n}), e.collectFonts && (h = function ({fontCb: e, doc: t}) {
const n = t.defaultView;
if (!n) return () => {
};
const r = [], a = new WeakMap, i = n.FontFace;
n.FontFace = function (e, t, n) {
const r = new i(e, t, n);
return a.set(r, {
family: e,
buffer: "string" !== typeof t,
descriptors: n,
fontSource: "string" === typeof t ? t : JSON.stringify(Array.from(new Uint8Array(t)))
}), r
};
const o = up(t.fonts, "add", (function (t) {
return function (n) {
return Pp(qp((() => {
const t = a.get(n);
t && (e(t), a.delete(n))
})), 0), t.apply(this, [n])
}
}));
return r.push((() => {
n.FontFace = i
})), r.push(o), qp((() => {
r.forEach((e => e()))
}))
}(e)));
const f = function (e) {
const {doc: t, mirror: n, blockClass: r, blockSelector: a, unblockSelector: i, selectionCb: o} = e;
let s = !0;
const l = qp((() => {
const e = t.getSelection();
if (!e || s && e?.isCollapsed) return;
s = e.isCollapsed || !1;
const l = [], c = e.rangeCount || 0;
for (let t = 0; t < c; t++) {
const o = e.getRangeAt(t), {
startContainer: s,
startOffset: c,
endContainer: u,
endOffset: d
} = o;
gp(s, r, a, i, !0) || gp(u, r, a, i, !0) || l.push({
start: n.getId(s),
startOffset: c,
end: n.getId(u),
endOffset: d
})
}
o({ranges: l})
}));
return l(), ip("selectionchange", l)
}(e), m = function ({doc: e, customElementCb: t}) {
const n = e.defaultView;
return n && n.customElements ? up(n.customElements, "define", (function (e) {
return function (n, r, a) {
try {
t({define: {name: n}})
} catch (Ab) {
}
return e.apply(this, [n, r, a])
}
})) : () => {
}
}(e), g = [];
for (const v of e.plugins) g.push(v.observer(v.callback, n, v.options));
return qp((() => {
Wp.forEach((e => e.reset())), r?.disconnect(), a(), i(), o(), s(), l(), c(), u(), d(), p(), h(), f(), m(), g.forEach((e => e()))
}))
}
function ah(e) {
return "undefined" !== typeof window[e]
}
function ih(e) {
return Boolean("undefined" !== typeof window[e] && window[e].prototype && "insertRule" in window[e].prototype && "deleteRule" in window[e].prototype)
}
class oh {
constructor(e) {
this.generateIdFn = e, this.iframeIdToRemoteIdMap = new WeakMap, this.iframeRemoteIdToIdMap = new WeakMap
}
getId(e, t, n, r) {
const a = n || this.getIdToRemoteIdMap(e), i = r || this.getRemoteIdToIdMap(e);
let o = a.get(t);
return o || (o = this.generateIdFn(), a.set(t, o), i.set(o, t)), o
}
getIds(e, t) {
const n = this.getIdToRemoteIdMap(e), r = this.getRemoteIdToIdMap(e);
return t.map((t => this.getId(e, t, n, r)))
}
getRemoteId(e, t, n) {
const r = n || this.getRemoteIdToIdMap(e);
if ("number" !== typeof t) return t;
const a = r.get(t);
return a || -1
}
getRemoteIds(e, t) {
const n = this.getRemoteIdToIdMap(e);
return t.map((t => this.getRemoteId(e, t, n)))
}
reset(e) {
if (!e) return this.iframeIdToRemoteIdMap = new WeakMap, void (this.iframeRemoteIdToIdMap = new WeakMap);
this.iframeIdToRemoteIdMap.delete(e), this.iframeRemoteIdToIdMap.delete(e)
}
getIdToRemoteIdMap(e) {
let t = this.iframeIdToRemoteIdMap.get(e);
return t || (t = new Map, this.iframeIdToRemoteIdMap.set(e, t)), t
}
getRemoteIdToIdMap(e) {
let t = this.iframeRemoteIdToIdMap.get(e);
return t || (t = new Map, this.iframeRemoteIdToIdMap.set(e, t)), t
}
}
class sh {
constructor() {
this.crossOriginIframeMirror = new oh(Nd), this.crossOriginIframeRootIdMap = new WeakMap
}
addIframe() {
}
addLoadListener() {
}
attachIframe() {
}
}
class lh {
constructor(e) {
this.iframes = new WeakMap, this.crossOriginIframeMap = new WeakMap, this.crossOriginIframeMirror = new oh(Nd), this.crossOriginIframeRootIdMap = new WeakMap, this.mutationCb = e.mutationCb, this.wrappedEmit = e.wrappedEmit, this.stylesheetManager = e.stylesheetManager, this.recordCrossOriginIframes = e.recordCrossOriginIframes, this.crossOriginIframeStyleMirror = new oh(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)), this.mirror = e.mirror, this.recordCrossOriginIframes && window.addEventListener("message", this.handleMessage.bind(this))
}
addIframe(e) {
this.iframes.set(e, !0), e.contentWindow && this.crossOriginIframeMap.set(e.contentWindow, e)
}
addLoadListener(e) {
this.loadListener = e
}
attachIframe(e, t) {
this.mutationCb({
adds: [{parentId: this.mirror.getId(e), nextId: null, node: t}],
removes: [],
texts: [],
attributes: [],
isAttachIframe: !0
}), this.recordCrossOriginIframes && e.contentWindow?.addEventListener("message", this.handleMessage.bind(this)), this.loadListener?.(e);
const n = jp(e);
n && n.adoptedStyleSheets && n.adoptedStyleSheets.length > 0 && this.stylesheetManager.adoptStyleSheets(n.adoptedStyleSheets, this.mirror.getId(n))
}
handleMessage(e) {
const t = e;
if ("rrweb" !== t.data.type || t.origin !== t.data.origin) return;
if (!e.source) return;
const n = this.crossOriginIframeMap.get(e.source);
if (!n) return;
const r = this.transformCrossOriginEvent(n, t.data.event);
r && this.wrappedEmit(r, t.data.isCheckout)
}
transformCrossOriginEvent(e, t) {
switch (t.type) {
case Ap.FullSnapshot: {
this.crossOriginIframeMirror.reset(e), this.crossOriginIframeStyleMirror.reset(e), this.replaceIdOnNode(t.data.node, e);
const n = t.data.node.id;
return this.crossOriginIframeRootIdMap.set(e, n), this.patchRootIdOnNode(t.data.node, n), {
timestamp: t.timestamp,
type: Ap.IncrementalSnapshot,
data: {
source: Tp.Mutation,
adds: [{parentId: this.mirror.getId(e), nextId: null, node: t.data.node}],
removes: [],
texts: [],
attributes: [],
isAttachIframe: !0
}
}
}
case Ap.Meta:
case Ap.Load:
case Ap.DomContentLoaded:
return !1;
case Ap.Plugin:
return t;
case Ap.Custom:
return this.replaceIds(t.data.payload, e, ["id", "parentId", "previousId", "nextId"]), t;
case Ap.IncrementalSnapshot:
switch (t.data.source) {
case Tp.Mutation:
return t.data.adds.forEach((t => {
this.replaceIds(t, e, ["parentId", "nextId", "previousId"]), this.replaceIdOnNode(t.node, e);
const n = this.crossOriginIframeRootIdMap.get(e);
n && this.patchRootIdOnNode(t.node, n)
})), t.data.removes.forEach((t => {
this.replaceIds(t, e, ["parentId", "id"])
})), t.data.attributes.forEach((t => {
this.replaceIds(t, e, ["id"])
})), t.data.texts.forEach((t => {
this.replaceIds(t, e, ["id"])
})), t;
case Tp.Drag:
case Tp.TouchMove:
case Tp.MouseMove:
return t.data.positions.forEach((t => {
this.replaceIds(t, e, ["id"])
})), t;
case Tp.ViewportResize:
return !1;
case Tp.MediaInteraction:
case Tp.MouseInteraction:
case Tp.Scroll:
case Tp.CanvasMutation:
case Tp.Input:
return this.replaceIds(t.data, e, ["id"]), t;
case Tp.StyleSheetRule:
case Tp.StyleDeclaration:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleId"]), t;
case Tp.Font:
return t;
case Tp.Selection:
return t.data.ranges.forEach((t => {
this.replaceIds(t, e, ["start", "end"])
})), t;
case Tp.AdoptedStyleSheet:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleIds"]), t.data.styles?.forEach((t => {
this.replaceStyleIds(t, e, ["styleId"])
})), t
}
}
return !1
}
replace(e, t, n, r) {
for (const a of r) (Array.isArray(t[a]) || "number" === typeof t[a]) && (Array.isArray(t[a]) ? t[a] = e.getIds(n, t[a]) : t[a] = e.getId(n, t[a]));
return t
}
replaceIds(e, t, n) {
return this.replace(this.crossOriginIframeMirror, e, t, n)
}
replaceStyleIds(e, t, n) {
return this.replace(this.crossOriginIframeStyleMirror, e, t, n)
}
replaceIdOnNode(e, t) {
this.replaceIds(e, t, ["id", "rootId"]), "childNodes" in e && e.childNodes.forEach((e => {
this.replaceIdOnNode(e, t)
}))
}
patchRootIdOnNode(e, t) {
e.type === md.Document || e.rootId || (e.rootId = t), "childNodes" in e && e.childNodes.forEach((e => {
this.patchRootIdOnNode(e, t)
}))
}
}
class ch {
init() {
}
addShadowRoot() {
}
observeAttachShadow() {
}
reset() {
}
}
class uh {
constructor(e) {
this.shadowDoms = new WeakSet, this.restoreHandlers = [], this.mutationCb = e.mutationCb, this.scrollCb = e.scrollCb, this.bypassOptions = e.bypassOptions, this.mirror = e.mirror, this.init()
}
init() {
this.reset(), this.patchAttachShadow(Element, document)
}
addShadowRoot(e, t) {
if (!vd(e)) return;
if (this.shadowDoms.has(e)) return;
this.shadowDoms.add(e), this.bypassOptions.canvasManager.addShadowRoot(e);
const n = Kp({
...this.bypassOptions,
doc: t,
mutationCb: this.mutationCb,
mirror: this.mirror,
shadowDomManager: this
}, e);
this.restoreHandlers.push((() => n.disconnect())), this.restoreHandlers.push(Qp({
...this.bypassOptions,
scrollCb: this.scrollCb,
doc: e,
mirror: this.mirror
})), Pp((() => {
e.adoptedStyleSheets && e.adoptedStyleSheets.length > 0 && this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets, this.mirror.getId(e.host)), this.restoreHandlers.push(nh({
mirror: this.mirror,
stylesheetManager: this.bypassOptions.stylesheetManager
}, e))
}), 0)
}
observeAttachShadow(e) {
const t = jp(e), n = function (e) {
try {
return e.contentWindow
} catch (Ab) {
}
}(e);
t && n && this.patchAttachShadow(n.Element, t)
}
patchAttachShadow(e, t) {
const n = this;
this.restoreHandlers.push(up(e.prototype, "attachShadow", (function (e) {
return function (r) {
const a = e.call(this, r);
return this.shadowRoot && Ip(this) && n.addShadowRoot(this.shadowRoot, t), a
}
})))
}
reset() {
this.restoreHandlers.forEach((e => {
try {
e()
} catch (Ab) {
}
})), this.restoreHandlers = [], this.shadowDoms = new WeakSet, this.bypassOptions.canvasManager.resetShadowRoots()
}
}
for (var dh = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ph = "undefined" === typeof Uint8Array ? [] : new Uint8Array(256), hh = 0; hh < dh.length; hh++) ph[dh.charCodeAt(hh)] = hh;
class fh {
reset() {
}
freeze() {
}
unfreeze() {
}
lock() {
}
unlock() {
}
snapshot() {
}
addWindow() {
}
addShadowRoot() {
}
resetShadowRoots() {
}
}
class mh {
constructor(e) {
this.trackedLinkElements = new WeakSet, this.styleMirror = new kp, this.mutationCb = e.mutationCb, this.adoptedStyleSheetCb = e.adoptedStyleSheetCb
}
attachLinkElement(e, t) {
"_cssText" in t.attributes && this.mutationCb({
adds: [],
removes: [],
texts: [],
attributes: [{id: t.id, attributes: t.attributes}]
}), this.trackLinkElement(e)
}
trackLinkElement(e) {
this.trackedLinkElements.has(e) || (this.trackedLinkElements.add(e), this.trackStylesheetInLinkElement(e))
}
adoptStyleSheets(e, t) {
if (0 === e.length) return;
const n = {id: t, styleIds: []}, r = [];
for (const a of e) {
let e;
this.styleMirror.has(a) ? e = this.styleMirror.getId(a) : (e = this.styleMirror.add(a), r.push({
styleId: e,
rules: Array.from(a.rules || CSSRule, ((e, t) => ({rule: yd(e), index: t})))
})), n.styleIds.push(e)
}
r.length > 0 && (n.styles = r), this.adoptedStyleSheetCb(n)
}
reset() {
this.styleMirror.reset(), this.trackedLinkElements = new WeakSet
}
trackStylesheetInLinkElement(e) {
}
}
class gh {
constructor() {
this.nodeMap = new WeakMap, this.active = !1
}
inOtherBuffer(e, t) {
const n = this.nodeMap.get(e);
return n && Array.from(n).some((e => e !== t))
}
add(e, t) {
this.active || (this.active = !0, function (...e) {
Op("requestAnimationFrame")(...e)
}((() => {
this.nodeMap = new WeakMap, this.active = !1
}))), this.nodeMap.set(e, (this.nodeMap.get(e) || new Set).add(t))
}
destroy() {
}
}
let vh, _h;
try {
if (2 !== Array.from([1], (e => 2 * e))[0]) {
const e = document.createElement("iframe");
document.body.appendChild(e), Array.from = e.contentWindow?.Array.from || Array.from, document.body.removeChild(e)
}
} catch (sB) {
console.debug("Unable to override Array.from", sB)
}
const yh = new bd;
function bh(e = {}) {
const {
emit: t,
checkoutEveryNms: n,
checkoutEveryNth: r,
blockClass: a = "rr-block",
blockSelector: i = null,
unblockSelector: o = null,
ignoreClass: s = "rr-ignore",
ignoreSelector: l = null,
maskAllText: c = !1,
maskTextClass: u = "rr-mask",
unmaskTextClass: d = null,
maskTextSelector: p = null,
unmaskTextSelector: h = null,
inlineStylesheet: f = !0,
maskAllInputs: m,
maskInputOptions: g,
slimDOMOptions: v,
maskAttributeFn: _,
maskInputFn: y,
maskTextFn: b,
maxCanvasSize: x = null,
packFn: w,
sampling: k = {},
dataURLOptions: S = {},
mousemoveWait: E,
recordDOM: I = !0,
recordCanvas: C = !1,
recordCrossOriginIframes: O = !1,
recordAfter: P = ("DOMContentLoaded" === e.recordAfter ? e.recordAfter : "load"),
userTriggeredOnInput: A = !1,
collectFonts: T = !1,
inlineImages: D = !1,
plugins: R,
keepIframeSrcFn: L = (() => !1),
ignoreCSSAttributes: j = new Set([]),
errorHandler: N,
onMutation: M,
getCanvasManager: F
} = e;
$p = N;
const z = !O || window.parent === window;
let V = !1;
if (!z) try {
window.parent.document && (V = !1)
} catch (Ab) {
V = !0
}
if (z && !t) throw new Error("emit function is required");
if (!z && !V) return () => {
};
void 0 !== E && void 0 === k.mousemove && (k.mousemove = E), yh.reset();
const U = !0 === m ? {
color: !0,
date: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0,
textarea: !0,
select: !0,
radio: !0,
checkbox: !0
} : void 0 !== g ? g : {}, B = !0 === v || "all" === v ? {
script: !0,
comment: !0,
headFavicon: !0,
headWhitespace: !0,
headMetaSocial: !0,
headMetaRobots: !0,
headMetaHttpEquiv: !0,
headMetaVerification: !0,
headMetaAuthorship: "all" === v,
headMetaDescKeywords: "all" === v
} : v || {};
let G;
!function (e = window) {
"NodeList" in e && !e.NodeList.prototype.forEach && (e.NodeList.prototype.forEach = Array.prototype.forEach), "DOMTokenList" in e && !e.DOMTokenList.prototype.forEach && (e.DOMTokenList.prototype.forEach = Array.prototype.forEach), Node.prototype.contains || (Node.prototype.contains = (...e) => {
let t = e[0];
if (!(0 in e)) throw new TypeError("1 argument is required");
do {
if (this === t) return !0
} while (t = t && t.parentNode);
return !1
})
}();
let $ = 0;
const q = e => {
for (const t of R || []) t.eventProcessor && (e = t.eventProcessor(e));
return w && !V && (e = w(e)), e
};
vh = (e, a) => {
const i = e;
if (i.timestamp = dp(), !Wp[0]?.isFrozen() || i.type === Ap.FullSnapshot || i.type === Ap.IncrementalSnapshot && i.data.source === Tp.Mutation || Wp.forEach((e => e.unfreeze())), z) t?.(q(i), a); else if (V) {
const e = {type: "rrweb", event: q(i), origin: window.location.origin, isCheckout: a};
window.parent.postMessage(e, "*")
}
if (i.type === Ap.FullSnapshot) G = i, $ = 0; else if (i.type === Ap.IncrementalSnapshot) {
if (i.data.source === Tp.Mutation && i.data.isAttachIframe) return;
$++;
const e = r && $ >= r, t = n && G && i.timestamp - G.timestamp > n;
(e || t) && ee(!0)
}
};
const W = e => {
vh({type: Ap.IncrementalSnapshot, data: {source: Tp.Mutation, ...e}})
}, H = e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.Scroll, ...e}}),
K = e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.CanvasMutation, ...e}}), Y = new mh({
mutationCb: W,
adoptedStyleSheetCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.AdoptedStyleSheet, ...e}})
}), Q = "boolean" === typeof __RRWEB_EXCLUDE_IFRAME__ && __RRWEB_EXCLUDE_IFRAME__ ? new sh : new lh({
mirror: yh,
mutationCb: W,
stylesheetManager: Y,
recordCrossOriginIframes: O,
wrappedEmit: vh
});
for (const ne of R || []) ne.getMirror && ne.getMirror({
nodeMirror: yh,
crossOriginIframeMirror: Q.crossOriginIframeMirror,
crossOriginIframeStyleMirror: Q.crossOriginIframeStyleMirror
});
const Z = new gh, X = function (e, t) {
try {
return e ? e(t) : new fh
} catch {
return console.warn("Unable to initialize CanvasManager"), new fh
}
}(F, {
mirror: yh,
win: window,
mutationCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.CanvasMutation, ...e}}),
recordCanvas: C,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maxCanvasSize: x,
sampling: k.canvas,
dataURLOptions: S,
errorHandler: N
}),
J = "boolean" === typeof __RRWEB_EXCLUDE_SHADOW_DOM__ && __RRWEB_EXCLUDE_SHADOW_DOM__ ? new ch : new uh({
mutationCb: W,
scrollCb: H,
bypassOptions: {
onMutation: M,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
inlineStylesheet: f,
maskInputOptions: U,
dataURLOptions: S,
maskAttributeFn: _,
maskTextFn: b,
maskInputFn: y,
recordCanvas: C,
inlineImages: D,
sampling: k,
slimDOMOptions: B,
iframeManager: Q,
stylesheetManager: Y,
canvasManager: X,
keepIframeSrcFn: L,
processedNodeManager: Z
},
mirror: yh
}), ee = (e = !1) => {
if (!I) return;
vh({
type: Ap.Meta,
data: {href: window.location.href, width: fp(), height: hp()}
}, e), Y.reset(), J.init(), Wp.forEach((e => e.lock()));
const t = function (e, t) {
const {
mirror: n = new bd,
blockClass: r = "rr-block",
blockSelector: a = null,
unblockSelector: i = null,
maskAllText: o = !1,
maskTextClass: s = "rr-mask",
unmaskTextClass: l = null,
maskTextSelector: c = null,
unmaskTextSelector: u = null,
inlineStylesheet: d = !0,
inlineImages: p = !1,
recordCanvas: h = !1,
maskAllInputs: f = !1,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOM: _ = !1,
dataURLOptions: y,
preserveWhiteSpace: b,
onSerialize: x,
onIframeLoad: w,
iframeLoadTimeout: k,
onStylesheetLoad: S,
stylesheetLoadTimeout: E,
keepIframeSrcFn: I = (() => !1)
} = t || {};
return ap(e, {
doc: e,
mirror: n,
blockClass: r,
blockSelector: a,
unblockSelector: i,
maskAllText: o,
maskTextClass: s,
unmaskTextClass: l,
maskTextSelector: c,
unmaskTextSelector: u,
skipChild: !1,
inlineStylesheet: d,
maskInputOptions: !0 === f ? {
color: !0,
date: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0,
textarea: !0,
select: !0
} : !1 === f ? {} : f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
slimDOMOptions: !0 === _ || "all" === _ ? {
script: !0,
comment: !0,
headFavicon: !0,
headWhitespace: !0,
headMetaDescKeywords: "all" === _,
headMetaSocial: !0,
headMetaRobots: !0,
headMetaHttpEquiv: !0,
headMetaAuthorship: !0,
headMetaVerification: !0
} : !1 === _ ? {} : _,
dataURLOptions: y,
inlineImages: p,
recordCanvas: h,
preserveWhiteSpace: b,
onSerialize: x,
onIframeLoad: w,
iframeLoadTimeout: k,
onStylesheetLoad: S,
stylesheetLoadTimeout: E,
keepIframeSrcFn: I,
newlyAddedElement: !1
})
}(document, {
mirror: yh,
blockClass: a,
blockSelector: i,
unblockSelector: o,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
inlineStylesheet: f,
maskAllInputs: U,
maskAttributeFn: _,
maskInputFn: y,
maskTextFn: b,
slimDOM: B,
dataURLOptions: S,
recordCanvas: C,
inlineImages: D,
onSerialize: e => {
bp(e, yh) && Q.addIframe(e), xp(e, yh) && Y.trackLinkElement(e), wp(e) && J.addShadowRoot(e.shadowRoot, document)
},
onIframeLoad: (e, t) => {
Q.attachIframe(e, t), e.contentWindow && X.addWindow(e.contentWindow), J.observeAttachShadow(e)
},
onStylesheetLoad: (e, t) => {
Y.attachLinkElement(e, t)
},
keepIframeSrcFn: L
});
if (!t) return console.warn("Failed to snapshot the document");
vh({
type: Ap.FullSnapshot,
data: {node: t, initialOffset: pp(window)}
}), Wp.forEach((e => e.unlock())), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && Y.adoptStyleSheets(document.adoptedStyleSheets, yh.getId(document))
};
_h = ee;
try {
const e = [], t = e => qp(rh)({
onMutation: M,
mutationCb: W,
mousemoveCb: (e, t) => vh({type: Ap.IncrementalSnapshot, data: {source: t, positions: e}}),
mouseInteractionCb: e => vh({
type: Ap.IncrementalSnapshot,
data: {source: Tp.MouseInteraction, ...e}
}),
scrollCb: H,
viewportResizeCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.ViewportResize, ...e}}),
inputCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.Input, ...e}}),
mediaInteractionCb: e => vh({
type: Ap.IncrementalSnapshot,
data: {source: Tp.MediaInteraction, ...e}
}),
styleSheetRuleCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.StyleSheetRule, ...e}}),
styleDeclarationCb: e => vh({
type: Ap.IncrementalSnapshot,
data: {source: Tp.StyleDeclaration, ...e}
}),
canvasMutationCb: K,
fontCb: e => vh({type: Ap.IncrementalSnapshot, data: {source: Tp.Font, ...e}}),
selectionCb: e => {
vh({type: Ap.IncrementalSnapshot, data: {source: Tp.Selection, ...e}})
},
customElementCb: e => {
vh({type: Ap.IncrementalSnapshot, data: {source: Tp.CustomElement, ...e}})
},
blockClass: a,
ignoreClass: s,
ignoreSelector: l,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
maskInputOptions: U,
inlineStylesheet: f,
sampling: k,
recordDOM: I,
recordCanvas: C,
inlineImages: D,
userTriggeredOnInput: A,
collectFonts: T,
doc: e,
maskAttributeFn: _,
maskInputFn: y,
maskTextFn: b,
keepIframeSrcFn: L,
blockSelector: i,
unblockSelector: o,
slimDOMOptions: B,
dataURLOptions: S,
mirror: yh,
iframeManager: Q,
stylesheetManager: Y,
shadowDomManager: J,
processedNodeManager: Z,
canvasManager: X,
ignoreCSSAttributes: j,
plugins: R?.filter((e => e.observer))?.map((e => ({
observer: e.observer,
options: e.options,
callback: t => vh({type: Ap.Plugin, data: {plugin: e.name, payload: t}})
}))) || []
}, {});
Q.addLoadListener((n => {
try {
e.push(t(n.contentDocument))
} catch (r) {
console.warn(r)
}
}));
const n = () => {
ee(), e.push(t(document))
};
return "interactive" === document.readyState || "complete" === document.readyState ? n() : (e.push(ip("DOMContentLoaded", (() => {
vh({type: Ap.DomContentLoaded, data: {}}), "DOMContentLoaded" === P && n()
}))), e.push(ip("load", (() => {
vh({type: Ap.Load, data: {}}), "load" === P && n()
}), window))), () => {
e.forEach((e => e())), Z.destroy(), _h = void 0, $p = void 0
}
} catch (te) {
console.warn(te)
}
}
var xh;
bh.mirror = yh, bh.takeFullSnapshot = function (e) {
if (!_h) throw new Error("please take full snapshot after start recording");
_h(e)
}, function (e) {
e[e.NotStarted = 0] = "NotStarted", e[e.Running = 1] = "Running", e[e.Stopped = 2] = "Stopped"
}(xh || (xh = {}));
function wh(e) {
return e > 9999999999 ? e : 1e3 * e
}
function kh(e) {
return e > 9999999999 ? e / 1e3 : e
}
function Sh(e, t) {
"sentry.transaction" !== t.category && (["ui.click", "ui.input"].includes(t.category) ? e.triggerUserActivity() : e.checkAndHandleExpiredSession(), e.addUpdate((() => (e.throttledAddEvent({
type: Ap.Custom,
timestamp: 1e3 * (t.timestamp || 0),
data: {tag: "breadcrumb", payload: Ac(t, 10, 1e3)}
}), "console" === t.category))))
}
function Eh(e) {
return e.closest("button,a") || e
}
function Ih(e) {
const t = Ch(e);
return t && t instanceof Element ? Eh(t) : t
}
function Ch(e) {
return function (e) {
return "object" === typeof e && !!e && "target" in e
}(e) ? e.target : e
}
let Oh;
function Ph(e) {
return Oh || (Oh = [], Sc(od, "open", (function (e) {
return function (...t) {
if (Oh) try {
Oh.forEach((e => e()))
} catch (n) {
}
return e.apply(od, t)
}
}))), Oh.push(e), () => {
const t = Oh ? Oh.indexOf(e) : -1;
t > -1 && Oh.splice(t, 1)
}
}
const Ah = new Set([Tp.Mutation, Tp.StyleSheetRule, Tp.StyleDeclaration, Tp.AdoptedStyleSheet, Tp.CanvasMutation, Tp.Selection, Tp.MediaInteraction]);
class Th {
constructor(e, t, n = Sh) {
this._lastMutation = 0, this._lastScroll = 0, this._clicks = [], this._timeout = t.timeout / 1e3, this._threshold = t.threshold / 1e3, this._scrollTimeout = t.scrollTimeout / 1e3, this._replay = e, this._ignoreSelector = t.ignoreSelector, this._addBreadcrumbEvent = n
}
addListeners() {
const e = Ph((() => {
this._lastMutation = Rh()
}));
this._teardown = () => {
e(), this._clicks = [], this._lastMutation = 0, this._lastScroll = 0
}
}
removeListeners() {
this._teardown && this._teardown(), this._checkClickTimeout && clearTimeout(this._checkClickTimeout)
}
handleClick(e, t) {
if (function (e, t) {
if (!Dh.includes(e.tagName)) return !0;
if ("INPUT" === e.tagName && !["submit", "button"].includes(e.getAttribute("type") || "")) return !0;
if ("A" === e.tagName && (e.hasAttribute("download") || e.hasAttribute("target") && "_self" !== e.getAttribute("target"))) return !0;
if (t && e.matches(t)) return !0;
return !1
}(t, this._ignoreSelector) || !function (e) {
return !(!e.data || "number" !== typeof e.data.nodeId || !e.timestamp)
}(e)) return;
const n = {timestamp: kh(e.timestamp), clickBreadcrumb: e, clickCount: 0, node: t};
this._clicks.some((e => e.node === n.node && Math.abs(e.timestamp - n.timestamp) < 1)) || (this._clicks.push(n), 1 === this._clicks.length && this._scheduleCheckClicks())
}
registerMutation(e = Date.now()) {
this._lastMutation = kh(e)
}
registerScroll(e = Date.now()) {
this._lastScroll = kh(e)
}
registerClick(e) {
const t = Eh(e);
this._handleMultiClick(t)
}
_handleMultiClick(e) {
this._getClicks(e).forEach((e => {
e.clickCount++
}))
}
_getClicks(e) {
return this._clicks.filter((t => t.node === e))
}
_checkClicks() {
const e = [], t = Rh();
this._clicks.forEach((n => {
!n.mutationAfter && this._lastMutation && (n.mutationAfter = n.timestamp <= this._lastMutation ? this._lastMutation - n.timestamp : void 0), !n.scrollAfter && this._lastScroll && (n.scrollAfter = n.timestamp <= this._lastScroll ? this._lastScroll - n.timestamp : void 0), n.timestamp + this._timeout <= t && e.push(n)
}));
for (const n of e) {
const e = this._clicks.indexOf(n);
e > -1 && (this._generateBreadcrumbs(n), this._clicks.splice(e, 1))
}
this._clicks.length && this._scheduleCheckClicks()
}
_generateBreadcrumbs(e) {
const t = this._replay, n = e.scrollAfter && e.scrollAfter <= this._scrollTimeout,
r = e.mutationAfter && e.mutationAfter <= this._threshold, a = !n && !r, {
clickCount: i,
clickBreadcrumb: o
} = e;
if (a) {
const n = 1e3 * Math.min(e.mutationAfter || this._timeout, this._timeout),
r = n < 1e3 * this._timeout ? "mutation" : "timeout", a = {
type: "default",
message: o.message,
timestamp: o.timestamp,
category: "ui.slowClickDetected",
data: {
...o.data,
url: od.location.href,
route: t.getCurrentRoute(),
timeAfterClickMs: n,
endReason: r,
clickCount: i || 1
}
};
this._addBreadcrumbEvent(t, a)
} else if (i > 1) {
const e = {
type: "default",
message: o.message,
timestamp: o.timestamp,
category: "ui.multiClick",
data: {...o.data, url: od.location.href, route: t.getCurrentRoute(), clickCount: i, metric: !0}
};
this._addBreadcrumbEvent(t, e)
}
}
_scheduleCheckClicks() {
this._checkClickTimeout && clearTimeout(this._checkClickTimeout), this._checkClickTimeout = Qu((() => this._checkClicks()), 1e3)
}
}
const Dh = ["A", "BUTTON", "INPUT"];
function Rh() {
return Date.now() / 1e3
}
function Lh(e, t) {
try {
if (!function (e) {
return 3 === e.type
}(t)) return;
const {source: n} = t.data;
if (Ah.has(n) && e.registerMutation(t.timestamp), n === Tp.Scroll && e.registerScroll(t.timestamp), function (e) {
return e.data.source === Tp.MouseInteraction
}(t)) {
const {type: n, id: r} = t.data, a = bh.mirror.getNode(r);
a instanceof HTMLElement && n === Dp.Click && e.registerClick(a)
}
} catch {
}
}
function jh(e) {
return {timestamp: Date.now() / 1e3, type: "default", ...e}
}
var Nh = (e => (e[e.Document = 0] = "Document", e[e.DocumentType = 1] = "DocumentType", e[e.Element = 2] = "Element", e[e.Text = 3] = "Text", e[e.CDATA = 4] = "CDATA", e[e.Comment = 5] = "Comment", e))(Nh || {});
const Mh = new Set(["id", "class", "aria-label", "role", "name", "alt", "title", "data-test-id", "data-testid", "disabled", "aria-disabled", "data-sentry-component"]);
function Fh(e) {
const t = {};
!e["data-sentry-component"] && e["data-sentry-element"] && (e["data-sentry-component"] = e["data-sentry-element"]);
for (const n in e) if (Mh.has(n)) {
let r = n;
"data-testid" !== n && "data-test-id" !== n || (r = "testId"), t[r] = e[n]
}
return t
}
const zh = e => t => {
if (!e.isEnabled()) return;
const n = function (e) {
const {target: t, message: n} = function (e) {
const t = "click" === e.name;
let n, r = null;
try {
r = t ? Ih(e.event) : Ch(e.event), n = hc(r, {maxStringLength: 200}) || "<unknown>"
} catch (a) {
n = "<unknown>"
}
return {target: r, message: n}
}(e);
return jh({category: `ui.${e.name}`, ...Vh(t, n)})
}(t);
if (!n) return;
const r = "click" === t.name, a = r ? t.event : void 0;
!(r && e.clickDetector && a && a.target) || a.altKey || a.metaKey || a.ctrlKey || a.shiftKey || function (e, t, n) {
e.handleClick(t, n)
}(e.clickDetector, n, Ih(t.event)), Sh(e, n)
};
function Vh(e, t) {
const n = bh.mirror.getId(e), r = n && bh.mirror.getNode(n), a = r && bh.mirror.getMeta(r),
i = a && function (e) {
return e.type === Nh.Element
}(a) ? a : null;
return {
message: t,
data: i ? {
nodeId: n,
node: {
id: n,
tagName: i.tagName,
textContent: Array.from(i.childNodes).map((e => e.type === Nh.Text && e.textContent)).filter(Boolean).map((e => e.trim())).join(""),
attributes: Fh(i.attributes)
}
} : {}
}
}
function Uh(e, t) {
if (!e.isEnabled()) return;
e.updateUserActivity();
const n = function (e) {
const {metaKey: t, shiftKey: n, ctrlKey: r, altKey: a, key: i, target: o} = e;
if (!o || function (e) {
return "INPUT" === e.tagName || "TEXTAREA" === e.tagName || e.isContentEditable
}(o) || !i) return null;
const s = t || r || a, l = 1 === i.length;
if (!s && l) return null;
const c = hc(o, {maxStringLength: 200}) || "<unknown>", u = Vh(o, c);
return jh({
category: "ui.keyDown",
message: c,
data: {...u.data, metaKey: t, shiftKey: n, ctrlKey: r, altKey: a, key: i}
})
}(t);
n && Sh(e, n)
}
const Bh = {
resource: function (e) {
const {
entryType: t,
initiatorType: n,
name: r,
responseEnd: a,
startTime: i,
decodedBodySize: o,
encodedBodySize: s,
responseStatus: l,
transferSize: c
} = e;
if (["fetch", "xmlhttprequest"].includes(n)) return null;
return {
type: `${t}.${n}`,
start: qh(i),
end: qh(a),
name: r,
data: {size: c, statusCode: l, decodedBodySize: o, encodedBodySize: s}
}
}, paint: function (e) {
const {duration: t, entryType: n, name: r, startTime: a} = e, i = qh(a);
return {type: n, name: r, start: i, end: i + t, data: void 0}
}, navigation: function (e) {
const {
entryType: t,
name: n,
decodedBodySize: r,
duration: a,
domComplete: i,
encodedBodySize: o,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: l,
domInteractive: c,
loadEventStart: u,
loadEventEnd: d,
redirectCount: p,
startTime: h,
transferSize: f,
type: m
} = e;
if (0 === a) return null;
return {
type: `${t}.${m}`,
start: qh(h),
end: qh(i),
name: n,
data: {
size: f,
decodedBodySize: r,
encodedBodySize: o,
duration: a,
domInteractive: c,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: l,
loadEventStart: u,
loadEventEnd: d,
domComplete: i,
redirectCount: p
}
}
}
};
function Gh(e, t) {
return ({metric: n}) => {
t.replayPerformanceEntries.push(e(n))
}
}
function $h(e) {
const t = Bh[e.entryType];
return t ? t(e) : null
}
function qh(e) {
return ((jc() || od.performance.timeOrigin) + e) / 1e3
}
function Wh(e) {
const t = e.entries[e.entries.length - 1];
return Zh(e, "largest-contentful-paint", t?.element ? [t.element] : void 0)
}
function Hh(e) {
return void 0 !== e.sources
}
function Kh(e) {
const t = [], n = [];
for (const r of e.entries) if (Hh(r)) {
const e = [];
for (const t of r.sources) if (t.node) {
n.push(t.node);
const r = bh.mirror.getId(t.node);
r && e.push(r)
}
t.push({value: r.value, nodeIds: e.length ? e : void 0})
}
return Zh(e, "cumulative-layout-shift", n, t)
}
function Yh(e) {
const t = e.entries[e.entries.length - 1];
return Zh(e, "first-input-delay", t?.target ? [t.target] : void 0)
}
function Qh(e) {
const t = e.entries[e.entries.length - 1];
return Zh(e, "interaction-to-next-paint", t?.target ? [t.target] : void 0)
}
function Zh(e, t, n, r) {
const a = e.value, i = e.rating, o = qh(a);
return {
type: "web-vital",
name: t,
start: o,
end: o,
data: {
value: a,
size: a,
rating: i,
nodeIds: n ? n.map((e => bh.mirror.getId(e))) : void 0,
attributions: r
}
}
}
const Xh = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
const Jh = ["info", "warn", "error", "log"], ef = "[Replay] ";
function tf(e, t = "info") {
!function (e, t) {
const n = tu(), r = eu();
if (!n) return;
const {beforeBreadcrumb: a = null, maxBreadcrumbs: i = nu} = n.getOptions();
if (i <= 0) return;
const o = {timestamp: Dc(), ...e}, s = a ? wc((() => a(o, t))) : o;
null !== s && (n.emit && n.emit("beforeAddBreadcrumb", s, t), r.addBreadcrumb(s, i))
}({category: "console", data: {logger: "replay"}, level: t, message: `${ef}${e}`}, {level: t})
}
const nf = function () {
let e = !1, t = !1;
const n = {
exception: () => {
}, infoTick: () => {
}, setConfig: n => {
e = !!n.captureExceptions, t = !!n.traceInternals
}
};
return Xh ? (Jh.forEach((e => {
n[e] = (...n) => {
var r;
kc[e](ef, ...n), t && tf(n.join(""), "warn" === (r = e) ? "warning" : ["fatal", "error", "warning", "log", "info", "debug"].includes(r) ? r : "log")
}
})), n.exception = (r, ...a) => {
var i, o;
a.length && n.error && n.error(...a), kc.error(ef, r), e ? (i = r, Jc().captureException(i, Fu(o))) : t && tf(r, "error")
}, n.infoTick = (...e) => {
kc.info(ef, ...e), t && setTimeout((() => tf(e[0])), 0)
}) : Jh.forEach((e => {
n[e] = () => {
}
})), n
}();
class rf extends Error {
constructor() {
super("Event buffer exceeded maximum size of 20000000.")
}
}
class af {
constructor() {
this.events = [], this._totalSize = 0, this.hasCheckout = !1, this.waitForCheckout = !1
}
get hasEvents() {
return this.events.length > 0
}
get type() {
return "sync"
}
destroy() {
this.events = []
}
async addEvent(e) {
const t = JSON.stringify(e).length;
if (this._totalSize += t, this._totalSize > dd) throw new rf;
this.events.push(e)
}
finish() {
return new Promise((e => {
const t = this.events;
this.clear(), e(JSON.stringify(t))
}))
}
clear() {
this.events = [], this._totalSize = 0, this.hasCheckout = !1
}
getEarliestTimestamp() {
const e = this.events.map((e => e.timestamp)).sort()[0];
return e ? wh(e) : null
}
}
class of {
constructor(e) {
this._worker = e, this._id = 0
}
ensureReady() {
return this._ensureReadyPromise || (this._ensureReadyPromise = new Promise(((e, t) => {
this._worker.addEventListener("message", (({data: n}) => {
n.success ? e() : t()
}), {once: !0}), this._worker.addEventListener("error", (e => {
t(e)
}), {once: !0})
}))), this._ensureReadyPromise
}
destroy() {
Xh && nf.info("Destroying compression worker"), this._worker.terminate()
}
postMessage(e, t) {
const n = this._getAndIncrementId();
return new Promise(((r, a) => {
const i = ({data: t}) => {
const o = t;
if (o.method === e && o.id === n) {
if (this._worker.removeEventListener("message", i), !o.success) return Xh && nf.error("Error in compression worker: ", o.response), void a(new Error("Error in compression worker"));
r(o.response)
}
};
this._worker.addEventListener("message", i), this._worker.postMessage({id: n, method: e, arg: t})
}))
}
_getAndIncrementId() {
return this._id++
}
}
class sf {
constructor(e) {
this._worker = new of(e), this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1, this.waitForCheckout = !1
}
get hasEvents() {
return !!this._earliestTimestamp
}
get type() {
return "worker"
}
ensureReady() {
return this._worker.ensureReady()
}
destroy() {
this._worker.destroy()
}
addEvent(e) {
const t = wh(e.timestamp);
(!this._earliestTimestamp || t < this._earliestTimestamp) && (this._earliestTimestamp = t);
const n = JSON.stringify(e);
return this._totalSize += n.length, this._totalSize > dd ? Promise.reject(new rf) : this._sendEventToWorker(n)
}
finish() {
return this._finishRequest()
}
clear() {
this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1, this._worker.postMessage("clear").then(null, (e => {
Xh && nf.exception(e, 'Sending "clear" message to worker failed', e)
}))
}
getEarliestTimestamp() {
return this._earliestTimestamp
}
_sendEventToWorker(e) {
return this._worker.postMessage("addEvent", e)
}
async _finishRequest() {
const e = await this._worker.postMessage("finish");
return this._earliestTimestamp = null, this._totalSize = 0, e
}
}
class lf {
constructor(e) {
this._fallback = new af, this._compression = new sf(e), this._used = this._fallback, this._ensureWorkerIsLoadedPromise = this._ensureWorkerIsLoaded()
}
get waitForCheckout() {
return this._used.waitForCheckout
}
get type() {
return this._used.type
}
get hasEvents() {
return this._used.hasEvents
}
get hasCheckout() {
return this._used.hasCheckout
}
set hasCheckout(e) {
this._used.hasCheckout = e
}
set waitForCheckout(e) {
this._used.waitForCheckout = e
}
destroy() {
this._fallback.destroy(), this._compression.destroy()
}
clear() {
return this._used.clear()
}
getEarliestTimestamp() {
return this._used.getEarliestTimestamp()
}
addEvent(e) {
return this._used.addEvent(e)
}
async finish() {
return await this.ensureWorkerIsLoaded(), this._used.finish()
}
ensureWorkerIsLoaded() {
return this._ensureWorkerIsLoadedPromise
}
async _ensureWorkerIsLoaded() {
try {
await this._compression.ensureReady()
} catch (e) {
return void (Xh && nf.exception(e, "Failed to load the compression worker, falling back to simple buffer"))
}
await this._switchToCompressionWorker()
}
async _switchToCompressionWorker() {
const {events: e, hasCheckout: t, waitForCheckout: n} = this._fallback, r = [];
for (const i of e) r.push(this._compression.addEvent(i));
this._compression.hasCheckout = t, this._compression.waitForCheckout = n, this._used = this._compression;
try {
await Promise.all(r), this._fallback.clear()
} catch (a) {
Xh && nf.exception(a, "Failed to add events when switching buffers.")
}
}
}
function cf({useCompression: e, workerUrl: t}) {
if (e && window.Worker) {
const e = function (e) {
try {
const t = e || function () {
if ("undefined" === typeof __SENTRY_EXCLUDE_REPLAY_WORKER__ || !__SENTRY_EXCLUDE_REPLAY_WORKER__) return function () {
const e = new Blob(['var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort((function(t,n){return t.f-n.f})),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort((function(t,n){return p[n.s]-p[t.s]||t.f-n.f}));s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}},L=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},O=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},j=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},q=function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&j(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}},B=function(t){return 10+(t.filename?t.filename.length+1:0)},G=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(O(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();var H=function(){function t(t,n){this.c=L(),this.v=1,G.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),G.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=O(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=L();i.p(n.dictionary),j(t,2,i.d())}}(r,this.o),this.v=0),n&&j(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){G.prototype.flush.call(this)},t}(),J="undefined"!=typeof TextEncoder&&new TextEncoder,K="undefined"!=typeof TextDecoder&&new TextDecoder;try{K.decode(F,{stream:!0})}catch(t){}var N=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(P(t),this.d=n||!1)},t}();function P(n,r){if(J)return J.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}function Q(t){return function(t,n){n||(n={});var r=S(),e=t.length;r.p(t);var i=O(t,n,B(n),8),s=i.length;return q(i,n),j(i,s-8,r.d()),j(i,s-4,e),i}(P(t))}const R=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new H,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new N(((t,n)=>{this.deflate.push(t,n)})),this.stream.push("[")}},V={clear:()=>{R.clear()},addEvent:t=>R.addEvent(t),finish:()=>R.finish(),compress:t=>Q(t)};addEventListener("message",(function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in V&&"function"==typeof V[n])try{const t=V[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});']);
return URL.createObjectURL(e)
}();
return ""
}();
if (!t) return;
Xh && nf.info("Using compression worker" + (e ? ` from ${e}` : ""));
const n = new Worker(t);
return new lf(n)
} catch (t) {
Xh && nf.exception(t, "Failed to create compression worker")
}
}(t);
if (e) return e
}
return Xh && nf.info("Using simple buffer"), new af
}
function uf() {
try {
return "sessionStorage" in od && !!od.sessionStorage
} catch {
return !1
}
}
function df(e) {
!function () {
if (!uf()) return;
try {
od.sessionStorage.removeItem(sd)
} catch {
}
}(), e.session = void 0
}
function pf(e) {
return void 0 !== e && Math.random() < e
}
function hf(e) {
if (uf()) try {
od.sessionStorage.setItem(sd, JSON.stringify(e))
} catch {
}
}
function ff(e) {
const t = Date.now();
return {
id: e.id || Nc(),
started: e.started || t,
lastActivity: e.lastActivity || t,
segmentId: e.segmentId || 0,
sampled: e.sampled,
previousSessionId: e.previousSessionId
}
}
function mf({sessionSampleRate: e, allowBuffering: t, stickySession: n = !1}, {previousSessionId: r} = {}) {
const a = function (e, t) {
return pf(e) ? "session" : !!t && "buffer"
}(e, t), i = ff({sampled: a, previousSessionId: r});
return n && hf(i), i
}
function gf(e, t, n = +new Date) {
return null === e || void 0 === t || t < 0 || 0 !== t && e + t <= n
}
function vf(e, {maxReplayDuration: t, sessionIdleExpire: n, targetTime: r = Date.now()}) {
return gf(e.started, t, r) || gf(e.lastActivity, n, r)
}
function _f(e, {sessionIdleExpire: t, maxReplayDuration: n}) {
return !!vf(e, {
sessionIdleExpire: t,
maxReplayDuration: n
}) && ("buffer" !== e.sampled || 0 !== e.segmentId)
}
function yf({sessionIdleExpire: e, maxReplayDuration: t, previousSessionId: n}, r) {
const a = r.stickySession && function () {
if (!uf()) return null;
try {
const e = od.sessionStorage.getItem(sd);
if (!e) return null;
const t = JSON.parse(e);
return Xh && nf.infoTick("Loading existing session"), ff(t)
} catch {
return null
}
}();
return a ? _f(a, {
sessionIdleExpire: e,
maxReplayDuration: t
}) ? (Xh && nf.infoTick("Session in sessionStorage is expired, creating new one..."), mf(r, {previousSessionId: a.id})) : a : (Xh && nf.infoTick("Creating new session"), mf(r, {previousSessionId: n}))
}
function bf(e, t, n) {
return !!wf(e, t) && (xf(e, t, n), !0)
}
async function xf(e, t, n) {
const {eventBuffer: r} = e;
if (!r || r.waitForCheckout && !n) return null;
const a = "buffer" === e.recordingMode;
try {
n && a && r.clear(), n && (r.hasCheckout = !0, r.waitForCheckout = !1);
const i = function (e, t) {
try {
if ("function" === typeof t && function (e) {
return e.type === Ap.Custom
}(e)) return t(e)
} catch (n) {
return Xh && nf.exception(n, "An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."), null
}
return e
}(t, e.getOptions().beforeAddRecordingEvent);
if (!i) return;
return await r.addEvent(i)
} catch (i) {
const t = i && i instanceof rf, n = t ? "addEventSizeExceeded" : "addEvent";
if (t && a) return r.clear(), r.waitForCheckout = !0, null;
e.handleException(i), await e.stop({reason: n});
const o = tu();
o && o.recordDroppedEvent("internal_sdk_error", "replay")
}
}
function wf(e, t) {
if (!e.eventBuffer || e.isPaused() || !e.isEnabled()) return !1;
const n = wh(t.timestamp);
return !(n + e.timeouts.sessionIdlePause < Date.now()) && (!(n > e.getContext().initialTimestamp + e.getOptions().maxReplayDuration) || (Xh && nf.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`), !1))
}
function kf(e) {
return !e.type
}
function Sf(e) {
return "transaction" === e.type
}
function Ef(e) {
return "feedback" === e.type
}
function If(e) {
return (t, n) => {
if (!e.isEnabled() || !kf(t) && !Sf(t)) return;
const r = n?.statusCode;
!r || r < 200 || r >= 300 || (Sf(t) ? function (e, t) {
const n = e.getContext();
t.contexts?.trace?.trace_id && n.traceIds.size < 100 && n.traceIds.add(t.contexts.trace.trace_id)
}(e, t) : function (e, t) {
const n = e.getContext();
t.event_id && n.errorIds.size < 100 && n.errorIds.add(t.event_id);
if ("buffer" !== e.recordingMode || !t.tags || !t.tags.replayId) return;
const {beforeErrorSampling: r} = e.getOptions();
if ("function" === typeof r && !r(t)) return;
Qu((async () => {
try {
await e.sendBufferedReplayOrFlush()
} catch (sB) {
e.handleException(sB)
}
}))
}(e, t))
}
}
function Cf(e) {
return t => {
e.isEnabled() && kf(t) && function (e, t) {
const n = t.exception?.values?.[0]?.value;
if ("string" !== typeof n) return;
if (n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/) || n.match(/(does not match server-rendered HTML|Hydration failed because)/i)) {
Sh(e, jh({category: "replay.hydrate-error", data: {url: mc()}}))
}
}(e, t)
}
}
function Of(e) {
const t = tu();
t && t.on("beforeAddBreadcrumb", (t => function (e, t) {
if (!e.isEnabled() || !Pf(t)) return;
const n = function (e) {
if (!Pf(e) || ["fetch", "xhr", "sentry.event", "sentry.transaction"].includes(e.category) || e.category.startsWith("ui.")) return null;
if ("console" === e.category) return function (e) {
const t = e.data?.arguments;
if (!Array.isArray(t) || 0 === t.length) return jh(e);
let n = !1;
const r = t.map((e => {
if (!e) return e;
if ("string" === typeof e) return e.length > ud ? (n = !0, `${e.slice(0, ud)}\u2026`) : e;
if ("object" === typeof e) try {
const t = Ac(e, 7);
return JSON.stringify(t).length > ud ? (n = !0, `${JSON.stringify(t, null, 2).slice(0, ud)}\u2026`) : t
} catch {
}
return e
}));
return jh({
...e,
data: {...e.data, arguments: r, ...n ? {_meta: {warnings: ["CONSOLE_ARG_TRUNCATED"]}} : {}}
})
}(e);
return jh(e)
}(t);
n && Sh(e, n)
}(e, t)))
}
function Pf(e) {
return !!e.category
}
function Af() {
const e = Jc().getPropagationContext().dsc;
e && delete e.replay_id;
const t = Iu();
if (t) {
delete Ru(t).replay_id
}
}
function Tf(e) {
return Object.assign(((t, n) => {
if (!e.isEnabled() || e.isPaused()) return t;
if (function (e) {
return "replay_event" === e.type
}(t)) return delete t.breadcrumbs, t;
if (!kf(t) && !Sf(t) && !Ef(t)) return t;
if (!e.checkAndHandleExpiredSession()) return Af(), t;
if (Ef(t)) return e.flush(), t.contexts.feedback.replay_id = e.getSessionId(), function (e, t) {
e.triggerUserActivity(), e.addUpdate((() => !t.timestamp || (e.throttledAddEvent({
type: Ap.Custom,
timestamp: 1e3 * t.timestamp,
data: {
tag: "breadcrumb",
payload: {
timestamp: t.timestamp,
type: "default",
category: "sentry.feedback",
data: {feedbackId: t.event_id}
}
}
}), !1)))
}(e, t), t;
if (function (e, t) {
return !(e.type || !e.exception || !e.exception.values || !e.exception.values.length) && !!t.originalException?.__rrweb__
}(t, n) && !e.getOptions()._experiments.captureExceptions) return Xh && nf.log("Ignoring error from rrweb internals", t), null;
const r = function (e, t) {
return "buffer" === e.recordingMode && t.message !== ld && !(!t.exception || t.type) && pf(e.getOptions().errorSampleRate)
}(e, t);
return (r || "session" === e.recordingMode) && (t.tags = {...t.tags, replayId: e.getSessionId()}), t
}), {id: "Replay"})
}
function Df(e, t) {
return t.map((({type: t, start: n, end: r, name: a, data: i}) => {
const o = e.throttledAddEvent({
type: Ap.Custom,
timestamp: n,
data: {
tag: "performanceSpan",
payload: {op: t, description: a, startTimestamp: n, endTimestamp: r, data: i}
}
});
return "string" === typeof o ? Promise.resolve(null) : o
}))
}
function Rf(e) {
return t => {
if (!e.isEnabled()) return;
const n = function (e) {
const {from: t, to: n} = e, r = Date.now() / 1e3;
return {type: "navigation.push", start: r, end: r, name: n, data: {previous: t}}
}(t);
null !== n && (e.getContext().urls.push(n.name), e.triggerUserActivity(), e.addUpdate((() => (Df(e, [n]), !1))))
}
}
function Lf(e, t) {
e.isEnabled() && null !== t && (function (e, t) {
return (!Xh || !e.getOptions()._experiments.traceInternals) && Vu(t, tu())
}(e, t.name) || e.addUpdate((() => (Df(e, [t]), !0))))
}
function jf(e) {
if (!e) return;
const t = new TextEncoder;
try {
if ("string" === typeof e) return t.encode(e).length;
if (e instanceof URLSearchParams) return t.encode(e.toString()).length;
if (e instanceof FormData) {
const n = Zu(e);
return t.encode(n).length
}
if (e instanceof Blob) return e.size;
if (e instanceof ArrayBuffer) return e.byteLength
} catch {
}
}
function Nf(e) {
if (!e) return;
const t = parseInt(e, 10);
return isNaN(t) ? void 0 : t
}
function Mf(e, t) {
if (!e) return {headers: {}, size: void 0, _meta: {warnings: [t]}};
const n = {...e._meta}, r = n.warnings || [];
return n.warnings = [...r, t], e._meta = n, e
}
function Ff(e, t) {
if (!t) return null;
const {startTimestamp: n, endTimestamp: r, url: a, method: i, statusCode: o, request: s, response: l} = t;
return {
type: e,
start: n / 1e3,
end: r / 1e3,
name: a,
data: {method: i, statusCode: o, request: s, response: l}
}
}
function zf(e) {
return {headers: {}, size: e, _meta: {warnings: ["URL_SKIPPED"]}}
}
function Vf(e, t, n) {
if (!t && 0 === Object.keys(e).length) return;
if (!t) return {headers: e};
if (!n) return {headers: e, size: t};
const r = {headers: e, size: t}, {body: a, warnings: i} = function (e) {
if (!e || "string" !== typeof e) return {body: e};
const t = e.length > cd, n = function (e) {
const t = e[0], n = e[e.length - 1];
return "[" === t && "]" === n || "{" === t && "}" === n
}(e);
if (t) {
const t = e.slice(0, cd);
return n ? {body: t, warnings: ["MAYBE_JSON_TRUNCATED"]} : {
body: `${t}\u2026`,
warnings: ["TEXT_TRUNCATED"]
}
}
if (n) try {
return {body: JSON.parse(e)}
} catch {
}
return {body: e}
}(n);
return r.body = a, i?.length && (r._meta = {warnings: i}), r
}
function Uf(e, t) {
return Object.entries(e).reduce(((n, [r, a]) => {
const i = r.toLowerCase();
return t.includes(i) && e[r] && (n[i] = a), n
}), {})
}
function Bf(e, t) {
const n = function (e, t = od.document.baseURI) {
if (e.startsWith("http://") || e.startsWith("https://") || e.startsWith(od.location.origin)) return e;
const n = new URL(e, t);
if (n.origin !== new URL(t).origin) return e;
const r = n.href;
if (!e.endsWith("/") && r.endsWith("/")) return r.slice(0, -1);
return r
}(e);
return function (e, t = [], n = !1) {
return t.some((t => qc(e, t, n)))
}(n, t)
}
async function Gf(e, t, n) {
try {
const r = await async function (e, t, n) {
const r = Date.now(), {startTimestamp: a = r, endTimestamp: i = r} = t, {
url: o,
method: s,
status_code: l = 0,
request_body_size: c,
response_body_size: u
} = e.data, d = Bf(o, n.networkDetailAllowUrls) && !Bf(o, n.networkDetailDenyUrls),
p = d ? function ({networkCaptureBodies: e, networkRequestHeaders: t}, n, r) {
const a = n ? function (e, t) {
if (1 === e.length && "string" !== typeof e[0]) return qf(e[0], t);
if (2 === e.length) return qf(e[1], t);
return {}
}(n, t) : {};
if (!e) return Vf(a, r, void 0);
const i = Ju(n), [o, s] = Xu(i, nf), l = Vf(a, r, o);
if (s) return Mf(l, s);
return l
}(n, t.input, c) : zf(c),
h = await async function (e, {networkCaptureBodies: t, networkResponseHeaders: n}, r, a) {
if (!e && void 0 !== a) return zf(a);
const i = r ? $f(r.headers, n) : {};
if (!r || !t && void 0 !== a) return Vf(i, a, void 0);
const [o, s] = await async function (e) {
const t = function (e) {
try {
return e.clone()
} catch (t) {
Xh && nf.exception(t, "Failed to clone response body")
}
}(e);
if (!t) return [void 0, "BODY_PARSE_ERROR"];
try {
const e = await function (e) {
return new Promise(((t, n) => {
const r = Qu((() => n(new Error("Timeout while trying to read response body"))), 500);
(async function (e) {
return await e.text()
})(e).then((e => t(e)), (e => n(e))).finally((() => clearTimeout(r)))
}))
}(t);
return [e]
} catch (n) {
return n instanceof Error && n.message.indexOf("Timeout") > -1 ? (Xh && nf.warn("Parsing text body from response timed out"), [void 0, "BODY_PARSE_TIMEOUT"]) : (Xh && nf.exception(n, "Failed to get text body from response"), [void 0, "BODY_PARSE_ERROR"])
}
}(r), l = function (e, {
networkCaptureBodies: t,
responseBodySize: n,
captureDetails: r,
headers: a
}) {
try {
const i = e?.length && void 0 === n ? jf(e) : n;
return r ? Vf(a, i, t ? e : void 0) : zf(i)
} catch (i) {
return Xh && nf.exception(i, "Failed to serialize response body"), Vf(a, n, void 0)
}
}(o, {networkCaptureBodies: t, responseBodySize: a, captureDetails: e, headers: i});
if (s) return Mf(l, s);
return l
}(d, n, t.response, u);
return {
startTimestamp: a,
endTimestamp: i,
url: o,
method: s,
statusCode: l,
request: p,
response: h
}
}(e, t, n), a = Ff("resource.fetch", r);
Lf(n.replay, a)
} catch (r) {
Xh && nf.exception(r, "Failed to capture fetch breadcrumb")
}
}
function $f(e, t) {
const n = {};
return t.forEach((t => {
e.get(t) && (n[t] = e.get(t))
})), n
}
function qf(e, t) {
if (!e) return {};
const n = e.headers;
return n ? n instanceof Headers ? $f(n, t) : Array.isArray(n) ? {} : Uf(n, t) : {}
}
async function Wf(e, t, n) {
try {
const r = function (e, t, n) {
const r = Date.now(), {startTimestamp: a = r, endTimestamp: i = r, input: o, xhr: s} = t, {
url: l,
method: c,
status_code: u = 0,
request_body_size: d,
response_body_size: p
} = e.data;
if (!l) return null;
if (!s || !Bf(l, n.networkDetailAllowUrls) || Bf(l, n.networkDetailDenyUrls)) {
return {
startTimestamp: a,
endTimestamp: i,
url: l,
method: c,
statusCode: u,
request: zf(d),
response: zf(p)
}
}
const h = s[Bl], f = h ? Uf(h.request_headers, n.networkRequestHeaders) : {}, m = Uf(function (e) {
const t = e.getAllResponseHeaders();
if (!t) return {};
return t.split("\r\n").reduce(((e, t) => {
const [n, r] = t.split(": ");
return r && (e[n.toLowerCase()] = r), e
}), {})
}(s), n.networkResponseHeaders), [g, v] = n.networkCaptureBodies ? Xu(o, nf) : [void 0], [_, y] = n.networkCaptureBodies ? function (e) {
const t = [];
try {
return [e.responseText]
} catch (n) {
t.push(n)
}
try {
return function (e, t) {
try {
if ("string" === typeof e) return [e];
if (e instanceof Document) return [e.body.outerHTML];
if ("json" === t && e && "object" === typeof e) return [JSON.stringify(e)];
if (!e) return [void 0]
} catch (n) {
return Xh && nf.exception(n, "Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return Xh && nf.info("Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}(e.response, e.responseType)
} catch (n) {
t.push(n)
}
return Xh && nf.warn("Failed to get xhr response body", ...t), [void 0]
}(s) : [void 0], b = Vf(f, d, g), x = Vf(m, p, _);
return {
startTimestamp: a,
endTimestamp: i,
url: l,
method: c,
statusCode: u,
request: v ? Mf(b, v) : b,
response: y ? Mf(x, y) : x
}
}(e, t, n), a = Ff("resource.xhr", r);
Lf(n.replay, a)
} catch (r) {
Xh && nf.exception(r, "Failed to capture xhr breadcrumb")
}
}
function Hf(e, t) {
const {xhr: n, input: r} = t;
if (!n) return;
const a = jf(r),
i = n.getResponseHeader("content-length") ? Nf(n.getResponseHeader("content-length")) : function (e, t) {
try {
return jf("json" === t && e && "object" === typeof e ? JSON.stringify(e) : e)
} catch {
return
}
}(n.response, n.responseType);
void 0 !== a && (e.data.request_body_size = a), void 0 !== i && (e.data.response_body_size = i)
}
function Kf(e) {
const t = tu();
try {
const {
networkDetailAllowUrls: n,
networkDetailDenyUrls: r,
networkCaptureBodies: a,
networkRequestHeaders: i,
networkResponseHeaders: o
} = e.getOptions(), s = {
replay: e,
networkDetailAllowUrls: n,
networkDetailDenyUrls: r,
networkCaptureBodies: a,
networkRequestHeaders: i,
networkResponseHeaders: o
};
t && t.on("beforeAddBreadcrumb", ((e, t) => function (e, t, n) {
if (!t.data) return;
try {
(function (e) {
return "xhr" === e.category
})(t) && function (e) {
return e?.xhr
}(n) && (Hf(t, n), Wf(t, n, e)), function (e) {
return "fetch" === e.category
}(t) && function (e) {
return e?.response
}(n) && (!function (e, t) {
const {input: n, response: r} = t, a = jf(n ? Ju(n) : void 0),
i = r ? Nf(r.headers.get("content-length")) : void 0;
void 0 !== a && (e.data.request_body_size = a), void 0 !== i && (e.data.response_body_size = i)
}(t, n), Gf(t, n, e))
} catch (r) {
Xh && nf.exception(r, "Error when enriching network breadcrumb")
}
}(s, e, t)))
} catch {
}
}
function Yf(e, {autoFlushOnFeedback: t}) {
const n = tu();
rd(zh(e)), Ks(Rf(e)), Of(e), Kf(e);
const r = Tf(e);
var a;
a = r, eu().addEventProcessor(a), n && (n.on("beforeSendEvent", Cf(e)), n.on("afterSendEvent", If(e)), n.on("createDsc", (t => {
const n = e.getSessionId();
if (n && e.isEnabled() && "session" === e.recordingMode) {
e.checkAndHandleExpiredSession() && (t.replay_id = n)
}
})), n.on("spanStart", (t => {
e.lastActiveSpan = t
})), n.on("spanEnd", (t => {
e.lastActiveSpan = t
})), n.on("beforeSendFeedback", (async (n, r) => {
const a = e.getSessionId();
r?.includeReplay && e.isEnabled() && a && n.contexts?.feedback && ("api" === n.contexts.feedback.source && t && await e.flush(), n.contexts.feedback.replay_id = a)
})), t && n.on("openFeedbackWidget", (async () => {
await e.flush()
})))
}
function Qf(e) {
const {jsHeapSizeLimit: t, totalJSHeapSize: n, usedJSHeapSize: r} = e, a = Date.now() / 1e3;
return {
type: "memory",
name: "memory",
start: a,
end: a,
data: {memory: {jsHeapSizeLimit: t, totalJSHeapSize: n, usedJSHeapSize: r}}
}
}
const Zf = ac.navigator;
function Xf(e) {
let t = !1;
return (n, r) => {
if (!e.checkAndHandleExpiredSession()) return void (Xh && nf.warn("Received replay event after session expired."));
const a = r || !t;
t = !0, e.clickDetector && Lh(e.clickDetector, n), e.addUpdate((() => {
if ("buffer" === e.recordingMode && a && e.setInitialState(), !bf(e, n, a)) return !0;
if (!a) return !1;
const t = e.session;
if (function (e, t) {
if (!t || !e.session || 0 !== e.session.segmentId) return;
bf(e, function (e) {
const t = e.getOptions();
return {
type: Ap.Custom,
timestamp: Date.now(),
data: {
tag: "options",
payload: {
shouldRecordCanvas: e.isRecordingCanvas(),
sessionSampleRate: t.sessionSampleRate,
errorSampleRate: t.errorSampleRate,
useCompressionOption: t.useCompression,
blockAllMedia: t.blockAllMedia,
maskAllText: t.maskAllText,
maskAllInputs: t.maskAllInputs,
useCompression: !!e.eventBuffer && "worker" === e.eventBuffer.type,
networkDetailHasUrls: t.networkDetailAllowUrls.length > 0,
networkCaptureBodies: t.networkCaptureBodies,
networkRequestHasHeaders: t.networkRequestHeaders.length > 0,
networkResponseHasHeaders: t.networkResponseHeaders.length > 0
}
}
}
}(e), !1)
}(e, a), "buffer" === e.recordingMode && t && e.eventBuffer) {
const n = e.eventBuffer.getEarliestTimestamp();
n && (Xh && nf.info(`Updating session start time to earliest event in buffer to ${new Date(n)}`), t.started = n, e.getOptions().stickySession && hf(t))
}
return t?.previousSessionId || "session" === e.recordingMode && e.flush(), !0
}))
}
}
function Jf(e, t, n, r) {
return function (e, t = []) {
return [e, t]
}(function (e, t, n, r) {
const a = e.sdkProcessingMetadata?.dynamicSamplingContext;
return {
event_id: e.event_id,
sent_at: (new Date).toISOString(), ...t && {sdk: t}, ...!!n && r && {dsn: Bu(r)}, ...a && {trace: a}
}
}(e, function (e) {
if (!e?.sdk) return;
const {name: t, version: n} = e.sdk;
return {name: t, version: n}
}(e), r, n), [[{type: "replay_event"}, e], [{
type: "replay_recording",
length: "string" === typeof t ? (new TextEncoder).encode(t).length : t.length
}, t]])
}
async function em({recordingData: e, replayId: t, segmentId: n, eventContext: r, timestamp: a, session: i}) {
const o = function ({recordingData: e, headers: t}) {
let n;
const r = `${JSON.stringify(t)}\n`;
if ("string" === typeof e) n = `${r}${e}`; else {
const t = (new TextEncoder).encode(r);
n = new Uint8Array(t.length + e.length), n.set(t), n.set(e, t.length)
}
return n
}({recordingData: e, headers: {segment_id: n}}), {
urls: s,
errorIds: l,
traceIds: c,
initialTimestamp: u
} = r, d = tu(), p = Jc(), h = d?.getTransport(), f = d?.getDsn();
if (!d || !h || !f || !i.sampled) return iu({});
const m = {
type: "replay_event",
replay_start_timestamp: u / 1e3,
timestamp: a / 1e3,
error_ids: l,
trace_ids: c,
urls: s,
replay_id: t,
segment_id: n,
replay_type: i.sampled
}, g = await async function ({client: e, scope: t, replayId: n, event: r}) {
const a = {
event_id: n,
integrations: "object" !== typeof e._integrations || null === e._integrations || Array.isArray(e._integrations) ? void 0 : Object.keys(e._integrations)
};
e.emit("preprocessEvent", r, a);
const i = await Mu(e.getOptions(), r, a, t, e, eu());
if (!i) return null;
e.emit("postprocessEvent", i, a), i.platform = i.platform || "javascript";
const o = e.getSdkMetadata(), {name: s, version: l} = o?.sdk || {};
return i.sdk = {...i.sdk, name: s || "sentry.javascript.unknown", version: l || "0.0.0"}, i
}({scope: p, client: d, replayId: t, event: m});
if (!g) return d.recordDroppedEvent("event_processor", "replay"), Xh && nf.info("An event processor returned `null`, will not send event."), iu({});
delete g.sdkProcessingMetadata;
const v = Jf(g, o, f, d.getOptions().tunnel);
let _;
try {
_ = await h.send(v)
} catch (sB) {
const t = new Error(ld);
try {
t.cause = sB
} catch {
}
throw t
}
if ("number" === typeof _.statusCode && (_.statusCode < 200 || _.statusCode >= 300)) throw new tm(_.statusCode);
const y = Gu({}, _);
if (function (e, t, n = Date.now()) {
return function (e, t) {
return e[t] || e.all || 0
}(e, t) > n
}(y, "replay")) throw new nm(y);
return _
}
class tm extends Error {
constructor(e) {
super(`Transport returned status code ${e}`)
}
}
class nm extends Error {
constructor(e) {
super("Rate limit hit"), this.rateLimits = e
}
}
async function rm(e, t = {count: 0, interval: 5e3}) {
const {recordingData: n, onError: r} = e;
var a, i;
if (n.length) try {
return await em(e), !0
} catch (sB) {
if (sB instanceof tm || sB instanceof nm) throw sB;
if (a = "Replays", i = {_retryCount: t.count}, eu().setContext(a, i), r && r(sB), t.count >= 3) {
const e = new Error(`${ld} - max retries exceeded`);
try {
e.cause = sB
} catch {
}
throw e
}
return t.interval *= ++t.count, new Promise(((r, a) => {
Qu((async () => {
try {
await rm(e, t), r(!0)
} catch (n) {
a(n)
}
}), t.interval)
}))
}
}
const am = "__THROTTLED";
function im(e, t, n) {
const r = new Map;
let a = !1;
return (...i) => {
const o = Math.floor(Date.now() / 1e3);
if ((e => {
const t = e - n;
r.forEach(((e, n) => {
n < t && r.delete(n)
}))
})(o), [...r.values()].reduce(((e, t) => e + t), 0) >= t) {
const e = a;
return a = !0, e ? "__SKIPPED" : am
}
a = !1;
const s = r.get(o) || 0;
return r.set(o, s + 1), e(...i)
}
}
class om {
constructor({options: e, recordingOptions: t}) {
this.eventBuffer = null, this.performanceEntries = [], this.replayPerformanceEntries = [], this.recordingMode = "session", this.timeouts = {
sessionIdlePause: 3e5,
sessionIdleExpire: 9e5
}, this._lastActivity = Date.now(), this._isEnabled = !1, this._isPaused = !1, this._requiresManualStart = !1, this._hasInitializedCoreListeners = !1, this._context = {
errorIds: new Set,
traceIds: new Set,
urls: [],
initialTimestamp: Date.now(),
initialUrl: ""
}, this._recordingOptions = t, this._options = e, this._debouncedFlush = function (e, t, n) {
let r, a, i;
const o = n?.maxWait ? Math.max(n.maxWait, t) : 0;
function s() {
return l(), r = e(), r
}
function l() {
void 0 !== a && clearTimeout(a), void 0 !== i && clearTimeout(i), a = i = void 0
}
function c() {
return a && clearTimeout(a), a = Qu(s, t), o && void 0 === i && (i = Qu(s, o)), r
}
return c.cancel = l, c.flush = function () {
return void 0 !== a || void 0 !== i ? s() : r
}, c
}((() => this._flush()), this._options.flushMinDelay, {maxWait: this._options.flushMaxDelay}), this._throttledAddEvent = im(((e, t) => function (e, t, n) {
return wf(e, t) ? xf(e, t, n) : Promise.resolve(null)
}(this, e, t)), 300, 5);
const {slowClickTimeout: n, slowClickIgnoreSelectors: r} = this.getOptions(), a = n ? {
threshold: Math.min(3e3, n),
timeout: n,
scrollTimeout: 300,
ignoreSelector: r ? r.join(",") : ""
} : void 0;
if (a && (this.clickDetector = new Th(this, a)), Xh) {
const t = e._experiments;
nf.setConfig({captureExceptions: !!t.captureExceptions, traceInternals: !!t.traceInternals})
}
this._handleVisibilityChange = () => {
"visible" === od.document.visibilityState ? this._doChangeToForegroundTasks() : this._doChangeToBackgroundTasks()
}, this._handleWindowBlur = () => {
const e = jh({category: "ui.blur"});
this._doChangeToBackgroundTasks(e)
}, this._handleWindowFocus = () => {
const e = jh({category: "ui.focus"});
this._doChangeToForegroundTasks(e)
}, this._handleKeyboardEvent = e => {
Uh(this, e)
}
}
getContext() {
return this._context
}
isEnabled() {
return this._isEnabled
}
isPaused() {
return this._isPaused
}
isRecordingCanvas() {
return Boolean(this._canvas)
}
getOptions() {
return this._options
}
handleException(e) {
Xh && nf.exception(e), this._options.onError && this._options.onError(e)
}
initializeSampling(e) {
const {errorSampleRate: t, sessionSampleRate: n} = this._options, r = t <= 0 && n <= 0;
this._requiresManualStart = r, r || (this._initializeSessionForSampling(e), this.session ? !1 !== this.session.sampled && (this.recordingMode = "buffer" === this.session.sampled && 0 === this.session.segmentId ? "buffer" : "session", Xh && nf.infoTick(`Starting replay in ${this.recordingMode} mode`), this._initializeRecording()) : Xh && nf.exception(new Error("Unable to initialize and create session")))
}
start() {
if (this._isEnabled && "session" === this.recordingMode) return void (Xh && nf.info("Recording is already in progress"));
if (this._isEnabled && "buffer" === this.recordingMode) return void (Xh && nf.info("Buffering is in progress, call `flush()` to save the replay"));
Xh && nf.infoTick("Starting replay in session mode"), this._updateUserActivity();
const e = yf({
maxReplayDuration: this._options.maxReplayDuration,
sessionIdleExpire: this.timeouts.sessionIdleExpire
}, {stickySession: this._options.stickySession, sessionSampleRate: 1, allowBuffering: !1});
this.session = e, this._initializeRecording()
}
startBuffering() {
if (this._isEnabled) return void (Xh && nf.info("Buffering is in progress, call `flush()` to save the replay"));
Xh && nf.infoTick("Starting replay in buffer mode");
const e = yf({
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration
}, {stickySession: this._options.stickySession, sessionSampleRate: 0, allowBuffering: !0});
this.session = e, this.recordingMode = "buffer", this._initializeRecording()
}
startRecording() {
try {
const e = this._canvas;
this._stopRecording = bh({
...this._recordingOptions, ..."buffer" === this.recordingMode ? {checkoutEveryNms: 6e4} : this._options._experiments.continuousCheckout && {checkoutEveryNms: Math.max(36e4, this._options._experiments.continuousCheckout)},
emit: Xf(this), .../iPhone|iPad|iPod/i.test(Zf?.userAgent ?? "") || /Macintosh/i.test(Zf?.userAgent ?? "") && Zf?.maxTouchPoints && Zf?.maxTouchPoints > 1 ? {sampling: {mousemove: !1}} : {},
onMutation: this._onMutationHandler.bind(this), ...e ? {
recordCanvas: e.recordCanvas,
getCanvasManager: e.getCanvasManager,
sampling: e.sampling,
dataURLOptions: e.dataURLOptions
} : {}
})
} catch (sB) {
this.handleException(sB)
}
}
stopRecording() {
try {
return this._stopRecording && (this._stopRecording(), this._stopRecording = void 0), !0
} catch (sB) {
return this.handleException(sB), !1
}
}
async stop({forceFlush: e = !1, reason: t} = {}) {
if (this._isEnabled) {
this._isEnabled = !1;
try {
Xh && nf.info("Stopping Replay" + (t ? ` triggered by ${t}` : "")), Af(), this._removeListeners(), this.stopRecording(), this._debouncedFlush.cancel(), e && await this._flush({force: !0}), this.eventBuffer?.destroy(), this.eventBuffer = null, df(this)
} catch (sB) {
this.handleException(sB)
}
}
}
pause() {
this._isPaused || (this._isPaused = !0, this.stopRecording(), Xh && nf.info("Pausing replay"))
}
resume() {
this._isPaused && this._checkSession() && (this._isPaused = !1, this.startRecording(), Xh && nf.info("Resuming replay"))
}
async sendBufferedReplayOrFlush({continueRecording: e = !0} = {}) {
if ("session" === this.recordingMode) return this.flushImmediate();
const t = Date.now();
Xh && nf.info("Converting buffer to session"), await this.flushImmediate();
const n = this.stopRecording();
e && n && "session" !== this.recordingMode && (this.recordingMode = "session", this.session && (this._updateUserActivity(t), this._updateSessionActivity(t), this._maybeSaveSession()), this.startRecording())
}
addUpdate(e) {
const t = e();
"buffer" !== this.recordingMode && !0 !== t && this._debouncedFlush()
}
triggerUserActivity() {
if (this._updateUserActivity(), this._stopRecording) this.checkAndHandleExpiredSession(), this._updateSessionActivity(); else {
if (!this._checkSession()) return;
this.resume()
}
}
updateUserActivity() {
this._updateUserActivity(), this._updateSessionActivity()
}
conditionalFlush() {
return "buffer" === this.recordingMode ? Promise.resolve() : this.flushImmediate()
}
flush() {
return this._debouncedFlush()
}
flushImmediate() {
return this._debouncedFlush(), this._debouncedFlush.flush()
}
cancelFlush() {
this._debouncedFlush.cancel()
}
getSessionId() {
return this.session?.id
}
checkAndHandleExpiredSession() {
if (!(this._lastActivity && gf(this._lastActivity, this.timeouts.sessionIdlePause) && this.session && "session" === this.session.sampled)) return !!this._checkSession();
this.pause()
}
setInitialState() {
const e = `${od.location.pathname}${od.location.hash}${od.location.search}`,
t = `${od.location.origin}${e}`;
this.performanceEntries = [], this.replayPerformanceEntries = [], this._clearContext(), this._context.initialUrl = t, this._context.initialTimestamp = Date.now(), this._context.urls.push(t)
}
throttledAddEvent(e, t) {
const n = this._throttledAddEvent(e, t);
if (n === am) {
const e = jh({category: "replay.throttled"});
this.addUpdate((() => !bf(this, {
type: 5,
timestamp: e.timestamp || 0,
data: {tag: "breadcrumb", payload: e, metric: !0}
})))
}
return n
}
getCurrentRoute() {
const e = this.lastActiveSpan || Iu(), t = e && Eu(e), n = (t && xu(t).data || {})[pu];
if (t && n && ["route", "custom"].includes(n)) return xu(t).description
}
_initializeRecording() {
this.setInitialState(), this._updateSessionActivity(), this.eventBuffer = cf({
useCompression: this._options.useCompression,
workerUrl: this._options.workerUrl
}), this._removeListeners(), this._addListeners(), this._isEnabled = !0, this._isPaused = !1, this.startRecording()
}
_initializeSessionForSampling(e) {
const t = this._options.errorSampleRate > 0, n = yf({
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration,
previousSessionId: e
}, {
stickySession: this._options.stickySession,
sessionSampleRate: this._options.sessionSampleRate,
allowBuffering: t
});
this.session = n
}
_checkSession() {
if (!this.session) return !1;
const e = this.session;
return !_f(e, {
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration
}) || (this._refreshSession(e), !1)
}
async _refreshSession(e) {
this._isEnabled && (await this.stop({reason: "refresh session"}), this.initializeSampling(e.id))
}
_addListeners() {
try {
od.document.addEventListener("visibilitychange", this._handleVisibilityChange), od.addEventListener("blur", this._handleWindowBlur), od.addEventListener("focus", this._handleWindowFocus), od.addEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.addListeners(), this._hasInitializedCoreListeners || (Yf(this, {autoFlushOnFeedback: this._options._experiments.autoFlushOnFeedback}), this._hasInitializedCoreListeners = !0)
} catch (sB) {
this.handleException(sB)
}
this._performanceCleanupCallback = function (e) {
function t(t) {
e.performanceEntries.includes(t) || e.performanceEntries.push(t)
}
function n({entries: e}) {
e.forEach(t)
}
const r = [];
return ["navigation", "paint", "resource"].forEach((e => {
r.push(Mo(e, n))
})), r.push(Lo(Gh(Wh, e)), Ro(Gh(Kh, e)), jo(Gh(Yh, e)), No(Gh(Qh, e))), () => {
r.forEach((e => e()))
}
}(this)
}
_removeListeners() {
try {
od.document.removeEventListener("visibilitychange", this._handleVisibilityChange), od.removeEventListener("blur", this._handleWindowBlur), od.removeEventListener("focus", this._handleWindowFocus), od.removeEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.removeListeners(), this._performanceCleanupCallback && this._performanceCleanupCallback()
} catch (sB) {
this.handleException(sB)
}
}
_doChangeToBackgroundTasks(e) {
if (!this.session) return;
vf(this.session, {
maxReplayDuration: this._options.maxReplayDuration,
sessionIdleExpire: this.timeouts.sessionIdleExpire
}) || (e && this._createCustomBreadcrumb(e), this.conditionalFlush())
}
_doChangeToForegroundTasks(e) {
if (!this.session) return;
this.checkAndHandleExpiredSession() ? e && this._createCustomBreadcrumb(e) : Xh && nf.info("Document has become active, but session has expired")
}
_updateUserActivity(e = Date.now()) {
this._lastActivity = e
}
_updateSessionActivity(e = Date.now()) {
this.session && (this.session.lastActivity = e, this._maybeSaveSession())
}
_createCustomBreadcrumb(e) {
this.addUpdate((() => {
this.throttledAddEvent({
type: Ap.Custom,
timestamp: e.timestamp || 0,
data: {tag: "breadcrumb", payload: e}
})
}))
}
_addPerformanceEntries() {
let e = (t = this.performanceEntries, t.map($h).filter(Boolean)).concat(this.replayPerformanceEntries);
var t;
if (this.performanceEntries = [], this.replayPerformanceEntries = [], this._requiresManualStart) {
const t = this._context.initialTimestamp / 1e3;
e = e.filter((e => e.start >= t))
}
return Promise.all(Df(this, e))
}
_clearContext() {
this._context.errorIds.clear(), this._context.traceIds.clear(), this._context.urls = []
}
_updateInitialTimestampFromEventBuffer() {
const {session: e, eventBuffer: t} = this;
if (!e || !t || this._requiresManualStart) return;
if (e.segmentId) return;
const n = t.getEarliestTimestamp();
n && n < this._context.initialTimestamp && (this._context.initialTimestamp = n)
}
_popEventContext() {
const e = {
initialTimestamp: this._context.initialTimestamp,
initialUrl: this._context.initialUrl,
errorIds: Array.from(this._context.errorIds),
traceIds: Array.from(this._context.traceIds),
urls: this._context.urls
};
return this._clearContext(), e
}
async _runFlush() {
const e = this.getSessionId();
if (this.session && this.eventBuffer && e) {
if (await this._addPerformanceEntries(), this.eventBuffer?.hasEvents && (await async function (e) {
try {
return Promise.all(Df(e, [Qf(od.performance.memory)]))
} catch (t) {
return []
}
}(this), this.eventBuffer && e === this.getSessionId())) try {
this._updateInitialTimestampFromEventBuffer();
const t = Date.now();
if (t - this._context.initialTimestamp > this._options.maxReplayDuration + 3e4) throw new Error("Session is too long, not sending replay");
const n = this._popEventContext(), r = this.session.segmentId++;
this._maybeSaveSession();
const a = await this.eventBuffer.finish();
await rm({
replayId: e,
recordingData: a,
segmentId: r,
eventContext: n,
session: this.session,
timestamp: t,
onError: e => this.handleException(e)
})
} catch (sB) {
this.handleException(sB), this.stop({reason: "sendReplay"});
const t = tu();
if (t) {
const n = sB instanceof nm ? "ratelimit_backoff" : "send_error";
t.recordDroppedEvent(n, "replay")
}
}
} else Xh && nf.error("No session or eventBuffer found to flush.")
}
async _flush({force: e = !1} = {}) {
if (!this._isEnabled && !e) return;
if (!this.checkAndHandleExpiredSession()) return void (Xh && nf.error("Attempting to finish replay event after session expired."));
if (!this.session) return;
const t = this.session.started, n = Date.now() - t;
this._debouncedFlush.cancel();
const r = n < this._options.minReplayDuration, a = n > this._options.maxReplayDuration + 5e3;
if (r || a) return Xh && nf.info(`Session duration (${Math.floor(n / 1e3)}s) is too ${r ? "short" : "long"}, not sending replay.`), void (r && this._debouncedFlush());
const i = this.eventBuffer;
i && 0 === this.session.segmentId && !i.hasCheckout && Xh && nf.info("Flushing initial segment without checkout.");
const o = !!this._flushLock;
this._flushLock || (this._flushLock = this._runFlush());
try {
await this._flushLock
} catch (sB) {
this.handleException(sB)
} finally {
this._flushLock = void 0, o && this._debouncedFlush()
}
}
_maybeSaveSession() {
this.session && this._options.stickySession && hf(this.session)
}
_onMutationHandler(e) {
const t = e.length, n = this._options.mutationLimit, r = n && t > n;
if (t > this._options.mutationBreadcrumbLimit || r) {
const e = jh({category: "replay.mutations", data: {count: t, limit: r}});
this._createCustomBreadcrumb(e)
}
return !r || (this.stop({reason: "mutationLimit", forceFlush: "session" === this.recordingMode}), !1)
}
}
function sm(e, t) {
return [...e, ...t].join(",")
}
const lm = 'img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',
cm = ["content-length", "content-type", "accept"];
let um = !1;
class dm {
constructor({
flushMinDelay: e = 5e3,
flushMaxDelay: t = 5500,
minReplayDuration: n = 4999,
maxReplayDuration: r = 36e5,
stickySession: a = !0,
useCompression: i = !0,
workerUrl: o,
_experiments: s = {},
maskAllText: l = !0,
maskAllInputs: c = !0,
blockAllMedia: u = !0,
mutationBreadcrumbLimit: d = 750,
mutationLimit: p = 1e4,
slowClickTimeout: h = 7e3,
slowClickIgnoreSelectors: f = [],
networkDetailAllowUrls: m = [],
networkDetailDenyUrls: g = [],
networkCaptureBodies: v = !0,
networkRequestHeaders: _ = [],
networkResponseHeaders: y = [],
mask: b = [],
maskAttributes: x = ["title", "placeholder"],
unmask: w = [],
block: k = [],
unblock: S = [],
ignore: E = [],
maskFn: I,
beforeAddRecordingEvent: C,
beforeErrorSampling: O,
onError: P
} = {}) {
this.name = "Replay";
const A = function ({mask: e, unmask: t, block: n, unblock: r, ignore: a}) {
return {
maskTextSelector: sm(e, [".sentry-mask", "[data-sentry-mask]"]),
unmaskTextSelector: sm(t, []),
blockSelector: sm(n, [".sentry-block", "[data-sentry-block]", "base", "iframe[srcdoc]:not([src])"]),
unblockSelector: sm(r, []),
ignoreSelector: sm(a, [".sentry-ignore", "[data-sentry-ignore]", 'input[type="file"]'])
}
}({mask: b, unmask: w, block: k, unblock: S, ignore: E});
if (this._recordingOptions = {
maskAllInputs: c,
maskAllText: l,
maskInputOptions: {password: !0},
maskTextFn: I,
maskInputFn: I,
maskAttributeFn: (e, t, n) => function ({
el: e,
key: t,
maskAttributes: n,
maskAllText: r,
privacyOptions: a,
value: i
}) {
return r ? a.unmaskTextSelector && e.matches(a.unmaskTextSelector) ? i : n.includes(t) || "value" === t && "INPUT" === e.tagName && ["submit", "button"].includes(e.getAttribute("type") || "") ? i.replace(/[\S]/g, "*") : i : i
}({maskAttributes: x, maskAllText: l, privacyOptions: A, key: e, value: t, el: n}), ...A,
slimDOMOptions: "all",
inlineStylesheet: !0,
inlineImages: !1,
collectFonts: !0,
errorHandler: e => {
try {
e.__rrweb__ = !0
} catch (t) {
}
},
recordCrossOriginIframes: Boolean(s.recordCrossOriginIframes)
}, this._initialOptions = {
flushMinDelay: e,
flushMaxDelay: t,
minReplayDuration: Math.min(n, 15e3),
maxReplayDuration: Math.min(r, pd),
stickySession: a,
useCompression: i,
workerUrl: o,
blockAllMedia: u,
maskAllInputs: c,
maskAllText: l,
mutationBreadcrumbLimit: d,
mutationLimit: p,
slowClickTimeout: h,
slowClickIgnoreSelectors: f,
networkDetailAllowUrls: m,
networkDetailDenyUrls: g,
networkCaptureBodies: v,
networkRequestHeaders: pm(_),
networkResponseHeaders: pm(y),
beforeAddRecordingEvent: C,
beforeErrorSampling: O,
onError: P,
_experiments: s
}, this._initialOptions.blockAllMedia && (this._recordingOptions.blockSelector = this._recordingOptions.blockSelector ? `${this._recordingOptions.blockSelector},${lm}` : lm), this._isInitialized && qu()) throw new Error("Multiple Sentry Session Replay instances are not supported");
this._isInitialized = !0
}
get _isInitialized() {
return um
}
set _isInitialized(e) {
um = e
}
afterAllSetup(e) {
qu() && !this._replay && (this._setup(e), this._initialize(e))
}
start() {
this._replay && this._replay.start()
}
startBuffering() {
this._replay && this._replay.startBuffering()
}
stop() {
return this._replay ? this._replay.stop({forceFlush: "session" === this._replay.recordingMode}) : Promise.resolve()
}
flush(e) {
return this._replay ? this._replay.isEnabled() ? this._replay.sendBufferedReplayOrFlush(e) : (this._replay.start(), Promise.resolve()) : Promise.resolve()
}
getReplayId() {
if (this._replay?.isEnabled()) return this._replay.getSessionId()
}
getRecordingMode() {
if (this._replay?.isEnabled()) return this._replay.recordingMode
}
_initialize(e) {
this._replay && (this._maybeLoadFromReplayCanvasIntegration(e), this._replay.initializeSampling())
}
_setup(e) {
const t = function (e, t) {
const n = t.getOptions(), r = {sessionSampleRate: 0, errorSampleRate: 0, ...e},
a = Wu(n.replaysSessionSampleRate), i = Wu(n.replaysOnErrorSampleRate);
null == a && null == i && wc((() => {
console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")
}));
null != a && (r.sessionSampleRate = a);
null != i && (r.errorSampleRate = i);
return r
}(this._initialOptions, e);
this._replay = new om({options: t, recordingOptions: this._recordingOptions})
}
_maybeLoadFromReplayCanvasIntegration(e) {
try {
const t = e.getIntegrationByName("ReplayCanvas");
if (!t) return;
this._replay._canvas = t.getOptions()
} catch {
}
}
}
function pm(e) {
return [...cm, ...e.map((e => e.toLowerCase()))]
}
const hm = Object.prototype.toString;
function fm(e, t) {
return hm.call(e) === `[object ${t}]`
}
function mm(e) {
return fm(e, "Object")
}
function gm(e) {
return Boolean(e?.then && "function" === typeof e.then)
}
function vm(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
const _m = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__, ym = globalThis, bm = ym;
function xm(e, t) {
const n = e, r = [];
if (!n?.tagName) return "";
if (bm.HTMLElement && n instanceof HTMLElement && n.dataset) {
if (n.dataset.sentryComponent) return n.dataset.sentryComponent;
if (n.dataset.sentryElement) return n.dataset.sentryElement
}
r.push(n.tagName.toLowerCase());
const a = t?.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (a?.length) a.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
})); else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && fm(e, "String")) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const i = ["aria-label", "type", "name", "title", "alt"];
for (const o of i) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
const wm = "9.18.0";
function km() {
return Sm(ym), ym
}
function Sm(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || wm, t[wm] = t[wm] || {}
}
function Em(e, t, n = ym) {
const r = n.__SENTRY__ = n.__SENTRY__ || {}, a = r[wm] = r[wm] || {};
return a[e] || (a[e] = t())
}
const Im = ["debug", "info", "warn", "error", "log", "assert", "trace"], Cm = {};
const Om = Em("logger", (function () {
let e = !1;
const t = {
enable: () => {
e = !0
}, disable: () => {
e = !1
}, isEnabled: () => e
};
return _m ? Im.forEach((n => {
t[n] = (...t) => {
e && function (e) {
if (!("console" in ym)) return e();
const t = ym.console, n = {}, r = Object.keys(Cm);
r.forEach((e => {
const r = Cm[e];
n[e] = t[e], t[e] = r
}));
try {
e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}((() => {
ym.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : Im.forEach((e => {
t[e] = () => {
}
})), t
}));
function Pm(e, t, n) {
try {
Object.defineProperty(e, t, {value: n, writable: !0, configurable: !0})
} catch (r) {
_m && Om.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function Am(e) {
if (function (e) {
switch (hm.call(e)) {
case"[object Error]":
case"[object Exception]":
case"[object DOMException]":
case"[object WebAssembly.Exception]":
return !0;
default:
return vm(e, Error)
}
}(e)) return {message: e.message, name: e.name, stack: e.stack, ...Dm(e)};
if (t = e, "undefined" !== typeof Event && vm(t, Event)) {
const t = {type: e.type, target: Tm(e.target), currentTarget: Tm(e.currentTarget), ...Dm(e)};
return "undefined" !== typeof CustomEvent && vm(e, CustomEvent) && (t.detail = e.detail), t
}
return e;
var t
}
function Tm(e) {
try {
return t = e, "undefined" !== typeof Element && vm(t, Element) ? function (e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5, a = [];
let i = 0, o = 0;
const s = " > ", l = s.length;
let c;
const u = Array.isArray(t) ? t : t.keyAttrs, d = !Array.isArray(t) && t.maxStringLength || 80;
for (; n && i++ < r && (c = xm(n, u), !("html" === c || i > 1 && o + a.length * l + c.length >= d));) a.push(c), o += c.length, n = n.parentNode;
return a.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}(e) : Object.prototype.toString.call(e)
} catch (n) {
return "<unknown>"
}
var t
}
function Dm(e) {
if ("object" === typeof e && null !== e) {
const t = {};
for (const n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t
}
return {}
}
const Rm = /captureMessage|captureException/;
function Lm(e) {
if (!e.length) return [];
const t = Array.from(e);
return /sentryWrapped/.test(jm(t).function || "") && t.pop(), t.reverse(), Rm.test(jm(t).function || "") && (t.pop(), Rm.test(jm(t).function || "") && t.pop()), t.slice(0, 50).map((e => ({
...e,
filename: e.filename || jm(t).filename,
function: e.function || "?"
})))
}
function jm(e) {
return e[e.length - 1] || {}
}
const Nm = "<anonymous>";
function Mm(e, t = 100, n = 1 / 0) {
try {
return Fm("", e, t, n)
} catch (sB) {
return {ERROR: `**non-serializable** (${sB})`}
}
}
function Fm(e, t, n = 1 / 0, r = 1 / 0, a = function () {
const e = new WeakSet;
function t(t) {
return !!e.has(t) || (e.add(t), !1)
}
function n(t) {
e.delete(t)
}
return [t, n]
}()) {
const [i, o] = a;
if (null == t || ["boolean", "string"].includes(typeof t) || "number" === typeof t && Number.isFinite(t)) return t;
const s = function (e, t) {
try {
if ("domain" === e && t && "object" === typeof t && t._events) return "[Domain]";
if ("domainEmitter" === e) return "[DomainEmitter]";
if ("undefined" !== typeof global && t === global) return "[Global]";
if ("undefined" !== typeof window && t === window) return "[Window]";
if ("undefined" !== typeof document && t === document) return "[Document]";
if ("object" === typeof (n = t) && null !== n && (n.__isVue || n._isVue)) return "[VueViewModel]";
if (function (e) {
return mm(e) && "nativeEvent" in e && "preventDefault" in e && "stopPropagation" in e
}(t)) return "[SyntheticEvent]";
if ("number" === typeof t && !Number.isFinite(t)) return `[${t}]`;
if ("function" === typeof t) return `[Function: ${function (e) {
try {
return e && "function" === typeof e && e.name || Nm
} catch (t) {
return Nm
}
}(t)}]`;
if ("symbol" === typeof t) return `[${String(t)}]`;
if ("bigint" === typeof t) return `[BigInt: ${String(t)}]`;
const r = function (e) {
const t = Object.getPrototypeOf(e);
return t?.constructor ? t.constructor.name : "null prototype"
}(t);
return /^HTML(\w*)Element$/.test(r) ? `[HTMLElement: ${r}]` : `[object ${r}]`
} catch (sB) {
return `**non-serializable** (${sB})`
}
var n
}(e, t);
if (!s.startsWith("[object ")) return s;
if (t.__sentry_skip_normalization__) return t;
const l = "number" === typeof t.__sentry_override_normalization_depth__ ? t.__sentry_override_normalization_depth__ : n;
if (0 === l) return s.replace("object ", "");
if (i(t)) return "[Circular ~]";
const c = t;
if (c && "function" === typeof c.toJSON) try {
return Fm("", c.toJSON(), l - 1, r, a)
} catch (sB) {
}
const u = Array.isArray(t) ? [] : {};
let d = 0;
const p = Am(t);
for (const h in p) {
if (!Object.prototype.hasOwnProperty.call(p, h)) continue;
if (d >= r) {
u[h] = "[MaxProperties ~]";
break
}
const e = p[h];
u[h] = Fm(h, e, l - 1, r, a), d++
}
return o(t), u
}
function zm(e = function () {
const e = ym;
return e.crypto || e.msCrypto
}()) {
let t = () => 16 * Math.random();
try {
if (e?.randomUUID) return e.randomUUID().replace(/-/g, "");
e?.getRandomValues && (t = () => {
const t = new Uint8Array(1);
return e.getRandomValues(t), t[0]
})
} catch (xz) {
}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & t()) >> e / 4).toString(16)))
}
function Vm() {
return Date.now() / 1e3
}
const Um = function () {
const {performance: e} = ym;
if (!e?.now) return Vm;
const t = Date.now() - e.now(), n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
function Bm(e, t = {}) {
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), e.did || t.did || (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || Um(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = 32 === t.sid.length ? t.sid : zm()), void 0 !== t.init && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), "number" === typeof t.started && (e.started = t.started), e.ignoreDuration) e.duration = void 0; else if ("number" === typeof t.duration) e.duration = t.duration; else {
const t = e.timestamp - e.started;
e.duration = t >= 0 ? t : 0
}
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), "number" === typeof t.errors && (e.errors = t.errors), t.status && (e.status = t.status)
}
function Gm(e, t, n = 2) {
if (!t || "object" !== typeof t || n <= 0) return t;
if (e && 0 === Object.keys(t).length) return e;
const r = {...e};
for (const a in t) Object.prototype.hasOwnProperty.call(t, a) && (r[a] = Gm(r[a], t[a], n - 1));
return r
}
const $m = "_sentrySpan";
function qm(e, t) {
t ? Pm(e, $m, t) : delete e[$m]
}
function Wm(e) {
return e[$m]
}
function Hm() {
return zm()
}
function Km(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0, t)}...`
}
class Ym {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = {
traceId: Hm(),
sampleRand: Math.random()
}
}
clone() {
const e = new Ym;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {...this._tags}, e._extra = {...this._extra}, e._contexts = {...this._contexts}, this._contexts.flags && (e._contexts.flags = {values: [...this._contexts.flags.values]}), e._user = this._user, e._level = this._level, e._session = this._session, e._transactionName = this._transactionName, e._fingerprint = this._fingerprint, e._eventProcessors = [...this._eventProcessors], e._attachments = [...this._attachments], e._sdkProcessingMetadata = {...this._sdkProcessingMetadata}, e._propagationContext = {...this._propagationContext}, e._client = this._client, e._lastEventId = this._lastEventId, qm(e, Wm(this)), e
}
setClient(e) {
this._client = e
}
setLastEventId(e) {
this._lastEventId = e
}
getClient() {
return this._client
}
lastEventId() {
return this._lastEventId
}
addScopeListener(e) {
this._scopeListeners.push(e)
}
addEventProcessor(e) {
return this._eventProcessors.push(e), this
}
setUser(e) {
return this._user = e || {
email: void 0,
id: void 0,
ip_address: void 0,
username: void 0
}, this._session && Bm(this._session, {user: e}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
setTags(e) {
return this._tags = {...this._tags, ...e}, this._notifyScopeListeners(), this
}
setTag(e, t) {
return this._tags = {...this._tags, [e]: t}, this._notifyScopeListeners(), this
}
setExtras(e) {
return this._extra = {...this._extra, ...e}, this._notifyScopeListeners(), this
}
setExtra(e, t) {
return this._extra = {...this._extra, [e]: t}, this._notifyScopeListeners(), this
}
setFingerprint(e) {
return this._fingerprint = e, this._notifyScopeListeners(), this
}
setLevel(e) {
return this._level = e, this._notifyScopeListeners(), this
}
setTransactionName(e) {
return this._transactionName = e, this._notifyScopeListeners(), this
}
setContext(e, t) {
return null === t ? delete this._contexts[e] : this._contexts[e] = t, this._notifyScopeListeners(), this
}
setSession(e) {
return e ? this._session = e : delete this._session, this._notifyScopeListeners(), this
}
getSession() {
return this._session
}
update(e) {
if (!e) return this;
const t = "function" === typeof e ? e(this) : e,
n = t instanceof Ym ? t.getScopeData() : mm(t) ? e : void 0, {
tags: r,
extra: a,
user: i,
contexts: o,
level: s,
fingerprint: l = [],
propagationContext: c
} = n || {};
return this._tags = {...this._tags, ...r}, this._extra = {...this._extra, ...a}, this._contexts = {...this._contexts, ...o}, i && Object.keys(i).length && (this._user = i), s && (this._level = s), l.length && (this._fingerprint = l), c && (this._propagationContext = c), this
}
clear() {
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._session = void 0, qm(this, void 0), this._attachments = [], this.setPropagationContext({
traceId: Hm(),
sampleRand: Math.random()
}), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {timestamp: Vm(), ...e, message: e.message ? Km(e.message, 2048) : e.message};
return this._breadcrumbs.push(r), this._breadcrumbs.length > n && (this._breadcrumbs = this._breadcrumbs.slice(-n), this._client?.recordDroppedEvent("buffer_overflow", "log_item")), this._notifyScopeListeners(), this
}
getLastBreadcrumb() {
return this._breadcrumbs[this._breadcrumbs.length - 1]
}
clearBreadcrumbs() {
return this._breadcrumbs = [], this._notifyScopeListeners(), this
}
addAttachment(e) {
return this._attachments.push(e), this
}
clearAttachments() {
return this._attachments = [], this
}
getScopeData() {
return {
breadcrumbs: this._breadcrumbs,
attachments: this._attachments,
contexts: this._contexts,
tags: this._tags,
extra: this._extra,
user: this._user,
level: this._level,
fingerprint: this._fingerprint || [],
eventProcessors: this._eventProcessors,
propagationContext: this._propagationContext,
sdkProcessingMetadata: this._sdkProcessingMetadata,
transactionName: this._transactionName,
span: Wm(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = Gm(this._sdkProcessingMetadata, e, 2), this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t?.event_id || zm();
if (!this._client) return Om.warn("No client configured on scope - will not capture exception!"), n;
const r = new Error("Sentry syntheticException");
return this._client.captureException(e, {
originalException: e,
syntheticException: r, ...t,
event_id: n
}, this), n
}
captureMessage(e, t, n) {
const r = n?.event_id || zm();
if (!this._client) return Om.warn("No client configured on scope - will not capture message!"), r;
const a = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: a, ...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t?.event_id || zm();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (Om.warn("No client configured on scope - will not capture event!"), n)
}
_notifyScopeListeners() {
this._notifyingListeners || (this._notifyingListeners = !0, this._scopeListeners.forEach((e => {
e(this)
})), this._notifyingListeners = !1)
}
}
class Qm {
constructor(e, t) {
let n, r;
n = e || new Ym, r = t || new Ym, this._stack = [{scope: n}], this._isolationScope = r
}
withScope(e) {
const t = this._pushScope();
let n;
try {
n = e(t)
} catch (r) {
throw this._popScope(), r
}
return gm(n) ? n.then((e => (this._popScope(), e)), (e => {
throw this._popScope(), e
})) : (this._popScope(), n)
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getIsolationScope() {
return this._isolationScope
}
getStackTop() {
return this._stack[this._stack.length - 1]
}
_pushScope() {
const e = this.getScope().clone();
return this._stack.push({client: this.getClient(), scope: e}), e
}
_popScope() {
return !(this._stack.length <= 1) && !!this._stack.pop()
}
}
function Zm() {
const e = Sm(km());
return e.stack = e.stack || new Qm(Em("defaultCurrentScope", (() => new Ym)), Em("defaultIsolationScope", (() => new Ym)))
}
function Xm(e) {
return Zm().withScope(e)
}
function Jm(e, t) {
const n = Zm();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function eg(e) {
return Zm().withScope((() => e(Zm().getIsolationScope())))
}
function tg(e) {
const t = Sm(e);
return t.acs ? t.acs : {
withIsolationScope: eg,
withScope: Xm,
withSetScope: Jm,
withSetIsolationScope: (e, t) => eg(t),
getCurrentScope: () => Zm().getScope(),
getIsolationScope: () => Zm().getIsolationScope()
}
}
function ng() {
return tg(km()).getCurrentScope()
}
function rg() {
return tg(km()).getIsolationScope()
}
function ag() {
return Em("globalScope", (() => new Ym))
}
function ig(e, t) {
const {
extra: n,
tags: r,
user: a,
contexts: i,
level: o,
sdkProcessingMetadata: s,
breadcrumbs: l,
fingerprint: c,
eventProcessors: u,
attachments: d,
propagationContext: p,
transactionName: h,
span: f
} = t;
og(e, "extra", n), og(e, "tags", r), og(e, "user", a), og(e, "contexts", i), e.sdkProcessingMetadata = Gm(e.sdkProcessingMetadata, s, 2), o && (e.level = o), h && (e.transactionName = h), f && (e.span = f), l.length && (e.breadcrumbs = [...e.breadcrumbs, ...l]), c.length && (e.fingerprint = [...e.fingerprint, ...c]), u.length && (e.eventProcessors = [...e.eventProcessors, ...u]), d.length && (e.attachments = [...e.attachments, ...d]), e.propagationContext = {...e.propagationContext, ...p}
}
function og(e, t, n) {
e[t] = Gm(e[t], n, 1)
}
function sg() {
const e = ag().getScopeData(), t = rg().getScopeData(), n = ng().getScopeData();
return ig(e, t), ig(e, n), e.eventProcessors = [], e
}
var lg;
!function (e) {
e[e.Classic = 1] = "Classic", e[e.Protocol = 2] = "Protocol", e[e.Both = 3] = "Both"
}(lg || (lg = {}));
var cg;
!function (e) {
e.RENDERER_START = "sentry-electron.renderer-start", e.SCOPE = "sentry-electron.scope", e.ENVELOPE = "sentry-electron.envelope", e.STATUS = "sentry-electron.status", e.ADD_METRIC = "sentry-electron.add-metric"
}(cg || (cg = {}));
function ug(e) {
return `sentry-ipc://${e}/sentry_key`
}
let dg;
function pg() {
return dg || (dg = function () {
if (window.__SENTRY_IPC__) return window.__SENTRY_IPC__;
{
Om.log("IPC was not configured in preload script, falling back to custom protocol and fetch");
const e = {"sentry-electron-renderer-id": window.__SENTRY_RENDERER_ID__ = zm()};
return {
sendRendererStart: () => {
fetch(ug(cg.RENDERER_START), {method: "POST", body: "", headers: e}).catch((() => {
console.error("Sentry SDK failed to establish connection with the Electron main process.\n - Ensure you have initialized the SDK in the main process\n - If your renderers use custom sessions, be sure to set 'getSessions' in the main process options\n - If you are bundling your main process code and using Electron < v5, you'll need to manually configure a preload script")
}))
}, sendScope: t => {
fetch(ug(cg.SCOPE), {method: "POST", body: t, headers: e}).catch((() => {
}))
}, sendEnvelope: t => {
fetch(ug(cg.ENVELOPE), {method: "POST", body: t, headers: e}).catch((() => {
}))
}, sendStatus: t => {
fetch(ug(cg.STATUS), {
method: "POST",
body: JSON.stringify({status: t}),
headers: e
}).catch((() => {
}))
}
}
}
}(), dg.sendRendererStart()), dg
}
const hg = () => ({
name: "ScopeToMain", setup() {
const e = pg();
var t;
t = (t, n) => {
e.sendScope(JSON.stringify(Mm(t, 20, 2e3))), n.clearBreadcrumbs(), n.clearAttachments()
}, rg().addScopeListener((e => {
const n = sg();
t(n, e)
})), ng().addScopeListener((e => {
const n = sg();
t(n, e)
})), ag().addScopeListener((e => {
const n = sg();
t(n, e)
}))
}
});
function fg(e, t) {
const n = e[1];
for (const r of n) {
if (t(r, r[0].type)) return !0
}
return !1
}
function mg(e) {
const t = Sm(ym);
return t.encodePolyfill ? t.encodePolyfill(e) : (new TextEncoder).encode(e)
}
function gg(e) {
const [t, n] = e;
let r = JSON.stringify(t);
function a(e) {
"string" === typeof r ? r = "string" === typeof e ? r + e : [mg(r), e] : r.push("string" === typeof e ? mg(e) : e)
}
for (const o of n) {
const [e, t] = o;
if (a(`\n${JSON.stringify(e)}\n`), "string" === typeof t || t instanceof Uint8Array) a(t); else {
let e;
try {
e = JSON.stringify(t)
} catch (i) {
e = JSON.stringify(Mm(t))
}
a(e)
}
}
return "string" === typeof r ? r : function (e) {
const t = e.reduce(((e, t) => e + t.length), 0), n = new Uint8Array(t);
let r = 0;
for (const a of e) n.set(a, r), r += a.length;
return n
}(r)
}
const vg = {
session: "session",
sessions: "session",
attachment: "attachment",
transaction: "transaction",
event: "error",
client_report: "internal",
user_report: "default",
profile: "profile",
profile_chunk: "profile",
replay_event: "replay",
replay_recording: "replay",
check_in: "monitor",
feedback: "feedback",
span: "span",
raw_security: "security",
log: "log_item"
};
function _g(e) {
return vg[e]
}
var yg;
function bg(e) {
return new xg((t => {
t(e)
}))
}
!function (e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(yg || (yg = {}));
class xg {
constructor(e) {
this._state = yg.PENDING, this._handlers = [], this._runExecutor(e)
}
then(e, t) {
return new xg(((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (a) {
r(a)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (a) {
r(a)
} else r(e)
}]), this._executeHandlers()
}))
}
catch(e) {
return this.then((e => e), e)
}
finally(e) {
return new xg(((t, n) => {
let r, a;
return this.then((t => {
a = !1, r = t, e && e()
}), (t => {
a = !0, r = t, e && e()
})).then((() => {
a ? n(r) : t(r)
}))
}))
}
_executeHandlers() {
if (this._state === yg.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach((e => {
e[0] || (this._state === yg.RESOLVED && e[1](this._value), this._state === yg.REJECTED && e[2](this._value), e[0] = !0)
}))
}
_runExecutor(e) {
const t = (e, t) => {
this._state === yg.PENDING && (gm(t) ? t.then(n, r) : (this._state = e, this._value = t, this._executeHandlers()))
}, n = e => {
t(yg.RESOLVED, e)
}, r = e => {
t(yg.REJECTED, e)
};
try {
e(n, r)
} catch (a) {
r(a)
}
}
}
const wg = Symbol.for("SentryBufferFullError");
function kg(e) {
const t = [];
function n(e) {
return t.splice(t.indexOf(e), 1)[0] || Promise.resolve(void 0)
}
return {
$: t, add: function (r) {
if (!(void 0 === e || t.length < e)) return a = wg, new xg(((e, t) => {
t(a)
}));
var a;
const i = r();
return -1 === t.indexOf(i) && t.push(i), i.then((() => n(i))).then(null, (() => n(i).then(null, (() => {
})))), i
}, drain: function (e) {
return new xg(((n, r) => {
let a = t.length;
if (!a) return n(!0);
const i = setTimeout((() => {
e && e > 0 && n(!1)
}), e);
t.forEach((e => {
bg(e).then((() => {
--a || (clearTimeout(i), n(!0))
}), r)
}))
}))
}
}
}
function Sg(e, {statusCode: t, headers: n}, r = Date.now()) {
const a = {...e}, i = n?.["x-sentry-rate-limits"], o = n?.["retry-after"];
if (i) for (const s of i.trim().split(",")) {
const [e, t, , , n] = s.split(":", 5), i = parseInt(e, 10), o = 1e3 * (isNaN(i) ? 60 : i);
if (t) for (const s of t.split(";")) "metric_bucket" === s && n && !n.split(";").includes("custom") || (a[s] = r + o); else a.all = r + o
} else o ? a.all = r + function (e, t = Date.now()) {
const n = parseInt(`${e}`, 10);
if (!isNaN(n)) return 1e3 * n;
const r = Date.parse(`${e}`);
return isNaN(r) ? 6e4 : r - t
}(o, r) : 429 === t && (a.all = r + 6e4);
return a
}
function Eg(e, t, n = kg(e.bufferSize || 64)) {
let r = {};
return {
send: function (a) {
const i = [];
if (fg(a, ((t, n) => {
const a = _g(n);
!function (e, t, n = Date.now()) {
return function (e, t) {
return e[t] || e.all || 0
}(e, t) > n
}(r, a) ? i.push(t) : e.recordDroppedEvent("ratelimit_backoff", a)
})), 0 === i.length) return bg({});
const o = function (e, t = []) {
return [e, t]
}(a[0], i), s = t => {
fg(o, ((n, r) => {
e.recordDroppedEvent(t, _g(r))
}))
};
return n.add((() => t({body: gg(o)}).then((e => (void 0 !== e.statusCode && (e.statusCode < 200 || e.statusCode >= 300) && _m && Om.warn(`Sentry responded with status code ${e.statusCode} to sent event.`), r = Sg(r, e), e)), (e => {
throw s("network_error"), _m && Om.error("Encountered error running transport request:", e), e
})))).then((e => e), (e => {
if (e === wg) return _m && Om.error("Skipped sending event because buffer is full."), s("queue_overflow"), bg({});
throw e
}))
}, flush: e => n.drain(e)
}
}
function Ig(e) {
const t = pg();
return Eg(e, (async e => (t.sendEnvelope(e.body), {statusCode: 200})))
}
const Cg = [];
function Og(e) {
const t = e.defaultIntegrations || [], n = e.integrations;
let r;
if (t.forEach((e => {
e.isDefaultInstance = !0
})), Array.isArray(n)) r = [...t, ...n]; else if ("function" === typeof n) {
const e = n(t);
r = Array.isArray(e) ? e : [e]
} else r = t;
return function (e) {
const t = {};
return e.forEach((e => {
const {name: n} = e, r = t[n];
r && !r.isDefaultInstance && e.isDefaultInstance || (t[n] = e)
})), Object.values(t)
}(r)
}
function Pg(e, t) {
for (const n of t) n?.afterAllSetup && n.afterAllSetup(e)
}
function Ag(e, t, n) {
if (n[t.name]) Ct && Yt.log(`Integration skipped because it was already installed: ${t.name}`); else {
if (n[t.name] = t, -1 === Cg.indexOf(t.name) && "function" === typeof t.setupOnce && (t.setupOnce(), Cg.push(t.name)), t.setup && "function" === typeof t.setup && t.setup(e), "function" === typeof t.preprocessEvent) {
const n = t.preprocessEvent.bind(t);
e.on("preprocessEvent", ((t, r) => n(t, r, e)))
}
if ("function" === typeof t.processEvent) {
const n = t.processEvent.bind(t), r = Object.assign(((t, r) => n(t, r, e)), {id: t.name});
e.addEventProcessor(r)
}
Ct && Yt.log(`Integration installed: ${t.name}`)
}
}
function Tg(e) {
const t = [];
e.message && t.push(e.message);
try {
const n = e.exception.values[e.exception.values.length - 1];
n?.value && (t.push(n.value), n.type && t.push(`${n.type}: ${n.value}`))
} catch (n) {
}
return t
}
const Dg = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/, /^Can't find variable: gmo$/, /^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/, 'can\'t redefine non-configurable property "solana"', "vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)", "Can't find variable: _AutofillCallbackHandler", /^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/, /^Java exception was raised during method invocation$/],
Rg = (e = {}) => {
let t;
return {
name: "EventFilters", setup(n) {
const r = n.getOptions();
t = jg(e, r)
}, processEvent(n, r, a) {
if (!t) {
const n = a.getOptions();
t = jg(e, n)
}
return function (e, t) {
if (e.type) {
if ("transaction" === e.type && function (e, t) {
if (!t?.length) return !1;
const n = e.transaction;
return !!n && Jt(n, t)
}(e, t.ignoreTransactions)) return Ct && Yt.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${un(e)}`), !0
} else {
if (function (e, t) {
if (!t?.length) return !1;
return Tg(e).some((e => Jt(e, t)))
}(e, t.ignoreErrors)) return Ct && Yt.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${un(e)}`), !0;
if (function (e) {
if (!e.exception?.values?.length) return !1;
return !e.message && !e.exception.values.some((e => e.stacktrace || e.type && "Error" !== e.type || e.value))
}(e)) return Ct && Yt.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${un(e)}`), !0;
if (function (e, t) {
if (!t?.length) return !1;
const n = Ng(e);
return !!n && Jt(n, t)
}(e, t.denyUrls)) return Ct && Yt.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${un(e)}.\nUrl: ${Ng(e)}`), !0;
if (!function (e, t) {
if (!t?.length) return !0;
const n = Ng(e);
return !n || Jt(n, t)
}(e, t.allowUrls)) return Ct && Yt.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${un(e)}.\nUrl: ${Ng(e)}`), !0
}
return !1
}(n, t) ? null : n
}
}
}, Lg = (e = {}) => ({...Rg(e), name: "InboundFilters"});
function jg(e = {}, t = {}) {
return {
allowUrls: [...e.allowUrls || [], ...t.allowUrls || []],
denyUrls: [...e.denyUrls || [], ...t.denyUrls || []],
ignoreErrors: [...e.ignoreErrors || [], ...t.ignoreErrors || [], ...e.disableErrorDefaults ? [] : Dg],
ignoreTransactions: [...e.ignoreTransactions || [], ...t.ignoreTransactions || []]
}
}
function Ng(e) {
try {
const t = [...e.exception?.values ?? []].reverse().find((e => void 0 === e.mechanism?.parent_id && e.stacktrace?.frames?.length))?.stacktrace?.frames;
return t ? function (e = []) {
for (let t = e.length - 1; t >= 0; t--) {
const n = e[t];
if (n && "<anonymous>" !== n.filename && "[native code]" !== n.filename) return n.filename || null
}
return null
}(t) : null
} catch (_w) {
return Ct && Yt.error(`Cannot extract url for event ${un(e)}`), null
}
}
let Mg;
const Fg = new WeakMap, zg = () => ({
name: "FunctionToString", setupOnce() {
Mg = Function.prototype.toString;
try {
Function.prototype.toString = function (...e) {
const t = rn(this), n = Fg.has(Nn()) && void 0 !== t ? t : this;
return Mg.apply(n, e)
}
} catch {
}
}, setup(e) {
Fg.set(e, !0)
}
}), Vg = () => {
let e;
return {
name: "Dedupe", processEvent(t) {
if (t.type) return t;
try {
if (function (e, t) {
if (!t) return !1;
if (function (e, t) {
const n = e.message, r = t.message;
if (!n && !r) return !1;
if (n && !r || !n && r) return !1;
if (n !== r) return !1;
if (!Bg(e, t)) return !1;
if (!Ug(e, t)) return !1;
return !0
}(e, t)) return !0;
if (function (e, t) {
const n = Gg(t), r = Gg(e);
if (!n || !r) return !1;
if (n.type !== r.type || n.value !== r.value) return !1;
if (!Bg(e, t)) return !1;
if (!Ug(e, t)) return !1;
return !0
}(e, t)) return !0;
return !1
}(t, e)) return Ct && Yt.warn("Event dropped due to being a duplicate of previously captured event."), null
} catch (n) {
}
return e = t
}
}
};
function Ug(e, t) {
let n = Br(e), r = Br(t);
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
if (r.length !== n.length) return !1;
for (let a = 0; a < r.length; a++) {
const e = r[a], t = n[a];
if (e.filename !== t.filename || e.lineno !== t.lineno || e.colno !== t.colno || e.function !== t.function) return !1
}
return !0
}
function Bg(e, t) {
let n = e.fingerprint, r = t.fingerprint;
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
try {
return !(n.join("") !== r.join(""))
} catch (a) {
return !1
}
}
function Gg(e) {
return e.exception?.values && e.exception.values[0]
}
function $g(e, t) {
!0 === t.debug && (Ct ? Yt.enable() : Kt((() => {
console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")
})));
Rn().update(t.initialScope);
const n = new e(t);
return function (e) {
Rn().setClient(e)
}(n), n.init(), n
}
function qg(e) {
const t = e.protocol ? `${e.protocol}:` : "", n = e.port ? `:${e.port}` : "";
return `${t}//${e.host}${n}${e.path ? `/${e.path}` : ""}/api/`
}
function Wg(e, t, n) {
return t || `${function (e) {
return `${qg(e)}${e.projectId}/envelope/`
}(e)}?${function (e, t) {
const n = {sentry_version: "7"};
return e.publicKey && (n.sentry_key = e.publicKey), t && (n.sentry_client = `${t.name}/${t.version}`), new URLSearchParams(n).toString()
}(e, n)}`
}
const Hg = "Not capturing exception because it's already been captured.",
Kg = "Discarded session because of missing or non-string release", Yg = Symbol.for("SentryInternalError"),
Qg = Symbol.for("SentryDoNotSendEventError");
function Zg(e) {
return {message: e, [Yg]: !0}
}
function Xg(e) {
return {message: e, [Qg]: !0}
}
function Jg(e) {
return !!e && "object" === typeof e && Yg in e
}
function ev(e) {
return !!e && "object" === typeof e && Qg in e
}
class tv {
constructor(e) {
if (this._options = e, this._integrations = {}, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], e.dsn ? this._dsn = Lr(e.dsn) : Ct && Yt.warn("No DSN provided, client will not send events."), this._dsn) {
const t = Wg(this._dsn, e.tunnel, e._metadata ? e._metadata.sdk : void 0);
this._transport = e.transport({
tunnel: this._options.tunnel,
recordDroppedEvent: this.recordDroppedEvent.bind(this), ...e.transportOptions,
url: t
})
}
}
captureException(e, t, n) {
const r = ln();
if (hn(e)) return Ct && Yt.log(Hg), r;
const a = {event_id: r, ...t};
return this._process(this.eventFromException(e, a).then((e => this._captureEvent(e, a, n)))), a.event_id
}
captureMessage(e, t, n, r) {
const a = {event_id: ln(), ...n}, i = Lt(e) ? e : String(e),
o = jt(e) ? this.eventFromMessage(i, t, a) : this.eventFromException(e, a);
return this._process(o.then((e => this._captureEvent(e, a, r)))), a.event_id
}
captureEvent(e, t, n) {
const r = ln();
if (t?.originalException && hn(t.originalException)) return Ct && Yt.log(Hg), r;
const a = {event_id: r, ...t}, i = e.sdkProcessingMetadata || {}, o = i.capturedSpanScope,
s = i.capturedSpanIsolationScope;
return this._process(this._captureEvent(e, a, o || n, s)), a.event_id
}
captureSession(e) {
this.sendSession(e), yn(e, {init: !1})
}
getDsn() {
return this._dsn
}
getOptions() {
return this._options
}
getSdkMetadata() {
return this._options._metadata
}
getTransport() {
return this._transport
}
flush(e) {
const t = this._transport;
return t ? (this.emit("flush"), this._isClientDoneProcessing(e).then((n => t.flush(e).then((e => n && e))))) : Xs(!0)
}
close(e) {
return this.flush(e).then((e => (this.getOptions().enabled = !1, this.emit("close"), e)))
}
getEventProcessors() {
return this._eventProcessors
}
addEventProcessor(e) {
this._eventProcessors.push(e)
}
init() {
(this._isEnabled() || this._options.integrations.some((({name: e}) => e.startsWith("Spotlight")))) && this._setupIntegrations()
}
getIntegrationByName(e) {
return this._integrations[e]
}
addIntegration(e) {
const t = this._integrations[e.name];
Ag(this, e, this._integrations), t || Pg(this, [e])
}
sendEvent(e, t = {}) {
this.emit("beforeSendEvent", e, t);
let n = na(e, this._dsn, this._options._metadata, this._options.tunnel);
for (const a of t.attachments || []) n = Hr(n, Xr(a));
const r = this.sendEnvelope(n);
r && r.then((t => this.emit("afterSendEvent", e, t)), null)
}
sendSession(e) {
const {release: t, environment: n = Sr} = this._options;
if ("aggregates" in e) {
const r = e.attrs || {};
if (!r.release && !t) return void (Ct && Yt.warn(Kg));
r.release = r.release || t, r.environment = r.environment || n, e.attrs = r
} else {
if (!e.release && !t) return void (Ct && Yt.warn(Kg));
e.release = e.release || t, e.environment = e.environment || n
}
this.emit("beforeSendSession", e);
const r = function (e, t, n, r) {
const a = ta(n);
return Wr({sent_at: (new Date).toISOString(), ...a && {sdk: a}, ...!!r && t && {dsn: Dr(t)}}, ["aggregates" in e ? [{type: "sessions"}, e] : [{type: "session"}, e.toJSON()]])
}(e, this._dsn, this._options._metadata, this._options.tunnel);
this.sendEnvelope(r)
}
recordDroppedEvent(e, t, n = 1) {
if (this._options.sendClientReports) {
const r = `${e}:${t}`;
Ct && Yt.log(`Recording outcome: "${r}"${n > 1 ? ` (${n} times)` : ""}`), this._outcomes[r] = (this._outcomes[r] || 0) + n
}
}
on(e, t) {
const n = this._hooks[e] = this._hooks[e] || [];
return n.push(t), () => {
const e = n.indexOf(t);
e > -1 && n.splice(e, 1)
}
}
emit(e, ...t) {
const n = this._hooks[e];
n && n.forEach((e => e(...t)))
}
sendEnvelope(e) {
return this.emit("beforeEnvelope", e), this._isEnabled() && this._transport ? this._transport.send(e).then(null, (e => (Ct && Yt.error("Error while sending envelope:", e), e))) : (Ct && Yt.error("Transport disabled"), Xs({}))
}
_setupIntegrations() {
const {integrations: e} = this._options;
this._integrations = function (e, t) {
const n = {};
return t.forEach((t => {
t && Ag(e, t, n)
})), n
}(this, e), Pg(this, e)
}
_updateSessionFromEvent(e, t) {
let n = "fatal" === t.level, r = !1;
const a = t.exception?.values;
if (a) {
r = !0;
for (const e of a) {
if (!1 === e.mechanism?.handled) {
n = !0;
break
}
}
}
const i = "ok" === e.status;
(i && 0 === e.errors || i && n) && (yn(e, {
...n && {status: "crashed"},
errors: e.errors || Number(r || n)
}), this.captureSession(e))
}
_isClientDoneProcessing(e) {
return new el((t => {
let n = 0;
const r = setInterval((() => {
0 == this._numProcessing ? (clearInterval(r), t(!0)) : (n += 1, e && n >= e && (clearInterval(r), t(!1)))
}), 1)
}))
}
_isEnabled() {
return !1 !== this.getOptions().enabled && void 0 !== this._transport
}
_prepareEvent(e, t, n, r) {
const a = this.getOptions(), i = Object.keys(this._integrations);
return !t.integrations && i?.length && (t.integrations = i), this.emit("preprocessEvent", e, t), e.type || r.setLastEventId(e.event_id || t.event_id), cl(a, e, t, n, this, r).then((e => {
if (null === e) return e;
this.emit("postprocessEvent", e, t), e.contexts = {trace: Mn(n), ...e.contexts};
const r = Or(this, n);
return e.sdkProcessingMetadata = {dynamicSamplingContext: r, ...e.sdkProcessingMetadata}, e
}))
}
_captureEvent(e, t = {}, n = Rn(), r = Ln()) {
return Ct && nv(e) && Yt.log(`Captured error event \`${Tg(e)[0] || "<unknown>"}\``), this._processEvent(e, t, n, r).then((e => e.event_id), (e => {
Ct && (ev(e) ? Yt.log(e.message) : Jg(e) ? Yt.warn(e.message) : Yt.warn(e))
}))
}
_processEvent(e, t, n, r) {
const a = this.getOptions(), {sampleRate: i} = a, o = rv(e), s = nv(e), l = e.type || "error",
c = `before send for type \`${l}\``, u = "undefined" === typeof i ? void 0 : Jn(i);
if (s && "number" === typeof u && Math.random() > u) return this.recordDroppedEvent("sample_rate", "error"), Js(Xg(`Discarding event because it's not included in the random sample (sampling rate = ${i})`));
const d = "replay_event" === l ? "replay" : l;
return this._prepareEvent(e, t, n, r).then((e => {
if (null === e) throw this.recordDroppedEvent("event_processor", d), Xg("An event processor returned `null`, will not send event.");
if (t.data && !0 === t.data.__sentry__) return e;
const n = function (e, t, n, r) {
const {beforeSend: a, beforeSendTransaction: i, beforeSendSpan: o} = t;
let s = n;
if (nv(s) && a) return a(s, r);
if (rv(s)) {
if (o) {
const e = o(function (e) {
const {
trace_id: t,
parent_span_id: n,
span_id: r,
status: a,
origin: i,
data: o,
op: s
} = e.contexts?.trace ?? {};
return {
data: o ?? {},
description: e.transaction,
op: s,
parent_span_id: n,
span_id: r ?? "",
start_timestamp: e.start_timestamp ?? 0,
status: a,
timestamp: e.timestamp,
trace_id: t ?? "",
origin: i,
profile_id: o?.[qn],
exclusive_time: o?.[Wn],
measurements: e.measurements,
is_segment: !0
}
}(s));
if (e ? s = bn(n, {
type: "transaction",
timestamp: (l = e).timestamp,
start_timestamp: l.start_timestamp,
transaction: l.description,
contexts: {
trace: {
trace_id: l.trace_id,
span_id: l.span_id,
parent_span_id: l.parent_span_id,
op: l.op,
status: l.status,
origin: l.origin,
data: {...l.data, ...l.profile_id && {[qn]: l.profile_id}, ...l.exclusive_time && {[Wn]: l.exclusive_time}}
}
},
measurements: l.measurements
}) : kr(), s.spans) {
const e = [];
for (const t of s.spans) {
const n = o(t);
n ? e.push(n) : (kr(), e.push(t))
}
s.spans = e
}
}
if (i) {
if (s.spans) {
const e = s.spans.length;
s.sdkProcessingMetadata = {...n.sdkProcessingMetadata, spanCountBeforeProcessing: e}
}
return i(s, r)
}
}
var l;
return s
}(0, a, e, t);
return function (e, t) {
const n = `${t} must return \`null\` or a valid event.`;
if (Ft(e)) return e.then((e => {
if (!Nt(e) && null !== e) throw Zg(n);
return e
}), (e => {
throw Zg(`${t} rejected with ${e}`)
}));
if (!Nt(e) && null !== e) throw Zg(n);
return e
}(n, c)
})).then((a => {
if (null === a) {
if (this.recordDroppedEvent("before_send", d), o) {
const t = 1 + (e.spans || []).length;
this.recordDroppedEvent("before_send", "span", t)
}
throw Xg(`${c} returned \`null\`, will not send event.`)
}
const i = n.getSession() || r.getSession();
if (s && i && this._updateSessionFromEvent(i, a), o) {
const e = (a.sdkProcessingMetadata?.spanCountBeforeProcessing || 0) - (a.spans ? a.spans.length : 0);
e > 0 && this.recordDroppedEvent("before_send", "span", e)
}
const l = a.transaction_info;
if (o && l && a.transaction !== e.transaction) {
const e = "custom";
a.transaction_info = {...l, source: e}
}
return this.sendEvent(a, t), a
})).then(null, (e => {
if (ev(e) || Jg(e)) throw e;
throw this.captureException(e, {
data: {__sentry__: !0},
originalException: e
}), Zg(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`)
}))
}
_process(e) {
this._numProcessing++, e.then((e => (this._numProcessing--, e)), (e => (this._numProcessing--, e)))
}
_clearOutcomes() {
const e = this._outcomes;
return this._outcomes = {}, Object.entries(e).map((([e, t]) => {
const [n, r] = e.split(":");
return {reason: n, category: r, quantity: t}
}))
}
_flushOutcomes() {
Ct && Yt.log("Flushing outcomes...");
const e = this._clearOutcomes();
if (0 === e.length) return void (Ct && Yt.log("No outcomes to send"));
if (!this._dsn) return void (Ct && Yt.log("No dsn provided, will not send outcomes"));
Ct && Yt.log("Sending outcomes:", e);
const t = (n = e, Wr((r = this._options.tunnel && Dr(this._dsn)) ? {dsn: r} : {}, [[{type: "client_report"}, {
timestamp: a || fn(),
discarded_events: n
}]]));
var n, r, a;
this.sendEnvelope(t)
}
}
function nv(e) {
return void 0 === e.type
}
function rv(e) {
return "transaction" === e.type
}
function av(e, t) {
const n = t ?? iv(e) ?? [];
if (0 === n.length) return;
const r = e.getOptions(), a = function (e, t, n, r) {
const a = {};
return t?.sdk && (a.sdk = {
name: t.sdk.name,
version: t.sdk.version
}), n && r && (a.dsn = Dr(r)), Wr(a, [(i = e, [{
type: "log",
item_count: i.length,
content_type: "application/vnd.sentry.items.log+json"
}, {items: i}])]);
var i
}(n, r._metadata, r.tunnel, e.getDsn());
kt._sentryClientToLogBufferMap?.set(e, []), e.emit("flushLogs"), e.sendEnvelope(a)
}
function iv(e) {
return kt._sentryClientToLogBufferMap?.get(e)
}
function ov(e) {
void 0 === e.user?.ip_address && (e.user = {...e.user, ip_address: "{{auto}}"})
}
function sv(e) {
"aggregates" in e ? void 0 === e.attrs?.ip_address && (e.attrs = {
...e.attrs,
ip_address: "{{auto}}"
}) : void 0 === e.ipAddress && (e.ipAddress = "{{auto}}")
}
function lv(e, t) {
const n = dv(e, t), r = {type: fv(t), value: mv(t)};
return n.length && (r.stacktrace = {frames: n}), void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"), r
}
function cv(e, t, n, r) {
const a = Nn()?.getOptions().normalizeDepth, i = function (e) {
for (const t in e) if (Object.prototype.hasOwnProperty.call(e, t)) {
const n = e[t];
if (n instanceof Error) return n
}
return
}(t), o = {__serialized__: $r(t, a)};
if (i) return {exception: {values: [lv(e, i)]}, extra: o};
const s = {
exception: {
values: [{
type: Mt(t) ? t.constructor.name : r ? "UnhandledRejection" : "Error",
value: _v(t, {isUnhandledRejection: r})
}]
}, extra: o
};
if (n) {
const t = dv(e, n);
t.length && (s.exception.values[0].stacktrace = {frames: t})
}
return s
}
function uv(e, t) {
return {exception: {values: [lv(e, t)]}}
}
function dv(e, t) {
const n = t.stacktrace || t.stack || "", r = function (e) {
if (e && pv.test(e.message)) return 1;
return 0
}(t), a = function (e) {
if ("number" === typeof e.framesToPop) return e.framesToPop;
return 0
}(t);
try {
return e(n, r, a)
} catch (i) {
}
return []
}
kt._sentryClientToLogBufferMap = new WeakMap;
const pv = /Minified React error #\d+;/i;
function hv(e) {
return "undefined" !== typeof WebAssembly && "undefined" !== typeof WebAssembly.Exception && e instanceof WebAssembly.Exception
}
function fv(e) {
const t = e?.name;
if (!t && hv(e)) {
return e.message && Array.isArray(e.message) && 2 == e.message.length ? e.message[0] : "WebAssembly.Exception"
}
return t
}
function mv(e) {
const t = e?.message;
return hv(e) ? Array.isArray(e.message) && 2 == e.message.length ? e.message[1] : "wasm exception" : t ? t.error && "string" === typeof t.error.message ? t.error.message : t : "No error message"
}
function gv(e, t, n, r, a) {
let i;
if (Tt(t) && t.error) {
return uv(e, t.error)
}
if (Dt(t) || At(t, "DOMException")) {
const a = t;
if ("stack" in t) i = uv(e, t); else {
const t = a.name || (Dt(a) ? "DOMError" : "DOMException"), o = a.message ? `${t}: ${a.message}` : t;
i = vv(e, o, n, r), dn(i, o)
}
return "code" in a && (i.tags = {...i.tags, "DOMException.code": `${a.code}`}), i
}
if (Pt(t)) return uv(e, t);
if (Nt(t) || Mt(t)) {
return i = cv(e, t, n, a), pn(i, {synthetic: !0}), i
}
return i = vv(e, t, n, r), dn(i, `${t}`, void 0), pn(i, {synthetic: !0}), i
}
function vv(e, t, n, r) {
const a = {};
if (r && n) {
const r = dv(e, n);
r.length && (a.exception = {values: [{value: t, stacktrace: {frames: r}}]}), pn(a, {synthetic: !0})
}
if (Lt(t)) {
const {__sentry_template_string__: e, __sentry_template_values__: n} = t;
return a.logentry = {message: e, params: n}, a
}
return a.message = t, a
}
function _v(e, {isUnhandledRejection: t}) {
const n = function (e, t = 40) {
const n = Object.keys(an(e));
n.sort();
const r = n[0];
if (!r) return "[object has no keys]";
if (r.length >= t) return Qt(r, t);
for (let a = n.length; a > 0; a--) {
const e = n.slice(0, a).join(", ");
if (!(e.length > t)) return a === n.length ? e : Qt(e, t)
}
return ""
}(e), r = t ? "promise rejection" : "exception";
if (Tt(e)) return `Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``;
if (Mt(e)) {
return `Event \`${function (e) {
try {
const t = Object.getPrototypeOf(e);
return t ? t.constructor.name : void 0
} catch (t) {
}
}(e)}\` (type=${e.type}) captured as ${r}`
}
return `Object captured as ${r} with keys: ${n}`
}
class yv extends tv {
constructor(e) {
const t = {parentSpanIsAlwaysRootSpan: !0, ...e};
!function (e, t, n = [t], r = "npm") {
const a = e._metadata || {};
a.sdk || (a.sdk = {
name: `sentry.javascript.${t}`,
packages: n.map((e => ({name: `${r}:@sentry/${e}`, version: wt}))),
version: wt
}), e._metadata = a
}(t, "browser", ["browser"], _l.SENTRY_SDK_SOURCE || "npm"), super(t);
const n = this, {sendDefaultPii: r, _experiments: a} = n._options, i = a?.enableLogs;
t.sendClientReports && _l.document && _l.document.addEventListener("visibilitychange", (() => {
"hidden" === _l.document.visibilityState && (this._flushOutcomes(), i && av(n))
})), i && (n.on("flush", (() => {
av(n)
})), n.on("afterCaptureLog", (() => {
n._logFlushIdleTimeout && clearTimeout(n._logFlushIdleTimeout), n._logFlushIdleTimeout = setTimeout((() => {
av(n)
}), 5e3)
}))), r && (n.on("postprocessEvent", ov), n.on("beforeSendSession", sv))
}
eventFromException(e, t) {
return function (e, t, n, r) {
const a = gv(e, t, n?.syntheticException || void 0, r);
return pn(a), a.level = "error", n?.event_id && (a.event_id = n.event_id), Xs(a)
}(this._options.stackParser, e, t, this._options.attachStacktrace)
}
eventFromMessage(e, t = "info", n) {
return function (e, t, n = "info", r, a) {
const i = vv(e, t, r?.syntheticException || void 0, a);
return i.level = n, r?.event_id && (i.event_id = r.event_id), Xs(i)
}(this._options.stackParser, e, t, n, this._options.attachStacktrace)
}
_prepareEvent(e, t, n, r) {
return e.platform = e.platform || "javascript", super._prepareEvent(e, t, n, r)
}
}
function bv() {
"console" in kt && Wt.forEach((function (e) {
e in kt.console && en(kt.console, e, (function (t) {
return Ht[e] = t, function (...t) {
xa("console", {args: t, level: e});
Ht[e]?.apply(kt.console, t)
}
}))
}))
}
const xv = 100;
function wv(e, t) {
const n = Nn(), r = Ln();
if (!n) return;
const {beforeBreadcrumb: a = null, maxBreadcrumbs: i = xv} = n.getOptions();
if (i <= 0) return;
const o = {timestamp: fn(), ...e}, s = a ? Kt((() => a(o, t))) : o;
null !== s && (n.emit && n.emit("beforeAddBreadcrumb", s, t), r.addBreadcrumb(s, i))
}
function kv(e) {
return "warn" === e ? "warning" : ["fatal", "error", "warning", "log", "info", "debug"].includes(e) ? e : "log"
}
function Sv(e) {
return void 0 === e ? void 0 : e >= 400 && e < 500 ? "warning" : e >= 500 ? "error" : void 0
}
const Ev = 1024, Iv = (e = {}) => {
const t = {console: !0, dom: !0, fetch: !0, history: !0, sentry: !0, xhr: !0, ...e};
return {
name: "Breadcrumbs", setup(e) {
t.console && function (e) {
const t = "console";
ya(t, e), ba(t, bv)
}(function (e) {
return function (t) {
if (Nn() !== e) return;
const n = {
category: "console",
data: {arguments: t.args, logger: "console"},
level: kv(t.level),
message: Zt(t.args, " ")
};
if ("assert" === t.level) {
if (!1 !== t.args[0]) return;
n.message = `Assertion failed: ${Zt(t.args.slice(1), " ") || "console.assert"}`, n.data.arguments = t.args.slice(1)
}
wv(n, {input: t.args, level: t.level})
}
}(e)), t.dom && rd(function (e, t) {
return function (n) {
if (Nn() !== e) return;
let r, a, i = "object" === typeof t ? t.serializeAttribute : void 0,
o = "object" === typeof t && "number" === typeof t.maxStringLength ? t.maxStringLength : void 0;
o && o > Ev && (Qs && Yt.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${o} was configured. Sentry will use 1024 instead.`), o = Ev), "string" === typeof i && (i = [i]);
try {
const e = n.event, t = function (e) {
return !!e && !!e.target
}(e) ? e.target : e;
r = Gt(t, {keyAttrs: i, maxStringLength: o}), a = function (e) {
if (!Bt.HTMLElement) return null;
let t = e;
for (let n = 0; n < 5; n++) {
if (!t) return null;
if (t instanceof HTMLElement) {
if (t.dataset.sentryComponent) return t.dataset.sentryComponent;
if (t.dataset.sentryElement) return t.dataset.sentryElement
}
t = t.parentNode
}
return null
}(t)
} catch (l) {
r = "<unknown>"
}
if (0 === r.length) return;
const s = {category: `ui.${n.name}`, message: r};
a && (s.data = {"ui.component_name": a}), wv(s, {
event: n.event,
name: n.name,
global: n.global
})
}
}(e, t.dom)), t.xhr && Gl(function (e) {
return function (t) {
if (Nn() !== e) return;
const {startTimestamp: n, endTimestamp: r} = t, a = t.xhr[Bl];
if (!n || !r || !a) return;
const {method: i, url: o, status_code: s, body: l} = a,
c = {method: i, url: o, status_code: s},
u = {xhr: t.xhr, input: l, startTimestamp: n, endTimestamp: r},
d = {category: "xhr", data: c, type: "http", level: Sv(s)};
e.emit("beforeOutgoingRequestBreadcrumb", d, u), wv(d, u)
}
}(e)), t.fetch && Pl(function (e) {
return function (t) {
if (Nn() !== e) return;
const {startTimestamp: n, endTimestamp: r} = t;
if (r && (!t.fetchData.url.match(/sentry_key/) || "POST" !== t.fetchData.method)) if (t.fetchData.method, t.fetchData.url, t.error) {
const a = t.fetchData,
i = {data: t.error, input: t.args, startTimestamp: n, endTimestamp: r},
o = {category: "fetch", data: a, level: "error", type: "http"};
e.emit("beforeOutgoingRequestBreadcrumb", o, i), wv(o, i)
} else {
const a = t.response, i = {...t.fetchData, status_code: a?.status};
t.fetchData.request_body_size, t.fetchData.response_body_size, a?.status;
const o = {input: t.args, response: a, startTimestamp: n, endTimestamp: r},
s = {category: "fetch", data: i, type: "http", level: Sv(i.status_code)};
e.emit("beforeOutgoingRequestBreadcrumb", s, o), wv(s, o)
}
}
}(e)), t.history && Ks(function (e) {
return function (t) {
if (Nn() !== e) return;
let n = t.from, r = t.to;
const a = Fl(_l.location.href);
let i = n ? Fl(n) : void 0;
const o = Fl(r);
i?.path || (i = a), a.protocol === o.protocol && a.host === o.host && (r = o.relative), a.protocol === i.protocol && a.host === i.host && (n = i.relative), wv({
category: "navigation",
data: {from: n, to: r}
})
}
}(e)), t.sentry && e.on("beforeSendEvent", function (e) {
return function (t) {
Nn() === e && wv({
category: "sentry." + ("transaction" === t.type ? "transaction" : "event"),
event_id: t.event_id,
level: t.level,
message: un(t)
}, {event: t})
}
}(e))
}
}
};
const Cv = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "BroadcastChannel", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "SharedWorker", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"],
Ov = (e = {}) => {
const t = {
XMLHttpRequest: !0,
eventTarget: !0,
requestAnimationFrame: !0,
setInterval: !0,
setTimeout: !0, ...e
};
return {
name: "BrowserApiErrors", setupOnce() {
t.setTimeout && en(_l, "setTimeout", Pv), t.setInterval && en(_l, "setInterval", Pv), t.requestAnimationFrame && en(_l, "requestAnimationFrame", Av), t.XMLHttpRequest && "XMLHttpRequest" in _l && en(XMLHttpRequest.prototype, "send", Tv);
const e = t.eventTarget;
if (e) {
(Array.isArray(e) ? e : Cv).forEach(Dv)
}
}
}
};
function Pv(e) {
return function (...t) {
const n = t[0];
return t[0] = xl(n, {
mechanism: {
data: {function: Ur(e)},
handled: !1,
type: "instrument"
}
}), e.apply(this, t)
}
}
function Av(e) {
return function (t) {
return e.apply(this, [xl(t, {
mechanism: {
data: {function: "requestAnimationFrame", handler: Ur(e)},
handled: !1,
type: "instrument"
}
})])
}
}
function Tv(e) {
return function (...t) {
const n = this;
return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach((e => {
e in n && "function" === typeof n[e] && en(n, e, (function (t) {
const n = {mechanism: {data: {function: e, handler: Ur(t)}, handled: !1, type: "instrument"}},
r = rn(t);
return r && (n.mechanism.data.handler = Ur(r)), xl(t, n)
}))
})), e.apply(this, t)
}
}
function Dv(e) {
const t = _l[e]?.prototype;
t?.hasOwnProperty?.("addEventListener") && (en(t, "addEventListener", (function (t) {
return function (n, r, a) {
try {
"function" === typeof r.handleEvent && (r.handleEvent = xl(r.handleEvent, {
mechanism: {
data: {
function: "handleEvent",
handler: Ur(r),
target: e
}, handled: !1, type: "instrument"
}
}))
} catch {
}
return t.apply(this, [n, xl(r, {
mechanism: {
data: {
function: "addEventListener",
handler: Ur(r),
target: e
}, handled: !1, type: "instrument"
}
}), a])
}
})), en(t, "removeEventListener", (function (e) {
return function (t, n, r) {
try {
const a = n.__sentry_wrapped__;
a && e.call(this, t, a, r)
} catch (a) {
}
return e.call(this, t, n, r)
}
})))
}
const Rv = () => ({
name: "BrowserSession", setupOnce() {
"undefined" !== typeof _l.document ? (fl({ignoreDuration: !0}), vl(), Ks((({from: e, to: t}) => {
void 0 !== e && e !== t && (fl({ignoreDuration: !0}), vl())
}))) : Qs && Yt.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.")
}
}), Lv = (e = {}) => {
const t = {onerror: !0, onunhandledrejection: !0, ...e};
return {
name: "GlobalHandlers", setupOnce() {
Error.stackTraceLimit = 50
}, setup(e) {
t.onerror && (!function (e) {
ka((t => {
const {stackParser: n, attachStacktrace: r} = Nv();
if (Nn() !== e || bl()) return;
const {msg: a, url: i, line: o, column: s, error: l} = t, c = function (e, t, n, r) {
const a = e.exception = e.exception || {}, i = a.values = a.values || [],
o = i[0] = i[0] || {}, s = o.stacktrace = o.stacktrace || {},
l = s.frames = s.frames || [], c = r, u = n, d = Rt(t) && t.length > 0 ? t : qt();
0 === l.length && l.push({colno: c, filename: d, function: jr, in_app: !0, lineno: u});
return e
}(gv(n, l || a, void 0, r, !1), i, o, s);
c.level = "error", hl(c, {originalException: l, mechanism: {handled: !1, type: "onerror"}})
}))
}(e), jv("onerror")), t.onunhandledrejection && (!function (e) {
Ia((t => {
const {stackParser: n, attachStacktrace: r} = Nv();
if (Nn() !== e || bl()) return;
const a = function (e) {
if (jt(e)) return e;
try {
if ("reason" in e) return e.reason;
if ("detail" in e && "reason" in e.detail) return e.detail.reason
} catch {
}
return e
}(t), i = jt(a) ? {
exception: {
values: [{
type: "UnhandledRejection",
value: `Non-Error promise rejection captured with value: ${String(a)}`
}]
}
} : gv(n, a, void 0, r, !0);
i.level = "error", hl(i, {
originalException: a,
mechanism: {handled: !1, type: "onunhandledrejection"}
})
}))
}(e), jv("onunhandledrejection"))
}
}
};
function jv(e) {
Qs && Yt.log(`Global Handler attached: ${e}`)
}
function Nv() {
return Nn()?.getOptions() || {stackParser: () => [], attachStacktrace: !1}
}
const Mv = () => ({
name: "HttpContext", preprocessEvent(e) {
if (!_l.navigator && !_l.location && !_l.document) return;
const t = e.request?.url || qt(), {referrer: n} = _l.document || {}, {userAgent: r} = _l.navigator || {},
a = {...e.request?.headers, ...n && {Referer: n}, ...r && {"User-Agent": r}},
i = {...e.request, ...t && {url: t}, headers: a};
e.request = i
}
});
function Fv(e, t, n, r, a, i) {
if (!a.exception?.values || !i || !zt(i.originalException, Error)) return;
const o = a.exception.values.length > 0 ? a.exception.values[a.exception.values.length - 1] : void 0;
o && (a.exception.values = zv(e, t, r, i.originalException, n, a.exception.values, o, 0))
}
function zv(e, t, n, r, a, i, o, s) {
if (i.length >= n + 1) return i;
let l = [...i];
if (zt(r[a], Error)) {
Vv(o, s);
const i = e(t, r[a]), c = l.length;
Uv(i, a, c, s), l = zv(e, t, n, r[a], a, [i, ...l], i, c)
}
return Array.isArray(r.errors) && r.errors.forEach(((r, i) => {
if (zt(r, Error)) {
Vv(o, s);
const c = e(t, r), u = l.length;
Uv(c, `errors[${i}]`, u, s), l = zv(e, t, n, r, a, [c, ...l], c, u)
}
})), l
}
function Vv(e, t) {
e.mechanism = e.mechanism || {
type: "generic",
handled: !0
}, e.mechanism = {
...e.mechanism, ..."AggregateError" === e.type && {is_exception_group: !0},
exception_id: t
}
}
function Uv(e, t, n, r) {
e.mechanism = e.mechanism || {type: "generic", handled: !0}, e.mechanism = {
...e.mechanism,
type: "chained",
source: t,
exception_id: n,
parent_id: r
}
}
const Bv = (e = {}) => {
const t = e.limit || 5, n = e.key || "cause";
return {
name: "LinkedErrors", preprocessEvent(e, r, a) {
Fv(lv, a.getOptions().stackParser, n, t, e, r)
}
}
};
function Gv(e, t, n, r) {
const a = {filename: e, function: "<anonymous>" === t ? jr : t, in_app: !0};
return void 0 !== n && (a.lineno = n), void 0 !== r && (a.colno = r), a
}
const $v = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,
qv = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
Wv = /\((\S*)(?::(\d+))(?::(\d+))\)/, Hv = [30, e => {
const t = $v.exec(e);
if (t) {
const [, e, n, r] = t;
return Gv(e, jr, +n, +r)
}
const n = qv.exec(e);
if (n) {
if (n[2] && 0 === n[2].indexOf("eval")) {
const e = Wv.exec(n[2]);
e && (n[2] = e[1], n[3] = e[2], n[4] = e[3])
}
const [e, t] = Zv(n[1] || jr, n[2]);
return Gv(t, e, n[3] ? +n[3] : void 0, n[4] ? +n[4] : void 0)
}
}],
Kv = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,
Yv = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, Qv = Fr(...[Hv, [50, e => {
const t = Kv.exec(e);
if (t) {
if (t[3] && t[3].indexOf(" > eval") > -1) {
const e = Yv.exec(t[3]);
e && (t[1] = t[1] || "eval", t[3] = e[1], t[4] = e[2], t[5] = "")
}
let e = t[3], n = t[1] || jr;
return [n, e] = Zv(n, e), Gv(e, n, t[4] ? +t[4] : void 0, t[5] ? +t[5] : void 0)
}
}]]), Zv = (e, t) => {
const n = -1 !== e.indexOf("safari-extension"), r = -1 !== e.indexOf("safari-web-extension");
return n || r ? [-1 !== e.indexOf("@") ? e.split("@")[0] : jr, n ? `safari-extension:${t}` : `safari-web-extension:${t}`] : [e, t]
}, Xv = Symbol.for("SentryBufferFullError");
function Jv(e) {
const t = [];
function n(e) {
return t.splice(t.indexOf(e), 1)[0] || Promise.resolve(void 0)
}
return {
$: t, add: function (r) {
if (!(void 0 === e || t.length < e)) return Js(Xv);
const a = r();
return -1 === t.indexOf(a) && t.push(a), a.then((() => n(a))).then(null, (() => n(a).then(null, (() => {
})))), a
}, drain: function (e) {
return new el(((n, r) => {
let a = t.length;
if (!a) return n(!0);
const i = setTimeout((() => {
e && e > 0 && n(!1)
}), e);
t.forEach((e => {
Xs(e).then((() => {
--a || (clearTimeout(i), n(!0))
}), r)
}))
}))
}
}
}
function e_(e, {statusCode: t, headers: n}, r = Date.now()) {
const a = {...e}, i = n?.["x-sentry-rate-limits"], o = n?.["retry-after"];
if (i) for (const s of i.trim().split(",")) {
const [e, t, , , n] = s.split(":", 5), i = parseInt(e, 10), o = 1e3 * (isNaN(i) ? 60 : i);
if (t) for (const s of t.split(";")) "metric_bucket" === s && n && !n.split(";").includes("custom") || (a[s] = r + o); else a.all = r + o
} else o ? a.all = r + function (e, t = Date.now()) {
const n = parseInt(`${e}`, 10);
if (!isNaN(n)) return 1e3 * n;
const r = Date.parse(`${e}`);
return isNaN(r) ? 6e4 : r - t
}(o, r) : 429 === t && (a.all = r + 6e4);
return a
}
function t_(e, t, n = Jv(e.bufferSize || 64)) {
let r = {};
return {
send: function (a) {
const i = [];
if (Kr(a, ((t, n) => {
const a = ea(n);
!function (e, t, n = Date.now()) {
return function (e, t) {
return e[t] || e.all || 0
}(e, t) > n
}(r, a) ? i.push(t) : e.recordDroppedEvent("ratelimit_backoff", a)
})), 0 === i.length) return Xs({});
const o = Wr(a[0], i), s = t => {
Kr(o, ((n, r) => {
e.recordDroppedEvent(t, ea(r))
}))
};
return n.add((() => t({body: Qr(o)}).then((e => (void 0 !== e.statusCode && (e.statusCode < 200 || e.statusCode >= 300) && Ct && Yt.warn(`Sentry responded with status code ${e.statusCode} to sent event.`), r = e_(r, e), e)), (e => {
throw s("network_error"), Ct && Yt.error("Encountered error running transport request:", e), e
})))).then((e => e), (e => {
if (e === Xv) return Ct && Yt.error("Skipped sending event because buffer is full."), s("queue_overflow"), Xs({});
throw e
}))
}, flush: e => n.drain(e)
}
}
function n_(e, t = Ku("fetch")) {
let n = 0, r = 0;
return t_(e, (function (a) {
const i = a.body.length;
n += i, r++;
const o = {
body: a.body,
method: "POST",
referrerPolicy: "strict-origin",
headers: e.headers,
keepalive: n <= 6e4 && r < 15, ...e.fetchOptions
};
if (!t) return Yu("fetch"), Js("No fetch implementation available");
try {
return t(e.url, o).then((e => (n -= i, r--, {
statusCode: e.status,
headers: {
"x-sentry-rate-limits": e.headers.get("X-Sentry-Rate-Limits"),
"retry-after": e.headers.get("Retry-After")
}
})))
} catch (s) {
return Yu("fetch"), n -= i, r--, Js(s)
}
}))
}
function r_(e) {
return [Lg(), zg(), Ov(), Iv(), Lv(), Bv(), Vg(), Mv(), Rv()]
}
function a_(e) {
const t = {};
for (const n of Object.getOwnPropertyNames(e)) {
const r = n;
void 0 !== e[r] && (t[r] = e[r])
}
return t
}
function i_(e = {}) {
const t = function (e = {}) {
return {
defaultIntegrations: r_(),
release: "string" === typeof __SENTRY_RELEASE__ ? __SENTRY_RELEASE__ : _l.SENTRY_RELEASE?.id,
sendClientReports: !0, ...a_(e)
}
}(e);
if (!t.skipBrowserExtensionCheck && function () {
const e = "undefined" !== typeof _l.window && _l;
if (!e) return !1;
const t = e[e.chrome ? "chrome" : "browser"]?.runtime?.id, n = qt() || "",
r = !!t && _l === _l.top && ["chrome-extension:", "moz-extension:", "ms-browser-extension:", "safari-web-extension:"].some((e => n.startsWith(`${e}//`))),
a = "undefined" !== typeof e.nw;
return !!t && !r && !a
}()) return void (Qs && Kt((() => {
console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")
})));
Qs && !Cl() && Yt.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill.");
const n = {
...t,
stackParser: (r = t.stackParser || Qv, Array.isArray(r) ? Fr(...r) : r),
integrations: Og(t),
transport: t.transport || n_
};
var r;
return $g(yv, n)
}
function o_(e = {}) {
if (!_l.document) return void (Qs && Yt.error("Global document not defined in showReportDialog call"));
const t = Rn(), n = t.getClient()?.getDsn();
if (!n) return void (Qs && Yt.error("DSN not configured for showReportDialog call"));
if (t && (e.user = {...t.getUser(), ...e.user}), !e.eventId) {
const t = Ln().lastEventId();
t && (e.eventId = t)
}
const r = _l.document.createElement("script");
r.async = !0, r.crossOrigin = "anonymous", r.src = function (e, t) {
const n = Lr(e);
if (!n) return "";
const r = `${qg(n)}embed/error-page/`;
let a = `dsn=${Dr(n)}`;
for (const i in t) if ("dsn" !== i && "onClose" !== i) if ("user" === i) {
const e = t.user;
if (!e) continue;
e.name && (a += `&name=${encodeURIComponent(e.name)}`), e.email && (a += `&email=${encodeURIComponent(e.email)}`)
} else a += `&${encodeURIComponent(i)}=${encodeURIComponent(t[i])}`;
return `${r}?${a}`
}(n, e), e.onLoad && (r.onload = e.onLoad);
const {onClose: a} = e;
if (a) {
const e = t => {
if ("__sentry_reportdialog_closed__" === t.data) try {
a()
} finally {
_l.removeEventListener("message", e)
}
};
_l.addEventListener("message", e)
}
const i = _l.document.head || _l.document.body;
i ? i.appendChild(r) : Qs && Yt.error("Not injecting report dialog. No injection point found in HTML")
}
function s_(e, t = !1) {
return !(t || e && !e.startsWith("/") && !e.match(/^[A-Z]:/) && !e.startsWith(".") && !e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//)) && void 0 !== e && !e.includes("node_modules/")
}
function l_(e) {
const t = /^\s*[-]{4,}$/, n = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
return r => {
const a = r.match(n);
if (a) {
let t, n, r, i, o;
if (a[1]) {
r = a[1];
let e = r.lastIndexOf(".");
if ("." === r[e - 1] && e--, e > 0) {
t = r.slice(0, e), n = r.slice(e + 1);
const a = t.indexOf(".Module");
a > 0 && (r = r.slice(a + 1), t = t.slice(0, a))
}
i = void 0
}
n && (i = t, o = n), "<anonymous>" === n && (o = void 0, r = void 0), void 0 === r && (o = o || "?", r = i ? `${i}.${o}` : o);
let s = a[2]?.startsWith("file://") ? a[2].slice(7) : a[2];
const l = "native" === a[5];
return s?.match(/\/[A-Z]:/) && (s = s.slice(1)), s || !a[5] || l || (s = a[5]), {
filename: s ? decodeURI(s) : void 0,
module: e ? e(s) : void 0,
function: r,
lineno: c_(a[3]),
colno: c_(a[4]),
in_app: s_(s || "", l)
}
}
if (r.match(t)) return {filename: r}
}
}
function c_(e) {
return parseInt(e || "", 10) || void 0
}
const [, u_] = Hv, [, d_] = [90, l_(p_)];
var p_;
const h_ = (e, t = 0) => {
const n = [];
for (const r of e.split("\n").slice(t)) {
const e = u_(r), t = d_(r);
if (e && !1 !== t?.in_app ? n.push(e) : t && (void 0 === t.module && delete t.module, n.push(t)), n.length >= 50) break
}
return Lm(n)
};
const f_ = "9.18.0";
const m_ = globalThis;
const g_ = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
v_ = ["debug", "info", "warn", "error", "log", "assert", "trace"], __ = {};
const y_ = function (e, t, n = m_) {
const r = n.__SENTRY__ = n.__SENTRY__ || {}, a = r[f_] = r[f_] || {};
return a[e] || (a[e] = t())
}("logger", (function () {
let e = !1;
const t = {
enable: () => {
e = !0
}, disable: () => {
e = !1
}, isEnabled: () => e
};
return g_ ? v_.forEach((n => {
t[n] = (...t) => {
e && function (e) {
if (!("console" in m_)) return e();
const t = m_.console, n = {}, r = Object.keys(__);
r.forEach((e => {
const r = __[e];
n[e] = t[e], t[e] = r
}));
try {
e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}((() => {
m_.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : v_.forEach((e => {
t[e] = () => {
}
})), t
})), b_ = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__, x_ = Object.prototype.toString;
function w_(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
function k_(e, {componentStack: t}, n) {
if (function (e) {
const t = e.match(/^([^.]+)/);
return null !== t && parseInt(t[0]) >= 17
}(Ee.version) && function (e) {
switch (x_.call(e)) {
case"[object Error]":
case"[object Exception]":
case"[object DOMException]":
case"[object WebAssembly.Exception]":
return !0;
default:
return w_(e, Error)
}
}(e) && t) {
const n = new Error(e.message);
n.name = `React ErrorBoundary ${e.name}`, n.stack = t, function (e, t) {
const n = new WeakSet;
!function e(t, r) {
if (!n.has(t)) return t.cause ? (n.add(t), e(t.cause, r)) : void (t.cause = r)
}(e, t)
}(e, n)
}
return jn((r => (r.setContext("react", {componentStack: t}), pl(e, n))))
}
const S_ = {componentStack: null, error: null, eventId: null};
class E_ extends Ee.Component {
constructor(e) {
super(e), this.state = S_, this._openFallbackReportDialog = !0;
const t = Nn();
t && e.showDialog && (this._openFallbackReportDialog = !1, this._cleanupHook = t.on("afterSendEvent", (t => {
!t.type && this._lastEventId && t.event_id === this._lastEventId && o_({
...e.dialogOptions,
eventId: this._lastEventId
})
})))
}
componentDidCatch(e, t) {
const {componentStack: n} = t, {
beforeCapture: r,
onError: a,
showDialog: i,
dialogOptions: o
} = this.props;
jn((s => {
r && r(s, e, n);
const l = null != this.props.handled ? this.props.handled : !!this.props.fallback,
c = k_(e, t, {mechanism: {handled: l}});
a && a(e, n, c), i && (this._lastEventId = c, this._openFallbackReportDialog && o_({
...o,
eventId: c
})), this.setState({error: e, componentStack: n, eventId: c})
}))
}
componentDidMount() {
const {onMount: e} = this.props;
e && e()
}
componentWillUnmount() {
const {error: e, componentStack: t, eventId: n} = this.state, {onUnmount: r} = this.props;
r && (this.state === S_ ? r(null, null, null) : r(e, t, n)), this._cleanupHook && (this._cleanupHook(), this._cleanupHook = void 0)
}
resetErrorBoundary() {
const {onReset: e} = this.props, {error: t, componentStack: n, eventId: r} = this.state;
e && e(t, n, r), this.setState(S_)
}
render() {
const {fallback: e, children: t} = this.props, n = this.state;
if (null === n.componentStack) return "function" === typeof t ? t() : t;
const r = "function" === typeof e ? Ee.createElement(e, {
error: n.error,
componentStack: n.componentStack,
resetError: () => this.resetErrorBoundary(),
eventId: n.eventId
}) : e;
return Ee.isValidElement(r) ? r : (e && b_ && y_.warn("fallback did not produce a valid ReactElement"), null)
}
}
var I_ = n(95), C_ = function () {
return C_ = Object.assign || function (e) {
for (var t, n = 1, r = arguments.length; n < r; n++) for (var a in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, a) && (e[a] = t[a]);
return e
}, C_.apply(this, arguments)
}, O_ = function (e, t) {
var n = {};
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
if (null != e && "function" === typeof Object.getOwnPropertySymbols) {
var a = 0;
for (r = Object.getOwnPropertySymbols(e); a < r.length; a++) t.indexOf(r[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[a]) && (n[r[a]] = e[r[a]])
}
return n
}, P_ = Symbol("NiceModalId"), A_ = {}, T_ = Ee.createContext(A_), D_ = Ee.createContext(null), R_ = {},
L_ = {}, j_ = 0, N_ = function () {
throw new Error("No dispatch method detected, did you embed your app with NiceModal.Provider?")
}, M_ = function () {
return "_nice_modal_" + j_++
}, F_ = function (e, t) {
var n, r, a;
switch (void 0 === e && (e = A_), t.type) {
case"nice-modal/show":
var i = t.payload, o = i.modalId, s = i.args;
return C_(C_({}, e), ((n = {})[o] = C_(C_({}, e[o]), {
id: o,
args: s,
visible: !!L_[o],
delayVisible: !L_[o]
}), n));
case"nice-modal/hide":
return e[o = t.payload.modalId] ? C_(C_({}, e), ((r = {})[o] = C_(C_({}, e[o]), {visible: !1}), r)) : e;
case"nice-modal/remove":
o = t.payload.modalId;
var l = C_({}, e);
return delete l[o], l;
case"nice-modal/set-flags":
var c = t.payload, u = (o = c.modalId, c.flags);
return C_(C_({}, e), ((a = {})[o] = C_(C_({}, e[o]), u), a));
default:
return e
}
};
var z_ = {}, V_ = {}, U_ = function (e) {
return "string" === typeof e ? e : (e[P_] || (e[P_] = M_()), e[P_])
};
function B_(e, t) {
var n = U_(e);
if ("string" === typeof e || R_[n] || W_(n, e), N_(function (e, t) {
return {type: "nice-modal/show", payload: {modalId: e, args: t}}
}(n, t)), !z_[n]) {
var r, a, i = new Promise((function (e, t) {
r = e, a = t
}));
z_[n] = {resolve: r, reject: a, promise: i}
}
return z_[n].promise
}
function G_(e) {
var t = U_(e);
if (N_(function (e) {
return {type: "nice-modal/hide", payload: {modalId: e}}
}(t)), delete z_[t], !V_[t]) {
var n, r, a = new Promise((function (e, t) {
n = e, r = t
}));
V_[t] = {resolve: n, reject: r, promise: a}
}
return V_[t].promise
}
var $_ = function (e) {
var t = U_(e);
N_(function (e) {
return {type: "nice-modal/remove", payload: {modalId: e}}
}(t)), delete z_[t], delete V_[t]
};
function q_(e, t) {
var n = (0, Ee.useContext)(T_), r = (0, Ee.useContext)(D_), a = null, i = e && "string" !== typeof e;
if (!(a = e ? U_(e) : r)) throw new Error("No modal id found in NiceModal.useModal.");
var o = a;
(0, Ee.useEffect)((function () {
i && !R_[o] && W_(o, e, t)
}), [i, o, e, t]);
var s = n[o], l = (0, Ee.useCallback)((function (e) {
return B_(o, e)
}), [o]), c = (0, Ee.useCallback)((function () {
return G_(o)
}), [o]), u = (0, Ee.useCallback)((function () {
return $_(o)
}), [o]), d = (0, Ee.useCallback)((function (e) {
var t;
null === (t = z_[o]) || void 0 === t || t.resolve(e), delete z_[o]
}), [o]), p = (0, Ee.useCallback)((function (e) {
var t;
null === (t = z_[o]) || void 0 === t || t.reject(e), delete z_[o]
}), [o]), h = (0, Ee.useCallback)((function (e) {
var t;
null === (t = V_[o]) || void 0 === t || t.resolve(e), delete V_[o]
}), [o]);
return (0, Ee.useMemo)((function () {
return {
id: o,
args: null === s || void 0 === s ? void 0 : s.args,
visible: !!(null === s || void 0 === s ? void 0 : s.visible),
keepMounted: !!(null === s || void 0 === s ? void 0 : s.keepMounted),
show: l,
hide: c,
remove: u,
resolve: d,
reject: p,
resolveHide: h
}
}), [o, null === s || void 0 === s ? void 0 : s.args, null === s || void 0 === s ? void 0 : s.visible, null === s || void 0 === s ? void 0 : s.keepMounted, l, c, u, d, p, h])
}
var W_ = function (e, t, n) {
R_[e] ? R_[e].props = n : R_[e] = {comp: t, props: n}
}, H_ = function () {
var e = (0, Ee.useContext)(T_), t = Object.keys(e).filter((function (t) {
return !!e[t]
}));
t.forEach((function (e) {
R_[e] || L_[e] || console.warn("No modal found for id: " + e + ". Please check the id or if it is registered or declared via JSX.")
}));
var n = t.filter((function (e) {
return R_[e]
})).map((function (e) {
return C_({id: e}, R_[e])
}));
return Ee.createElement(Ee.Fragment, null, n.map((function (e) {
return Ee.createElement(e.comp, C_({key: e.id, id: e.id}, e.props))
})))
}, K_ = function (e) {
var t = e.children, n = (0, Ee.useReducer)(F_, A_), r = n[0];
return N_ = n[1], Ee.createElement(T_.Provider, {value: r}, t, Ee.createElement(H_, null))
}, Y_ = function (e) {
return {
visible: e.visible, onOk: function () {
return e.hide()
}, onCancel: function () {
return e.hide()
}, afterClose: function () {
e.resolveHide(), e.keepMounted || e.remove()
}
}
}, Q_ = function (e) {
return {
visible: e.visible, onClose: function () {
return e.hide()
}, afterVisibleChange: function (t) {
t || e.resolveHide(), !t && !e.keepMounted && e.remove()
}
}
}, Z_ = {
Provider: function (e) {
var t = e.children, n = e.dispatch, r = e.modals;
return n && r ? (N_ = n, Ee.createElement(T_.Provider, {value: r}, t, Ee.createElement(H_, null))) : Ee.createElement(K_, null, t)
},
ModalDef: function (e) {
var t = e.id, n = e.component;
return (0, Ee.useEffect)((function () {
return W_(t, n), function () {
!function (e) {
delete R_[e]
}(t)
}
}), [t, n]), null
},
ModalHolder: function (e) {
var t, n = e.modal, r = e.handler, a = void 0 === r ? {} : r, i = O_(e, ["modal", "handler"]),
o = (0, Ee.useMemo)((function () {
return M_()
}), []), s = "string" === typeof n ? null === (t = R_[n]) || void 0 === t ? void 0 : t.comp : n;
if (!a) throw new Error("No handler found in NiceModal.ModalHolder.");
if (!s) throw new Error("No modal found for id: " + n + " in NiceModal.ModalHolder.");
return a.show = (0, Ee.useCallback)((function (e) {
return B_(o, e)
}), [o]), a.hide = (0, Ee.useCallback)((function () {
return G_(o)
}), [o]), Ee.createElement(s, C_({id: o}, i))
},
NiceModalContext: T_,
create: function (e) {
return function (t) {
var n, r = t.defaultVisible, a = t.keepMounted, i = t.id,
o = O_(t, ["defaultVisible", "keepMounted", "id"]), s = q_(i), l = s.args, c = s.show,
u = (0, Ee.useContext)(T_), d = !!u[i];
(0, Ee.useEffect)((function () {
return r && c(), L_[i] = !0, function () {
delete L_[i]
}
}), [i, c, r]), (0, Ee.useEffect)((function () {
a && N_(function (e, t) {
return {type: "nice-modal/set-flags", payload: {modalId: e, flags: t}}
}(i, {keepMounted: !0}))
}), [i, a]);
var p = null === (n = u[i]) || void 0 === n ? void 0 : n.delayVisible;
return (0, Ee.useEffect)((function () {
p && c(l)
}), [p, l, c]), d ? Ee.createElement(D_.Provider, {value: i}, Ee.createElement(e, C_({}, o, l))) : null
}
},
register: W_,
getModal: function (e) {
var t;
return null === (t = R_[e]) || void 0 === t ? void 0 : t.comp
},
show: B_,
hide: G_,
remove: $_,
useModal: q_,
reducer: F_,
antdModal: Y_,
antdDrawer: Q_,
muiDialog: function (e) {
return {
open: e.visible, onClose: function () {
return e.hide()
}, onExited: function () {
e.resolveHide(), !e.keepMounted && e.remove()
}
}
},
bootstrapDialog: function (e) {
return {
show: e.visible, onHide: function () {
return e.hide()
}, onExited: function () {
e.resolveHide(), !e.keepMounted && e.remove()
}
}
}
};
const X_ = Z_;
var J_ = n(3713), ey = function () {
return null
}, ty = n(8508), ny = n.t(ty, 2);
function ry(e, t) {
void 0 === t && (t = {});
var n = t.insertAt;
if (e && "undefined" != typeof document) {
var r = document.head || document.getElementsByTagName("head")[0], a = document.createElement("style");
a.type = "text/css", "top" === n && r.firstChild ? r.insertBefore(a, r.firstChild) : r.appendChild(a), a.styleSheet ? a.styleSheet.cssText = e : a.appendChild(document.createTextNode(e))
}
}
function ay(e) {
if (e.__esModule) return e;
var t = e.default;
if ("function" == typeof t) {
var n = function e() {
return this instanceof e ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments)
};
n.prototype = t.prototype
} else n = {};
return Object.defineProperty(n, "__esModule", {value: !0}), Object.keys(e).forEach((function (t) {
var r = Object.getOwnPropertyDescriptor(e, t);
Object.defineProperty(n, t, r.get ? r : {
enumerable: !0, get: function () {
return e[t]
}
})
})), n
}
ry('@import url("https://cdn.robertsspaceindustries.com/static/fonts/univia-pro-typekit/font.css");@import url("https://cdn.robertsspaceindustries.com/static/fonts/bai-jamjuree/font.css");@layer sol{@layer reset, tokens, defaults, components, utilities, themes;@layer reset{*,:after,:before{box-sizing:border-box}:root{font-family:system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0;min-block-size:100vh;min-block-size:100dvh}a{color:inherit;text-decoration:inherit}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,ol,p,pre,ul{margin:0}h1,h2,h3,h4,h5,h6,p{font:inherit;overflow-wrap:break-word}ol,ul{list-style:none;padding:0}table{border-collapse:collapse;border-spacing:0}pre{white-space:pre-wrap}hr{block-size:0;border:0;border-block-start:1px solid;color:inherit}abbr[title]{text-decoration:underline dotted}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}summary{display:list-item}audio,canvas,embed,iframe,img,object,svg,video{display:block;max-inline-size:100%;vertical-align:middle}canvas,img,svg,video{block-size:auto}audio{block-size:100%}audio:not([controls]),source{display:none}picture{display:contents}iframe{border:0;color-scheme:normal}fieldset{border:0;margin:0}fieldset,legend{padding:0}button,input,select,textarea{border:0;color:inherit;font:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{appearance:button;background-color:initial;background-image:none}textarea{resize:vertical;resize:block}progress{vertical-align:initial}[hidden]:not([hidden=until-found]){display:none}}@layer tokens{:root,[data-sol-theme]{--sol-border-0:0px;--sol-border-1:1px;--sol-border-2:2px;--sol-radius-0:0px;--sol-radius-4:4px;--sol-radius-8:8px;--sol-radius-16:16px;--sol-radius-24:24px;--sol-radius-rounded:9999px;--sol-radius-circle:50%;--sol-clip-radius-0:none;--sol-clip-radius-4:inset(0 round var(--sol-radius-4));--sol-clip-radius-8:inset(0 round var(--sol-radius-8));--sol-clip-radius-16:inset(0 round var(--sol-radius-16));--sol-clip-radius-24:inset(0 round var(--sol-radius-24));--sol-clip-radius-rounded:inset(0 round var(--sol-radius-rounded));--sol-clip-radius-circle:inset(0 round var(--sol-radius-circle));--sol-color-primary-1:#0a1d29;--sol-color-primary-1-rgb:10 29 41;--sol-color-primary-2:#0f2c3e;--sol-color-primary-2-rgb:15 44 62;--sol-color-primary-3:#143a52;--sol-color-primary-3-rgb:20 58 82;--sol-color-primary-4:#194967;--sol-color-primary-4-rgb:25 73 103;--sol-color-primary-5:#1e577b;--sol-color-primary-5-rgb:30 87 123;--sol-color-primary-6:#2875a4;--sol-color-primary-6-rgb:40 117 164;--sol-color-primary-7:#6fb2dc;--sol-color-primary-7-rgb:111 178 220;--sol-color-primary-8:#add4eb;--sol-color-primary-8-rgb:173 212 235;--sol-color-neutral-1:#000;--sol-color-neutral-1-rgb:0 0 0;--sol-color-neutral-2:#586774;--sol-color-neutral-2-rgb:88 103 116;--sol-color-neutral-3:#b0bac0;--sol-color-neutral-3-rgb:176 186 192;--sol-color-neutral-4:#fff;--sol-color-neutral-4-rgb:255 255 255;--sol-color-accent-1:#54adf7;--sol-color-accent-1-rgb:84 173 247;--sol-color-accent-2:#6db9f8;--sol-color-accent-2-rgb:109 185 248;--sol-color-accent-3:#9ed0fa;--sol-color-accent-3-rgb:158 208 250;--sol-color-positive-1:#85c6a2;--sol-color-positive-1-rgb:133 198 162;--sol-color-positive-2:#a8d6bd;--sol-color-positive-2-rgb:168 214 189;--sol-color-positive-3:#cbe7d8;--sol-color-positive-3-rgb:203 231 216;--sol-color-notice-1:#e99449;--sol-color-notice-1-rgb:233 148 73;--sol-color-notice-2:#eeaf77;--sol-color-notice-2-rgb:238 175 119;--sol-color-notice-3:#f4c9a4;--sol-color-notice-3-rgb:244 201 164;--sol-color-negative-1:#ff8080;--sol-color-negative-1-rgb:255 128 128;--sol-color-negative-2:#f99;--sol-color-negative-2-rgb:255 153 153;--sol-color-negative-3:#ffb3b3;--sol-color-negative-3-rgb:255 179 179;--sol-color-highlight-1:#8186e4;--sol-color-highlight-1-rgb:129 134 228;--sol-color-highlight-2:#abafed;--sol-color-highlight-2-rgb:171 175 237;--sol-color-highlight-3:#d5d7f6;--sol-color-highlight-3-rgb:213 215 246;--sol-color-background:var(--sol-color-primary-1);--sol-color-focused:var(--sol-color-primary-7);--sol-color-overlay:rgba(var(--sol-color-neutral-1-rgb)/0.7);--sol-color-surface-0:var(--sol-color-primary-1);--sol-color-surface-1:var(--sol-color-primary-2);--sol-color-surface-2:var(--sol-color-primary-3);--sol-color-surface-3:var(--sol-color-primary-4);--sol-color-surface-0-hovered:var(--sol-color-primary-2);--sol-color-surface-0-pressed:var(--sol-color-primary-3);--sol-color-surface-1-hovered:var(--sol-color-primary-3);--sol-color-surface-1-pressed:var(--sol-color-primary-4);--sol-color-surface-2-hovered:var(--sol-color-primary-4);--sol-color-surface-2-pressed:var(--sol-color-primary-5);--sol-color-surface-3-hovered:var(--sol-color-primary-5);--sol-color-surface-3-pressed:var(--sol-color-primary-6);--sol-color-interactive:var(--sol-color-accent-1);--sol-color-interactive-hovered:var(--sol-color-accent-3);--sol-color-interactive-pressed:var(--sol-color-accent-2);--sol-color-interactive-selected:var(--sol-color-neutral-4);--sol-color-interactive-contrast:var(--sol-color-neutral-1);--sol-color-interactive-opacity:rgba(var(--sol-color-neutral-1-rgb)/0);--sol-color-interactive-opacity-hovered:rgba(var(--sol-color-neutral-1-rgb)/0.4);--sol-color-interactive-opacity-pressed:rgba(var(--sol-color-neutral-1-rgb)/0.4);--sol-color-interactive-opacity-selected:rgba(var(--sol-color-neutral-1-rgb)/0.6);--sol-color-interactive-negative:var(--sol-color-negative-1);--sol-color-interactive-negative-hovered:var(--sol-color-negative-3);--sol-color-interactive-negative-pressed:var(--sol-color-negative-2);--sol-color-interactive-negative-selected:var(--sol-color-neutral-4);--sol-color-interactive-notice:var(--sol-color-notice-1);--sol-color-interactive-notice-hovered:var(--sol-color-notice-3);--sol-color-interactive-notice-pressed:var(--sol-color-notice-2);--sol-color-interactive-notice-selected:var(--sol-color-neutral-4);--sol-color-interactive-positive:var(--sol-color-positive-1);--sol-color-interactive-positive-hovered:var(--sol-color-positive-3);--sol-color-interactive-positive-pressed:var(--sol-color-positive-2);--sol-color-interactive-positive-selected:var(--sol-color-neutral-4);--sol-color-interactive-neutral:var(--sol-color-neutral-4);--sol-color-interactive-neutral-hovered:var(--sol-color-neutral-4);--sol-color-interactive-neutral-pressed:var(--sol-color-neutral-3);--sol-color-interactive-neutral-selected:var(--sol-color-neutral-4);--sol-color-status-informative:var(--sol-color-primary-7);--sol-color-status-informative-fill:var(--sol-color-primary-6);--sol-color-status-informative-fill-contrast:var(--sol-color-neutral-4);--sol-color-status-positive:var(--sol-color-positive-2);--sol-color-status-positive-fill:var(--sol-color-positive-1);--sol-color-status-positive-fill-contrast:var(--sol-color-neutral-1);--sol-color-status-notice:var(--sol-color-notice-3);--sol-color-status-notice-fill:var(--sol-color-notice-1);--sol-color-status-notice-fill-contrast:var(--sol-color-neutral-1);--sol-color-status-negative:var(--sol-color-negative-3);--sol-color-status-negative-fill:var(--sol-color-negative-1);--sol-color-status-negative-fill-contrast:var(--sol-color-neutral-1);--sol-color-status-highlight:var(--sol-color-highlight-3);--sol-color-status-highlight-fill:var(--sol-color-highlight-1);--sol-color-status-highlight-fill-contrast:var(--sol-color-neutral-1);--sol-color-status-neutral:var(--sol-color-neutral-3);--sol-color-status-neutral-fill:var(--sol-color-neutral-2);--sol-color-status-neutral-fill-contrast:var(--sol-color-neutral-4);--sol-color-foreground:var(--sol-color-neutral-4);--sol-color-foreground-weak:var(--sol-color-primary-8);--sol-color-foreground-weaker:var(--sol-color-neutral-3);--sol-color-foreground-highlight:var(--sol-color-primary-7);--sol-font-family-primary:univia-pro,system-ui,sans-serif;--sol-font-family-secondary:"Bai Jamjuree",system-ui,sans-serif;--sol-font-offset-primary:-0.075em;--sol-font-offset-secondary:-0.04em;--sol-font-size-050:0.5rem;--sol-font-size-0625:0.625rem;--sol-font-size-075:0.75rem;--sol-font-size-0875:0.875rem;--sol-font-size-100:1rem;--sol-font-size-125:1.25rem;--sol-font-size-150:1.5rem;--sol-font-size-200:2rem;--sol-font-size-250:2.5rem;--sol-line-height-075:0.75rem;--sol-line-height-100:1rem;--sol-line-height-125:1.25rem;--sol-line-height-150:1.5rem;--sol-line-height-200:2rem;--sol-line-height-250:2.5rem;--sol-line-height-300:3rem;--sol-letter-spacing-none:0em;--sol-letter-spacing-normal:0.005em;--sol-letter-spacing-button:0.02em;--sol-font-weight-4:400;--sol-font-weight-6:600;--sol-font-weight-7:700;--sol-font-style-normal:normal;--sol-font-style-italic:italic;--sol-text-decoration-none:none;--sol-text-decoration-underline:underline;--sol-text-decoration-strikethrough:line-through;--sol-text-transform-none:none;--sol-text-transform-lowercase:lowercase;--sol-text-transform-uppercase:uppercase;--sol-text-heading-l-font-size:var(--sol-font-size-250);--sol-text-heading-l-line-height:var(--sol-line-height-300);--sol-text-heading-l-font-offset:var(--sol-font-offset-primary);--sol-text-heading-l:var(--sol-font-weight-6) var(--sol-text-heading-l-font-size) /var(--sol-text-heading-l-line-height) var(--sol-font-family-primary);--sol-text-heading-m-font-size:var(--sol-font-size-200);--sol-text-heading-m-line-height:var(--sol-line-height-250);--sol-text-heading-m-font-offset:var(--sol-font-offset-primary);--sol-text-heading-m:var(--sol-font-weight-6) var(--sol-text-heading-m-font-size) /var(--sol-text-heading-m-line-height) var(--sol-font-family-primary);--sol-text-heading-s-font-size:var(--sol-font-size-150);--sol-text-heading-s-line-height:var(--sol-line-height-200);--sol-text-heading-s-font-offset:var(--sol-font-offset-primary);--sol-text-heading-s:var(--sol-font-weight-6) var(--sol-text-heading-s-font-size) /var(--sol-text-heading-s-line-height) var(--sol-font-family-primary);--sol-text-heading-xs-font-size:var(--sol-font-size-125);--sol-text-heading-xs-line-height:var(--sol-line-height-150);--sol-text-heading-xs-font-offset:var(--sol-font-offset-primary);--sol-text-heading-xs:var(--sol-font-weight-6) var(--sol-text-heading-xs-font-size) /var(--sol-text-heading-xs-line-height) var(--sol-font-family-primary);--sol-text-emphasis-l-font-size:var(--sol-font-size-150);--sol-text-emphasis-l-line-height:var(--sol-line-height-200);--sol-text-emphasis-l-font-offset:var(--sol-font-offset-primary);--sol-text-emphasis-l:var(--sol-font-weight-6) var(--sol-text-emphasis-l-font-size) /var(--sol-text-emphasis-l-line-height) var(--sol-font-family-primary);--sol-text-emphasis-m-font-size:var(--sol-font-size-125);--sol-text-emphasis-m-line-height:var(--sol-line-height-150);--sol-text-emphasis-m-font-offset:var(--sol-font-offset-primary);--sol-text-emphasis-m:var(--sol-font-weight-6) var(--sol-text-emphasis-m-font-size) /var(--sol-text-emphasis-m-line-height) var(--sol-font-family-primary);--sol-text-emphasis-s-font-size:var(--sol-font-size-100);--sol-text-emphasis-s-line-height:var(--sol-line-height-150);--sol-text-emphasis-s-font-offset:var(--sol-font-offset-primary);--sol-text-emphasis-s:var(--sol-font-weight-6) var(--sol-text-emphasis-s-font-size) /var(--sol-text-emphasis-s-line-height) var(--sol-font-family-primary);--sol-text-body-l-font-size:var(--sol-font-size-125);--sol-text-body-l-line-height:var(--sol-line-height-150);--sol-text-body-l-font-offset:var(--sol-font-offset-secondary);--sol-text-body-l:var(--sol-font-weight-4) var(--sol-text-body-l-font-size) /var(--sol-text-body-l-line-height) var(--sol-font-family-secondary);--sol-text-body-l-bold-font-size:var(--sol-font-size-125);--sol-text-body-l-bold-line-height:var(--sol-line-height-150);--sol-text-body-l-bold-font-offset:var(--sol-font-offset-secondary);--sol-text-body-l-bold:var(--sol-font-weight-7) var(--sol-text-body-l-bold-font-size) /var(--sol-text-body-l-bold-line-height) var(--sol-font-family-secondary);--sol-text-body-m-font-size:var(--sol-font-size-100);--sol-text-body-m-line-height:var(--sol-line-height-150);--sol-text-body-m-font-offset:var(--sol-font-offset-secondary);--sol-text-body-m:var(--sol-font-weight-4) var(--sol-text-body-m-font-size) /var(--sol-text-body-m-line-height) var(--sol-font-family-secondary);--sol-text-body-m-bold-font-size:var(--sol-font-size-100);--sol-text-body-m-bold-line-height:var(--sol-line-height-150);--sol-text-body-m-bold-font-offset:var(--sol-font-offset-secondary);--sol-text-body-m-bold:var(--sol-font-weight-7) var(--sol-text-body-m-bold-font-size) /var(--sol-text-body-m-bold-line-height) var(--sol-font-family-secondary);--sol-text-body-s-font-size:var(--sol-font-size-0875);--sol-text-body-s-line-height:var(--sol-line-height-125);--sol-text-body-s-font-offset:var(--sol-font-offset-secondary);--sol-text-body-s:var(--sol-font-weight-4) var(--sol-text-body-s-font-size) /var(--sol-text-body-s-line-height) var(--sol-font-family-secondary);--sol-text-body-s-bold-font-size:var(--sol-font-size-0875);--sol-text-body-s-bold-line-height:var(--sol-line-height-125);--sol-text-body-s-bold-font-offset:var(--sol-font-offset-secondary);--sol-text-body-s-bold:var(--sol-font-weight-7) var(--sol-text-body-s-bold-font-size) /var(--sol-text-body-s-bold-line-height) var(--sol-font-family-secondary);--sol-text-body-xs-font-size:var(--sol-font-size-075);--sol-text-body-xs-line-height:var(--sol-line-height-100);--sol-text-body-xs-font-offset:var(--sol-font-offset-secondary);--sol-text-body-xs:var(--sol-font-weight-4) var(--sol-text-body-xs-font-size) /var(--sol-text-body-xs-line-height) var(--sol-font-family-secondary);--sol-text-body-xs-bold-font-size:var(--sol-font-size-075);--sol-text-body-xs-bold-line-height:var(--sol-line-height-100);--sol-text-body-xs-bold-font-offset:var(--sol-font-offset-secondary);--sol-text-body-xs-bold:var(--sol-font-weight-7) var(--sol-text-body-xs-bold-font-size) /var(--sol-text-body-xs-bold-line-height) var(--sol-font-family-secondary);--sol-text-body-xxs-font-size:var(--sol-font-size-0625);--sol-text-body-xxs-line-height:var(--sol-line-height-100);--sol-text-body-xxs-font-offset:var(--sol-font-offset-secondary);--sol-text-body-xxs:var(--sol-font-weight-4) var(--sol-text-body-xxs-font-size) /var(--sol-text-body-xxs-line-height) var(--sol-font-family-secondary);--sol-text-body-xxs-bold-font-size:var(--sol-font-size-0625);--sol-text-body-xxs-bold-line-height:var(--sol-line-height-100);--sol-text-body-xxs-bold-font-offset:var(--sol-font-offset-secondary);--sol-text-body-xxs-bold:var(--sol-font-weight-7) var(--sol-text-body-xxs-bold-font-size) /var(--sol-text-body-xxs-bold-line-height) var(--sol-font-family-secondary);--sol-text-button-m-font-size:var(--sol-font-size-100);--sol-text-button-m-line-height:var(--sol-line-height-150);--sol-text-button-m-font-offset:var(--sol-font-offset-primary);--sol-text-button-m:var(--sol-font-weight-6) var(--sol-text-button-m-font-size) /var(--sol-text-button-m-line-height) var(--sol-font-family-primary);--sol-text-button-s-font-size:var(--sol-font-size-0875);--sol-text-button-s-line-height:var(--sol-line-height-125);--sol-text-button-s-font-offset:var(--sol-font-offset-primary);--sol-text-button-s:var(--sol-font-weight-6) var(--sol-text-button-s-font-size) /var(--sol-text-button-s-line-height) var(--sol-font-family-primary);--sol-text-label-m-font-size:var(--sol-font-size-100);--sol-text-label-m-line-height:var(--sol-line-height-150);--sol-text-label-m-font-offset:var(--sol-font-offset-secondary);--sol-text-label-m:var(--sol-font-weight-4) var(--sol-text-label-m-font-size) /var(--sol-text-label-m-line-height) var(--sol-font-family-secondary);--sol-text-label-s-font-size:var(--sol-font-size-075);--sol-text-label-s-line-height:var(--sol-line-height-100);--sol-text-label-s-font-offset:var(--sol-font-offset-secondary);--sol-text-label-s:var(--sol-font-weight-4) var(--sol-text-label-s-font-size) /var(--sol-text-label-s-line-height) var(--sol-font-family-secondary);--sol-text-label-xs-font-size:var(--sol-font-size-0625);--sol-text-label-xs-line-height:var(--sol-line-height-075);--sol-text-label-xs-font-offset:var(--sol-font-offset-secondary);--sol-text-label-xs:var(--sol-font-weight-4) var(--sol-text-label-xs-font-size) /var(--sol-text-label-xs-line-height) var(--sol-font-family-secondary);--sol-motion-0:0s;--sol-motion-150:150ms;--sol-motion-200:200ms;--sol-motion-250:250ms;--sol-motion-300:300ms;--sol-motion-350:350ms;--sol-motion-500:500ms;--sol-motion-1000:1000ms;--sol-motion-1500:1500ms;--sol-motion-4000:4000ms;--sol-motion-linear:cubic-bezier(0,0,1,1);--sol-motion-ease:cubic-bezier(0.25,0.1,0.25,1);--sol-motion-ease-in:cubic-bezier(0.42,0,1,1);--sol-motion-ease-out:cubic-bezier(.39,.01,.2,.98);--sol-motion-ease-in-out:cubic-bezier(.31,.01,.61,.99);--sol-motion-anim-wipe-duration:var(--sol-motion-1500);--sol-motion-anim-wipe-easing:cubic-bezier(.93,0,.5,.96);--sol-motion-angle:45deg;--sol-motion-spin:sol-motion-spin var(--sol-motion-500) var(--sol-motion-linear) infinite}@keyframes sol-motion-fade-in{0%{opacity:0;pointer-events:none;user-select:none}to{opacity:1;pointer-events:auto;transform:translate(0);user-select:auto}}@keyframes sol-motion-fade-in-swipe-up{0%{opacity:0;transform:translateY(var(--sol-size-050))}to{opacity:1;transform:translateY(0)}}@keyframes sol-motion-fade-out{to{opacity:0}}@keyframes sol-motion-fade-out-swipe{to{opacity:0;transform:translateY(var(--sol-size-050))}}@keyframes sol-motion-spin{to{transform:rotate(1turn)}}:root,[data-sol-theme]{--sol-default-background:var(--sol-color-background);--sol-default-foreground:var(--sol-color-foreground);--sol-default-font-family:var(--sol-font-family-secondary);--sol-cursor-interactive:pointer;--sol-cursor-link:pointer;--sol-cursor-disabled:default;--sol-cursor-text:text;--sol-focus-width:2px;--sol-focus-offset:1px;--sol-focus-color:var(--sol-color-focused);--sol-scrollbar-track:var(--sol-color-surface-1);--sol-scrollbar-track-hovered:var(--sol-color-surface-1);--sol-scrollbar-track-pressed:var(--sol-color-surface-1);--sol-scrollbar-thumb:var(--sol-color-surface-3);--sol-scrollbar-thumb-hovered:var(--sol-color-surface-3);--sol-scrollbar-thumb-pressed:var(--sol-color-surface-3);--sol-scrollbar-width:var(--sol-size-100);--sol-scrollbar-border:var(--sol-size-025);--sol-scrollbar-radius:var(--sol-radius-rounded);--sol-z-actions:70;--sol-z-tutorial:60;--sol-z-tooltip:50;--sol-z-toasts:40;--sol-z-menu:30;--sol-z-popover:20;--sol-z-dialog:10;--sol-shadow-0:none;--sol-shadow-050:0 0 var(--sol-size-050) rgb(var(--sol-color-neutral-1-rgb)/0.4);--sol-shadow-100:0 0 var(--sol-size-100) rgb(var(--sol-color-neutral-1-rgb)/0.4);--sol-shadow-150:0 0 var(--sol-size-150) rgb(var(--sol-color-neutral-1-rgb)/0.4);--sol-size-0:0rem;--sol-size-0125:0.125rem;--sol-size-025:0.25rem;--sol-size-050:0.5rem;--sol-size-075:0.75rem;--sol-size-100:1rem;--sol-size-125:1.25rem;--sol-size-150:1.5rem;--sol-size-200:2rem;--sol-size-250:2.5rem;--sol-size-300:3rem;--sol-size-350:3.5rem;--sol-size-400:4rem;--sol-size-450:4.5rem;--sol-size-500:5rem;--sol-size-550:5.5rem;--sol-size-600:6rem;--sol-size-full:100%;--sol-size-three-quarters:75%;--sol-size-half:50%;--sol-size-quarter:25%;--sol-size-third:33.3333333333%;--sol-size-two-thirds:66.6666666667%;accent-color:var(--sol-color-accent-1);color-scheme:dark}}@layer defaults{:root,[data-sol-theme]{color:var(--sol-default-foreground);font-family:var(--sol-default-font-family)}.sol-theme-root[data-sol-theme],:root{background:var(--sol-default-background)}:focus{outline:var(--sol-focus-width) solid var(--sol-focus-color);outline-offset:var(--sol-focus-offset)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--sol-focus-width) solid var(--sol-focus-color);outline-offset:var(--sol-focus-offset)}a{cursor:var(--sol-cursor-link)}[role=button],[role=option],button,label,select,summary{cursor:var(--sol-cursor-interactive)}:disabled,a:not([href]){cursor:var(--sol-cursor-disabled)}@property --_track-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --_thumb-color{syntax:"<color>";inherits:true;initial-value:#0000}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:var(--sol-scrollbar-thumb) var(--sol-scrollbar-track);scrollbar-width:thin}}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:initial}::-webkit-scrollbar,::-webkit-scrollbar-thumb,::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece{background-clip:padding-box;border:var(--sol-scrollbar-border) solid #0000;border-radius:var(--sol-scrollbar-radius);height:var(--sol-scrollbar-width);width:var(--sol-scrollbar-width)}::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece{background-color:var(--_track-color)}::-webkit-scrollbar-track-piece:hover,::-webkit-scrollbar-track:hover{--_track-color:var(--sol-scrollbar-track-hovered)}::-webkit-scrollbar-track-piece:active,::-webkit-scrollbar-track:active{background-color:var(--sol-scrollbar-track-pressed)}::-webkit-scrollbar-thumb{background-color:var(--sol-scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background-color:var(--sol-scrollbar-thumb-hovered)}::-webkit-scrollbar-thumb:active{background-color:var(--sol-scrollbar-thumb-pressed)}[data-sol-scrollbar-background=true]{--_track-color:var(--sol-scrollbar-track);--_thumb-color:var(--sol-scrollbar-thumb)}[data-sol-scrollbar-hidden=true]{transition:--_thumb-color var(--sol-motion-250)}[data-sol-scrollbar-hidden=true]::-webkit-scrollbar-thumb{background-color:var(--_thumb-color)}[data-sol-scrollbar-hidden=true]:hover{--_thumb-color:var(--sol-scrollbar-thumb-hovered)}:root{--sol-prefers-reduced-motion:reduce}@media (prefers-reduced-motion:no-preference){:root{--sol-prefers-reduced-motion:no-preference}}}@layer utilities{.sol-u-animation-wipe{--_in:wipeIn calc(var(--sol-motion-anim-wipe-duration)/2) var(--sol-motion-anim-wipe-easing) forwards;--_out:wipeOut calc(var(--sol-motion-anim-wipe-duration)/2) var(--sol-motion-anim-wipe-easing) forwards;--_in-rtl:wipeInRtL calc(var(--sol-motion-anim-wipe-duration)/2) var(--sol-motion-anim-wipe-easing) forwards;--_out-rtl:wipeOutRtL calc(var(--sol-motion-anim-wipe-duration)/2) var(--sol-motion-anim-wipe-easing) forwards;--_extra-width:60%;--_angle:25deg;--_background:var(--sol-color-surface-0);--_pos-out-left:translateX(calc(-100% - var(--_extra-width)/2)) skew(calc(var(--_angle)*-1));--_pos-out-mid:translateX(calc(var(--_extra-width)/-2.2)) skew(calc(var(--_angle)*-1));--_pos-out-right:translateX(calc(100% + var(--_extra-width)/2)) skew(calc(var(--_angle)*-1));overflow-x:hidden}.sol-u-animation-wipe:before{background:var(--_background);content:"";filter:brightness(1.1);height:100%;left:0;opacity:1;pointer-events:none;position:absolute;top:0;transform:var(--_pos-out-left);user-select:none;width:calc(100% + var(--_extra-width));will-change:transform;z-index:10}.sol-u-animation-wipe[data-sol-animation-wipe=in]:before{animation:var(--_in)}.sol-u-animation-wipe[data-sol-animation-wipe=out]:before{animation:var(--_out)}.sol-u-animation-wipe[data-sol-animation-wipe=in-rtl]:before{animation:var(--_in-rtl)}.sol-u-animation-wipe[data-sol-animation-wipe=out-rtl]:before{animation:var(--_out-rtl)}@keyframes wipeIn{0%{opacity:1;transform:var(--_pos-out-left)}to{transform:var(--_pos-out-mid)}}@keyframes wipeInRtL{0%{opacity:1;transform:var(--_pos-out-right)}to{transform:var(--_pos-out-mid)}}@keyframes wipeOut{0%{opacity:1;transform:var(--_pos-out-mid)}to{transform:var(--_pos-out-right)}}@keyframes wipeOutRtL{0%{opacity:1;transform:var(--_pos-out-mid)}to{transform:var(--_pos-out-left)}}.sol-u-app-version{color:var(--sol-color-foreground-weak);font:var(--sol-text-body-xs);inset-block-end:var(--sol-size-050);inset-inline-start:var(--sol-size-050);position:fixed;z-index:var(--sol-z-actions)}.sol-u-app-version span{color:var(--sol-color-status-notice);font-weight:var(--sol-font-weight-7)}.sol-u-app-version,.sol-u-app-version span{animation:sol-motion-fade-in-swipe-up var(--sol-motion-350) var(--sol-motion-ease-out) forwards;opacity:0}.sol-u-background-surface-0{background-color:var(--sol-color-surface-0)}.sol-u-color-surface-0{color:var(--sol-color-surface-0)}.sol-u-background-surface-1{background-color:var(--sol-color-surface-1)}.sol-u-color-surface-1{color:var(--sol-color-surface-1)}.sol-u-background-surface-2{background-color:var(--sol-color-surface-2)}.sol-u-color-surface-2{color:var(--sol-color-surface-2)}.sol-u-background-surface-3{background-color:var(--sol-color-surface-3)}.sol-u-color-surface-3{color:var(--sol-color-surface-3)}.sol-u-background-status-informative{background-color:var(--sol-color-status-informative)}.sol-u-color-status-informative{color:var(--sol-color-status-informative)}.sol-u-background-status-informative-fill{background-color:var(--sol-color-status-informative-fill)}.sol-u-color-status-informative-fill{color:var(--sol-color-status-informative-fill)}.sol-u-background-status-informative-fill-contrast{background-color:var(--sol-color-status-informative-fill-contrast)}.sol-u-color-status-informative-fill-contrast{color:var(--sol-color-status-informative-fill-contrast)}.sol-u-background-status-positive{background-color:var(--sol-color-status-positive)}.sol-u-color-status-positive{color:var(--sol-color-status-positive)}.sol-u-background-status-positive-fill{background-color:var(--sol-color-status-positive-fill)}.sol-u-color-status-positive-fill{color:var(--sol-color-status-positive-fill)}.sol-u-background-status-positive-fill-contrast{background-color:var(--sol-color-status-positive-fill-contrast)}.sol-u-color-status-positive-fill-contrast{color:var(--sol-color-status-positive-fill-contrast)}.sol-u-background-status-notice{background-color:var(--sol-color-status-notice)}.sol-u-color-status-notice{color:var(--sol-color-status-notice)}.sol-u-background-status-notice-fill{background-color:var(--sol-color-status-notice-fill)}.sol-u-color-status-notice-fill{color:var(--sol-color-status-notice-fill)}.sol-u-background-status-notice-fill-contrast{background-color:var(--sol-color-status-notice-fill-contrast)}.sol-u-color-status-notice-fill-contrast{color:var(--sol-color-status-notice-fill-contrast)}.sol-u-background-status-negative{background-color:var(--sol-color-status-negative)}.sol-u-color-status-negative{color:var(--sol-color-status-negative)}.sol-u-background-status-negative-fill{background-color:var(--sol-color-status-negative-fill)}.sol-u-color-status-negative-fill{color:var(--sol-color-status-negative-fill)}.sol-u-background-status-negative-fill-contrast{background-color:var(--sol-color-status-negative-fill-contrast)}.sol-u-color-status-negative-fill-contrast{color:var(--sol-color-status-negative-fill-contrast)}.sol-u-background-status-highlight{background-color:var(--sol-color-status-highlight)}.sol-u-color-status-highlight{color:var(--sol-color-status-highlight)}.sol-u-background-status-highlight-fill{background-color:var(--sol-color-status-highlight-fill)}.sol-u-color-status-highlight-fill{color:var(--sol-color-status-highlight-fill)}.sol-u-background-status-highlight-fill-contrast{background-color:var(--sol-color-status-highlight-fill-contrast)}.sol-u-color-status-highlight-fill-contrast{color:var(--sol-color-status-highlight-fill-contrast)}.sol-u-background-status-neutral{background-color:var(--sol-color-status-neutral)}.sol-u-color-status-neutral{color:var(--sol-color-status-neutral)}.sol-u-background-status-neutral-fill{background-color:var(--sol-color-status-neutral-fill)}.sol-u-color-status-neutral-fill{color:var(--sol-color-status-neutral-fill)}.sol-u-background-status-neutral-fill-contrast{background-color:var(--sol-color-status-neutral-fill-contrast)}.sol-u-color-status-neutral-fill-contrast{color:var(--sol-color-status-neutral-fill-contrast)}.sol-u-background-foreground{background-color:var(--sol-color-foreground)}.sol-u-color-foreground{color:var(--sol-color-foreground)}.sol-u-background-foreground-weak{background-color:var(--sol-color-foreground-weak)}.sol-u-color-foreground-weak{color:var(--sol-color-foreground-weak)}.sol-u-background-foreground-weaker{background-color:var(--sol-color-foreground-weaker)}.sol-u-color-foreground-weaker{color:var(--sol-color-foreground-weaker)}.sol-u-background-foreground-highlight{background-color:var(--sol-color-foreground-highlight)}.sol-u-color-foreground-highlight{color:var(--sol-color-foreground-highlight)}.sol-u-display-none{display:none}.sol-u-display-block{display:block}.sol-u-display-inline{display:inline}.sol-u-display-inline-block{display:inline-block}.sol-u-display-flex{display:flex}.sol-u-display-inline-flex{display:inline-flex}.sol-u-display-grid{display:grid}.sol-u-display-inline-grid{display:inline-grid}.sol-u-display-contents{display:contents}.sol-u-disable-selection{cursor:default;user-select:none}.sol-u-disable-selection :is(a,img):not([draggable=true]){-webkit-user-drag:none}.sol-u-enable-selection{cursor:var(--sol-cursor-text);user-select:text}.sol-u-gap-0{gap:var(--sol-size-0)}.sol-u-gap-0125{gap:var(--sol-size-0125)}.sol-u-gap-025{gap:var(--sol-size-025)}.sol-u-gap-050{gap:var(--sol-size-050)}.sol-u-gap-075{gap:var(--sol-size-075)}.sol-u-gap-100{gap:var(--sol-size-100)}.sol-u-gap-125{gap:var(--sol-size-125)}.sol-u-gap-150{gap:var(--sol-size-150)}.sol-u-gap-200{gap:var(--sol-size-200)}.sol-u-gap-250{gap:var(--sol-size-250)}.sol-u-gap-300{gap:var(--sol-size-300)}.sol-u-gap-350{gap:var(--sol-size-350)}.sol-u-gap-400{gap:var(--sol-size-400)}.sol-u-gap-450{gap:var(--sol-size-450)}.sol-u-gap-500{gap:var(--sol-size-500)}.sol-u-gap-550{gap:var(--sol-size-550)}.sol-u-gap-600{gap:var(--sol-size-600)}.sol-u-padding-0{padding:var(--sol-size-0)}.sol-u-padding-0125{padding:var(--sol-size-0125)}.sol-u-padding-025{padding:var(--sol-size-025)}.sol-u-padding-050{padding:var(--sol-size-050)}.sol-u-padding-075{padding:var(--sol-size-075)}.sol-u-padding-100{padding:var(--sol-size-100)}.sol-u-padding-125{padding:var(--sol-size-125)}.sol-u-padding-150{padding:var(--sol-size-150)}.sol-u-padding-200{padding:var(--sol-size-200)}.sol-u-padding-250{padding:var(--sol-size-250)}.sol-u-padding-300{padding:var(--sol-size-300)}.sol-u-padding-350{padding:var(--sol-size-350)}.sol-u-padding-400{padding:var(--sol-size-400)}.sol-u-padding-450{padding:var(--sol-size-450)}.sol-u-padding-500{padding:var(--sol-size-500)}.sol-u-padding-550{padding:var(--sol-size-550)}.sol-u-padding-600{padding:var(--sol-size-600)}.sol-u-padding-b-0{padding-block:var(--sol-size-0)}.sol-u-padding-b-0125{padding-block:var(--sol-size-0125)}.sol-u-padding-b-025{padding-block:var(--sol-size-025)}.sol-u-padding-b-050{padding-block:var(--sol-size-050)}.sol-u-padding-b-075{padding-block:var(--sol-size-075)}.sol-u-padding-b-100{padding-block:var(--sol-size-100)}.sol-u-padding-b-125{padding-block:var(--sol-size-125)}.sol-u-padding-b-150{padding-block:var(--sol-size-150)}.sol-u-padding-b-200{padding-block:var(--sol-size-200)}.sol-u-padding-b-250{padding-block:var(--sol-size-250)}.sol-u-padding-b-300{padding-block:var(--sol-size-300)}.sol-u-padding-b-350{padding-block:var(--sol-size-350)}.sol-u-padding-b-400{padding-block:var(--sol-size-400)}.sol-u-padding-b-450{padding-block:var(--sol-size-450)}.sol-u-padding-b-500{padding-block:var(--sol-size-500)}.sol-u-padding-b-550{padding-block:var(--sol-size-550)}.sol-u-padding-b-600{padding-block:var(--sol-size-600)}.sol-u-padding-bs-0{padding-block-start:var(--sol-size-0)}.sol-u-padding-bs-0125{padding-block-start:var(--sol-size-0125)}.sol-u-padding-bs-025{padding-block-start:var(--sol-size-025)}.sol-u-padding-bs-050{padding-block-start:var(--sol-size-050)}.sol-u-padding-bs-075{padding-block-start:var(--sol-size-075)}.sol-u-padding-bs-100{padding-block-start:var(--sol-size-100)}.sol-u-padding-bs-125{padding-block-start:var(--sol-size-125)}.sol-u-padding-bs-150{padding-block-start:var(--sol-size-150)}.sol-u-padding-bs-200{padding-block-start:var(--sol-size-200)}.sol-u-padding-bs-250{padding-block-start:var(--sol-size-250)}.sol-u-padding-bs-300{padding-block-start:var(--sol-size-300)}.sol-u-padding-bs-350{padding-block-start:var(--sol-size-350)}.sol-u-padding-bs-400{padding-block-start:var(--sol-size-400)}.sol-u-padding-bs-450{padding-block-start:var(--sol-size-450)}.sol-u-padding-bs-500{padding-block-start:var(--sol-size-500)}.sol-u-padding-bs-550{padding-block-start:var(--sol-size-550)}.sol-u-padding-bs-600{padding-block-start:var(--sol-size-600)}.sol-u-padding-be-0{padding-block-end:var(--sol-size-0)}.sol-u-padding-be-0125{padding-block-end:var(--sol-size-0125)}.sol-u-padding-be-025{padding-block-end:var(--sol-size-025)}.sol-u-padding-be-050{padding-block-end:var(--sol-size-050)}.sol-u-padding-be-075{padding-block-end:var(--sol-size-075)}.sol-u-padding-be-100{padding-block-end:var(--sol-size-100)}.sol-u-padding-be-125{padding-block-end:var(--sol-size-125)}.sol-u-padding-be-150{padding-block-end:var(--sol-size-150)}.sol-u-padding-be-200{padding-block-end:var(--sol-size-200)}.sol-u-padding-be-250{padding-block-end:var(--sol-size-250)}.sol-u-padding-be-300{padding-block-end:var(--sol-size-300)}.sol-u-padding-be-350{padding-block-end:var(--sol-size-350)}.sol-u-padding-be-400{padding-block-end:var(--sol-size-400)}.sol-u-padding-be-450{padding-block-end:var(--sol-size-450)}.sol-u-padding-be-500{padding-block-end:var(--sol-size-500)}.sol-u-padding-be-550{padding-block-end:var(--sol-size-550)}.sol-u-padding-be-600{padding-block-end:var(--sol-size-600)}.sol-u-padding-i-0{padding-inline:var(--sol-size-0)}.sol-u-padding-i-0125{padding-inline:var(--sol-size-0125)}.sol-u-padding-i-025{padding-inline:var(--sol-size-025)}.sol-u-padding-i-050{padding-inline:var(--sol-size-050)}.sol-u-padding-i-075{padding-inline:var(--sol-size-075)}.sol-u-padding-i-100{padding-inline:var(--sol-size-100)}.sol-u-padding-i-125{padding-inline:var(--sol-size-125)}.sol-u-padding-i-150{padding-inline:var(--sol-size-150)}.sol-u-padding-i-200{padding-inline:var(--sol-size-200)}.sol-u-padding-i-250{padding-inline:var(--sol-size-250)}.sol-u-padding-i-300{padding-inline:var(--sol-size-300)}.sol-u-padding-i-350{padding-inline:var(--sol-size-350)}.sol-u-padding-i-400{padding-inline:var(--sol-size-400)}.sol-u-padding-i-450{padding-inline:var(--sol-size-450)}.sol-u-padding-i-500{padding-inline:var(--sol-size-500)}.sol-u-padding-i-550{padding-inline:var(--sol-size-550)}.sol-u-padding-i-600{padding-inline:var(--sol-size-600)}.sol-u-padding-is-0{padding-inline-start:var(--sol-size-0)}.sol-u-padding-is-0125{padding-inline-start:var(--sol-size-0125)}.sol-u-padding-is-025{padding-inline-start:var(--sol-size-025)}.sol-u-padding-is-050{padding-inline-start:var(--sol-size-050)}.sol-u-padding-is-075{padding-inline-start:var(--sol-size-075)}.sol-u-padding-is-100{padding-inline-start:var(--sol-size-100)}.sol-u-padding-is-125{padding-inline-start:var(--sol-size-125)}.sol-u-padding-is-150{padding-inline-start:var(--sol-size-150)}.sol-u-padding-is-200{padding-inline-start:var(--sol-size-200)}.sol-u-padding-is-250{padding-inline-start:var(--sol-size-250)}.sol-u-padding-is-300{padding-inline-start:var(--sol-size-300)}.sol-u-padding-is-350{padding-inline-start:var(--sol-size-350)}.sol-u-padding-is-400{padding-inline-start:var(--sol-size-400)}.sol-u-padding-is-450{padding-inline-start:var(--sol-size-450)}.sol-u-padding-is-500{padding-inline-start:var(--sol-size-500)}.sol-u-padding-is-550{padding-inline-start:var(--sol-size-550)}.sol-u-padding-is-600{padding-inline-start:var(--sol-size-600)}.sol-u-padding-ie-0{padding-inline-end:var(--sol-size-0)}.sol-u-padding-ie-0125{padding-inline-end:var(--sol-size-0125)}.sol-u-padding-ie-025{padding-inline-end:var(--sol-size-025)}.sol-u-padding-ie-050{padding-inline-end:var(--sol-size-050)}.sol-u-padding-ie-075{padding-inline-end:var(--sol-size-075)}.sol-u-padding-ie-100{padding-inline-end:var(--sol-size-100)}.sol-u-padding-ie-125{padding-inline-end:var(--sol-size-125)}.sol-u-padding-ie-150{padding-inline-end:var(--sol-size-150)}.sol-u-padding-ie-200{padding-inline-end:var(--sol-size-200)}.sol-u-padding-ie-250{padding-inline-end:var(--sol-size-250)}.sol-u-padding-ie-300{padding-inline-end:var(--sol-size-300)}.sol-u-padding-ie-350{padding-inline-end:var(--sol-size-350)}.sol-u-padding-ie-400{padding-inline-end:var(--sol-size-400)}.sol-u-padding-ie-450{padding-inline-end:var(--sol-size-450)}.sol-u-padding-ie-500{padding-inline-end:var(--sol-size-500)}.sol-u-padding-ie-550{padding-inline-end:var(--sol-size-550)}.sol-u-padding-ie-600{padding-inline-end:var(--sol-size-600)}.sol-u-margin-0{margin:var(--sol-size-0)}.sol-u-margin-0125{margin:var(--sol-size-0125)}.sol-u-margin-025{margin:var(--sol-size-025)}.sol-u-margin-050{margin:var(--sol-size-050)}.sol-u-margin-075{margin:var(--sol-size-075)}.sol-u-margin-100{margin:var(--sol-size-100)}.sol-u-margin-125{margin:var(--sol-size-125)}.sol-u-margin-150{margin:var(--sol-size-150)}.sol-u-margin-200{margin:var(--sol-size-200)}.sol-u-margin-250{margin:var(--sol-size-250)}.sol-u-margin-300{margin:var(--sol-size-300)}.sol-u-margin-350{margin:var(--sol-size-350)}.sol-u-margin-400{margin:var(--sol-size-400)}.sol-u-margin-450{margin:var(--sol-size-450)}.sol-u-margin-500{margin:var(--sol-size-500)}.sol-u-margin-550{margin:var(--sol-size-550)}.sol-u-margin-600{margin:var(--sol-size-600)}.sol-u-margin-b-0{margin-block:var(--sol-size-0)}.sol-u-margin-b-0125{margin-block:var(--sol-size-0125)}.sol-u-margin-b-025{margin-block:var(--sol-size-025)}.sol-u-margin-b-050{margin-block:var(--sol-size-050)}.sol-u-margin-b-075{margin-block:var(--sol-size-075)}.sol-u-margin-b-100{margin-block:var(--sol-size-100)}.sol-u-margin-b-125{margin-block:var(--sol-size-125)}.sol-u-margin-b-150{margin-block:var(--sol-size-150)}.sol-u-margin-b-200{margin-block:var(--sol-size-200)}.sol-u-margin-b-250{margin-block:var(--sol-size-250)}.sol-u-margin-b-300{margin-block:var(--sol-size-300)}.sol-u-margin-b-350{margin-block:var(--sol-size-350)}.sol-u-margin-b-400{margin-block:var(--sol-size-400)}.sol-u-margin-b-450{margin-block:var(--sol-size-450)}.sol-u-margin-b-500{margin-block:var(--sol-size-500)}.sol-u-margin-b-550{margin-block:var(--sol-size-550)}.sol-u-margin-b-600{margin-block:var(--sol-size-600)}.sol-u-margin-bs-0{margin-block-start:var(--sol-size-0)}.sol-u-margin-bs-0125{margin-block-start:var(--sol-size-0125)}.sol-u-margin-bs-025{margin-block-start:var(--sol-size-025)}.sol-u-margin-bs-050{margin-block-start:var(--sol-size-050)}.sol-u-margin-bs-075{margin-block-start:var(--sol-size-075)}.sol-u-margin-bs-100{margin-block-start:var(--sol-size-100)}.sol-u-margin-bs-125{margin-block-start:var(--sol-size-125)}.sol-u-margin-bs-150{margin-block-start:var(--sol-size-150)}.sol-u-margin-bs-200{margin-block-start:var(--sol-size-200)}.sol-u-margin-bs-250{margin-block-start:var(--sol-size-250)}.sol-u-margin-bs-300{margin-block-start:var(--sol-size-300)}.sol-u-margin-bs-350{margin-block-start:var(--sol-size-350)}.sol-u-margin-bs-400{margin-block-start:var(--sol-size-400)}.sol-u-margin-bs-450{margin-block-start:var(--sol-size-450)}.sol-u-margin-bs-500{margin-block-start:var(--sol-size-500)}.sol-u-margin-bs-550{margin-block-start:var(--sol-size-550)}.sol-u-margin-bs-600{margin-block-start:var(--sol-size-600)}.sol-u-margin-be-0{margin-block-end:var(--sol-size-0)}.sol-u-margin-be-0125{margin-block-end:var(--sol-size-0125)}.sol-u-margin-be-025{margin-block-end:var(--sol-size-025)}.sol-u-margin-be-050{margin-block-end:var(--sol-size-050)}.sol-u-margin-be-075{margin-block-end:var(--sol-size-075)}.sol-u-margin-be-100{margin-block-end:var(--sol-size-100)}.sol-u-margin-be-125{margin-block-end:var(--sol-size-125)}.sol-u-margin-be-150{margin-block-end:var(--sol-size-150)}.sol-u-margin-be-200{margin-block-end:var(--sol-size-200)}.sol-u-margin-be-250{margin-block-end:var(--sol-size-250)}.sol-u-margin-be-300{margin-block-end:var(--sol-size-300)}.sol-u-margin-be-350{margin-block-end:var(--sol-size-350)}.sol-u-margin-be-400{margin-block-end:var(--sol-size-400)}.sol-u-margin-be-450{margin-block-end:var(--sol-size-450)}.sol-u-margin-be-500{margin-block-end:var(--sol-size-500)}.sol-u-margin-be-550{margin-block-end:var(--sol-size-550)}.sol-u-margin-be-600{margin-block-end:var(--sol-size-600)}.sol-u-margin-i-0{margin-inline:var(--sol-size-0)}.sol-u-margin-i-0125{margin-inline:var(--sol-size-0125)}.sol-u-margin-i-025{margin-inline:var(--sol-size-025)}.sol-u-margin-i-050{margin-inline:var(--sol-size-050)}.sol-u-margin-i-075{margin-inline:var(--sol-size-075)}.sol-u-margin-i-100{margin-inline:var(--sol-size-100)}.sol-u-margin-i-125{margin-inline:var(--sol-size-125)}.sol-u-margin-i-150{margin-inline:var(--sol-size-150)}.sol-u-margin-i-200{margin-inline:var(--sol-size-200)}.sol-u-margin-i-250{margin-inline:var(--sol-size-250)}.sol-u-margin-i-300{margin-inline:var(--sol-size-300)}.sol-u-margin-i-350{margin-inline:var(--sol-size-350)}.sol-u-margin-i-400{margin-inline:var(--sol-size-400)}.sol-u-margin-i-450{margin-inline:var(--sol-size-450)}.sol-u-margin-i-500{margin-inline:var(--sol-size-500)}.sol-u-margin-i-550{margin-inline:var(--sol-size-550)}.sol-u-margin-i-600{margin-inline:var(--sol-size-600)}.sol-u-margin-is-0{margin-inline-start:var(--sol-size-0)}.sol-u-margin-is-0125{margin-inline-start:var(--sol-size-0125)}.sol-u-margin-is-025{margin-inline-start:var(--sol-size-025)}.sol-u-margin-is-050{margin-inline-start:var(--sol-size-050)}.sol-u-margin-is-075{margin-inline-start:var(--sol-size-075)}.sol-u-margin-is-100{margin-inline-start:var(--sol-size-100)}.sol-u-margin-is-125{margin-inline-start:var(--sol-size-125)}.sol-u-margin-is-150{margin-inline-start:var(--sol-size-150)}.sol-u-margin-is-200{margin-inline-start:var(--sol-size-200)}.sol-u-margin-is-250{margin-inline-start:var(--sol-size-250)}.sol-u-margin-is-300{margin-inline-start:var(--sol-size-300)}.sol-u-margin-is-350{margin-inline-start:var(--sol-size-350)}.sol-u-margin-is-400{margin-inline-start:var(--sol-size-400)}.sol-u-margin-is-450{margin-inline-start:var(--sol-size-450)}.sol-u-margin-is-500{margin-inline-start:var(--sol-size-500)}.sol-u-margin-is-550{margin-inline-start:var(--sol-size-550)}.sol-u-margin-is-600{margin-inline-start:var(--sol-size-600)}.sol-u-margin-ie-0{margin-inline-end:var(--sol-size-0)}.sol-u-margin-ie-0125{margin-inline-end:var(--sol-size-0125)}.sol-u-margin-ie-025{margin-inline-end:var(--sol-size-025)}.sol-u-margin-ie-050{margin-inline-end:var(--sol-size-050)}.sol-u-margin-ie-075{margin-inline-end:var(--sol-size-075)}.sol-u-margin-ie-100{margin-inline-end:var(--sol-size-100)}.sol-u-margin-ie-125{margin-inline-end:var(--sol-size-125)}.sol-u-margin-ie-150{margin-inline-end:var(--sol-size-150)}.sol-u-margin-ie-200{margin-inline-end:var(--sol-size-200)}.sol-u-margin-ie-250{margin-inline-end:var(--sol-size-250)}.sol-u-margin-ie-300{margin-inline-end:var(--sol-size-300)}.sol-u-margin-ie-350{margin-inline-end:var(--sol-size-350)}.sol-u-margin-ie-400{margin-inline-end:var(--sol-size-400)}.sol-u-margin-ie-450{margin-inline-end:var(--sol-size-450)}.sol-u-margin-ie-500{margin-inline-end:var(--sol-size-500)}.sol-u-margin-ie-550{margin-inline-end:var(--sol-size-550)}.sol-u-margin-ie-600{margin-inline-end:var(--sol-size-600)}.sol-u-margin-auto{margin:auto}.sol-u-margin-b-auto{margin-block:auto}.sol-u-margin-bs-auto{margin-block-start:auto}.sol-u-margin-be-auto{margin-block-end:auto}.sol-u-margin-i-auto{margin-inline:auto}.sol-u-margin-is-auto{margin-inline-start:auto}.sol-u-margin-ie-auto{margin-inline-end:auto}.sol-u-text-align-start{text-align:start}.sol-u-text-align-center{text-align:center}.sol-u-text-align-end{text-align:end}.sol-u-text-decoration-none{text-decoration:var(--sol-text-decoration-none)}.sol-u-text-decoration-underline{text-decoration:var(--sol-text-decoration-underline)}.sol-u-text-decoration-strikethrough{text-decoration:var(--sol-text-decoration-strikethrough)}.sol-u-font-style-normal{font-style:var(--sol-font-style-normal)}.sol-u-font-style-italic{font-style:var(--sol-font-style-italic)}.sol-u-text-transform-none{text-transform:var(--sol-text-transform-none)}.sol-u-text-transform-lowercase{text-transform:var(--sol-text-transform-lowercase)}.sol-u-text-transform-uppercase{text-transform:var(--sol-text-transform-uppercase)}.sol-u-text-truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (display:-webkit-box){.sol-u-text-truncate[style*="--sol-u-text-truncate"],[style*="--sol-u-text-truncate"] .sol-u-text-truncate{-webkit-box-orient:vertical;-webkit-line-clamp:var(--sol-u-text-truncate,1);display:-webkit-box;white-space:normal}}.sol-u-transition-floating{--_offset:var(--sol-u-transition-floating-offset,var(--sol-size-050));--_in:var(--sol-u-transition-floating-in,var(--sol-motion-250) var(--sol-motion-ease-out));--_out:var(--sol-u-transition-floating-out,var(--sol-motion-250) var(--sol-motion-ease))}.sol-u-transition-floating[data-sol-status=open]{transition:var(--_in);transition-property:opacity,transform}.sol-u-transition-floating[data-sol-status=close]{transition:var(--_out);transition-property:opacity,transform}.sol-u-transition-floating[data-sol-status=close],.sol-u-transition-floating[data-sol-status=initial]{opacity:0}@container style(--sol-prefers-reduced-motion: no-preference){.sol-u-transition-floating[data-sol-status=close][data-sol-placement^=top],.sol-u-transition-floating[data-sol-status=initial][data-sol-placement^=top]{transform:translateY(var(--_offset))}.sol-u-transition-floating[data-sol-status=close][data-sol-placement^=bottom],.sol-u-transition-floating[data-sol-status=initial][data-sol-placement^=bottom]{transform:translateY(calc(var(--_offset)*-1))}.sol-u-transition-floating[data-sol-status=close][data-sol-placement^=left],.sol-u-transition-floating[data-sol-status=initial][data-sol-placement^=left]{transform:translateX(var(--_offset))}.sol-u-transition-floating[data-sol-status=close][data-sol-placement^=right],.sol-u-transition-floating[data-sol-status=initial][data-sol-placement^=right]{transform:translateX(calc(var(--_offset)*-1))}}.sol-u-hide-visually:not(:focus,:active,:focus-within,.sol-u-show-visually){block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}}}'), "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof n.g ? n.g : "undefined" != typeof self && self;
var iy = {exports: {}}, oy = {};
iy.exports = function () {
if (pE) return oy;
pE = 1;
var e = Symbol.for("react.element"), t = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty,
r = Ee.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
a = {key: !0, ref: !0, __self: !0, __source: !0};
function i(t, i, o) {
var s, l = {}, c = null, u = null;
for (s in void 0 !== o && (c = "" + o), void 0 !== i.key && (c = "" + i.key), void 0 !== i.ref && (u = i.ref), i) n.call(i, s) && !a.hasOwnProperty(s) && (l[s] = i[s]);
if (t && t.defaultProps) for (s in i = t.defaultProps) void 0 === l[s] && (l[s] = i[s]);
return {$$typeof: e, type: t, key: c, ref: u, props: l, _owner: r.current}
}
return oy.Fragment = t, oy.jsx = i, oy.jsxs = i, oy
}();
var sy = iy.exports;
ry('@layer sol.components{.sol-c-accordion{--_radius:var(--sol-radius-8);--_duration:var(--sol-motion-350)}.sol-c-accordion__actions{align-self:center;display:flex;gap:var(--sol-size-050);justify-content:flex-end;padding:var(--sol-size-050)}.sol-c-accordion__items{border-radius:var(--_radius);overflow:hidden}.sol-c-accordion__item{background:var(--sol-color-surface-1);color:var(--sol-color-foreground)}.sol-c-accordion__header{--_background:var(--sol-color-surface-2);--sol-focus-offset:calc(var(--sol-focus-width)*-1);align-items:center;background:#0000 none;cursor:var(--sol-cursor-interactive);display:flex;gap:var(--sol-size-100);inline-size:100%;padding-block:var(--sol-size-100);padding-inline:var(--sol-size-150);position:relative;text-align:start;transition:border-radius var(--sol-motion-250) var(--sol-motion-ease-in);z-index:1}.sol-c-accordion__header:after{background-color:var(--_background);content:"";display:block;inset:0;position:absolute;transition:background-color var(--sol-motion-250) var(--sol-motion-ease-in);z-index:-1}.sol-c-accordion__item:first-child .sol-c-accordion__header{border-start-end-radius:var(--_radius);border-start-start-radius:var(--_radius)}.sol-c-accordion__item:last-child .sol-c-accordion__header[aria-expanded=false]{border-end-end-radius:var(--_radius);border-end-start-radius:var(--_radius)}.sol-c-accordion__item:not(:first-child) .sol-c-accordion__header:after{box-shadow:inset 0 var(--sol-border-1) 0 0 var(--sol-color-surface-3)}.sol-c-accordion__header:hover{--_background:var(--sol-color-surface-2-hovered)}.sol-c-accordion__header:active{--_background:var(--sol-color-surface-2-pressed)}.sol-c-accordion__icon{margin-inline-start:auto;transition:opacity var(--sol-motion-250) var(--sol-motion-ease-in)}.sol-c-accordion__icon--plus{inset-block:0;inset-inline-end:var(--sol-size-150);margin-block:auto;position:absolute}.sol-c-accordion__header[aria-expanded=false] .sol-c-accordion__icon--minus,.sol-c-accordion__header[aria-expanded=true] .sol-c-accordion__icon--plus{opacity:0}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-accordion__content{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows var(--_duration) var(--sol-motion-ease-out)}.sol-c-accordion__content[hidden]{display:grid;grid-template-rows:0fr}}.sol-c-accordion__wrapper{min-height:0;padding-inline:var(--sol-size-250);transition:visibility var(--_duration)}.sol-c-accordion__wrapper:after,.sol-c-accordion__wrapper:before{block-size:var(--sol-size-250);content:"";display:block}.sol-c-accordion__content[hidden] .sol-c-accordion__wrapper{visibility:hidden}}');
let ly = (0, Ee.createContext)(null), cy = () => {
let e = (0, Ee.useContext)(ly);
if (!e) throw Error("Accordion components must be wrapped in <Accordion />");
return e
};
ry('@layer sol.components{.sol-c-button{--_color-default:var(--sol-color-interactive);--_color-hovered:var(--sol-color-interactive-hovered);--_color-pressed:var(--sol-color-interactive-pressed);--_color-selected:var(--sol-color-interactive-selected);--_color-contrast:var(--sol-color-interactive-contrast);--_background:var(--_color-default);--_background-hovered:var(--_color-hovered);--_background-pressed:var(--_color-pressed);--_background-selected:var(--_color-selected);--_foreground:var(--_color-contrast);--_foreground-hovered:var(--_foreground);--_foreground-pressed:var(--_foreground);--_foreground-selected:var(--_foreground);--_size:var(--sol-c-button-size,var(--sol-size-250));--_padding:var(--sol-c-button-padding,var(--sol-size-050) var(--sol-size-075));--_gap:var(--sol-c-button-gap,var(--sol-size-050));--_duration:var(--sol-motion-250);--_duration-enter:var(--sol-motion-250);--_duration-leave:var(--sol-motion-150);--_easing-enter:var(--sol-motion-ease-in);--_easing-leave:var(--sol-motion-ease-out);align-items:center;border-radius:var(--sol-radius-4);color:var(--_foreground);cursor:var(--sol-cursor-interactive);display:inline-flex;gap:var(--_gap);justify-content:center;min-height:var(--_size);min-width:var(--_size);overflow:hidden;padding:var(--_padding);position:relative;text-align:center;transition-duration:var(--_duration);transition-property:background-color,color,opacity;user-select:none}.sol-c-button,.sol-c-button:before{background-color:var(--_background)}.sol-c-button:before{content:"";display:block;inset:0;opacity:0;position:absolute;transition-duration:var(--_duration-leave);transition-property:background-color,opacity;transition-timing-function:var(--_easing-leave);z-index:1}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-button:before{transform:scale(2) skewX(-45deg) translateX(-100%);transition-delay:0s,0s,var(--_duration-leave);transition-duration:var(--_duration-leave),var(--_duration-leave),0s;transition-property:background-color,opacity,transform}.sol-c-button:active:before,.sol-c-button:hover:before,.sol-c-button[aria-expanded=true]:before,.sol-c-button[aria-pressed=true]:before,[data-sol-button-group]:active:not(:has(.sol-c-button:active)) .sol-c-button--controlled:before,[data-sol-button-group]:hover:not(:has(.sol-c-button:hover)) .sol-c-button--controlled:before{transform:scale(2) skewX(-45deg) translateX(0)}}.sol-c-button:hover:before,.sol-c-button[aria-expanded=true]:before,.sol-c-button[aria-pressed=true]:before,[data-sol-button-group]:hover:not(:has(.sol-c-button:hover)) .sol-c-button--controlled:before{opacity:1;transition-duration:var(--_duration-enter);transition-timing-function:var(--_easing-enter)}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-button:hover:before,.sol-c-button[aria-expanded=true]:before,.sol-c-button[aria-pressed=true]:before,[data-sol-button-group]:hover:not(:has(.sol-c-button:hover)) .sol-c-button--controlled:before{transition-delay:0s;transition-duration:var(--_duration-enter),0s,var(--_duration-enter)}}.sol-c-button[aria-expanded=true],.sol-c-button[aria-pressed=true]{color:var(--_foreground-selected)}.sol-c-button[aria-expanded=true]:before,.sol-c-button[aria-pressed=true]:before{background-color:var(--_background-selected)}.sol-c-button:hover,[data-sol-button-group]:hover:not(:has(.sol-c-button:hover)) .sol-c-button--controlled{color:var(--_foreground-hovered)}.sol-c-button:hover:before,[data-sol-button-group]:hover:not(:has(.sol-c-button:hover)) .sol-c-button--controlled:before{background-color:var(--_background-hovered)}.sol-c-button:active,[data-sol-button-group]:active:not(:has(.sol-c-button:active)) .sol-c-button--controlled{color:var(--_foreground-pressed)}.sol-c-button:active:before,[data-sol-button-group]:active:not(:has(.sol-c-button:active)) .sol-c-button--controlled:before{background-color:var(--_background-pressed)}.sol-c-button:disabled,.sol-c-button[aria-disabled=true]{opacity:.4;pointer-events:none}.sol-c-button--align-start{justify-content:flex-start;text-align:start}.sol-c-button--align-end{justify-content:flex-end;text-align:end}.sol-c-button--full-width{display:flex;inline-size:100%}.sol-c-button--negative{--_color-default:var(--sol-color-interactive-negative);--_color-hovered:var(--sol-color-interactive-negative-hovered);--_color-pressed:var(--sol-color-interactive-negative-pressed);--_color-selected:var(--sol-color-interactive-negative-selected)}.sol-c-button--notice{--_color-default:var(--sol-color-interactive-notice);--_color-hovered:var(--sol-color-interactive-notice-hovered);--_color-pressed:var(--sol-color-interactive-notice-pressed);--_color-selected:var(--sol-color-interactive-notice-selected)}.sol-c-button--positive{--_color-default:var(--sol-color-interactive-positive);--_color-hovered:var(--sol-color-interactive-positive-hovered);--_color-pressed:var(--sol-color-interactive-positive-pressed);--_color-selected:var(--sol-color-interactive-positive-selected)}.sol-c-button--monochrome,.sol-c-button--plain{--_background:var(--sol-color-interactive-opacity);--_background-hovered:var(--sol-color-interactive-opacity-hovered);--_background-pressed:var(--sol-color-interactive-opacity-pressed);--_background-selected:var(--sol-color-interactive-opacity-selected);background:#0000}.sol-c-button--monochrome:before,.sol-c-button--plain:before{background-color:var(--_background)}.sol-c-button--monochrome.sol-c-button:before,.sol-c-button--plain.sol-c-button:before{opacity:1;transform:none;transition:background-color var(--_duration)}.sol-c-button--monochrome{--_foreground:var(--sol-color-interactive-neutral);--_foreground-hovered:var(--sol-color-interactive-neutral-hovered);--_foreground-pressed:var(--sol-color-interactive-neutral-pressed);--_foreground-selected:var(--sol-color-interactive-neutral-selected)}.sol-c-button--plain{--_foreground:var(--_color-default);--_foreground-hovered:var(--_color-hovered);--_foreground-pressed:var(--_color-pressed);--_foreground-selected:var(--_color-selected)}.sol-c-button--small{--_size:var(--sol-c-button-size,var(--sol-size-150));--_padding:var(--sol-c-button-padding,var(--sol-size-0125) var(--sol-size-025));--_gap:var(--sol-c-button-gap,var(--sol-size-025))}.sol-c-button--large{--_size:var(--sol-c-button--size,var(--sol-size-300));--_padding:var(--sol-c-button-padding,var(--sol-size-050) var(--sol-size-100))}.sol-c-button__content{align-items:center;display:flex;gap:var(--_gap);min-inline-size:0}.sol-c-button__content,.sol-c-button__icon{position:relative;z-index:2}.sol-c-button--align-start .sol-c-button__icon--end{margin-inline-start:auto}.sol-c-button--align-end .sol-c-button__icon--start{margin-inline-end:auto}.sol-c-button__loading{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:3}.sol-c-button__content,.sol-c-button__icon{transition:opacity var(--_duration)}.sol-c-button__content[hidden],.sol-c-button__icon[hidden]{display:block;opacity:0}}');
let uy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M8.75 1.75V7h5.594v.006a.75.75 0 0 1 0 1.488V8.5H8.75v5.875h-.01a.75.75 0 0 1-1.48 0h-.01V8.5h-5.5c.001 0 0 0 0 0h-.094v-.006a.75.75 0 0 1 0-1.488V7H7.25V1.75a.75.75 0 0 1 1.5 0Z"}))
}, dy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M14 4.75a.74.74 0 0 1-.163.466l.006.005-7.007 7.011a.747.747 0 0 1-1.139.01L2.182 8.724l.002-.002A.75.75 0 0 1 3.24 7.665l.012.01a.755.755 0 0 1 .05.051l2.96 2.962 6.418-6.423a.747.747 0 0 1 .087-.087l.017-.017.001.002A.75.75 0 0 1 14 4.75Z"}))
}, py = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M11.564 6.68a.75.75 0 1 0-1.061-1.06l-3.47 3.47L5.43 7.485a.75.75 0 0 0-1.06 1.061l2.133 2.133a.75.75 0 0 0 1.06 0l4-4Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-1.5 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Z",
clipRule: "evenodd"
}))
}, hy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
vectorEffect: "non-scaling-stroke",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fill: "none",
stroke: "currentColor",
strokeLinecap: "round",
strokeLinejoin: "round",
strokeWidth: 1.5,
d: "m2.821 8.765 3.453 3.453 7.081-7.082",
pathLength: 1
}))
}, fy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M12.006 2.8a.742.742 0 0 0 .232-.68.762.762 0 0 0-.884-.608.766.766 0 0 0-.328.14h-.001L4.05 7.403a.745.745 0 0 0-.056 1.147l.01.009a.758.758 0 0 0 .04.033l6.965 5.744c.166.13.385.191.61.152a.745.745 0 0 0 .33-1.335L5.702 8l6.256-5.158a.759.759 0 0 0 .04-.033l.009-.009Z"}))
}, my = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "m1.186 2.288.002-.001a.78.78 0 0 1 1.1-1.1l.001-.002.035.035a.772.772 0 0 1 .017.017l5.66 5.66 5.71-5.711.002.002a.78.78 0 0 1 1.1 1.1l.002.001-.035.035a.973.973 0 0 1-.017.017L9.104 8l5.69 5.69h-.002a.78.78 0 1 1-1.155 1.05L8.002 9.103l-5.69 5.69H2.31a.78.78 0 1 1-1.05-1.155L6.898 8 1.186 2.288Z"}))
}, gy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M7 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0-11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM12 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0-11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z"}))
}, vy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11ZM8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "M8.75 11a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-1.5-6a.75.75 0 0 1 1.5 0v3.75a.75.75 0 0 1-1.5 0V5Z"}))
}, _y = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M13.199 12.006c.168.183.42.279.68.232a.762.762 0 0 0 .609-.884.767.767 0 0 0-.141-.329L8.598 4.05a.745.745 0 0 0-1.148-.056l-.008.01a.763.763 0 0 0-.033.04l-5.744 6.965a.772.772 0 0 0-.153.61.745.745 0 0 0 1.335.33L8 5.702l5.159 6.256.033.04.008.009Z"}))
}, yy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M2.8 3.994a.742.742 0 0 0-.68-.232.762.762 0 0 0-.608.884c.02.123.07.235.14.328l5.751 6.976a.745.745 0 0 0 1.147.056l.009-.01a.764.764 0 0 0 .032-.04l5.745-6.966a.772.772 0 0 0 .152-.61.745.745 0 0 0-1.335-.33L8 10.3 2.84 4.042a.762.762 0 0 0-.032-.04L2.8 3.995Z"}))
}, by = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "m14.124 9.492-.813-.792-.813.792a.523.523 0 0 1-.726 0 .49.49 0 0 1 0-.706l.813-.792-.813-.792a.49.49 0 0 1 0-.706.523.523 0 0 1 .726 0l.813.792.813-.792a.523.523 0 0 1 .726 0c.2.195.2.51 0 .706l-.814.792.814.792c.2.195.2.511 0 .706a.523.523 0 0 1-.726 0Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M7.497 4.864 4.974 6.31a2.5 2.5 0 0 1-1.243.331H2.497v2.73h1.234a2.5 2.5 0 0 1 1.243.331l2.523 1.446V4.864Zm.003-1.73A1 1 0 0 1 8.997 4v8.01a1 1 0 0 1-1.497.868l-3.272-1.875a1 1 0 0 0-.497-.133H1.997a1 1 0 0 1-1-1V6.14a1 1 0 0 1 1-1h1.734a1 1 0 0 0 .497-.132L7.5 3.134Z",
clipRule: "evenodd"
}))
}, xy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M2.475 3.137a.974.974 0 0 0-.975.971v9.23c0 .537.437.972.975.972h9.267a.974.974 0 0 0 .976-.972V8.45a.73.73 0 0 0-.732-.729.73.73 0 0 0-.73.76l-.001 4.372H2.963V4.594h3.902v-.002a.73.73 0 0 0 .67-.727.73.73 0 0 0-.67-.726v-.002h-4.39Z"}), Ee.createElement("path", {d: "M13.769 1.313h-4.05a.732.732 0 0 0-.583.21.727.727 0 0 0 .553 1.243h2.314L7.822 6.931v.001a.727.727 0 0 0 .03 1 .734.734 0 0 0 1.003.029h.001l4.182-4.164v2.305a.72.72 0 0 0 .213.55.734.734 0 0 0 1.246-.58V2.039a.732.732 0 0 0-.728-.725Z"}))
}, wy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
d: "M8 2.75a5.25 5.25 0 1 0 2.73 9.736.75.75 0 0 1 .78 1.28 6.75 6.75 0 1 1 2.552-8.737.75.75 0 1 1-1.346.661A5.25 5.25 0 0 0 8 2.75Z",
"transform-origin": "center center"
}, Ee.createElement("animateTransform", {
attributeName: "transform",
dur: "800ms",
repeatCount: "indefinite",
to: 360,
type: "rotate"
})))
}, ky = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M2.773 8.75h-.016A.761.761 0 0 1 2 8a.76.76 0 0 1 .757-.75h10.309v.016a.799.799 0 0 1 .16-.016c.428 0 .774.336.774.75s-.346.75-.773.75a.799.799 0 0 1-.161-.016v.016H2.773Z"}))
}, Sy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M13.065 15a.967.967 0 0 1-.684-1.65l.967-.968a.967.967 0 1 1 1.37 1.368l-.968.967a.967.967 0 0 1-.683.283h-.002Zm-5.452 0a.967.967 0 0 1-.683-1.65l6.418-6.42a.967.967 0 1 1 1.37 1.367l-6.42 6.42a.967.967 0 0 1-.683.283h-.002Zm-5.646 0a.967.967 0 0 1-.684-1.65L13.347 1.283a.968.968 0 0 1 1.368 1.367L2.65 14.717a.967.967 0 0 1-.683.283Z"}))
}, Ey = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M2.712 8C3.77 9.642 5.778 11 8 11c2.222 0 4.231-1.358 5.287-3C12.232 6.358 10.223 5 8 5S3.769 6.358 2.712 8Zm-1.497-.418C2.428 5.408 5.009 3.5 8 3.5s5.572 1.908 6.785 4.082a.857.857 0 0 1 0 .836C13.572 10.592 10.991 12.5 8 12.5s-5.572-1.908-6.785-4.082a.857.857 0 0 1 0-.836Z",
clipRule: "evenodd"
}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 8.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",
clipRule: "evenodd"
}))
}, Iy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M1.388 12.68a.787.787 0 0 1 .168-1.093l1.41-1.04a8.02 8.02 0 0 1-1.751-2.129.857.857 0 0 1 0-.836C2.428 5.408 5.009 3.5 8 3.5a7.41 7.41 0 0 1 3.384.838l1.61-1.188a.769.769 0 0 1 1.081.17.787.787 0 0 1-.168 1.093L9.899 7.37a2 2 0 0 1-3.061 2.258l-4.37 3.222a.769.769 0 0 1-1.081-.17Zm7.477-6.484A2 2 0 0 0 6.02 8.293L4.211 9.63A6.685 6.685 0 0 1 2.711 8C3.77 6.358 5.778 5 8 5a5.77 5.77 0 0 1 1.994.363l-1.13.833Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "m6.778 10.864-1.495 1.103A7.293 7.293 0 0 0 8 12.5c2.991 0 5.572-1.908 6.785-4.082a.857.857 0 0 0 0-.836 7.855 7.855 0 0 0-1.275-1.683l-1.222.9c.388.37.726.776 1 1.201C12.23 9.642 10.221 11 8 11a5.62 5.62 0 0 1-1.222-.136Z"}))
}, Cy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M14 8c0 .71-.411 1.393-1.146 1.9a.602.602 0 0 1-.252.093.727.727 0 0 1-.285-.017.52.52 0 0 1-.225-.12.277.277 0 0 1-.092-.183V6.326a.277.277 0 0 1 .092-.183.52.52 0 0 1 .226-.12c.09-.024.19-.03.285-.016a.602.602 0 0 1 .251.092C13.59 6.607 14 7.29 14 8Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M7.497 4.864 4.974 6.31a2.5 2.5 0 0 1-1.243.331H2.497v2.73h1.234a2.5 2.5 0 0 1 1.243.331l2.523 1.446V4.864Zm.003-1.73A1 1 0 0 1 8.997 4v8.01a1 1 0 0 1-1.497.868l-3.272-1.875a1 1 0 0 0-.497-.133H1.997a1 1 0 0 1-1-1V6.14a1 1 0 0 1 1-1h1.734a1 1 0 0 0 .497-.132L7.5 3.134Z",
clipRule: "evenodd"
}))
}, Oy = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M7.539 4.862 4.873 6.306c-.368.217-.786.33-1.21.33H2.46v2.727h1.202c.424 0 .842.114 1.21.33l2.666 1.445V4.862Zm.003-1.728C8.192 2.752 9 3.234 9 4v8c0 .767-.809 1.248-1.458.867l-3.395-1.873a.956.956 0 0 0-.484-.132H1.974a.987.987 0 0 1-.974-1V6.138c0-.551.436-.999.974-.999h1.689a.95.95 0 0 0 .484-.132l3.395-1.872Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "M12.724 5.072a.71.71 0 0 1 .231.17v.002c.331.36.594.789.773 1.26A4.2 4.2 0 0 1 14 7.995a4.2 4.2 0 0 1-.272 1.49c-.179.472-.442.9-.773 1.261a.71.71 0 0 1-.23.169.66.66 0 0 1-.273.06.682.682 0 0 1-.503-.228.786.786 0 0 1-.155-.252.841.841 0 0 1 .154-.849 2.36 2.36 0 0 0 .463-.758 2.526 2.526 0 0 0 0-1.788 2.36 2.36 0 0 0-.463-.758.788.788 0 0 1-.154-.253.842.842 0 0 1 .155-.848.712.712 0 0 1 .23-.168.66.66 0 0 1 .545 0Z"}))
}, Py = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M11.951 3.485a.783.783 0 0 1 .159-.252.71.71 0 0 1 .517-.227.71.71 0 0 1 .518.228c2.473 2.63 2.473 6.912 0 9.543a.708.708 0 0 1-.517.23.709.709 0 0 1-.517-.229.807.807 0 0 1-.214-.55c0-.207.076-.405.213-.552 1.904-2.024 1.904-5.318 0-7.342a.783.783 0 0 1-.159-.253.824.824 0 0 1 0-.596Z"}), Ee.createElement("path", {d: "M11.01 5.081c.09.04.17.097.238.17v.001c.34.362.61.79.794 1.263a4.11 4.11 0 0 1 0 2.983 3.91 3.91 0 0 1-.794 1.263.73.73 0 0 1-.237.169.692.692 0 0 1-.796-.168.825.825 0 0 1-.001-1.102c.203-.217.365-.475.475-.76a2.473 2.473 0 0 0 0-1.79 2.352 2.352 0 0 0-.476-.759.786.786 0 0 1-.158-.253.825.825 0 0 1 .16-.849.729.729 0 0 1 .237-.169.69.69 0 0 1 .559.001Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M7.5 4.864 4.977 6.31a2.5 2.5 0 0 1-1.243.331H2.5v2.73h1.234a2.5 2.5 0 0 1 1.243.331L7.5 11.148V4.864Zm.003-1.73A1 1 0 0 1 9 4v8.01a1 1 0 0 1-1.497.868L4.23 11.004a1 1 0 0 0-.497-.133H2a1 1 0 0 1-1-1v-3.73a1 1 0 0 1 1-1h1.734a1 1 0 0 0 .497-.132l3.272-1.875Z",
clipRule: "evenodd"
}))
}, Ay = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 3.184 2.675 13.431h10.65L8 3.184Zm.887-1.545a1 1 0 0 0-1.775 0L.965 13.47a1 1 0 0 0 .887 1.461h12.296a1 1 0 0 0 .887-1.46L8.887 1.638Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "M8.75 12.181a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-1.5-5.5a.75.75 0 1 1 1.5 0v3.25a.75.75 0 0 1-1.5 0v-3.25Z"}))
};
function Ty() {
for (var e, t, n = 0, r = ""; n < arguments.length;) (e = arguments[n++]) && (t = function e(t) {
var n, r, a = "";
if ("string" == typeof t || "number" == typeof t) a += t; else if ("object" == typeof t) if (Array.isArray(t)) for (n = 0; n < t.length; n++) t[n] && (r = e(t[n])) && (a && (a += " "), a += r); else for (n in t) t[n] && (a && (a += " "), a += n);
return a
}(e)) && (r && (r += " "), r += t);
return r
}
let Dy = e => (0, Ee.forwardRef)(e), Ry = (...e) => t => e.forEach((e => {
((e, t) => {
if (null != e) {
if ("function" == typeof e) return void e(t);
try {
e.current = t
} catch (n) {
throw Error(`Cannot assign value '${t}' to ref '${e}'`)
}
}
})(e, t)
})), Ly = (...e) => {
let t = {...e[0]};
for (let n = 1; n < e.length; n++) {
let r = e[n];
for (let e in r) {
let n = t[e], a = r[e];
"className" === e && "string" == typeof n && "string" == typeof a ? t[e] = [n, a].join(" ").trim() : "style" === e && "object" == typeof n && "object" == typeof a ? t[e] = {...n, ...a} : "o" === e[0] && "n" === e[1] && e.charCodeAt(2) >= 65 && 90 >= e.charCodeAt(2) && "function" == typeof n && "function" == typeof a ? t[e] = (...e) => {
n(...e), a(...e)
} : t[e] = "ref" === e ? Ry(n, a) : a ?? n
}
}
return t
}, jy = (e, t = []) => {
let n = (0, Ee.useRef)(e);
return (0, Ee.useEffect)((() => {
n.current = e
})), (0, Ee.useCallback)(((...e) => n.current?.(...e)), t)
}, Ny = ({value: e, defaultValue: t, onChange: n, shouldUpdate: r = ((e, t) => e !== t)}) => {
let a = jy(n, []), i = jy(r), [o, s] = (0, Ee.useState)(t), l = void 0 !== e, c = l ? e : o, u = jy((e => {
let t = "function" == typeof e ? e(c) : e;
i(c, t) && (l || s(t), a(t))
}), [l, a, c, i]);
return [c, u, l]
}, My = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function Fy(e, t, n) {
return e[t] ? e[t][0] ? e[t][0][n] : e[t][n] : "contentBoxSize" === t ? e.contentRect["inlineSize" === n ? "width" : "height"] : void 0
}
function zy(e) {
void 0 === e && (e = {});
var t, n, r, a, i, o, s = e.onResize, l = (0, Ee.useRef)(void 0);
l.current = s;
var c = e.round || Math.round, u = (0, Ee.useRef)(), d = (0, Ee.useState)({width: void 0, height: void 0}),
p = d[0], h = d[1], f = (0, Ee.useRef)(!1);
(0, Ee.useEffect)((function () {
return f.current = !1, function () {
f.current = !0
}
}), []);
var m = (0, Ee.useRef)({width: void 0, height: void 0}), g = (t = (0, Ee.useCallback)((function (t) {
return u.current && u.current.box === e.box && u.current.round === c || (u.current = {
box: e.box,
round: c,
instance: new ResizeObserver((function (t) {
var n = t[0],
r = "border-box" === e.box ? "borderBoxSize" : "device-pixel-content-box" === e.box ? "devicePixelContentBoxSize" : "contentBoxSize",
a = Fy(n, r, "inlineSize"), i = Fy(n, r, "blockSize"), o = a ? c(a) : void 0,
s = i ? c(i) : void 0;
if (m.current.width !== o || m.current.height !== s) {
var u = {width: o, height: s};
m.current.width = o, m.current.height = s, l.current ? l.current(u) : f.current || h(u)
}
}))
}), u.current.instance.observe(t, {box: e.box}), function () {
u.current && u.current.instance.unobserve(t)
}
}), [e.box, c]), n = e.ref, r = (0, Ee.useRef)(null), (a = (0, Ee.useRef)(null)).current = n, i = (0, Ee.useRef)(null), (0, Ee.useEffect)((function () {
o()
})), o = (0, Ee.useCallback)((function () {
var e = i.current, n = a.current, o = e || (n ? n instanceof Element ? n : n.current : null);
r.current && r.current.element === o && r.current.subscriber === t || (r.current && r.current.cleanup && r.current.cleanup(), r.current = {
element: o,
subscriber: t,
cleanup: o ? t(o) : void 0
})
}), [t]), (0, Ee.useEffect)((function () {
return function () {
r.current && r.current.cleanup && (r.current.cleanup(), r.current = null)
}
}), []), (0, Ee.useCallback)((function (e) {
i.current = e, o()
}), [o]));
return (0, Ee.useMemo)((function () {
return {ref: g, width: p.width, height: p.height}
}), [g, p.width, p.height])
}
let Vy = ({content: e, ref: t} = {}) => {
let [n, r] = (0, Ee.useState)({block: !1, inline: !1}), a = n.block || n.inline, i = (0, Ee.useRef)(null),
o = t || i, s = (0, Ee.useCallback)((() => {
if (o.current) {
let e = window.getComputedStyle(o.current), t = parseFloat(e.lineHeight), n = !!e.webkitLineClamp,
a = Math.floor(o.current.scrollHeight / t) > Math.floor(o.current.offsetHeight / t);
r({
block: n ? a : o.current.offsetHeight < o.current.scrollHeight,
inline: o.current.offsetWidth < o.current.scrollWidth
})
}
}), [o]);
return zy({ref: o, onResize: s}), (0, Ee.useEffect)(s, [e, s]), (0, Ee.useMemo)((() => ({
ref: o,
hasOverflow: a, ...n
})), [a, o, n])
}, Uy = e => {
let t = (0, Ee.useId)();
return e ?? t
}, By = "loading", Gy = "loaded", $y = "error", qy = ({crossOrigin: e, src: t, srcSet: n}) => {
let [r, a] = (0, Ee.useState)(By);
return (0, Ee.useEffect)((() => {
if (!t && !n) return void a($y);
let r = () => {
a(Gy)
}, i = () => {
a($y)
}, o = new Image;
return e && (o.crossOrigin = e), t && (o.src = t), n && (o.srcset = n), o.addEventListener("load", r), o.addEventListener("error", i), () => {
o.removeEventListener("load", r), o.removeEventListener("error", i)
}
}), [e, t, n]), r
}, Wy = (0, Ee.createContext)(void 0), Hy = Wy.Provider;
var Ky = {exports: {}};
uE = Ky.exports, "undefined" != typeof navigator && (Ky.exports = function () {
var e, t, n, r, a, i, o, s, l, c, u = "", d = !1, p = function () {
return u
};
function h(e) {
return document.createElement(e)
}
function f(e, t) {
var n, r, a = e.length;
for (n = 0; n < a; n += 1) for (var i in r = e[n].prototype) Object.prototype.hasOwnProperty.call(r, i) && (t.prototype[i] = r[i])
}
var m = function () {
function e(e) {
this.audios = [], this.audioFactory = e, this._volume = 1, this._isMuted = !1
}
return e.prototype = {
addAudio: function (e) {
this.audios.push(e)
}, pause: function () {
var e, t = this.audios.length;
for (e = 0; e < t; e += 1) this.audios[e].pause()
}, resume: function () {
var e, t = this.audios.length;
for (e = 0; e < t; e += 1) this.audios[e].resume()
}, setRate: function (e) {
var t, n = this.audios.length;
for (t = 0; t < n; t += 1) this.audios[t].setRate(e)
}, createAudio: function (e) {
return this.audioFactory ? this.audioFactory(e) : window.Howl ? new window.Howl({src: [e]}) : {
isPlaying: !1,
play: function () {
this.isPlaying = !0
},
seek: function () {
this.isPlaying = !1
},
playing: function () {
},
rate: function () {
},
setVolume: function () {
}
}
}, setAudioFactory: function (e) {
this.audioFactory = e
}, setVolume: function (e) {
this._volume = e, this._updateVolume()
}, mute: function () {
this._isMuted = !0, this._updateVolume()
}, unmute: function () {
this._isMuted = !1, this._updateVolume()
}, getVolume: function () {
return this._volume
}, _updateVolume: function () {
var e, t = this.audios.length;
for (e = 0; e < t; e += 1) this.audios[e].volume(this._volume * (this._isMuted ? 0 : 1))
}
}, function () {
return new e
}
}(), g = function () {
function e(e, t) {
var n, r = 0, a = [];
switch (e) {
case"int16":
case"uint8c":
n = 1;
break;
default:
n = 1.1
}
for (r = 0; r < t; r += 1) a.push(n);
return a
}
return "function" == typeof Uint8ClampedArray && "function" == typeof Float32Array ? function (t, n) {
return "float32" === t ? new Float32Array(n) : "int16" === t ? new Int16Array(n) : "uint8c" === t ? new Uint8ClampedArray(n) : e(t, n)
} : e
}();
function v(e) {
return Array.apply(null, {length: e})
}
var _ = !0, y = null, b = "", x = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), w = Math.pow,
k = Math.sqrt, S = Math.floor, E = Math.min, I = 150, C = Math.PI / 180;
function O(e, t, n, r) {
this.type = e, this.currentTime = t, this.totalTime = n, this.direction = r < 0 ? -1 : 1
}
function P(e, t) {
this.type = e, this.direction = t < 0 ? -1 : 1
}
function A(e, t, n, r) {
this.type = e, this.currentLoop = n, this.totalLoops = t, this.direction = r < 0 ? -1 : 1
}
function T(e, t, n) {
this.type = e, this.firstFrame = t, this.totalFrames = n
}
function D(e, t) {
this.type = e, this.target = t
}
function R(e, t) {
this.type = "renderFrameError", this.nativeError = e, this.currentTime = t
}
function L(e) {
this.type = "configError", this.nativeError = e
}
var j = (e = 0, function () {
return b + "__lottie_element_" + (e += 1)
});
function N(e, t, n) {
var r, a, i, o, s, l, c, u;
switch (l = n * (1 - t), c = n * (1 - (s = 6 * e - (o = Math.floor(6 * e))) * t), u = n * (1 - (1 - s) * t), o % 6) {
case 0:
r = n, a = u, i = l;
break;
case 1:
r = c, a = n, i = l;
break;
case 2:
r = l, a = n, i = u;
break;
case 3:
r = l, a = c, i = n;
break;
case 4:
r = u, a = l, i = n;
break;
case 5:
r = n, a = l, i = c
}
return [r, a, i]
}
function M(e, t, n) {
var r, a = Math.max(e, t, n), i = Math.min(e, t, n), o = a - i;
switch (a) {
case i:
r = 0;
break;
case e:
r = (t - n + o * (t < n ? 6 : 0)) / (6 * o);
break;
case t:
r = (n - e + 2 * o) / (6 * o);
break;
case n:
r = (e - t + 4 * o) / (6 * o)
}
return [r, 0 === a ? 0 : o / a, a / 255]
}
function F(e, t) {
var n = M(255 * e[0], 255 * e[1], 255 * e[2]);
return n[1] += t, n[1] > 1 ? n[1] = 1 : n[1] <= 0 && (n[1] = 0), N(n[0], n[1], n[2])
}
function z(e, t) {
var n = M(255 * e[0], 255 * e[1], 255 * e[2]);
return n[2] += t, n[2] > 1 ? n[2] = 1 : n[2] < 0 && (n[2] = 0), N(n[0], n[1], n[2])
}
function V(e, t) {
var n = M(255 * e[0], 255 * e[1], 255 * e[2]);
return n[0] += t / 360, n[0] > 1 ? n[0] -= 1 : n[0] < 0 && (n[0] += 1), N(n[0], n[1], n[2])
}
!function () {
var e, t, n = [];
for (e = 0; e < 256; e += 1) t = e.toString(16), n[e] = 1 === t.length ? "0" + t : t
}();
var U = function () {
return y
}, B = function (e) {
I = e
}, G = function () {
return I
};
function $(e) {
return document.createElementNS("http://www.w3.org/2000/svg", e)
}
function q(e) {
return (q = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
var W = function () {
var e, t, n = 1, r = [], a = {
onmessage: function () {
}, postMessage: function (t) {
e({data: t})
}
}, i = {
postMessage: function (e) {
a.onmessage({data: e})
}
};
function o() {
t || ((t = function (t) {
if (window.Worker && window.Blob && d) {
var n = new Blob(["var _workerSelf = self; self.onmessage = ", t.toString()], {type: "text/javascript"}),
r = URL.createObjectURL(n);
return new Worker(r)
}
return e = t, a
}((function (e) {
if (i.dataManager || (i.dataManager = function () {
function e(a, i) {
var o, s, l, c, u, d, p = a.length;
for (s = 0; s < p; s += 1) if ("ks" in (o = a[s]) && !o.completed) {
if (o.completed = !0, o.hasMask) {
var h = o.masksProperties;
for (l = 0, c = h.length; l < c; l += 1) if (h[l].pt.k.i) r(h[l].pt.k); else for (u = 0, d = h[l].pt.k.length; u < d; u += 1) h[l].pt.k[u].s && r(h[l].pt.k[u].s[0]), h[l].pt.k[u].e && r(h[l].pt.k[u].e[0])
}
0 === o.ty ? (o.layers = t(o.refId, i), e(o.layers, i)) : 4 === o.ty ? n(o.shapes) : 5 === o.ty && 0 === o.t.a.length && o.t.p
}
}
function t(e, t) {
var n = function (e, t) {
for (var n = 0, r = t.length; n < r;) {
if (t[n].id === e) return t[n];
n += 1
}
return null
}(e, t);
return n ? n.layers.__used ? JSON.parse(JSON.stringify(n.layers)) : (n.layers.__used = !0, n.layers) : null
}
function n(e) {
var t, a, i;
for (t = e.length - 1; t >= 0; t -= 1) if ("sh" === e[t].ty) if (e[t].ks.k.i) r(e[t].ks.k); else for (a = 0, i = e[t].ks.k.length; a < i; a += 1) e[t].ks.k[a].s && r(e[t].ks.k[a].s[0]), e[t].ks.k[a].e && r(e[t].ks.k[a].e[0]); else "gr" === e[t].ty && n(e[t].it)
}
function r(e) {
var t, n = e.i.length;
for (t = 0; t < n; t += 1) e.i[t][0] += e.v[t][0], e.i[t][1] += e.v[t][1], e.o[t][0] += e.v[t][0], e.o[t][1] += e.v[t][1]
}
function a(e, t) {
var n = t ? t.split(".") : [100, 100, 100];
return e[0] > n[0] || !(n[0] > e[0]) && (e[1] > n[1] || !(n[1] > e[1]) && (e[2] > n[2] || !(n[2] > e[2]) && null))
}
var i, o = function () {
var e = [4, 4, 14];
function t(e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) 5 === e[t].ty && function (e) {
var t = e.t.d;
e.t.d = {k: [{s: t, t: 0}]}
}(e[t])
}
return function (n) {
if (a(e, n.v) && (t(n.layers), n.assets)) {
var r, i = n.assets.length;
for (r = 0; r < i; r += 1) n.assets[r].layers && t(n.assets[r].layers)
}
}
}(), s = (i = [4, 7, 99], function (e) {
if (e.chars && !a(i, e.v)) {
var t, r = e.chars.length;
for (t = 0; t < r; t += 1) {
var o = e.chars[t];
o.data && o.data.shapes && (n(o.data.shapes), o.data.ip = 0, o.data.op = 99999, o.data.st = 0, o.data.sr = 1, o.data.ks = {
p: {
k: [0, 0],
a: 0
},
s: {k: [100, 100], a: 0},
a: {k: [0, 0], a: 0},
r: {k: 0, a: 0},
o: {k: 100, a: 0}
}, e.chars[t].t || (o.data.shapes.push({ty: "no"}), o.data.shapes[0].it.push({
p: {
k: [0, 0],
a: 0
},
s: {k: [100, 100], a: 0},
a: {k: [0, 0], a: 0},
r: {k: 0, a: 0},
o: {k: 100, a: 0},
sk: {k: 0, a: 0},
sa: {k: 0, a: 0},
ty: "tr"
})))
}
}
}), l = function () {
var e = [5, 7, 15];
function t(e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) 5 === e[t].ty && function (e) {
var t = e.t.p;
"number" == typeof t.a && (t.a = {
a: 0,
k: t.a
}), "number" == typeof t.p && (t.p = {
a: 0,
k: t.p
}), "number" == typeof t.r && (t.r = {a: 0, k: t.r})
}(e[t])
}
return function (n) {
if (a(e, n.v) && (t(n.layers), n.assets)) {
var r, i = n.assets.length;
for (r = 0; r < i; r += 1) n.assets[r].layers && t(n.assets[r].layers)
}
}
}(), c = function () {
var e = [4, 1, 9];
function t(e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) 4 === e[t].ty && function e(t) {
var n, r, a, i = t.length;
for (n = 0; n < i; n += 1) if ("gr" === t[n].ty) e(t[n].it); else if ("fl" === t[n].ty || "st" === t[n].ty) if (t[n].c.k && t[n].c.k[0].i) for (r = 0, a = t[n].c.k.length; r < a; r += 1) t[n].c.k[r].s && (t[n].c.k[r].s[0] /= 255, t[n].c.k[r].s[1] /= 255, t[n].c.k[r].s[2] /= 255, t[n].c.k[r].s[3] /= 255), t[n].c.k[r].e && (t[n].c.k[r].e[0] /= 255, t[n].c.k[r].e[1] /= 255, t[n].c.k[r].e[2] /= 255, t[n].c.k[r].e[3] /= 255); else t[n].c.k[0] /= 255, t[n].c.k[1] /= 255, t[n].c.k[2] /= 255, t[n].c.k[3] /= 255
}(e[t].shapes)
}
return function (n) {
if (a(e, n.v) && (t(n.layers), n.assets)) {
var r, i = n.assets.length;
for (r = 0; r < i; r += 1) n.assets[r].layers && t(n.assets[r].layers)
}
}
}(), u = function () {
var e = [4, 4, 18];
function t(e) {
var t, n, r, a, i, o, s = e.length;
for (n = 0; n < s; n += 1) {
if ((t = e[n]).hasMask) {
var l = t.masksProperties;
for (r = 0, a = l.length; r < a; r += 1) if (l[r].pt.k.i) l[r].pt.k.c = l[r].cl; else for (i = 0, o = l[r].pt.k.length; i < o; i += 1) l[r].pt.k[i].s && (l[r].pt.k[i].s[0].c = l[r].cl), l[r].pt.k[i].e && (l[r].pt.k[i].e[0].c = l[r].cl)
}
4 === t.ty && function e(t) {
var n, r, a;
for (n = t.length - 1; n >= 0; n -= 1) if ("sh" === t[n].ty) if (t[n].ks.k.i) t[n].ks.k.c = t[n].closed; else for (r = 0, a = t[n].ks.k.length; r < a; r += 1) t[n].ks.k[r].s && (t[n].ks.k[r].s[0].c = t[n].closed), t[n].ks.k[r].e && (t[n].ks.k[r].e[0].c = t[n].closed); else "gr" === t[n].ty && e(t[n].it)
}(t.shapes)
}
}
return function (n) {
if (a(e, n.v) && (t(n.layers), n.assets)) {
var r, i = n.assets.length;
for (r = 0; r < i; r += 1) n.assets[r].layers && t(n.assets[r].layers)
}
}
}(), d = {
completeData: function (n) {
n.__complete || (c(n), o(n), s(n), l(n), u(n), e(n.layers, n.assets), function (n, r) {
if (n) {
var a = 0, i = n.length;
for (a = 0; a < i; a += 1) 1 === n[a].t && (n[a].data.layers = t(n[a].data.refId, r), e(n[a].data.layers, r))
}
}(n.chars, n.assets), n.__complete = !0)
}
};
return d.checkColors = c, d.checkChars = s, d.checkPathProperties = l, d.checkShapes = u, d.completeLayers = e, d
}()), i.assetLoader || (i.assetLoader = function () {
function e(e) {
var t = e.getResponseHeader("content-type");
return t && "json" === e.responseType && -1 !== t.indexOf("json") || e.response && "object" === q(e.response) ? e.response : e.response && "string" == typeof e.response ? JSON.parse(e.response) : e.responseText ? JSON.parse(e.responseText) : null
}
return {
load: function (t, n, r, a) {
var i, o = new XMLHttpRequest;
try {
o.responseType = "json"
} catch (e) {
}
o.onreadystatechange = function () {
if (4 === o.readyState) if (200 === o.status) r(i = e(o)); else try {
i = e(o), r(i)
} catch (e) {
a && a(e)
}
};
try {
o.open("GET", t, !0)
} catch (e) {
o.open("GET", n + "/" + t, !0)
}
o.send()
}
}
}()), "loadAnimation" === e.data.type) i.assetLoader.load(e.data.path, e.data.fullPath, (function (t) {
i.dataManager.completeData(t), i.postMessage({id: e.data.id, payload: t, status: "success"})
}), (function () {
i.postMessage({id: e.data.id, status: "error"})
})); else if ("complete" === e.data.type) {
var t = e.data.animation;
i.dataManager.completeData(t), i.postMessage({id: e.data.id, payload: t, status: "success"})
} else "loadData" === e.data.type && i.assetLoader.load(e.data.path, e.data.fullPath, (function (t) {
i.postMessage({id: e.data.id, payload: t, status: "success"})
}), (function () {
i.postMessage({id: e.data.id, status: "error"})
}))
}))).onmessage = function (e) {
var t = e.data, n = t.id, a = r[n];
r[n] = null, "success" === t.status ? a.onComplete(t.payload) : a.onError && a.onError()
})
}
function s(e, t) {
var a = "processId_" + (n += 1);
return r[a] = {onComplete: e, onError: t}, a
}
return {
loadAnimation: function (e, n, r) {
o();
var a = s(n, r);
t.postMessage({
type: "loadAnimation",
path: e,
fullPath: window.location.origin + window.location.pathname,
id: a
})
}, loadData: function (e, n, r) {
o();
var a = s(n, r);
t.postMessage({
type: "loadData",
path: e,
fullPath: window.location.origin + window.location.pathname,
id: a
})
}, completeAnimation: function (e, n, r) {
o();
var a = s(n, r);
t.postMessage({type: "complete", animation: e, id: a})
}
}
}(), H = function () {
var e, t,
n = ((e = h("canvas")).width = 1, e.height = 1, (t = e.getContext("2d")).fillStyle = "rgba(0,0,0,0)", t.fillRect(0, 0, 1, 1), e);
function r() {
this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
}
function a() {
this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
}
function i(e, t, n) {
var r = "";
if (e.e) r = e.p; else if (t) {
var a = e.p;
-1 !== a.indexOf("images/") && (a = a.split("/")[1]), r = t + a
} else r = n + (e.u ? e.u : "") + e.p;
return r
}
function o(e) {
var t = 0, n = setInterval(function () {
(e.getBBox().width || t > 500) && (this._imageLoaded(), clearInterval(n)), t += 1
}.bind(this), 50)
}
function s(e) {
var t = {assetData: e}, n = i(e, this.assetsPath, this.path);
return W.loadData(n, function (e) {
t.img = e, this._footageLoaded()
}.bind(this), function () {
t.img = {}, this._footageLoaded()
}.bind(this)), t
}
function l() {
this._imageLoaded = r.bind(this), this._footageLoaded = a.bind(this), this.testImageLoaded = o.bind(this), this.createFootageData = s.bind(this), this.assetsPath = "", this.path = "", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = []
}
return l.prototype = {
loadAssets: function (e, t) {
this.imagesLoadedCb = t;
var n, r = e.length;
for (n = 0; n < r; n += 1) e[n].layers || (e[n].t && "seq" !== e[n].t ? 3 === e[n].t && (this.totalFootages += 1, this.images.push(this.createFootageData(e[n]))) : (this.totalImages += 1, this.images.push(this._createImageData(e[n]))))
}, setAssetsPath: function (e) {
this.assetsPath = e || ""
}, setPath: function (e) {
this.path = e || ""
}, loadedImages: function () {
return this.totalImages === this.loadedAssets
}, loadedFootages: function () {
return this.totalFootages === this.loadedFootagesCount
}, destroy: function () {
this.imagesLoadedCb = null, this.images.length = 0
}, getAsset: function (e) {
for (var t = 0, n = this.images.length; t < n;) {
if (this.images[t].assetData === e) return this.images[t].img;
t += 1
}
return null
}, createImgData: function (e) {
var t = i(e, this.assetsPath, this.path), r = h("img");
r.crossOrigin = "anonymous", r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function () {
a.img = n, this._imageLoaded()
}.bind(this), !1), r.src = t;
var a = {img: r, assetData: e};
return a
}, createImageData: function (e) {
var t = i(e, this.assetsPath, this.path), r = $("image");
x ? this.testImageLoaded(r) : r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function () {
a.img = n, this._imageLoaded()
}.bind(this), !1), r.setAttributeNS("http://www.w3.org/1999/xlink", "href", t), this._elementHelper.append ? this._elementHelper.append(r) : this._elementHelper.appendChild(r);
var a = {img: r, assetData: e};
return a
}, imageLoaded: r, footageLoaded: a, setCacheType: function (e, t) {
"svg" === e ? (this._elementHelper = t, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this)
}
}, l
}();
function K() {
}
K.prototype = {
triggerEvent: function (e, t) {
if (this._cbs[e]) for (var n = this._cbs[e], r = 0; r < n.length; r += 1) n[r](t)
}, addEventListener: function (e, t) {
return this._cbs[e] || (this._cbs[e] = []), this._cbs[e].push(t), function () {
this.removeEventListener(e, t)
}.bind(this)
}, removeEventListener: function (e, t) {
if (t) {
if (this._cbs[e]) {
for (var n = 0, r = this._cbs[e].length; n < r;) this._cbs[e][n] === t && (this._cbs[e].splice(n, 1), n -= 1, r -= 1), n += 1;
this._cbs[e].length || (this._cbs[e] = null)
}
} else this._cbs[e] = null
}
};
var Y = function () {
function e(e) {
this.compositions.push(e)
}
return function () {
function t(e) {
for (var t = 0, n = this.compositions.length; t < n;) {
if (this.compositions[t].data && this.compositions[t].data.nm === e) return this.compositions[t].prepareFrame && this.compositions[t].data.xt && this.compositions[t].prepareFrame(this.currentFrame), this.compositions[t].compInterface;
t += 1
}
return null
}
return t.compositions = [], t.currentFrame = 0, t.registerComposition = e, t
}
}(), Q = {};
function Z(e) {
return (Z = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
var X = function () {
this._cbs = [], this.name = "", this.path = "", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = j(), this.assetsPath = "", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = _, this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = Y(), this.imagePreloader = new H, this.audioController = m(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this), this.drawnFrameEvent = new O("drawnFrame", 0, 0, 0), this.expressionsPlugin = U()
};
f([K], X), X.prototype.setParams = function (e) {
(e.wrapper || e.container) && (this.wrapper = e.wrapper || e.container);
var t = "svg";
e.animType ? t = e.animType : e.renderer && (t = e.renderer);
var n = Q[t];
this.renderer = new n(this, e.rendererSettings), this.imagePreloader.setCacheType(t, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = t, "" === e.loop || null === e.loop || void 0 === e.loop || !0 === e.loop ? this.loop = !0 : !1 === e.loop ? this.loop = !1 : this.loop = parseInt(e.loop, 10), this.autoplay = !("autoplay" in e) || e.autoplay, this.name = e.name ? e.name : "", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(e, "autoloadSegments") || e.autoloadSegments, this.assetsPath = e.assetsPath, this.initialSegment = e.initialSegment, e.audioFactory && this.audioController.setAudioFactory(e.audioFactory), e.animationData ? this.setupAnimation(e.animationData) : e.path && (-1 !== e.path.lastIndexOf("\\") ? this.path = e.path.substr(0, e.path.lastIndexOf("\\") + 1) : this.path = e.path.substr(0, e.path.lastIndexOf("/") + 1), this.fileName = e.path.substr(e.path.lastIndexOf("/") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(".json")), W.loadAnimation(e.path, this.configAnimation, this.onSetupError))
}, X.prototype.onSetupError = function () {
this.trigger("data_failed")
}, X.prototype.setupAnimation = function (e) {
W.completeAnimation(e, this.configAnimation)
}, X.prototype.setData = function (e, t) {
t && "object" !== Z(t) && (t = JSON.parse(t));
var n = {wrapper: e, animationData: t}, r = e.attributes;
n.path = r.getNamedItem("data-animation-path") ? r.getNamedItem("data-animation-path").value : r.getNamedItem("data-bm-path") ? r.getNamedItem("data-bm-path").value : r.getNamedItem("bm-path") ? r.getNamedItem("bm-path").value : "", n.animType = r.getNamedItem("data-anim-type") ? r.getNamedItem("data-anim-type").value : r.getNamedItem("data-bm-type") ? r.getNamedItem("data-bm-type").value : r.getNamedItem("bm-type") ? r.getNamedItem("bm-type").value : r.getNamedItem("data-bm-renderer") ? r.getNamedItem("data-bm-renderer").value : r.getNamedItem("bm-renderer") ? r.getNamedItem("bm-renderer").value : function () {
if (Q.canvas) return "canvas";
for (var e in Q) if (Q[e]) return e;
return ""
}() || "canvas";
var a = r.getNamedItem("data-anim-loop") ? r.getNamedItem("data-anim-loop").value : r.getNamedItem("data-bm-loop") ? r.getNamedItem("data-bm-loop").value : r.getNamedItem("bm-loop") ? r.getNamedItem("bm-loop").value : "";
"false" === a ? n.loop = !1 : "true" === a ? n.loop = !0 : "" !== a && (n.loop = parseInt(a, 10));
var i = r.getNamedItem("data-anim-autoplay") ? r.getNamedItem("data-anim-autoplay").value : r.getNamedItem("data-bm-autoplay") ? r.getNamedItem("data-bm-autoplay").value : !r.getNamedItem("bm-autoplay") || r.getNamedItem("bm-autoplay").value;
n.autoplay = "false" !== i, n.name = r.getNamedItem("data-name") ? r.getNamedItem("data-name").value : r.getNamedItem("data-bm-name") ? r.getNamedItem("data-bm-name").value : r.getNamedItem("bm-name") ? r.getNamedItem("bm-name").value : "", "false" === (r.getNamedItem("data-anim-prerender") ? r.getNamedItem("data-anim-prerender").value : r.getNamedItem("data-bm-prerender") ? r.getNamedItem("data-bm-prerender").value : r.getNamedItem("bm-prerender") ? r.getNamedItem("bm-prerender").value : "") && (n.prerender = !1), n.path ? this.setParams(n) : this.trigger("destroy")
}, X.prototype.includeLayers = function (e) {
e.op > this.animationData.op && (this.animationData.op = e.op, this.totalFrames = Math.floor(e.op - this.animationData.ip));
var t, n, r = this.animationData.layers, a = r.length, i = e.layers, o = i.length;
for (n = 0; n < o; n += 1) for (t = 0; t < a;) {
if (r[t].id === i[n].id) {
r[t] = i[n];
break
}
t += 1
}
if ((e.chars || e.fonts) && (this.renderer.globalData.fontManager.addChars(e.chars), this.renderer.globalData.fontManager.addFonts(e.fonts, this.renderer.globalData.defs)), e.assets) for (t = 0, a = e.assets.length; t < a; t += 1) this.animationData.assets.push(e.assets[t]);
this.animationData.__complete = !1, W.completeAnimation(this.animationData, this.onSegmentComplete)
}, X.prototype.onSegmentComplete = function (e) {
this.animationData = e;
var t = U();
t && t.initExpressions(this), this.loadNextSegment()
}, X.prototype.loadNextSegment = function () {
var e = this.animationData.segments;
if (!e || 0 === e.length || !this.autoloadSegments) return this.trigger("data_ready"), void (this.timeCompleted = this.totalFrames);
var t = e.shift();
this.timeCompleted = t.time * this.frameRate;
var n = this.path + this.fileName + "_" + this.segmentPos + ".json";
this.segmentPos += 1, W.loadData(n, this.includeLayers.bind(this), function () {
this.trigger("data_failed")
}.bind(this))
}, X.prototype.loadSegments = function () {
this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment()
}, X.prototype.imagesLoaded = function () {
this.trigger("loaded_images"), this.checkLoaded()
}, X.prototype.preloadImages = function () {
this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this))
}, X.prototype.configAnimation = function (e) {
if (this.renderer) try {
this.animationData = e, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(e), e.assets || (e.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(e.assets), this.markers = function (e) {
for (var t = [], n = 0; n < e.length; n += 1) {
var r = e[n], a = {time: r.tm, duration: r.dr};
try {
a.payload = JSON.parse(e[n].cm)
} catch (t) {
try {
a.payload = function (e) {
for (var t, n = e.split("\r\n"), r = {}, a = 0, i = 0; i < n.length; i += 1) 2 === (t = n[i].split(":")).length && (r[t[0]] = t[1].trim(), a += 1);
if (0 === a) throw Error();
return r
}(e[n].cm)
} catch (t) {
a.payload = {name: e[n].cm}
}
}
t.push(a)
}
return t
}(e.markers || []), this.trigger("config_ready"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause()
} catch (e) {
this.triggerConfigError(e)
}
}, X.prototype.waitForFontsLoaded = function () {
this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20))
}, X.prototype.checkLoaded = function () {
if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || "canvas" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages()) {
this.isLoaded = !0;
var e = U();
e && e.initExpressions(this), this.renderer.initItems(), setTimeout(function () {
this.trigger("DOMLoaded")
}.bind(this), 0), this.gotoFrame(), this.autoplay && this.play()
}
}, X.prototype.resize = function (e, t) {
var n = "number" == typeof e ? e : void 0, r = "number" == typeof t ? t : void 0;
this.renderer.updateContainerSize(n, r)
}, X.prototype.setSubframe = function (e) {
this.isSubframeEnabled = !!e
}, X.prototype.gotoFrame = function () {
this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger("enterFrame"), this.renderFrame(), this.trigger("drawnFrame")
}, X.prototype.renderFrame = function () {
if (!1 !== this.isLoaded && this.renderer) try {
this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame(this.currentFrame + this.firstFrame)
} catch (e) {
this.triggerRenderFrameError(e)
}
}, X.prototype.play = function (e) {
(!e || this.name === e) && !0 === this.isPaused && (this.isPaused = !1, this.trigger("_play"), this.audioController.resume(), this._idle && (this._idle = !1, this.trigger("_active")))
}, X.prototype.pause = function (e) {
e && this.name !== e || !1 !== this.isPaused || (this.isPaused = !0, this.trigger("_pause"), this._idle = !0, this.trigger("_idle"), this.audioController.pause())
}, X.prototype.togglePause = function (e) {
e && this.name !== e || (!0 === this.isPaused ? this.play() : this.pause())
}, X.prototype.stop = function (e) {
e && this.name !== e || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0))
}, X.prototype.getMarkerData = function (e) {
for (var t, n = 0; n < this.markers.length; n += 1) if ((t = this.markers[n]).payload && t.payload.name === e) return t;
return null
}, X.prototype.goToAndStop = function (e, t, n) {
if (!n || this.name === n) {
if (isNaN(Number(e))) {
var r = this.getMarkerData(e);
r && this.goToAndStop(r.time, !0)
} else t ? this.setCurrentRawFrameValue(e) : this.setCurrentRawFrameValue(e * this.frameModifier);
this.pause()
}
}, X.prototype.goToAndPlay = function (e, t, n) {
if (!n || this.name === n) {
var r = Number(e);
if (isNaN(r)) {
var a = this.getMarkerData(e);
a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0))
} else this.goToAndStop(r, t, n);
this.play()
}
}, X.prototype.advanceTime = function (e) {
if (!0 !== this.isPaused && !1 !== this.isLoaded) {
var t = this.currentRawFrame + e * this.frameModifier, n = !1;
t >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? t >= this.totalFrames ? (this.playCount += 1, this.checkSegments(t % this.totalFrames) || (this.setCurrentRawFrameValue(t % this.totalFrames), this._completedLoop = !0, this.trigger("loopComplete"))) : this.setCurrentRawFrameValue(t) : this.checkSegments(t > this.totalFrames ? t % this.totalFrames : 0) || (n = !0, t = this.totalFrames - 1) : t < 0 ? this.checkSegments(t % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (n = !0, t = 0) : (this.setCurrentRawFrameValue(this.totalFrames + t % this.totalFrames), this._completedLoop ? this.trigger("loopComplete") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(t), n && (this.setCurrentRawFrameValue(t), this.pause(), this.trigger("complete"))
}
}, X.prototype.adjustSegment = function (e, t) {
this.playCount = 0, e[1] < e[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = e[0] - e[1], this.timeCompleted = this.totalFrames, this.firstFrame = e[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - t)) : e[1] > e[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = e[1] - e[0], this.timeCompleted = this.totalFrames, this.firstFrame = e[0], this.setCurrentRawFrameValue(.001 + t)), this.trigger("segmentStart")
}, X.prototype.setSegment = function (e, t) {
var n = -1;
this.isPaused && (this.currentRawFrame + this.firstFrame < e ? n = e : this.currentRawFrame + this.firstFrame > t && (n = t - e)), this.firstFrame = e, this.totalFrames = t - e, this.timeCompleted = this.totalFrames, -1 !== n && this.goToAndStop(n, !0)
}, X.prototype.playSegments = function (e, t) {
if (t && (this.segments.length = 0), "object" === Z(e[0])) {
var n, r = e.length;
for (n = 0; n < r; n += 1) this.segments.push(e[n])
} else this.segments.push(e);
this.segments.length && t && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play()
}, X.prototype.resetSegments = function (e) {
this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), e && this.checkSegments(0)
}, X.prototype.checkSegments = function (e) {
return !!this.segments.length && (this.adjustSegment(this.segments.shift(), e), !0)
}, X.prototype.destroy = function (e) {
(!e || this.name === e) && this.renderer && (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger("destroy"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.expressionsPlugin = null, this.imagePreloader = null, this.projectInterface = null)
}, X.prototype.setCurrentRawFrameValue = function (e) {
this.currentRawFrame = e, this.gotoFrame()
}, X.prototype.setSpeed = function (e) {
this.playSpeed = e, this.updaFrameModifier()
}, X.prototype.setDirection = function (e) {
this.playDirection = e < 0 ? -1 : 1, this.updaFrameModifier()
}, X.prototype.setLoop = function (e) {
this.loop = e
}, X.prototype.setVolume = function (e, t) {
t && this.name !== t || this.audioController.setVolume(e)
}, X.prototype.getVolume = function () {
return this.audioController.getVolume()
}, X.prototype.mute = function (e) {
e && this.name !== e || this.audioController.mute()
}, X.prototype.unmute = function (e) {
e && this.name !== e || this.audioController.unmute()
}, X.prototype.updaFrameModifier = function () {
this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection)
}, X.prototype.getPath = function () {
return this.path
}, X.prototype.getAssetsPath = function (e) {
var t = "";
if (e.e) t = e.p; else if (this.assetsPath) {
var n = e.p;
-1 !== n.indexOf("images/") && (n = n.split("/")[1]), t = this.assetsPath + n
} else t = this.path + (e.u ? e.u : "") + e.p;
return t
}, X.prototype.getAssetData = function (e) {
for (var t = 0, n = this.assets.length; t < n;) {
if (e === this.assets[t].id) return this.assets[t];
t += 1
}
return null
}, X.prototype.hide = function () {
this.renderer.hide()
}, X.prototype.show = function () {
this.renderer.show()
}, X.prototype.getDuration = function (e) {
return e ? this.totalFrames : this.totalFrames / this.frameRate
}, X.prototype.updateDocumentData = function (e, t, n) {
try {
this.renderer.getElementByPath(e).updateDocumentData(t, n)
} catch (e) {
}
}, X.prototype.trigger = function (e) {
if (this._cbs && this._cbs[e]) switch (e) {
case"enterFrame":
this.triggerEvent(e, new O(e, this.currentFrame, this.totalFrames, this.frameModifier));
break;
case"drawnFrame":
this.drawnFrameEvent.currentTime = this.currentFrame, this.drawnFrameEvent.totalTime = this.totalFrames, this.drawnFrameEvent.direction = this.frameModifier, this.triggerEvent(e, this.drawnFrameEvent);
break;
case"loopComplete":
this.triggerEvent(e, new A(e, this.loop, this.playCount, this.frameMult));
break;
case"complete":
this.triggerEvent(e, new P(e, this.frameMult));
break;
case"segmentStart":
this.triggerEvent(e, new T(e, this.firstFrame, this.totalFrames));
break;
case"destroy":
this.triggerEvent(e, new D(e, this));
break;
default:
this.triggerEvent(e)
}
"enterFrame" === e && this.onEnterFrame && this.onEnterFrame.call(this, new O(e, this.currentFrame, this.totalFrames, this.frameMult)), "loopComplete" === e && this.onLoopComplete && this.onLoopComplete.call(this, new A(e, this.loop, this.playCount, this.frameMult)), "complete" === e && this.onComplete && this.onComplete.call(this, new P(e, this.frameMult)), "segmentStart" === e && this.onSegmentStart && this.onSegmentStart.call(this, new T(e, this.firstFrame, this.totalFrames)), "destroy" === e && this.onDestroy && this.onDestroy.call(this, new D(e, this))
}, X.prototype.triggerRenderFrameError = function (e) {
var t = new R(e, this.currentFrame);
this.triggerEvent("error", t), this.onError && this.onError.call(this, t)
}, X.prototype.triggerConfigError = function (e) {
var t = new L(e, this.currentFrame);
this.triggerEvent("error", t), this.onError && this.onError.call(this, t)
};
var J = function () {
var e = {}, t = [], n = 0, r = 0, a = 0, i = !0, o = !1;
function s(e) {
for (var n = 0, a = e.target; n < r;) t[n].animation !== a || (t.splice(n, 1), n -= 1, r -= 1, a.isPaused || u()), n += 1
}
function l(e, n) {
if (!e) return null;
for (var a = 0; a < r;) {
if (t[a].elem === e && null !== t[a].elem) return t[a].animation;
a += 1
}
var i = new X;
return d(i, e), i.setData(e, n), i
}
function c() {
a += 1, m()
}
function u() {
a -= 1
}
function d(e, n) {
e.addEventListener("destroy", s), e.addEventListener("_active", c), e.addEventListener("_idle", u), t.push({
elem: n,
animation: e
}), r += 1
}
function p(e) {
var s, l = e - n;
for (s = 0; s < r; s += 1) t[s].animation.advanceTime(l);
n = e, a && !o ? window.requestAnimationFrame(p) : i = !0
}
function f(e) {
n = e, window.requestAnimationFrame(p)
}
function m() {
!o && a && i && (window.requestAnimationFrame(f), i = !1)
}
return e.registerAnimation = l, e.loadAnimation = function (e) {
var t = new X;
return d(t, null), t.setParams(e), t
}, e.setSpeed = function (e, n) {
var a;
for (a = 0; a < r; a += 1) t[a].animation.setSpeed(e, n)
}, e.setDirection = function (e, n) {
var a;
for (a = 0; a < r; a += 1) t[a].animation.setDirection(e, n)
}, e.play = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.play(e)
}, e.pause = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.pause(e)
}, e.stop = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.stop(e)
}, e.togglePause = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.togglePause(e)
}, e.searchAnimations = function (e, t, n) {
var r,
a = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin"))),
i = a.length;
for (r = 0; r < i; r += 1) n && a[r].setAttribute("data-bm-type", n), l(a[r], e);
if (t && 0 === i) {
n || (n = "svg");
var o = document.getElementsByTagName("body")[0];
o.innerText = "";
var s = h("div");
s.style.width = "100%", s.style.height = "100%", s.setAttribute("data-bm-type", n), o.appendChild(s), l(s, e)
}
}, e.resize = function () {
var e;
for (e = 0; e < r; e += 1) t[e].animation.resize()
}, e.goToAndStop = function (e, n, a) {
var i;
for (i = 0; i < r; i += 1) t[i].animation.goToAndStop(e, n, a)
}, e.destroy = function (e) {
var n;
for (n = r - 1; n >= 0; n -= 1) t[n].animation.destroy(e)
}, e.freeze = function () {
o = !0
}, e.unfreeze = function () {
o = !1, m()
}, e.setVolume = function (e, n) {
var a;
for (a = 0; a < r; a += 1) t[a].animation.setVolume(e, n)
}, e.mute = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.mute(e)
}, e.unmute = function (e) {
var n;
for (n = 0; n < r; n += 1) t[n].animation.unmute(e)
}, e.getRegisteredAnimations = function () {
var e, n = t.length, r = [];
for (e = 0; e < n; e += 1) r.push(t[e].animation);
return r
}, e
}(), ee = function () {
var e = {
getBezierEasing: function (e, n, r, a, o) {
var s = o || ("bez_" + e + "_" + n + "_" + r + "_" + a).replace(/\./g, "p");
if (t[s]) return t[s];
var l = new i([e, n, r, a]);
return t[s] = l, l
}
}, t = {}, n = "function" == typeof Float32Array;
function r(e, t, n) {
return (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e
}
function a(e, t, n) {
return 3 * (1 - 3 * n + 3 * t) * e * e + 2 * (3 * n - 6 * t) * e + 3 * t
}
function i(e) {
this._p = e, this._mSampleValues = n ? new Float32Array(11) : Array(11), this._precomputed = !1, this.get = this.get.bind(this)
}
return i.prototype = {
get: function (e) {
var t = this._p[0], n = this._p[1], a = this._p[2], i = this._p[3];
return this._precomputed || this._precompute(), t === n && a === i ? e : 0 === e ? 0 : 1 === e ? 1 : r(this._getTForX(e), n, i)
}, _precompute: function () {
var e = this._p[0], t = this._p[1], n = this._p[2], r = this._p[3];
this._precomputed = !0, (e !== t || n !== r) && this._calcSampleValues()
}, _calcSampleValues: function () {
for (var e = this._p[0], t = this._p[2], n = 0; n < 11; ++n) this._mSampleValues[n] = r(.1 * n, e, t)
}, _getTForX: function (e) {
for (var t = this._p[0], n = this._p[2], i = this._mSampleValues, o = 0, s = 1; 10 !== s && i[s] <= e; ++s) o += .1;
var l = o + (e - i[--s]) / (i[s + 1] - i[s]) * .1, c = a(l, t, n);
return c >= .001 ? function (e, t, n, i) {
for (var o = 0; o < 4; ++o) {
var s = a(t, n, i);
if (0 === s) break;
t -= (r(t, n, i) - e) / s
}
return t
}(e, l, t, n) : 0 === c ? l : function (e, t, n, a, i) {
var o, s, l = 0;
do {
(o = r(s = t + (n - t) / 2, a, i) - e) > 0 ? n = s : t = s
} while (Math.abs(o) > 1e-7 && ++l < 10);
return s
}(e, o, o + .1, t, n)
}
}, e
}(), te = function (e) {
return e.concat(v(e.length))
}, ne = function (e, t, n) {
var r = 0, a = e, i = v(a);
return {
newElement: function () {
var e;
return r ? e = i[r -= 1] : e = t(), e
}, release: function (e) {
r === a && (i = te(i), a *= 2), n && n(e), i[r] = e, r += 1
}
}
}, re = ne(8, (function () {
return {addedLength: 0, percents: g("float32", G()), lengths: g("float32", G())}
})), ae = ne(8, (function () {
return {lengths: [], totalLength: 0}
}), (function (e) {
var t, n = e.lengths.length;
for (t = 0; t < n; t += 1) re.release(e.lengths[t]);
e.lengths.length = 0
})), ie = function () {
var e, t = Math;
function n(e, t, n, r, a, i) {
var o = e * r + t * a + n * i - a * r - i * e - n * t;
return o > -.001 && o < .001
}
var r = function (e, t, n, r) {
var a, i, o, s, l, c, u = G(), d = 0, p = [], h = [], f = re.newElement();
for (a = 0, o = n.length; a < u; a += 1) {
for (i = 0, l = a / (u - 1), c = 0; i < o; i += 1) s = w(1 - l, 3) * e[i] + 3 * w(1 - l, 2) * l * n[i] + 3 * (1 - l) * w(l, 2) * r[i] + w(l, 3) * t[i], p[i] = s, null !== h[i] && (c += w(p[i] - h[i], 2)), h[i] = p[i];
c && (d += c = k(c)), f.percents[a] = l, f.lengths[a] = d
}
return f.addedLength = d, f
};
function a(e) {
this.segmentLength = 0, this.points = Array(e)
}
function i(e, t) {
this.partialLength = e, this.point = t
}
var o = (e = {}, function (t, r, o, s) {
var l = (t[0] + "_" + t[1] + "_" + r[0] + "_" + r[1] + "_" + o[0] + "_" + o[1] + "_" + s[0] + "_" + s[1]).replace(/\./g, "p");
if (!e[l]) {
var c, u, d, p, h, f, m, g = G(), _ = 0, y = null;
2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && n(t[0], t[1], r[0], r[1], t[0] + o[0], t[1] + o[1]) && n(t[0], t[1], r[0], r[1], r[0] + s[0], r[1] + s[1]) && (g = 2);
var b = new a(g);
for (c = 0, d = o.length; c < g; c += 1) {
for (u = 0, m = v(d), h = c / (g - 1), f = 0; u < d; u += 1) p = w(1 - h, 3) * t[u] + 3 * w(1 - h, 2) * h * (t[u] + o[u]) + 3 * (1 - h) * w(h, 2) * (r[u] + s[u]) + w(h, 3) * r[u], m[u] = p, null !== y && (f += w(m[u] - y[u], 2));
_ += f = k(f), b.points[c] = new i(f, m), y = m
}
b.segmentLength = _, e[l] = b
}
return e[l]
});
function s(e, t) {
var n = t.percents, r = t.lengths, a = n.length, i = S((a - 1) * e), o = e * t.addedLength, s = 0;
if (i === a - 1 || 0 === i || o === r[i]) return n[i];
for (var l = r[i] > o ? -1 : 1, c = !0; c;) if (r[i] <= o && r[i + 1] > o ? (s = (o - r[i]) / (r[i + 1] - r[i]), c = !1) : i += l, i < 0 || i >= a - 1) {
if (i === a - 1) return n[i];
c = !1
}
return n[i] + (n[i + 1] - n[i]) * s
}
var l = g("float32", 8);
return {
getSegmentsLength: function (e) {
var t, n = ae.newElement(), a = e.c, i = e.v, o = e.o, s = e.i, l = e._length, c = n.lengths,
u = 0;
for (t = 0; t < l - 1; t += 1) c[t] = r(i[t], i[t + 1], o[t], s[t + 1]), u += c[t].addedLength;
return a && l && (c[t] = r(i[t], i[0], o[t], s[0]), u += c[t].addedLength), n.totalLength = u, n
}, getNewSegment: function (e, n, r, a, i, o, c) {
i < 0 ? i = 0 : i > 1 && (i = 1);
var u, d = s(i, c), p = s(o = o > 1 ? 1 : o, c), h = e.length, f = 1 - d, m = 1 - p,
g = f * f * f, v = d * f * f * 3, _ = d * d * f * 3, y = d * d * d, b = f * f * m,
x = d * f * m + f * d * m + f * f * p, w = d * d * m + f * d * p + d * f * p, k = d * d * p,
S = f * m * m, E = d * m * m + f * p * m + f * m * p, I = d * p * m + f * p * p + d * m * p,
C = d * p * p, O = m * m * m, P = p * m * m + m * p * m + m * m * p,
A = p * p * m + m * p * p + p * m * p, T = p * p * p;
for (u = 0; u < h; u += 1) l[4 * u] = t.round(1e3 * (g * e[u] + v * r[u] + _ * a[u] + y * n[u])) / 1e3, l[4 * u + 1] = t.round(1e3 * (b * e[u] + x * r[u] + w * a[u] + k * n[u])) / 1e3, l[4 * u + 2] = t.round(1e3 * (S * e[u] + E * r[u] + I * a[u] + C * n[u])) / 1e3, l[4 * u + 3] = t.round(1e3 * (O * e[u] + P * r[u] + A * a[u] + T * n[u])) / 1e3;
return l
}, getPointInSegment: function (e, n, r, a, i, o) {
var l = s(i, o), c = 1 - l;
return [t.round(1e3 * (c * c * c * e[0] + (l * c * c + c * l * c + c * c * l) * r[0] + (l * l * c + c * l * l + l * c * l) * a[0] + l * l * l * n[0])) / 1e3, t.round(1e3 * (c * c * c * e[1] + (l * c * c + c * l * c + c * c * l) * r[1] + (l * l * c + c * l * l + l * c * l) * a[1] + l * l * l * n[1])) / 1e3]
}, buildBezierData: o, pointOnLine2D: n, pointOnLine3D: function (e, r, a, i, o, s, l, c, u) {
if (0 === a && 0 === s && 0 === u) return n(e, r, i, o, l, c);
var d, p = t.sqrt(t.pow(i - e, 2) + t.pow(o - r, 2) + t.pow(s - a, 2)),
h = t.sqrt(t.pow(l - e, 2) + t.pow(c - r, 2) + t.pow(u - a, 2)),
f = t.sqrt(t.pow(l - i, 2) + t.pow(c - o, 2) + t.pow(u - s, 2));
return (d = p > h ? p > f ? p - h - f : f - h - p : f > h ? f - h - p : h - p - f) > -1e-4 && d < 1e-4
}
}
}(), oe = Math.abs;
function se(e, t) {
var n, r, a, i, o, s, l, c, u, d, p, h, f, m, v, _, y, b, x, w, k, S, E, I, O, P, A, T,
D = this.offsetTime;
"multidimensional" === this.propType && (U = g("float32", this.pv.length));
for (var R = t.lastIndex, L = R, j = this.keyframes.length - 1, N = !0; N;) {
if (B = this.keyframes[L], G = this.keyframes[L + 1], L === j - 1 && e >= G.t - D) {
B.h && (B = G), R = 0;
break
}
if (G.t - D > e) {
R = L;
break
}
L < j - 1 ? L += 1 : (R = 0, N = !1)
}
$ = this.keyframesMetadata[L] || {};
var M = G.t - D, F = B.t - D;
if (B.to) {
$.bezierData || ($.bezierData = ie.buildBezierData(B.s, G.s || B.e, B.to, B.ti));
var z = $.bezierData;
if (e >= M || e < F) {
var V = e >= M ? z.points.length - 1 : 0;
for (q = 0, W = z.points[V].point.length; q < W; q += 1) U[q] = z.points[V].point[q]
} else {
$.__fnct ? Q = $.__fnct : (Q = ee.getBezierEasing(B.o.x, B.o.y, B.i.x, B.i.y, B.n).get, $.__fnct = Q), H = Q((e - F) / (M - F));
var U, B, G, $, q, W, H, K, Y, Q, Z, X, J = z.segmentLength * H,
te = t.lastFrame < e && t._lastKeyframeIndex === L ? t._lastAddedLength : 0;
for (Y = t.lastFrame < e && t._lastKeyframeIndex === L ? t._lastPoint : 0, N = !0, K = z.points.length; N;) {
if (te += z.points[Y].partialLength, 0 === J || 0 === H || Y === z.points.length - 1) {
for (q = 0, W = z.points[Y].point.length; q < W; q += 1) U[q] = z.points[Y].point[q];
break
}
if (J >= te && J < te + z.points[Y + 1].partialLength) {
for (q = 0, X = (J - te) / z.points[Y + 1].partialLength, W = z.points[Y].point.length; q < W; q += 1) U[q] = z.points[Y].point[q] + (z.points[Y + 1].point[q] - z.points[Y].point[q]) * X;
break
}
Y < K - 1 ? Y += 1 : N = !1
}
t._lastPoint = Y, t._lastAddedLength = te - z.points[Y].partialLength, t._lastKeyframeIndex = L
}
} else if (j = B.s.length, Z = G.s || B.e, this.sh && 1 !== B.h) e >= M ? (U[0] = Z[0], U[1] = Z[1], U[2] = Z[2]) : e <= F ? (U[0] = B.s[0], U[1] = B.s[1], U[2] = B.s[2]) : (b = U, w = (n = le(B.s), r = le(Z), a = (e - F) / (M - F), u = [], d = n[0], p = n[1], h = n[2], f = n[3], m = r[0], v = r[1], (o = d * m + p * v + h * (_ = r[2]) + f * (y = r[3])) < 0 && (o = -o, m = -m, v = -v, _ = -_, y = -y), 1 - o > 1e-6 ? (s = Math.sin(i = Math.acos(o)), l = Math.sin((1 - a) * i) / s, c = Math.sin(a * i) / s) : (l = 1 - a, c = a), u[0] = l * d + c * m, u[1] = l * p + c * v, u[2] = l * h + c * _, u[3] = l * f + c * y, x = u)[0], k = x[1], S = x[2], E = x[3], b[0] = Math.atan2(2 * k * E - 2 * w * S, 1 - 2 * k * k - 2 * S * S) / C, b[1] = Math.asin(2 * w * k + 2 * S * E) / C, b[2] = Math.atan2(2 * w * E - 2 * k * S, 1 - 2 * w * w - 2 * S * S) / C); else for (L = 0; L < j; L += 1) 1 !== B.h && (e >= M ? H = 1 : e < F ? H = 0 : (B.o.x.constructor === Array ? ($.__fnct || ($.__fnct = []), $.__fnct[L] ? Q = $.__fnct[L] : (I = void 0 === B.o.x[L] ? B.o.x[0] : B.o.x[L], O = void 0 === B.o.y[L] ? B.o.y[0] : B.o.y[L], P = void 0 === B.i.x[L] ? B.i.x[0] : B.i.x[L], A = void 0 === B.i.y[L] ? B.i.y[0] : B.i.y[L], Q = ee.getBezierEasing(I, O, P, A).get, $.__fnct[L] = Q)) : $.__fnct ? Q = $.__fnct : (I = B.o.x, O = B.o.y, P = B.i.x, A = B.i.y, Q = ee.getBezierEasing(I, O, P, A).get, B.keyframeMetadata = Q), H = Q((e - F) / (M - F)))), Z = G.s || B.e, T = 1 === B.h ? B.s[L] : B.s[L] + (Z[L] - B.s[L]) * H, "multidimensional" === this.propType ? U[L] = T : U = T;
return t.lastIndex = R, U
}
function le(e) {
var t = e[0] * C, n = e[1] * C, r = e[2] * C, a = Math.cos(t / 2), i = Math.cos(n / 2),
o = Math.cos(r / 2), s = Math.sin(t / 2), l = Math.sin(n / 2), c = Math.sin(r / 2);
return [s * l * o + a * i * c, s * i * o + a * l * c, a * l * o - s * i * c, a * i * o - s * l * c]
}
function ce() {
var e = this.comp.renderedFrame - this.offsetTime, t = this.keyframes[0].t - this.offsetTime,
n = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
if (!(e === this._caching.lastFrame || -999999 !== this._caching.lastFrame && (this._caching.lastFrame >= n && e >= n || this._caching.lastFrame < t && e < t))) {
this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);
var r = this.interpolateValue(e, this._caching);
this.pv = r
}
return this._caching.lastFrame = e, this.pv
}
function ue(e) {
var t;
if ("unidimensional" === this.propType) t = e * this.mult, oe(this.v - t) > 1e-5 && (this.v = t, this._mdf = !0); else for (var n = 0, r = this.v.length; n < r;) t = e[n] * this.mult, oe(this.v[n] - t) > 1e-5 && (this.v[n] = t, this._mdf = !0), n += 1
}
function de() {
if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) {
if (this.lock) return void this.setVValue(this.pv);
this.lock = !0, this._mdf = this._isFirstFrame;
var e, t = this.effectsSequence.length, n = this.kf ? this.pv : this.data.k;
for (e = 0; e < t; e += 1) n = this.effectsSequence[e](n);
this.setVValue(n), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId
}
}
function pe(e) {
this.effectsSequence.push(e), this.container.addDynamicProperty(this)
}
function he(e, t, n, r) {
this.propType = "unidimensional", this.mult = n || 1, this.data = t, this.v = n ? t.k * n : t.k, this.pv = t.k, this._mdf = !1, this.elem = e, this.container = r, this.comp = e.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = de, this.setVValue = ue, this.addEffect = pe
}
function fe(e, t, n, r) {
this.propType = "multidimensional", this.mult = n || 1, this.data = t, this._mdf = !1, this.elem = e, this.container = r, this.comp = e.comp, this.k = !1, this.kf = !1, this.frameId = -1;
var a, i = t.k.length;
for (a = 0, this.v = g("float32", i), this.pv = g("float32", i), this.vel = g("float32", i); a < i; a += 1) this.v[a] = t.k[a] * this.mult, this.pv[a] = t.k[a];
this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = de, this.setVValue = ue, this.addEffect = pe
}
function me(e, t, n, r) {
this.propType = "unidimensional", this.keyframes = t.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.frameId = -1, this._caching = {
lastFrame: -999999,
lastIndex: 0,
value: 0,
_lastKeyframeIndex: -1
}, this.k = !0, this.kf = !0, this.data = t, this.mult = n || 1, this.elem = e, this.container = r, this.comp = e.comp, this.v = -999999, this.pv = -999999, this._isFirstFrame = !0, this.getValue = de, this.setVValue = ue, this.interpolateValue = se, this.effectsSequence = [ce.bind(this)], this.addEffect = pe
}
function ge(e, t, n, r) {
this.propType = "multidimensional";
var a, i, o, s, l, c = t.k.length;
for (a = 0; a < c - 1; a += 1) t.k[a].to && t.k[a].s && t.k[a + 1] && t.k[a + 1].s && (i = t.k[a].s, o = t.k[a + 1].s, s = t.k[a].to, l = t.k[a].ti, (2 === i.length && !(i[0] === o[0] && i[1] === o[1]) && ie.pointOnLine2D(i[0], i[1], o[0], o[1], i[0] + s[0], i[1] + s[1]) && ie.pointOnLine2D(i[0], i[1], o[0], o[1], o[0] + l[0], o[1] + l[1]) || 3 === i.length && !(i[0] === o[0] && i[1] === o[1] && i[2] === o[2]) && ie.pointOnLine3D(i[0], i[1], i[2], o[0], o[1], o[2], i[0] + s[0], i[1] + s[1], i[2] + s[2]) && ie.pointOnLine3D(i[0], i[1], i[2], o[0], o[1], o[2], o[0] + l[0], o[1] + l[1], o[2] + l[2])) && (t.k[a].to = null, t.k[a].ti = null), i[0] === o[0] && i[1] === o[1] && 0 === s[0] && 0 === s[1] && 0 === l[0] && 0 === l[1] && (2 === i.length || i[2] === o[2] && 0 === s[2] && 0 === l[2]) && (t.k[a].to = null, t.k[a].ti = null));
this.effectsSequence = [ce.bind(this)], this.data = t, this.keyframes = t.k, this.keyframesMetadata = [], this.offsetTime = e.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = n || 1, this.elem = e, this.container = r, this.comp = e.comp, this.getValue = de, this.setVValue = ue, this.interpolateValue = se, this.frameId = -1;
var u = t.k[0].s.length;
for (a = 0, this.v = g("float32", u), this.pv = g("float32", u); a < u; a += 1) this.v[a] = -999999, this.pv[a] = -999999;
this._caching = {lastFrame: -999999, lastIndex: 0, value: g("float32", u)}, this.addEffect = pe
}
var ve = {
getProp: function (e, t, n, r, a) {
var i;
if (t.sid && (t = e.globalData.slotManager.getProp(t)), t.k.length) if ("number" == typeof t.k[0]) i = new fe(e, t, r, a); else switch (n) {
case 0:
i = new me(e, t, r, a);
break;
case 1:
i = new ge(e, t, r, a)
} else i = new he(e, t, r, a);
return i.effectsSequence.length && a.addDynamicProperty(i), i
}
};
function _e() {
}
_e.prototype = {
addDynamicProperty: function (e) {
-1 === this.dynamicProperties.indexOf(e) && (this.dynamicProperties.push(e), this.container.addDynamicProperty(this), this._isAnimated = !0)
}, iterateDynamicProperties: function () {
this._mdf = !1;
var e, t = this.dynamicProperties.length;
for (e = 0; e < t; e += 1) this.dynamicProperties[e].getValue(), this.dynamicProperties[e]._mdf && (this._mdf = !0)
}, initDynamicPropertyContainer: function (e) {
this.container = e, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1
}
};
var ye = ne(8, (function () {
return g("float32", 2)
}));
function be() {
this.c = !1, this._length = 0, this._maxLength = 8, this.v = v(this._maxLength), this.o = v(this._maxLength), this.i = v(this._maxLength)
}
be.prototype.setPathData = function (e, t) {
this.c = e, this.setLength(t);
for (var n = 0; n < t;) this.v[n] = ye.newElement(), this.o[n] = ye.newElement(), this.i[n] = ye.newElement(), n += 1
}, be.prototype.setLength = function (e) {
for (; this._maxLength < e;) this.doubleArrayLength();
this._length = e
}, be.prototype.doubleArrayLength = function () {
this.v = this.v.concat(v(this._maxLength)), this.i = this.i.concat(v(this._maxLength)), this.o = this.o.concat(v(this._maxLength)), this._maxLength *= 2
}, be.prototype.setXYAt = function (e, t, n, r, a) {
var i;
switch (this._length = Math.max(this._length, r + 1), this._length >= this._maxLength && this.doubleArrayLength(), n) {
case"v":
i = this.v;
break;
case"i":
i = this.i;
break;
case"o":
i = this.o;
break;
default:
i = []
}
i[r] && (!i[r] || a) || (i[r] = ye.newElement()), i[r][0] = e, i[r][1] = t
}, be.prototype.setTripleAt = function (e, t, n, r, a, i, o, s) {
this.setXYAt(e, t, "v", o, s), this.setXYAt(n, r, "o", o, s), this.setXYAt(a, i, "i", o, s)
}, be.prototype.reverse = function () {
var e, t = new be;
t.setPathData(this.c, this._length);
var n = this.v, r = this.o, a = this.i, i = 0;
this.c && (t.setTripleAt(n[0][0], n[0][1], a[0][0], a[0][1], r[0][0], r[0][1], 0, !1), i = 1);
var o = this._length - 1, s = this._length;
for (e = i; e < s; e += 1) t.setTripleAt(n[o][0], n[o][1], a[o][0], a[o][1], r[o][0], r[o][1], e, !1), o -= 1;
return t
}, be.prototype.length = function () {
return this._length
};
var xe = ((t = ne(4, (function () {
return new be
}), (function (e) {
var t, n = e._length;
for (t = 0; t < n; t += 1) ye.release(e.v[t]), ye.release(e.i[t]), ye.release(e.o[t]), e.v[t] = null, e.i[t] = null, e.o[t] = null;
e._length = 0, e.c = !1
}))).clone = function (e) {
var n, r = t.newElement(), a = void 0 === e._length ? e.v.length : e._length;
for (r.setLength(a), r.c = e.c, n = 0; n < a; n += 1) r.setTripleAt(e.v[n][0], e.v[n][1], e.o[n][0], e.o[n][1], e.i[n][0], e.i[n][1], n);
return r
}, t);
function we() {
this._length = 0, this._maxLength = 4, this.shapes = v(this._maxLength)
}
we.prototype.addShape = function (e) {
this._length === this._maxLength && (this.shapes = this.shapes.concat(v(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = e, this._length += 1
}, we.prototype.releaseShapes = function () {
var e;
for (e = 0; e < this._length; e += 1) xe.release(this.shapes[e]);
this._length = 0
};
var ke = (n = 0, r = 4, a = v(4), {
newShapeCollection: function () {
var e;
return n ? e = a[n -= 1] : e = new we, e
}, release: function (e) {
var t, i = e._length;
for (t = 0; t < i; t += 1) xe.release(e.shapes[t]);
e._length = 0, n === r && (a = te(a), r *= 2), a[n] = e, n += 1
}
}), Se = function () {
function e(e, t, n) {
var r = n.lastIndex, a = this.keyframes;
if (e < a[0].t - this.offsetTime) i = a[0].s[0], s = !0, r = 0; else if (e >= a[a.length - 1].t - this.offsetTime) i = a[a.length - 1].s ? a[a.length - 1].s[0] : a[a.length - 2].e[0], s = !0; else {
for (var i, o, s, l, c, u, d, p, h, f, m, g, v, _ = r, y = a.length - 1, b = !0; b && (f = a[_], !((m = a[_ + 1]).t - this.offsetTime > e));) _ < y - 1 ? _ += 1 : b = !1;
g = this.keyframesMetadata[_] || {}, r = _, (s = 1 === f.h) || (e >= m.t - this.offsetTime ? p = 1 : e < f.t - this.offsetTime ? p = 0 : (g.__fnct ? v = g.__fnct : (v = ee.getBezierEasing(f.o.x, f.o.y, f.i.x, f.i.y).get, g.__fnct = v), p = v((e - (f.t - this.offsetTime)) / (m.t - this.offsetTime - (f.t - this.offsetTime)))), o = m.s ? m.s[0] : f.e[0]), i = f.s[0]
}
for (l = 0, u = t._length, d = i.i[0].length, n.lastIndex = r; l < u; l += 1) for (c = 0; c < d; c += 1) h = s ? i.i[l][c] : i.i[l][c] + (o.i[l][c] - i.i[l][c]) * p, t.i[l][c] = h, h = s ? i.o[l][c] : i.o[l][c] + (o.o[l][c] - i.o[l][c]) * p, t.o[l][c] = h, h = s ? i.v[l][c] : i.v[l][c] + (o.v[l][c] - i.v[l][c]) * p, t.v[l][c] = h
}
function t() {
var e = this.comp.renderedFrame - this.offsetTime, t = this.keyframes[0].t - this.offsetTime,
n = this.keyframes[this.keyframes.length - 1].t - this.offsetTime, r = this._caching.lastFrame;
return -999999 !== r && (r < t && e < t || r > n && e > n) || (this._caching.lastIndex = r < e ? this._caching.lastIndex : 0, this.interpolateShape(e, this.pv, this._caching)), this._caching.lastFrame = e, this.pv
}
function n() {
this.paths = this.localShapeCollection
}
function r(e) {
!function (e, t) {
if (e._length !== t._length || e.c !== t.c) return !1;
var n, r = e._length;
for (n = 0; n < r; n += 1) if (e.v[n][0] !== t.v[n][0] || e.v[n][1] !== t.v[n][1] || e.o[n][0] !== t.o[n][0] || e.o[n][1] !== t.o[n][1] || e.i[n][0] !== t.i[n][0] || e.i[n][1] !== t.i[n][1]) return !1;
return !0
}(this.v, e) && (this.v = xe.clone(e), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection)
}
function a() {
if (this.elem.globalData.frameId !== this.frameId) {
if (!this.effectsSequence.length) return void (this._mdf = !1);
if (this.lock) return void this.setVValue(this.pv);
this.lock = !0, this._mdf = !1, e = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;
var e, t, n = this.effectsSequence.length;
for (t = 0; t < n; t += 1) e = this.effectsSequence[t](e);
this.setVValue(e), this.lock = !1, this.frameId = this.elem.globalData.frameId
}
}
function i(e, t, r) {
this.propType = "shape", this.comp = e.comp, this.container = e, this.elem = e, this.data = t, this.k = !1, this.kf = !1, this._mdf = !1;
var a = 3 === r ? t.pt.k : t.ks.k;
this.v = xe.clone(a), this.pv = xe.clone(this.v), this.localShapeCollection = ke.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = n, this.effectsSequence = []
}
function o(e) {
this.effectsSequence.push(e), this.container.addDynamicProperty(this)
}
function s(e, r, a) {
this.propType = "shape", this.comp = e.comp, this.elem = e, this.container = e, this.offsetTime = e.data.st, this.keyframes = 3 === a ? r.pt.k : r.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;
var i = this.keyframes[0].s[0].i.length;
this.v = xe.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, i), this.pv = xe.clone(this.v), this.localShapeCollection = ke.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = -999999, this.reset = n, this._caching = {
lastFrame: -999999,
lastIndex: 0
}, this.effectsSequence = [t.bind(this)]
}
i.prototype.interpolateShape = e, i.prototype.getValue = a, i.prototype.setVValue = r, i.prototype.addEffect = o, s.prototype.getValue = a, s.prototype.interpolateShape = e, s.prototype.setVValue = r, s.prototype.addEffect = o;
var l = function () {
function e(e, t) {
this.v = xe.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = ke.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = t.d, this.elem = e, this.comp = e.comp, this.frameId = -1, this.initDynamicPropertyContainer(e), this.p = ve.getProp(e, t.p, 1, 0, this), this.s = ve.getProp(e, t.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath())
}
return e.prototype = {
reset: n, getValue: function () {
this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath())
}, convertEllToPath: function () {
var e = this.p.v[0], t = this.p.v[1], n = this.s.v[0] / 2, r = this.s.v[1] / 2,
a = 3 !== this.d, i = this.v;
i.v[0][0] = e, i.v[0][1] = t - r, i.v[1][0] = a ? e + n : e - n, i.v[1][1] = t, i.v[2][0] = e, i.v[2][1] = t + r, i.v[3][0] = a ? e - n : e + n, i.v[3][1] = t, i.i[0][0] = a ? e - .5519 * n : e + .5519 * n, i.i[0][1] = t - r, i.i[1][0] = a ? e + n : e - n, i.i[1][1] = t - .5519 * r, i.i[2][0] = a ? e + .5519 * n : e - .5519 * n, i.i[2][1] = t + r, i.i[3][0] = a ? e - n : e + n, i.i[3][1] = t + .5519 * r, i.o[0][0] = a ? e + .5519 * n : e - .5519 * n, i.o[0][1] = t - r, i.o[1][0] = a ? e + n : e - n, i.o[1][1] = t + .5519 * r, i.o[2][0] = a ? e - .5519 * n : e + .5519 * n, i.o[2][1] = t + r, i.o[3][0] = a ? e - n : e + n, i.o[3][1] = t - .5519 * r
}
}, f([_e], e), e
}(), c = function () {
function e(e, t) {
this.v = xe.newElement(), this.v.setPathData(!0, 0), this.elem = e, this.comp = e.comp, this.data = t, this.frameId = -1, this.d = t.d, this.initDynamicPropertyContainer(e), 1 === t.sy ? (this.ir = ve.getProp(e, t.ir, 0, 0, this), this.is = ve.getProp(e, t.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = ve.getProp(e, t.pt, 0, 0, this), this.p = ve.getProp(e, t.p, 1, 0, this), this.r = ve.getProp(e, t.r, 0, C, this), this.or = ve.getProp(e, t.or, 0, 0, this), this.os = ve.getProp(e, t.os, 0, .01, this), this.localShapeCollection = ke.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath())
}
return e.prototype = {
reset: n, getValue: function () {
this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath())
}, convertStarToPath: function () {
var e, t, n, r, a = 2 * Math.floor(this.pt.v), i = 2 * Math.PI / a, o = !0, s = this.or.v,
l = this.ir.v, c = this.os.v, u = this.is.v, d = 2 * Math.PI * s / (2 * a),
p = 2 * Math.PI * l / (2 * a), h = -Math.PI / 2;
h += this.r.v;
var f = 3 === this.data.d ? -1 : 1;
for (e = 0, this.v._length = 0; e < a; e += 1) {
n = o ? c : u, r = o ? d : p;
var m = (t = o ? s : l) * Math.cos(h), g = t * Math.sin(h),
v = 0 === m && 0 === g ? 0 : g / Math.sqrt(m * m + g * g),
_ = 0 === m && 0 === g ? 0 : -m / Math.sqrt(m * m + g * g);
m += +this.p.v[0], g += +this.p.v[1], this.v.setTripleAt(m, g, m - v * r * n * f, g - _ * r * n * f, m + v * r * n * f, g + _ * r * n * f, e, !0), o = !o, h += i * f
}
}, convertPolygonToPath: function () {
var e, t = Math.floor(this.pt.v), n = 2 * Math.PI / t, r = this.or.v, a = this.os.v,
i = 2 * Math.PI * r / (4 * t), o = -.5 * Math.PI, s = 3 === this.data.d ? -1 : 1;
for (o += this.r.v, this.v._length = 0, e = 0; e < t; e += 1) {
var l = r * Math.cos(o), c = r * Math.sin(o),
u = 0 === l && 0 === c ? 0 : c / Math.sqrt(l * l + c * c),
d = 0 === l && 0 === c ? 0 : -l / Math.sqrt(l * l + c * c);
l += +this.p.v[0], c += +this.p.v[1], this.v.setTripleAt(l, c, l - u * i * a * s, c - d * i * a * s, l + u * i * a * s, c + d * i * a * s, e, !0), o += n * s
}
this.paths.length = 0, this.paths[0] = this.v
}
}, f([_e], e), e
}(), u = function () {
function e(e, t) {
this.v = xe.newElement(), this.v.c = !0, this.localShapeCollection = ke.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = e, this.comp = e.comp, this.frameId = -1, this.d = t.d, this.initDynamicPropertyContainer(e), this.p = ve.getProp(e, t.p, 1, 0, this), this.s = ve.getProp(e, t.s, 1, 0, this), this.r = ve.getProp(e, t.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath())
}
return e.prototype = {
convertRectToPath: function () {
var e = this.p.v[0], t = this.p.v[1], n = this.s.v[0] / 2, r = this.s.v[1] / 2,
a = E(n, r, this.r.v), i = .44810000000000005 * a;
this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(e + n, t - r + a, e + n, t - r + a, e + n, t - r + i, 0, !0), this.v.setTripleAt(e + n, t + r - a, e + n, t + r - i, e + n, t + r - a, 1, !0), 0 !== a ? (this.v.setTripleAt(e + n - a, t + r, e + n - a, t + r, e + n - i, t + r, 2, !0), this.v.setTripleAt(e - n + a, t + r, e - n + i, t + r, e - n + a, t + r, 3, !0), this.v.setTripleAt(e - n, t + r - a, e - n, t + r - a, e - n, t + r - i, 4, !0), this.v.setTripleAt(e - n, t - r + a, e - n, t - r + i, e - n, t - r + a, 5, !0), this.v.setTripleAt(e - n + a, t - r, e - n + a, t - r, e - n + i, t - r, 6, !0), this.v.setTripleAt(e + n - a, t - r, e + n - i, t - r, e + n - a, t - r, 7, !0)) : (this.v.setTripleAt(e - n, t + r, e - n + i, t + r, e - n, t + r, 2), this.v.setTripleAt(e - n, t - r, e - n, t - r + i, e - n, t - r, 3))) : (this.v.setTripleAt(e + n, t - r + a, e + n, t - r + i, e + n, t - r + a, 0, !0), 0 !== a ? (this.v.setTripleAt(e + n - a, t - r, e + n - a, t - r, e + n - i, t - r, 1, !0), this.v.setTripleAt(e - n + a, t - r, e - n + i, t - r, e - n + a, t - r, 2, !0), this.v.setTripleAt(e - n, t - r + a, e - n, t - r + a, e - n, t - r + i, 3, !0), this.v.setTripleAt(e - n, t + r - a, e - n, t + r - i, e - n, t + r - a, 4, !0), this.v.setTripleAt(e - n + a, t + r, e - n + a, t + r, e - n + i, t + r, 5, !0), this.v.setTripleAt(e + n - a, t + r, e + n - i, t + r, e + n - a, t + r, 6, !0), this.v.setTripleAt(e + n, t + r - a, e + n, t + r - a, e + n, t + r - i, 7, !0)) : (this.v.setTripleAt(e - n, t - r, e - n + i, t - r, e - n, t - r, 1, !0), this.v.setTripleAt(e - n, t + r, e - n, t + r - i, e - n, t + r, 2, !0), this.v.setTripleAt(e + n, t + r, e + n - i, t + r, e + n, t + r, 3, !0)))
}, getValue: function () {
this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath())
}, reset: n
}, f([_e], e), e
}(), d = {
getShapeProp: function (e, t, n) {
var r;
return 3 === n || 4 === n ? r = (3 === n ? t.pt : t.ks).k.length ? new s(e, t, n) : new i(e, t, n) : 5 === n ? r = new u(e, t) : 6 === n ? r = new l(e, t) : 7 === n && (r = new c(e, t)), r.k && e.addDynamicProperty(r), r
}, getConstructorFunction: function () {
return i
}, getKeyframedConstructorFunction: function () {
return s
}
};
return d
}(), Ee = function () {
var e = Math.cos, t = Math.sin, n = Math.tan, r = Math.round;
function a() {
return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this
}
function i(n) {
if (0 === n) return this;
var r = e(n), a = t(n);
return this._t(r, -a, 0, 0, a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}
function o(n) {
if (0 === n) return this;
var r = e(n), a = t(n);
return this._t(1, 0, 0, 0, 0, r, -a, 0, 0, a, r, 0, 0, 0, 0, 1)
}
function s(n) {
if (0 === n) return this;
var r = e(n), a = t(n);
return this._t(r, 0, a, 0, 0, 1, 0, 0, -a, 0, r, 0, 0, 0, 0, 1)
}
function l(n) {
if (0 === n) return this;
var r = e(n), a = t(n);
return this._t(r, -a, 0, 0, a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}
function c(e, t) {
return this._t(1, t, e, 1, 0, 0)
}
function u(e, t) {
return this.shear(n(e), n(t))
}
function d(r, a) {
var i = e(a), o = t(a);
return this._t(i, o, 0, 0, -o, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, n(r), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(i, -o, 0, 0, o, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}
function p(e, t, n) {
return n || 0 === n || (n = 1), 1 === e && 1 === t && 1 === n ? this : this._t(e, 0, 0, 0, 0, t, 0, 0, 0, 0, n, 0, 0, 0, 0, 1)
}
function h(e, t, n, r, a, i, o, s, l, c, u, d, p, h, f, m) {
return this.props[0] = e, this.props[1] = t, this.props[2] = n, this.props[3] = r, this.props[4] = a, this.props[5] = i, this.props[6] = o, this.props[7] = s, this.props[8] = l, this.props[9] = c, this.props[10] = u, this.props[11] = d, this.props[12] = p, this.props[13] = h, this.props[14] = f, this.props[15] = m, this
}
function f(e, t, n) {
return n = n || 0, 0 !== e || 0 !== t || 0 !== n ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, e, t, n, 1) : this
}
function m(e, t, n, r, a, i, o, s, l, c, u, d, p, h, f, m) {
var g = this.props;
if (1 === e && 0 === t && 0 === n && 0 === r && 0 === a && 1 === i && 0 === o && 0 === s && 0 === l && 0 === c && 1 === u && 0 === d) return g[12] = g[12] * e + g[15] * p, g[13] = g[13] * i + g[15] * h, g[14] = g[14] * u + g[15] * f, g[15] *= m, this._identityCalculated = !1, this;
var v = g[0], _ = g[1], y = g[2], b = g[3], x = g[4], w = g[5], k = g[6], S = g[7], E = g[8],
I = g[9], C = g[10], O = g[11], P = g[12], A = g[13], T = g[14], D = g[15];
return g[0] = v * e + _ * a + y * l + b * p, g[1] = v * t + _ * i + y * c + b * h, g[2] = v * n + _ * o + y * u + b * f, g[3] = v * r + _ * s + y * d + b * m, g[4] = x * e + w * a + k * l + S * p, g[5] = x * t + w * i + k * c + S * h, g[6] = x * n + w * o + k * u + S * f, g[7] = x * r + w * s + k * d + S * m, g[8] = E * e + I * a + C * l + O * p, g[9] = E * t + I * i + C * c + O * h, g[10] = E * n + I * o + C * u + O * f, g[11] = E * r + I * s + C * d + O * m, g[12] = P * e + A * a + T * l + D * p, g[13] = P * t + A * i + T * c + D * h, g[14] = P * n + A * o + T * u + D * f, g[15] = P * r + A * s + T * d + D * m, this._identityCalculated = !1, this
}
function v(e) {
var t = e.props;
return this.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15])
}
function _() {
return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = !0), this._identity
}
function y(e) {
for (var t = 0; t < 16;) {
if (e.props[t] !== this.props[t]) return !1;
t += 1
}
return !0
}
function b(e) {
var t;
for (t = 0; t < 16; t += 1) e.props[t] = this.props[t];
return e
}
function x(e) {
var t;
for (t = 0; t < 16; t += 1) this.props[t] = e[t]
}
function w(e, t, n) {
return {
x: e * this.props[0] + t * this.props[4] + n * this.props[8] + this.props[12],
y: e * this.props[1] + t * this.props[5] + n * this.props[9] + this.props[13],
z: e * this.props[2] + t * this.props[6] + n * this.props[10] + this.props[14]
}
}
function k(e, t, n) {
return e * this.props[0] + t * this.props[4] + n * this.props[8] + this.props[12]
}
function S(e, t, n) {
return e * this.props[1] + t * this.props[5] + n * this.props[9] + this.props[13]
}
function E(e, t, n) {
return e * this.props[2] + t * this.props[6] + n * this.props[10] + this.props[14]
}
function I() {
var e = this.props[0] * this.props[5] - this.props[1] * this.props[4], t = this.props[5] / e,
n = -this.props[1] / e, r = -this.props[4] / e, a = this.props[0] / e,
i = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / e,
o = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / e, s = new Ee;
return s.props[0] = t, s.props[1] = n, s.props[4] = r, s.props[5] = a, s.props[12] = i, s.props[13] = o, s
}
function C(e) {
return this.getInverseMatrix().applyToPointArray(e[0], e[1], e[2] || 0)
}
function O(e) {
var t, n = e.length, r = [];
for (t = 0; t < n; t += 1) r[t] = C(e[t]);
return r
}
function P(e, t, n) {
var r = g("float32", 6);
if (this.isIdentity()) r[0] = e[0], r[1] = e[1], r[2] = t[0], r[3] = t[1], r[4] = n[0], r[5] = n[1]; else {
var a = this.props[0], i = this.props[1], o = this.props[4], s = this.props[5],
l = this.props[12], c = this.props[13];
r[0] = e[0] * a + e[1] * o + l, r[1] = e[0] * i + e[1] * s + c, r[2] = t[0] * a + t[1] * o + l, r[3] = t[0] * i + t[1] * s + c, r[4] = n[0] * a + n[1] * o + l, r[5] = n[0] * i + n[1] * s + c
}
return r
}
function A(e, t, n) {
return this.isIdentity() ? [e, t, n] : [e * this.props[0] + t * this.props[4] + n * this.props[8] + this.props[12], e * this.props[1] + t * this.props[5] + n * this.props[9] + this.props[13], e * this.props[2] + t * this.props[6] + n * this.props[10] + this.props[14]]
}
function T(e, t) {
if (this.isIdentity()) return e + "," + t;
var n = this.props;
return Math.round(100 * (e * n[0] + t * n[4] + n[12])) / 100 + "," + Math.round(100 * (e * n[1] + t * n[5] + n[13])) / 100
}
function D() {
for (var e = 0, t = this.props, n = "matrix3d("; e < 16;) n += r(1e4 * t[e]) / 1e4 + (15 === e ? ")" : ","), e += 1;
return n
}
function R(e) {
return e < 1e-6 && e > 0 || e > -1e-6 && e < 0 ? r(1e4 * e) / 1e4 : e
}
function L() {
var e = this.props;
return "matrix(" + R(e[0]) + "," + R(e[1]) + "," + R(e[4]) + "," + R(e[5]) + "," + R(e[12]) + "," + R(e[13]) + ")"
}
return function () {
this.reset = a, this.rotate = i, this.rotateX = o, this.rotateY = s, this.rotateZ = l, this.skew = u, this.skewFromAxis = d, this.shear = c, this.scale = p, this.setTransform = h, this.translate = f, this.transform = m, this.multiply = v, this.applyToPoint = w, this.applyToX = k, this.applyToY = S, this.applyToZ = E, this.applyToPointArray = A, this.applyToTriplePoints = P, this.applyToPointStringified = T, this.toCSS = D, this.to2dCSS = L, this.clone = b, this.cloneFromProps = x, this.equals = y, this.inversePoints = O, this.inversePoint = C, this.getInverseMatrix = I, this._t = this.transform, this.isIdentity = _, this._identity = !0, this._identityCalculated = !1, this.props = g("float32", 16), this.reset()
}
}();
function Ie(e) {
return (Ie = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
var Ce = {};
function Oe() {
J.searchAnimations()
}
Ce.play = J.play, Ce.pause = J.pause, Ce.setLocationHref = function (e) {
!function (e) {
u = e
}(e)
}, Ce.togglePause = J.togglePause, Ce.setSpeed = J.setSpeed, Ce.setDirection = J.setDirection, Ce.stop = J.stop, Ce.searchAnimations = Oe, Ce.registerAnimation = J.registerAnimation, Ce.loadAnimation = function (e) {
return J.loadAnimation(e)
}, Ce.setSubframeRendering = function (e) {
!function (e) {
_ = !!e
}(e)
}, Ce.resize = J.resize, Ce.goToAndStop = J.goToAndStop, Ce.destroy = J.destroy, Ce.setQuality = function (e) {
if ("string" == typeof e) switch (e) {
case"high":
B(200);
break;
default:
case"medium":
B(50);
break;
case"low":
B(10)
} else !isNaN(e) && e > 1 && B(e)
}, Ce.inBrowser = function () {
return "undefined" != typeof navigator
}, Ce.installPlugin = function (e, t) {
"expressions" === e && function (e) {
y = e
}(t)
}, Ce.freeze = J.freeze, Ce.unfreeze = J.unfreeze, Ce.setVolume = J.setVolume, Ce.mute = J.mute, Ce.unmute = J.unmute, Ce.getRegisteredAnimations = J.getRegisteredAnimations, Ce.useWebWorker = function (e) {
d = !!e
}, Ce.setIDPrefix = function (e) {
!function (e) {
b = e
}(e)
}, Ce.__getFactory = function (e) {
switch (e) {
case"propertyFactory":
return ve;
case"shapePropertyFactory":
return Se;
case"matrix":
return Ee;
default:
return null
}
}, Ce.version = "5.12.2";
var Pe = "", Ae = document.getElementsByTagName("script"), Te = Ae[Ae.length - 1] || {src: ""};
Pe = Te.src ? Te.src.replace(/^[^\?]+\??/, "") : "", function (e) {
for (var t = Pe.split("&"), n = 0; n < t.length; n += 1) {
var r = t[n].split("=");
if ("renderer" == decodeURIComponent(r[0])) return decodeURIComponent(r[1])
}
}();
var De = setInterval((function () {
"complete" === document.readyState && (clearInterval(De), Oe())
}), 100);
try {
"object" !== Ie(uE) && (window.bodymovin = Ce)
} catch (e) {
}
var Re = (o = {}, (i = {}).registerModifier = function (e, t) {
o[e] || (o[e] = t)
}, i.getModifier = function (e, t, n) {
return new o[e](t, n)
}, i);
function Le() {
}
function je() {
}
function Ne() {
}
Le.prototype.initModifierProperties = function () {
}, Le.prototype.addShapeToModifier = function () {
}, Le.prototype.addShape = function (e) {
if (!this.closed) {
e.sh.container.addDynamicProperty(e.sh);
var t = {shape: e.sh, data: e, localShapeCollection: ke.newShapeCollection()};
this.shapes.push(t), this.addShapeToModifier(t), this._isAnimated && e.setAsAnimated()
}
}, Le.prototype.init = function (e, t) {
this.shapes = [], this.elem = e, this.initDynamicPropertyContainer(e), this.initModifierProperties(e, t), this.frameId = -999999, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
}, Le.prototype.processKeys = function () {
this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties())
}, f([_e], Le), f([Le], je), je.prototype.initModifierProperties = function (e, t) {
this.s = ve.getProp(e, t.s, 0, .01, this), this.e = ve.getProp(e, t.e, 0, .01, this), this.o = ve.getProp(e, t.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = t.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length
}, je.prototype.addShapeToModifier = function (e) {
e.pathsData = []
}, je.prototype.calculateShapeEdges = function (e, t, n, r, a) {
var i, o, s = [];
t <= 1 ? s.push({s: e, e: t}) : e >= 1 ? s.push({s: e - 1, e: t - 1}) : (s.push({
s: e,
e: 1
}), s.push({s: 0, e: t - 1}));
var l = [], c = s.length;
for (i = 0; i < c; i += 1) (o = s[i]).e * a < r || o.s * a > r + n || l.push([o.s * a <= r ? 0 : (o.s * a - r) / n, o.e * a >= r + n ? 1 : (o.e * a - r) / n]);
return l.length || l.push([0, 0]), l
}, je.prototype.releasePathsData = function (e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) ae.release(e[t]);
return e.length = 0, e
}, je.prototype.processShapes = function (e) {
if (this._mdf || e) {
var t = this.o.v % 360 / 360;
if (t < 0 && (t += 1), (i = this.s.v > 1 ? 1 + t : this.s.v < 0 ? 0 + t : this.s.v + t) > (o = this.e.v > 1 ? 1 + t : this.e.v < 0 ? 0 + t : this.e.v + t)) {
var n = i;
i = o, o = n
}
i = 1e-4 * Math.round(1e4 * i), o = 1e-4 * Math.round(1e4 * o), this.sValue = i, this.eValue = o
} else i = this.sValue, o = this.eValue;
var r = this.shapes.length, a = 0;
if (o === i) for (l = 0; l < r; l += 1) this.shapes[l].localShapeCollection.releaseShapes(), this.shapes[l].shape._mdf = !0, this.shapes[l].shape.paths = this.shapes[l].localShapeCollection, this._mdf && (this.shapes[l].pathsData.length = 0); else if (1 === o && 0 === i || 0 === o && 1 === i) {
if (this._mdf) for (l = 0; l < r; l += 1) this.shapes[l].pathsData.length = 0, this.shapes[l].shape._mdf = !0
} else {
var i, o, s, l, c, u, d, p, h, f, m, g, v = [];
for (l = 0; l < r; l += 1) if ((f = this.shapes[l]).shape._mdf || this._mdf || e || 2 === this.m) {
if (u = (s = f.shape.paths)._length, h = 0, !f.shape._mdf && f.pathsData.length) h = f.totalShapeLength; else {
for (c = 0, d = this.releasePathsData(f.pathsData); c < u; c += 1) p = ie.getSegmentsLength(s.shapes[c]), d.push(p), h += p.totalLength;
f.totalShapeLength = h, f.pathsData = d
}
a += h, f.shape._mdf = !0
} else f.shape.paths = f.localShapeCollection;
var _ = i, y = o, b = 0;
for (l = r - 1; l >= 0; l -= 1) if ((f = this.shapes[l]).shape._mdf) {
for ((m = f.localShapeCollection).releaseShapes(), 2 === this.m && r > 1 ? (g = this.calculateShapeEdges(i, o, f.totalShapeLength, b, a), b += f.totalShapeLength) : g = [[_, y]], u = g.length, c = 0; c < u; c += 1) {
_ = g[c][0], y = g[c][1], v.length = 0, y <= 1 ? v.push({
s: f.totalShapeLength * _,
e: f.totalShapeLength * y
}) : _ >= 1 ? v.push({
s: f.totalShapeLength * (_ - 1),
e: f.totalShapeLength * (y - 1)
}) : (v.push({s: f.totalShapeLength * _, e: f.totalShapeLength}), v.push({
s: 0,
e: f.totalShapeLength * (y - 1)
}));
var x = this.addShapes(f, v[0]);
if (v[0].s !== v[0].e) {
if (v.length > 1) if (f.shape.paths.shapes[f.shape.paths._length - 1].c) {
var w = x.pop();
this.addPaths(x, m), x = this.addShapes(f, v[1], w)
} else this.addPaths(x, m), x = this.addShapes(f, v[1]);
this.addPaths(x, m)
}
}
f.shape.paths = m
}
}
}, je.prototype.addPaths = function (e, t) {
var n, r = e.length;
for (n = 0; n < r; n += 1) t.addShape(e[n])
}, je.prototype.addSegment = function (e, t, n, r, a, i, o) {
a.setXYAt(t[0], t[1], "o", i), a.setXYAt(n[0], n[1], "i", i + 1), o && a.setXYAt(e[0], e[1], "v", i), a.setXYAt(r[0], r[1], "v", i + 1)
}, je.prototype.addSegmentFromArray = function (e, t, n, r) {
t.setXYAt(e[1], e[5], "o", n), t.setXYAt(e[2], e[6], "i", n + 1), r && t.setXYAt(e[0], e[4], "v", n), t.setXYAt(e[3], e[7], "v", n + 1)
}, je.prototype.addShapes = function (e, t, n) {
var r, a, i, o, s, l, c, u, d = e.pathsData, p = e.shape.paths.shapes, h = e.shape.paths._length, f = 0,
m = [], g = !0;
for (n ? (s = n._length, u = n._length) : (n = xe.newElement(), s = 0, u = 0), m.push(n), r = 0; r < h; r += 1) {
for (a = 1, l = d[r].lengths, n.c = p[r].c, i = p[r].c ? l.length : l.length + 1; a < i; a += 1) if (f + (o = l[a - 1]).addedLength < t.s) f += o.addedLength, n.c = !1; else {
if (f > t.e) {
n.c = !1;
break
}
t.s <= f && t.e >= f + o.addedLength ? (this.addSegment(p[r].v[a - 1], p[r].o[a - 1], p[r].i[a], p[r].v[a], n, s, g), g = !1) : (c = ie.getNewSegment(p[r].v[a - 1], p[r].v[a], p[r].o[a - 1], p[r].i[a], (t.s - f) / o.addedLength, (t.e - f) / o.addedLength, l[a - 1]), this.addSegmentFromArray(c, n, s, g), g = !1, n.c = !1), f += o.addedLength, s += 1
}
if (p[r].c && l.length) {
if (o = l[a - 1], f <= t.e) {
var v = l[a - 1].addedLength;
t.s <= f && t.e >= f + v ? (this.addSegment(p[r].v[a - 1], p[r].o[a - 1], p[r].i[0], p[r].v[0], n, s, g), g = !1) : (c = ie.getNewSegment(p[r].v[a - 1], p[r].v[0], p[r].o[a - 1], p[r].i[0], (t.s - f) / v, (t.e - f) / v, l[a - 1]), this.addSegmentFromArray(c, n, s, g), g = !1, n.c = !1)
} else n.c = !1;
f += o.addedLength, s += 1
}
if (n._length && (n.setXYAt(n.v[u][0], n.v[u][1], "i", u), n.setXYAt(n.v[n._length - 1][0], n.v[n._length - 1][1], "o", n._length - 1)), f > t.e) break;
r < h - 1 && (n = xe.newElement(), g = !0, m.push(n), s = 0)
}
return m
}, f([Le], Ne), Ne.prototype.initModifierProperties = function (e, t) {
this.getValue = this.processKeys, this.amount = ve.getProp(e, t.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length
}, Ne.prototype.processPath = function (e, t) {
var n, r, a, i, o, s, l = t / 100, c = [0, 0], u = e._length, d = 0;
for (d = 0; d < u; d += 1) c[0] += e.v[d][0], c[1] += e.v[d][1];
c[0] /= u, c[1] /= u;
var p = xe.newElement();
for (d = 0, p.c = e.c; d < u; d += 1) n = e.v[d][0] + (c[0] - e.v[d][0]) * l, r = e.v[d][1] + (c[1] - e.v[d][1]) * l, a = e.o[d][0] + -(c[0] - e.o[d][0]) * l, i = e.o[d][1] + -(c[1] - e.o[d][1]) * l, o = e.i[d][0] + -(c[0] - e.i[d][0]) * l, s = e.i[d][1] + -(c[1] - e.i[d][1]) * l, p.setTripleAt(n, r, a, i, o, s, d);
return p
}, Ne.prototype.processShapes = function (e) {
var t, n, r, a, i, o, s = this.shapes.length, l = this.amount.v;
if (0 !== l) for (n = 0; n < s; n += 1) {
if (o = (i = this.shapes[n]).localShapeCollection, i.shape._mdf || this._mdf || e) for (o.releaseShapes(), i.shape._mdf = !0, t = i.shape.paths.shapes, a = i.shape.paths._length, r = 0; r < a; r += 1) o.addShape(this.processPath(t[r], l));
i.shape.paths = i.localShapeCollection
}
this.dynamicProperties.length || (this._mdf = !1)
};
var Me = function () {
var e = [0, 0];
function t(e, t, n) {
if (this.elem = e, this.frameId = -1, this.propType = "transform", this.data = t, this.v = new Ee, this.pre = new Ee, this.appliedTransformations = 0, this.initDynamicPropertyContainer(n || e), t.p && t.p.s ? (this.px = ve.getProp(e, t.p.x, 0, 0, this), this.py = ve.getProp(e, t.p.y, 0, 0, this), t.p.z && (this.pz = ve.getProp(e, t.p.z, 0, 0, this))) : this.p = ve.getProp(e, t.p || {k: [0, 0, 0]}, 1, 0, this), t.rx) {
if (this.rx = ve.getProp(e, t.rx, 0, C, this), this.ry = ve.getProp(e, t.ry, 0, C, this), this.rz = ve.getProp(e, t.rz, 0, C, this), t.or.k[0].ti) {
var r, a = t.or.k.length;
for (r = 0; r < a; r += 1) t.or.k[r].to = null, t.or.k[r].ti = null
}
this.or = ve.getProp(e, t.or, 1, C, this), this.or.sh = !0
} else this.r = ve.getProp(e, t.r || {k: 0}, 0, C, this);
t.sk && (this.sk = ve.getProp(e, t.sk, 0, C, this), this.sa = ve.getProp(e, t.sa, 0, C, this)), this.a = ve.getProp(e, t.a || {k: [0, 0, 0]}, 1, 0, this), this.s = ve.getProp(e, t.s || {k: [100, 100, 100]}, 1, .01, this), t.o ? this.o = ve.getProp(e, t.o, 0, .01, e) : this.o = {
_mdf: !1,
v: 1
}, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0)
}
return t.prototype = {
applyToMatrix: function (e) {
var t = this._mdf;
this.iterateDynamicProperties(), this._mdf = this._mdf || t, this.a && e.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && e.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && e.skewFromAxis(-this.sk.v, this.sa.v), this.r ? e.rotate(-this.r.v) : e.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? e.translate(this.px.v, this.py.v, -this.pz.v) : e.translate(this.px.v, this.py.v, 0) : e.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
}, getValue: function (t) {
if (this.elem.globalData.frameId !== this.frameId) {
if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || t) {
var n;
if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {
if (n = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (r = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / n, 0), a = this.p.getValueAtTime(this.p.keyframes[0].t / n, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (r = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / n, 0), a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / n, 0)) : (r = this.p.pv, a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / n, this.p.offsetTime)); else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
r = [], a = [];
var r, a, i = this.px, o = this.py;
i._caching.lastFrame + i.offsetTime <= i.keyframes[0].t ? (r[0] = i.getValueAtTime((i.keyframes[0].t + .01) / n, 0), r[1] = o.getValueAtTime((o.keyframes[0].t + .01) / n, 0), a[0] = i.getValueAtTime(i.keyframes[0].t / n, 0), a[1] = o.getValueAtTime(o.keyframes[0].t / n, 0)) : i._caching.lastFrame + i.offsetTime >= i.keyframes[i.keyframes.length - 1].t ? (r[0] = i.getValueAtTime(i.keyframes[i.keyframes.length - 1].t / n, 0), r[1] = o.getValueAtTime(o.keyframes[o.keyframes.length - 1].t / n, 0), a[0] = i.getValueAtTime((i.keyframes[i.keyframes.length - 1].t - .01) / n, 0), a[1] = o.getValueAtTime((o.keyframes[o.keyframes.length - 1].t - .01) / n, 0)) : (r = [i.pv, o.pv], a[0] = i.getValueAtTime((i._caching.lastFrame + i.offsetTime - .01) / n, i.offsetTime), a[1] = o.getValueAtTime((o._caching.lastFrame + o.offsetTime - .01) / n, o.offsetTime))
} else r = a = e;
this.v.rotate(-Math.atan2(r[1] - a[1], r[0] - a[0]))
}
this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
}
this.frameId = this.elem.globalData.frameId
}
}, precalculateMatrix: function () {
if (this.appliedTransformations = 0, this.pre.reset(), !this.a.effectsSequence.length && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {
if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2, this.sk) {
if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;
this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3
}
this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4)
}
}, autoOrient: function () {
}
}, f([_e], t), t.prototype.addDynamicProperty = function (e) {
this._addDynamicProperty(e), this.elem.addDynamicProperty(e), this._isDirty = !0
}, t.prototype._addDynamicProperty = _e.prototype.addDynamicProperty, {
getTransformProperty: function (e, n, r) {
return new t(e, n, r)
}
}
}();
function Fe() {
}
function ze() {
}
function Ve(e, t) {
return 1e5 * Math.abs(e - t) <= Math.min(Math.abs(e), Math.abs(t))
}
function Ue(e) {
return 1e-5 >= Math.abs(e)
}
function Be(e, t, n) {
return [e[0] * (1 - n) + t[0] * n, e[1] * (1 - n) + t[1] * n]
}
function Ge(e, t, n, r) {
return [3 * t - e - 3 * n + r, 3 * e - 6 * t + 3 * n, -3 * e + 3 * t, e]
}
function $e(e) {
return new qe(e, e, e, e, !1)
}
function qe(e, t, n, r, a) {
a && Je(e, t) && (t = Be(e, r, 1 / 3)), a && Je(n, r) && (n = Be(e, r, 2 / 3));
var i = Ge(e[0], t[0], n[0], r[0]), o = Ge(e[1], t[1], n[1], r[1]);
this.a = [i[0], o[0]], this.b = [i[1], o[1]], this.c = [i[2], o[2]], this.d = [i[3], o[3]], this.points = [e, t, n, r]
}
function We(e, t) {
var n = e.points[0][t], r = e.points[e.points.length - 1][t];
if (n > r) {
var a = r;
r = n, n = a
}
for (var i = function (e, t, n) {
if (0 === e) return [];
var r = t * t - 4 * e * n;
if (r < 0) return [];
var a = -t / (2 * e);
if (0 === r) return [a];
var i = Math.sqrt(r) / (2 * e);
return [a - i, a + i]
}(3 * e.a[t], 2 * e.b[t], e.c[t]), o = 0; o < i.length; o += 1) if (i[o] > 0 && i[o] < 1) {
var s = e.point(i[o])[t];
s < n ? n = s : s > r && (r = s)
}
return {min: n, max: r}
}
function He(e, t, n) {
var r = e.boundingBox();
return {cx: r.cx, cy: r.cy, width: r.width, height: r.height, bez: e, t: (t + n) / 2, t1: t, t2: n}
}
function Ke(e) {
var t = e.bez.split(.5);
return [He(t[0], e.t1, e.t), He(t[1], e.t, e.t2)]
}
function Ye(e, t) {
return [e[1] * t[2] - e[2] * t[1], e[2] * t[0] - e[0] * t[2], e[0] * t[1] - e[1] * t[0]]
}
function Qe(e, t, n, r) {
var a = [e[0], e[1], 1], i = [t[0], t[1], 1], o = [n[0], n[1], 1], s = [r[0], r[1], 1],
l = Ye(Ye(a, i), Ye(o, s));
return Ue(l[2]) ? null : [l[0] / l[2], l[1] / l[2]]
}
function Ze(e, t, n) {
return [e[0] + Math.cos(t) * n, e[1] - Math.sin(t) * n]
}
function Xe(e, t) {
return Math.hypot(e[0] - t[0], e[1] - t[1])
}
function Je(e, t) {
return Ve(e[0], t[0]) && Ve(e[1], t[1])
}
function et() {
}
function tt(e, t, n, r, a, i, o) {
var s = n - Math.PI / 2, l = n + Math.PI / 2, c = t[0] + Math.cos(n) * r * a,
u = t[1] - Math.sin(n) * r * a;
e.setTripleAt(c, u, c + Math.cos(s) * i, u - Math.sin(s) * i, c + Math.cos(l) * o, u - Math.sin(l) * o, e.length())
}
function nt(e, t, n, r, a, i, o) {
var s, l, c, u, d, p, h,
f = (s = 0 === n ? t.length() - 1 : n - 1, l = (n + 1) % t.length(), c = t.v[s], Math.atan2(0, 1) - Math.atan2((d = [(u = t.v[l])[0] - c[0], u[1] - c[1]], h = [Math.cos(p = -.5 * Math.PI) * d[0] - Math.sin(p) * d[1], Math.sin(p) * d[0] + Math.cos(p) * d[1]])[1], h[0])),
m = t.v[n % t._length], g = t.v[0 === n ? t._length - 1 : n - 1], v = t.v[(n + 1) % t._length],
_ = 2 === i ? Math.sqrt(Math.pow(m[0] - g[0], 2) + Math.pow(m[1] - g[1], 2)) : 0,
y = 2 === i ? Math.sqrt(Math.pow(m[0] - v[0], 2) + Math.pow(m[1] - v[1], 2)) : 0;
tt(e, t.v[n % t._length], f, o, r, y / (2 * (a + 1)), _ / (2 * (a + 1)))
}
function rt(e, t, n) {
var r = Math.atan2(t[0] - e[0], t[1] - e[1]);
return [Ze(e, r, n), Ze(t, r, n)]
}
function at(e, t) {
n = (l = rt(e.points[0], e.points[1], t))[0], r = l[1], a = (l = rt(e.points[1], e.points[2], t))[0], i = l[1], o = (l = rt(e.points[2], e.points[3], t))[0], s = l[1];
var n, r, a, i, o, s, l, c = Qe(n, r, a, i);
null === c && (c = r);
var u = Qe(o, s, a, i);
return null === u && (u = o), new qe(n, c, u, s)
}
function it(e, t, n, r, a) {
var i = t.points[3], o = n.points[0];
if (3 === r || Je(i, o)) return i;
if (2 === r) {
var s = -t.tangentAngle(1), l = -n.tangentAngle(0) + Math.PI,
c = Qe(i, Ze(i, s + Math.PI / 2, 100), o, Ze(o, s + Math.PI / 2, 100)),
u = c ? Xe(c, i) : Xe(i, o) / 2, d = Ze(i, s, 2 * u * .5519);
return e.setXYAt(d[0], d[1], "o", e.length() - 1), d = Ze(o, l, 2 * u * .5519), e.setTripleAt(o[0], o[1], o[0], o[1], d[0], d[1], e.length()), o
}
var p = Qe(Je(i, t.points[2]) ? t.points[0] : t.points[2], i, o, Je(o, n.points[1]) ? n.points[3] : n.points[1]);
return p && Xe(p, i) < a ? (e.setTripleAt(p[0], p[1], p[0], p[1], p[0], p[1], e.length()), p) : i
}
function ot(e, t) {
var n = e.intersections(t);
return n.length && Ve(n[0][0], 1) && n.shift(), n.length ? n[0] : null
}
function st(e, t) {
var n = e.slice(), r = t.slice(), a = ot(e[e.length - 1], t[0]);
return a && (n[e.length - 1] = e[e.length - 1].split(a[0])[0], r[0] = t[0].split(a[1])[1]), e.length > 1 && t.length > 1 && (a = ot(e[0], t[t.length - 1])) ? [[e[0].split(a[0])[0]], [t[t.length - 1].split(a[1])[1]]] : [n, r]
}
function lt(e, t) {
var n, r, a, i, o = e.inflectionPoints();
if (0 === o.length) return [at(e, t)];
if (1 === o.length || Ve(o[1], 1)) return n = (a = e.split(o[0]))[0], r = a[1], [at(n, t), at(r, t)];
n = (a = e.split(o[0]))[0];
var s = (o[1] - o[0]) / (1 - o[0]);
return i = (a = a[1].split(s))[0], r = a[1], [at(n, t), at(i, t), at(r, t)]
}
function ct() {
}
function ut(e) {
for (var t = e.fStyle ? e.fStyle.split(" ") : [], n = "normal", r = "normal", a = t.length, i = 0; i < a; i += 1) switch (t[i].toLowerCase()) {
case"italic":
r = "italic";
break;
case"bold":
n = "700";
break;
case"black":
n = "900";
break;
case"medium":
n = "500";
break;
case"regular":
case"normal":
n = "400";
break;
case"light":
case"thin":
n = "200"
}
return {style: r, weight: e.fWeight || n}
}
f([Le], Fe), Fe.prototype.initModifierProperties = function (e, t) {
this.getValue = this.processKeys, this.c = ve.getProp(e, t.c, 0, null, this), this.o = ve.getProp(e, t.o, 0, null, this), this.tr = Me.getTransformProperty(e, t.tr, this), this.so = ve.getProp(e, t.tr.so, 0, .01, this), this.eo = ve.getProp(e, t.tr.eo, 0, .01, this), this.data = t, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Ee, this.rMatrix = new Ee, this.sMatrix = new Ee, this.tMatrix = new Ee, this.matrix = new Ee
}, Fe.prototype.applyTransforms = function (e, t, n, r, a, i) {
var o = i ? -1 : 1, s = r.s.v[0] + (1 - r.s.v[0]) * (1 - a), l = r.s.v[1] + (1 - r.s.v[1]) * (1 - a);
e.translate(r.p.v[0] * o * a, r.p.v[1] * o * a, r.p.v[2]), t.translate(-r.a.v[0], -r.a.v[1], r.a.v[2]), t.rotate(-r.r.v * o * a), t.translate(r.a.v[0], r.a.v[1], r.a.v[2]), n.translate(-r.a.v[0], -r.a.v[1], r.a.v[2]), n.scale(i ? 1 / s : s, i ? 1 / l : l), n.translate(r.a.v[0], r.a.v[1], r.a.v[2])
}, Fe.prototype.init = function (e, t, n, r) {
for (this.elem = e, this.arr = t, this.pos = n, this.elemsData = r, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(e), this.initModifierProperties(e, t[n]); n > 0;) n -= 1, this._elements.unshift(t[n]);
this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
}, Fe.prototype.resetElements = function (e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) e[t]._processed = !1, "gr" === e[t].ty && this.resetElements(e[t].it)
}, Fe.prototype.cloneElements = function (e) {
var t = JSON.parse(JSON.stringify(e));
return this.resetElements(t), t
}, Fe.prototype.changeGroupRender = function (e, t) {
var n, r = e.length;
for (n = 0; n < r; n += 1) e[n]._render = t, "gr" === e[n].ty && this.changeGroupRender(e[n].it, t)
}, Fe.prototype.processShapes = function (e) {
var t = !1;
if (this._mdf || e) {
var n, r, a, i, o, s, l, c, u = Math.ceil(this.c.v);
if (this._groups.length < u) {
for (; this._groups.length < u;) {
var d = {it: this.cloneElements(this._elements), ty: "gr"};
d.it.push({
a: {a: 0, ix: 1, k: [0, 0]},
nm: "Transform",
o: {a: 0, ix: 7, k: 100},
p: {a: 0, ix: 2, k: [0, 0]},
r: {a: 1, ix: 6, k: [{s: 0, e: 0, t: 0}, {s: 0, e: 0, t: 1}]},
s: {a: 0, ix: 3, k: [100, 100]},
sa: {a: 0, ix: 5, k: 0},
sk: {a: 0, ix: 4, k: 0},
ty: "tr"
}), this.arr.splice(0, 0, d), this._groups.splice(0, 0, d), this._currentCopies += 1
}
this.elem.reloadShapes(), t = !0
}
for (a = 0, o = 0; a <= this._groups.length - 1; a += 1) {
if (s = o < u, this._groups[a]._render = s, this.changeGroupRender(this._groups[a].it, s), !s) {
var p = this.elemsData[a].it, h = p[p.length - 1];
0 !== h.transform.op.v ? (h.transform.op._mdf = !0, h.transform.op.v = 0) : h.transform.op._mdf = !1
}
o += 1
}
this._currentCopies = u;
var f = this.o.v, m = f % 1, g = f > 0 ? Math.floor(f) : Math.ceil(f), v = this.pMatrix.props,
_ = this.rMatrix.props, y = this.sMatrix.props;
this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();
var b = 0;
if (f > 0) {
for (; b < g;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), b += 1;
m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, m, !1), b += m)
} else if (f < 0) {
for (; b > g;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), b -= 1;
m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -m, !0), b -= m)
}
for (a = 1 === this.data.m ? 0 : this._currentCopies - 1, i = 1 === this.data.m ? 1 : -1, o = this._currentCopies; o;) {
if (c = (r = (n = this.elemsData[a].it)[n.length - 1].transform.mProps.v.props).length, n[n.length - 1].transform.mProps._mdf = !0, n[n.length - 1].transform.op._mdf = !0, n[n.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (a / (this._currentCopies - 1)), 0 !== b) {
for ((0 !== a && 1 === i || a !== this._currentCopies - 1 && -1 === i) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(_[0], _[1], _[2], _[3], _[4], _[5], _[6], _[7], _[8], _[9], _[10], _[11], _[12], _[13], _[14], _[15]), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]), l = 0; l < c; l += 1) r[l] = this.matrix.props[l];
this.matrix.reset()
} else for (this.matrix.reset(), l = 0; l < c; l += 1) r[l] = this.matrix.props[l];
b += 1, o -= 1, a += i
}
} else for (o = this._currentCopies, a = 0, i = 1; o;) r = (n = this.elemsData[a].it)[n.length - 1].transform.mProps.v.props, n[n.length - 1].transform.mProps._mdf = !1, n[n.length - 1].transform.op._mdf = !1, o -= 1, a += i;
return t
}, Fe.prototype.addShape = function () {
}, f([Le], ze), ze.prototype.initModifierProperties = function (e, t) {
this.getValue = this.processKeys, this.rd = ve.getProp(e, t.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length
}, ze.prototype.processPath = function (e, t) {
var n, r, a, i, o, s, l, c, u, d, p, h, f, m = xe.newElement();
m.c = e.c;
var g = e._length, v = 0;
for (n = 0; n < g; n += 1) r = e.v[n], i = e.o[n], a = e.i[n], r[0] === i[0] && r[1] === i[1] && r[0] === a[0] && r[1] === a[1] ? 0 !== n && n !== g - 1 || e.c ? (o = 0 === n ? e.v[g - 1] : e.v[n - 1], l = (s = Math.sqrt(Math.pow(r[0] - o[0], 2) + Math.pow(r[1] - o[1], 2))) ? Math.min(s / 2, t) / s : 0, c = h = r[0] + (o[0] - r[0]) * l, u = f = r[1] - (r[1] - o[1]) * l, d = c - .5519 * (c - r[0]), p = u - .5519 * (u - r[1]), m.setTripleAt(c, u, d, p, h, f, v), v += 1, o = n === g - 1 ? e.v[0] : e.v[n + 1], l = (s = Math.sqrt(Math.pow(r[0] - o[0], 2) + Math.pow(r[1] - o[1], 2))) ? Math.min(s / 2, t) / s : 0, c = d = r[0] + (o[0] - r[0]) * l, u = p = r[1] + (o[1] - r[1]) * l, h = c - .5519 * (c - r[0]), f = u - .5519 * (u - r[1]), m.setTripleAt(c, u, d, p, h, f, v)) : m.setTripleAt(r[0], r[1], i[0], i[1], a[0], a[1], v) : m.setTripleAt(e.v[n][0], e.v[n][1], e.o[n][0], e.o[n][1], e.i[n][0], e.i[n][1], v), v += 1;
return m
}, ze.prototype.processShapes = function (e) {
var t, n, r, a, i, o, s = this.shapes.length, l = this.rd.v;
if (0 !== l) for (n = 0; n < s; n += 1) {
if (o = (i = this.shapes[n]).localShapeCollection, i.shape._mdf || this._mdf || e) for (o.releaseShapes(), i.shape._mdf = !0, t = i.shape.paths.shapes, a = i.shape.paths._length, r = 0; r < a; r += 1) o.addShape(this.processPath(t[r], l));
i.shape.paths = i.localShapeCollection
}
this.dynamicProperties.length || (this._mdf = !1)
}, qe.prototype.point = function (e) {
return [((this.a[0] * e + this.b[0]) * e + this.c[0]) * e + this.d[0], ((this.a[1] * e + this.b[1]) * e + this.c[1]) * e + this.d[1]]
}, qe.prototype.derivative = function (e) {
return [(3 * e * this.a[0] + 2 * this.b[0]) * e + this.c[0], (3 * e * this.a[1] + 2 * this.b[1]) * e + this.c[1]]
}, qe.prototype.tangentAngle = function (e) {
var t = this.derivative(e);
return Math.atan2(t[1], t[0])
}, qe.prototype.normalAngle = function (e) {
var t = this.derivative(e);
return Math.atan2(t[0], t[1])
}, qe.prototype.inflectionPoints = function () {
var e = this.a[1] * this.b[0] - this.a[0] * this.b[1];
if (Ue(e)) return [];
var t = -.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / e,
n = t * t - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / e;
if (n < 0) return [];
var r = Math.sqrt(n);
return Ue(r) ? r > 0 && r < 1 ? [t] : [] : [t - r, t + r].filter((function (e) {
return e > 0 && e < 1
}))
}, qe.prototype.split = function (e) {
if (e <= 0) return [$e(this.points[0]), this];
if (e >= 1) return [this, $e(this.points[this.points.length - 1])];
var t = Be(this.points[0], this.points[1], e), n = Be(this.points[1], this.points[2], e),
r = Be(this.points[2], this.points[3], e), a = Be(t, n, e), i = Be(n, r, e), o = Be(a, i, e);
return [new qe(this.points[0], t, a, o, !0), new qe(o, i, r, this.points[3], !0)]
}, qe.prototype.bounds = function () {
return {x: We(this, 0), y: We(this, 1)}
}, qe.prototype.boundingBox = function () {
var e = this.bounds();
return {
left: e.x.min,
right: e.x.max,
top: e.y.min,
bottom: e.y.max,
width: e.x.max - e.x.min,
height: e.y.max - e.y.min,
cx: (e.x.max + e.x.min) / 2,
cy: (e.y.max + e.y.min) / 2
}
}, qe.prototype.intersections = function (e, t, n) {
void 0 === t && (t = 2), void 0 === n && (n = 7);
var r = [];
return function e(t, n, r, a, i, o) {
if (2 * Math.abs(t.cx - n.cx) < t.width + n.width && 2 * Math.abs(t.cy - n.cy) < t.height + n.height) {
if (r >= o || t.width <= a && t.height <= a && n.width <= a && n.height <= a) return void i.push([t.t, n.t]);
var s = Ke(t), l = Ke(n);
e(s[0], l[0], r + 1, a, i, o), e(s[0], l[1], r + 1, a, i, o), e(s[1], l[0], r + 1, a, i, o), e(s[1], l[1], r + 1, a, i, o)
}
}(He(this, 0, 1), He(e, 0, 1), 0, t, r, n), r
}, qe.shapeSegment = function (e, t) {
var n = (t + 1) % e.length();
return new qe(e.v[t], e.o[t], e.i[n], e.v[n], !0)
}, qe.shapeSegmentInverted = function (e, t) {
var n = (t + 1) % e.length();
return new qe(e.v[n], e.i[n], e.o[t], e.v[t], !0)
}, f([Le], et), et.prototype.initModifierProperties = function (e, t) {
this.getValue = this.processKeys, this.amplitude = ve.getProp(e, t.s, 0, null, this), this.frequency = ve.getProp(e, t.r, 0, null, this), this.pointsType = ve.getProp(e, t.pt, 0, null, this), this._isAnimated = 0 !== this.amplitude.effectsSequence.length || 0 !== this.frequency.effectsSequence.length || 0 !== this.pointsType.effectsSequence.length
}, et.prototype.processPath = function (e, t, n, r) {
var a = e._length, i = xe.newElement();
if (i.c = e.c, e.c || (a -= 1), 0 === a) return i;
var o = -1, s = qe.shapeSegment(e, 0);
nt(i, e, 0, t, n, r, o);
for (var l = 0; l < a; l += 1) o = function (e, t, n, r, a, i) {
for (var o = 0; o < r; o += 1) {
var s = (o + 1) / (r + 1),
l = 2 === a ? Math.sqrt(Math.pow(t.points[3][0] - t.points[0][0], 2) + Math.pow(t.points[3][1] - t.points[0][1], 2)) : 0,
c = t.normalAngle(s);
tt(e, t.point(s), c, i, n, l / (2 * (r + 1)), l / (2 * (r + 1))), i = -i
}
return i
}(i, s, t, n, r, -o), s = l !== a - 1 || e.c ? qe.shapeSegment(e, (l + 1) % a) : null, nt(i, e, l + 1, t, n, r, o);
return i
}, et.prototype.processShapes = function (e) {
var t, n, r, a, i, o, s = this.shapes.length, l = this.amplitude.v,
c = Math.max(0, Math.round(this.frequency.v)), u = this.pointsType.v;
if (0 !== l) for (n = 0; n < s; n += 1) {
if (o = (i = this.shapes[n]).localShapeCollection, i.shape._mdf || this._mdf || e) for (o.releaseShapes(), i.shape._mdf = !0, t = i.shape.paths.shapes, a = i.shape.paths._length, r = 0; r < a; r += 1) o.addShape(this.processPath(t[r], l, c, u));
i.shape.paths = i.localShapeCollection
}
this.dynamicProperties.length || (this._mdf = !1)
}, f([Le], ct), ct.prototype.initModifierProperties = function (e, t) {
this.getValue = this.processKeys, this.amount = ve.getProp(e, t.a, 0, null, this), this.miterLimit = ve.getProp(e, t.ml, 0, null, this), this.lineJoin = t.lj, this._isAnimated = 0 !== this.amount.effectsSequence.length
}, ct.prototype.processPath = function (e, t, n, r) {
var a, i, o, s = xe.newElement();
s.c = e.c;
var l = e.length();
e.c || (l -= 1);
var c = [];
for (a = 0; a < l; a += 1) o = qe.shapeSegment(e, a), c.push(lt(o, t));
if (!e.c) for (a = l - 1; a >= 0; a -= 1) o = qe.shapeSegmentInverted(e, a), c.push(lt(o, t));
c = function (e) {
for (var t, n = 1; n < e.length; n += 1) t = st(e[n - 1], e[n]), e[n - 1] = t[0], e[n] = t[1];
return e.length > 1 && (t = st(e[e.length - 1], e[0]), e[e.length - 1] = t[0], e[0] = t[1]), e
}(c);
var u = null, d = null;
for (a = 0; a < c.length; a += 1) {
var p = c[a];
for (d && (u = it(s, d, p[0], n, r)), d = p[p.length - 1], i = 0; i < p.length; i += 1) o = p[i], u && Je(o.points[0], u) ? s.setXYAt(o.points[1][0], o.points[1][1], "o", s.length() - 1) : s.setTripleAt(o.points[0][0], o.points[0][1], o.points[1][0], o.points[1][1], o.points[0][0], o.points[0][1], s.length()), s.setTripleAt(o.points[3][0], o.points[3][1], o.points[3][0], o.points[3][1], o.points[2][0], o.points[2][1], s.length()), u = o.points[3]
}
return c.length && it(s, d, c[0][0], n, r), s
}, ct.prototype.processShapes = function (e) {
var t, n, r, a, i, o, s = this.shapes.length, l = this.amount.v, c = this.miterLimit.v,
u = this.lineJoin;
if (0 !== l) for (n = 0; n < s; n += 1) {
if (o = (i = this.shapes[n]).localShapeCollection, i.shape._mdf || this._mdf || e) for (o.releaseShapes(), i.shape._mdf = !0, t = i.shape.paths.shapes, a = i.shape.paths._length, r = 0; r < a; r += 1) o.addShape(this.processPath(t[r], l, u, c));
i.shape.paths = i.localShapeCollection
}
this.dynamicProperties.length || (this._mdf = !1)
};
var dt = function () {
var e = {w: 0, size: 0, shapes: [], data: {shapes: []}}, t = [];
t = t.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);
var n = ["d83cdffb", "d83cdffc", "d83cdffd", "d83cdffe", "d83cdfff"];
function r(e, t) {
var n = h("span");
n.setAttribute("aria-hidden", !0), n.style.fontFamily = t;
var r = h("span");
r.innerText = "giItT1WQy@!-/#", n.style.position = "absolute", n.style.left = "-10000px", n.style.top = "-10000px", n.style.fontSize = "300px", n.style.fontVariant = "normal", n.style.fontStyle = "normal", n.style.fontWeight = "normal", n.style.letterSpacing = "0", n.appendChild(r), document.body.appendChild(n);
var a = r.offsetWidth;
return r.style.fontFamily = function (e) {
var t, n = e.split(","), r = n.length, a = [];
for (t = 0; t < r; t += 1) "sans-serif" !== n[t] && "monospace" !== n[t] && a.push(n[t]);
return a.join(",")
}(e) + ", " + t, {node: r, w: a, parent: n}
}
function a(e, t) {
var n, r = document.body && t ? "svg" : "canvas", a = ut(e);
if ("svg" === r) {
var i = $("text");
i.style.fontSize = "100px", i.setAttribute("font-family", e.fFamily), i.setAttribute("font-style", a.style), i.setAttribute("font-weight", a.weight), i.textContent = "1", e.fClass ? (i.style.fontFamily = "inherit", i.setAttribute("class", e.fClass)) : i.style.fontFamily = e.fFamily, t.appendChild(i), n = i
} else {
var o = new OffscreenCanvas(500, 500).getContext("2d");
o.font = a.style + " " + a.weight + " 100px " + e.fFamily, n = o
}
return {
measureText: function (e) {
return "svg" === r ? (n.textContent = e, n.getComputedTextLength()) : n.measureText(e).width
}
}
}
function i(e) {
var t = 0, n = e.charCodeAt(0);
if (n >= 55296 && n <= 56319) {
var r = e.charCodeAt(1);
r >= 56320 && r <= 57343 && (t = 1024 * (n - 55296) + r - 56320 + 65536)
}
return t
}
function o(e) {
var t = i(e);
return t >= 127462 && t <= 127487
}
var s = function () {
this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)
};
return s.isModifier = function (e, t) {
var r = e.toString(16) + t.toString(16);
return -1 !== n.indexOf(r)
}, s.isZeroWidthJoiner = function (e) {
return 8205 === e
}, s.isFlagEmoji = function (e) {
return o(e.substr(0, 2)) && o(e.substr(2, 2))
}, s.isRegionalCode = o, s.isCombinedCharacter = function (e) {
return -1 !== t.indexOf(e)
}, s.isRegionalFlag = function (e, t) {
var n = i(e.substr(t, 2));
if (127988 !== n) return !1;
var r = 0;
for (t += 2; r < 5;) {
if ((n = i(e.substr(t, 2))) < 917601 || n > 917626) return !1;
r += 1, t += 2
}
return 917631 === i(e.substr(t, 2))
}, s.isVariationSelector = function (e) {
return 65039 === e
}, s.BLACK_FLAG_CODE_POINT = 127988, s.prototype = {
addChars: function (e) {
if (e) {
this.chars || (this.chars = []);
var t, n, r, a = e.length, i = this.chars.length;
for (t = 0; t < a; t += 1) {
for (n = 0, r = !1; n < i;) this.chars[n].style === e[t].style && this.chars[n].fFamily === e[t].fFamily && this.chars[n].ch === e[t].ch && (r = !0), n += 1;
r || (this.chars.push(e[t]), i += 1)
}
}
}, addFonts: function (e, t) {
if (e) {
if (this.chars) return this.isLoaded = !0, void (this.fonts = e.list);
if (!document.body) return this.isLoaded = !0, e.list.forEach((function (e) {
e.helper = a(e), e.cache = {}
})), void (this.fonts = e.list);
var n = e.list, i = n.length, o = i;
for (s = 0; s < i; s += 1) {
var s, l, c, u = !0;
if (n[s].loaded = !1, n[s].monoCase = r(n[s].fFamily, "monospace"), n[s].sansCase = r(n[s].fFamily, "sans-serif"), n[s].fPath) {
if ("p" === n[s].fOrigin || 3 === n[s].origin) {
if ((l = document.querySelectorAll('style[f-forigin="p"][f-family="' + n[s].fFamily + '"], style[f-origin="3"][f-family="' + n[s].fFamily + '"]')).length > 0 && (u = !1), u) {
var d = h("style");
d.setAttribute("f-forigin", n[s].fOrigin), d.setAttribute("f-origin", n[s].origin), d.setAttribute("f-family", n[s].fFamily), d.type = "text/css", d.innerText = "@font-face {font-family: " + n[s].fFamily + "; font-style: normal; src: url('" + n[s].fPath + "');}", t.appendChild(d)
}
} else if ("g" === n[s].fOrigin || 1 === n[s].origin) {
for (c = 0, l = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'); c < l.length; c += 1) -1 !== l[c].href.indexOf(n[s].fPath) && (u = !1);
if (u) {
var p = h("link");
p.setAttribute("f-forigin", n[s].fOrigin), p.setAttribute("f-origin", n[s].origin), p.type = "text/css", p.rel = "stylesheet", p.href = n[s].fPath, document.body.appendChild(p)
}
} else if ("t" === n[s].fOrigin || 2 === n[s].origin) {
for (c = 0, l = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'); c < l.length; c += 1) n[s].fPath === l[c].src && (u = !1);
if (u) {
var f = h("link");
f.setAttribute("f-forigin", n[s].fOrigin), f.setAttribute("f-origin", n[s].origin), f.setAttribute("rel", "stylesheet"), f.setAttribute("href", n[s].fPath), t.appendChild(f)
}
}
} else n[s].loaded = !0, o -= 1;
n[s].helper = a(n[s], t), n[s].cache = {}, this.fonts.push(n[s])
}
0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100)
} else this.isLoaded = !0
}, getCharData: function (t, n, r) {
for (var a = 0, i = this.chars.length; a < i;) {
if (this.chars[a].ch === t && this.chars[a].style === n && this.chars[a].fFamily === r) return this.chars[a];
a += 1
}
return ("string" == typeof t && 13 !== t.charCodeAt(0) || !t) && console && console.warn && !this._warned && (this._warned = !0, console.warn("Missing character from exported characters list: ", t, n, r)), e
}, getFontByName: function (e) {
for (var t = 0, n = this.fonts.length; t < n;) {
if (this.fonts[t].fName === e) return this.fonts[t];
t += 1
}
return this.fonts[0]
}, measureText: function (e, t, n) {
var r = this.getFontByName(t);
if (!r.cache[e]) {
var a = r.helper;
if (" " === e) {
var i = a.measureText("|" + e + "|"), o = a.measureText("||");
r.cache[e] = (i - o) / 100
} else r.cache[e] = a.measureText(e) / 100
}
return r.cache[e] * n
}, checkLoadedFonts: function () {
var e, t, n, r = this.fonts.length, a = r;
for (e = 0; e < r; e += 1) this.fonts[e].loaded ? a -= 1 : "n" === this.fonts[e].fOrigin || 0 === this.fonts[e].origin ? this.fonts[e].loaded = !0 : (t = this.fonts[e].monoCase.node, n = this.fonts[e].monoCase.w, t.offsetWidth !== n ? (a -= 1, this.fonts[e].loaded = !0) : (t = this.fonts[e].sansCase.node, n = this.fonts[e].sansCase.w, t.offsetWidth !== n && (a -= 1, this.fonts[e].loaded = !0)), this.fonts[e].loaded && (this.fonts[e].sansCase.parent.parentNode.removeChild(this.fonts[e].sansCase.parent), this.fonts[e].monoCase.parent.parentNode.removeChild(this.fonts[e].monoCase.parent)));
0 !== a && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10)
}, setIsLoaded: function () {
this.isLoaded = !0
}
}, s
}();
function pt(e) {
this.animationData = e
}
function ht() {
}
pt.prototype.getProp = function (e) {
return this.animationData.slots && this.animationData.slots[e.sid] ? Object.assign(e, this.animationData.slots[e.sid].p) : e
}, ht.prototype = {
initRenderable: function () {
this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = []
}, addRenderableComponent: function (e) {
-1 === this.renderableComponents.indexOf(e) && this.renderableComponents.push(e)
}, removeRenderableComponent: function (e) {
-1 !== this.renderableComponents.indexOf(e) && this.renderableComponents.splice(this.renderableComponents.indexOf(e), 1)
}, prepareRenderableFrame: function (e) {
this.checkLayerLimits(e)
}, checkTransparency: function () {
this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show())
}, checkLayerLimits: function (e) {
this.data.ip - this.data.st <= e && this.data.op - this.data.st > e ? !0 !== this.isInRange && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0, this.isInRange = !1, this.hide())
}, renderRenderable: function () {
var e, t = this.renderableComponents.length;
for (e = 0; e < t; e += 1) this.renderableComponents[e].renderFrame(this._isFirstFrame)
}, sourceRectAtTime: function () {
return {top: 0, left: 0, width: 100, height: 100}
}, getLayerSize: function () {
return 5 === this.data.ty ? {
w: this.data.textData.width,
h: this.data.textData.height
} : {w: this.data.width, h: this.data.height}
}
};
var ft = (s = {
0: "source-over",
1: "multiply",
2: "screen",
3: "overlay",
4: "darken",
5: "lighten",
6: "color-dodge",
7: "color-burn",
8: "hard-light",
9: "soft-light",
10: "difference",
11: "exclusion",
12: "hue",
13: "saturation",
14: "color",
15: "luminosity"
}, function (e) {
return s[e] || ""
});
function mt(e, t, n) {
this.p = ve.getProp(t, e.v, 0, 0, n)
}
function gt(e, t, n) {
this.p = ve.getProp(t, e.v, 0, 0, n)
}
function vt(e, t, n) {
this.p = ve.getProp(t, e.v, 1, 0, n)
}
function _t(e, t, n) {
this.p = ve.getProp(t, e.v, 1, 0, n)
}
function yt(e, t, n) {
this.p = ve.getProp(t, e.v, 0, 0, n)
}
function bt(e, t, n) {
this.p = ve.getProp(t, e.v, 0, 0, n)
}
function xt(e, t, n) {
this.p = ve.getProp(t, e.v, 0, 0, n)
}
function wt() {
this.p = {}
}
function kt(e, t) {
var n, r, a = e.ef || [];
this.effectElements = [];
var i = a.length;
for (n = 0; n < i; n += 1) r = new St(a[n], t), this.effectElements.push(r)
}
function St(e, t) {
this.init(e, t)
}
function Et() {
}
function It() {
}
function Ct(e, t, n) {
this.initFrame(), this.initRenderable(), this.assetData = t.getAssetData(e.refId), this.footageData = t.imageLoader.getAsset(this.assetData), this.initBaseData(e, t, n)
}
function Ot(e, t, n) {
this.initFrame(), this.initRenderable(), this.assetData = t.getAssetData(e.refId), this.initBaseData(e, t, n), this._isPlaying = !1, this._canPlay = !1;
var r = this.globalData.getAssetsPath(this.assetData);
this.audio = this.globalData.audioController.createAudio(r), this._currentTime = 0, this.globalData.audioController.addAudio(this), this._volumeMultiplier = 1, this._volume = 1, this._previousVolume = null, this.tm = e.tm ? ve.getProp(this, e.tm, 0, t.frameRate, this) : {_placeholder: !0}, this.lv = ve.getProp(this, e.au && e.au.lv ? e.au.lv : {k: [100]}, 1, .01, this)
}
function Pt() {
}
f([_e], St), St.prototype.getValue = St.prototype.iterateDynamicProperties, St.prototype.init = function (e, t) {
this.data = e, this.effectElements = [], this.initDynamicPropertyContainer(t);
var n, r, a = this.data.ef.length, i = this.data.ef;
for (n = 0; n < a; n += 1) {
switch (r = null, i[n].ty) {
case 0:
r = new mt(i[n], t, this);
break;
case 1:
r = new gt(i[n], t, this);
break;
case 2:
r = new vt(i[n], t, this);
break;
case 3:
r = new _t(i[n], t, this);
break;
case 4:
case 7:
r = new xt(i[n], t, this);
break;
case 10:
r = new yt(i[n], t, this);
break;
case 11:
r = new bt(i[n], t, this);
break;
case 5:
r = new kt(i[n], t);
break;
default:
r = new wt(i[n])
}
r && this.effectElements.push(r)
}
}, Et.prototype = {
checkMasks: function () {
if (!this.data.hasMask) return !1;
for (var e = 0, t = this.data.masksProperties.length; e < t;) {
if ("n" !== this.data.masksProperties[e].mode && !1 !== this.data.masksProperties[e].cl) return !0;
e += 1
}
return !1
}, initExpressions: function () {
}, setBlendMode: function () {
var e = ft(this.data.bm);
(this.baseElement || this.layerElement).style["mix-blend-mode"] = e
}, initBaseData: function (e, t, n) {
this.globalData = t, this.comp = n, this.data = e, this.layerId = j(), this.data.sr || (this.data.sr = 1), this.effectsManager = new kt(this.data, this, this.dynamicProperties)
}, getType: function () {
return this.type
}, sourceRectAtTime: function () {
}
}, It.prototype = {
initFrame: function () {
this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1
}, prepareProperties: function (e, t) {
var n, r = this.dynamicProperties.length;
for (n = 0; n < r; n += 1) (t || this._isParent && "transform" === this.dynamicProperties[n].propType) && (this.dynamicProperties[n].getValue(), this.dynamicProperties[n]._mdf && (this.globalData._mdf = !0, this._mdf = !0))
}, addDynamicProperty: function (e) {
-1 === this.dynamicProperties.indexOf(e) && this.dynamicProperties.push(e)
}
}, Ct.prototype.prepareFrame = function () {
}, f([ht, Et, It], Ct), Ct.prototype.getBaseElement = function () {
return null
}, Ct.prototype.renderFrame = function () {
}, Ct.prototype.destroy = function () {
}, Ct.prototype.initExpressions = function () {
}, Ct.prototype.getFootageData = function () {
return this.footageData
}, Ot.prototype.prepareFrame = function (e) {
if (this.prepareRenderableFrame(e, !0), this.prepareProperties(e, !0), this.tm._placeholder) this._currentTime = e / this.data.sr; else {
var t = this.tm.v;
this._currentTime = t
}
this._volume = this.lv.v[0];
var n = this._volume * this._volumeMultiplier;
this._previousVolume !== n && (this._previousVolume = n, this.audio.volume(n))
}, f([ht, Et, It], Ot), Ot.prototype.renderFrame = function () {
this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0))
}, Ot.prototype.show = function () {
}, Ot.prototype.hide = function () {
this.audio.pause(), this._isPlaying = !1
}, Ot.prototype.pause = function () {
this.audio.pause(), this._isPlaying = !1, this._canPlay = !1
}, Ot.prototype.resume = function () {
this._canPlay = !0
}, Ot.prototype.setRate = function (e) {
this.audio.rate(e)
}, Ot.prototype.volume = function (e) {
this._volumeMultiplier = e, this._previousVolume = e * this._volume, this.audio.volume(this._previousVolume)
}, Ot.prototype.getBaseElement = function () {
return null
}, Ot.prototype.destroy = function () {
}, Ot.prototype.sourceRectAtTime = function () {
}, Ot.prototype.initExpressions = function () {
}, Pt.prototype.checkLayers = function (e) {
var t, n, r = this.layers.length;
for (this.completeLayers = !0, t = r - 1; t >= 0; t -= 1) !this.elements[t] && (n = this.layers[t]).ip - n.st <= e - this.layers[t].st && n.op - n.st > e - this.layers[t].st && this.buildItem(t), this.completeLayers = !!this.elements[t] && this.completeLayers;
this.checkPendingElements()
}, Pt.prototype.createItem = function (e) {
switch (e.ty) {
case 2:
return this.createImage(e);
case 0:
return this.createComp(e);
case 1:
return this.createSolid(e);
case 3:
default:
return this.createNull(e);
case 4:
return this.createShape(e);
case 5:
return this.createText(e);
case 6:
return this.createAudio(e);
case 13:
return this.createCamera(e);
case 15:
return this.createFootage(e)
}
}, Pt.prototype.createCamera = function () {
throw Error("You're using a 3d camera. Try the html renderer.")
}, Pt.prototype.createAudio = function (e) {
return new Ot(e, this.globalData, this)
}, Pt.prototype.createFootage = function (e) {
return new Ct(e, this.globalData, this)
}, Pt.prototype.buildAllItems = function () {
var e, t = this.layers.length;
for (e = 0; e < t; e += 1) this.buildItem(e);
this.checkPendingElements()
}, Pt.prototype.includeLayers = function (e) {
this.completeLayers = !1;
var t, n, r = e.length, a = this.layers.length;
for (t = 0; t < r; t += 1) for (n = 0; n < a;) {
if (this.layers[n].id === e[t].id) {
this.layers[n] = e[t];
break
}
n += 1
}
}, Pt.prototype.setProjectInterface = function (e) {
this.globalData.projectInterface = e
}, Pt.prototype.initItems = function () {
this.globalData.progressiveLoad || this.buildAllItems()
}, Pt.prototype.buildElementParenting = function (e, t, n) {
for (var r = this.elements, a = this.layers, i = 0, o = a.length; i < o;) a[i].ind == t && (r[i] && !0 !== r[i] ? (n.push(r[i]), r[i].setAsParent(), void 0 !== a[i].parent ? this.buildElementParenting(e, a[i].parent, n) : e.setHierarchy(n)) : (this.buildItem(i), this.addPendingElement(e))), i += 1
}, Pt.prototype.addPendingElement = function (e) {
this.pendingElements.push(e)
}, Pt.prototype.searchExtraCompositions = function (e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) if (e[t].xt) {
var r = this.createComp(e[t]);
r.initExpressions(), this.globalData.projectInterface.registerComposition(r)
}
}, Pt.prototype.getElementById = function (e) {
var t, n = this.elements.length;
for (t = 0; t < n; t += 1) if (this.elements[t].data.ind === e) return this.elements[t];
return null
}, Pt.prototype.getElementByPath = function (e) {
var t = e.shift();
if ("number" == typeof t) n = this.elements[t]; else {
var n, r, a = this.elements.length;
for (r = 0; r < a; r += 1) if (this.elements[r].data.nm === t) {
n = this.elements[r];
break
}
}
return 0 === e.length ? n : n.getElementByPath(e)
}, Pt.prototype.setupGlobalData = function (e, t) {
this.globalData.fontManager = new dt, this.globalData.slotManager = new pt(e), this.globalData.fontManager.addChars(e.chars), this.globalData.fontManager.addFonts(e.fonts, t), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = e.fr, this.globalData.nm = e.nm, this.globalData.compSize = {
w: e.w,
h: e.h
}
};
var At = "transformEFfect";
function Tt() {
}
function Dt(e, t, n) {
this.data = e, this.element = t, this.globalData = n, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;
var r = this.globalData.defs, a = this.masksProperties ? this.masksProperties.length : 0;
this.viewData = v(a), this.solidPath = "";
var i = this.masksProperties, o = 0, s = [], l = j(), c = "clipPath", u = "clip-path";
for (d = 0; d < a; d += 1) if (("a" !== i[d].mode && "n" !== i[d].mode || i[d].inv || 100 !== i[d].o.k || i[d].o.x) && (c = "mask", u = "mask"), "s" !== i[d].mode && "i" !== i[d].mode || 0 !== o ? g = null : ((g = $("rect")).setAttribute("fill", "#ffffff"), g.setAttribute("width", this.element.comp.data.w || 0), g.setAttribute("height", this.element.comp.data.h || 0), s.push(g)), h = $("path"), "n" === i[d].mode) this.viewData[d] = {
op: ve.getProp(this.element, i[d].o, 0, .01, this.element),
prop: Se.getShapeProp(this.element, i[d], 3),
elem: h,
lastPath: ""
}, r.appendChild(h); else {
if (o += 1, h.setAttribute("fill", "s" === i[d].mode ? "#000000" : "#ffffff"), h.setAttribute("clip-rule", "nonzero"), 0 !== i[d].x.k ? (c = "mask", u = "mask", b = ve.getProp(this.element, i[d].x, 0, null, this.element), x = j(), (_ = $("filter")).setAttribute("id", x), (y = $("feMorphology")).setAttribute("operator", "erode"), y.setAttribute("in", "SourceGraphic"), y.setAttribute("radius", "0"), _.appendChild(y), r.appendChild(_), h.setAttribute("stroke", "s" === i[d].mode ? "#000000" : "#ffffff")) : (y = null, b = null), this.storedData[d] = {
elem: h,
x: b,
expan: y,
lastPath: "",
lastOperator: "",
filterId: x,
lastRadius: 0
}, "i" === i[d].mode) {
m = s.length;
var d, h, f, m, g, _, y, b, x, w = $("g");
for (f = 0; f < m; f += 1) w.appendChild(s[f]);
var k = $("mask");
k.setAttribute("mask-type", "alpha"), k.setAttribute("id", l + "_" + o), k.appendChild(h), r.appendChild(k), w.setAttribute("mask", "url(" + p() + "#" + l + "_" + o + ")"), s.length = 0, s.push(w)
} else s.push(h);
i[d].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[d] = {
elem: h,
lastPath: "",
op: ve.getProp(this.element, i[d].o, 0, .01, this.element),
prop: Se.getShapeProp(this.element, i[d], 3),
invRect: g
}, this.viewData[d].prop.k || this.drawPath(i[d], this.viewData[d].prop.v, this.viewData[d])
}
for (d = 0, this.maskElement = $(c), a = s.length; d < a; d += 1) this.maskElement.appendChild(s[d]);
o > 0 && (this.maskElement.setAttribute("id", l), this.element.maskedElement.setAttribute(u, "url(" + p() + "#" + l + ")"), r.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this)
}
Tt.prototype = {
initTransform: function () {
var e = new Ee;
this.finalTransform = {
mProp: this.data.ks ? Me.getTransformProperty(this, this.data.ks, this) : {o: 0},
_matMdf: !1,
_localMatMdf: !1,
_opMdf: !1,
mat: e,
localMat: e,
localOpacity: 1
}, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty
}, renderTransform: function () {
if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {
var e, t = this.finalTransform.mat, n = 0, r = this.hierarchy.length;
if (!this.finalTransform._matMdf) for (; n < r;) {
if (this.hierarchy[n].finalTransform.mProp._mdf) {
this.finalTransform._matMdf = !0;
break
}
n += 1
}
if (this.finalTransform._matMdf) for (e = this.finalTransform.mProp.v.props, t.cloneFromProps(e), n = 0; n < r; n += 1) t.multiply(this.hierarchy[n].finalTransform.mProp.v)
}
this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v)
}, renderLocalTransform: function () {
if (this.localTransforms) {
var e = 0, t = this.localTransforms.length;
if (this.finalTransform._localMatMdf = this.finalTransform._matMdf, !this.finalTransform._localMatMdf || !this.finalTransform._opMdf) for (; e < t;) this.localTransforms[e]._mdf && (this.finalTransform._localMatMdf = !0), this.localTransforms[e]._opMdf && !this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v, this.finalTransform._opMdf = !0), e += 1;
if (this.finalTransform._localMatMdf) {
var n = this.finalTransform.localMat;
for (this.localTransforms[0].matrix.clone(n), e = 1; e < t; e += 1) {
var r = this.localTransforms[e].matrix;
n.multiply(r)
}
n.multiply(this.finalTransform.mat)
}
if (this.finalTransform._opMdf) {
var a = this.finalTransform.localOpacity;
for (e = 0; e < t; e += 1) a *= .01 * this.localTransforms[e].opacity;
this.finalTransform.localOpacity = a
}
}
}, searchEffectTransforms: function () {
if (this.renderableEffectsManager) {
var e = this.renderableEffectsManager.getEffects(At);
if (e.length) {
this.localTransforms = [], this.finalTransform.localMat = new Ee;
var t = 0, n = e.length;
for (t = 0; t < n; t += 1) this.localTransforms.push(e[t])
}
}
}, globalToLocal: function (e) {
var t, n, r = [];
r.push(this.finalTransform);
for (var a = !0, i = this.comp; a;) i.finalTransform ? (i.data.hasMask && r.splice(0, 0, i.finalTransform), i = i.comp) : a = !1;
var o = r.length;
for (t = 0; t < o; t += 1) n = r[t].mat.applyToPointArray(0, 0, 0), e = [e[0] - n[0], e[1] - n[1], 0];
return e
}, mHelper: new Ee
}, Dt.prototype.getMaskProperty = function (e) {
return this.viewData[e].prop
}, Dt.prototype.renderFrame = function (e) {
var t, n = this.element.finalTransform.mat, r = this.masksProperties.length;
for (t = 0; t < r; t += 1) if ((this.viewData[t].prop._mdf || e) && this.drawPath(this.masksProperties[t], this.viewData[t].prop.v, this.viewData[t]), (this.viewData[t].op._mdf || e) && this.viewData[t].elem.setAttribute("fill-opacity", this.viewData[t].op.v), "n" !== this.masksProperties[t].mode && (this.viewData[t].invRect && (this.element.finalTransform.mProp._mdf || e) && this.viewData[t].invRect.setAttribute("transform", n.getInverseMatrix().to2dCSS()), this.storedData[t].x && (this.storedData[t].x._mdf || e))) {
var a = this.storedData[t].expan;
this.storedData[t].x.v < 0 ? ("erode" !== this.storedData[t].lastOperator && (this.storedData[t].lastOperator = "erode", this.storedData[t].elem.setAttribute("filter", "url(" + p() + "#" + this.storedData[t].filterId + ")")), a.setAttribute("radius", -this.storedData[t].x.v)) : ("dilate" !== this.storedData[t].lastOperator && (this.storedData[t].lastOperator = "dilate", this.storedData[t].elem.setAttribute("filter", null)), this.storedData[t].elem.setAttribute("stroke-width", 2 * this.storedData[t].x.v))
}
}, Dt.prototype.getMaskelement = function () {
return this.maskElement
}, Dt.prototype.createLayerSolidPath = function () {
return "M0,0 h" + this.globalData.compSize.w + " v" + this.globalData.compSize.h + " h-" + this.globalData.compSize.w + " v-" + this.globalData.compSize.h + " "
}, Dt.prototype.drawPath = function (e, t, n) {
var r, a, i = " M" + t.v[0][0] + "," + t.v[0][1];
for (r = 1, a = t._length; r < a; r += 1) i += " C" + t.o[r - 1][0] + "," + t.o[r - 1][1] + " " + t.i[r][0] + "," + t.i[r][1] + " " + t.v[r][0] + "," + t.v[r][1];
if (t.c && a > 1 && (i += " C" + t.o[r - 1][0] + "," + t.o[r - 1][1] + " " + t.i[0][0] + "," + t.i[0][1] + " " + t.v[0][0] + "," + t.v[0][1]), n.lastPath !== i) {
var o = "";
n.elem && (t.c && (o = e.inv ? this.solidPath + i : i), n.elem.setAttribute("d", o)), n.lastPath = i
}
}, Dt.prototype.destroy = function () {
this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null
};
var Rt = ((l = {}).createFilter = function (e, t) {
var n = $("filter");
return n.setAttribute("id", e), !0 !== t && (n.setAttribute("filterUnits", "objectBoundingBox"), n.setAttribute("x", "0%"), n.setAttribute("y", "0%"), n.setAttribute("width", "100%"), n.setAttribute("height", "100%")), n
}, l.createAlphaToLuminanceFilter = function () {
var e = $("feColorMatrix");
return e.setAttribute("type", "matrix"), e.setAttribute("color-interpolation-filters", "sRGB"), e.setAttribute("values", "0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"), e
}, l), Lt = (c = {
maskType: !0,
svgLumaHidden: !0,
offscreenCanvas: "undefined" != typeof OffscreenCanvas
}, (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) && (c.maskType = !1), /firefox/i.test(navigator.userAgent) && (c.svgLumaHidden = !1), c),
jt = {}, Nt = "filter_result_";
function Mt(e) {
var t, n, r = "SourceGraphic", a = e.data.ef ? e.data.ef.length : 0, i = j(),
o = Rt.createFilter(i, !0), s = 0;
for (t = 0, this.filters = []; t < a; t += 1) {
n = null;
var l = e.data.ef[t].ty;
jt[l] && (n = new jt[l].effect(o, e.effectsManager.effectElements[t], e, Nt + s, r), r = Nt + s, jt[l].countsAsEffect && (s += 1)), n && this.filters.push(n)
}
s && (e.globalData.defs.appendChild(o), e.layerElement.setAttribute("filter", "url(" + p() + "#" + i + ")")), this.filters.length && e.addRenderableComponent(this)
}
function Ft() {
}
function zt() {
}
function Vt() {
}
function Ut(e, t, n) {
this.assetData = t.getAssetData(e.refId), this.assetData && this.assetData.sid && (this.assetData = t.slotManager.getProp(this.assetData)), this.initElement(e, t, n), this.sourceRect = {
top: 0,
left: 0,
width: this.assetData.w,
height: this.assetData.h
}
}
function Bt(e, t) {
this.elem = e, this.pos = t
}
function Gt() {
}
Mt.prototype.renderFrame = function (e) {
var t, n = this.filters.length;
for (t = 0; t < n; t += 1) this.filters[t].renderFrame(e)
}, Mt.prototype.getEffects = function (e) {
var t, n = this.filters.length, r = [];
for (t = 0; t < n; t += 1) this.filters[t].type === e && r.push(this.filters[t]);
return r
}, Ft.prototype = {
initRendererElement: function () {
this.layerElement = $("g")
}, createContainerElements: function () {
this.matteElement = $("g"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;
var e = null;
if (this.data.td) {
this.matteMasks = {};
var t = $("g");
t.setAttribute("id", this.layerId), t.appendChild(this.layerElement), e = t, this.globalData.defs.appendChild(t)
} else this.data.tt ? (this.matteElement.appendChild(this.layerElement), e = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;
if (this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), 0 === this.data.ty && !this.data.hd) {
var n = $("clipPath"), r = $("path");
r.setAttribute("d", "M0,0 L" + this.data.w + ",0 L" + this.data.w + "," + this.data.h + " L0," + this.data.h + "z");
var a = j();
if (n.setAttribute("id", a), n.appendChild(r), this.globalData.defs.appendChild(n), this.checkMasks()) {
var i = $("g");
i.setAttribute("clip-path", "url(" + p() + "#" + a + ")"), i.appendChild(this.layerElement), this.transformedElement = i, e ? e.appendChild(this.transformedElement) : this.baseElement = this.transformedElement
} else this.layerElement.setAttribute("clip-path", "url(" + p() + "#" + a + ")")
}
0 !== this.data.bm && this.setBlendMode()
}, renderElement: function () {
this.finalTransform._localMatMdf && this.transformedElement.setAttribute("transform", this.finalTransform.localMat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute("opacity", this.finalTransform.localOpacity)
}, destroyBaseElement: function () {
this.layerElement = null, this.matteElement = null, this.maskManager.destroy()
}, getBaseElement: function () {
return this.data.hd ? null : this.baseElement
}, createRenderableComponents: function () {
this.maskManager = new Dt(this.data, this, this.globalData), this.renderableEffectsManager = new Mt(this), this.searchEffectTransforms()
}, getMatte: function (e) {
if (this.matteMasks || (this.matteMasks = {}), !this.matteMasks[e]) {
var t, n, r, a, i = this.layerId + "_" + e;
if (1 === e || 3 === e) {
var o = $("mask");
o.setAttribute("id", i), o.setAttribute("mask-type", 3 === e ? "luminance" : "alpha"), (r = $("use")).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), o.appendChild(r), this.globalData.defs.appendChild(o), Lt.maskType || 1 !== e || (o.setAttribute("mask-type", "luminance"), t = j(), n = Rt.createFilter(t), this.globalData.defs.appendChild(n), n.appendChild(Rt.createAlphaToLuminanceFilter()), (a = $("g")).appendChild(r), o.appendChild(a), a.setAttribute("filter", "url(" + p() + "#" + t + ")"))
} else if (2 === e) {
var s = $("mask");
s.setAttribute("id", i), s.setAttribute("mask-type", "alpha");
var l = $("g");
s.appendChild(l), t = j(), n = Rt.createFilter(t);
var c = $("feComponentTransfer");
c.setAttribute("in", "SourceGraphic"), n.appendChild(c);
var u = $("feFuncA");
u.setAttribute("type", "table"), u.setAttribute("tableValues", "1.0 0.0"), c.appendChild(u), this.globalData.defs.appendChild(n);
var d = $("rect");
d.setAttribute("width", this.comp.data.w), d.setAttribute("height", this.comp.data.h), d.setAttribute("x", "0"), d.setAttribute("y", "0"), d.setAttribute("fill", "#ffffff"), d.setAttribute("opacity", "0"), l.setAttribute("filter", "url(" + p() + "#" + t + ")"), l.appendChild(d), (r = $("use")).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), l.appendChild(r), Lt.maskType || (s.setAttribute("mask-type", "luminance"), n.appendChild(Rt.createAlphaToLuminanceFilter()), a = $("g"), l.appendChild(d), a.appendChild(this.layerElement), l.appendChild(a)), this.globalData.defs.appendChild(s)
}
this.matteMasks[e] = i
}
return this.matteMasks[e]
}, setMatte: function (e) {
this.matteElement && this.matteElement.setAttribute("mask", "url(" + p() + "#" + e + ")")
}
}, zt.prototype = {
initHierarchy: function () {
this.hierarchy = [], this._isParent = !1, this.checkParenting()
}, setHierarchy: function (e) {
this.hierarchy = e
}, setAsParent: function () {
this._isParent = !0
}, checkParenting: function () {
void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, [])
}
}, f([ht, function (e) {
function t() {
}
return t.prototype = {
initElement: function (e, t, n) {
this.initFrame(), this.initBaseData(e, t, n), this.initTransform(e, t, n), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide()
}, hide: function () {
this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = "none", this.hidden = !0)
}, show: function () {
this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = "block"), this.hidden = !1, this._isFirstFrame = !0)
}, renderFrame: function () {
this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1))
}, renderInnerContent: function () {
}, prepareFrame: function (e) {
this._mdf = !1, this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange), this.checkTransparency()
}, destroy: function () {
this.innerElem = null, this.destroyBaseElement()
}
}, t
}()], Vt), f([Et, Tt, Ft, zt, It, Vt], Ut), Ut.prototype.createContent = function () {
var e = this.globalData.getAssetsPath(this.assetData);
this.innerElem = $("image"), this.innerElem.setAttribute("width", this.assetData.w + "px"), this.innerElem.setAttribute("height", this.assetData.h + "px"), this.innerElem.setAttribute("preserveAspectRatio", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", e), this.layerElement.appendChild(this.innerElem)
}, Ut.prototype.sourceRectAtTime = function () {
return this.sourceRect
}, Gt.prototype = {
addShapeToModifiers: function (e) {
var t, n = this.shapeModifiers.length;
for (t = 0; t < n; t += 1) this.shapeModifiers[t].addShape(e)
}, isShapeInAnimatedModifiers: function (e) {
for (var t = this.shapeModifiers.length; 0 < t;) if (this.shapeModifiers[0].isAnimatedWithShape(e)) return !0;
return !1
}, renderModifiers: function () {
if (this.shapeModifiers.length) {
var e, t = this.shapes.length;
for (e = 0; e < t; e += 1) this.shapes[e].sh.reset();
for (e = (t = this.shapeModifiers.length) - 1; e >= 0 && !this.shapeModifiers[e].processShapes(this._isFirstFrame); e -= 1) ;
}
}, searchProcessedElement: function (e) {
for (var t = this.processedElements, n = 0, r = t.length; n < r;) {
if (t[n].elem === e) return t[n].pos;
n += 1
}
return 0
}, addProcessedElement: function (e, t) {
for (var n = this.processedElements, r = n.length; r;) if (n[r -= 1].elem === e) return void (n[r].pos = t);
n.push(new Bt(e, t))
}, prepareFrame: function (e) {
this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange)
}
};
var $t = {1: "butt", 2: "round", 3: "square"}, qt = {1: "miter", 2: "round", 3: "bevel"};
function Wt(e, t, n) {
this.caches = [], this.styles = [], this.transformers = e, this.lStr = "", this.sh = n, this.lvl = t, this._isAnimated = !!n.k;
for (var r = 0, a = e.length; r < a;) {
if (e[r].mProps.dynamicProperties.length) {
this._isAnimated = !0;
break
}
r += 1
}
}
function Ht(e, t) {
this.data = e, this.type = e.ty, this.d = "", this.lvl = t, this._mdf = !1, this.closed = !0 === e.hd, this.pElem = $("path"), this.msElem = null
}
function Kt(e, t, n, r) {
this.elem = e, this.frameId = -1, this.dataProps = v(t.length), this.renderer = n, this.k = !1, this.dashStr = "", this.dashArray = g("float32", t.length ? t.length - 1 : 0), this.dashoffset = g("float32", 1), this.initDynamicPropertyContainer(r);
var a, i, o = t.length || 0;
for (a = 0; a < o; a += 1) i = ve.getProp(e, t[a].v, 0, 0, this), this.k = i.k || this.k, this.dataProps[a] = {
n: t[a].n,
p: i
};
this.k || this.getValue(!0), this._isAnimated = this.k
}
function Yt(e, t, n) {
this.initDynamicPropertyContainer(e), this.getValue = this.iterateDynamicProperties, this.o = ve.getProp(e, t.o, 0, .01, this), this.w = ve.getProp(e, t.w, 0, null, this), this.d = new Kt(e, t.d || {}, "svg", this), this.c = ve.getProp(e, t.c, 1, 255, this), this.style = n, this._isAnimated = !!this._isAnimated
}
function Qt(e, t, n) {
this.initDynamicPropertyContainer(e), this.getValue = this.iterateDynamicProperties, this.o = ve.getProp(e, t.o, 0, .01, this), this.c = ve.getProp(e, t.c, 1, 255, this), this.style = n
}
function Zt(e, t, n) {
this.initDynamicPropertyContainer(e), this.getValue = this.iterateDynamicProperties, this.style = n
}
function Xt(e, t, n) {
this.data = t, this.c = g("uint8c", 4 * t.p);
var r = t.k.k[0].s ? t.k.k[0].s.length - 4 * t.p : t.k.k.length - 4 * t.p;
this.o = g("float32", r), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = r, this.initDynamicPropertyContainer(n), this.prop = ve.getProp(e, t.k, 1, null, this), this.k = this.prop.k, this.getValue(!0)
}
function Jt(e, t, n) {
this.initDynamicPropertyContainer(e), this.getValue = this.iterateDynamicProperties, this.initGradientData(e, t, n)
}
function en(e, t, n) {
this.initDynamicPropertyContainer(e), this.getValue = this.iterateDynamicProperties, this.w = ve.getProp(e, t.w, 0, null, this), this.d = new Kt(e, t.d || {}, "svg", this), this.initGradientData(e, t, n), this._isAnimated = !!this._isAnimated
}
function tn() {
this.it = [], this.prevViewData = [], this.gr = $("g")
}
function nn(e, t, n) {
this.transform = {
mProps: e,
op: t,
container: n
}, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length
}
Wt.prototype.setAsAnimated = function () {
this._isAnimated = !0
}, Ht.prototype.reset = function () {
this.d = "", this._mdf = !1
}, Kt.prototype.getValue = function (e) {
if ((this.elem.globalData.frameId !== this.frameId || e) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || e, this._mdf)) {
var t = 0, n = this.dataProps.length;
for ("svg" === this.renderer && (this.dashStr = ""), t = 0; t < n; t += 1) "o" !== this.dataProps[t].n ? "svg" === this.renderer ? this.dashStr += " " + this.dataProps[t].p.v : this.dashArray[t] = this.dataProps[t].p.v : this.dashoffset[0] = this.dataProps[t].p.v
}
}, f([_e], Kt), f([_e], Yt), f([_e], Qt), f([_e], Zt), Xt.prototype.comparePoints = function (e, t) {
for (var n = 0, r = this.o.length / 2; n < r;) {
if (Math.abs(e[4 * n] - e[4 * t + 2 * n]) > .01) return !1;
n += 1
}
return !0
}, Xt.prototype.checkCollapsable = function () {
if (this.o.length / 2 != this.c.length / 4) return !1;
if (this.data.k.k[0].s) for (var e = 0, t = this.data.k.k.length; e < t;) {
if (!this.comparePoints(this.data.k.k[e].s, this.data.p)) return !1;
e += 1
} else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;
return !0
}, Xt.prototype.getValue = function (e) {
if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || e) {
var t, n, r, a = 4 * this.data.p;
for (t = 0; t < a; t += 1) n = t % 4 == 0 ? 100 : 255, r = Math.round(this.prop.v[t] * n), this.c[t] !== r && (this.c[t] = r, this._cmdf = !e);
if (this.o.length) for (a = this.prop.v.length, t = 4 * this.data.p; t < a; t += 1) n = t % 2 == 0 ? 100 : 1, r = t % 2 == 0 ? Math.round(100 * this.prop.v[t]) : this.prop.v[t], this.o[t - 4 * this.data.p] !== r && (this.o[t - 4 * this.data.p] = r, this._omdf = !e);
this._mdf = !e
}
}, f([_e], Xt), Jt.prototype.initGradientData = function (e, t, n) {
this.o = ve.getProp(e, t.o, 0, .01, this), this.s = ve.getProp(e, t.s, 1, null, this), this.e = ve.getProp(e, t.e, 1, null, this), this.h = ve.getProp(e, t.h || {k: 0}, 0, .01, this), this.a = ve.getProp(e, t.a || {k: 0}, 0, C, this), this.g = new Xt(e, t.g, this), this.style = n, this.stops = [], this.setGradientData(n.pElem, t), this.setGradientOpacity(t, n), this._isAnimated = !!this._isAnimated
}, Jt.prototype.setGradientData = function (e, t) {
var n, r, a, i = j(), o = $(1 === t.t ? "linearGradient" : "radialGradient");
o.setAttribute("id", i), o.setAttribute("spreadMethod", "pad"), o.setAttribute("gradientUnits", "userSpaceOnUse");
var s = [];
for (r = 0, a = 4 * t.g.p; r < a; r += 4) n = $("stop"), o.appendChild(n), s.push(n);
e.setAttribute("gf" === t.ty ? "fill" : "stroke", "url(" + p() + "#" + i + ")"), this.gf = o, this.cst = s
}, Jt.prototype.setGradientOpacity = function (e, t) {
if (this.g._hasOpacity && !this.g._collapsable) {
var n, r, a, i = $("mask"), o = $("path");
i.appendChild(o);
var s = j(), l = j();
i.setAttribute("id", l);
var c = $(1 === e.t ? "linearGradient" : "radialGradient");
c.setAttribute("id", s), c.setAttribute("spreadMethod", "pad"), c.setAttribute("gradientUnits", "userSpaceOnUse"), a = e.g.k.k[0].s ? e.g.k.k[0].s.length : e.g.k.k.length;
var u = this.stops;
for (r = 4 * e.g.p; r < a; r += 2) (n = $("stop")).setAttribute("stop-color", "rgb(255,255,255)"), c.appendChild(n), u.push(n);
o.setAttribute("gf" === e.ty ? "fill" : "stroke", "url(" + p() + "#" + s + ")"), "gs" === e.ty && (o.setAttribute("stroke-linecap", $t[e.lc || 2]), o.setAttribute("stroke-linejoin", qt[e.lj || 2]), 1 === e.lj && o.setAttribute("stroke-miterlimit", e.ml)), this.of = c, this.ms = i, this.ost = u, this.maskId = l, t.msElem = o
}
}, f([_e], Jt), f([Jt, _e], en);
var rn = function (e, t, n, r) {
if (0 === t) return "";
var a, i = e.o, o = e.i, s = e.v, l = " M" + r.applyToPointStringified(s[0][0], s[0][1]);
for (a = 1; a < t; a += 1) l += " C" + r.applyToPointStringified(i[a - 1][0], i[a - 1][1]) + " " + r.applyToPointStringified(o[a][0], o[a][1]) + " " + r.applyToPointStringified(s[a][0], s[a][1]);
return n && t && (l += " C" + r.applyToPointStringified(i[a - 1][0], i[a - 1][1]) + " " + r.applyToPointStringified(o[0][0], o[0][1]) + " " + r.applyToPointStringified(s[0][0], s[0][1]) + "z"), l
}, an = function () {
var e = new Ee, t = new Ee;
function n(e, t, n) {
(n || t.transform.op._mdf) && t.transform.container.setAttribute("opacity", t.transform.op.v), (n || t.transform.mProps._mdf) && t.transform.container.setAttribute("transform", t.transform.mProps.v.to2dCSS())
}
function r() {
}
function a(n, r, a) {
var i, o, s, l, c, u, d, p, h, f, m = r.styles.length, g = r.lvl;
for (u = 0; u < m; u += 1) {
if (l = r.sh._mdf || a, r.styles[u].lvl < g) {
for (p = t.reset(), h = g - r.styles[u].lvl, f = r.transformers.length - 1; !l && h > 0;) l = r.transformers[f].mProps._mdf || l, h -= 1, f -= 1;
if (l) for (h = g - r.styles[u].lvl, f = r.transformers.length - 1; h > 0;) p.multiply(r.transformers[f].mProps.v), h -= 1, f -= 1
} else p = e;
if (o = (d = r.sh.paths)._length, l) {
for (i = 0, s = ""; i < o; i += 1) (c = d.shapes[i]) && c._length && (s += rn(c, c._length, c.c, p));
r.caches[u] = s
} else s = r.caches[u];
r.styles[u].d += !0 === n.hd ? "" : s, r.styles[u]._mdf = l || r.styles[u]._mdf
}
}
function i(e, t, n) {
var r = t.style;
(t.c._mdf || n) && r.pElem.setAttribute("fill", "rgb(" + S(t.c.v[0]) + "," + S(t.c.v[1]) + "," + S(t.c.v[2]) + ")"), (t.o._mdf || n) && r.pElem.setAttribute("fill-opacity", t.o.v)
}
function o(e, t, n) {
s(e, t, n), l(e, t, n)
}
function s(e, t, n) {
var r, a, i, o, s, l = t.gf, c = t.g._hasOpacity, u = t.s.v, d = t.e.v;
if (t.o._mdf || n) {
var p = "gf" === e.ty ? "fill-opacity" : "stroke-opacity";
t.style.pElem.setAttribute(p, t.o.v)
}
if (t.s._mdf || n) {
var h = 1 === e.t ? "x1" : "cx", f = "x1" === h ? "y1" : "cy";
l.setAttribute(h, u[0]), l.setAttribute(f, u[1]), c && !t.g._collapsable && (t.of.setAttribute(h, u[0]), t.of.setAttribute(f, u[1]))
}
if (t.g._cmdf || n) {
r = t.cst;
var m = t.g.c;
for (a = 0, i = r.length; a < i; a += 1) (o = r[a]).setAttribute("offset", m[4 * a] + "%"), o.setAttribute("stop-color", "rgb(" + m[4 * a + 1] + "," + m[4 * a + 2] + "," + m[4 * a + 3] + ")")
}
if (c && (t.g._omdf || n)) {
var g = t.g.o;
for (a = 0, i = (r = t.g._collapsable ? t.cst : t.ost).length; a < i; a += 1) o = r[a], t.g._collapsable || o.setAttribute("offset", g[2 * a] + "%"), o.setAttribute("stop-opacity", g[2 * a + 1])
}
if (1 === e.t) (t.e._mdf || n) && (l.setAttribute("x2", d[0]), l.setAttribute("y2", d[1]), c && !t.g._collapsable && (t.of.setAttribute("x2", d[0]), t.of.setAttribute("y2", d[1]))); else if ((t.s._mdf || t.e._mdf || n) && (s = Math.sqrt(Math.pow(u[0] - d[0], 2) + Math.pow(u[1] - d[1], 2)), l.setAttribute("r", s), c && !t.g._collapsable && t.of.setAttribute("r", s)), t.e._mdf || t.h._mdf || t.a._mdf || n) {
s || (s = Math.sqrt(Math.pow(u[0] - d[0], 2) + Math.pow(u[1] - d[1], 2)));
var v = Math.atan2(d[1] - u[1], d[0] - u[0]), _ = t.h.v;
_ >= 1 ? _ = .99 : _ <= -1 && (_ = -.99);
var y = s * _, b = Math.cos(v + t.a.v) * y + u[0], x = Math.sin(v + t.a.v) * y + u[1];
l.setAttribute("fx", b), l.setAttribute("fy", x), c && !t.g._collapsable && (t.of.setAttribute("fx", b), t.of.setAttribute("fy", x))
}
}
function l(e, t, n) {
var r = t.style, a = t.d;
a && (a._mdf || n) && a.dashStr && (r.pElem.setAttribute("stroke-dasharray", a.dashStr), r.pElem.setAttribute("stroke-dashoffset", a.dashoffset[0])), t.c && (t.c._mdf || n) && r.pElem.setAttribute("stroke", "rgb(" + S(t.c.v[0]) + "," + S(t.c.v[1]) + "," + S(t.c.v[2]) + ")"), (t.o._mdf || n) && r.pElem.setAttribute("stroke-opacity", t.o.v), (t.w._mdf || n) && (r.pElem.setAttribute("stroke-width", t.w.v), r.msElem && r.msElem.setAttribute("stroke-width", t.w.v))
}
return {
createRenderFunction: function (e) {
switch (e.ty) {
case"fl":
return i;
case"gf":
return s;
case"gs":
return o;
case"st":
return l;
case"sh":
case"el":
case"rc":
case"sr":
return a;
case"tr":
return n;
case"no":
return r;
default:
return null
}
}
}
}();
function on(e, t, n) {
this.shapes = [], this.shapesData = e.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(e, t, n), this.prevViewData = []
}
function sn(e, t, n, r, a, i) {
this.o = e, this.sw = t, this.sc = n, this.fc = r, this.m = a, this.p = i, this._mdf = {
o: !0,
sw: !!t,
sc: !!n,
fc: !!r,
m: !0,
p: !0
}
}
function ln(e, t) {
this._frameId = -999999, this.pv = "", this.v = "", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, t.d && t.d.sid && (t.d = e.globalData.slotManager.getProp(t.d)), this.data = t, this.elem = e, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {
ascent: 0,
boxWidth: this.defaultBoxWidth,
f: "",
fStyle: "",
fWeight: "",
fc: "",
j: "",
justifyOffset: "",
l: [],
lh: 0,
lineWidths: [],
ls: "",
of: "",
s: "",
sc: "",
sw: 0,
t: 0,
tr: 0,
sz: 0,
ps: null,
fillColorAnim: !1,
strokeColorAnim: !1,
strokeWidthAnim: !1,
yOffset: 0,
finalSize: 0,
finalText: [],
finalLineHeight: 0,
__complete: !1
}, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData)
}
f([Et, Tt, Ft, Gt, zt, It, Vt], on), on.prototype.initSecondaryElement = function () {
}, on.prototype.identityMatrix = new Ee, on.prototype.buildExpressionInterface = function () {
}, on.prototype.createContent = function () {
this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes()
}, on.prototype.filterUniqueShapes = function () {
var e, t, n, r, a = this.shapes.length, i = this.stylesList.length, o = [], s = !1;
for (n = 0; n < i; n += 1) {
for (e = 0, r = this.stylesList[n], s = !1, o.length = 0; e < a; e += 1) -1 !== (t = this.shapes[e]).styles.indexOf(r) && (o.push(t), s = t._isAnimated || s);
o.length > 1 && s && this.setShapesAsAnimated(o)
}
}, on.prototype.setShapesAsAnimated = function (e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) e[t].setAsAnimated()
}, on.prototype.createStyleElement = function (e, t) {
var n, r = new Ht(e, t), a = r.pElem;
return "st" === e.ty ? n = new Yt(this, e, r) : "fl" === e.ty ? n = new Qt(this, e, r) : "gf" === e.ty || "gs" === e.ty ? (n = new ("gf" === e.ty ? Jt : en)(this, e, r), this.globalData.defs.appendChild(n.gf), n.maskId && (this.globalData.defs.appendChild(n.ms), this.globalData.defs.appendChild(n.of), a.setAttribute("mask", "url(" + p() + "#" + n.maskId + ")"))) : "no" === e.ty && (n = new Zt(this, e, r)), ("st" === e.ty || "gs" === e.ty) && (a.setAttribute("stroke-linecap", $t[e.lc || 2]), a.setAttribute("stroke-linejoin", qt[e.lj || 2]), a.setAttribute("fill-opacity", "0"), 1 === e.lj && a.setAttribute("stroke-miterlimit", e.ml)), 2 === e.r && a.setAttribute("fill-rule", "evenodd"), e.ln && a.setAttribute("id", e.ln), e.cl && a.setAttribute("class", e.cl), e.bm && (a.style["mix-blend-mode"] = ft(e.bm)), this.stylesList.push(r), this.addToAnimatedContents(e, n), n
}, on.prototype.createGroupElement = function (e) {
var t = new tn;
return e.ln && t.gr.setAttribute("id", e.ln), e.cl && t.gr.setAttribute("class", e.cl), e.bm && (t.gr.style["mix-blend-mode"] = ft(e.bm)), t
}, on.prototype.createTransformElement = function (e, t) {
var n = Me.getTransformProperty(this, e, this), r = new nn(n, n.o, t);
return this.addToAnimatedContents(e, r), r
}, on.prototype.createShapeElement = function (e, t, n) {
var r = 4;
"rc" === e.ty ? r = 5 : "el" === e.ty ? r = 6 : "sr" === e.ty && (r = 7);
var a = new Wt(t, n, Se.getShapeProp(this, e, r, this));
return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(e, a), a
}, on.prototype.addToAnimatedContents = function (e, t) {
for (var n = 0, r = this.animatedContents.length; n < r;) {
if (this.animatedContents[n].element === t) return;
n += 1
}
this.animatedContents.push({fn: an.createRenderFunction(e), element: t, data: e})
}, on.prototype.setElementStyles = function (e) {
var t, n = e.styles, r = this.stylesList.length;
for (t = 0; t < r; t += 1) this.stylesList[t].closed || n.push(this.stylesList[t])
}, on.prototype.reloadShapes = function () {
this._isFirstFrame = !0;
var e, t = this.itemsData.length;
for (e = 0; e < t; e += 1) this.prevViewData[e] = this.itemsData[e];
for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), t = this.dynamicProperties.length, e = 0; e < t; e += 1) this.dynamicProperties[e].getValue();
this.renderModifiers()
}, on.prototype.searchShapes = function (e, t, n, r, a, i, o) {
var s, l, c, u, d, p, h = [].concat(i), f = e.length - 1, m = [], g = [];
for (s = f; s >= 0; s -= 1) {
if ((p = this.searchProcessedElement(e[s])) ? t[s] = n[p - 1] : e[s]._render = o, "fl" === e[s].ty || "st" === e[s].ty || "gf" === e[s].ty || "gs" === e[s].ty || "no" === e[s].ty) p ? t[s].style.closed = !1 : t[s] = this.createStyleElement(e[s], a), e[s]._render && t[s].style.pElem.parentNode !== r && r.appendChild(t[s].style.pElem), m.push(t[s].style); else if ("gr" === e[s].ty) {
if (p) for (l = 0, c = t[s].it.length; l < c; l += 1) t[s].prevViewData[l] = t[s].it[l]; else t[s] = this.createGroupElement(e[s]);
this.searchShapes(e[s].it, t[s].it, t[s].prevViewData, t[s].gr, a + 1, h, o), e[s]._render && t[s].gr.parentNode !== r && r.appendChild(t[s].gr)
} else "tr" === e[s].ty ? (p || (t[s] = this.createTransformElement(e[s], r)), u = t[s].transform, h.push(u)) : "sh" === e[s].ty || "rc" === e[s].ty || "el" === e[s].ty || "sr" === e[s].ty ? (p || (t[s] = this.createShapeElement(e[s], h, a)), this.setElementStyles(t[s])) : "tm" === e[s].ty || "rd" === e[s].ty || "ms" === e[s].ty || "pb" === e[s].ty || "zz" === e[s].ty || "op" === e[s].ty ? (p ? (d = t[s]).closed = !1 : ((d = Re.getModifier(e[s].ty)).init(this, e[s]), t[s] = d, this.shapeModifiers.push(d)), g.push(d)) : "rp" === e[s].ty && (p ? (d = t[s]).closed = !0 : (d = Re.getModifier(e[s].ty), t[s] = d, d.init(this, e, s, t), this.shapeModifiers.push(d), o = !1), g.push(d));
this.addProcessedElement(e[s], s + 1)
}
for (s = 0, f = m.length; s < f; s += 1) m[s].closed = !0;
for (s = 0, f = g.length; s < f; s += 1) g[s].closed = !0
}, on.prototype.renderInnerContent = function () {
this.renderModifiers();
var e, t = this.stylesList.length;
for (e = 0; e < t; e += 1) this.stylesList[e].reset();
for (this.renderShape(), e = 0; e < t; e += 1) (this.stylesList[e]._mdf || this._isFirstFrame) && (this.stylesList[e].msElem && (this.stylesList[e].msElem.setAttribute("d", this.stylesList[e].d), this.stylesList[e].d = "M0 0" + this.stylesList[e].d), this.stylesList[e].pElem.setAttribute("d", this.stylesList[e].d || "M0 0"))
}, on.prototype.renderShape = function () {
var e, t, n = this.animatedContents.length;
for (e = 0; e < n; e += 1) t = this.animatedContents[e], (this._isFirstFrame || t.element._isAnimated) && !0 !== t.data && t.fn(t.data, t.element, this._isFirstFrame)
}, on.prototype.destroy = function () {
this.destroyBaseElement(), this.shapesData = null, this.itemsData = null
}, sn.prototype.update = function (e, t, n, r, a, i) {
this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;
var o = !1;
return this.o !== e && (this.o = e, this._mdf.o = !0, o = !0), this.sw !== t && (this.sw = t, this._mdf.sw = !0, o = !0), this.sc !== n && (this.sc = n, this._mdf.sc = !0, o = !0), this.fc !== r && (this.fc = r, this._mdf.fc = !0, o = !0), this.m !== a && (this.m = a, this._mdf.m = !0, o = !0), i.length && (this.p[0] !== i[0] || this.p[1] !== i[1] || this.p[4] !== i[4] || this.p[5] !== i[5] || this.p[12] !== i[12] || this.p[13] !== i[13]) && (this.p = i, this._mdf.p = !0, o = !0), o
}, ln.prototype.defaultBoxWidth = [0, 0], ln.prototype.copyData = function (e, t) {
for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
return e
}, ln.prototype.setCurrentData = function (e) {
e.__complete || this.completeTextData(e), this.currentData = e, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0
}, ln.prototype.searchProperty = function () {
return this.searchKeyframes()
}, ln.prototype.searchKeyframes = function () {
return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf
}, ln.prototype.addEffect = function (e) {
this.effectsSequence.push(e), this.elem.addDynamicProperty(this)
}, ln.prototype.getValue = function (e) {
if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || e) {
this.currentData.t = this.data.d.k[this.keysIndex].s.t;
var t, n = this.currentData, r = this.keysIndex;
if (this.lock) return void this.setCurrentData(this.currentData);
this.lock = !0, this._mdf = !1;
var a = this.effectsSequence.length, i = e || this.data.d.k[this.keysIndex].s;
for (t = 0; t < a; t += 1) i = r !== this.keysIndex ? this.effectsSequence[t](i, i.t) : this.effectsSequence[t](this.currentData, i.t);
n !== i && this.setCurrentData(i), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId
}
}, ln.prototype.getKeyframeValue = function () {
for (var e = this.data.d.k, t = this.elem.comp.renderedFrame, n = 0, r = e.length; n <= r - 1 && n !== r - 1 && !(e[n + 1].t > t);) n += 1;
return this.keysIndex !== n && (this.keysIndex = n), this.data.d.k[this.keysIndex].s
}, ln.prototype.buildFinalText = function (e) {
for (var t, n, r = [], a = 0, i = e.length, o = !1, s = !1, l = ""; a < i;) o = s, s = !1, t = e.charCodeAt(a), l = e.charAt(a), dt.isCombinedCharacter(t) ? o = !0 : t >= 55296 && t <= 56319 ? dt.isRegionalFlag(e, a) ? l = e.substr(a, 14) : (n = e.charCodeAt(a + 1)) >= 56320 && n <= 57343 && (dt.isModifier(t, n) ? (l = e.substr(a, 2), o = !0) : l = dt.isFlagEmoji(e.substr(a, 4)) ? e.substr(a, 4) : e.substr(a, 2)) : t > 56319 ? (n = e.charCodeAt(a + 1), dt.isVariationSelector(t) && (o = !0)) : dt.isZeroWidthJoiner(t) && (o = !0, s = !0), o ? (r[r.length - 1] += l, o = !1) : r.push(l), a += l.length;
return r
}, ln.prototype.completeTextData = function (e) {
e.__complete = !0;
var t = this.elem.globalData.fontManager, n = this.data, r = [], a = 0, i = n.m.g, o = 0, s = 0, l = 0,
c = [], u = 0, d = 0, p = t.getFontByName(e.f), h = 0, f = ut(p);
e.fWeight = f.weight, e.fStyle = f.style, e.finalSize = e.s, e.finalText = this.buildFinalText(e.t), v = e.finalText.length, e.finalLineHeight = e.lh;
var m = e.tr / 1e3 * e.finalSize;
if (e.sz) for (var g, v, _, y, b, x, w, k, S, E, I = !0, C = e.sz[0], O = e.sz[1]; I;) {
S = 0, u = 0, v = (E = this.buildFinalText(e.t)).length, m = e.tr / 1e3 * e.finalSize;
var P = -1;
for (g = 0; g < v; g += 1) k = E[g].charCodeAt(0), _ = !1, " " === E[g] ? P = g : (13 === k || 3 === k) && (u = 0, _ = !0, S += e.finalLineHeight || 1.2 * e.finalSize), t.chars ? (w = t.getCharData(E[g], p.fStyle, p.fFamily), h = _ ? 0 : w.w * e.finalSize / 100) : h = t.measureText(E[g], e.f, e.finalSize), u + h > C && " " !== E[g] ? (-1 === P ? v += 1 : g = P, S += e.finalLineHeight || 1.2 * e.finalSize, E.splice(g, P === g ? 1 : 0, "\r"), P = -1, u = 0) : u += h + m;
S += p.ascent * e.finalSize / 100, this.canResize && e.finalSize > this.minimumFontSize && O < S ? (e.finalSize -= 1, e.finalLineHeight = e.finalSize * e.lh / e.s) : (e.finalText = E, v = e.finalText.length, I = !1)
}
u = -m, h = 0;
var A = 0;
for (g = 0; g < v; g += 1) if (_ = !1, 13 === (k = (R = e.finalText[g]).charCodeAt(0)) || 3 === k ? (A = 0, c.push(u), d = u > d ? u : d, u = -2 * m, y = "", _ = !0, l += 1) : y = R, t.chars ? (w = t.getCharData(R, p.fStyle, t.getFontByName(e.f).fFamily), h = _ ? 0 : w.w * e.finalSize / 100) : h = t.measureText(y, e.f, e.finalSize), " " === R ? A += h + m : (u += h + m + A, A = 0), r.push({
l: h,
an: h,
add: o,
n: _,
anIndexes: [],
val: y,
line: l,
animatorJustifyOffset: 0
}), 2 == i) {
if (o += h, "" === y || " " === y || g === v - 1) {
for (("" === y || " " === y) && (o -= h); s <= g;) r[s].an = o, r[s].ind = a, r[s].extra = h, s += 1;
a += 1, o = 0
}
} else if (3 == i) {
if (o += h, "" === y || g === v - 1) {
for ("" === y && (o -= h); s <= g;) r[s].an = o, r[s].ind = a, r[s].extra = h, s += 1;
o = 0, a += 1
}
} else r[a].ind = a, r[a].extra = 0, a += 1;
if (e.l = r, d = u > d ? u : d, c.push(u), e.sz) e.boxWidth = e.sz[0], e.justifyOffset = 0; else switch (e.boxWidth = d, e.j) {
case 1:
e.justifyOffset = -e.boxWidth;
break;
case 2:
e.justifyOffset = -e.boxWidth / 2;
break;
default:
e.justifyOffset = 0
}
e.lineWidths = c;
var T = n.a;
x = T.length;
var D = [];
for (b = 0; b < x; b += 1) {
for ((L = T[b]).a.sc && (e.strokeColorAnim = !0), L.a.sw && (e.strokeWidthAnim = !0), (L.a.fc || L.a.fh || L.a.fs || L.a.fb) && (e.fillColorAnim = !0), M = 0, N = L.s.b, g = 0; g < v; g += 1) (j = r[g]).anIndexes[b] = M, (1 == N && "" !== j.val || 2 == N && "" !== j.val && " " !== j.val || 3 == N && (j.n || " " == j.val || g == v - 1) || 4 == N && (j.n || g == v - 1)) && (1 === L.s.rn && D.push(M), M += 1);
n.a[b].s.totalChars = M;
var R, L, j, N, M, F, z = -1;
if (1 === L.s.rn) for (g = 0; g < v; g += 1) z != (j = r[g]).anIndexes[b] && (z = j.anIndexes[b], F = D.splice(Math.floor(Math.random() * D.length), 1)[0]), j.anIndexes[b] = F
}
e.yOffset = e.finalLineHeight || 1.2 * e.finalSize, e.ls = e.ls || 0, e.ascent = p.ascent * e.finalSize / 100
}, ln.prototype.updateDocumentData = function (e, t) {
t = void 0 === t ? this.keysIndex : t;
var n = this.copyData({}, this.data.d.k[t].s);
n = this.copyData(n, e), this.data.d.k[t].s = n, this.recalculate(t), this.setCurrentData(n), this.elem.addDynamicProperty(this)
}, ln.prototype.recalculate = function (e) {
var t = this.data.d.k[e].s;
t.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(t)
}, ln.prototype.canResizeFont = function (e) {
this.canResize = e, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
}, ln.prototype.setMinimumFontSize = function (e) {
this.minimumFontSize = Math.floor(e) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
};
var cn = function () {
var e = Math.max, t = Math.min, n = Math.floor;
function r(e, t) {
this._currentTextLength = -1, this.k = !1, this.data = t, this.elem = e, this.comp = e.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(e), this.s = ve.getProp(e, t.s || {k: 0}, 0, 0, this), this.e = "e" in t ? ve.getProp(e, t.e, 0, 0, this) : {v: 100}, this.o = ve.getProp(e, t.o || {k: 0}, 0, 0, this), this.xe = ve.getProp(e, t.xe || {k: 0}, 0, 0, this), this.ne = ve.getProp(e, t.ne || {k: 0}, 0, 0, this), this.sm = ve.getProp(e, t.sm || {k: 100}, 0, 0, this), this.a = ve.getProp(e, t.a, 0, .01, this), this.dynamicProperties.length || this.getValue()
}
return r.prototype = {
getMult: function (r) {
this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();
var a = 0, i = 0, o = 1, s = 1;
this.ne.v > 0 ? a = this.ne.v / 100 : i = -this.ne.v / 100, this.xe.v > 0 ? o = 1 - this.xe.v / 100 : s = 1 + this.xe.v / 100;
var l = ee.getBezierEasing(a, i, o, s).get, c = 0, u = this.finalS, d = this.finalE,
p = this.data.sh;
if (2 === p) c = l(c = d === u ? r >= d ? 1 : 0 : e(0, t(.5 / (d - u) + (r - u) / (d - u), 1))); else if (3 === p) c = l(c = d === u ? r >= d ? 0 : 1 : 1 - e(0, t(.5 / (d - u) + (r - u) / (d - u), 1))); else if (4 === p) d === u ? c = 0 : (c = e(0, t(.5 / (d - u) + (r - u) / (d - u), 1))) < .5 ? c *= 2 : c = 1 - 2 * (c - .5), c = l(c); else if (5 === p) {
if (d === u) c = 0; else {
var h = d - u, f = -h / 2 + (r = t(e(0, r + .5 - u), d - u)), m = h / 2;
c = Math.sqrt(1 - f * f / (m * m))
}
c = l(c)
} else 6 === p ? c = l(c = d === u ? 0 : (1 + Math.cos(Math.PI + 2 * Math.PI * (r = t(e(0, r + .5 - u), d - u)) / (d - u))) / 2) : (r >= n(u) && (c = e(0, t(r - u < 0 ? t(d, 1) - (u - r) : d - r, 1))), c = l(c));
if (100 !== this.sm.v) {
var g = .01 * this.sm.v;
0 === g && (g = 1e-8);
var v = .5 - .5 * g;
c < v ? c = 0 : (c = (c - v) / g) > 1 && (c = 1)
}
return c * this.a.v
}, getValue: function (e) {
this.iterateDynamicProperties(), this._mdf = e || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, e && 2 === this.data.r && (this.e.v = this._currentTextLength);
var t = 2 === this.data.r ? 1 : 100 / this.data.totalChars, n = this.o.v / t,
r = this.s.v / t + n, a = this.e.v / t + n;
if (r > a) {
var i = r;
r = a, a = i
}
this.finalS = r, this.finalE = a
}
}, f([_e], r), {
getTextSelectorProp: function (e, t, n) {
return new r(e, t)
}
}
}();
function un(e, t, n) {
var r = {propType: !1}, a = ve.getProp, i = t.a;
this.a = {
r: i.r ? a(e, i.r, 0, C, n) : r,
rx: i.rx ? a(e, i.rx, 0, C, n) : r,
ry: i.ry ? a(e, i.ry, 0, C, n) : r,
sk: i.sk ? a(e, i.sk, 0, C, n) : r,
sa: i.sa ? a(e, i.sa, 0, C, n) : r,
s: i.s ? a(e, i.s, 1, .01, n) : r,
a: i.a ? a(e, i.a, 1, 0, n) : r,
o: i.o ? a(e, i.o, 0, .01, n) : r,
p: i.p ? a(e, i.p, 1, 0, n) : r,
sw: i.sw ? a(e, i.sw, 0, 0, n) : r,
sc: i.sc ? a(e, i.sc, 1, 0, n) : r,
fc: i.fc ? a(e, i.fc, 1, 0, n) : r,
fh: i.fh ? a(e, i.fh, 0, 0, n) : r,
fs: i.fs ? a(e, i.fs, 0, .01, n) : r,
fb: i.fb ? a(e, i.fb, 0, .01, n) : r,
t: i.t ? a(e, i.t, 0, 0, n) : r
}, this.s = cn.getTextSelectorProp(e, t.s, n), this.s.t = t.s.t
}
function dn(e, t, n) {
this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = e, this._renderType = t, this._elem = n, this._animatorsData = v(this._textData.a.length), this._pathData = {}, this._moreOptions = {alignment: {}}, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(n)
}
function pn() {
}
dn.prototype.searchProperties = function () {
var e, t, n = this._textData.a.length, r = ve.getProp;
for (e = 0; e < n; e += 1) t = this._textData.a[e], this._animatorsData[e] = new un(this._elem, t, this);
this._textData.p && "m" in this._textData.p ? (this._pathData = {
a: r(this._elem, this._textData.p.a, 0, 0, this),
f: r(this._elem, this._textData.p.f, 0, 0, this),
l: r(this._elem, this._textData.p.l, 0, 0, this),
r: r(this._elem, this._textData.p.r, 0, 0, this),
p: r(this._elem, this._textData.p.p, 0, 0, this),
m: this._elem.maskManager.getMaskProperty(this._textData.p.m)
}, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = r(this._elem, this._textData.m.a, 1, 0, this)
}, dn.prototype.getMeasures = function (e, t) {
if (this.lettersChangedFlag = t, this._mdf || this._isFirstFrame || t || this._hasMaskedPath && this._pathData.m._mdf) {
this._isFirstFrame = !1;
var n, r, a, i, o, s, l, c, u, d, p, h, f, m, g, v, _, y = this._moreOptions.alignment.v,
b = this._animatorsData, x = this._textData, w = this.mHelper, k = this._renderType,
S = this.renderedLetters.length, E = e.l;
if (this._hasMaskedPath) {
if (W = this._pathData.m, !this._pathData.n || this._pathData._mdf) {
var I, C, O, P, A, T, D, R, L, j, N, M, U, B, G, $, q, W, H, K = W.v;
for (this._pathData.r.v && (K = K.reverse()), A = {
tLength: 0,
segments: []
}, P = K._length - 1, $ = 0, O = 0; O < P; O += 1) H = ie.buildBezierData(K.v[O], K.v[O + 1], [K.o[O][0] - K.v[O][0], K.o[O][1] - K.v[O][1]], [K.i[O + 1][0] - K.v[O + 1][0], K.i[O + 1][1] - K.v[O + 1][1]]), A.tLength += H.segmentLength, A.segments.push(H), $ += H.segmentLength;
O = P, W.v.c && (H = ie.buildBezierData(K.v[O], K.v[0], [K.o[O][0] - K.v[O][0], K.o[O][1] - K.v[O][1]], [K.i[0][0] - K.v[0][0], K.i[0][1] - K.v[0][1]]), A.tLength += H.segmentLength, A.segments.push(H), $ += H.segmentLength), this._pathData.pi = A
}
if (A = this._pathData.pi, T = this._pathData.f.v, N = 0, j = 1, R = 0, L = !0, B = A.segments, T < 0 && W.v.c) for (A.tLength < Math.abs(T) && (T = -Math.abs(T) % A.tLength), j = (U = B[N = B.length - 1].points).length - 1; T < 0;) T += U[j].partialLength, (j -= 1) < 0 && (j = (U = B[N -= 1].points).length - 1);
M = (U = B[N].points)[j - 1], G = (D = U[j]).partialLength
}
P = E.length, I = 0, C = 0;
var Y = 1.2 * e.finalSize * .714, Q = !0;
a = b.length;
var Z = -1, X = T, J = N, ee = j, te = -1, ne = "", re = this.defaultPropsArray;
if (2 === e.j || 1 === e.j) {
var ae = 0, oe = 0, se = 2 === e.j ? -.5 : -1, le = 0, ce = !0;
for (O = 0; O < P; O += 1) if (E[O].n) {
for (ae && (ae += oe); le < O;) E[le].animatorJustifyOffset = ae, le += 1;
ae = 0, ce = !0
} else {
for (r = 0; r < a; r += 1) (n = b[r].a).t.propType && (ce && 2 === e.j && (oe += n.t.v * se), (o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars)).length ? ae += n.t.v * o[0] * se : ae += n.t.v * o * se);
ce = !1
}
for (ae && (ae += oe); le < O;) E[le].animatorJustifyOffset = ae, le += 1
}
for (O = 0; O < P; O += 1) {
if (w.reset(), u = 1, E[O].n) I = 0, C += e.yOffset + (Q ? 1 : 0), T = X, Q = !1, this._hasMaskedPath && (j = ee, M = (U = B[N = J].points)[j - 1], G = (D = U[j]).partialLength, R = 0), ne = "", v = "", m = "", _ = "", re = this.defaultPropsArray; else {
if (this._hasMaskedPath) {
if (te !== E[O].line) {
switch (e.j) {
case 1:
T += $ - e.lineWidths[E[O].line];
break;
case 2:
T += ($ - e.lineWidths[E[O].line]) / 2
}
te = E[O].line
}
Z !== E[O].ind && (E[Z] && (T += E[Z].extra), T += E[O].an / 2, Z = E[O].ind), T += y[0] * E[O].an * .005;
var ue = 0;
for (r = 0; r < a; r += 1) (n = b[r].a).p.propType && ((o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars)).length ? ue += n.p.v[0] * o[0] : ue += n.p.v[0] * o), n.a.propType && ((o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars)).length ? ue += n.a.v[0] * o[0] : ue += n.a.v[0] * o);
for (L = !0, this._pathData.a.v && (T = .5 * E[0].an + ($ - this._pathData.f.v - .5 * E[0].an - .5 * E[E.length - 1].an) * Z / (P - 1) + this._pathData.f.v); L;) R + G >= T + ue || !U ? (q = (T + ue - R) / D.partialLength, l = M.point[0] + (D.point[0] - M.point[0]) * q, c = M.point[1] + (D.point[1] - M.point[1]) * q, w.translate(-y[0] * E[O].an * .005, -y[1] * Y * .01), L = !1) : U && (R += D.partialLength, (j += 1) >= U.length && (j = 0, B[N += 1] ? U = B[N].points : W.v.c ? (j = 0, U = B[N = 0].points) : (R -= D.partialLength, U = null)), U && (M = D, G = (D = U[j]).partialLength));
s = E[O].an / 2 - E[O].add, w.translate(-s, 0, 0)
} else s = E[O].an / 2 - E[O].add, w.translate(-s, 0, 0), w.translate(-y[0] * E[O].an * .005, -y[1] * Y * .01, 0);
for (r = 0; r < a; r += 1) (n = b[r].a).t.propType && (o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars), (0 !== I || 0 !== e.j) && (this._hasMaskedPath ? o.length ? T += n.t.v * o[0] : T += n.t.v * o : o.length ? I += n.t.v * o[0] : I += n.t.v * o));
for (e.strokeWidthAnim && (p = e.sw || 0), e.strokeColorAnim && (d = e.sc ? [e.sc[0], e.sc[1], e.sc[2]] : [0, 0, 0]), e.fillColorAnim && e.fc && (h = [e.fc[0], e.fc[1], e.fc[2]]), r = 0; r < a; r += 1) (n = b[r].a).a.propType && ((o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars)).length ? w.translate(-n.a.v[0] * o[0], -n.a.v[1] * o[1], n.a.v[2] * o[2]) : w.translate(-n.a.v[0] * o, -n.a.v[1] * o, n.a.v[2] * o));
for (r = 0; r < a; r += 1) (n = b[r].a).s.propType && ((o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars)).length ? w.scale(1 + (n.s.v[0] - 1) * o[0], 1 + (n.s.v[1] - 1) * o[1], 1) : w.scale(1 + (n.s.v[0] - 1) * o, 1 + (n.s.v[1] - 1) * o, 1));
for (r = 0; r < a; r += 1) {
if (n = b[r].a, o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars), n.sk.propType && (o.length ? w.skewFromAxis(-n.sk.v * o[0], n.sa.v * o[1]) : w.skewFromAxis(-n.sk.v * o, n.sa.v * o)), n.r.propType && (o.length ? w.rotateZ(-n.r.v * o[2]) : w.rotateZ(-n.r.v * o)), n.ry.propType && (o.length ? w.rotateY(n.ry.v * o[1]) : w.rotateY(n.ry.v * o)), n.rx.propType && (o.length ? w.rotateX(n.rx.v * o[0]) : w.rotateX(n.rx.v * o)), n.o.propType && (o.length ? u += (n.o.v * o[0] - u) * o[0] : u += (n.o.v * o - u) * o), e.strokeWidthAnim && n.sw.propType && (o.length ? p += n.sw.v * o[0] : p += n.sw.v * o), e.strokeColorAnim && n.sc.propType) for (f = 0; f < 3; f += 1) o.length ? d[f] += (n.sc.v[f] - d[f]) * o[0] : d[f] += (n.sc.v[f] - d[f]) * o;
if (e.fillColorAnim && e.fc) {
if (n.fc.propType) for (f = 0; f < 3; f += 1) o.length ? h[f] += (n.fc.v[f] - h[f]) * o[0] : h[f] += (n.fc.v[f] - h[f]) * o;
n.fh.propType && (h = o.length ? V(h, n.fh.v * o[0]) : V(h, n.fh.v * o)), n.fs.propType && (h = o.length ? F(h, n.fs.v * o[0]) : F(h, n.fs.v * o)), n.fb.propType && (h = o.length ? z(h, n.fb.v * o[0]) : z(h, n.fb.v * o))
}
}
for (r = 0; r < a; r += 1) (n = b[r].a).p.propType && (o = b[r].s.getMult(E[O].anIndexes[r], x.a[r].s.totalChars), this._hasMaskedPath ? o.length ? w.translate(0, n.p.v[1] * o[0], -n.p.v[2] * o[1]) : w.translate(0, n.p.v[1] * o, -n.p.v[2] * o) : o.length ? w.translate(n.p.v[0] * o[0], n.p.v[1] * o[1], -n.p.v[2] * o[2]) : w.translate(n.p.v[0] * o, n.p.v[1] * o, -n.p.v[2] * o));
if (e.strokeWidthAnim && (m = p < 0 ? 0 : p), e.strokeColorAnim && (g = "rgb(" + Math.round(255 * d[0]) + "," + Math.round(255 * d[1]) + "," + Math.round(255 * d[2]) + ")"), e.fillColorAnim && e.fc && (v = "rgb(" + Math.round(255 * h[0]) + "," + Math.round(255 * h[1]) + "," + Math.round(255 * h[2]) + ")"), this._hasMaskedPath) {
if (w.translate(0, -e.ls), w.translate(0, y[1] * Y * .01 + C, 0), this._pathData.p.v) {
var de = 180 * Math.atan((D.point[1] - M.point[1]) / (D.point[0] - M.point[0])) / Math.PI;
D.point[0] < M.point[0] && (de += 180), w.rotate(-de * Math.PI / 180)
}
w.translate(l, c, 0), T -= y[0] * E[O].an * .005, E[O + 1] && Z !== E[O + 1].ind && (T += E[O].an / 2 + .001 * e.tr * e.finalSize)
} else {
switch (w.translate(I, C, 0), e.ps && w.translate(e.ps[0], e.ps[1] + e.ascent, 0), e.j) {
case 1:
w.translate(E[O].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[E[O].line]), 0, 0);
break;
case 2:
w.translate(E[O].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[E[O].line]) / 2, 0, 0)
}
w.translate(0, -e.ls), w.translate(s, 0, 0), w.translate(y[0] * E[O].an * .005, y[1] * Y * .01, 0), I += E[O].l + .001 * e.tr * e.finalSize
}
"html" === k ? ne = w.toCSS() : "svg" === k ? ne = w.to2dCSS() : re = [w.props[0], w.props[1], w.props[2], w.props[3], w.props[4], w.props[5], w.props[6], w.props[7], w.props[8], w.props[9], w.props[10], w.props[11], w.props[12], w.props[13], w.props[14], w.props[15]], _ = u
}
S <= O ? (i = new sn(_, m, g, v, ne, re), this.renderedLetters.push(i), S += 1, this.lettersChangedFlag = !0) : (i = this.renderedLetters[O], this.lettersChangedFlag = i.update(_, m, g, v, ne, re) || this.lettersChangedFlag)
}
}
}, dn.prototype.getValue = function () {
this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties())
}, dn.prototype.mHelper = new Ee, dn.prototype.defaultPropsArray = [], f([_e], dn), pn.prototype.initElement = function (e, t, n) {
this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(e, t, n), this.textProperty = new ln(this, e.t, this.dynamicProperties), this.textAnimator = new dn(e.t, this.renderType, this), this.initTransform(e, t, n), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties)
}, pn.prototype.prepareFrame = function (e) {
this._mdf = !1, this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange)
}, pn.prototype.createPathShape = function (e, t) {
var n, r, a = t.length, i = "";
for (n = 0; n < a; n += 1) "sh" === t[n].ty && (i += rn(r = t[n].ks.k, r.i.length, !0, e));
return i
}, pn.prototype.updateDocumentData = function (e, t) {
this.textProperty.updateDocumentData(e, t)
}, pn.prototype.canResizeFont = function (e) {
this.textProperty.canResizeFont(e)
}, pn.prototype.setMinimumFontSize = function (e) {
this.textProperty.setMinimumFontSize(e)
}, pn.prototype.applyTextPropertiesToMatrix = function (e, t, n, r, a) {
switch (e.ps && t.translate(e.ps[0], e.ps[1] + e.ascent, 0), t.translate(0, -e.ls, 0), e.j) {
case 1:
t.translate(e.justifyOffset + (e.boxWidth - e.lineWidths[n]), 0, 0);
break;
case 2:
t.translate(e.justifyOffset + (e.boxWidth - e.lineWidths[n]) / 2, 0, 0)
}
t.translate(r, a, 0)
}, pn.prototype.buildColor = function (e) {
return "rgb(" + Math.round(255 * e[0]) + "," + Math.round(255 * e[1]) + "," + Math.round(255 * e[2]) + ")"
}, pn.prototype.emptyProp = new sn, pn.prototype.destroy = function () {
}, pn.prototype.validateText = function () {
(this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1)
};
var hn = {shapes: []};
function fn(e, t, n) {
this.textSpans = [], this.renderType = "svg", this.initElement(e, t, n)
}
function mn(e, t, n) {
this.initElement(e, t, n)
}
function gn(e, t, n) {
this.initFrame(), this.initBaseData(e, t, n), this.initFrame(), this.initTransform(e, t, n), this.initHierarchy()
}
function vn() {
}
function _n() {
}
function yn(e, t, n) {
this.layers = e.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? v(this.layers.length) : [], this.initElement(e, t, n), this.tm = e.tm ? ve.getProp(this, e.tm, 0, t.frameRate, this) : {_placeholder: !0}
}
function bn(e, t) {
this.animationItem = e, this.layers = null, this.renderedFrame = -1, this.svgElement = $("svg");
var n = "";
if (t && t.title) {
var r = $("title"), a = j();
r.setAttribute("id", a), r.textContent = t.title, this.svgElement.appendChild(r), n += a
}
if (t && t.description) {
var i = $("desc"), o = j();
i.setAttribute("id", o), i.textContent = t.description, this.svgElement.appendChild(i), n += " " + o
}
n && this.svgElement.setAttribute("aria-labelledby", n);
var s = $("defs");
this.svgElement.appendChild(s);
var l = $("g");
this.svgElement.appendChild(l), this.layerElement = l, this.renderConfig = {
preserveAspectRatio: t && t.preserveAspectRatio || "xMidYMid meet",
imagePreserveAspectRatio: t && t.imagePreserveAspectRatio || "xMidYMid slice",
contentVisibility: t && t.contentVisibility || "visible",
progressiveLoad: t && t.progressiveLoad || !1,
hideOnTransparent: !(t && !1 === t.hideOnTransparent),
viewBoxOnly: t && t.viewBoxOnly || !1,
viewBoxSize: t && t.viewBoxSize || !1,
className: t && t.className || "",
id: t && t.id || "",
focusable: t && t.focusable,
filterSize: {
width: t && t.filterSize && t.filterSize.width || "100%",
height: t && t.filterSize && t.filterSize.height || "100%",
x: t && t.filterSize && t.filterSize.x || "0%",
y: t && t.filterSize && t.filterSize.y || "0%"
},
width: t && t.width,
height: t && t.height,
runExpressions: !t || void 0 === t.runExpressions || t.runExpressions
}, this.globalData = {
_mdf: !1,
frameNum: -1,
defs: s,
renderConfig: this.renderConfig
}, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = "svg"
}
return f([Et, Tt, Ft, zt, It, Vt, pn], fn), fn.prototype.createContent = function () {
this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = $("text"))
}, fn.prototype.buildTextContents = function (e) {
for (var t = 0, n = e.length, r = [], a = ""; t < n;) "\r" === e[t] || "\x03" === e[t] ? (r.push(a), a = "") : a += e[t], t += 1;
return r.push(a), r
}, fn.prototype.buildShapeData = function (e, t) {
if (e.shapes && e.shapes.length) {
var n = e.shapes[0];
if (n.it) {
var r = n.it[n.it.length - 1];
r.s && (r.s.k[0] = t, r.s.k[1] = t)
}
}
return e
}, fn.prototype.buildNewText = function () {
this.addDynamicProperty(this);
var e = this.textProperty.currentData;
this.renderedLetters = v(e ? e.l.length : 0), e.fc ? this.layerElement.setAttribute("fill", this.buildColor(e.fc)) : this.layerElement.setAttribute("fill", "rgba(0,0,0,0)"), e.sc && (this.layerElement.setAttribute("stroke", this.buildColor(e.sc)), this.layerElement.setAttribute("stroke-width", e.sw)), this.layerElement.setAttribute("font-size", e.finalSize);
var t = this.globalData.fontManager.getFontByName(e.f);
if (t.fClass) this.layerElement.setAttribute("class", t.fClass); else {
this.layerElement.setAttribute("font-family", t.fFamily);
var n = e.fWeight, r = e.fStyle;
this.layerElement.setAttribute("font-style", r), this.layerElement.setAttribute("font-weight", n)
}
this.layerElement.setAttribute("aria-label", e.t);
var a = e.l || [], i = !!this.globalData.fontManager.chars;
m = a.length;
var o = this.mHelper, s = this.data.singleShape, l = 0, c = 0, u = !0, d = .001 * e.tr * e.finalSize;
if (!s || i || e.sz) {
var p = this.textSpans.length;
for (f = 0; f < m; f += 1) {
if (this.textSpans[f] || (this.textSpans[f] = {
span: null,
childSpan: null,
glyph: null
}), !i || !s || 0 === f) {
if (g = p > f ? this.textSpans[f].span : $(i ? "g" : "text"), p <= f) {
if (g.setAttribute("stroke-linecap", "butt"), g.setAttribute("stroke-linejoin", "round"), g.setAttribute("stroke-miterlimit", "4"), this.textSpans[f].span = g, i) {
var h = $("g");
g.appendChild(h), this.textSpans[f].childSpan = h
}
this.textSpans[f].span = g, this.layerElement.appendChild(g)
}
g.style.display = "inherit"
}
if (o.reset(), s && (a[f].n && (l = -d, c += e.yOffset + (u ? 1 : 0), u = !1), this.applyTextPropertiesToMatrix(e, o, a[f].line, l, c), l += (a[f].l || 0) + d), i) {
if (1 === (_ = this.globalData.fontManager.getCharData(e.finalText[f], t.fStyle, this.globalData.fontManager.getFontByName(e.f).fFamily)).t) y = new yn(_.data, this.globalData, this); else {
var f, m, g, _, y, b = hn;
_.data && _.data.shapes && (b = this.buildShapeData(_.data, e.finalSize)), y = new on(b, this.globalData, this)
}
if (this.textSpans[f].glyph) {
var x = this.textSpans[f].glyph;
this.textSpans[f].childSpan.removeChild(x.layerElement), x.destroy()
}
this.textSpans[f].glyph = y, y._debug = !0, y.prepareFrame(0), y.renderFrame(), this.textSpans[f].childSpan.appendChild(y.layerElement), 1 === _.t && this.textSpans[f].childSpan.setAttribute("transform", "scale(" + e.finalSize / 100 + "," + e.finalSize / 100 + ")")
} else s && g.setAttribute("transform", "translate(" + o.props[12] + "," + o.props[13] + ")"), g.textContent = a[f].val, g.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve")
}
s && g && g.setAttribute("d", "")
} else {
var w = this.textContainer, k = "start";
switch (e.j) {
case 1:
k = "end";
break;
case 2:
k = "middle";
break;
default:
k = "start"
}
w.setAttribute("text-anchor", k), w.setAttribute("letter-spacing", d);
var S = this.buildTextContents(e.finalText);
for (f = 0, m = S.length, c = e.ps ? e.ps[1] + e.ascent : 0; f < m; f += 1) (g = this.textSpans[f].span || $("tspan")).textContent = S[f], g.setAttribute("x", 0), g.setAttribute("y", c), g.style.display = "inherit", w.appendChild(g), this.textSpans[f] || (this.textSpans[f] = {
span: null,
glyph: null
}), this.textSpans[f].span = g, c += e.finalLineHeight;
this.layerElement.appendChild(w)
}
for (; f < this.textSpans.length;) this.textSpans[f].span.style.display = "none", f += 1;
this._sizeChanged = !0
}, fn.prototype.sourceRectAtTime = function () {
if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {
this._sizeChanged = !1;
var e = this.layerElement.getBBox();
this.bbox = {top: e.y, left: e.x, width: e.width, height: e.height}
}
return this.bbox
}, fn.prototype.getValue = function () {
var e, t, n = this.textSpans.length;
for (e = 0, this.renderedFrame = this.comp.renderedFrame; e < n; e += 1) (t = this.textSpans[e].glyph) && (t.prepareFrame(this.comp.renderedFrame - this.data.st), t._mdf && (this._mdf = !0))
}, fn.prototype.renderInnerContent = function () {
if (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {
this._sizeChanged = !0;
var e, t, n, r, a, i = this.textAnimator.renderedLetters, o = this.textProperty.currentData.l;
for (e = 0, t = o.length; e < t; e += 1) !o[e].n && (n = i[e], r = this.textSpans[e].span, (a = this.textSpans[e].glyph) && a.renderFrame(), n._mdf.m && r.setAttribute("transform", n.m), n._mdf.o && r.setAttribute("opacity", n.o), n._mdf.sw && r.setAttribute("stroke-width", n.sw), n._mdf.sc && r.setAttribute("stroke", n.sc), n._mdf.fc && r.setAttribute("fill", n.fc))
}
}, f([Ut], mn), mn.prototype.createContent = function () {
var e = $("rect");
e.setAttribute("width", this.data.sw), e.setAttribute("height", this.data.sh), e.setAttribute("fill", this.data.sc), this.layerElement.appendChild(e)
}, gn.prototype.prepareFrame = function (e) {
this.prepareProperties(e, !0)
}, gn.prototype.renderFrame = function () {
}, gn.prototype.getBaseElement = function () {
return null
}, gn.prototype.destroy = function () {
}, gn.prototype.sourceRectAtTime = function () {
}, gn.prototype.hide = function () {
}, f([Et, Tt, zt, It], gn), f([Pt], vn), vn.prototype.createNull = function (e) {
return new gn(e, this.globalData, this)
}, vn.prototype.createShape = function (e) {
return new on(e, this.globalData, this)
}, vn.prototype.createText = function (e) {
return new fn(e, this.globalData, this)
}, vn.prototype.createImage = function (e) {
return new Ut(e, this.globalData, this)
}, vn.prototype.createSolid = function (e) {
return new mn(e, this.globalData, this)
}, vn.prototype.configAnimation = function (e) {
this.svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.svgElement.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute("viewBox", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute("viewBox", "0 0 " + e.w + " " + e.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute("width", e.w), this.svgElement.setAttribute("height", e.h), this.svgElement.style.width = "100%", this.svgElement.style.height = "100%", this.svgElement.style.transform = "translate3d(0,0,0)", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.width && this.svgElement.setAttribute("width", this.renderConfig.width), this.renderConfig.height && this.svgElement.setAttribute("height", this.renderConfig.height), this.renderConfig.className && this.svgElement.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute("id", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute("focusable", this.renderConfig.focusable), this.svgElement.setAttribute("preserveAspectRatio", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);
var t = this.globalData.defs;
this.setupGlobalData(e, t), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = e;
var n = $("clipPath"), r = $("rect");
r.setAttribute("width", e.w), r.setAttribute("height", e.h), r.setAttribute("x", 0), r.setAttribute("y", 0);
var a = j();
n.setAttribute("id", a), n.appendChild(r), this.layerElement.setAttribute("clip-path", "url(" + p() + "#" + a + ")"), t.appendChild(n), this.layers = e.layers, this.elements = v(e.layers.length)
}, vn.prototype.destroy = function () {
this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), this.layerElement = null, this.globalData.defs = null;
var e, t = this.layers ? this.layers.length : 0;
for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy && this.elements[e].destroy();
this.elements.length = 0, this.destroyed = !0, this.animationItem = null
}, vn.prototype.updateContainerSize = function () {
}, vn.prototype.findIndexByInd = function (e) {
var t = 0, n = this.layers.length;
for (t = 0; t < n; t += 1) if (this.layers[t].ind === e) return t;
return -1
}, vn.prototype.buildItem = function (e) {
var t = this.elements;
if (!t[e] && 99 !== this.layers[e].ty) {
t[e] = !0;
var n = this.createItem(this.layers[e]);
if (t[e] = n, U() && (0 === this.layers[e].ty && this.globalData.projectInterface.registerComposition(n), n.initExpressions()), this.appendElementInPos(n, e), this.layers[e].tt) {
var r = "tp" in this.layers[e] ? this.findIndexByInd(this.layers[e].tp) : e - 1;
if (-1 === r) return;
if (this.elements[r] && !0 !== this.elements[r]) {
var a = t[r].getMatte(this.layers[e].tt);
n.setMatte(a)
} else this.buildItem(r), this.addPendingElement(n)
}
}
}, vn.prototype.checkPendingElements = function () {
for (; this.pendingElements.length;) {
var e = this.pendingElements.pop();
if (e.checkParenting(), e.data.tt) for (var t = 0, n = this.elements.length; t < n;) {
if (this.elements[t] === e) {
var r = "tp" in e.data ? this.findIndexByInd(e.data.tp) : t - 1,
a = this.elements[r].getMatte(this.layers[t].tt);
e.setMatte(a);
break
}
t += 1
}
}
}, vn.prototype.renderFrame = function (e) {
if (this.renderedFrame !== e && !this.destroyed) {
null === e ? e = this.renderedFrame : this.renderedFrame = e, this.globalData.frameNum = e, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = e, this.globalData._mdf = !1;
var t, n = this.layers.length;
for (this.completeLayers || this.checkLayers(e), t = n - 1; t >= 0; t -= 1) (this.completeLayers || this.elements[t]) && this.elements[t].prepareFrame(e - this.layers[t].st);
if (this.globalData._mdf) for (t = 0; t < n; t += 1) (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame()
}
}, vn.prototype.appendElementInPos = function (e, t) {
var n, r = e.getBaseElement();
if (r) {
for (var a = 0; a < t;) this.elements[a] && !0 !== this.elements[a] && this.elements[a].getBaseElement() && (n = this.elements[a].getBaseElement()), a += 1;
n ? this.layerElement.insertBefore(r, n) : this.layerElement.appendChild(r)
}
}, vn.prototype.hide = function () {
this.layerElement.style.display = "none"
}, vn.prototype.show = function () {
this.layerElement.style.display = "block"
}, f([Et, Tt, zt, It, Vt], _n), _n.prototype.initElement = function (e, t, n) {
this.initFrame(), this.initBaseData(e, t, n), this.initTransform(e, t, n), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), (this.data.xt || !t.progressiveLoad) && this.buildAllItems(), this.hide()
}, _n.prototype.prepareFrame = function (e) {
if (this._mdf = !1, this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange), this.isInRange || this.data.xt) {
if (this.tm._placeholder) this.renderedFrame = e / this.data.sr; else {
var t, n = this.tm.v;
n === this.data.op && (n = this.data.op - 1), this.renderedFrame = n
}
var r = this.elements.length;
for (this.completeLayers || this.checkLayers(this.renderedFrame), t = r - 1; t >= 0; t -= 1) (this.completeLayers || this.elements[t]) && (this.elements[t].prepareFrame(this.renderedFrame - this.layers[t].st), this.elements[t]._mdf && (this._mdf = !0))
}
}, _n.prototype.renderInnerContent = function () {
var e, t = this.layers.length;
for (e = 0; e < t; e += 1) (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame()
}, _n.prototype.setElements = function (e) {
this.elements = e
}, _n.prototype.getElements = function () {
return this.elements
}, _n.prototype.destroyElements = function () {
var e, t = this.layers.length;
for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy()
}, _n.prototype.destroy = function () {
this.destroyElements(), this.destroyBaseElement()
}, f([vn, _n, Ft], yn), yn.prototype.createComp = function (e) {
return new yn(e, this.globalData, this)
}, f([vn], bn), bn.prototype.createComp = function (e) {
return new yn(e, this.globalData, this)
}, Q.svg = bn, Re.registerModifier("tm", je), Re.registerModifier("pb", Ne), Re.registerModifier("rp", Fe), Re.registerModifier("rd", ze), Re.registerModifier("zz", et), Re.registerModifier("op", ct), Ce
}());
var Yy = (dE = Ky.exports) && dE.__esModule && Object.prototype.hasOwnProperty.call(dE, "default") ? dE.default : dE;
let Qy = (0, Ee.createContext)(null), Zy = ({children: e, ...t}) => {
let n = (({direction: e, reduceMotion: t}) => ((0, Ee.useEffect)((() => {
e ? document.documentElement.setAttribute("dir", e) : document.documentElement.removeAttribute("dir"), t ? (document.documentElement.style.setProperty("--sol-prefers-reduced-motion", t.unessentialAnimationsDisabled ? "reduce" : "no-preference"), document.documentElement.style.setProperty("--sol-motion-transition-effects", t.wipeAnimationsDisabled ? "disabled" : "enabled"), document.documentElement.style.setProperty("--sol-motion-anim-wipe-duration", t.wipeAnimationsDisabled ? "0" : "var(--sol-motion-1500)")) : document.documentElement.style.removeProperty("--sol-prefers-reduced-motion")
}), [e, t]), (0, Ee.useMemo)((() => ({direction: e, reduceMotion: t})), [e, t])))(t);
return (0, Ee.createElement)(Qy.Provider, {value: n}, e)
}, Xy = () => (0, Ee.useContext)(Qy) ?? {}, Jy = "loading", eb = "loaded", tb = "error", nb = (e, {
bounce: t,
loop: n = !0,
isPlaying: r = !0,
waitForCompletion: a = !0,
forcePlay: i = !1,
onError: o,
onLoad: s,
onLoop: l,
onStart: c,
onPause: u,
onStop: d
} = {}, p) => {
let h = (0, Ee.useRef)(), f = (0, Ee.useRef)(null), m = (0, Ee.useRef)(!1),
g = Xy().reduceMotion?.unessentialAnimationsDisabled, [v, _] = (0, Ee.useState)(Jy),
y = !e || g && !i || v === tb;
(0, Ee.useEffect)((() => {
if (!f.current || !e || y) return;
h.current = Yy.loadAnimation({
..."string" == typeof e ? {path: e} : {animationData: e},
container: f.current,
autoplay: !1,
loop: !1,
rendererSettings: {focusable: !1, viewBoxOnly: !0}
});
let r = () => {
_(tb), o && o()
}, a = () => {
_(eb), s && s()
}, i = () => {
if (m.current) return h.current?.stop(), m.current = !1, void (d && d());
t && (1 === h.current?.playDirection ? (h.current?.setDirection(-1), h.current?.play()) : h.current?.setDirection(1)), n && 1 === h.current?.playDirection && (h.current?.stop(), h.current?.play(), l && l())
};
return h.current?.addEventListener("DOMLoaded", a), h.current?.addEventListener("data_failed", r), h.current?.addEventListener("complete", i), () => {
h.current?.removeEventListener("DOMLoaded", a), h.current?.removeEventListener("data_failed", r), h.current?.removeEventListener("complete", i), h.current?.destroy(), h.current = void 0
}
}), [t, n, o, s, l, d, g, e]);
let b = (0, Ee.useCallback)((() => {
h.current?.play(), m.current = !1, c && c()
}), [c]), x = (0, Ee.useCallback)((() => {
h.current?.pause(), u && u()
}), [u]), w = (0, Ee.useCallback)((() => {
h.current && a ? m.current = !0 : (h.current?.stop(), d && d())
}), [d, a]);
(0, Ee.useEffect)((() => v === eb && r ? b() : w()), [r, g, b, v, w]);
let k = (0, Ee.useCallback)((({children: e, ...t}) => (0, Ee.createElement)("span", {
children: y ? e : null,
ref: y ? void 0 : f, ...t
})), [y]);
return (0, Ee.useMemo)((() => Object.assign(k, {
Animation: k,
animation: h,
ref: f,
start: b,
pause: x,
stop: w
})), [k, x, b, w])
}, rb = (...e) => (0, Ee.useMemo)((() => Ry(...e)), e), ab = ({ref: e, onScroll: t} = {}) => {
let [n, r] = (0, Ee.useState)({
blockStart: !0,
blockEnd: !1,
inlineStart: !0,
inlineEnd: !1,
once: {blockStart: !1, blockEnd: !1, inlineStart: !1, inlineEnd: !1}
}), a = (0, Ee.useRef)(null), i = e || a, o = (0, Ee.useCallback)((() => {
let e = i.current;
if (!e) return;
let n = Math.round(Math.abs(e.scrollTop)), a = Math.round(e.scrollHeight - e.clientHeight),
o = Math.round(Math.abs(e.scrollLeft)), s = Math.round(e.scrollWidth - e.clientWidth), l = n <= 0,
c = n >= a, u = o <= 0, d = o >= s;
r((e => ({
blockStart: l,
blockEnd: c,
inlineStart: u,
inlineEnd: d,
once: {
blockStart: e.once.blockStart || l,
blockEnd: e.once.blockEnd || c,
inlineStart: e.once.inlineStart || u,
inlineEnd: e.once.inlineEnd || d
}
}))), t?.({blockStart: l, blockEnd: c, inlineStart: u, inlineEnd: d})
}), [t, i]);
return zy({ref: i, onResize: o}), (0, Ee.useEffect)((() => {
let e = i.current;
if (e) return e.addEventListener("scroll", o, {passive: !0}), () => e.removeEventListener("scroll", o, !1)
}), [o, i]), (0, Ee.useMemo)((() => ({ref: i, ...n})), [i, n])
}, ib = e => {
let {name: t} = e, n = (0, Ee.useMemo)((() => ({"data-sol-theme": t})), [t]),
r = (0, Ee.useCallback)((e => Ly(e, n)), [n]);
return (0, Ee.useMemo)((() => ({...e, props: n, getProps: r})), [e, n, r])
}, ob = (0, Ee.createContext)(null), sb = ({children: e, ...t}) => {
let n = null === (0, Ee.useContext)(ob), r = ib(t);
return My((() => {
if (n) return Object.entries(r.props).forEach((([e, t]) => document.documentElement.setAttribute(e, String(t)))), () => Object.keys(r.props).forEach((e => document.documentElement.removeAttribute(e)))
}), [n, r.props]), (0, Ee.createElement)(ob.Provider, {value: r}, "function" == typeof e ? e(r) : e)
}, lb = () => {
let e = ib({});
return (0, Ee.useContext)(ob) ?? e
}, cb = (0, Ee.forwardRef)((({children: e, disabled: t, external: n, href: r, onClick: a, ...i}, o) => {
let s = (0, Ee.useContext)(Wy) ?? "a";
return t ? sy.jsx("a", {
"aria-disabled": "true",
ref: o,
role: "link", ...i,
children: e
}) : sy.jsx(s, {
href: r,
onClick: a,
ref: o,
rel: n ? "noopener noreferrer" : void 0,
target: n ? "_blank" : void 0, ...i,
children: e
})
})), ub = (0, Ee.forwardRef)((({decorative: e, disabled: t, disableFocus: n, loading: r, ...a}, i) => {
let o = !!r, s = t ?? o;
if ((e => "href" in e)(a)) return sy.jsx(cb, {
"aria-busy": !!o || void 0,
disabled: s,
ref: i,
tabIndex: n ? -1 : void 0, ...a
});
let {onClick: l, ...c} = a;
return sy.jsx(e ? "span" : "button", {
"aria-busy": !!o || void 0,
"aria-disabled": !!s || void 0,
onClick: s ? void 0 : l,
ref: i,
tabIndex: n || s ? -1 : void 0,
type: e ? void 0 : "button", ...c
})
}));
ry("@layer sol.components{.sol-c-icon{--_size:var(--sol-c-icon-size,var(--sol-size-100));display:inline-block;flex-shrink:0;height:var(--_size);width:var(--_size)}.sol-c-icon,.sol-c-icon [fill]:not([fill=none]){fill:currentColor}.sol-c-icon [stroke]:not([stroke=none]){stroke:currentColor}}");
let db = (0, Ee.forwardRef)((({isPlaying: e, source: t, ...n}, r) => {
let {ref: a} = nb(t, {isPlaying: e});
return sy.jsx("span", {ref: Ry(a, r), ...n})
})), pb = (0, Ee.forwardRef)((({
className: e,
color: t,
size: n,
source: r,
style: a,
isPlaying: i = !0,
...o
}, s) => {
let l = {
"aria-hidden": !0,
className: Ty("sol-c-icon", t && `sol-u-color-${t}`, e),
ref: s,
style: {...n && {"--sol-c-icon-size": `var(--sol-size-${n})`}, ...a}, ...o
};
return (0, Ee.isValidElement)(r) ? (0, Ee.cloneElement)(r, l) : "function" == typeof r ? sy.jsx(r, {...l}) : sy.jsx(db, {
isPlaying: i,
source: r, ...l,
ref: s
})
}));
ry("@layer sol.components{.sol-c-text{--_font-offset:var(--sol-font-offset-primary);font-family:var(--sol-font-family-primary);font-variant-numeric:tabular-nums;letter-spacing:var(--sol-letter-spacing-normal)}.sol-c-text--offset{inset-block-start:var(--_font-offset,0);position:relative}.sol-c-text--heading-l{font:var(--sol-text-heading-l)}.sol-c-text--heading-m{font:var(--sol-text-heading-m)}.sol-c-text--heading-s{font:var(--sol-text-heading-s)}.sol-c-text--heading-xs{font:var(--sol-text-heading-xs)}.sol-c-text--emphasis-l{font:var(--sol-text-emphasis-l)}.sol-c-text--emphasis-m{font:var(--sol-text-emphasis-m)}.sol-c-text--emphasis-s{font:var(--sol-text-emphasis-s)}.sol-c-text--body-l{font:var(--sol-text-body-l)}.sol-c-text--body-l-bold{font:var(--sol-text-body-l-bold)}.sol-c-text--body-m{font:var(--sol-text-body-m)}.sol-c-text--body-m-bold{font:var(--sol-text-body-m-bold)}.sol-c-text--body-s{font:var(--sol-text-body-s)}.sol-c-text--body-s-bold{font:var(--sol-text-body-s-bold)}.sol-c-text--body-xs{font:var(--sol-text-body-xs)}.sol-c-text--body-xs-bold{font:var(--sol-text-body-xs-bold)}.sol-c-text--body-xxs{font:var(--sol-text-body-xxs)}.sol-c-text--body-xxs-bold{font:var(--sol-text-body-xxs-bold)}.sol-c-text--button-m{font:var(--sol-text-button-m)}.sol-c-text--button-s{font:var(--sol-text-button-s)}.sol-c-text--label-m{font:var(--sol-text-label-m)}.sol-c-text--label-s{font:var(--sol-text-label-s)}.sol-c-text--label-xs{font:var(--sol-text-label-xs)}.sol-c-text--body,.sol-c-text--label{--_font-offset:var(--sol-font-offset-secondary)}.sol-c-text--button{letter-spacing:var(--sol-letter-spacing-button)}.sol-c-text :is(h1,h2,h3,p,ul,ol,blockquote,pre,table):not(:first-child):not([class*=sol-c-]){margin-block-start:var(--sol-size-150)}.sol-c-text h1:not([class*=sol-c-]){font:var(--sol-text-body-l)}.sol-c-text h2:not([class*=sol-c-]){font:var(--sol-text-body-m)}.sol-c-text h3:not([class*=sol-c-]){font:var(--sol-text-body-s)}.sol-c-text :is(b,strong):not([class*=sol-c-]){font-weight:var(--sol-font-weight-6)}.sol-c-text :is(h1,h2,h3):not([class*=sol-c-]),.sol-c-text.sol-c-text--body :is(b,strong):not([class*=sol-c-]){font-weight:var(--sol-font-weight-7)}.sol-c-text a:not([class*=sol-c-]){border-radius:var(--sol-radius-4);color:var(--sol-color-interactive);cursor:var(--sol-cursor-link);text-decoration:underline;transition:color var(--sol-motion-250)}.sol-c-text a:not([class*=sol-c-]):hover{color:var(--sol-color-interactive-hovered)}.sol-c-text a:not([class*=sol-c-]):active{color:var(--sol-color-interactive-pressed)}.sol-c-text :is(ul,ol):not([class*=sol-c-]){margin-inline-start:var(--sol-size-150)}.sol-c-text :is(ul,ol):not([class*=sol-c-]) :is(ul,ol):not(:first-child){margin-block-start:0}.sol-c-text :is(ul,ol):not([class*=sol-c-]) li,.sol-c-text :is(ul,ol):not([class*=sol-c-]):not(:first-child)+:is(ul,ol){margin-block:var(--sol-size-050)}.sol-c-text ul:not([class*=sol-c-]){list-style-type:disc}.sol-c-text ol:not([class*=sol-c-]){list-style-type:decimal}.sol-c-text blockquote:not([class*=sol-c-]){border-inline-start:var(--sol-border-2) solid var(--sol-color-accent-1);padding-inline-start:var(--sol-size-100)}.sol-c-text pre:not([class*=sol-c-]){background-color:var(--sol-color-surface-2);border-radius:var(--sol-radius-4);padding:var(--sol-size-100)}.sol-c-text table[style*=background-color]:not([class*=sol-c-]){background-color:var(--sol-color-surface-2)!important;border-radius:var(--sol-radius-4)}.sol-c-text table[style*=background-color]:not([class*=sol-c-]) td{color:inherit!important;padding:var(--sol-size-100)}.sol-c-text table[style*=background-color]:not([class*=sol-c-]) [style*=color]{color:inherit!important}.sol-c-text hr:not([class*=sol-c-]){block-size:0;border-block-start-width:var(--sol-border-1);color:var(--sol-color-surface-3);margin-block:var(--sol-size-150)}}");
let hb = Dy((({
align: e,
as: t,
children: n,
className: r,
color: a,
decoration: i,
italic: o,
style: s,
multiline: l,
offset: c,
transform: u,
truncate: d,
variant: p = "body-m",
visuallyHidden: h,
...f
}, m) => {
let g = (0, Ee.useMemo)((() => t || (h && !l ? "span" : l ? "div" : "p")), [t, l, h]),
v = Ty("sol-c-text", `sol-c-text--${p.split("-").shift()}`, `sol-c-text--${p}`, l && "sol-c-text--multiline", c && "sol-c-text--offset", e && `sol-u-text-align-${e}`, a && `sol-u-color-${a}`, i && `sol-u-text-decoration-${i}`, o && (o ? "sol-u-font-style-italic" : "sol-u-font-style-normal"), u && `sol-u-text-transform-${u}`, d && "sol-u-text-truncate", h && "sol-u-hide-visually", r),
_ = {...d && "number" == typeof d && d > 1 && {"--sol-u-text-truncate": d}, ...s};
return (0, Ee.createElement)(g, {className: v, ref: m, style: _, ...f}, n)
})), fb = "center", mb = "default", gb = "medium", vb = "default", _b = (0, Ee.forwardRef)((({
align: e = fb,
children: t,
className: n,
color: r = mb,
controlled: a,
disableOffset: i,
endIcon: o,
fullWidth: s,
loading: l,
loadingIcon: c = wy,
loadingIconAnimation: u = !0,
onMouseEnter: d,
onMouseLeave: p,
selected: h,
size: f = gb,
icon: m,
iconAnimation: g = !0,
uppercase: v,
variant: _ = vb,
...y
}, b) => {
let [x, w] = (0, Ee.useState)(!1), k = (0, Ee.useCallback)((e => {
w(!0), d?.(e)
}), [d]), S = (0, Ee.useCallback)((e => {
w(!1), p?.(e)
}), [p]), E = "string" == typeof l, I = l && c ? c : m, C = (0, Ee.useMemo)((() => {
if (l) switch (u) {
case"hover":
return x;
case"not-hover":
return !x;
default:
return u
}
switch (g) {
case"hover":
return x;
case"not-hover":
return !x;
default:
return g
}
}), [g, x, l, u]), O = (0, Ee.useMemo)((() => {
switch (f) {
case"large":
case"medium":
return "button-m";
case"small":
return "button-s"
}
}), [f]),
P = Ty("sol-c-button", e && e !== fb && `sol-c-button--align-${e}`, r && r !== mb && `sol-c-button--${r}`, a && "sol-c-button--controlled", s && "sol-c-button--full-width", f && f !== gb && `sol-c-button--${f}`, _ && _ !== vb && `sol-c-button--${_}`, n);
return sy.jsxs(ub, {
"aria-pressed": h,
className: P,
loading: !!l,
onMouseEnter: k,
onMouseLeave: S,
ref: b, ...y,
children: [I && sy.jsx(pb, {
className: "sol-c-button__icon sol-c-button__icon--start",
isPlaying: C,
source: I
}), E && sy.jsx("span", {
className: "sol-u-hide-visually",
role: "status",
children: l
}), t && sy.jsx(hb, {
"aria-hidden": E,
as: "span",
className: "sol-c-button__content",
offset: !i,
transform: v || "default" === _ ? "uppercase" : void 0,
variant: O,
children: t
}), o && sy.jsx(pb, {className: "sol-c-button__icon sol-c-button__icon--end", source: o})]
})
})), yb = e => "object" == typeof e && null != e && 1 === e.nodeType,
bb = (e, t) => (!t || "hidden" !== e) && "visible" !== e && "clip" !== e, xb = (e, t) => {
if (e.clientHeight < e.scrollHeight || e.clientWidth < e.scrollWidth) {
let n = getComputedStyle(e, null);
return bb(n.overflowY, t) || bb(n.overflowX, t) || (e => {
let t = (e => {
if (!e.ownerDocument || !e.ownerDocument.defaultView) return null;
try {
return e.ownerDocument.defaultView.frameElement
} catch (e) {
return null
}
})(e);
return !!t && (t.clientHeight < e.scrollHeight || t.clientWidth < e.scrollWidth)
})(e)
}
return !1
},
wb = (e, t, n, r, a, i, o, s) => i < e && o > t || i > e && o < t ? 0 : i <= e && s <= n || o >= t && s >= n ? i - e - r : o > t && s < n || i < e && s > n ? o - t + a : 0,
kb = e => {
let t = e.parentElement;
return null == t ? e.getRootNode().host || null : t
}, Sb = (e, t) => {
var n, r, a, i;
if ("undefined" == typeof document) return [];
let {scrollMode: o, block: s, inline: l, boundary: c, skipOverflowHiddenElements: u} = t,
d = "function" == typeof c ? c : e => e !== c;
if (!yb(e)) throw TypeError("Invalid target");
let p = document.scrollingElement || document.documentElement, h = [], f = e;
for (; yb(f) && d(f);) {
if ((f = kb(f)) === p) {
h.push(f);
break
}
null != f && f === document.body && xb(f) && !xb(document.documentElement) || null != f && xb(f, u) && h.push(f)
}
let m = null != (r = null == (n = window.visualViewport) ? void 0 : n.width) ? r : innerWidth,
g = null != (i = null == (a = window.visualViewport) ? void 0 : a.height) ? i : innerHeight, {
scrollX: v,
scrollY: _
} = window, {
height: y,
width: b,
top: x,
right: w,
bottom: k,
left: S
} = e.getBoundingClientRect(), {top: E, right: I, bottom: C, left: O} = (e => {
let t = window.getComputedStyle(e);
return {
top: parseFloat(t.scrollMarginTop) || 0,
right: parseFloat(t.scrollMarginRight) || 0,
bottom: parseFloat(t.scrollMarginBottom) || 0,
left: parseFloat(t.scrollMarginLeft) || 0
}
})(e), P = "start" === s || "nearest" === s ? x - E : "end" === s ? k + C : x + y / 2 - E + C,
A = "center" === l ? S + b / 2 - O + I : "end" === l ? w + I : S - O, T = [];
for (let D = 0; D < h.length; D++) {
let e = h[D], {height: t, width: n, top: r, right: a, bottom: i, left: c} = e.getBoundingClientRect();
if ("if-needed" === o && x >= 0 && S >= 0 && k <= g && w <= m && x >= r && k <= i && S >= c && w <= a) break;
let u = getComputedStyle(e), d = parseInt(u.borderLeftWidth, 10), f = parseInt(u.borderTopWidth, 10),
E = parseInt(u.borderRightWidth, 10), I = parseInt(u.borderBottomWidth, 10), C = 0, O = 0,
R = "offsetWidth" in e ? e.offsetWidth - e.clientWidth - d - E : 0,
L = "offsetHeight" in e ? e.offsetHeight - e.clientHeight - f - I : 0,
j = "offsetWidth" in e ? 0 === e.offsetWidth ? 0 : n / e.offsetWidth : 0,
N = "offsetHeight" in e ? 0 === e.offsetHeight ? 0 : t / e.offsetHeight : 0;
if (p === e) C = "start" === s ? P : "end" === s ? P - g : "nearest" === s ? wb(_, _ + g, g, f, I, _ + P, _ + P + y, y) : P - g / 2, O = "start" === l ? A : "center" === l ? A - m / 2 : "end" === l ? A - m : wb(v, v + m, m, d, E, v + A, v + A + b, b), C = Math.max(0, C + _), O = Math.max(0, O + v); else {
C = "start" === s ? P - r - f : "end" === s ? P - i + I + L : "nearest" === s ? wb(r, i, t, f, I + L, P, P + y, y) : P - (r + t / 2) + L / 2, O = "start" === l ? A - c - d : "center" === l ? A - (c + n / 2) + R / 2 : "end" === l ? A - a + E + R : wb(c, a, n, d, E + R, A, A + b, b);
let {scrollLeft: o, scrollTop: u} = e;
C = 0 === N ? 0 : Math.max(0, Math.min(u + C / N, e.scrollHeight - t / N + L)), O = 0 === j ? 0 : Math.max(0, Math.min(o + O / j, e.scrollWidth - n / j + R)), P += u - C, A += o - O
}
T.push({el: e, top: C, left: O})
}
return T
}, Eb = (0, Ee.forwardRef)((({
children: e,
className: t,
id: n,
keepMounted: r,
open: a,
onOpenChange: i,
prefix: o,
scrollIntoView: s,
suffix: l,
title: c,
...u
}, d) => {
let p = (0, Ee.useRef)(null), h = (0, Ee.useRef)(null), f = (0, Ee.useId)(), m = n ?? f, {
getIsOpen: g,
register: v,
toggle: _,
unregister: y
} = cy(), b = g(m), [x, w] = (0, Ee.useState)(!!a);
(0, Ee.useLayoutEffect)((() => (v(m, a), () => y(m))), [m, a, v, y]), (0, Ee.useEffect)((() => {
b && (w(!0), s && p.current && function (e, t) {
if (!e.isConnected || !(e => {
let t = e;
for (; t && t.parentNode;) {
if (t.parentNode === document) return !0;
t = t.parentNode instanceof ShadowRoot ? t.parentNode.host : t.parentNode
}
return !1
})(e)) return;
let n = (e => {
let t = window.getComputedStyle(e);
return {
top: parseFloat(t.scrollMarginTop) || 0,
right: parseFloat(t.scrollMarginRight) || 0,
bottom: parseFloat(t.scrollMarginBottom) || 0,
left: parseFloat(t.scrollMarginLeft) || 0
}
})(e);
if ("object" == typeof t && "function" == typeof t.behavior) return t.behavior(Sb(e, t));
let r = "boolean" == typeof t || null == t ? void 0 : t.behavior;
for (let {el: a, top: i, left: o} of Sb(e, (e => !1 === e ? {
block: "end",
inline: "nearest"
} : e === Object(e) && 0 !== Object.keys(e).length ? e : {block: "start", inline: "nearest"})(t))) {
let e = i - n.top + n.bottom, t = o - n.left + n.right;
a.scroll({top: e, left: t, behavior: r})
}
}(p.current, {block: "start", scrollMode: "if-needed"})), i?.(b)
}), [b, i, s]);
let k = (0, Ee.useCallback)((() => _(m)), [m, _]), S = (0, Ee.useCallback)((() => {
_(m, !1), h.current?.focus()
}), [m, _]), E = (0, Ee.useCallback)((() => {
b || w(!1)
}), [b]), I = rb(p, d), C = Ty("sol-c-accordion__item", b && "sol-c-accordion__item--open", t);
return sy.jsxs("div", {
className: C,
id: m,
ref: I, ...u,
children: [sy.jsxs("button", {
"aria-controls": m + "-content",
"aria-expanded": b,
className: "sol-c-accordion__header",
id: m + "-header",
onClick: k,
type: "button",
ref: h,
children: ["function" == typeof o ? o({isOpen: b}) : o, sy.jsx(hb, {
as: "span",
className: "sol-c-accordion__title",
offset: !0,
variant: "emphasis-m",
children: "function" == typeof c ? c({isOpen: b}) : c
}), "function" == typeof l ? l({isOpen: b}) : l, sy.jsx(uy, {className: "sol-c-accordion__icon sol-c-accordion__icon--plus"}), sy.jsx(ky, {className: "sol-c-accordion__icon sol-c-accordion__icon--minus"})]
}), sy.jsx("div", {
"aria-labelledby": m + "-header",
className: "sol-c-accordion__content",
hidden: !b,
id: m + "-content",
role: "region",
onTransitionEnd: E,
children: (r || x) && sy.jsx("div", {
className: "sol-c-accordion__wrapper",
children: "function" == typeof e ? e({close: S, isOpen: x}) : e
})
})]
})
})), Ib = (0, Ee.forwardRef)((({className: e, closeAll: t, children: n, openAll: r, ...a}, i) => {
let o = (() => {
let [e, t] = (0, Ee.useState)({}),
n = (0, Ee.useCallback)(((e, n) => t((t => ({...t, [e]: n ?? !1})))), []),
r = (0, Ee.useCallback)((e => t((({[e]: t, ...n}) => n))), []),
a = (0, Ee.useCallback)((t => !!e[t]), [e]),
i = (0, Ee.useCallback)(((e, n) => t((t => ({...t, [e]: n ?? !t[e]})))), []),
o = (0, Ee.useCallback)((t => Object.entries(e).forEach((([e, n]) => i(e, t ?? !n)))), [e, i]);
return (0, Ee.useMemo)((() => ({
register: n,
unregister: r,
getIsOpen: a,
toggle: i,
size: Object.keys(e).length,
allOpen: Object.values(e).every((e => e)),
allClosed: Object.values(e).every((e => !e)),
closeAll: () => o(!1),
openAll: () => o(!0)
})), [a, e, n, i, o, r])
})(), s = Ty("sol-c-accordion", e);
return sy.jsx(ly.Provider, {
value: o,
children: sy.jsxs("div", {
className: s,
ref: i, ...a,
children: [o.size > 2 && sy.jsxs("div", {
className: "sol-c-accordion__actions",
children: [r && sy.jsx(_b, {
className: "sol-c-accordion__action",
disabled: o.allOpen,
onClick: o.openAll,
size: "small",
variant: "plain",
children: r
}), t && sy.jsx(_b, {
className: "sol-c-accordion__action",
disabled: o.allClosed,
onClick: o.closeAll,
size: "small",
variant: "plain",
children: t
})]
}), sy.jsx("div", {className: "sol-c-accordion__items", children: n})]
})
})
}));
ry("@layer sol.components{.sol-c-app-header{-webkit-app-region:drag;background:var(--sol-color-surface-1);box-shadow:var(--sol-shadow-100);padding:var(--sol-size-050);position:relative}.sol-c-app-header>*{-webkit-app-region:no-drag;opacity:0}.sol-c-app-header>:first-child{animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.4s}.sol-c-app-header>:nth-child(2){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.5s}.sol-c-app-header>:nth-child(3){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.6s}.sol-c-app-header>:nth-child(4){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.7s}.sol-c-app-header>:nth-child(5){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.8s}.sol-c-app-header>:nth-child(6){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:.9s}.sol-c-app-header>:nth-child(7){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:1s}.sol-c-app-header>:nth-child(8){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:1.1s}.sol-c-app-header>:nth-child(9){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:1.2s}.sol-c-app-header>:nth-child(10){animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:1.3s}[data-sol-dialog] .sol-c-app-header{-webkit-app-region:no-drag}.sol-c-app-header__actions{-webkit-app-region:drag;margin-inline-start:auto}.sol-c-app-header__item{-webkit-app-region:no-drag;position:relative;z-index:1}.sol-c-app-header__item--always-on-top{z-index:var(--sol-z-actions)}.sol-c-app-header__separator{background-color:var(--sol-color-surface-2);block-size:100%;inline-size:var(--sol-border-1)}.sol-c-app-header__item--rsi-logo .sol-c-icon{transition:transform var(--sol-motion-250) var(--sol-motion-ease-out),opacity var(--sol-motion-250) var(--sol-motion-ease-out)}.sol-c-app-header__item--rsi-logo .sol-c-icon--arrow-up{opacity:0;position:absolute;right:0;transform:translateY(calc(var(--sol-size-075)*-1))}.sol-c-app-header__item--rsi-logo[aria-expanded=true] .sol-c-icon--arrow-down{opacity:0;transform:translateY(var(--sol-size-075))}.sol-c-app-header__item--rsi-logo[aria-expanded=true] .sol-c-icon--arrow-up{opacity:1;transform:translateY(0)}}"), ry("@layer sol.components{.sol-c-stack{display:flex;gap:var(--sol-c-stack-gap);min-inline-size:0}.sol-c-stack--align-start{align-items:flex-start}.sol-c-stack--align-center{align-items:center}.sol-c-stack--align-end{align-items:flex-end}.sol-c-stack--align-stretch{align-items:stretch}.sol-c-stack--align-baseline{align-items:baseline}.sol-c-stack--justify-start{justify-content:flex-start}.sol-c-stack--justify-center{justify-content:center}.sol-c-stack--justify-end{justify-content:flex-end}.sol-c-stack--justify-space-between{justify-content:space-between}.sol-c-stack--justify-space-around{justify-content:space-around}.sol-c-stack--justify-space-evenly{justify-content:space-evenly}.sol-c-stack--vertical{flex-direction:column}.sol-c-stack--reverse{flex-direction:row-reverse}.sol-c-stack--reverse.sol-c-stack--vertical{flex-direction:column-reverse}.sol-c-stack--wrap{flex-wrap:wrap}.sol-c-stack__item{flex:0 0 auto}.sol-c-stack__item--start{align-self:flex-start}.sol-c-stack__item--center{align-self:center}.sol-c-stack__item--end{align-self:flex-end}.sol-c-stack__item--stretch{align-self:stretch}.sol-c-stack__item--baseline{align-self:baseline}.sol-c-stack__item--fill{flex:1 1 auto}}");
Dy((({align: e, as: t = "div", className: n, children: r, fill: a, ...i}, o) => {
let s = Ty("sol-c-stack__item", e && `sol-c-stack__item--${e}`, a && "sol-c-stack__item--fill", n);
return (0, Ee.createElement)(t, {className: s, ref: o, ...i}, r)
}));
let Cb = Dy((({
align: e,
as: t = "div",
children: n,
className: r,
gap: a,
justify: i,
reverse: o,
vertical: s,
wrap: l,
...c
}, u) => {
let d = Ty("sol-c-stack", e && `sol-c-stack--align-${e}`, i && `sol-c-stack--justify-${i}`, o && "sol-c-stack--reverse", s && "sol-c-stack--vertical", l && "sol-c-stack--wrap", a && `sol-u-gap-${a}`, r);
return (0, Ee.createElement)(t, {className: d, ref: u, ...c}, n)
})), Ob = (0, Ee.forwardRef)((({className: e, ...t}, n) => {
let r = Ty("sol-c-app-header__actions", e);
return sy.jsx(Cb, {align: "center", className: r, justify: "end", gap: "050", ref: n, ...t})
})), Pb = (0, Ee.forwardRef)((({
alwaysOnTop: e,
children: t,
className: n,
hasAvatar: r,
label: a,
style: i,
...o
}, s) => {
let l = Ty("sol-c-app-header__item", e && "sol-c-app-header__item--always-on-top", r && "sol-c-app-header__item--avatar", n),
c = {...r && {"--sol-c-button-padding": "var(--sol-size-025)"}, ...i};
return sy.jsx(_b, {
"aria-label": t && a ? a : void 0,
className: l,
disableOffset: !!t,
ref: s,
size: "medium",
style: c,
variant: "plain", ...o,
children: t ?? a
})
})), Ab = Dy((({as: e = "div", className: t, ...n}, r) => {
let a = Ty("sol-c-app-header__separator", t);
return sy.jsx(e, {"aria-hidden": "true", className: a, ref: r, ...n})
})), Tb = (0, Ee.forwardRef)((({actions: e, children: t, className: n, ...r}, a) => {
let i = Ty("sol-c-app-header", n);
return sy.jsxs(Cb, {
as: "header",
className: i,
gap: "050",
ref: a, ...r,
children: [t, e && sy.jsx(Ob, {children: e})]
})
}));
ry("@layer sol.components{.sol-c-app-layout{background:var(--sol-color-background);block-size:100vh;block-size:100dvh;display:flex;flex-direction:column;position:relative}.sol-c-app-layout__header{flex:0;position:relative;z-index:var(--sol-z-header)}.sol-c-app-layout__main{display:flex;flex:1;flex-direction:column;min-block-size:0;overflow:auto;position:relative;z-index:var(--sol-z-main)}}");
let Db = (0, Ee.forwardRef)((({children: e, className: t, header: n, ...r}, a) => {
let i = Ty("sol-c-app-layout", t);
return sy.jsxs("div", {
className: i,
ref: a, ...r,
children: [n && (0, Ee.cloneElement)(n, {className: "sol-c-app-layout__header"}), sy.jsx("main", {
className: "sol-c-app-layout__main",
children: e
})]
})
}));
ry("@layer sol.components{.sol-c-avatar{--_size:var(--sol-c-avatar-size,var(--sol-size-200));background-color:var(--sol-color-surface-2);border:var(--sol-border-1) solid;border-radius:var(--sol-radius-4);display:inline-block;height:var(--_size);overflow:hidden;position:relative;width:var(--_size)}.sol-c-avatar__image{display:block;height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity var(--sol-motion-250);width:100%}.sol-c-avatar__image--loaded{opacity:1}}");
let Rb = Dy((({as: e = "span", alt: t, className: n, src: r, srcSet: a, ...i}, o) => {
let s = qy({src: r, srcSet: a}), l = Ty("sol-c-avatar", n);
return sy.jsx(e, {
className: l,
"aria-label": r && s !== $y ? void 0 : t,
ref: o, ...i,
children: r && s !== $y && sy.jsx("img", {
alt: t ?? "",
className: Ty("sol-c-avatar__image", s === Gy && "sol-c-avatar__image--loaded"),
src: r,
srcSet: a
})
})
}));
ry("@layer sol.components{.sol-c-card{--_background-color:var(--sol-color-surface-0);--_border-color:var(--sol-color-surface-2);--_border-radius:var(--sol-radius-8);--_border-width:var(--sol-border-1);--_width:13rem;--_height:18rem;--_media-width:22.375rem;--_overlay-offset:var(--sol-size-150);--_content-width:calc(100% - var(--_media-width) - var(--_border-width));--_background-mask:var(\n --sol-c-card-background-mask,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath stroke='%23000' d='M55.5 32.5v2.492a7.5 7.5 0 0 1-2.419 5.517L38.958 53.517a7.5 7.5 0 0 1-5.08 1.983H8A7.5 7.5 0 0 1 .5 48V8A7.5 7.5 0 0 1 8 .5h40A7.5 7.5 0 0 1 55.5 8v24.5Z'/%3E%3C/svg%3E\") 24 fill\n );--_border-mask:var(--sol-c-card-border-mask,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath fill='none' stroke='%23000' d='M55.5 32.5v2.492a7.5 7.5 0 0 1-2.419 5.517L38.958 53.517a7.5 7.5 0 0 1-5.08 1.983H8A7.5 7.5 0 0 1 .5 48V8A7.5 7.5 0 0 1 8 .5h40A7.5 7.5 0 0 1 55.5 8v24.5Z'/%3E%3C/svg%3E\") 24 fill);--_light-color:var(--sol-color-accent-1);--_light-angle:var(--sol-motion-angle);--_light-size:var(--sol-size-500);border-radius:var(--_border-radius);cursor:var(--sol-cursor-link);inline-size:var(--_width);position:relative}.sol-c-card:after,.sol-c-card:before{border:var(--_border-width) solid;color:var(--_border-color);content:\"\";inset:0;position:absolute;transition:color var(--sol-motion-250) var(--sol-motion-ease)}.sol-c-card:before{border-block-end:0;border-start-end-radius:var(--_border-radius);border-start-start-radius:var(--_border-radius);inset-block-end:50%;z-index:2}.sol-c-card:after{border-block-start:0;border-end-end-radius:var(--_border-radius);border-end-start-radius:var(--_border-radius);inset-block-start:50%;z-index:4}@supports ((-webkit-mask-box-image:var(--_border-mask )) or (mask-border:var(--_border-mask ))){.sol-c-card:after,.sol-c-card:before{-webkit-mask-box-image:var(--_border-mask);border:none;inset-block:0;mask-border:var(--_border-mask);pointer-events:none}.sol-c-card:before{background:linear-gradient(currentColor 50%,#0000 0)}.sol-c-card:after{background:linear-gradient(#0000 50%,currentColor 0)}}.sol-c-card:hover{--_border-color:var(--sol-color-interactive-hovered);--_background-color:var(--sol-color-surface-0-hovered)}.sol-c-card:active{--_border-color:var(--sol-color-interactive-pressed);--_background-color:var(--sol-color-surface-0-pressed)}.sol-c-card:focus,.sol-c-card:focus-within{outline:var(--sol-focus-width) solid var(--sol-focus-color);outline-offset:var(--sol-focus-offset)}.sol-c-card--wide{--_width:35.5rem}.sol-c-card--offline{--_width:auto}.sol-c-card__wrapper{-webkit-mask-box-image:var(--_background-mask);background:var(--_background-color);border-radius:var(--_border-radius);display:flex;mask-border:var(--_background-mask);min-block-size:var(--_height);overflow:hidden;padding:var(--_border-width);transition:background-color var(--sol-motion-250) var(--sol-motion-ease)}.sol-c-card__content{align-items:flex-start;display:flex;flex:1;flex-direction:column;overflow:hidden;padding:var(--sol-size-150);position:relative;z-index:1}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-card__content:before{--_a:calc(var(--_height)/cos(var(--_light-angle)));--_b:calc(var(--_light-size)*tan(var(--_light-angle)));--_c:calc(var(--_light-size)*cos(var(--_light-angle)));--_light-width:calc(var(--_a) + var(--_b));background:linear-gradient(to right,var(--_light-color),#0000);content:\"\";height:var(--_light-size);left:50%;opacity:0;position:absolute;top:50%;transform:translate(calc(-100% - var(--_c)),-50%) rotate(calc(var(--_light-angle)*-1));width:var(--_light-width);z-index:-1}.sol-c-card:hover .sol-c-card__content:before{animation:sol-c-card-sweep var(--sol-motion-500) var(--sol-motion-linear) both}}@keyframes sol-c-card-sweep{50%{opacity:.4}to{opacity:0;transform:translate(calc(var(--_c)),-50%) rotate(calc(var(--_light-angle)*-1))}}.sol-c-card__heading{margin-block-end:auto}.sol-c-card__link{outline:none}.sol-c-card__media{inline-size:var(--_media-width);overflow:hidden;position:relative}.sol-c-card__media .sol-c-card__image{left:0;position:absolute;top:0}@supports (object-fit:cover){.sol-c-card__media .sol-c-card__image{height:100%;object-fit:cover;width:100%}}.sol-c-card__overlay{-webkit-mask-box-image:var(--_background-mask);clip-path:inset(0 0 0 var(--_content-width));inset:0;inset-block-start:calc(var(--_overlay-offset)*-1);mask-border:var(--_background-mask);overflow:hidden;pointer-events:none;position:absolute;z-index:3}.sol-c-card__overlay .sol-c-card__image{inline-size:calc(var(--_media-width) + var(--_overlay-offset)*2 + var(--_border-width)*2);inset-inline-end:calc(var(--_overlay-offset)*-1);max-inline-size:none;position:absolute;top:0}[dir=rtl] .sol-c-card__overlay{clip-path:inset(0 var(--_content-width) 0 0)}.sol-c-card__image{opacity:0;transition-duration:var(--sol-motion-250);transition-property:opacity}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-card__image{transform:scale(1.05);transition-property:opacity,transform}}.sol-c-card__image--loaded{opacity:1;transform:scale(1)}.sol-c-card__offline-icon.sol-c-icon{color:var(--sol-color-surface-3);height:var(--sol-size-600);margin:auto 13rem;position:relative;width:var(--sol-size-600)}}");
var Lb = {
v: "5.9.0",
fr: 29.9700012207031,
ip: 0,
op: 180.00000733155,
w: 16,
h: 16,
nm: "wifi-off",
ddd: 0,
assets: [{
id: "comp_0", nm: "wifi-off_export", fr: 29.9700012207031, layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Bar",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8.16, 6.619, 0], ix: 2, l: 2},
a: {a: 0, k: [4.162, 5.114, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0]],
o: [[0, 0], [0, 0]],
v: [[-3.412, -4.365], [3.412, 4.365]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [4.162, 5.114], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.5], y: [1]}, o: {x: [.5], y: [0]}, t: 140, s: [0]}, {
t: 150.000006109625,
s: [100]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.5], y: [1]}, o: {x: [.5], y: [0]}, t: 18, s: [0]}, {
t: 28.0000011404634,
s: [100]
}],
ix: 2
},
o: {a: 0, k: 0, ix: 3},
m: 1,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 2,
ty: 0,
nm: "Waves 6",
refId: "comp_1",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8, 8, 0], ix: 2, l: 2},
a: {a: 0, k: [8, 8, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
hasMask: !0,
masksProperties: [{
inv: !1,
mode: "a",
pt: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[5.938, .188], [-5.5, 2.875], [2.593, 9.624], [4.941, 5.621], [2.142, 2.005], [3.63, 1.404], [12.72, 12.599], [16.149, 12.425], [18.625, 6.812], [21.938, .188]],
c: !0
},
ix: 1
},
o: {a: 0, k: 100, ix: 3},
x: {a: 0, k: 0, ix: 4},
nm: "Mask 1"
}],
w: 16,
h: 16,
ip: 20.0000008146167,
op: 142.000005783779,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 3,
ty: 4,
nm: "Waves 9",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-2.4, 0], [-1.681, -1.372]],
o: [[1.7, -1.436], [2.339, 0], [0, 0]],
v: [[-6.232, 1.151], [.064, -1.151], [6.232, 1.044]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [9.982, 4.901], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.47], y: [1]}, o: {x: [.53], y: [0]}, t: 149, s: [0]}, {
t: 154.000006272549,
s: [100]
}],
ix: 1
},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 142.000005783779,
op: 229.000009327361,
st: 142.000005783779,
bm: 0
}, {
ddd: 0,
ind: 4,
ty: 4,
nm: "Waves 3",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-2.4, 0], [-1.681, -1.372]],
o: [[1.7, -1.436], [2.339, 0], [0, 0]],
v: [[-6.232, 1.151], [.064, -1.151], [6.232, 1.044]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [9.982, 4.901], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {
a: 1,
k: [{i: {x: [.5], y: [1]}, o: {x: [.5], y: [0]}, t: 12, s: [0]}, {
t: 17.0000006924242,
s: [100]
}],
ix: 2
},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 0,
op: 20.0000008146167,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 5,
ty: 0,
nm: "Waves 5",
refId: "comp_2",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8, 8, 0], ix: 2, l: 2},
a: {a: 0, k: [8, 8, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
hasMask: !0,
masksProperties: [{
inv: !1,
mode: "a",
pt: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[1.188, 5.5], [2.438, 10.875], [6.938, 8.281], [4.75, 4.906], [6.188, 4.25], [13.938, 16], [14, 11.375], [15.812, 6.125], [16, 0]],
c: !0
},
ix: 1
},
o: {a: 0, k: 100, ix: 3},
x: {a: 0, k: 0, ix: 4},
nm: "Mask 1"
}],
w: 16,
h: 16,
ip: 22.0000008960784,
op: 144.00000586524,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 6,
ty: 4,
nm: "Waves 8",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-1.599, 0], [-1.144, -.948]],
o: [[1.143, -.945], [1.602, 0], [0, 0]],
v: [[-4.212, .755], [-.003, -.758], [4.212, .758]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.049, 7.659], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.47], y: [1]}, o: {x: [.53], y: [0]}, t: 152, s: [0]}, {
t: 157.000006394741,
s: [100]
}],
ix: 1
},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 1,
ix: 3,
nm: "Trim Paths 2",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 144.00000586524,
op: 229.000009327361,
st: 144.00000586524,
bm: 0
}, {
ddd: 0,
ind: 7,
ty: 4,
nm: "Waves 2",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-1.599, 0], [-1.144, -.948]],
o: [[1.143, -.945], [1.602, 0], [0, 0]],
v: [[-4.212, .755], [-.003, -.758], [4.212, .758]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.049, 7.659], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {
a: 1,
k: [{i: {x: [.5], y: [1]}, o: {x: [.5], y: [0]}, t: 8, s: [0]}, {
t: 13.0000005295009,
s: [100]
}],
ix: 2
},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 0,
op: 22.0000008960784,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 8,
ty: 0,
nm: "Waves 4",
refId: "comp_3",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8, 8, 0], ix: 2, l: 2},
a: {a: 0, k: [8, 8, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
hasMask: !0,
masksProperties: [{
inv: !1,
mode: "a",
pt: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.562, 9.125], [4.938, 12.5], [9.998, 11.721], [6.481, 7.588], [7.843, 7.154], [14, 14.75], [16, 0]],
c: !0
},
ix: 1
},
o: {a: 0, k: 100, ix: 3},
x: {a: 0, k: 0, ix: 4},
nm: "Mask 1"
}],
w: 16,
h: 16,
ip: 24.00000097754,
op: 146.000005946702,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 9,
ty: 4,
nm: "Waves 7",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.804, 0], [-.577, -.439]],
o: [[.585, -.463], [.78, 0], [0, 0]],
v: [[-2.102, .37], [.026, -.37], [2.102, .33]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.021, 10.452], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.47], y: [1]}, o: {x: [.53], y: [0]}, t: 156, s: [0]}, {
t: 161.000006557664,
s: [100]
}],
ix: 1
},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 1,
ix: 3,
nm: "Trim Paths 2",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 146.000005946702,
op: 229.000009327361,
st: 146.000005946702,
bm: 0
}, {
ddd: 0,
ind: 10,
ty: 4,
nm: "Waves",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.804, 0], [-.577, -.439]],
o: [[.585, -.463], [.78, 0], [0, 0]],
v: [[-2.102, .37], [.026, -.37], [2.102, .33]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.021, 10.452], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {
a: 1,
k: [{i: {x: [.5], y: [1]}, o: {x: [.5], y: [0]}, t: 4, s: [0]}, {
t: 9.00000036657752,
s: [100]
}],
ix: 2
},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 0,
op: 24.00000097754,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 11,
ty: 4,
nm: "Circle",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8, 12.513, 0], ix: 2, l: 2},
a: {a: 0, k: [1.237, 1.237, 0], ix: 1, l: 2},
s: {
a: 1,
k: [{
i: {x: [.667, .667, .667], y: [1, 1, 1]},
o: {x: [.333, .333, .333], y: [0, 0, 0]},
t: 0,
s: [0, 0, 100]
}, {
i: {x: [.49, .49, .49], y: [1, 1, 1]},
o: {x: [.167, .167, .167], y: [0, 0, 0]},
t: 5,
s: [100, 100, 100]
}, {
i: {x: [.49, .49, .49], y: [1, 1, 1]},
o: {x: [.51, .51, .51], y: [0, 0, 0]},
t: 160,
s: [100, 100, 100]
}, {t: 166.000006761319, s: [0, 0, 100]}],
ix: 6,
l: 2
}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, -.545], [.545, 0], [0, .545], [-.545, 0]],
o: [[0, .545], [-.545, 0], [0, -.545], [.545, 0]],
v: [[.987, 0], [0, .987], [-.987, 0], [0, -.987]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, 1, 1, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [1.237, 1.237], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}]
}, {
id: "comp_1",
nm: "Waves 6",
fr: 29.9700012207031,
layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Waves 6",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-2.4, 0], [-1.681, -1.372]],
o: [[1.7, -1.436], [2.339, 0], [0, 0]],
v: [[-6.232, 1.151], [.064, -1.151], [6.232, 1.044]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [9.982, 4.901], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: -1.00000004073083,
op: 181.000007372281,
st: 0,
bm: 0
}]
}, {
id: "comp_2",
nm: "Waves 5",
fr: 29.9700012207031,
layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Waves 5",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-1.599, 0], [-1.144, -.948]],
o: [[1.143, -.945], [1.602, 0], [0, 0]],
v: [[-4.212, .755], [-.003, -.758], [4.212, .758]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.049, 7.659], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}]
}, {
id: "comp_3",
nm: "Waves 4",
fr: 29.9700012207031,
layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Waves 4",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [7.936, 6.288, 0], ix: 2, l: 2},
a: {a: 0, k: [9.982, 7.286, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.804, 0], [-.577, -.439]],
o: [[.585, -.463], [.78, 0], [0, 0]],
v: [[-2.102, .37], [.026, -.37], [2.102, .33]],
c: !1
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 1.5, ix: 5},
lc: 2,
lj: 1,
ml: 10,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [10.021, 10.452], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 2,
ix: 2,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}],
ip: -3.00000012219251,
op: 181.000007372281,
st: 0,
bm: 0
}]
}],
layers: [{
ddd: 0,
ind: 1,
ty: 0,
nm: "wifi-off_content",
refId: "comp_0",
sr: 1,
ks: {
o: {
a: 1,
k: [{i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 60, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 62, s: [10]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 64, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 66, s: [10]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 68, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 70, s: [10]
}, {t: 72.0000029326201, s: [100]}],
ix: 11
},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [8, 8, 0], ix: 2, l: 2},
a: {a: 0, k: [8, 8, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
w: 16,
h: 16,
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}],
markers: []
};
function jb(e) {
return Mb(e) ? (e.nodeName || "").toLowerCase() : "#document"
}
function Nb(e) {
var t;
return (null == e || null == (t = e.ownerDocument) ? void 0 : t.defaultView) || window
}
function Mb(e) {
return e instanceof Node || e instanceof Nb(e).Node
}
function Fb(e) {
return e instanceof Element || e instanceof Nb(e).Element
}
function zb(e) {
return e instanceof HTMLElement || e instanceof Nb(e).HTMLElement
}
function Vb(e) {
return "undefined" != typeof ShadowRoot && (e instanceof ShadowRoot || e instanceof Nb(e).ShadowRoot)
}
function Ub(e) {
let t = e.activeElement;
for (; null != (null == (n = t) || null == (r = n.shadowRoot) ? void 0 : r.activeElement);) {
var n, r;
t = t.shadowRoot.activeElement
}
return t
}
function Bb(e, t) {
if (!e || !t) return !1;
let n = t.getRootNode && t.getRootNode();
if (e.contains(t)) return !0;
if (n && Vb(n)) {
let n = t;
for (; n;) {
if (e === n) return !0;
n = n.parentNode || n.host
}
}
return !1
}
function Gb() {
let e = navigator.userAgentData;
return null != e && e.platform ? e.platform : navigator.platform
}
function $b(e) {
return 0 === e.mozInputSource && !!e.isTrusted || (Hb() && e.pointerType ? "click" === e.type && 1 === e.buttons : 0 === e.detail && !e.pointerType)
}
function qb(e) {
return !Hb() && 0 === e.width && 0 === e.height || 1 === e.width && 1 === e.height && 0 === e.pressure && 0 === e.detail && "mouse" === e.pointerType || e.width < 1 && e.height < 1 && 0 === e.pressure && 0 === e.detail
}
function Wb() {
return /apple/i.test(navigator.vendor)
}
function Hb() {
let e = /android/i;
return e.test(Gb()) || e.test(function () {
let e = navigator.userAgentData;
return e && Array.isArray(e.brands) ? e.brands.map((e => {
let {brand: t, version: n} = e;
return t + "/" + n
})).join(" ") : navigator.userAgent
}())
}
function Kb() {
return Gb().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints
}
function Yb(e, t) {
let n = ["mouse", "pen"];
return t || n.push("", void 0), n.includes(e)
}
function Qb(e) {
return (null == e ? void 0 : e.ownerDocument) || document
}
function Zb(e, t) {
return null != t && ("composedPath" in e ? e.composedPath().includes(t) : null != e.target && t.contains(e.target))
}
function Xb(e) {
return "composedPath" in e ? e.composedPath()[0] : e.target
}
function Jb(e) {
return zb(e) && e.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")
}
function ex(e) {
e.preventDefault(), e.stopPropagation()
}
ry("@layer sol.components{.sol-c-tooltip{--_background:var(--sol-c-tooltip-background,var(--sol-color-surface-2));--_arrow-size:var(--sol-c-tooltip-size,var(--sol-size-100));--sol-u-transition-floating-offset:var(--sol-size-025);background:var(--_background);border-radius:var(--sol-radius-4);filter:drop-shadow(var(--sol-shadow-050));inline-size:max-content;max-inline-size:17.5rem;padding:var(--sol-size-050);z-index:var(--sol-z-tooltip)}.sol-c-tooltip:not(.sol-c-tooltip--interactive){pointer-events:none}.sol-c-tooltip__arrow{fill:var(--_background);height:var(--_arrow-size);width:var(--_arrow-size)}}");
let tx = Math.floor, nx = Math.min, rx = Math.max, ax = Math.round, ix = Math.floor, ox = e => ({x: e, y: e}),
sx = {left: "right", right: "left", bottom: "top", top: "bottom"}, lx = {start: "end", end: "start"};
function cx(e, t) {
return "function" == typeof e ? e(t) : e
}
function ux(e) {
return e.split("-")[0]
}
function dx(e) {
return e.split("-")[1]
}
function px(e) {
return "x" === e ? "y" : "x"
}
function hx(e) {
return "y" === e ? "height" : "width"
}
function fx(e) {
return ["top", "bottom"].includes(ux(e)) ? "y" : "x"
}
function mx(e) {
return e.replace(/start|end/g, (e => lx[e]))
}
function gx(e) {
return e.replace(/left|right|bottom|top/g, (e => sx[e]))
}
function vx(e) {
return "number" != typeof e ? {top: 0, right: 0, bottom: 0, left: 0, ...e} : {
top: e,
right: e,
bottom: e,
left: e
}
}
function _x(e) {
return {...e, top: e.y, left: e.x, right: e.x + e.width, bottom: e.y + e.height}
}
function yx(e, t, n) {
let r, {reference: a, floating: i} = e, o = fx(t), s = px(fx(t)), l = hx(s), c = ux(t), u = "y" === o,
d = a.x + a.width / 2 - i.width / 2, p = a.y + a.height / 2 - i.height / 2, h = a[l] / 2 - i[l] / 2;
switch (c) {
case"top":
r = {x: d, y: a.y - i.height};
break;
case"bottom":
r = {x: d, y: a.y + a.height};
break;
case"right":
r = {x: a.x + a.width, y: p};
break;
case"left":
r = {x: a.x - i.width, y: p};
break;
default:
r = {x: a.x, y: a.y}
}
switch (dx(t)) {
case"start":
r[s] -= h * (n && u ? -1 : 1);
break;
case"end":
r[s] += h * (n && u ? -1 : 1)
}
return r
}
async function bx(e, t) {
var n;
void 0 === t && (t = {});
let {x: r, y: a, platform: i, rects: o, elements: s, strategy: l} = e, {
boundary: c = "clippingAncestors",
rootBoundary: u = "viewport",
elementContext: d = "floating",
altBoundary: p = !1,
padding: h = 0
} = cx(t, e), f = vx(h), m = s[p ? "floating" === d ? "reference" : "floating" : d],
g = _x(await i.getClippingRect({
element: null == (n = await (null == i.isElement ? void 0 : i.isElement(m))) || n ? m : m.contextElement || await (null == i.getDocumentElement ? void 0 : i.getDocumentElement(s.floating)),
boundary: c,
rootBoundary: u,
strategy: l
})), v = "floating" === d ? {...o.floating, x: r, y: a} : o.reference,
_ = await (null == i.getOffsetParent ? void 0 : i.getOffsetParent(s.floating)),
y = await (null == i.isElement ? void 0 : i.isElement(_)) && await (null == i.getScale ? void 0 : i.getScale(_)) || {
x: 1,
y: 1
},
b = _x(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
rect: v,
offsetParent: _,
strategy: l
}) : v);
return {
top: (g.top - b.top + f.top) / y.y,
bottom: (b.bottom - g.bottom + f.bottom) / y.y,
left: (g.left - b.left + f.left) / y.x,
right: (b.right - g.right + f.right) / y.x
}
}
let xx = e => ({
name: "arrow", options: e, async fn(t) {
let {x: n, y: r, placement: a, rects: i, platform: o, elements: s} = t, {
element: l,
padding: c = 0
} = cx(e, t) || {};
if (null == l) return {};
let u = vx(c), d = {x: n, y: r}, p = px(fx(a)), h = hx(p), f = await o.getDimensions(l), m = "y" === p,
g = m ? "clientHeight" : "clientWidth", v = i.reference[h] + i.reference[p] - d[p] - i.floating[h],
_ = d[p] - i.reference[p], y = await (null == o.getOffsetParent ? void 0 : o.getOffsetParent(l)),
b = y ? y[g] : 0;
b && await (null == o.isElement ? void 0 : o.isElement(y)) || (b = s.floating[g] || i.floating[h]);
let x = b / 2 - f[h] / 2 - 1, w = nx(u[m ? "top" : "left"], x), k = nx(u[m ? "bottom" : "right"], x),
S = b - f[h] - k, E = b / 2 - f[h] / 2 + (v / 2 - _ / 2), I = rx(w, nx(E, S)),
C = null != dx(a) && E != I && i.reference[h] / 2 - (E < w ? w : k) - f[h] / 2 < 0 ? E < w ? w - E : S - E : 0;
return {[p]: d[p] - C, data: {[p]: I, centerOffset: E - I + C}}
}
});
let wx = function (e) {
return void 0 === e && (e = 0), {
name: "offset", options: e, async fn(t) {
let {x: n, y: r} = t, a = await async function (e, t) {
let {placement: n, platform: r, elements: a} = e,
i = await (null == r.isRTL ? void 0 : r.isRTL(a.floating)), o = ux(n), s = dx(n),
l = "y" === fx(n), c = ["left", "top"].includes(o) ? -1 : 1, u = i && l ? -1 : 1,
d = cx(t, e), {
mainAxis: p,
crossAxis: h,
alignmentAxis: f
} = "number" == typeof d ? {mainAxis: d, crossAxis: 0, alignmentAxis: null} : {
mainAxis: 0,
crossAxis: 0,
alignmentAxis: null, ...d
};
return s && "number" == typeof f && (h = "end" === s ? -1 * f : f), l ? {
x: h * u,
y: p * c
} : {x: p * c, y: h * u}
}(t, e);
return {x: n + a.x, y: r + a.y, data: a}
}
}
}, kx = function (e) {
return void 0 === e && (e = {}), {
name: "shift", options: e, async fn(t) {
let {x: n, y: r, placement: a} = t, {
mainAxis: i = !0, crossAxis: o = !1, limiter: s = {
fn: e => {
let {x: t, y: n} = e;
return {x: t, y: n}
}
}, ...l
} = cx(e, t), c = {x: n, y: r}, u = await bx(t, l), d = fx(ux(a)), p = px(d), h = c[p], f = c[d];
if (i) {
let e = h + u["y" === p ? "top" : "left"], t = h - u["y" === p ? "bottom" : "right"];
h = rx(e, nx(h, t))
}
if (o) {
let e = "y" === d ? "bottom" : "right", t = f + u["y" === d ? "top" : "left"], n = f - u[e];
f = rx(t, nx(f, n))
}
let m = s.fn({...t, [p]: h, [d]: f});
return {...m, data: {x: m.x - n, y: m.y - r}}
}
}
}, Sx = function (e) {
return void 0 === e && (e = {}), {
name: "size", options: e, async fn(t) {
let n, r, {placement: a, rects: i, platform: o, elements: s} = t, {
apply: l = (() => {
}), ...c
} = cx(e, t), u = await bx(t, c), d = ux(a), p = dx(a), h = "y" === fx(a), {
width: f,
height: m
} = i.floating;
"top" === d || "bottom" === d ? (n = d, r = p === (await (null == o.isRTL ? void 0 : o.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (r = d, n = "end" === p ? "top" : "bottom");
let g = m - u[n], v = f - u[r], _ = !t.middlewareData.shift, y = g, b = v;
if (h) {
let e = f - u.left - u.right;
b = p || _ ? nx(v, e) : e
} else {
let e = m - u.top - u.bottom;
y = p || _ ? nx(g, e) : e
}
if (_ && !p) {
let e = rx(u.left, 0), t = rx(u.right, 0), n = rx(u.top, 0), r = rx(u.bottom, 0);
h ? b = f - 2 * (0 !== e || 0 !== t ? e + t : rx(u.left, u.right)) : y = m - 2 * (0 !== n || 0 !== r ? n + r : rx(u.top, u.bottom))
}
await l({...t, availableWidth: b, availableHeight: y});
let x = await o.getDimensions(s.floating);
return f !== x.width || m !== x.height ? {reset: {rects: !0}} : {}
}
}
};
function Ex(e) {
return Ox(e) ? (e.nodeName || "").toLowerCase() : "#document"
}
function Ix(e) {
var t;
return (null == e || null == (t = e.ownerDocument) ? void 0 : t.defaultView) || window
}
function Cx(e) {
var t;
return null == (t = (Ox(e) ? e.ownerDocument : e.document) || window.document) ? void 0 : t.documentElement
}
function Ox(e) {
return e instanceof Node || e instanceof Ix(e).Node
}
function Px(e) {
return e instanceof Element || e instanceof Ix(e).Element
}
function Ax(e) {
return e instanceof HTMLElement || e instanceof Ix(e).HTMLElement
}
function Tx(e) {
return "undefined" != typeof ShadowRoot && (e instanceof ShadowRoot || e instanceof Ix(e).ShadowRoot)
}
function Dx(e) {
let {overflow: t, overflowX: n, overflowY: r, display: a} = Nx(e);
return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !["inline", "contents"].includes(a)
}
function Rx(e) {
let t = Lx(), n = Nx(e);
return "none" !== n.transform || "none" !== n.perspective || !!n.containerType && "normal" !== n.containerType || !t && !!n.backdropFilter && "none" !== n.backdropFilter || !t && !!n.filter && "none" !== n.filter || ["transform", "perspective", "filter"].some((e => (n.willChange || "").includes(e))) || ["paint", "layout", "strict", "content"].some((e => (n.contain || "").includes(e)))
}
function Lx() {
return "undefined" != typeof CSS && !!CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")
}
function jx(e) {
return ["html", "body", "#document"].includes(Ex(e))
}
function Nx(e) {
return Ix(e).getComputedStyle(e)
}
function Mx(e) {
return Px(e) ? {scrollLeft: e.scrollLeft, scrollTop: e.scrollTop} : {
scrollLeft: e.pageXOffset,
scrollTop: e.pageYOffset
}
}
function Fx(e) {
if ("html" === Ex(e)) return e;
let t = e.assignedSlot || e.parentNode || Tx(e) && e.host || Cx(e);
return Tx(t) ? t.host : t
}
function zx(e, t) {
var n;
void 0 === t && (t = []);
let r = function e(t) {
let n = Fx(t);
return jx(n) ? t.ownerDocument ? t.ownerDocument.body : t.body : Ax(n) && Dx(n) ? n : e(n)
}(e), a = r === (null == (n = e.ownerDocument) ? void 0 : n.body), i = Ix(r);
return a ? t.concat(i, i.visualViewport || [], Dx(r) ? r : []) : t.concat(r, zx(r))
}
function Vx(e) {
let t = Nx(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, a = Ax(e),
i = a ? e.offsetWidth : n, o = a ? e.offsetHeight : r, s = ax(n) !== i || ax(r) !== o;
return s && (n = i, r = o), {width: n, height: r, $: s}
}
function Ux(e) {
return Px(e) ? e : e.contextElement
}
function Bx(e) {
let t = Ux(e);
if (!Ax(t)) return ox(1);
let n = t.getBoundingClientRect(), {width: r, height: a, $: i} = Vx(t), o = (i ? ax(n.width) : n.width) / r,
s = (i ? ax(n.height) : n.height) / a;
return o && Number.isFinite(o) || (o = 1), s && Number.isFinite(s) || (s = 1), {x: o, y: s}
}
let Gx = ox(0);
function $x(e) {
let t = Ix(e);
return Lx() && t.visualViewport ? {x: t.visualViewport.offsetLeft, y: t.visualViewport.offsetTop} : Gx
}
function qx(e, t, n, r) {
var a;
void 0 === t && (t = !1), void 0 === n && (n = !1);
let i = e.getBoundingClientRect(), o = Ux(e), s = ox(1);
t && (r ? Px(r) && (s = Bx(r)) : s = Bx(e));
let l = (void 0 === (a = n) && (a = !1), !r || a && r !== Ix(o) || !a ? ox(0) : $x(o)),
c = (i.left + l.x) / s.x, u = (i.top + l.y) / s.y, d = i.width / s.x, p = i.height / s.y;
if (o) {
let e = Ix(o), t = r && Px(r) ? Ix(r) : r, n = e.frameElement;
for (; n && r && t !== e;) {
let e = Bx(n), t = n.getBoundingClientRect(), r = Nx(n),
a = t.left + (n.clientLeft + parseFloat(r.paddingLeft)) * e.x,
i = t.top + (n.clientTop + parseFloat(r.paddingTop)) * e.y;
c *= e.x, u *= e.y, d *= e.x, p *= e.y, c += a, u += i, n = Ix(n).frameElement
}
}
return _x({width: d, height: p, x: c, y: u})
}
function Wx(e) {
return qx(Cx(e)).left + Mx(e).scrollLeft
}
function Hx(e, t, n) {
let r;
if ("viewport" === t) r = function (e, t) {
let n = Ix(e), r = Cx(e), a = n.visualViewport, i = r.clientWidth, o = r.clientHeight, s = 0, l = 0;
if (a) {
i = a.width, o = a.height;
let e = Lx();
(!e || e && "fixed" === t) && (s = a.offsetLeft, l = a.offsetTop)
}
return {width: i, height: o, x: s, y: l}
}(e, n); else if ("document" === t) r = function (e) {
let t = Cx(e), n = Mx(e), r = e.ownerDocument.body,
a = rx(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth),
i = rx(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + Wx(e),
s = -n.scrollTop;
return "rtl" === Nx(r).direction && (o += rx(t.clientWidth, r.clientWidth) - a), {
width: a,
height: i,
x: o,
y: s
}
}(Cx(e)); else if (Px(t)) r = function (e, t) {
let n = qx(e, !0, "fixed" === t), r = n.top + e.clientTop, a = n.left + e.clientLeft,
i = Ax(e) ? Bx(e) : ox(1);
return {width: e.clientWidth * i.x, height: e.clientHeight * i.y, x: a * i.x, y: r * i.y}
}(t, n); else {
let n = $x(e);
r = {...t, x: t.x - n.x, y: t.y - n.y}
}
return _x(r)
}
function Kx(e, t) {
return Ax(e) && "fixed" !== Nx(e).position ? t ? t(e) : e.offsetParent : null
}
function Yx(e, t) {
let n = Ix(e);
if (!Ax(e)) return n;
let r = Kx(e, t);
for (; r && ["table", "td", "th"].includes(Ex(r)) && "static" === Nx(r).position;) r = Kx(r, t);
return r && ("html" === Ex(r) || "body" === Ex(r) && "static" === Nx(r).position && !Rx(r)) ? n : r || function (e) {
let t = Fx(e);
for (; Ax(t) && !jx(t);) {
if (Rx(t)) return t;
t = Fx(t)
}
return null
}(e) || n
}
let Qx = {
convertOffsetParentRelativeRectToViewportRelativeRect: function (e) {
let {rect: t, offsetParent: n, strategy: r} = e, a = Ax(n), i = Cx(n);
if (n === i) return t;
let o = {scrollLeft: 0, scrollTop: 0}, s = ox(1), l = ox(0);
if ((a || !a && "fixed" !== r) && (("body" !== Ex(n) || Dx(i)) && (o = Mx(n)), Ax(n))) {
let e = qx(n);
s = Bx(n), l.x = e.x + n.clientLeft, l.y = e.y + n.clientTop
}
return {
width: t.width * s.x,
height: t.height * s.y,
x: t.x * s.x - o.scrollLeft * s.x + l.x,
y: t.y * s.y - o.scrollTop * s.y + l.y
}
}, getDocumentElement: Cx, getClippingRect: function (e) {
let {element: t, boundary: n, rootBoundary: r, strategy: a} = e,
i = "clippingAncestors" === n ? function (e, t) {
let n = t.get(e);
if (n) return n;
let r = zx(e).filter((e => Px(e) && "body" !== Ex(e))), a = null,
i = "fixed" === Nx(e).position, o = i ? Fx(e) : e;
for (; Px(o) && !jx(o);) {
let t = Nx(o), n = Rx(o);
n || "fixed" !== t.position || (a = null);
let s = i ? !n && !a : !n && "static" === t.position && !!a && ["absolute", "fixed"].includes(a.position) || Dx(o) && !n && function e(t, n) {
let r = Fx(t);
return !(r === n || !Px(r) || jx(r)) && ("fixed" === Nx(r).position || e(r, n))
}(e, o);
s ? r = r.filter((e => e !== o)) : a = t, o = Fx(o)
}
return t.set(e, r), r
}(t, this._c) : [].concat(n), o = [...i, r], s = o[0], l = o.reduce(((e, n) => {
let r = Hx(t, n, a);
return e.top = rx(r.top, e.top), e.right = nx(r.right, e.right), e.bottom = nx(r.bottom, e.bottom), e.left = rx(r.left, e.left), e
}), Hx(t, s, a));
return {width: l.right - l.left, height: l.bottom - l.top, x: l.left, y: l.top}
}, getOffsetParent: Yx, getElementRects: async function (e) {
let {reference: t, floating: n, strategy: r} = e, a = this.getOffsetParent || Yx,
i = this.getDimensions;
return {
reference: function (e, t, n) {
let r = Ax(t), a = Cx(t), i = "fixed" === n, o = qx(e, !0, i, t),
s = {scrollLeft: 0, scrollTop: 0}, l = ox(0);
if (r || !r && !i) if (("body" !== Ex(t) || Dx(a)) && (s = Mx(t)), r) {
let e = qx(t, !0, i, t);
l.x = e.x + t.clientLeft, l.y = e.y + t.clientTop
} else a && (l.x = Wx(a));
return {
x: o.left + s.scrollLeft - l.x,
y: o.top + s.scrollTop - l.y,
width: o.width,
height: o.height
}
}(t, await a(n), r), floating: {x: 0, y: 0, ...await i(n)}
}
}, getClientRects: function (e) {
return Array.from(e.getClientRects())
}, getDimensions: function (e) {
return Vx(e)
}, getScale: Bx, isElement: Px, isRTL: function (e) {
return "rtl" === Nx(e).direction
}
};
function Zx(e, t, n, r) {
let a;
void 0 === r && (r = {});
let {
ancestorScroll: i = !0,
ancestorResize: o = !0,
elementResize: s = "function" == typeof ResizeObserver,
layoutShift: l = "function" == typeof IntersectionObserver,
animationFrame: c = !1
} = r, u = Ux(e), d = i || o ? [...u ? zx(u) : [], ...zx(t)] : [];
d.forEach((e => {
i && e.addEventListener("scroll", n, {passive: !0}), o && e.addEventListener("resize", n)
}));
let p = u && l ? function (e, t) {
let n, r = null, a = Cx(e);
function i() {
clearTimeout(n), r && r.disconnect(), r = null
}
return function o(s, l) {
void 0 === s && (s = !1), void 0 === l && (l = 1), i();
let {left: c, top: u, width: d, height: p} = e.getBoundingClientRect();
if (s || t(), !d || !p) return;
let h = {
rootMargin: -ix(u) + "px " + -ix(a.clientWidth - (c + d)) + "px " + -ix(a.clientHeight - (u + p)) + "px " + -ix(c) + "px",
threshold: rx(0, nx(1, l)) || 1
}, f = !0;
function m(e) {
let t = e[0].intersectionRatio;
if (t !== l) {
if (!f) return o();
t ? o(!1, t) : n = setTimeout((() => {
o(!1, 1e-7)
}), 100)
}
f = !1
}
try {
r = new IntersectionObserver(m, {...h, root: a.ownerDocument})
} catch (e) {
r = new IntersectionObserver(m, h)
}
r.observe(e)
}(!0), i
}(u, n) : null, h = -1, f = null;
s && (f = new ResizeObserver((e => {
let [r] = e;
r && r.target === u && f && (f.unobserve(t), cancelAnimationFrame(h), h = requestAnimationFrame((() => {
f && f.observe(t)
}))), n()
})), u && !c && f.observe(u), f.observe(t));
let m = c ? qx(e) : null;
return c && function t() {
let r = qx(e);
m && (r.x !== m.x || r.y !== m.y || r.width !== m.width || r.height !== m.height) && n(), m = r, a = requestAnimationFrame(t)
}(), n(), () => {
d.forEach((e => {
i && e.removeEventListener("scroll", n), o && e.removeEventListener("resize", n)
})), p && p(), f && f.disconnect(), f = null, c && cancelAnimationFrame(a)
}
}
let Xx = (e, t, n) => {
let r = new Map, a = {platform: Qx, ...n}, i = {...a.platform, _c: r};
return (async (e, t, n) => {
let {placement: r = "bottom", strategy: a = "absolute", middleware: i = [], platform: o} = n,
s = i.filter(Boolean), l = await (null == o.isRTL ? void 0 : o.isRTL(t)),
c = await o.getElementRects({reference: e, floating: t, strategy: a}), {x: u, y: d} = yx(c, r, l),
p = r, h = {}, f = 0;
for (let m = 0; m < s.length; m++) {
let {name: n, fn: i} = s[m], {x: g, y: v, data: _, reset: y} = await i({
x: u,
y: d,
initialPlacement: r,
placement: p,
strategy: a,
middlewareData: h,
rects: c,
platform: o,
elements: {reference: e, floating: t}
});
u = null != g ? g : u, d = null != v ? v : d, h = {
...h,
[n]: {...h[n], ..._}
}, y && f <= 50 && (f++, "object" == typeof y && (y.placement && (p = y.placement), y.rects && (c = !0 === y.rects ? await o.getElementRects({
reference: e,
floating: t,
strategy: a
}) : y.rects), ({x: u, y: d} = yx(c, p, l))), m = -1)
}
return {x: u, y: d, placement: p, strategy: a, middlewareData: h}
})(e, t, {...a, platform: i})
}, Jx = e => ({
name: "arrow", options: e, fn(t) {
let {element: n, padding: r} = "function" == typeof e ? e(t) : e;
if (n && {}.hasOwnProperty.call(n, "current")) {
if (null != n.current) return xx({element: n.current, padding: r}).fn(t)
} else if (n) return xx({element: n, padding: r}).fn(t);
return {}
}
});
var ew = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function tw(e, t) {
let n, r, a;
if (e === t) return !0;
if (typeof e != typeof t) return !1;
if ("function" == typeof e && e.toString() === t.toString()) return !0;
if (e && t && "object" == typeof e) {
if (Array.isArray(e)) {
if ((n = e.length) != t.length) return !1;
for (r = n; 0 != r--;) if (!tw(e[r], t[r])) return !1;
return !0
}
if ((n = (a = Object.keys(e)).length) !== Object.keys(t).length) return !1;
for (r = n; 0 != r--;) if (!{}.hasOwnProperty.call(t, a[r])) return !1;
for (r = n; 0 != r--;) {
let n = a[r];
if (("_owner" !== n || !e.$$typeof) && !tw(e[n], t[n])) return !1
}
return !0
}
return e != e && t != t
}
function nw(e) {
if ("undefined" == typeof window) return 1;
return (e.ownerDocument.defaultView || window).devicePixelRatio || 1
}
function rw(e, t) {
let n = nw(e);
return Math.round(t * n) / n
}
function aw(e) {
let t = Ee.useRef(e);
return ew((() => {
t.current = e
})), t
}
var iw = 'input,select,textarea,a[href],button,[tabindex]:not(slot),audio[controls],video[controls],[contenteditable]:not([contenteditable="false"]),details>summary:first-of-type,details',
ow = "undefined" == typeof Element, sw = ow ? function () {
} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector,
lw = !ow && Element.prototype.getRootNode ? function (e) {
return e.getRootNode()
} : function (e) {
return e.ownerDocument
}, cw = function e(t, n, r) {
for (var a = [], i = Array.from(t); i.length;) {
var o = i.shift();
if ("SLOT" === o.tagName) {
var s = o.assignedElements(), l = e(s.length ? s : o.children, !0, r);
r.flatten ? a.push.apply(a, l) : a.push({scopeParent: o, candidates: l})
} else {
sw.call(o, iw) && r.filter(o) && (n || !t.includes(o)) && a.push(o);
var c = o.shadowRoot || "function" == typeof r.getShadowRoot && r.getShadowRoot(o),
u = !r.shadowRootFilter || r.shadowRootFilter(o);
if (c && u) {
var d = e(!0 === c ? o.children : c.children, !0, r);
r.flatten ? a.push.apply(a, d) : a.push({scopeParent: o, candidates: d})
} else i.unshift.apply(i, o.children)
}
}
return a
}, uw = function (e, t) {
return e.tabIndex < 0 && (t || /^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName) || e.isContentEditable) && isNaN(parseInt(e.getAttribute("tabindex"), 10)) ? 0 : e.tabIndex
}, dw = function (e, t) {
return e.tabIndex === t.tabIndex ? e.documentOrder - t.documentOrder : e.tabIndex - t.tabIndex
}, pw = function (e) {
return "INPUT" === e.tagName
}, hw = function (e) {
var t = e.getBoundingClientRect(), n = t.width, r = t.height;
return 0 === n && 0 === r
}, fw = function (e, t) {
var n = t.displayCheck, r = t.getShadowRoot;
if ("hidden" === getComputedStyle(e).visibility) return !0;
var a = sw.call(e, "details>summary:first-of-type") ? e.parentElement : e;
if (sw.call(a, "details:not([open]) *")) return !0;
if (n && "full" !== n && "legacy-full" !== n) {
if ("non-zero-area" === n) return hw(e)
} else {
if ("function" == typeof r) {
for (var i = e; e;) {
var o = e.parentElement, s = lw(e);
if (o && !o.shadowRoot && !0 === r(o)) return hw(e);
e = e.assignedSlot ? e.assignedSlot : o || s === e.ownerDocument ? o : s.host
}
e = i
}
if (function (e) {
for (var t, n, r = lw(e).host, a = !!(null !== (t = r) && void 0 !== t && t.ownerDocument.contains(r) || e.ownerDocument.contains(e)); !a && r;) a = !(null === (n = r = lw(r).host) || void 0 === n || !n.ownerDocument.contains(r));
return a
}(e)) return !e.getClientRects().length;
if ("legacy-full" !== n) return !0
}
return !1
}, mw = function (e, t) {
var n, r, a;
return !(pw(n = t) && "radio" === n.type && !function (e) {
if (!e.name) return !0;
var t, n = e.form || lw(e), r = function (e) {
return n.querySelectorAll('input[type="radio"][name="' + e + '"]')
};
if ("undefined" != typeof window && void 0 !== window.CSS && "function" == typeof window.CSS.escape) t = r(window.CSS.escape(e.name)); else try {
t = r(e.name)
} catch (e) {
return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", e.message), !1
}
var a = function (e, t) {
for (var n = 0; n < e.length; n++) if (e[n].checked && e[n].form === t) return e[n]
}(t, e.form);
return !a || a === e
}(n) || 0 > uw(t)) && (r = e, !((a = t).disabled || pw(a) && "hidden" === a.type || fw(a, r) || "DETAILS" === a.tagName && Array.prototype.slice.apply(a.children).some((function (e) {
return "SUMMARY" === e.tagName
})) || function (e) {
if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName)) for (var t = e.parentElement; t;) {
if ("FIELDSET" === t.tagName && t.disabled) {
for (var n = 0; n < t.children.length; n++) {
var r = t.children.item(n);
if ("LEGEND" === r.tagName) return !!sw.call(t, "fieldset[disabled] *") || !r.contains(e)
}
return !0
}
t = t.parentElement
}
return !1
}(a)))
}, gw = function (e) {
var t = parseInt(e.getAttribute("tabindex"), 10);
return !!isNaN(t) || t >= 0
}, vw = function e(t) {
var n = [], r = [];
return t.forEach((function (t, a) {
var i = !!t.scopeParent, o = i ? t.scopeParent : t, s = uw(o, i), l = i ? e(t.candidates) : o;
0 === s ? i ? n.push.apply(n, l) : n.push(o) : r.push({
documentOrder: a,
tabIndex: s,
item: t,
isScope: i,
content: l
})
})), r.sort(dw).reduce((function (e, t) {
return t.isScope ? e.push.apply(e, t.content) : e.push(t.content), e
}), []).concat(n)
}, _w = function (e, t) {
return vw((t = t || {}).getShadowRoot ? cw([e], t.includeContainer, {
filter: mw.bind(null, t),
flatten: !1,
getShadowRoot: t.getShadowRoot,
shadowRootFilter: gw
}) : function (e, t, n) {
var r = Array.prototype.slice.apply(e.querySelectorAll(iw));
return t && sw.call(e, iw) && r.unshift(e), r.filter(n)
}(e, t.includeContainer, mw.bind(null, t)))
};
function yw(e) {
return Ee.useMemo((() => e.every((e => null == e)) ? null : t => {
e.forEach((e => {
"function" == typeof e ? e(t) : null != e && (e.current = t)
}))
}), e)
}
let bw = Ie["useInsertionEffect".toString()] || (e => e());
function xw(e) {
let t = Ee.useRef((() => {
0
}));
return bw((() => {
t.current = e
})), Ee.useCallback((function () {
for (var e = arguments.length, n = Array(e), r = 0; r < e; r++) n[r] = arguments[r];
return null == t.current ? void 0 : t.current(...n)
}), [])
}
let ww = "ArrowUp", kw = "ArrowDown", Sw = "ArrowLeft", Ew = "ArrowRight";
function Iw(e, t, n) {
return Math.floor(e / t) !== n
}
function Cw(e, t) {
return t < 0 || t >= e.current.length
}
function Ow(e, t) {
return Aw(e, {disabledIndices: t})
}
function Pw(e, t) {
return Aw(e, {decrement: !0, startingIndex: e.current.length, disabledIndices: t})
}
function Aw(e, t) {
let {startingIndex: n = -1, decrement: r = !1, disabledIndices: a, amount: i = 1} = void 0 === t ? {} : t,
o = e.current, s = a ? e => a.includes(e) : e => {
let t = o[e];
return null == t || t.hasAttribute("disabled") || "true" === t.getAttribute("aria-disabled")
}, l = n;
do {
l += r ? -i : i
} while (l >= 0 && l <= o.length - 1 && s(l));
return l
}
let Tw = 0;
function Dw(e, t) {
void 0 === t && (t = {});
let {preventScroll: n = !1, cancelPrevious: r = !0, sync: a = !1} = t;
r && cancelAnimationFrame(Tw);
let i = () => null == e ? void 0 : e.focus({preventScroll: n});
a ? i() : Tw = requestAnimationFrame(i)
}
var Rw = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function Lw(e, t) {
let n = e.compareDocumentPosition(t);
return n & Node.DOCUMENT_POSITION_FOLLOWING || n & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : n & Node.DOCUMENT_POSITION_PRECEDING || n & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0
}
let jw = Ee.createContext({
register: () => {
}, unregister: () => {
}, map: new Map, elementsRef: {current: []}
});
function Nw(e) {
let {children: t, elementsRef: n, labelsRef: r} = e, [a, i] = Ee.useState((() => new Map)),
o = Ee.useCallback((e => {
i((t => new Map(t).set(e, null)))
}), []), s = Ee.useCallback((e => {
i((t => {
let n = new Map(t);
return n.delete(e), n
}))
}), []);
return Rw((() => {
let e = new Map(a);
Array.from(e.keys()).sort(Lw).forEach(((t, n) => {
e.set(t, n)
})), !function (e, t) {
if (e.size !== t.size) return !1;
for (let [n, r] of e.entries()) if (r !== t.get(n)) return !1;
return !0
}(a, e) && i(e)
}), [a]), Ee.createElement(jw.Provider, {
value: Ee.useMemo((() => ({
register: o,
unregister: s,
map: a,
elementsRef: n,
labelsRef: r
})), [o, s, a, n, r])
}, t)
}
function Mw(e) {
let {label: t} = void 0 === e ? {} : e, [n, r] = Ee.useState(null), a = Ee.useRef(null), {
register: i,
unregister: o,
map: s,
elementsRef: l,
labelsRef: c
} = Ee.useContext(jw), u = Ee.useCallback((e => {
if (a.current = e, null !== n && (l.current[n] = e, c)) {
var r;
let a = void 0 !== t;
c.current[n] = a ? t : null != (r = null == e ? void 0 : e.textContent) ? r : null
}
}), [n, l, c, t]);
return Rw((() => {
let e = a.current;
if (e) return i(e), () => {
o(e)
}
}), [i, o]), Rw((() => {
let e = a.current ? s.get(a.current) : null;
null != e && r(e)
}), [s]), Ee.useMemo((() => ({ref: u, index: null == n ? -1 : n})), [n, u])
}
function Fw() {
return (Fw = Object.assign ? Object.assign.bind() : function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}).apply(this, arguments)
}
let zw = !1, Vw = 0, Uw = () => "floating-ui-" + Vw++, Bw = Ie["useId".toString()] || function () {
let [e, t] = Ee.useState((() => zw ? Uw() : void 0));
return Rw((() => {
null == e && t(Uw())
}), []), Ee.useEffect((() => {
zw || (zw = !0)
}), []), e
}, Gw = Ee.forwardRef((function (e, t) {
let {
context: {placement: n, elements: {floating: r}, middlewareData: {arrow: a}},
width: i = 14,
height: o = 7,
tipRadius: s = 0,
strokeWidth: l = 0,
staticOffset: c,
stroke: u,
d: d,
style: {transform: p, ...h} = {},
...f
} = e, m = Bw();
if (!r) return null;
l *= 2;
let g = l / 2, v = i / 2 * (-s / 8 + 1), _ = o / 2 * s / 4, [y, b] = n.split("-"), x = Qx.isRTL(r), w = !!d,
k = c && "end" === b ? "right" : "left";
c && x && (k = "end" === b ? "left" : "right");
let S = null != (null == a ? void 0 : a.x) ? c || a.x : "",
E = null != (null == a ? void 0 : a.y) ? c || a.y : "",
I = d || "M0,0 H" + i + " L" + (i - v) + "," + (o - _) + " Q" + i / 2 + "," + o + " " + v + "," + (o - _) + " Z";
return Ee.createElement("svg", Fw({}, f, {
"aria-hidden": !0,
ref: t,
width: w ? i : i + l,
height: i,
viewBox: "0 0 " + i + " " + (o > i ? o : i),
style: {
position: "absolute",
pointerEvents: "none",
[k]: S,
[c && "end" === b ? "bottom" : "top"]: E,
[y]: "top" === y || "bottom" === y || w ? "100%" : "calc(100% - " + l / 2 + "px)",
transform: "" + {
top: w ? "rotate(180deg)" : "",
left: w ? "rotate(90deg)" : "rotate(-90deg)",
bottom: w ? "" : "rotate(180deg)",
right: w ? "rotate(-90deg)" : "rotate(90deg)"
}[y] + (null != p ? p : ""), ...h
}
}), l > 0 && Ee.createElement("path", {
clipPath: "url(#" + m + ")",
fill: "none",
stroke: u,
strokeWidth: l + (d ? 0 : 1),
d: I
}), Ee.createElement("path", {
stroke: l && !d ? f.fill : "none",
d: I
}), Ee.createElement("clipPath", {id: m}, Ee.createElement("rect", {
x: -g,
y: g * (w ? -1 : 1),
width: i + l,
height: i
})))
}));
function $w() {
let e = new Map;
return {
emit(t, n) {
var r;
null == (r = e.get(t)) || r.forEach((e => e(n)))
}, on(t, n) {
e.set(t, [...e.get(t) || [], n])
}, off(t, n) {
var r;
e.set(t, (null == (r = e.get(t)) ? void 0 : r.filter((e => e !== n))) || [])
}
}
}
let qw = Ee.createContext(null), Ww = Ee.createContext(null), Hw = () => {
var e;
return (null == (e = Ee.useContext(qw)) ? void 0 : e.id) || null
}, Kw = () => Ee.useContext(Ww);
function Yw(e) {
let t = Bw(), n = Kw(), r = Hw(), a = e || r;
return Rw((() => {
let e = {id: t, parentId: a};
return null == n || n.addNode(e), () => {
null == n || n.removeNode(e)
}
}), [n, t, a]), t
}
function Qw(e) {
let {children: t, id: n} = e, r = Hw();
return Ee.createElement(qw.Provider, {value: Ee.useMemo((() => ({id: n, parentId: r})), [n, r])}, t)
}
function Zw(e) {
let {children: t} = e, n = Ee.useRef([]), r = Ee.useCallback((e => {
n.current = [...n.current, e]
}), []), a = Ee.useCallback((e => {
n.current = n.current.filter((t => t !== e))
}), []), i = Ee.useState((() => $w()))[0];
return Ee.createElement(Ww.Provider, {
value: Ee.useMemo((() => ({
nodesRef: n,
addNode: r,
removeNode: a,
events: i
})), [n, r, a, i])
}, t)
}
function Xw(e) {
return "data-floating-ui-" + e
}
function Jw(e) {
let t = (0, Ee.useRef)(e);
return Rw((() => {
t.current = e
})), t
}
let ek = Xw("safe-polygon");
function tk(e, t, n) {
return n && !Yb(n) ? 0 : "number" == typeof e ? e : null == e ? void 0 : e[t]
}
function nk(e, t) {
let n = e.filter((e => {
var n;
return e.parentId === t && (null == (n = e.context) ? void 0 : n.open)
})), r = n;
for (; r.length;) r = e.filter((e => {
var t;
return null == (t = r) ? void 0 : t.some((t => {
var n;
return e.parentId === t.id && (null == (n = e.context) ? void 0 : n.open)
}))
})), n = n.concat(r);
return n
}
let rk = new WeakMap, ak = new WeakSet, ik = {}, ok = 0, sk = e => e && (e.host || sk(e.parentNode));
function lk(e, t, n) {
void 0 === t && (t = !1), void 0 === n && (n = !1);
let r = Qb(e[0]).body;
return function (e, t, n, r) {
let a = "data-floating-ui-inert", i = r ? "inert" : n ? "aria-hidden" : null,
o = ((e, t) => t.map((t => {
if (e.contains(t)) return t;
let n = sk(t);
return e.contains(n) ? n : null
})).filter((e => null != e)))(t, e), s = new Set, l = new Set(o), c = [];
ik[a] || (ik[a] = new WeakMap);
let u = ik[a];
return o.forEach((function e(t) {
t && !s.has(t) && (s.add(t), t.parentNode && e(t.parentNode))
})), function e(t) {
!t || l.has(t) || Array.prototype.forEach.call(t.children, (t => {
if (s.has(t)) e(t); else {
let e = i ? t.getAttribute(i) : null, n = null !== e && "false" !== e,
r = (rk.get(t) || 0) + 1, o = (u.get(t) || 0) + 1;
rk.set(t, r), u.set(t, o), c.push(t), 1 === r && n && ak.add(t), 1 === o && t.setAttribute(a, ""), !n && i && t.setAttribute(i, "true")
}
}))
}(t), s.clear(), ok++, () => {
c.forEach((e => {
let t = (rk.get(e) || 0) - 1, n = (u.get(e) || 0) - 1;
rk.set(e, t), u.set(e, n), t || (!ak.has(e) && i && e.removeAttribute(i), ak.delete(e)), n || e.removeAttribute(a)
})), --ok || (rk = new WeakMap, rk = new WeakMap, ak = new WeakSet, ik = {})
}
}(e.concat(Array.from(r.querySelectorAll("[aria-live]"))), r, t, n)
}
let ck = () => ({
getShadowRoot: !0,
displayCheck: "function" == typeof ResizeObserver && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
});
function uk(e, t) {
let n = _w(e, ck());
"prev" === t && n.reverse();
let r = n.indexOf(Ub(Qb(e)));
return n.slice(r + 1)[0]
}
function dk() {
return uk(document.body, "next")
}
function pk() {
return uk(document.body, "prev")
}
function hk(e, t) {
let n = t || e.currentTarget, r = e.relatedTarget;
return !r || !Bb(n, r)
}
let fk = {
border: 0,
clip: "rect(0 0 0 0)",
height: "1px",
margin: "-1px",
overflow: "hidden",
padding: 0,
position: "fixed",
whiteSpace: "nowrap",
width: "1px",
top: 0,
left: 0
};
function mk(e) {
"Tab" === e.key && (e.target, clearTimeout(undefined))
}
let gk = Ee.forwardRef((function (e, t) {
let [n, r] = Ee.useState();
Rw((() => (Wb() && r("button"), document.addEventListener("keydown", mk), () => {
document.removeEventListener("keydown", mk)
})), []);
let a = {ref: t, tabIndex: 0, role: n, "aria-hidden": !n || void 0, [Xw("focus-guard")]: "", style: fk};
return Ee.createElement("span", Fw({}, e, a))
})), vk = Ee.createContext(null);
function _k(e) {
let {children: t, id: n, root: r = null, preserveTabOrder: a = !0} = e, i = function (e) {
let {id: t, root: n} = void 0 === e ? {} : e, [r, a] = Ee.useState(null), i = Bw(), o = yk(),
s = Ee.useMemo((() => ({id: t, root: n, portalContext: o, uniqueId: i})), [t, n, o, i]),
l = Ee.useRef();
return Rw((() => () => {
null == r || r.remove()
}), [r, s]), Rw((() => {
if (l.current === s) return;
l.current = s;
let {id: e, root: t, portalContext: n, uniqueId: r} = s, i = e ? document.getElementById(e) : null,
o = Xw("portal");
if (i) {
let e = document.createElement("div");
e.id = r, e.setAttribute(o, ""), i.appendChild(e), a(e)
} else {
let i = t || (null == n ? void 0 : n.portalNode);
i && !Fb(i) && (i = i.current), i = i || document.body;
let s = null;
e && ((s = document.createElement("div")).id = e, i.appendChild(s));
let l = document.createElement("div");
l.id = r, l.setAttribute(o, ""), (i = s || i).appendChild(l), a(l)
}
}), [s]), r
}({id: n, root: r}), [o, s] = Ee.useState(null), l = Ee.useRef(null), c = Ee.useRef(null),
u = Ee.useRef(null), d = Ee.useRef(null), p = !!o && !o.modal && o.open && a && !(!r && !i);
return Ee.useEffect((() => {
if (i && a && (null == o || !o.modal)) return i.addEventListener("focusin", e, !0), i.addEventListener("focusout", e, !0), () => {
i.removeEventListener("focusin", e, !0), i.removeEventListener("focusout", e, !0)
};
function e(e) {
if (i && hk(e)) {
("focusin" === e.type ? function (e) {
e.querySelectorAll("[data-tabindex]").forEach((e => {
let t = e.dataset.tabindex;
delete e.dataset.tabindex, t ? e.setAttribute("tabindex", t) : e.removeAttribute("tabindex")
}))
} : function (e) {
_w(e, ck()).forEach((e => {
e.dataset.tabindex = e.getAttribute("tabindex") || "", e.setAttribute("tabindex", "-1")
}))
})(i)
}
}
}), [i, a, null == o ? void 0 : o.modal]), Ee.createElement(vk.Provider, {
value: Ee.useMemo((() => ({
preserveTabOrder: a,
beforeOutsideRef: l,
afterOutsideRef: c,
beforeInsideRef: u,
afterInsideRef: d,
portalNode: i,
setFocusManagerState: s
})), [a, i])
}, p && i && Ee.createElement(gk, {
"data-type": "outside", ref: l, onFocus: e => {
if (hk(e, i)) {
var t;
null == (t = u.current) || t.focus()
} else {
let e = pk() || (null == o ? void 0 : o.refs.domReference.current);
null == e || e.focus()
}
}
}), p && i && Ee.createElement("span", {
"aria-owns": i.id,
style: fk
}), i && (0, ty.createPortal)(t, i), p && i && Ee.createElement(gk, {
"data-type": "outside",
ref: c,
onFocus: e => {
if (hk(e, i)) {
var t;
null == (t = d.current) || t.focus()
} else {
let t = dk() || (null == o ? void 0 : o.refs.domReference.current);
null == t || t.focus(), (null == o ? void 0 : o.closeOnFocusOut) && (null == o || o.onOpenChange(!1, e.nativeEvent))
}
}
}))
}
let yk = () => Ee.useContext(vk), bk = Ee.forwardRef((function (e, t) {
return Ee.createElement("button", Fw({}, e, {type: "button", ref: t, tabIndex: -1, style: fk}))
}));
function xk(e) {
let {
context: t,
children: n,
disabled: r = !1,
order: a = ["content"],
guards: i = !0,
initialFocus: o = 0,
returnFocus: s = !0,
modal: l = !0,
visuallyHiddenDismiss: c = !1,
closeOnFocusOut: u = !0
} = e, {
open: d,
refs: p,
nodeId: h,
onOpenChange: f,
events: m,
dataRef: g,
elements: {domReference: v, floating: _}
} = t, y = "number" == typeof o && o < 0,
b = "combobox" === (null == v ? void 0 : v.getAttribute("role")) && Jb(v) && y, x = !b && l,
w = !("undefined" != typeof HTMLElement && "inert" in HTMLElement.prototype) || i, k = Jw(a), S = Jw(o),
E = Jw(s), I = Kw(), C = yk(), O = Ee.useRef(null), P = Ee.useRef(null), A = Ee.useRef(!1),
T = Ee.useRef(null), D = Ee.useRef(!1), R = null != C, L = Ee.useCallback((function (e) {
return void 0 === e && (e = _), e ? _w(e, ck()) : []
}), [_]), j = Ee.useCallback((e => {
let t = L(e);
return k.current.map((e => v && "reference" === e ? v : _ && "floating" === e ? _ : t)).filter(Boolean).flat()
}), [v, _, k, L]);
function N(e) {
return !r && c && x ? Ee.createElement(bk, {
ref: "start" === e ? O : P,
onClick: e => f(!1, e.nativeEvent)
}, "string" == typeof c ? c : "Dismiss") : null
}
Ee.useEffect((() => {
if (r || !x) return;
function e(e) {
if ("Tab" === e.key) {
Bb(_, Ub(Qb(_))) && 0 === L().length && !b && ex(e);
let t = j(), n = Xb(e);
"reference" === k.current[0] && n === v && (ex(e), e.shiftKey ? Dw(t[t.length - 1]) : Dw(t[1])), "floating" === k.current[1] && n === _ && e.shiftKey && (ex(e), Dw(t[0]))
}
}
let t = Qb(_);
return t.addEventListener("keydown", e), () => {
t.removeEventListener("keydown", e)
}
}), [r, v, _, x, k, p, b, L, j]), Ee.useEffect((() => {
if (!r && u && _ && zb(v)) return v.addEventListener("focusout", t), v.addEventListener("pointerdown", e), x || _.addEventListener("focusout", t), () => {
v.removeEventListener("focusout", t), v.removeEventListener("pointerdown", e), x || _.removeEventListener("focusout", t)
};
function e() {
D.current = !0, setTimeout((() => {
D.current = !1
}))
}
function t(e) {
let t = e.relatedTarget;
queueMicrotask((() => {
let n = !(Bb(v, t) || Bb(_, t) || Bb(t, _) || Bb(null == C ? void 0 : C.portalNode, t) || null != t && t.hasAttribute(Xw("focus-guard")) || I && (nk(I.nodesRef.current, h).find((e => {
var n, r;
return Bb(null == (n = e.context) ? void 0 : n.elements.floating, t) || Bb(null == (r = e.context) ? void 0 : r.elements.domReference, t)
})) || function (e, t) {
var n;
let r = [], a = null == (n = e.find((e => e.id === t))) ? void 0 : n.parentId;
for (; a;) {
let t = e.find((e => e.id === a));
a = null == t ? void 0 : t.parentId, t && (r = r.concat(t))
}
return r
}(I.nodesRef.current, h).find((e => {
var n, r;
return (null == (n = e.context) ? void 0 : n.elements.floating) === t || (null == (r = e.context) ? void 0 : r.elements.domReference) === t
}))));
t && n && !D.current && t !== T.current && (A.current = !0, f(!1, e))
}))
}
}), [r, v, _, x, h, I, C, f, u]), Ee.useEffect((() => {
var e;
if (r) return;
let t = Array.from((null == C || null == (e = C.portalNode) ? void 0 : e.querySelectorAll("[" + Xw("portal") + "]")) || []);
if (_) {
let e = [_, ...t, O.current, P.current, k.current.includes("reference") || b ? v : null].filter((e => null != e)),
n = l || b ? lk(e, w, !w) : lk(e);
return () => {
n()
}
}
}), [r, v, _, l, k, C, b, w]), Rw((() => {
if (r || !_) return;
let e = Ub(Qb(_));
queueMicrotask((() => {
let t = j(_), n = S.current, r = ("number" == typeof n ? t[n] : n.current) || _, a = Bb(_, e);
y || a || !d || Dw(r, {preventScroll: r === _})
}))
}), [r, d, _, y, j, S]), Rw((() => {
if (r || !_) return;
let e = !1, t = Qb(_), n = Ub(t), a = g.current;
function i(t) {
let {reason: n, event: r, nested: a} = t;
"escape-key" === n && p.domReference.current && (T.current = p.domReference.current), "hover" === n && "mouseleave" === r.type && (A.current = !0), "outside-press" === n && (a ? (A.current = !1, e = !0) : A.current = !($b(r) || qb(r)))
}
return T.current = n, m.on("openchange", i), () => {
m.off("openchange", i);
let r = Ub(t), o = Bb(_, r) || I && nk(I.nodesRef.current, h).some((e => {
var t;
return Bb(null == (t = e.context) ? void 0 : t.elements.floating, r)
}));
(o || a.openEvent && ["click", "mousedown"].includes(a.openEvent.type)) && p.domReference.current && (T.current = p.domReference.current), E.current && zb(T.current) && !A.current && (n === r || r === t.body || o) && Dw(T.current, {
cancelPrevious: !1,
preventScroll: e
})
}
}), [r, _, E, g, p, m, I, h]), Rw((() => {
if (!r && C) return C.setFocusManagerState({
modal: x,
closeOnFocusOut: u,
open: d,
onOpenChange: f,
refs: p
}), () => {
C.setFocusManagerState(null)
}
}), [r, C, x, d, f, p, u]), Rw((() => {
if (r || !_ || "function" != typeof MutationObserver || y) return;
let e = () => {
let e = _.getAttribute("tabindex");
k.current.includes("floating") || Ub(Qb(_)) !== p.domReference.current && 0 === L().length ? "0" !== e && _.setAttribute("tabindex", "0") : "-1" !== e && _.setAttribute("tabindex", "-1")
};
e();
let t = new MutationObserver(e);
return t.observe(_, {childList: !0, subtree: !0, attributes: !0}), () => {
t.disconnect()
}
}), [r, _, p, k, L, y]);
let M = !r && w && (R || x);
return Ee.createElement(Ee.Fragment, null, M && Ee.createElement(gk, {
"data-type": "inside",
ref: null == C ? void 0 : C.beforeInsideRef,
onFocus: e => {
if (x) {
let e = j();
Dw("reference" === a[0] ? e[0] : e[e.length - 1])
} else if (null != C && C.preserveTabOrder && C.portalNode) if (A.current = !1, hk(e, C.portalNode)) {
let e = dk() || v;
null == e || e.focus()
} else {
var t;
null == (t = C.beforeOutsideRef.current) || t.focus()
}
}
}), !b && N("start"), n, N("end"), M && Ee.createElement(gk, {
"data-type": "inside",
ref: null == C ? void 0 : C.afterInsideRef,
onFocus: e => {
if (x) Dw(j()[0]); else if (null != C && C.preserveTabOrder && C.portalNode) if (u && (A.current = !0), hk(e, C.portalNode)) {
let e = pk() || v;
null == e || e.focus()
} else {
var t;
null == (t = C.afterOutsideRef.current) || t.focus()
}
}
}))
}
let wk = new Set, kk = Ee.forwardRef((function (e, t) {
let {lockScroll: n = !1, ...r} = e, a = Bw();
return Rw((() => {
if (!n) return;
wk.add(a);
let e = /iP(hone|ad|od)|iOS/.test(Gb()), t = document.body.style,
r = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft ? "paddingLeft" : "paddingRight",
i = window.innerWidth - document.documentElement.clientWidth,
o = t.left ? parseFloat(t.left) : window.pageXOffset,
s = t.top ? parseFloat(t.top) : window.pageYOffset;
if (t.overflow = "hidden", i && (t[r] = i + "px"), e) {
var l, c;
let e = (null == (l = window.visualViewport) ? void 0 : l.offsetLeft) || 0,
n = (null == (c = window.visualViewport) ? void 0 : c.offsetTop) || 0;
Object.assign(t, {
position: "fixed",
top: -(s - Math.floor(n)) + "px",
left: -(o - Math.floor(e)) + "px",
right: "0"
})
}
return () => {
wk.delete(a), 0 === wk.size && (Object.assign(t, {
overflow: "",
[r]: ""
}), e && (Object.assign(t, {position: "", top: "", left: "", right: ""}), window.scrollTo(o, s)))
}
}), [a, n]), Ee.createElement("div", Fw({ref: t}, r, {
style: {
position: "fixed",
overflow: "auto",
top: 0,
right: 0,
bottom: 0,
left: 0, ...r.style
}
}))
}));
function Sk(e) {
return zb(e.target) && "BUTTON" === e.target.tagName
}
function Ek(e, t) {
void 0 === t && (t = {});
let {open: n, onOpenChange: r, dataRef: a, elements: {domReference: i}} = e, {
enabled: o = !0,
event: s = "click",
toggle: l = !0,
ignoreMouse: c = !1,
keyboardHandlers: u = !0
} = t, d = Ee.useRef(), p = Ee.useRef(!1);
return Ee.useMemo((() => o ? {
reference: {
onPointerDown(e) {
d.current = e.pointerType
}, onMouseDown(e) {
0 !== e.button || Yb(d.current, !0) && c || "click" === s || (!n || !l || a.current.openEvent && "mousedown" !== a.current.openEvent.type ? (e.preventDefault(), r(!0, e.nativeEvent, "click")) : r(!1, e.nativeEvent, "click"))
}, onClick(e) {
"mousedown" === s && d.current ? d.current = void 0 : Yb(d.current, !0) && c || (!n || !l || a.current.openEvent && "click" !== a.current.openEvent.type ? r(!0, e.nativeEvent, "click") : r(!1, e.nativeEvent, "click"))
}, onKeyDown(e) {
d.current = void 0, e.defaultPrevented || !u || Sk(e) || (" " !== e.key || Jb(i) || (e.preventDefault(), p.current = !0), "Enter" === e.key && r(!n || !l, e.nativeEvent, "click"))
}, onKeyUp(e) {
!e.defaultPrevented && u && !Sk(e) && !Jb(i) && " " === e.key && p.current && (p.current = !1, r(!n || !l, e.nativeEvent, "click"))
}
}
} : {}), [o, a, s, c, u, i, l, n, r])
}
let Ik = {pointerdown: "onPointerDown", mousedown: "onMouseDown", click: "onClick"},
Ck = {pointerdown: "onPointerDownCapture", mousedown: "onMouseDownCapture", click: "onClickCapture"},
Ok = e => {
var t, n;
return {
escapeKey: "boolean" == typeof e ? e : null != (t = null == e ? void 0 : e.escapeKey) && t,
outsidePress: "boolean" == typeof e ? e : null == (n = null == e ? void 0 : e.outsidePress) || n
}
};
function Pk(e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
nodeId: a,
elements: {reference: i, domReference: o, floating: s},
dataRef: l
} = e, {
enabled: c = !0,
escapeKey: u = !0,
outsidePress: d = !0,
outsidePressEvent: p = "pointerdown",
referencePress: h = !1,
referencePressEvent: f = "pointerdown",
ancestorScroll: m = !1,
bubbles: g,
capture: v
} = t, _ = Kw(), y = xw("function" == typeof d ? d : () => !1), b = "function" == typeof d ? y : d,
x = Ee.useRef(!1), w = Ee.useRef(!1), {escapeKey: k, outsidePress: S} = Ok(g), {
escapeKey: E,
outsidePress: I
} = Ok(v), C = xw((e => {
if (!n || !c || !u || "Escape" !== e.key) return;
let t = _ ? nk(_.nodesRef.current, a) : [];
if (!k && (e.stopPropagation(), t.length > 0)) {
let e = !0;
if (t.forEach((t => {
var n;
null == (n = t.context) || !n.open || t.context.dataRef.current.__escapeKeyBubbles || (e = !1)
})), !e) return
}
r(!1, "nativeEvent" in e ? e.nativeEvent : e, "escape-key")
})), O = xw((e => {
var t;
let n = () => {
var t;
C(e), null == (t = Xb(e)) || t.removeEventListener("keydown", n)
};
null == (t = Xb(e)) || t.addEventListener("keydown", n)
})), P = xw((e => {
let t = x.current;
x.current = !1;
let n = w.current;
if (w.current = !1, "click" === p && n || t || "function" == typeof b && !b(e)) return;
let i = Xb(e), l = "[" + Xw("inert") + "]", c = Qb(s).querySelectorAll(l), u = Fb(i) ? i : null;
for (; u && !["html", "body", "#document"].includes(jb(u));) {
let e = function (e) {
var t;
if ("html" === jb(e)) return e;
let n = e.assignedSlot || e.parentNode || Vb(e) && e.host || (null == (t = (Mb(e) ? e.ownerDocument : e.document) || window.document) ? void 0 : t.documentElement);
return Vb(n) ? n.host : n
}(u);
if (e === Qb(s).body || !Fb(e)) break;
u = e
}
if (c.length && Fb(i) && !i.matches("html,body") && !Bb(i, s) && Array.from(c).every((e => !Bb(u, e)))) return;
if (zb(i) && s) {
let t = i.clientWidth > 0 && i.scrollWidth > i.clientWidth,
n = i.clientHeight > 0 && i.scrollHeight > i.clientHeight, r = n && e.offsetX > i.clientWidth;
if (n) {
"rtl" === Nb(i).getComputedStyle(i).direction && (r = e.offsetX <= i.offsetWidth - i.clientWidth)
}
if (r || t && e.offsetY > i.clientHeight) return
}
let d = _ && nk(_.nodesRef.current, a).some((t => {
var n;
return Zb(e, null == (n = t.context) ? void 0 : n.elements.floating)
}));
if (Zb(e, s) || Zb(e, o) || d) return;
let h = _ ? nk(_.nodesRef.current, a) : [];
if (h.length > 0) {
let e = !0;
if (h.forEach((t => {
var n;
null == (n = t.context) || !n.open || t.context.dataRef.current.__outsidePressBubbles || (e = !1)
})), !e) return
}
r(!1, e, "outside-press")
})), A = xw((e => {
var t;
let n = () => {
var t;
P(e), null == (t = Xb(e)) || t.removeEventListener(p, n)
};
null == (t = Xb(e)) || t.addEventListener(p, n)
}));
return Ee.useEffect((() => {
if (!n || !c) return;
function e(e) {
r(!1, e, "ancestor-scroll")
}
l.current.__escapeKeyBubbles = k, l.current.__outsidePressBubbles = S;
let t = Qb(s);
u && t.addEventListener("keydown", E ? O : C, E), b && t.addEventListener(p, I ? A : P, I);
let a = [];
return m && (Fb(o) && (a = zx(o)), Fb(s) && (a = a.concat(zx(s))), !Fb(i) && i && i.contextElement && (a = a.concat(zx(i.contextElement)))), (a = a.filter((e => {
var n;
return e !== (null == (n = t.defaultView) ? void 0 : n.visualViewport)
}))).forEach((t => {
t.addEventListener("scroll", e, {passive: !0})
})), () => {
u && t.removeEventListener("keydown", E ? O : C, E), b && t.removeEventListener(p, I ? A : P, I), a.forEach((t => {
t.removeEventListener("scroll", e)
}))
}
}), [l, s, o, i, u, b, p, n, r, m, c, k, S, C, E, O, P, I, A]), Ee.useEffect((() => {
x.current = !1
}), [b, p]), Ee.useMemo((() => c ? {
reference: {
onKeyDown: C, [Ik[f]]: e => {
h && r(!1, e.nativeEvent, "reference-press")
}
}, floating: {
onKeyDown: C, onMouseDown() {
w.current = !0
}, onMouseUp() {
w.current = !0
}, [Ck[p]]: () => {
x.current = !0
}
}
} : {}), [c, h, p, f, r, C])
}
function Ak(e) {
var t;
void 0 === e && (e = {});
let {open: n = !1, onOpenChange: r, nodeId: a} = e;
let [i, o] = Ee.useState(null), s = (null == (t = e.elements) ? void 0 : t.reference) || i,
l = function (e) {
void 0 === e && (e = {});
let {
placement: t = "bottom",
strategy: n = "absolute",
middleware: r = [],
platform: a,
elements: {reference: i, floating: o} = {},
transform: s = !0,
whileElementsMounted: l,
open: c
} = e, [u, d] = Ee.useState({
x: 0,
y: 0,
strategy: n,
placement: t,
middlewareData: {},
isPositioned: !1
}), [p, h] = Ee.useState(r);
tw(p, r) || h(r);
let [f, m] = Ee.useState(null), [g, v] = Ee.useState(null), _ = Ee.useCallback((e => {
e != w.current && (w.current = e, m(e))
}), [m]), y = Ee.useCallback((e => {
e !== k.current && (k.current = e, v(e))
}), [v]), b = i || f, x = o || g, w = Ee.useRef(null), k = Ee.useRef(null), S = Ee.useRef(u),
E = aw(l), I = aw(a), C = Ee.useCallback((() => {
if (!w.current || !k.current) return;
let e = {placement: t, strategy: n, middleware: p};
I.current && (e.platform = I.current), Xx(w.current, k.current, e).then((e => {
let t = {...e, isPositioned: !0};
O.current && !tw(S.current, t) && (S.current = t, ty.flushSync((() => {
d(t)
})))
}))
}), [p, t, n, I]);
ew((() => {
!1 === c && S.current.isPositioned && (S.current.isPositioned = !1, d((e => ({
...e,
isPositioned: !1
}))))
}), [c]);
let O = Ee.useRef(!1);
ew((() => (O.current = !0, () => {
O.current = !1
})), []), ew((() => {
if (b && (w.current = b), x && (k.current = x), b && x) {
if (E.current) return E.current(b, x, C);
C()
}
}), [b, x, C, E]);
let P = Ee.useMemo((() => ({reference: w, floating: k, setReference: _, setFloating: y})), [_, y]),
A = Ee.useMemo((() => ({reference: b, floating: x})), [b, x]), T = Ee.useMemo((() => {
let e = {position: n, left: 0, top: 0};
if (!A.floating) return e;
let t = rw(A.floating, u.x), r = rw(A.floating, u.y);
return s ? {
...e,
transform: "translate(" + t + "px, " + r + "px)", ...nw(A.floating) >= 1.5 && {willChange: "transform"}
} : {position: n, left: t, top: r}
}), [n, s, A.floating, u.x, u.y]);
return Ee.useMemo((() => ({
...u,
update: C,
refs: P,
elements: A,
floatingStyles: T
})), [u, C, P, A, T])
}(e), c = Kw(), u = null != Hw(), d = xw(((e, t, n) => {
e && (h.current.openEvent = t), f.emit("openchange", {
open: e,
event: t,
reason: n,
nested: u
}), null == r || r(e, t, n)
})), p = Ee.useRef(null), h = Ee.useRef({}), f = Ee.useState((() => $w()))[0], m = Bw(),
g = Ee.useCallback((e => {
let t = Fb(e) ? {getBoundingClientRect: () => e.getBoundingClientRect(), contextElement: e} : e;
l.refs.setReference(t)
}), [l.refs]), v = Ee.useCallback((e => {
(Fb(e) || null === e) && (p.current = e, o(e)), (Fb(l.refs.reference.current) || null === l.refs.reference.current || null !== e && !Fb(e)) && l.refs.setReference(e)
}), [l.refs]), _ = Ee.useMemo((() => ({
...l.refs,
setReference: v,
setPositionReference: g,
domReference: p
})), [l.refs, v, g]), y = Ee.useMemo((() => ({...l.elements, domReference: s})), [l.elements, s]),
b = Ee.useMemo((() => ({
...l,
refs: _,
elements: y,
dataRef: h,
nodeId: a,
floatingId: m,
events: f,
open: n,
onOpenChange: d
})), [l, a, m, f, n, d, _, y]);
return Rw((() => {
let e = null == c ? void 0 : c.nodesRef.current.find((e => e.id === a));
e && (e.context = b)
})), Ee.useMemo((() => ({...l, context: b, refs: _, elements: y})), [l, _, y, b])
}
function Tk(e, t, n) {
let r = new Map;
return {
..."floating" === n && {tabIndex: -1}, ...e, ...t.map((e => e ? e[n] : null)).concat(e).reduce(((e, t) => (t && Object.entries(t).forEach((t => {
let [n, a] = t;
var i;
0 === n.indexOf("on") ? (r.has(n) || r.set(n, []), "function" == typeof a && (null == (i = r.get(n)) || i.push(a), e[n] = function () {
for (var e, t = arguments.length, a = Array(t), i = 0; i < t; i++) a[i] = arguments[i];
return null == (e = r.get(n)) ? void 0 : e.map((e => e(...a))).find((e => void 0 !== e))
})) : e[n] = a
})), e)), {})
}
}
function Dk(e) {
void 0 === e && (e = []);
let t = e, n = Ee.useCallback((t => Tk(t, e, "reference")), t),
r = Ee.useCallback((t => Tk(t, e, "floating")), t),
a = Ee.useCallback((t => Tk(t, e, "item")), e.map((e => null == e ? void 0 : e.item)));
return Ee.useMemo((() => ({getReferenceProps: n, getFloatingProps: r, getItemProps: a})), [n, r, a])
}
let Rk = !1;
function Lk(e, t, n) {
switch (e) {
case"vertical":
return t;
case"horizontal":
return n;
default:
return t || n
}
}
function jk(e, t) {
return Lk(t, e === ww || e === kw, e === Sw || e === Ew)
}
function Nk(e, t, n) {
return Lk(t, e === kw, n ? e === Sw : e === Ew) || "Enter" === e || " " == e || "" === e
}
function Mk(e, t, n) {
return Lk(t, n ? e === Ew : e === Sw, e === ww)
}
function Fk(e, t) {
let {open: n, onOpenChange: r, refs: a, elements: {domReference: i, floating: o}} = e, {
listRef: s,
activeIndex: l,
onNavigate: c = (() => {
}),
enabled: u = !0,
selectedIndex: d = null,
allowEscape: p = !1,
loop: h = !1,
nested: f = !1,
rtl: m = !1,
virtual: g = !1,
focusItemOnOpen: v = "auto",
focusItemOnHover: _ = !0,
openOnArrowKeyDown: y = !0,
disabledIndices: b,
orientation: x = "vertical",
cols: w = 1,
scrollItemIntoView: k = !0,
virtualItemRef: S
} = t, E = Hw(), I = Kw(), C = xw(c), O = Ee.useRef(v), P = Ee.useRef(null != d ? d : -1),
A = Ee.useRef(null), T = Ee.useRef(!0), D = Ee.useRef(C), R = Ee.useRef(!!o), L = Ee.useRef(!1),
j = Ee.useRef(!1), N = Jw(b), M = Jw(n), F = Jw(k), [z, V] = Ee.useState(), [U, B] = Ee.useState(),
G = xw((function (e, t, n) {
void 0 === n && (n = !1);
let r = e.current[t.current];
r && (g ? (V(r.id), null == I || I.events.emit("virtualfocus", r), S && (S.current = r)) : Dw(r, {
preventScroll: !0,
sync: !(!Kb() || !Wb()) && (Rk || L.current)
}), requestAnimationFrame((() => {
let e = F.current;
e && r && (n || !T.current) && (null == r.scrollIntoView || r.scrollIntoView("boolean" == typeof e ? {
block: "nearest",
inline: "nearest"
} : e))
})))
}));
Rw((() => {
document.createElement("div").focus({
get preventScroll() {
return Rk = !0, !1
}
})
}), []), Rw((() => {
u && (n && o ? O.current && null != d && (j.current = !0, C(d)) : R.current && (P.current = -1, D.current(null)))
}), [u, n, o, d, C]), Rw((() => {
if (u && n && o) if (null == l) {
if (L.current = !1, null == d && (R.current && (P.current = -1, G(s, P)), !R.current && O.current && (null != A.current || !0 === O.current && null == A.current))) {
let e = 0, t = () => {
if (null == s.current[0]) {
if (e < 2) {
(e ? requestAnimationFrame : queueMicrotask)(t)
}
e++
} else P.current = null == A.current || Nk(A.current, x, m) || f ? Ow(s, N.current) : Pw(s, N.current), A.current = null, C(P.current)
};
t()
}
} else Cw(s, l) || (P.current = l, G(s, P, j.current), j.current = !1)
}), [u, n, o, l, d, f, s, x, m, C, G, N]), Rw((() => {
var e, t;
if (!u || o || !I || g || !R.current) return;
let n = I.nodesRef.current,
r = null == (e = n.find((e => e.id === E))) || null == (t = e.context) ? void 0 : t.elements.floating,
a = Ub(Qb(o)), i = n.some((e => e.context && Bb(e.context.elements.floating, a)));
r && !i && T.current && r.focus({preventScroll: !0})
}), [u, o, I, E, g]), Rw((() => {
if (u && I && g && !E) return I.events.on("virtualfocus", e), () => {
I.events.off("virtualfocus", e)
};
function e(e) {
B(e.id), S && (S.current = e)
}
}), [u, I, g, E, S]), Rw((() => {
D.current = C, R.current = !!o
})), Rw((() => {
n || (A.current = null)
}), [n]);
let $ = null != l, q = Ee.useMemo((() => {
function e(e) {
if (!n) return;
let t = s.current.indexOf(e);
-1 !== t && C(t)
}
let t = {
onFocus(t) {
let {currentTarget: n} = t;
e(n)
}, onClick: e => {
let {currentTarget: t} = e;
return t.focus({preventScroll: !0})
}, ..._ && {
onMouseMove(t) {
let {currentTarget: n} = t;
e(n)
}, onPointerLeave(e) {
let {pointerType: t} = e;
T.current && "touch" !== t && (P.current = -1, G(s, P), C(null), g || Dw(a.floating.current, {preventScroll: !0}))
}
}
};
return t
}), [n, a, G, _, s, C, g]);
return Ee.useMemo((() => {
if (!u) return {};
let e = N.current;
function t(t) {
if (T.current = !1, L.current = !0, !M.current && t.currentTarget === a.floating.current) return;
if (f && Mk(t.key, x, m)) return ex(t), r(!1, t.nativeEvent, "list-navigation"), void (zb(i) && !g && i.focus());
let o = P.current, l = Ow(s, e), c = Pw(s, e);
if ("Home" === t.key && (ex(t), P.current = l, C(P.current)), "End" === t.key && (ex(t), P.current = c, C(P.current)), (!(w > 1) || (P.current = function (e, t) {
let {
event: n,
orientation: r,
loop: a,
cols: i,
disabledIndices: o,
minIndex: s,
maxIndex: l,
prevIndex: c,
stopEvent: u = !1
} = t, d = c;
if (n.key === ww) {
if (u && ex(n), -1 === c) d = l; else if (d = Aw(e, {
startingIndex: d,
amount: i,
decrement: !0,
disabledIndices: o
}), a && (c - i < s || d < 0)) {
let e = c % i, t = l % i, n = l - (t - e);
d = t === e ? l : t > e ? n : n - i
}
Cw(e, d) && (d = c)
}
if (n.key === kw && (u && ex(n), -1 === c ? d = s : (d = Aw(e, {
startingIndex: c,
amount: i,
disabledIndices: o
}), a && c + i > l && (d = Aw(e, {
startingIndex: c % i - i,
amount: i,
disabledIndices: o
}))), Cw(e, d) && (d = c)), "both" === r) {
let t = tx(c / i);
n.key === Ew && (u && ex(n), c % i != i - 1 ? (d = Aw(e, {
startingIndex: c,
disabledIndices: o
}), a && Iw(d, i, t) && (d = Aw(e, {
startingIndex: c - c % i - 1,
disabledIndices: o
}))) : a && (d = Aw(e, {
startingIndex: c - c % i - 1,
disabledIndices: o
})), Iw(d, i, t) && (d = c)), n.key === Sw && (u && ex(n), c % i != 0 ? (d = Aw(e, {
startingIndex: c,
disabledIndices: o,
decrement: !0
}), a && Iw(d, i, t) && (d = Aw(e, {
startingIndex: c + (i - c % i),
decrement: !0,
disabledIndices: o
}))) : a && (d = Aw(e, {
startingIndex: c + (i - c % i),
decrement: !0,
disabledIndices: o
})), Iw(d, i, t) && (d = c));
let r = tx(l / i) === t;
Cw(e, d) && (d = a && r ? n.key === Sw ? l : Aw(e, {
startingIndex: c - c % i - 1,
disabledIndices: o
}) : c)
}
return d
}(s, {
event: t,
orientation: x,
loop: h,
cols: w,
disabledIndices: e,
minIndex: l,
maxIndex: c,
prevIndex: P.current,
stopEvent: !0
}), C(P.current), "both" !== x)) && jk(t.key, x)) {
if (ex(t), n && !g && Ub(t.currentTarget.ownerDocument) === t.currentTarget) return P.current = Nk(t.key, x, m) ? l : c, void C(P.current);
Nk(t.key, x, m) ? P.current = h ? o >= c ? p && o !== s.current.length ? -1 : l : Aw(s, {
startingIndex: o,
disabledIndices: e
}) : Math.min(c, Aw(s, {
startingIndex: o,
disabledIndices: e
})) : P.current = h ? o <= l ? p && -1 !== o ? s.current.length : c : Aw(s, {
startingIndex: o,
decrement: !0,
disabledIndices: e
}) : Math.max(l, Aw(s, {
startingIndex: o,
decrement: !0,
disabledIndices: e
})), Cw(s, P.current) ? C(null) : C(P.current)
}
}
function o(e) {
"auto" === v && $b(e.nativeEvent) && (O.current = !0)
}
let l = g && n && $ && {"aria-activedescendant": U || z},
c = s.current.find((e => (null == e ? void 0 : e.id) === z));
return {
reference: {
...l, onKeyDown(a) {
var i, o, l, u, p, h;
T.current = !1;
let v = 0 === a.key.indexOf("Arrow"),
_ = (i = a.key, Lk(x, m ? i === Sw : i === Ew, i === kw)), b = Mk(a.key, x, m),
w = jk(a.key, x), k = (f ? _ : w) || "Enter" === a.key || "" === a.key.trim();
if (g && n) {
let e, n, r = null == I ? void 0 : I.nodesRef.current.find((e => null == e.parentId)),
i = I && r ? (o = I.nodesRef.current, l = r.id, n = -1, function t(r, a) {
a > n && (e = r, n = a), nk(o, r).forEach((e => {
t(e.id, a + 1)
}))
}(l, 0), o.find((t => t.id === e))) : null;
if (v && i && S) {
let e = new KeyboardEvent("keydown", {key: a.key, bubbles: !0});
if (_ || b) {
let t = (null == (u = i.context) ? void 0 : u.elements.domReference) === a.currentTarget,
n = b && !t ? null == (p = i.context) ? void 0 : p.elements.domReference : _ ? c : null;
n && (ex(a), n.dispatchEvent(e), B(void 0))
}
if (w && i.context && i.context.open && i.parentId && a.currentTarget !== i.context.elements.domReference) return ex(a), void (null == (h = i.context.elements.domReference) || h.dispatchEvent(e))
}
return t(a)
}
if (n || y || !v) {
if (k && (A.current = f && w ? null : a.key), f) return void (_ && (ex(a), n ? (P.current = Ow(s, e), C(P.current)) : r(!0, a.nativeEvent, "list-navigation")));
w && (null != d && (P.current = d), ex(a), !n && y ? r(!0, a.nativeEvent, "list-navigation") : t(a), n && C(P.current))
}
}, onFocus() {
n && C(null)
}, onPointerDown: function (e) {
O.current = v, "auto" === v && qb(e.nativeEvent) && (O.current = !0)
}, onMouseDown: o, onClick: o
}, floating: {
"aria-orientation": "both" === x ? void 0 : x, ...l, onKeyDown: t, onPointerMove() {
T.current = !0
}
}, item: q
}
}), [i, a, z, U, N, M, s, u, x, m, g, n, $, f, d, y, p, w, h, v, C, r, q, I, S])
}
function zk(e, t) {
void 0 === t && (t = {});
let {open: n, floatingId: r} = e, {enabled: a = !0, role: i = "dialog"} = t, o = Bw();
return Ee.useMemo((() => {
if (!a) return {};
let e = {id: r, ..."label" !== i && {role: i}};
return "tooltip" === i || "label" === i ? {
reference: {["aria-" + ("label" === i ? "labelledby" : "describedby")]: n ? r : void 0},
floating: e
} : {
reference: {
"aria-expanded": n ? "true" : "false",
"aria-haspopup": "alertdialog" === i ? "dialog" : i,
"aria-controls": n ? r : void 0, ..."listbox" === i && {role: "combobox"}, ..."menu" === i && {id: o}
}, floating: {...e, ..."menu" === i && {"aria-labelledby": o}}
}
}), [a, i, n, r, o])
}
function Vk(e, t) {
void 0 === t && (t = {});
let {open: n, elements: {floating: r}} = e, {duration: a = 250} = t,
i = ("number" == typeof a ? a : a.close) || 0, [o, s] = Ee.useState(!1), [l, c] = Ee.useState("unmounted"),
u = function (e, t) {
let [n, r] = Ee.useState(e);
return e && !n && r(!0), Ee.useEffect((() => {
if (!e) {
let e = setTimeout((() => r(!1)), t);
return () => clearTimeout(e)
}
}), [e, t]), n
}(n, i);
return Rw((() => {
o && !u && c("unmounted")
}), [o, u]), Rw((() => {
if (r) {
if (n) {
c("initial");
let e = requestAnimationFrame((() => {
c("open")
}));
return () => {
cancelAnimationFrame(e)
}
}
s(!0), c("close")
}
}), [n, r]), {isMounted: u, status: l}
}
function Uk(e, t) {
var n;
let {open: r, dataRef: a} = e, {
listRef: i,
activeIndex: o,
onMatch: s,
onTypingChange: l,
enabled: c = !0,
findMatch: u = null,
resetMs: d = 750,
ignoreKeys: p = [],
selectedIndex: h = null
} = t, f = Ee.useRef(), m = Ee.useRef(""), g = Ee.useRef(null != (n = null != h ? h : o) ? n : -1),
v = Ee.useRef(null), _ = xw(s), y = xw(l), b = Jw(u), x = Jw(p);
return Rw((() => {
r && (clearTimeout(f.current), v.current = null, m.current = "")
}), [r]), Rw((() => {
var e;
r && "" === m.current && (g.current = null != (e = null != h ? h : o) ? e : -1)
}), [r, h, o]), Ee.useMemo((() => {
if (!c) return {};
function e(e) {
e ? a.current.typing || (a.current.typing = e, y(e)) : a.current.typing && (a.current.typing = e, y(e))
}
function t(e, t, n) {
let r = b.current ? b.current(t, n) : t.find((e => 0 === (null == e ? void 0 : e.toLocaleLowerCase().indexOf(n.toLocaleLowerCase()))));
return r ? e.indexOf(r) : -1
}
function n(n) {
let a = i.current;
if (m.current.length > 0 && " " !== m.current[0] && (-1 === t(a, a, m.current) ? e(!1) : " " === n.key && ex(n)), null == a || x.current.includes(n.key) || 1 !== n.key.length || n.ctrlKey || n.metaKey || n.altKey) return;
r && " " !== n.key && (ex(n), e(!0));
let o = a.every((e => {
var t, n;
return !e || (null == (t = e[0]) ? void 0 : t.toLocaleLowerCase()) !== (null == (n = e[1]) ? void 0 : n.toLocaleLowerCase())
}));
o && m.current === n.key && (m.current = "", g.current = v.current), m.current += n.key, clearTimeout(f.current), f.current = setTimeout((() => {
m.current = "", g.current = v.current, e(!1)
}), d);
let s = g.current, l = t(a, [...a.slice((s || 0) + 1), ...a.slice(0, (s || 0) + 1)], m.current);
-1 !== l ? (_(l), v.current = l) : " " !== n.key && (m.current = "", e(!1))
}
return {
reference: {onKeyDown: n}, floating: {
onKeyDown: n, onKeyUp(t) {
" " === t.key && e(!1)
}
}
}
}), [c, r, a, i, d, x, b, _, y])
}
function Bk(e, t) {
let [n, r] = e, a = !1, i = t.length;
for (let o = 0, s = i - 1; o < i; s = o++) {
let [e, i] = t[o] || [0, 0], [l, c] = t[s] || [0, 0];
i >= r != c >= r && n <= (l - e) * (r - i) / (c - i) + e && (a = !a)
}
return a
}
let Gk = {none: 0, small: 8, medium: 12, large: 16}, $k = (0, Ee.forwardRef)((({
children: e,
className: t,
content: n,
interactive: r = !0,
offset: a = "medium",
placement: i = "top",
style: o,
title: s,
...l
}, c) => {
var u;
let [d, p] = (0, Ee.useState)(!1), h = (0, Ee.useRef)(null), {
floatingStyles: f,
refs: m,
context: g,
placement: v
} = Ak({
open: d, onOpenChange: p, placement: i, whileElementsMounted: Zx, middleware: [Jx({element: h}), {
name: "flip",
options: u = {fallbackAxisSideDirection: "start", crossAxis: i.includes("-")},
async fn(e) {
var t, n, r, a;
let {
placement: i,
middlewareData: o,
rects: s,
initialPlacement: l,
platform: c,
elements: d
} = e, {
mainAxis: p = !0,
crossAxis: h = !0,
fallbackPlacements: f,
fallbackStrategy: m = "bestFit",
fallbackAxisSideDirection: g = "none",
flipAlignment: v = !0,
..._
} = cx(u, e), y = ux(i), b = ux(l) === l,
x = await (null == c.isRTL ? void 0 : c.isRTL(d.floating)),
w = f || (b || !v ? [gx(l)] : function (e) {
let t = gx(e);
return [mx(e), t, mx(t)]
}(l));
f || "none" === g || w.push(...function (e, t, n, r) {
let a = dx(e), i = function (e, t, n) {
let r = ["left", "right"], a = ["right", "left"];
switch (e) {
case"top":
case"bottom":
return n ? t ? a : r : t ? r : a;
case"left":
case"right":
return t ? ["top", "bottom"] : ["bottom", "top"];
default:
return []
}
}(ux(e), "start" === n, r);
return a && (i = i.map((e => e + "-" + a)), t && (i = i.concat(i.map(mx)))), i
}(l, v, g, x));
let k = [l, ...w], S = await bx(e, _), E = [],
I = (null == (t = o.flip) ? void 0 : t.overflows) || [];
if (p && E.push(S[y]), h) {
let e = function (e, t, n) {
void 0 === n && (n = !1);
let r = dx(e), a = px(fx(e)), i = hx(a),
o = "x" === a ? r === (n ? "end" : "start") ? "right" : "left" : "start" === r ? "bottom" : "top";
return t.reference[i] > t.floating[i] && (o = gx(o)), [o, gx(o)]
}(i, s, x);
E.push(S[e[0]], S[e[1]])
}
if (I = [...I, {placement: i, overflows: E}], !E.every((e => e <= 0))) {
let e = ((null == (n = o.flip) ? void 0 : n.index) || 0) + 1, t = k[e];
if (t) return {data: {index: e, overflows: I}, reset: {placement: t}};
let s = null == (r = I.filter((e => e.overflows[0] <= 0)).sort(((e, t) => e.overflows[1] - t.overflows[1]))[0]) ? void 0 : r.placement;
if (!s) switch (m) {
case"bestFit": {
let e = null == (a = I.map((e => [e.placement, e.overflows.filter((e => e > 0)).reduce(((e, t) => e + t), 0)])).sort(((e, t) => e[1] - t[1]))[0]) ? void 0 : a[0];
e && (s = e);
break
}
case"initialPlacement":
s = l
}
if (i !== s) return {reset: {placement: s}}
}
return {}
}
}, wx(Gk[a]), kx({padding: Gk[a]})], transform: !1
}), {getReferenceProps: _, getFloatingProps: y} = Dk([Pk(g), function (e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
events: a,
refs: i,
elements: {floating: o, domReference: s}
} = e, {enabled: l = !0, visibleOnly: c = !0} = t, u = Ee.useRef(!1), d = Ee.useRef(),
p = Ee.useRef(!0);
return Ee.useEffect((() => {
if (!l) return;
let e = Nb(s);
function t() {
!n && zb(s) && s === Ub(Qb(s)) && (u.current = !0)
}
function r() {
p.current = !0
}
return e.addEventListener("blur", t), e.addEventListener("keydown", r, !0), () => {
e.removeEventListener("blur", t), e.removeEventListener("keydown", r, !0)
}
}), [o, s, n, l]), Ee.useEffect((() => {
if (l) return a.on("openchange", e), () => {
a.off("openchange", e)
};
function e(e) {
let {reason: t} = e;
("reference-press" === t || "escape-key" === t) && (u.current = !0)
}
}), [a, l]), Ee.useEffect((() => () => {
clearTimeout(d.current)
}), []), Ee.useMemo((() => l ? {
reference: {
onPointerDown(e) {
qb(e.nativeEvent) || (p.current = !1)
}, onMouseLeave() {
u.current = !1
}, onFocus(e) {
if (u.current) return;
let t = Xb(e.nativeEvent);
if (c && Fb(t)) try {
if (Wb() && Kb()) throw Error();
if (!t.matches(":focus-visible")) return
} catch (e) {
if (!p.current && !Jb(t)) return
}
r(!0, e.nativeEvent, "focus")
}, onBlur(e) {
u.current = !1;
let t = e.relatedTarget,
n = Fb(t) && t.hasAttribute(Xw("focus-guard")) && "outside" === t.getAttribute("data-type");
d.current = window.setTimeout((() => {
let a = Ub(s ? s.ownerDocument : document);
if (t || a !== s) {
if (Bb(i.floating.current, t) || Bb(s, t) || n) return;
r(!1, e.nativeEvent, "focus")
}
}))
}
}
} : {}), [l, c, s, i, r])
}(g), function (e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
dataRef: a,
events: i,
elements: {domReference: o, floating: s},
refs: l
} = e, {
enabled: c = !0,
delay: u = 0,
handleClose: d = null,
mouseOnly: p = !1,
restMs: h = 0,
move: f = !0
} = t, m = Kw(), g = Hw(), v = Jw(d), _ = Jw(u), y = Ee.useRef(), b = Ee.useRef(), x = Ee.useRef(),
w = Ee.useRef(), k = Ee.useRef(!0), S = Ee.useRef(!1), E = Ee.useRef((() => {
})), I = Ee.useCallback((() => {
var e;
let t = null == (e = a.current.openEvent) ? void 0 : e.type;
return (null == t ? void 0 : t.includes("mouse")) && "mousedown" !== t
}), [a]);
Ee.useEffect((() => {
if (c) return i.on("openchange", e), () => {
i.off("openchange", e)
};
function e(e) {
let {open: t} = e;
t || (clearTimeout(b.current), clearTimeout(w.current), k.current = !0)
}
}), [c, i]), Ee.useEffect((() => {
if (!c || !v.current || !n) return;
function e(e) {
I() && r(!1, e, "hover")
}
let t = Qb(s).documentElement;
return t.addEventListener("mouseleave", e), () => {
t.removeEventListener("mouseleave", e)
}
}), [s, n, r, c, v, a, I]);
let C = Ee.useCallback((function (e, t, n) {
void 0 === t && (t = !0), void 0 === n && (n = "hover");
let a = tk(_.current, "close", y.current);
a && !x.current ? (clearTimeout(b.current), b.current = setTimeout((() => r(!1, e, n)), a)) : t && (clearTimeout(b.current), r(!1, e, n))
}), [_, r]), O = Ee.useCallback((() => {
E.current(), x.current = void 0
}), []), P = Ee.useCallback((() => {
if (S.current) {
let e = Qb(l.floating.current).body;
e.style.pointerEvents = "", e.removeAttribute(ek), S.current = !1
}
}), [l]);
return Ee.useEffect((() => {
if (c && Fb(o)) return n && o.addEventListener("mouseleave", u), null == s || s.addEventListener("mouseleave", u), f && o.addEventListener("mousemove", i, {once: !0}), o.addEventListener("mouseenter", i), o.addEventListener("mouseleave", l), () => {
n && o.removeEventListener("mouseleave", u), null == s || s.removeEventListener("mouseleave", u), f && o.removeEventListener("mousemove", i), o.removeEventListener("mouseenter", i), o.removeEventListener("mouseleave", l)
};
function t() {
return !!a.current.openEvent && ["click", "mousedown"].includes(a.current.openEvent.type)
}
function i(e) {
if (clearTimeout(b.current), k.current = !1, p && !Yb(y.current) || h > 0 && 0 === tk(_.current, "open")) return;
let t = tk(_.current, "open", y.current);
t ? b.current = setTimeout((() => {
r(!0, e, "hover")
}), t) : r(!0, e, "hover")
}
function l(r) {
if (t()) return;
E.current();
let a = Qb(s);
if (clearTimeout(w.current), v.current) {
n || clearTimeout(b.current), x.current = v.current({
...e,
tree: m,
x: r.clientX,
y: r.clientY,
onClose() {
P(), O(), C(r, !0, "safe-polygon")
}
});
let t = x.current;
return a.addEventListener("mousemove", t), void (E.current = () => {
a.removeEventListener("mousemove", t)
})
}
("touch" !== y.current || !Bb(s, r.relatedTarget)) && C(r)
}
function u(n) {
t() || null == v.current || v.current({
...e, tree: m, x: n.clientX, y: n.clientY, onClose() {
P(), O(), C(n)
}
})(n)
}
}), [o, s, c, e, p, h, f, C, O, P, r, n, m, _, v, a]), Rw((() => {
var e, t, r;
if (c && n && null != (e = v.current) && e.__options.blockPointerEvents && I()) {
let e = Qb(s).body;
if (e.setAttribute(ek, ""), e.style.pointerEvents = "none", S.current = !0, Fb(o) && s) {
let e = null == m || null == (t = m.nodesRef.current.find((e => e.id === g))) || null == (r = t.context) ? void 0 : r.elements.floating;
return e && (e.style.pointerEvents = ""), o.style.pointerEvents = "auto", s.style.pointerEvents = "auto", () => {
o.style.pointerEvents = "", s.style.pointerEvents = ""
}
}
}
}), [c, n, g, s, o, m, v, a, I]), Rw((() => {
n || (y.current = void 0, O(), P())
}), [n, O, P]), Ee.useEffect((() => () => {
O(), clearTimeout(b.current), clearTimeout(w.current), P()
}), [c, o, O, P]), Ee.useMemo((() => {
if (!c) return {};
function e(e) {
y.current = e.pointerType
}
return {
reference: {
onPointerDown: e, onPointerEnter: e, onMouseMove(e) {
n || 0 === h || (clearTimeout(w.current), w.current = setTimeout((() => {
k.current || r(!0, e.nativeEvent, "hover")
}), h))
}
}, floating: {
onMouseEnter() {
clearTimeout(b.current)
}, onMouseLeave(e) {
C(e.nativeEvent, !1)
}
}
}
}), [c, h, n, r, C])
}(g, {
move: !1, handleClose: r ? function (e) {
let t;
void 0 === e && (e = {});
let {buffer: n = .5, blockPointerEvents: r = !1, requireIntent: a = !0} = e, i = !1, o = null,
s = null, l = performance.now(), c = e => {
let {x: r, y: c, placement: u, elements: d, onClose: p, nodeId: h, tree: f} = e;
return function (e) {
function m() {
clearTimeout(t), p()
}
if (clearTimeout(t), !d.domReference || !d.floating || null == u || null == r || null == c) return;
let {clientX: g, clientY: v} = e, _ = [g, v], y = Xb(e), b = "mouseleave" === e.type,
x = Bb(d.floating, y), w = Bb(d.domReference, y),
k = d.domReference.getBoundingClientRect(), S = d.floating.getBoundingClientRect(),
E = u.split("-")[0], I = r > S.right - S.width / 2, C = c > S.bottom - S.height / 2,
O = _[0] >= k.x && _[0] <= k.x + k.width && _[1] >= k.y && _[1] <= k.y + k.height,
P = S.width > k.width, A = S.height > k.height, T = (P ? k : S).left,
D = (P ? k : S).right, R = (A ? k : S).top, L = (A ? k : S).bottom;
if (x && (i = !0, !b)) return;
if (w && (i = !1), w && !b) return void (i = !0);
if (b && Fb(e.relatedTarget) && Bb(d.floating, e.relatedTarget) || f && nk(f.nodesRef.current, h).some((e => {
let {context: t} = e;
return null == t ? void 0 : t.open
}))) return;
if ("top" === E && c >= k.bottom - 1 || "bottom" === E && c <= k.top + 1 || "left" === E && r >= k.right - 1 || "right" === E && r <= k.left + 1) return m();
let j = [];
switch (E) {
case"top":
j = [[T, k.top + 1], [T, S.bottom - 1], [D, S.bottom - 1], [D, k.top + 1]];
break;
case"bottom":
j = [[T, S.top + 1], [T, k.bottom - 1], [D, k.bottom - 1], [D, S.top + 1]];
break;
case"left":
j = [[S.right - 1, L], [S.right - 1, R], [k.left + 1, R], [k.left + 1, L]];
break;
case"right":
j = [[k.right - 1, L], [k.right - 1, R], [S.left + 1, R], [S.left + 1, L]]
}
if (!Bk([g, v], j)) {
if (i && !O) return m();
if (!b && a) {
let t = function (e, t) {
let n = performance.now(), r = n - l;
if (null === o || null === s || 0 === r) return o = e, s = t, l = n, null;
let a = e - o, i = t - s;
return o = e, s = t, l = n, Math.sqrt(a * a + i * i) / r
}(e.clientX, e.clientY);
if (null !== t && t < .1) return m()
}
Bk([g, v], function (e) {
let [t, r] = e;
switch (E) {
case"top": {
let e = [[S.left, I || P ? S.bottom - n : S.top], [S.right, I ? P ? S.bottom - n : S.top : S.bottom - n]];
return [[P ? t + n / 2 : I ? t + 4 * n : t - 4 * n, r + n + 1], [P ? t - n / 2 : I ? t + 4 * n : t - 4 * n, r + n + 1], ...e]
}
case"bottom": {
let e = [[S.left, I || P ? S.top + n : S.bottom], [S.right, I ? P ? S.top + n : S.bottom : S.top + n]];
return [[P ? t + n / 2 : I ? t + 4 * n : t - 4 * n, r - n], [P ? t - n / 2 : I ? t + 4 * n : t - 4 * n, r - n], ...e]
}
case"left":
return [...[[C || A ? S.right - n : S.left, S.top], [C ? A ? S.right - n : S.left : S.right - n, S.bottom]], [t + n + 1, A ? r + n / 2 : C ? r + 4 * n : r - 4 * n], [t + n + 1, A ? r - n / 2 : C ? r + 4 * n : r - 4 * n]];
case"right": {
let e = [[C || A ? S.left + n : S.right, S.top], [C ? A ? S.left + n : S.right : S.left + n, S.bottom]];
return [[t - n, A ? r + n / 2 : C ? r + 4 * n : r - 4 * n], [t - n, A ? r - n / 2 : C ? r + 4 * n : r - 4 * n], ...e]
}
}
}([r, c])) ? !i && a && (t = window.setTimeout(m, 40)) : m()
}
}
};
return c.__options = {blockPointerEvents: r}, c
}() : null
}), zk(g, {role: "tooltip"})]), {isMounted: b, status: x} = Vk(g), w = e.ref,
k = yw([m.setReference, w, c]), {name: S} = lb(),
E = Ty("sol-c-tooltip sol-u-transition-floating", r && "sol-c-tooltip--interactive", t);
return sy.jsxs(sy.Fragment, {
children: [(0, Ee.cloneElement)(e, _({ref: k})), b && sy.jsx(_k, {
children: sy.jsxs(hb, {
as: "div",
className: E,
"data-sol-placement": v,
"data-sol-status": x,
"data-sol-theme": S,
ref: m.setFloating,
style: {...f, ...o},
color: "foreground-weak",
variant: "body-s", ...y(l),
children: [s && sy.jsx(hb, {
className: "sol-c-tooltip__title",
color: "foreground",
variant: "emphasis-s",
offset: !0,
children: s
}), n, sy.jsx(Gw, {className: "sol-c-tooltip__arrow", context: g, ref: h, tipRadius: 2})]
})
})]
})
})), qk = (0, Ee.forwardRef)((({enabled: e = !0, children: t, ...n}, r) => e ? sy.jsx($k, {
ref: r, ...n,
children: t
}) : t)), Wk = Dy((({
as: e = "article",
className: t,
excerpt: n,
external: r,
href: a,
icon: i,
id: o,
image: s,
label: l,
onClick: c,
overlay: u,
subtitle: d,
title: p,
isOffline: h,
...f
}, m) => {
let g = qy({..."string" == typeof s ? {src: s} : s}), v = qy({..."string" == typeof u ? {src: u} : u}),
_ = (0, Ee.useRef)(null), y = Uy(o), {ref: b, hasOverflow: x} = Vy({content: p}),
w = (0, Ee.useCallback)((e => {
_.current?.click(), c?.(e)
}), [c]), k = Ty("sol-c-card", h && "sol-c-card--offline", s && "sol-c-card--wide", t);
return sy.jsxs(e, {
className: k, "data-sol-button-group": !0, id: o, onClick: w, ref: m, ...f, children: [sy.jsxs("div", {
className: "sol-c-card__wrapper", children: [!h && sy.jsxs(sy.Fragment, {
children: [sy.jsxs(Cb, {
className: "sol-c-card__content",
gap: "150",
vertical: !0,
justify: "end",
children: [sy.jsxs(Cb, {
className: "sol-c-card__heading",
gap: "025",
vertical: !0,
children: [sy.jsx(qk, {
content: p,
placement: "right",
interactive: !1,
enabled: x,
children: sy.jsx(hb, {
className: "sol-c-card__title",
color: "foreground",
ref: b,
variant: "heading-xs",
truncate: 3,
children: sy.jsx(cb, {
"aria-describedby": l ? y + "-button" : void 0,
className: "sol-c-card__link",
external: r,
href: a,
ref: _,
children: p
})
})
}), d && sy.jsx(hb, {
className: "sol-c-card__subtitle",
color: "foreground-weak",
variant: "body-xxs",
children: d
})]
}), n && sy.jsx(hb, {
className: "sol-c-card__excerpt",
color: "foreground-weak",
variant: "body-xs",
truncate: 5,
children: n
}), l && sy.jsx(_b, {
"aria-hidden": "true",
className: "sol-c-card__button",
controlled: !0,
decorative: !0,
icon: r ? xy : i,
id: y + "-button",
size: "small",
variant: "plain",
children: l
})]
}), s && sy.jsx("div", {
className: "sol-c-card__media",
children: sy.jsx("img", {
className: Ty("sol-c-card__image", g === Gy && "sol-c-card__image--loaded"), ..."string" == typeof s ? {src: s} : s,
alt: ""
})
})]
}), h && sy.jsx(pb, {source: Lb, className: "sol-c-card__offline-icon"})]
}), s && u && !h && sy.jsx("div", {
"aria-hidden": "true",
className: "sol-c-card__overlay",
children: sy.jsx("img", {
className: Ty("sol-c-card__image", v === Gy && "sol-c-card__image--loaded"), ..."string" == typeof u ? {src: u} : u,
alt: ""
})
})]
})
}));
ry('@layer sol.components{.sol-c-choice{display:inline-flex;gap:var(--sol-size-150);position:relative;transition:opacity var(--sol-motion-250)}.sol-c-choice--disabled{opacity:.2;pointer-events:none}.sol-c-choice__wrapper{--_background:var(--sol-color-surface-0);--_foreground:var(--sol-color-interactive);--_border-width:var(--sol-border-1);cursor:var(--sol-cursor-interactive);display:flex;gap:var(--sol-size-100)}.sol-c-choice__wrapper:hover{--_foreground:var(--sol-color-interactive-hovered)}.sol-c-choice__wrapper:active{--_foreground:var(--sol-color-interactive-pressed)}.sol-c-choice__input{align-items:center;appearance:none;background-color:var(--_background);block-size:var(--sol-size-150);border-radius:var(--sol-radius-4);box-shadow:inset 0 0 0 var(--_border-width) currentColor;color:var(--_foreground);display:flex;flex-shrink:0;inline-size:var(--sol-size-150);justify-content:center;pointer-events:none;transition-duration:var(--sol-motion-250);transition-property:background-color,box-shadow,color;user-select:none}.sol-c-choice__icon{height:var(--sol-size-100);margin:var(--sol-size-025);pointer-events:none;position:absolute;width:var(--sol-size-100)}.sol-c-choice--checkbox{--sol-focus-offset:0}.sol-c-choice--checkbox .sol-c-choice__wrapper:active .sol-c-choice__input:not(:checked,:indeterminate),.sol-c-choice--checkbox .sol-c-choice__wrapper:not(:active) .sol-c-choice__input:is(:checked,:indeterminate){--_background:var(--_foreground)}.sol-c-choice--checkbox .sol-c-choice__wrapper:active .sol-c-choice__input:is(:checked,:indeterminate){--_background:var(--sol-color-surface-2)}.sol-c-choice--checkbox .sol-c-choice__icon{color:var(--sol-color-interactive);transition:opacity var(--sol-motion-250) var(--sol-motion-ease-out)}.sol-c-choice--checkbox .sol-c-choice__icon--check path{stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:1;transition-duration:var(--sol-motion-250);transition-property:stroke}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-choice--checkbox .sol-c-choice__icon--check path{transition-property:stroke,stroke-dashoffset}}.sol-c-choice--checkbox .sol-c-choice__wrapper:not(:active) .sol-c-choice__input:is(:checked,:indeterminate)~.sol-c-choice__icon{color:var(--sol-color-interactive-contrast)}.sol-c-choice--checkbox .sol-c-choice__wrapper:not(:active) .sol-c-choice__input:checked:not(:indeterminate)~.sol-c-choice__icon--check path{stroke-dashoffset:0}.sol-c-choice--checkbox .sol-c-choice__input:not(:indeterminate)~.sol-c-choice__icon--indeterminate{opacity:0}.sol-c-choice--radio{--sol-focus-offset:0}.sol-c-choice--radio .sol-c-choice__input{border-radius:var(--sol-radius-circle)}.sol-c-choice--radio .sol-c-choice__input:before{background-color:currentColor;border-radius:inherit;content:"";display:block;height:var(--sol-size-075);opacity:0;transform:scale(0);transition-duration:var(--sol-motion-250);transition-property:opacity,transform;width:var(--sol-size-075)}.sol-c-choice--radio .sol-c-choice__input:checked{--_border-width:var(--sol-border-2)}.sol-c-choice--radio .sol-c-choice__input:checked:before{opacity:1;transform:scale(1)}.sol-c-choice--toggle .sol-c-choice__input{border-radius:var(--sol-radius-rounded);inline-size:var(--sol-size-250)}.sol-c-choice--toggle .sol-c-choice__input:checked{background:var(--_foreground)}.sol-c-choice--toggle .sol-c-choice__icon{background:var(--_foreground);border-radius:var(--sol-radius-circle);color:var(--sol-color-interactive-contrast);opacity:0;padding:var(--sol-size-025);transform:translateX(calc(var(--_translate, 0%)*var(--_translate-direction, 1)));transition-duration:var(--sol-motion-250);transition-property:background-color,opacity;transition-timing-function:var(--sol-motion-ease-out)}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-choice--toggle .sol-c-choice__icon{transition-property:background-color,opacity,transform}}.sol-c-choice--toggle .sol-c-choice__icon--check{background:var(--sol-color-surface-0);color:var(--sol-color-foreground)}.sol-c-choice--toggle .sol-c-choice__input:checked~.sol-c-choice__icon{--_translate:100%}[dir=rtl] .sol-c-choice--toggle{--_translate-direction:-1}.sol-c-choice--toggle .sol-c-choice__input:checked~.sol-c-choice__icon--check,.sol-c-choice--toggle .sol-c-choice__input:not(:checked)~.sol-c-choice__icon--cross{opacity:1}.sol-c-choice__label{user-select:none}.sol-c-choice__feedback{padding-block:var(--sol-size-025);pointer-events:none;user-select:none}}'), ry("@layer sol.components{.sol-c-inline-message{--_icon-size:var(--sol-size-100);--_line-height:var(--sol-text-body-xs-line-height)}.sol-c-inline-message a:not([class]){color:inherit;cursor:var(--sol-cursor-interactive);text-decoration:underline}.sol-c-inline-message a:not([class]):hover{text-decoration:none}.sol-c-inline-message__icon{--sol-c-icon-size:var(--_icon-size);margin-block:calc((var(--_line-height) - var(--_icon-size))/2)}}");
let Hk = Dy((({children: e, className: t, icon: n = vy, type: r = "informative", ...a}, i) => {
let o = Ty("sol-c-inline-message", `sol-u-color-status-${r}`, t);
return sy.jsxs(Cb, {
className: o,
gap: "050",
ref: i, ...a,
children: [n && sy.jsx(pb, {
className: "sol-c-inline-message__icon",
source: n
}), sy.jsx(hb, {variant: "body-xs", children: e})]
})
})), Kk = (0, Ee.createContext)(null), Yk = e => (0, Ee.useContext)(Kk)?.getProps(e) ?? e;
ry("@layer sol.components{.sol-c-field-group__header,.sol-c-field-group__messages{max-inline-size:43.75rem}.sol-c-field-group__header,.sol-c-field-group__messages:not(:last-child){margin-block-end:var(--sol-size-050)}:not(.sol-c-field-group__header)+.sol-c-field-group__messages{margin-block-start:var(--sol-size-050)}}");
let Qk = (0, Ee.createContext)(null), Zk = () => {
let e = (0, Ee.useContext)(Qk);
if (!e) throw Error("FieldGroup components must be wrapped in <FieldGroup />");
return e
}, Xk = (0, Ee.forwardRef)((({className: e, id: t, ...n}, r) => {
let a = Uy(t), {registerMessage: i, unregisterMessage: o} = Zk();
(0, Ee.useLayoutEffect)((() => (i(a), () => o(a))), [a, i, o]);
let s = Ty("sol-c-choice-group__help", e);
return sy.jsx(hb, {className: s, color: "foreground-weak", id: a, ref: r, variant: "body-xs", ...n})
})), Jk = (0, Ee.forwardRef)((({className: e, id: t, ...n}, r) => {
let a = Uy(t), {registerMessage: i, unregisterMessage: o} = Zk();
(0, Ee.useLayoutEffect)((() => (i(a), () => o(a))), [a, i, o]);
let s = Ty("sol-c-choice-group__feedback", e);
return sy.jsx(Hk, {"aria-live": "polite", className: s, id: a, ref: r, type: "negative", ...n})
})), eS = (0, Ee.forwardRef)((({
className: e,
...t
}, n) => sy.jsx(Cb, {
className: Ty("sol-c-field-group__messages", e),
gap: "100",
ref: n,
vertical: !0, ...t
}))), tS = (0, Ee.forwardRef)((({
"aria-describedby": e,
"aria-labelledby": t,
children: n,
className: r,
description: a,
error: i,
information: o,
help: s,
id: l,
title: c,
gap: u = "100",
...d
}, p) => {
let h = Uy(l), f = (() => {
let [e, t] = (0, Ee.useState)([]), n = (0, Ee.useCallback)((e => t((t => [...t, e]))), []),
r = (0, Ee.useCallback)((e => t((t => t.filter((t => t !== e))))), []);
return (0, Ee.useMemo)((() => ({messagesId: e, registerMessage: n, unregisterMessage: r})), [e, n, r])
})(), {messagesId: m} = f, g = Ty("sol-c-field-group", r), v = (0, Ee.useMemo)((() => {
let t = e ? [e] : [];
return a && t.push(`${h}-description`), m && t.push(...m), t.join(" ")
}), [e, a, m, h]), _ = (0, Ee.useMemo)((() => {
let e = t ? [t] : [];
return c && e.push(`${h}-title`), e.join(" ")
}), [t, h, c]);
return sy.jsx(Qk.Provider, {
value: f,
children: sy.jsxs(Cb, {
align: "start",
"aria-describedby": v,
"aria-labelledby": _,
className: g,
gap: u,
id: h,
ref: p,
role: "group",
vertical: !0, ...d,
children: [(c || a) && sy.jsxs(Cb, {
className: "sol-c-field-group__header",
gap: "050",
vertical: !0,
children: [c && sy.jsx(hb, {
className: "sol-c-field-group__title",
color: "foreground",
id: h + "-title",
variant: "emphasis-s",
children: c
}), a && sy.jsx(hb, {
className: "sol-c-field-group__description",
color: "foreground-weak",
id: h + "-description",
variant: "body-m",
children: a
})]
}), n, (i || o || s) && sy.jsxs(eS, {
children: [i && sy.jsx(Jk, {children: i}), o && sy.jsx(Jk, {
type: "informative",
children: o
}), s && sy.jsx(Xk, {children: s})]
})]
})
})
})), nS = Dy((({
as: e = "div",
className: t,
disabled: n,
required: r,
children: a,
visuallyHiddenLabel: i,
description: o,
defaultChecked: s,
checked: l,
indeterminate: c,
name: u,
value: d,
onBlur: p,
onChange: h,
onFocus: f,
success: m,
warning: g,
error: v,
type: _ = "checkbox",
inputProps: y = {},
inputRef: b,
...x
}, w) => {
let k = Ty("sol-c-choice", n && "sol-c-choice--disabled", `sol-c-choice--${_}`, t),
S = (0, Ee.useMemo)((() => sy.jsxs(hb, {
as: "span",
className: "sol-c-choice__label",
color: "foreground",
variant: "label-m",
visuallyHidden: i,
children: [a, r && sy.jsx("span", {"aria-hidden": "true", children: "*"})]
})), [a, r, i]), E = !!c && "checkbox" === _, I = (0, Ee.useRef)(null),
C = (0, Ee.useMemo)((() => v ? sy.jsx(Hk, {
className: "sol-c-choice__feedback",
type: "negative",
children: v
}) : m ? sy.jsx(Hk, {
className: "sol-c-choice__feedback",
icon: py,
type: "positive",
children: m
}) : g ? sy.jsx(Hk, {
className: "sol-c-choice__feedback",
icon: Ay,
type: "notice",
children: g
}) : null), [v, m, g]);
return (0, Ee.useLayoutEffect)((() => {
I.current && (I.current.indeterminate = E)
}), [E]), sy.jsxs(e, {
className: k,
ref: w, ...x,
children: [sy.jsxs("label", {
className: "sol-c-choice__wrapper",
children: [(0, Ee.createElement)("input", Yk(Ly(y, {
"aria-checked": E ? "mixed" : l ? "true" : "false",
"aria-required": !!r || void 0,
checked: l,
className: "sol-c-choice__input",
defaultChecked: s,
disabled: n,
name: u,
onBlur: p,
onChange: h,
onFocus: f,
ref: Ry(I, b),
role: "toggle" === _ ? "switch" : void 0,
type: "toggle" === _ ? "checkbox" : _,
value: d
}))), "radio" !== _ && sy.jsx(hy, {className: "sol-c-choice__icon sol-c-choice__icon--check"}), "checkbox" === _ && sy.jsx(ky, {className: "sol-c-choice__icon sol-c-choice__icon--indeterminate"}), "toggle" === _ && sy.jsx(my, {className: "sol-c-choice__icon sol-c-choice__icon--cross"}), o ? sy.jsxs(Cb, {
vertical: !0,
children: [S, sy.jsx(hb, {
as: "span",
className: "sol-c-choice__description",
color: "foreground-weak",
variant: "body-xs",
children: o
})]
}) : S]
}), C]
})
})), rS = ({condition: e, children: t, wrap: n}) => e ? (0, Ee.cloneElement)(n(t)) : t;
ry('@layer sol.components{.sol-c-dialog{--_overlay-duration:var(--sol-motion-150);--_element-duration:var(--sol-motion-250);display:flex;flex-direction:column;padding:var(--sol-size-150);transition:opacity var(--sol-motion-ease-out);z-index:var(--sol-z-dialog)}.sol-c-dialog[data-sol-status=close]:before,.sol-c-dialog[data-sol-status=open]:before{transition-duration:var(--_overlay-duration)}.sol-c-dialog[data-sol-status=close]:before,.sol-c-dialog[data-sol-status=initial]:before{opacity:0}.sol-c-dialog[data-sol-status=close]:before{transition-delay:calc(var(--_element-duration) - var(--_overlay-duration))}.sol-c-dialog--overlay:before{background:var(--sol-color-overlay);content:"";display:block;inset:0;position:absolute}.sol-c-dialog__element{background:var(--sol-color-surface-1);border-radius:var(--sol-radius-8);box-shadow:var(--sol-shadow-200);color:var(--sol-color-foreground);display:flex;flex-direction:column;flex-shrink:1;inline-size:100%;margin:auto;max-inline-size:35rem;min-block-size:14.5rem;transition-property:opacity,transform;transition-timing-function:var(--sol-motion-ease-out)}.sol-c-dialog__element:focus,.sol-c-dialog__element:focus-visible{outline:none}.sol-c-dialog[data-sol-status=initial] .sol-c-dialog__element{opacity:0}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-dialog[data-sol-status=initial] .sol-c-dialog__element{transform:translateY(var(--sol-size-200))}}.sol-c-dialog[data-sol-status=open] .sol-c-dialog__element{opacity:1;transform:translateY(0);transition-delay:var(--_overlay-duration);transition-duration:var(--_element-duration);transition-timing-function:var(--sol-motion-ease-out)}.sol-c-dialog[data-sol-status=close] .sol-c-dialog__element{opacity:0;transition-duration:var(--_element-duration);transition-timing-function:var(--sol-motion-ease)}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-dialog[data-sol-status=close] .sol-c-dialog__element{transform:translateY(calc(var(--sol-size-200)*-1))}}.sol-c-dialog__header{background:var(--sol-color-surface-2);border-start-end-radius:inherit;border-start-start-radius:inherit;flex:0;padding:var(--sol-size-100);padding-inline-start:var(--sol-size-150)}.sol-c-dialog__close{align-self:flex-start}.sol-c-dialog__close--wide-click{--_wide-size:calc(var(--sol-size-150)*2 + var(--sol-size-075));height:var(--_wide-size);margin:calc(var(--sol-size-100)*-1);margin-inline-start:auto;padding:0;width:var(--_wide-size)}.sol-c-dialog__close--wide-click:before{border-radius:var(--sol-radius-4);height:var(--sol-size-150);margin:auto;width:var(--sol-size-150)}.sol-c-dialog__wrapper{display:flex;flex:1;overflow:hidden;position:relative}.sol-c-dialog__wrapper:after,.sol-c-dialog__wrapper:before{background:linear-gradient(var(--sol-color-primary-1),#0000);block-size:var(--sol-size-150);content:"";display:block;inline-size:100%;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--sol-motion-250);z-index:2}.sol-c-dialog__wrapper:before{inset-block-start:0}.sol-c-dialog__wrapper:after{inset-block-end:0;transform:scale(-1)}.sol-c-dialog__wrapper[data-sol-scroll-end=false]:after,.sol-c-dialog__wrapper[data-sol-scroll-start=false]:before{opacity:.6}.sol-c-dialog__content{flex:1;overflow:auto;padding:var(--sol-size-150);position:relative;scroll-padding-block:var(--sol-size-150);z-index:1}.sol-c-dialog--has-actions .sol-c-dialog__content{padding-block-end:0}.sol-c-dialog:not(.sol-c-dialog--has-actions) .sol-c-dialog__content{border-end-end-radius:inherit;border-end-start-radius:inherit}.sol-c-dialog__actions{flex:0;padding:var(--sol-size-150)}}');
let aS = (0, Ee.createContext)(null), iS = () => {
let e = (0, Ee.useContext)(aS);
if (!e) throw Error("Dialog components must be wrapped in <Dialog />");
return e
}, oS = (Dy((({as: e = "p", id: t, onClick: n, ...r}, a) => {
let {setDescriptionId: i} = iS(), o = (0, Ee.useId)();
return My((() => (i(t ?? o), () => i(void 0))), [t, o, i]), sy.jsx(e, {id: t ?? o, ref: a, ...r})
})), ({actions: e, children: t, onScrollToEnd: n, type: r}) => {
let {setIsOpen: a} = iS(), {
ref: i,
blockStart: o,
blockEnd: s,
once: {blockEnd: l}
} = ab({
onScroll({blockEnd: e}) {
e && n && n()
}
}), c = (0, Ee.useCallback)((({close: e, onClick: t}) => n => {
n.stopPropagation(), e && a(!1), t && t(n)
}), [a]), u = (0, Ee.useCallback)((() => a(!1)), [a]);
return sy.jsxs(sy.Fragment, {
children: [t && sy.jsx("div", {
className: "sol-c-dialog__wrapper",
"data-sol-scroll-start": o,
"data-sol-scroll-end": s,
children: sy.jsx(hb, {
className: "sol-c-dialog__content",
color: "foreground-weak",
multiline: !0,
ref: i,
children: "function" == typeof t ? t({close: u}) : t
})
}), e && sy.jsx(Cb, {
className: "sol-c-dialog__actions",
gap: "100",
justify: "end",
children: ("function" == typeof e ? e({hasScrolled: l}) : e).map((({
className: e,
close: t = !0,
disabledUntilScrolled: n,
label: a,
onClick: i,
...o
}, s, u) => sy.jsx(_b, {
className: Ty("sol-c-dialog__action", e),
color: r,
disabled: n && !l,
onClick: c({close: t, onClick: i}),
size: "medium",
variant: s === u.length - 1 ? "default" : "monochrome", ...o,
children: a
}, s)))
})]
})
}), sS = (0, Ee.forwardRef)((({
actions: e,
alert: t,
children: n,
className: r,
close: a = true,
defaultOpen: i,
open: o,
onScrollToEnd: s,
onOpenChange: l,
overlay: c = true,
title: u,
trigger: d,
type: p,
...h
}, f) => {
let m = (0, Ee.useId)(), g = (({alert: e = !1, defaultOpen: t, open: n, onOpenChange: r} = {}) => {
let [a, i] = (0, Ee.useState)(t), [o, s] = (0, Ee.useState)(), l = n ?? a, c = r ?? i, u = Yw(),
d = Ak({open: l, onOpenChange: c, nodeId: u}), {context: p} = d,
h = Dk([Ek(p), Pk(p, {bubbles: !1, enabled: !e}), zk(p, {role: e ? "alertdialog" : "dialog"})]),
f = Vk(p);
return My((() => (l ? document.body.setAttribute("data-sol-dialog", "") : document.body.removeAttribute("data-sol-dialog"), () => {
document.body.removeAttribute("data-sol-dialog")
})), [l]), (0, Ee.useMemo)((() => ({
isOpen: l,
setIsOpen: c,
descriptionId: o,
setDescriptionId: s,
nodeId: u, ...d, ...h, ...f
})), [l, c, o, u, d, h, f])
})({alert: t, defaultOpen: i, open: o, onOpenChange: l}), {
refs: v,
context: _,
getReferenceProps: y,
getFloatingProps: b,
isMounted: x,
isOpen: w,
setIsOpen: k,
status: S,
descriptionId: E,
nodeId: I
} = g, C = yw([v.setReference, ...d ? [d.ref] : [], f]), {name: O} = lb(),
P = Ty("sol-c-dialog", e && "sol-c-dialog--has-actions", c && "sol-c-dialog--overlay", r);
return sy.jsx(aS.Provider, {
value: g,
children: sy.jsxs(Qw, {
id: I,
children: [d && (0, Ee.cloneElement)("function" == typeof d ? d({isOpen: w}) : d, y({ref: C})), x && sy.jsx(_k, {
children: sy.jsx(kk, {
className: P,
"data-sol-status": S,
"data-sol-theme": O,
lockScroll: !0,
style: {overflow: "hidden"},
children: sy.jsx(xk, {
context: _,
children: sy.jsxs("div", {
"aria-labelledby": u ? m : void 0,
"aria-describedby": E,
className: "sol-c-dialog__element",
ref: v.setFloating, ...b(h),
children: [(a || u) && sy.jsxs(Cb, {
className: "sol-c-dialog__header",
gap: "100",
children: [u && sy.jsx(hb, {
className: "sol-c-dialog__title",
color: "foreground",
id: m,
offset: !0,
variant: "heading-xs",
children: u
}), a && sy.jsx(_b, {
"aria-label": "string" == typeof a ? a : "Close",
className: "sol-c-dialog__close sol-c-dialog__close--wide-click",
icon: my,
onClick: () => k(!1),
size: "small",
variant: "monochrome"
})]
}), sy.jsx(oS, {actions: e, onScrollToEnd: s, type: p, children: n})]
})
})
})
})]
})
})
})),
lS = (0, Ee.forwardRef)(((e, t) => null == Hw() ? sy.jsx(Zw, {children: sy.jsx(sS, {ref: t, ...e})}) : sy.jsx(sS, {ref: t, ...e})));
ry("@layer sol.components{.sol-c-divider{block-size:0;border-block-start-width:var(--sol-border-1);color:var(--sol-color-surface-3)}}");
let cS = (0, Ee.forwardRef)((({className: e, color: t, spacing: n, ...r}, a) => {
let i = Ty("sol-c-divider", t && `sol-u-color-${t}`, n && `sol-u-margin-b-${n}`, e);
return sy.jsx("hr", {className: i, ref: a, ...r})
}));
ry('@layer sol.components{.sol-c-download-progress{align-items:center;display:grid;grid:"header header" "bar actions" "stats stats "/1fr auto}.sol-c-download-progress__header{grid-area:header;margin-block-end:var(--sol-size-025)}.sol-c-download-progress__title{flex:1}.sol-c-download-progress__subtitle{flex-shrink:0}.sol-c-download-progress__bar{grid-area:bar}.sol-c-download-progress__stats{grid-area:stats;margin-block-start:var(--sol-size-025)}.sol-c-download-progress__stat{flex-basis:33.3333333333%}.sol-c-download-progress__stat--fill,.sol-c-download-progress__stat:only-child{flex:1 1 100%}.sol-c-download-progress__actions{grid-area:actions;margin-inline-start:var(--sol-size-050)}.sol-c-download-progress--draggable{border:1px solid var(--sol-color-surface-3);border-radius:var(--sol-radius-4);grid:"drag header header" "drag bar actions" "drag stats stats "/auto 1fr auto;padding:var(--sol-size-075) var(--sol-size-050);position:relative}.sol-c-download-progress--draggable:before{background-color:var(--sol-color-surface-2-pressed);border-radius:var(--sol-radius-4);box-shadow:var(--sol-shadow-100);content:"";height:100%;opacity:0;pointer-events:none;position:absolute;user-select:none;width:100%;z-index:0}.sol-c-download-progress--draggable .sol-c-download-progress__drag-handle,.sol-c-download-progress--draggable:before{transition:all var(--sol-motion-150) var(--sol-motion-ease-out)}.sol-c-download-progress--draggable>*{z-index:1}.sol-c-download-progress--draggable.sortable-chosen{border-color:#0000}.sol-c-download-progress--draggable.sortable-chosen:before{opacity:1}.sol-c-download-progress--draggable.sortable-chosen .sol-c-download-progress__drag-handle{background-color:var(--sol-color-surface-0-pressed)}.sol-c-download-progress__drag-handle{border-radius:var(--sol-radius-4);color:var(--sol-color-interactive);cursor:grab;grid-area:drag;height:var(--sol-size-150);margin-inline-end:var(--sol-size-050);padding:var(--sol-size-025);width:var(--sol-size-150)}}'), ry('@layer sol.components{.sol-c-progress{--_background:var(--sol-color-surface-1);--_foreground:var(--sol-c-progress-color,var(--sol-color-status-informative));--_radius:var(--sol-radius-8);appearance:none;background:var(--_background) none;block-size:var(--sol-size-050);border:0;border-radius:var(--_radius);color:var(--_foreground);display:block;inline-size:100%;overflow:hidden;transition:color var(--sol-motion-250)}.sol-c-progress::-webkit-progress-bar{background:#0000}.sol-c-progress--disabled{background-image:linear-gradient(135deg,var(--sol-color-surface-3) 25%,var(--sol-color-surface-3-hovered) 25% 50%,var(--sol-color-surface-3) 50% 75%,var(--sol-color-surface-3-hovered) 75%);background-size:40px 40px}.sol-c-progress--disabled::-moz-progress-bar{width:0}.sol-c-progress::-webkit-progress-value{background:currentColor;border-radius:var(--_radius)}.sol-c-progress::-moz-progress-bar{background:currentColor;border-radius:var(--_radius)}.sol-c-progress:not(.sol-c-progress--disabled):indeterminate{overflow:hidden;position:relative}.sol-c-progress:not(.sol-c-progress--disabled):indeterminate:before{animation:progress-indeterminate var(--sol-motion-1000) var(--sol-motion-ease-in) infinite;background:currentColor;border-radius:var(--_radius);content:"";inset:0;position:absolute;width:20%}.sol-c-progress:not(.sol-c-progress--disabled):indeterminate::-moz-progress-bar{animation:progress-indeterminate var(--sol-motion-1000) var(--sol-motion-ease-in) infinite;width:20%}@keyframes progress-indeterminate{0%{margin-inline-start:-20%}to{margin-inline-start:100%}}}');
let uS = (0, Ee.forwardRef)((({className: e, disabled: t, max: n = 100, value: r, status: a, ...i}, o) => {
let s = Ty("sol-c-progress", t && "sol-c-progress--disabled", a && `sol-u-color-status-${a}`, e);
return sy.jsx("progress", {className: s, max: n, ref: o, value: r, ...i})
})), dS = Dy((({
actions: e,
as: t = "div",
state: n = "in-progress",
className: r,
id: a,
progress: i,
stats: o,
subtitle: s,
title: l,
isDraggable: c,
...u
}, d) => {
let p = Uy(a), h = Ty("sol-c-download-progress", c && "sol-c-download-progress--draggable", r), f = l || s,
m = o && 0 !== o.length, g = e && 0 !== e.length,
v = [l && p + "-title", s && p + "-subtitle"].filter(Boolean).join(" ");
return sy.jsxs(t, {
className: h,
id: p,
ref: d, ...u,
children: [c && sy.jsx(gy, {className: "sol-c-download-progress__drag-handle"}), f && sy.jsxs(Cb, {
className: "sol-c-download-progress__header",
gap: "050",
justify: "space-between",
children: [l && sy.jsx(hb, {
color: "foreground-weak",
className: "sol-c-download-progress__title",
id: p + "-title",
variant: "body-s",
truncate: !0,
children: l
}), s && sy.jsx(hb, {
color: "foreground-weak",
className: "sol-c-download-progress__subtitle",
id: p + "-subtitle",
variant: "body-s-bold",
truncate: !0,
children: s
})]
}), sy.jsx(uS, {
"aria-labelledby": v,
className: Ty("sol-c-download-progress__bar", (g || f) && "sol-u-margin-bs-050", (g || m) && "sol-u-margin-be-050"),
disabled: "paused" === n,
value: "completed" === n || "error" === n ? 100 : "waiting" === n ? 0 : i,
status: {
cancelling: void 0,
completed: "positive",
error: "negative",
"in-progress": void 0,
paused: void 0,
waiting: void 0,
verifying: "neutral"
}[n]
}), m && sy.jsx(Cb, {
as: "ul",
className: "sol-c-download-progress__stats",
gap: "050",
children: o.map((({fill: e, label: t, value: n}, r) => sy.jsxs(hb, {
as: "li",
className: Ty("sol-c-download-progress__stat", e && "sol-c-download-progress__stat--fill"),
color: "foreground-weak",
variant: "body-xxs",
truncate: !0,
children: [sy.jsx("strong", {
className: "sol-c-download-progress__label",
children: t
}), ": ", n]
}, r)))
}), g && sy.jsx(Cb, {
gap: "050",
className: "sol-c-download-progress__actions",
children: e.map((({className: e, label: t, tooltip: n, ...r}, a) => sy.jsx(qk, {
content: n,
enabled: !!n,
interactive: !1,
children: sy.jsx(_b, {
"aria-label": t,
className: Ty("sol-c-download-progress__action", e),
size: "small",
variant: "plain", ...r
})
}, a)))
})]
})
}));
ry("@layer components{.sol-c-download-progress-group .sol-c-download-progress--draggable:not(:first-child){margin-block-start:var(--sol-size-100)}}");
var pS = {exports: {}};
function hS(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}))), n.push.apply(n, r)
}
return n
}
function fS(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? hS(Object(n), !0).forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : hS(Object(n)).forEach((function (t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function mS(e) {
return (mS = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
function gS() {
return (gS = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}).apply(this, arguments)
}
function vS(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function _S(e) {
if ("undefined" != typeof window && window.navigator) return !!navigator.userAgent.match(e)
}
var yS = _S(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), bS = _S(/Edge/i), xS = _S(/firefox/i),
wS = _S(/safari/i) && !_S(/chrome/i) && !_S(/android/i), kS = _S(/iP(ad|od|hone)/i),
SS = _S(/chrome/i) && _S(/android/i), ES = {capture: !1, passive: !1};
function IS(e, t, n) {
e.addEventListener(t, n, !yS && ES)
}
function CS(e, t, n) {
e.removeEventListener(t, n, !yS && ES)
}
function OS(e, t) {
if (t) {
if (">" === t[0] && (t = t.substring(1)), e) try {
if (e.matches) return e.matches(t);
if (e.msMatchesSelector) return e.msMatchesSelector(t);
if (e.webkitMatchesSelector) return e.webkitMatchesSelector(t)
} catch (e) {
}
return !1
}
}
function PS(e) {
return e.host && e !== document && e.host.nodeType ? e.host : e.parentNode
}
function AS(e, t, n, r) {
if (e) {
n = n || document;
do {
if (null != t && (">" === t[0] ? e.parentNode === n && OS(e, t) : OS(e, t)) || r && e === n) return e;
if (e === n) break
} while (e = PS(e))
}
return null
}
var TS = /\s+/g;
function DS(e, t, n) {
if (e && t) if (e.classList) e.classList[n ? "add" : "remove"](t); else {
var r = (" " + e.className + " ").replace(TS, " ").replace(" " + t + " ", " ");
e.className = (r + (n ? " " + t : "")).replace(TS, " ")
}
}
function RS(e, t, n) {
var r = e && e.style;
if (r) {
if (void 0 === n) return document.defaultView && document.defaultView.getComputedStyle ? n = document.defaultView.getComputedStyle(e, "") : e.currentStyle && (n = e.currentStyle), void 0 === t ? n : n[t];
t in r || -1 !== t.indexOf("webkit") || (t = "-webkit-" + t), r[t] = n + ("string" == typeof n ? "" : "px")
}
}
function LS(e, t) {
var n = "";
if ("string" == typeof e) n = e; else do {
var r = RS(e, "transform");
r && "none" !== r && (n = r + " " + n)
} while (!t && (e = e.parentNode));
var a = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
return a && new a(n)
}
function jS(e, t, n) {
if (e) {
var r = e.getElementsByTagName(t), a = 0, i = r.length;
if (n) for (; a < i; a++) n(r[a], a);
return r
}
return []
}
function NS() {
return document.scrollingElement || document.documentElement
}
function MS(e, t, n, r, a) {
if (e.getBoundingClientRect || e === window) {
if (e !== window && e.parentNode && e !== NS() ? (o = (i = e.getBoundingClientRect()).top, s = i.left, l = i.bottom, c = i.right, u = i.height, d = i.width) : (o = 0, s = 0, l = window.innerHeight, c = window.innerWidth, u = window.innerHeight, d = window.innerWidth), (t || n) && e !== window && (a = a || e.parentNode, !yS)) do {
if (a && a.getBoundingClientRect && ("none" !== RS(a, "transform") || n && "static" !== RS(a, "position"))) {
var i, o, s, l, c, u, d, p = a.getBoundingClientRect();
o -= p.top + parseInt(RS(a, "border-top-width")), s -= p.left + parseInt(RS(a, "border-left-width")), l = o + i.height, c = s + i.width;
break
}
} while (a = a.parentNode);
if (r && e !== window) {
var h = LS(a || e), f = h && h.a, m = h && h.d;
h && (l = (o /= m) + (u /= m), c = (s /= f) + (d /= f))
}
return {top: o, left: s, bottom: l, right: c, width: d, height: u}
}
}
function FS(e, t, n) {
for (var r = GS(e, !0), a = MS(e)[t]; r;) {
var i = MS(r)[n];
if (!("top" === n || "left" === n ? a >= i : a <= i)) return r;
if (r === NS()) break;
r = GS(r, !1)
}
return !1
}
function zS(e, t, n, r) {
for (var a = 0, i = 0, o = e.children; i < o.length;) {
if ("none" !== o[i].style.display && o[i] !== rI.ghost && (r || o[i] !== rI.dragged) && AS(o[i], n.draggable, e, !1)) {
if (a === t) return o[i];
a++
}
i++
}
return null
}
function VS(e, t) {
for (var n = e.lastElementChild; n && (n === rI.ghost || "none" === RS(n, "display") || t && !OS(n, t));) n = n.previousElementSibling;
return n || null
}
function US(e, t) {
var n = 0;
if (!e || !e.parentNode) return -1;
for (; e = e.previousElementSibling;) "TEMPLATE" !== e.nodeName.toUpperCase() && e !== rI.clone && (!t || OS(e, t)) && n++;
return n
}
function BS(e) {
var t = 0, n = 0, r = NS();
if (e) do {
var a = LS(e), i = a.a, o = a.d;
t += e.scrollLeft * i, n += e.scrollTop * o
} while (e !== r && (e = e.parentNode));
return [t, n]
}
function GS(e, t) {
if (!e || !e.getBoundingClientRect) return NS();
var n = e, r = !1;
do {
if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {
var a = RS(n);
if (n.clientWidth < n.scrollWidth && ("auto" == a.overflowX || "scroll" == a.overflowX) || n.clientHeight < n.scrollHeight && ("auto" == a.overflowY || "scroll" == a.overflowY)) {
if (!n.getBoundingClientRect || n === document.body) return NS();
if (r || t) return n;
r = !0
}
}
} while (n = n.parentNode);
return NS()
}
function $S(e, t) {
return Math.round(e.top) === Math.round(t.top) && Math.round(e.left) === Math.round(t.left) && Math.round(e.height) === Math.round(t.height) && Math.round(e.width) === Math.round(t.width)
}
function qS(e, t) {
return function () {
if (!hE) {
var n = arguments;
1 === n.length ? e.call(this, n[0]) : e.apply(this, n), hE = setTimeout((function () {
hE = void 0
}), t)
}
}
}
function WS(e, t, n) {
e.scrollLeft += t, e.scrollTop += n
}
function HS(e) {
var t = window.Polymer, n = window.jQuery || window.Zepto;
return t && t.dom ? t.dom(e).cloneNode(!0) : n ? n(e).clone(!0)[0] : e.cloneNode(!0)
}
function KS(e, t) {
RS(e, "position", "absolute"), RS(e, "top", t.top), RS(e, "left", t.left), RS(e, "width", t.width), RS(e, "height", t.height)
}
function YS(e) {
RS(e, "position", ""), RS(e, "top", ""), RS(e, "left", ""), RS(e, "width", ""), RS(e, "height", "")
}
function QS(e, t, n) {
var r = {};
return Array.from(e.children).forEach((function (a) {
if (AS(a, t.draggable, e, !1) && !a.animated && a !== n) {
var i, o, s, l, c = MS(a);
r.left = Math.min(null !== (i = r.left) && void 0 !== i ? i : 1 / 0, c.left), r.top = Math.min(null !== (o = r.top) && void 0 !== o ? o : 1 / 0, c.top), r.right = Math.max(null !== (s = r.right) && void 0 !== s ? s : -1 / 0, c.right), r.bottom = Math.max(null !== (l = r.bottom) && void 0 !== l ? l : -1 / 0, c.bottom)
}
})), r.width = r.right - r.left, r.height = r.bottom - r.top, r.x = r.left, r.y = r.top, r
}
var ZS = "Sortable" + (new Date).getTime(), XS = [], JS = {initializeByDefault: !0}, eE = {
mount: function (e) {
for (var t in JS) !JS.hasOwnProperty(t) || t in e || (e[t] = JS[t]);
XS.forEach((function (t) {
if (t.pluginName === e.pluginName) throw "Sortable: Cannot mount plugin ".concat(e.pluginName, " more than once")
})), XS.push(e)
}, pluginEvent: function (e, t, n) {
var r = this;
this.eventCanceled = !1, n.cancel = function () {
r.eventCanceled = !0
};
var a = e + "Global";
XS.forEach((function (r) {
t[r.pluginName] && (t[r.pluginName][a] && t[r.pluginName][a](fS({sortable: t}, n)), t.options[r.pluginName] && t[r.pluginName][e] && t[r.pluginName][e](fS({sortable: t}, n)))
}))
}, initializePlugins: function (e, t, n, r) {
for (var a in XS.forEach((function (r) {
var a = r.pluginName;
if (e.options[a] || r.initializeByDefault) {
var i = new r(e, t, e.options);
i.sortable = e, i.options = e.options, e[a] = i, gS(n, i.defaults)
}
})), e.options) if (e.options.hasOwnProperty(a)) {
var i = this.modifyOption(e, a, e.options[a]);
void 0 !== i && (e.options[a] = i)
}
}, getEventProperties: function (e, t) {
var n = {};
return XS.forEach((function (r) {
"function" == typeof r.eventProperties && gS(n, r.eventProperties.call(t[r.pluginName], e))
})), n
}, modifyOption: function (e, t, n) {
var r;
return XS.forEach((function (a) {
e[a.pluginName] && a.optionListeners && "function" == typeof a.optionListeners[t] && (r = a.optionListeners[t].call(e[a.pluginName], n))
})), r
}
};
function tE(e) {
var t = e.sortable, n = e.rootEl, r = e.name, a = e.targetEl, i = e.cloneEl, o = e.toEl, s = e.fromEl,
l = e.oldIndex, c = e.newIndex, u = e.oldDraggableIndex, d = e.newDraggableIndex, p = e.originalEvent,
h = e.putSortable, f = e.extraEventProperties;
if (t = t || n && n[ZS]) {
var m, g = t.options, v = "on" + r.charAt(0).toUpperCase() + r.substr(1);
!window.CustomEvent || yS || bS ? (m = document.createEvent("Event")).initEvent(r, !0, !0) : m = new CustomEvent(r, {
bubbles: !0,
cancelable: !0
}), m.to = o || n, m.from = s || n, m.item = a || n, m.clone = i, m.oldIndex = l, m.newIndex = c, m.oldDraggableIndex = u, m.newDraggableIndex = d, m.originalEvent = p, m.pullMode = h ? h.lastPutMode : void 0;
var _ = fS(fS({}, f), eE.getEventProperties(r, t));
for (var y in _) m[y] = _[y];
n && n.dispatchEvent(m), g[v] && g[v].call(t, m)
}
}
var nE = ["evt"], rE = function (e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, r = n.evt,
a = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(n, nE);
eE.pluginEvent.bind(rI)(e, t, fS({
dragEl: fE,
parentEl: mE,
ghostEl: gE,
rootEl: vE,
nextEl: _E,
lastDownEl: yE,
cloneEl: bE,
cloneHidden: xE,
dragStarted: LE,
putSortable: CE,
activeSortable: rI.active,
originalEvent: r,
oldIndex: wE,
oldDraggableIndex: SE,
newIndex: kE,
newDraggableIndex: EE,
hideGhostForTarget: JE,
unhideGhostForTarget: eI,
cloneNowHidden: function () {
xE = !0
},
cloneNowShown: function () {
xE = !1
},
dispatchSortableEvent: function (e) {
aE({sortable: t, name: e, originalEvent: r})
}
}, a))
};
function aE(e) {
tE(fS({
putSortable: CE,
cloneEl: bE,
targetEl: fE,
rootEl: vE,
oldIndex: wE,
oldDraggableIndex: SE,
newIndex: kE,
newDraggableIndex: EE
}, e))
}
var iE, oE, sE, lE, cE, uE, dE, pE, hE, fE, mE, gE, vE, _E, yE, bE, xE, wE, kE, SE, EE, IE, CE, OE, PE, AE, TE,
DE, RE, LE, jE, NE, ME, FE, zE = !1, VE = !1, UE = [], BE = !1, GE = !1, $E = [], qE = !1, WE = [],
HE = "undefined" != typeof document, KE = bS || yS ? "cssFloat" : "float",
YE = HE && !SS && !kS && "draggable" in document.createElement("div"), QE = function () {
if (HE) {
if (yS) return !1;
var e = document.createElement("x");
return e.style.cssText = "pointer-events:auto", "auto" === e.style.pointerEvents
}
}(), ZE = function (e, t) {
var n = RS(e),
r = parseInt(n.width) - parseInt(n.paddingLeft) - parseInt(n.paddingRight) - parseInt(n.borderLeftWidth) - parseInt(n.borderRightWidth),
a = zS(e, 0, t), i = zS(e, 1, t), o = a && RS(a), s = i && RS(i),
l = o && parseInt(o.marginLeft) + parseInt(o.marginRight) + MS(a).width,
c = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + MS(i).width;
if ("flex" === n.display) return "column" === n.flexDirection || "column-reverse" === n.flexDirection ? "vertical" : "horizontal";
if ("grid" === n.display) return n.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
if (a && o.float && "none" !== o.float) {
var u = "left" === o.float ? "left" : "right";
return !i || "both" !== s.clear && s.clear !== u ? "horizontal" : "vertical"
}
return a && ("block" === o.display || "flex" === o.display || "table" === o.display || "grid" === o.display || l >= r && "none" === n[KE] || i && "none" === n[KE] && l + c > r) ? "vertical" : "horizontal"
}, XE = function (e) {
function t(e, n) {
return function (r, a, i, o) {
var s = r.options.group.name && a.options.group.name && r.options.group.name === a.options.group.name;
if (null == e && (n || s)) return !0;
if (null == e || !1 === e) return !1;
if (n && "clone" === e) return e;
if ("function" == typeof e) return t(e(r, a, i, o), n)(r, a, i, o);
var l = (n ? r : a).options.group.name;
return !0 === e || "string" == typeof e && e === l || e.join && e.indexOf(l) > -1
}
}
var n = {}, r = e.group;
r && "object" == mS(r) || (r = {name: r}), n.name = r.name, n.checkPull = t(r.pull, !0), n.checkPut = t(r.put), n.revertClone = r.revertClone, e.group = n
}, JE = function () {
!QE && gE && RS(gE, "display", "none")
}, eI = function () {
!QE && gE && RS(gE, "display", "")
};
HE && !SS && document.addEventListener("click", (function (e) {
if (VE) return e.preventDefault(), e.stopPropagation && e.stopPropagation(), e.stopImmediatePropagation && e.stopImmediatePropagation(), VE = !1, !1
}), !0);
var tI = function (e) {
if (fE) {
var t = function (e, t) {
var n;
return UE.some((function (r) {
var a = r[ZS].options.emptyInsertThreshold;
if (a && !VS(r)) {
var i = MS(r), o = e >= i.left - a && e <= i.right + a,
s = t >= i.top - a && t <= i.bottom + a;
if (o && s) return n = r
}
})), n
}((e = e.touches ? e.touches[0] : e).clientX, e.clientY);
if (t) {
var n = {};
for (var r in e) e.hasOwnProperty(r) && (n[r] = e[r]);
n.target = n.rootEl = t, n.preventDefault = void 0, n.stopPropagation = void 0, t[ZS]._onDragOver(n)
}
}
}, nI = function (e) {
fE && fE.parentNode[ZS]._isOutsideThisEl(e.target)
};
function rI(e, t) {
if (!e || !e.nodeType || 1 !== e.nodeType) throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));
this.el = e, this.options = t = gS({}, t), e[ZS] = this;
var n, r, a = {
group: null,
sort: !0,
disabled: !1,
store: null,
handle: null,
draggable: /^[uo]l$/i.test(e.nodeName) ? ">li" : ">*",
swapThreshold: 1,
invertSwap: !1,
invertedSwapThreshold: null,
removeCloneOnHide: !0,
direction: function () {
return ZE(e, this.options)
},
ghostClass: "sortable-ghost",
chosenClass: "sortable-chosen",
dragClass: "sortable-drag",
ignore: "a, img",
filter: null,
preventOnFilter: !0,
animation: 0,
easing: null,
setData: function (e, t) {
e.setData("Text", t.textContent)
},
dropBubble: !1,
dragoverBubble: !1,
dataIdAttr: "data-id",
delay: 0,
delayOnTouchOnly: !1,
touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
forceFallback: !1,
fallbackClass: "sortable-fallback",
fallbackOnBody: !1,
fallbackTolerance: 0,
fallbackOffset: {x: 0, y: 0},
supportPointer: !1 !== rI.supportPointer && "PointerEvent" in window && !wS,
emptyInsertThreshold: 5
};
for (var i in eE.initializePlugins(this, e, a), a) i in t || (t[i] = a[i]);
for (var o in XE(t), this) "_" === o.charAt(0) && "function" == typeof this[o] && (this[o] = this[o].bind(this));
this.nativeDraggable = !t.forceFallback && YE, this.nativeDraggable && (this.options.touchStartThreshold = 1), t.supportPointer ? IS(e, "pointerdown", this._onTapStart) : (IS(e, "mousedown", this._onTapStart), IS(e, "touchstart", this._onTapStart)), this.nativeDraggable && (IS(e, "dragover", this), IS(e, "dragenter", this)), UE.push(this.el), t.store && t.store.get && this.sort(t.store.get(this) || []), gS(this, (r = [], {
captureAnimationState: function () {
r = [], this.options.animation && [].slice.call(this.el.children).forEach((function (e) {
if ("none" !== RS(e, "display") && e !== rI.ghost) {
r.push({target: e, rect: MS(e)});
var t = fS({}, r[r.length - 1].rect);
if (e.thisAnimationDuration) {
var n = LS(e, !0);
n && (t.top -= n.f, t.left -= n.e)
}
e.fromRect = t
}
}))
}, addAnimationState: function (e) {
r.push(e)
}, removeAnimationState: function (e) {
r.splice(function (e, t) {
for (var n in e) if (e.hasOwnProperty(n)) for (var r in t) if (t.hasOwnProperty(r) && t[r] === e[n][r]) return Number(n);
return -1
}(r, {target: e}), 1)
}, animateAll: function (e) {
var t = this;
if (!this.options.animation) return clearTimeout(n), void ("function" == typeof e && e());
var a = !1, i = 0;
r.forEach((function (e) {
var n, r = 0, o = e.target, s = o.fromRect, l = MS(o), c = o.prevFromRect, u = o.prevToRect,
d = e.rect, p = LS(o, !0);
p && (l.top -= p.f, l.left -= p.e), o.toRect = l, o.thisAnimationDuration && $S(c, l) && !$S(s, l) && (d.top - l.top) / (d.left - l.left) == (s.top - l.top) / (s.left - l.left) && (n = t.options, r = Math.sqrt(Math.pow(c.top - d.top, 2) + Math.pow(c.left - d.left, 2)) / Math.sqrt(Math.pow(c.top - u.top, 2) + Math.pow(c.left - u.left, 2)) * n.animation), $S(l, s) || (o.prevFromRect = s, o.prevToRect = l, r || (r = t.options.animation), t.animate(o, d, l, r)), r && (a = !0, i = Math.max(i, r), clearTimeout(o.animationResetTimer), o.animationResetTimer = setTimeout((function () {
o.animationTime = 0, o.prevFromRect = null, o.fromRect = null, o.prevToRect = null, o.thisAnimationDuration = null
}), r), o.thisAnimationDuration = r)
})), clearTimeout(n), a ? n = setTimeout((function () {
"function" == typeof e && e()
}), i) : "function" == typeof e && e(), r = []
}, animate: function (e, t, n, r) {
if (r) {
RS(e, "transition", ""), RS(e, "transform", "");
var a = LS(this.el), i = a && a.a, o = a && a.d, s = (t.left - n.left) / (i || 1),
l = (t.top - n.top) / (o || 1);
e.animatingX = !!s, e.animatingY = !!l, RS(e, "transform", "translate3d(" + s + "px," + l + "px,0)"), this.forRepaintDummy = e.offsetWidth, RS(e, "transition", "transform " + r + "ms" + (this.options.easing ? " " + this.options.easing : "")), RS(e, "transform", "translate3d(0,0,0)"), "number" == typeof e.animated && clearTimeout(e.animated), e.animated = setTimeout((function () {
RS(e, "transition", ""), RS(e, "transform", ""), e.animated = !1, e.animatingX = !1, e.animatingY = !1
}), r)
}
}
}))
}
function aI(e, t, n, r, a, i, o, s) {
var l, c, u = e[ZS], d = u.options.onMove;
return !window.CustomEvent || yS || bS ? (l = document.createEvent("Event")).initEvent("move", !0, !0) : l = new CustomEvent("move", {
bubbles: !0,
cancelable: !0
}), l.to = t, l.from = e, l.dragged = n, l.draggedRect = r, l.related = a || t, l.relatedRect = i || MS(t), l.willInsertAfter = s, l.originalEvent = o, e.dispatchEvent(l), d && (c = d.call(u, l, o)), c
}
function iI(e) {
e.draggable = !1
}
function oI() {
qE = !1
}
function sI(e) {
return setTimeout(e, 0)
}
function lI(e) {
return clearTimeout(e)
}
rI.prototype = {
constructor: rI, _isOutsideThisEl: function (e) {
this.el.contains(e) || e === this.el || (jE = null)
}, _getDirection: function (e, t) {
return "function" == typeof this.options.direction ? this.options.direction.call(this, e, t, fE) : this.options.direction
}, _onTapStart: function (e) {
if (e.cancelable) {
var t = this, n = this.el, r = this.options, a = r.preventOnFilter, i = e.type,
o = e.touches && e.touches[0] || e.pointerType && "touch" === e.pointerType && e,
s = (o || e).target,
l = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || s,
c = r.filter;
if (function (e) {
WE.length = 0;
for (var t = e.getElementsByTagName("input"), n = t.length; n--;) {
var r = t[n];
r.checked && WE.push(r)
}
}(n), !(fE || /mousedown|pointerdown/.test(i) && 0 !== e.button || r.disabled || l.isContentEditable || !this.nativeDraggable && wS && s && "SELECT" === s.tagName.toUpperCase() || (s = AS(s, r.draggable, n, !1)) && s.animated) && yE !== s) {
if (wE = US(s), SE = US(s, r.draggable), "function" == typeof c) {
if (c.call(this, e, s, this)) return aE({
sortable: t,
rootEl: l,
name: "filter",
targetEl: s,
toEl: n,
fromEl: n
}), rE("filter", t, {evt: e}), void (a && e.cancelable && e.preventDefault())
} else if (c && (c = c.split(",").some((function (r) {
if (r = AS(l, r.trim(), n, !1)) return aE({
sortable: t,
rootEl: r,
name: "filter",
targetEl: s,
fromEl: n,
toEl: n
}), rE("filter", t, {evt: e}), !0
})))) return void (a && e.cancelable && e.preventDefault());
(!r.handle || AS(l, r.handle, n, !1)) && this._prepareDragStart(e, o, s)
}
}
}, _prepareDragStart: function (e, t, n) {
var r, a = this, i = a.el, o = a.options, s = i.ownerDocument;
if (n && !fE && n.parentNode === i) {
var l = MS(n);
if (vE = i, mE = (fE = n).parentNode, _E = fE.nextSibling, yE = n, IE = o.group, rI.dragged = fE, DE = (OE = {
target: fE,
clientX: (t || e).clientX,
clientY: (t || e).clientY
}).clientX - l.left, RE = OE.clientY - l.top, this._lastX = (t || e).clientX, this._lastY = (t || e).clientY, fE.style["will-change"] = "all", r = function () {
rE("delayEnded", a, {evt: e}), rI.eventCanceled ? a._onDrop() : (a._disableDelayedDragEvents(), !xS && a.nativeDraggable && (fE.draggable = !0), a._triggerDragStart(e, t), aE({
sortable: a,
name: "choose",
originalEvent: e
}), DS(fE, o.chosenClass, !0))
}, o.ignore.split(",").forEach((function (e) {
jS(fE, e.trim(), iI)
})), IS(s, "dragover", tI), IS(s, "mousemove", tI), IS(s, "touchmove", tI), IS(s, "mouseup", a._onDrop), IS(s, "touchend", a._onDrop), IS(s, "touchcancel", a._onDrop), xS && this.nativeDraggable && (this.options.touchStartThreshold = 4, fE.draggable = !0), rE("delayStart", this, {evt: e}), !o.delay || o.delayOnTouchOnly && !t || this.nativeDraggable && (bS || yS)) r(); else {
if (rI.eventCanceled) return void this._onDrop();
IS(s, "mouseup", a._disableDelayedDrag), IS(s, "touchend", a._disableDelayedDrag), IS(s, "touchcancel", a._disableDelayedDrag), IS(s, "mousemove", a._delayedDragTouchMoveHandler), IS(s, "touchmove", a._delayedDragTouchMoveHandler), o.supportPointer && IS(s, "pointermove", a._delayedDragTouchMoveHandler), a._dragStartTimer = setTimeout(r, o.delay)
}
}
}, _delayedDragTouchMoveHandler: function (e) {
var t = e.touches ? e.touches[0] : e;
Math.max(Math.abs(t.clientX - this._lastX), Math.abs(t.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag()
}, _disableDelayedDrag: function () {
fE && iI(fE), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents()
}, _disableDelayedDragEvents: function () {
var e = this.el.ownerDocument;
CS(e, "mouseup", this._disableDelayedDrag), CS(e, "touchend", this._disableDelayedDrag), CS(e, "touchcancel", this._disableDelayedDrag), CS(e, "mousemove", this._delayedDragTouchMoveHandler), CS(e, "touchmove", this._delayedDragTouchMoveHandler), CS(e, "pointermove", this._delayedDragTouchMoveHandler)
}, _triggerDragStart: function (e, t) {
t = t || "touch" == e.pointerType && e, !this.nativeDraggable || t ? this.options.supportPointer ? IS(document, "pointermove", this._onTouchMove) : IS(document, t ? "touchmove" : "mousemove", this._onTouchMove) : (IS(fE, "dragend", this), IS(vE, "dragstart", this._onDragStart));
try {
document.selection ? sI((function () {
document.selection.empty()
})) : window.getSelection().removeAllRanges()
} catch (e) {
}
}, _dragStarted: function (e, t) {
if (zE = !1, vE && fE) {
rE("dragStarted", this, {evt: t}), this.nativeDraggable && IS(document, "dragover", nI);
var n = this.options;
e || DS(fE, n.dragClass, !1), DS(fE, n.ghostClass, !0), rI.active = this, e && this._appendGhost(), aE({
sortable: this,
name: "start",
originalEvent: t
})
} else this._nulling()
}, _emulateDragOver: function () {
if (PE) {
this._lastX = PE.clientX, this._lastY = PE.clientY, JE();
for (var e = document.elementFromPoint(PE.clientX, PE.clientY), t = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(PE.clientX, PE.clientY)) !== t;) t = e;
if (fE.parentNode[ZS]._isOutsideThisEl(e), t) do {
if (t[ZS] && t[ZS]._onDragOver({
clientX: PE.clientX,
clientY: PE.clientY,
target: e,
rootEl: t
}) && !this.options.dragoverBubble) break;
e = t
} while (t = PS(t));
eI()
}
}, _onTouchMove: function (e) {
if (OE) {
var t = this.options, n = t.fallbackTolerance, r = t.fallbackOffset,
a = e.touches ? e.touches[0] : e, i = gE && LS(gE, !0), o = gE && i && i.a, s = gE && i && i.d,
l = kS && FE && BS(FE),
c = (a.clientX - OE.clientX + r.x) / (o || 1) + (l ? l[0] - $E[0] : 0) / (o || 1),
u = (a.clientY - OE.clientY + r.y) / (s || 1) + (l ? l[1] - $E[1] : 0) / (s || 1);
if (!rI.active && !zE) {
if (n && Math.max(Math.abs(a.clientX - this._lastX), Math.abs(a.clientY - this._lastY)) < n) return;
this._onDragStart(e, !0)
}
if (gE) {
i ? (i.e += c - (AE || 0), i.f += u - (TE || 0)) : i = {a: 1, b: 0, c: 0, d: 1, e: c, f: u};
var d = "matrix(".concat(i.a, ",").concat(i.b, ",").concat(i.c, ",").concat(i.d, ",").concat(i.e, ",").concat(i.f, ")");
RS(gE, "webkitTransform", d), RS(gE, "mozTransform", d), RS(gE, "msTransform", d), RS(gE, "transform", d), AE = c, TE = u, PE = a
}
e.cancelable && e.preventDefault()
}
}, _appendGhost: function () {
if (!gE) {
var e = this.options.fallbackOnBody ? document.body : vE, t = MS(fE, !0, kS, !0, e),
n = this.options;
if (kS) {
for (FE = e; "static" === RS(FE, "position") && "none" === RS(FE, "transform") && FE !== document;) FE = FE.parentNode;
FE !== document.body && FE !== document.documentElement ? (FE === document && (FE = NS()), t.top += FE.scrollTop, t.left += FE.scrollLeft) : FE = NS(), $E = BS(FE)
}
DS(gE = fE.cloneNode(!0), n.ghostClass, !1), DS(gE, n.fallbackClass, !0), DS(gE, n.dragClass, !0), RS(gE, "transition", ""), RS(gE, "transform", ""), RS(gE, "box-sizing", "border-box"), RS(gE, "margin", 0), RS(gE, "top", t.top), RS(gE, "left", t.left), RS(gE, "width", t.width), RS(gE, "height", t.height), RS(gE, "opacity", "0.8"), RS(gE, "position", kS ? "absolute" : "fixed"), RS(gE, "zIndex", "100000"), RS(gE, "pointerEvents", "none"), rI.ghost = gE, e.appendChild(gE), RS(gE, "transform-origin", DE / parseInt(gE.style.width) * 100 + "% " + RE / parseInt(gE.style.height) * 100 + "%")
}
}, _onDragStart: function (e, t) {
var n = this, r = e.dataTransfer, a = n.options;
rE("dragStart", this, {evt: e}), rI.eventCanceled ? this._onDrop() : (rE("setupClone", this), rI.eventCanceled || ((bE = HS(fE)).removeAttribute("id"), bE.draggable = !1, bE.style["will-change"] = "", this._hideClone(), DS(bE, this.options.chosenClass, !1), rI.clone = bE), n.cloneId = sI((function () {
rE("clone", n), rI.eventCanceled || (n.options.removeCloneOnHide || vE.insertBefore(bE, fE), n._hideClone(), aE({
sortable: n,
name: "clone"
}))
})), t || DS(fE, a.dragClass, !0), t ? (VE = !0, n._loopId = setInterval(n._emulateDragOver, 50)) : (CS(document, "mouseup", n._onDrop), CS(document, "touchend", n._onDrop), CS(document, "touchcancel", n._onDrop), r && (r.effectAllowed = "move", a.setData && a.setData.call(n, r, fE)), IS(document, "drop", n), RS(fE, "transform", "translateZ(0)")), zE = !0, n._dragStartId = sI(n._dragStarted.bind(n, t, e)), IS(document, "selectstart", n), LE = !0, wS && RS(document.body, "user-select", "none"))
}, _onDragOver: function (e) {
var t, n, r, a, i = this.el, o = e.target, s = this.options, l = s.group, c = rI.active, u = IE === l,
d = s.sort, p = CE || c, h = this, f = !1;
if (!qE) {
if (void 0 !== e.preventDefault && e.cancelable && e.preventDefault(), o = AS(o, s.draggable, i, !0), j("dragOver"), rI.eventCanceled) return f;
if (fE.contains(e.target) || o.animated && o.animatingX && o.animatingY || h._ignoreWhileAnimating === o) return M(!1);
if (VE = !1, c && !s.disabled && (u ? d || (r = mE !== vE) : CE === this || (this.lastPutMode = IE.checkPull(this, c, fE, e)) && l.checkPut(this, c, fE, e))) {
if (a = "vertical" === this._getDirection(e, o), t = MS(fE), j("dragOverValid"), rI.eventCanceled) return f;
if (r) return mE = vE, N(), this._hideClone(), j("revert"), rI.eventCanceled || (_E ? vE.insertBefore(fE, _E) : vE.appendChild(fE)), M(!0);
var m = VS(i, s.draggable);
if (m && (v = a, _ = MS(VS(this.el, this.options.draggable)), y = QS(this.el, this.options, gE), !(v ? e.clientX > y.right + 10 || e.clientY > _.bottom && e.clientX > _.left : e.clientY > y.bottom + 10 || e.clientX > _.right && e.clientY > _.top) || m.animated)) {
if (m && (b = a, x = MS(zS(this.el, 0, this.options, !0)), w = QS(this.el, this.options, gE), b ? e.clientX < w.left - 10 || e.clientY < x.top && e.clientX < x.right : e.clientY < w.top - 10 || e.clientY < x.bottom && e.clientX < x.left)) {
var g = zS(i, 0, s, !0);
if (g === fE) return M(!1);
if (n = MS(o = g), !1 !== aI(vE, i, fE, t, o, n, e, !1)) return N(), i.insertBefore(fE, g), mE = i, F(), M(!0)
} else if (o.parentNode === i) {
n = MS(o);
var v, _, y, b, x, w, k, S, E, I = fE.parentNode !== i, C = !function (e, t, n) {
var r = n ? e.left : e.top, a = n ? e.right : e.bottom, i = n ? e.width : e.height,
o = n ? t.left : t.top, s = n ? t.right : t.bottom, l = n ? t.width : t.height;
return r === o || a === s || r + i / 2 === o + l / 2
}(fE.animated && fE.toRect || t, o.animated && o.toRect || n, a),
O = a ? "top" : "left", P = FS(o, "top", "top") || FS(fE, "top", "top"),
A = P ? P.scrollTop : void 0;
if (jE !== o && (S = n[O], BE = !1, GE = !C && s.invertSwap || I), 0 !== (E = function (e, t, n, r, a, i, o, s) {
var l = r ? e.clientY : e.clientX, c = r ? n.height : n.width,
u = r ? n.top : n.left, d = r ? n.bottom : n.right, p = !1;
if (!o) if (s && ME < c * a) {
if (!BE && (1 === NE ? l > u + c * i / 2 : l < d - c * i / 2) && (BE = !0), BE) p = !0; else if (1 === NE ? l < u + ME : l > d - ME) return -NE
} else if (l > u + c * (1 - a) / 2 && l < d - c * (1 - a) / 2) return US(fE) < US(t) ? 1 : -1;
return (p = p || o) && (l < u + c * i / 2 || l > d - c * i / 2) ? l > u + c / 2 ? 1 : -1 : 0
}(e, o, n, a, C ? 1 : s.swapThreshold, null == s.invertedSwapThreshold ? s.swapThreshold : s.invertedSwapThreshold, GE, jE === o))) {
var T = US(fE);
do {
T -= E, k = mE.children[T]
} while (k && ("none" === RS(k, "display") || k === gE))
}
if (0 === E || k === o) return M(!1);
jE = o, NE = E;
var D = o.nextElementSibling, R = !1, L = aI(vE, i, fE, t, o, n, e, R = 1 === E);
if (!1 !== L) return (1 === L || -1 === L) && (R = 1 === L), qE = !0, setTimeout(oI, 30), N(), R && !D ? i.appendChild(fE) : o.parentNode.insertBefore(fE, R ? D : o), P && WS(P, 0, A - P.scrollTop), mE = fE.parentNode, void 0 === S || GE || (ME = Math.abs(S - MS(o)[O])), F(), M(!0)
}
} else {
if (m === fE) return M(!1);
if (m && i === e.target && (o = m), o && (n = MS(o)), !1 !== aI(vE, i, fE, t, o, n, e, !!o)) return N(), m && m.nextSibling ? i.insertBefore(fE, m.nextSibling) : i.appendChild(fE), mE = i, F(), M(!0)
}
if (i.contains(fE)) return M(!1)
}
return !1
}
function j(s, l) {
rE(s, h, fS({
evt: e,
isOwner: u,
axis: a ? "vertical" : "horizontal",
revert: r,
dragRect: t,
targetRect: n,
canSort: d,
fromSortable: p,
target: o,
completed: M,
onMove: function (n, r) {
return aI(vE, i, fE, t, n, MS(n), e, r)
},
changed: F
}, l))
}
function N() {
j("dragOverAnimationCapture"), h.captureAnimationState(), h !== p && p.captureAnimationState()
}
function M(t) {
return j("dragOverCompleted", {insertion: t}), t && (u ? c._hideClone() : c._showClone(h), h !== p && (DS(fE, CE ? CE.options.ghostClass : c.options.ghostClass, !1), DS(fE, s.ghostClass, !0)), CE !== h && h !== rI.active ? CE = h : h === rI.active && CE && (CE = null), p === h && (h._ignoreWhileAnimating = o), h.animateAll((function () {
j("dragOverAnimationComplete"), h._ignoreWhileAnimating = null
})), h !== p && (p.animateAll(), p._ignoreWhileAnimating = null)), (o !== fE || fE.animated) && (o !== i || o.animated) || (jE = null), s.dragoverBubble || e.rootEl || o === document || (fE.parentNode[ZS]._isOutsideThisEl(e.target), t || tI(e)), !s.dragoverBubble && e.stopPropagation && e.stopPropagation(), f = !0
}
function F() {
kE = US(fE), EE = US(fE, s.draggable), aE({
sortable: h,
name: "change",
toEl: i,
newIndex: kE,
newDraggableIndex: EE,
originalEvent: e
})
}
}, _ignoreWhileAnimating: null, _offMoveEvents: function () {
CS(document, "mousemove", this._onTouchMove), CS(document, "touchmove", this._onTouchMove), CS(document, "pointermove", this._onTouchMove), CS(document, "dragover", tI), CS(document, "mousemove", tI), CS(document, "touchmove", tI)
}, _offUpEvents: function () {
var e = this.el.ownerDocument;
CS(e, "mouseup", this._onDrop), CS(e, "touchend", this._onDrop), CS(e, "pointerup", this._onDrop), CS(e, "touchcancel", this._onDrop), CS(document, "selectstart", this)
}, _onDrop: function (e) {
var t = this.el, n = this.options;
kE = US(fE), EE = US(fE, n.draggable), rE("drop", this, {evt: e}), mE = fE && fE.parentNode, kE = US(fE), EE = US(fE, n.draggable), rI.eventCanceled || (zE = !1, GE = !1, BE = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), lI(this.cloneId), lI(this._dragStartId), this.nativeDraggable && (CS(document, "drop", this), CS(t, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), wS && RS(document.body, "user-select", ""), RS(fE, "transform", ""), e && (LE && (e.cancelable && e.preventDefault(), n.dropBubble || e.stopPropagation()), gE && gE.parentNode && gE.parentNode.removeChild(gE), (vE === mE || CE && "clone" !== CE.lastPutMode) && bE && bE.parentNode && bE.parentNode.removeChild(bE), fE && (this.nativeDraggable && CS(fE, "dragend", this), iI(fE), fE.style["will-change"] = "", LE && !zE && DS(fE, CE ? CE.options.ghostClass : this.options.ghostClass, !1), DS(fE, this.options.chosenClass, !1), aE({
sortable: this,
name: "unchoose",
toEl: mE,
newIndex: null,
newDraggableIndex: null,
originalEvent: e
}), vE !== mE ? (kE >= 0 && (aE({
rootEl: mE,
name: "add",
toEl: mE,
fromEl: vE,
originalEvent: e
}), aE({sortable: this, name: "remove", toEl: mE, originalEvent: e}), aE({
rootEl: mE,
name: "sort",
toEl: mE,
fromEl: vE,
originalEvent: e
}), aE({
sortable: this,
name: "sort",
toEl: mE,
originalEvent: e
})), CE && CE.save()) : kE !== wE && kE >= 0 && (aE({
sortable: this,
name: "update",
toEl: mE,
originalEvent: e
}), aE({
sortable: this,
name: "sort",
toEl: mE,
originalEvent: e
})), rI.active && ((null == kE || -1 === kE) && (kE = wE, EE = SE), aE({
sortable: this,
name: "end",
toEl: mE,
originalEvent: e
}), this.save())))), this._nulling()
}, _nulling: function () {
rE("nulling", this), vE = fE = mE = gE = _E = bE = yE = xE = OE = PE = LE = kE = EE = wE = SE = jE = NE = CE = IE = rI.dragged = rI.ghost = rI.clone = rI.active = null, WE.forEach((function (e) {
e.checked = !0
})), WE.length = AE = TE = 0
}, handleEvent: function (e) {
switch (e.type) {
case"drop":
case"dragend":
this._onDrop(e);
break;
case"dragenter":
case"dragover":
fE && (this._onDragOver(e), e.dataTransfer && (e.dataTransfer.dropEffect = "move"), e.cancelable && e.preventDefault());
break;
case"selectstart":
e.preventDefault()
}
}, toArray: function () {
for (var e, t = [], n = this.el.children, r = 0, a = n.length, i = this.options; r < a; r++) AS(e = n[r], i.draggable, this.el, !1) && t.push(e.getAttribute(i.dataIdAttr) || function (e) {
for (var t = e.tagName + e.className + e.src + e.href + e.textContent, n = t.length, r = 0; n--;) r += t.charCodeAt(n);
return r.toString(36)
}(e));
return t
}, sort: function (e, t) {
var n = {}, r = this.el;
this.toArray().forEach((function (e, t) {
var a = r.children[t];
AS(a, this.options.draggable, r, !1) && (n[e] = a)
}), this), t && this.captureAnimationState(), e.forEach((function (e) {
n[e] && (r.removeChild(n[e]), r.appendChild(n[e]))
})), t && this.animateAll()
}, save: function () {
var e = this.options.store;
e && e.set && e.set(this)
}, closest: function (e, t) {
return AS(e, t || this.options.draggable, this.el, !1)
}, option: function (e, t) {
var n = this.options;
if (void 0 === t) return n[e];
var r = eE.modifyOption(this, e, t);
n[e] = void 0 !== r ? r : t, "group" === e && XE(n)
}, destroy: function () {
rE("destroy", this);
var e = this.el;
e[ZS] = null, CS(e, "mousedown", this._onTapStart), CS(e, "touchstart", this._onTapStart), CS(e, "pointerdown", this._onTapStart), this.nativeDraggable && (CS(e, "dragover", this), CS(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), (function (e) {
e.removeAttribute("draggable")
})), this._onDrop(), this._disableDelayedDragEvents(), UE.splice(UE.indexOf(this.el), 1), this.el = null
}, _hideClone: function () {
xE || (rE("hideClone", this), rI.eventCanceled || (RS(bE, "display", "none"), this.options.removeCloneOnHide && bE.parentNode && bE.parentNode.removeChild(bE), xE = !0))
}, _showClone: function (e) {
if ("clone" === e.lastPutMode) {
if (xE) {
if (rE("showClone", this), rI.eventCanceled) return;
fE.parentNode != vE || this.options.group.revertClone ? _E ? vE.insertBefore(bE, _E) : vE.appendChild(bE) : vE.insertBefore(bE, fE), this.options.group.revertClone && this.animate(fE, bE), RS(bE, "display", ""), xE = !1
}
} else this._hideClone()
}
}, HE && IS(document, "touchmove", (function (e) {
(rI.active || zE) && e.cancelable && e.preventDefault()
})), rI.utils = {
on: IS,
off: CS,
css: RS,
find: jS,
is: function (e, t) {
return !!AS(e, t, e, !1)
},
extend: function (e, t) {
if (e && t) for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
return e
},
throttle: qS,
closest: AS,
toggleClass: DS,
clone: HS,
index: US,
nextTick: sI,
cancelNextTick: lI,
detectDirection: ZE,
getChild: zS,
expando: ZS
}, rI.get = function (e) {
return e[ZS]
}, rI.mount = function () {
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
t[0].constructor === Array && (t = t[0]), t.forEach((function (e) {
if (!e.prototype || !e.prototype.constructor) throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));
e.utils && (rI.utils = fS(fS({}, rI.utils), e.utils)), eE.mount(e)
}))
}, rI.create = function (e, t) {
return new rI(e, t)
}, rI.version = "1.15.3";
var cI, uI, dI, pI, hI, fI, mI = [], gI = !1;
function vI() {
mI.forEach((function (e) {
clearInterval(e.pid)
})), mI = []
}
function _I() {
clearInterval(fI)
}
var yI = qS((function (e, t, n, r) {
if (t.scroll) {
var a, i = (e.touches ? e.touches[0] : e).clientX, o = (e.touches ? e.touches[0] : e).clientY,
s = t.scrollSensitivity, l = t.scrollSpeed, c = NS(), u = !1;
uI !== n && (uI = n, vI(), cI = t.scroll, a = t.scrollFn, !0 === cI && (cI = GS(n, !0)));
var d = 0, p = cI;
do {
var h = p, f = MS(h), m = f.top, g = f.bottom, v = f.left, _ = f.right, y = f.width, b = f.height,
x = void 0, w = void 0, k = h.scrollWidth, S = h.scrollHeight, E = RS(h), I = h.scrollLeft,
C = h.scrollTop;
h === c ? (x = y < k && ("auto" === E.overflowX || "scroll" === E.overflowX || "visible" === E.overflowX), w = b < S && ("auto" === E.overflowY || "scroll" === E.overflowY || "visible" === E.overflowY)) : (x = y < k && ("auto" === E.overflowX || "scroll" === E.overflowX), w = b < S && ("auto" === E.overflowY || "scroll" === E.overflowY));
var O = x && (Math.abs(_ - i) <= s && I + y < k) - (Math.abs(v - i) <= s && !!I),
P = w && (Math.abs(g - o) <= s && C + b < S) - (Math.abs(m - o) <= s && !!C);
if (!mI[d]) for (var A = 0; A <= d; A++) mI[A] || (mI[A] = {});
(mI[d].vx != O || mI[d].vy != P || mI[d].el !== h) && (mI[d].el = h, mI[d].vx = O, mI[d].vy = P, clearInterval(mI[d].pid), (0 != O || 0 != P) && (u = !0, mI[d].pid = setInterval(function () {
r && 0 === this.layer && rI.active._onTouchMove(hI);
var t = mI[this.layer].vy ? mI[this.layer].vy * l : 0,
n = mI[this.layer].vx ? mI[this.layer].vx * l : 0;
("function" != typeof a || "continue" === a.call(rI.dragged.parentNode[ZS], n, t, e, hI, mI[this.layer].el)) && WS(mI[this.layer].el, n, t)
}.bind({layer: d}), 24))), d++
} while (t.bubbleScroll && p !== c && (p = GS(p, !1)));
gI = u
}
}), 30), bI = function (e) {
var t = e.originalEvent, n = e.putSortable, r = e.dragEl, a = e.activeSortable, i = e.dispatchSortableEvent,
o = e.hideGhostForTarget, s = e.unhideGhostForTarget;
if (t) {
var l = n || a;
o();
var c = t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t,
u = document.elementFromPoint(c.clientX, c.clientY);
s(), l && !l.el.contains(u) && (i("spill"), this.onSpill({dragEl: r, putSortable: n}))
}
};
function xI() {
}
function wI() {
}
xI.prototype = {
startIndex: null, dragStart: function (e) {
var t = e.oldDraggableIndex;
this.startIndex = t
}, onSpill: function (e) {
var t = e.dragEl, n = e.putSortable;
this.sortable.captureAnimationState(), n && n.captureAnimationState();
var r = zS(this.sortable.el, this.startIndex, this.options);
r ? this.sortable.el.insertBefore(t, r) : this.sortable.el.appendChild(t), this.sortable.animateAll(), n && n.animateAll()
}, drop: bI
}, gS(xI, {pluginName: "revertOnSpill"}), wI.prototype = {
onSpill: function (e) {
var t = e.dragEl, n = e.putSortable || this.sortable;
n.captureAnimationState(), t.parentNode && t.parentNode.removeChild(t), n.animateAll()
}, drop: bI
}, gS(wI, {pluginName: "removeOnSpill"});
var kI, SI, EI, II, CI, OI, PI = [], AI = [], TI = !1, DI = !1, RI = !1;
function LI(e, t) {
AI.forEach((function (n, r) {
var a = t.children[n.sortableIndex + (e ? Number(r) : 0)];
a ? t.insertBefore(n, a) : t.appendChild(n)
}))
}
function jI() {
PI.forEach((function (e) {
e !== II && e.parentNode && e.parentNode.removeChild(e)
}))
}
rI.mount(new function () {
function e() {
for (var e in this.defaults = {
scroll: !0,
forceAutoScrollFallback: !1,
scrollSensitivity: 30,
scrollSpeed: 10,
bubbleScroll: !0
}, this) "_" === e.charAt(0) && "function" == typeof this[e] && (this[e] = this[e].bind(this))
}
return e.prototype = {
dragStarted: function (e) {
var t = e.originalEvent;
this.sortable.nativeDraggable ? IS(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? IS(document, "pointermove", this._handleFallbackAutoScroll) : t.touches ? IS(document, "touchmove", this._handleFallbackAutoScroll) : IS(document, "mousemove", this._handleFallbackAutoScroll)
}, dragOverCompleted: function (e) {
var t = e.originalEvent;
this.options.dragOverBubble || t.rootEl || this._handleAutoScroll(t)
}, drop: function () {
this.sortable.nativeDraggable ? CS(document, "dragover", this._handleAutoScroll) : (CS(document, "pointermove", this._handleFallbackAutoScroll), CS(document, "touchmove", this._handleFallbackAutoScroll), CS(document, "mousemove", this._handleFallbackAutoScroll)), _I(), vI(), clearTimeout(hE), hE = void 0
}, nulling: function () {
hI = uI = cI = gI = fI = dI = pI = null, mI.length = 0
}, _handleFallbackAutoScroll: function (e) {
this._handleAutoScroll(e, !0)
}, _handleAutoScroll: function (e, t) {
var n = this, r = (e.touches ? e.touches[0] : e).clientX,
a = (e.touches ? e.touches[0] : e).clientY, i = document.elementFromPoint(r, a);
if (hI = e, t || this.options.forceAutoScrollFallback || bS || yS || wS) {
yI(e, this.options, i, t);
var o = GS(i, !0);
gI && (!fI || r !== dI || a !== pI) && (fI && _I(), fI = setInterval((function () {
var i = GS(document.elementFromPoint(r, a), !0);
i !== o && (o = i, vI()), yI(e, n.options, i, t)
}), 10), dI = r, pI = a)
} else {
if (!this.options.bubbleScroll || GS(i, !0) === NS()) return void vI();
yI(e, this.options, GS(i, !1), !1)
}
}
}, gS(e, {pluginName: "scroll", initializeByDefault: !0})
}), rI.mount(wI, xI);
var NI = ay(Object.freeze({
__proto__: null, MultiDrag: function () {
function e(e) {
for (var t in this) "_" === t.charAt(0) && "function" == typeof this[t] && (this[t] = this[t].bind(this));
e.options.avoidImplicitDeselect || (e.options.supportPointer ? IS(document, "pointerup", this._deselectMultiDrag) : (IS(document, "mouseup", this._deselectMultiDrag), IS(document, "touchend", this._deselectMultiDrag))), IS(document, "keydown", this._checkKeyDown), IS(document, "keyup", this._checkKeyUp), this.defaults = {
selectedClass: "sortable-selected",
multiDragKey: null,
avoidImplicitDeselect: !1,
setData: function (t, n) {
var r = "";
PI.length && EI === e ? PI.forEach((function (e, t) {
r += (t ? ", " : "") + e.textContent
})) : r = n.textContent, t.setData("Text", r)
}
}
}
return e.prototype = {
multiDragKeyDown: !1, isMultiDrag: !1, delayStartGlobal: function (e) {
II = e.dragEl
}, delayEnded: function () {
this.isMultiDrag = ~PI.indexOf(II)
}, setupClone: function (e) {
var t = e.sortable, n = e.cancel;
if (this.isMultiDrag) {
for (var r = 0; r < PI.length; r++) AI.push(HS(PI[r])), AI[r].sortableIndex = PI[r].sortableIndex, AI[r].draggable = !1, AI[r].style["will-change"] = "", DS(AI[r], this.options.selectedClass, !1), PI[r] === II && DS(AI[r], this.options.chosenClass, !1);
t._hideClone(), n()
}
}, clone: function (e) {
var t = e.sortable, n = e.rootEl, r = e.dispatchSortableEvent, a = e.cancel;
this.isMultiDrag && !this.options.removeCloneOnHide && PI.length && EI === t && (LI(!0, n), r("clone"), a())
}, showClone: function (e) {
var t = e.cloneNowShown, n = e.rootEl, r = e.cancel;
this.isMultiDrag && (LI(!1, n), AI.forEach((function (e) {
RS(e, "display", "")
})), t(), OI = !1, r())
}, hideClone: function (e) {
var t = this;
e.sortable;
var n = e.cloneNowHidden, r = e.cancel;
this.isMultiDrag && (AI.forEach((function (e) {
RS(e, "display", "none"), t.options.removeCloneOnHide && e.parentNode && e.parentNode.removeChild(e)
})), n(), OI = !0, r())
}, dragStartGlobal: function (e) {
e.sortable, !this.isMultiDrag && EI && EI.multiDrag._deselectMultiDrag(), PI.forEach((function (e) {
e.sortableIndex = US(e)
})), PI = PI.sort((function (e, t) {
return e.sortableIndex - t.sortableIndex
})), RI = !0
}, dragStarted: function (e) {
var t = this, n = e.sortable;
if (this.isMultiDrag) {
if (this.options.sort && (n.captureAnimationState(), this.options.animation)) {
PI.forEach((function (e) {
e !== II && RS(e, "position", "absolute")
}));
var r = MS(II, !1, !0, !0);
PI.forEach((function (e) {
e !== II && KS(e, r)
})), DI = !0, TI = !0
}
n.animateAll((function () {
DI = !1, TI = !1, t.options.animation && PI.forEach((function (e) {
YS(e)
})), t.options.sort && jI()
}))
}
}, dragOver: function (e) {
var t = e.target, n = e.completed, r = e.cancel;
DI && ~PI.indexOf(t) && (n(!1), r())
}, revert: function (e) {
var t, n = e.fromSortable, r = e.rootEl, a = e.sortable, i = e.dragRect;
PI.length > 1 && (PI.forEach((function (e) {
a.addAnimationState({
target: e,
rect: DI ? MS(e) : i
}), YS(e), e.fromRect = i, n.removeAnimationState(e)
})), DI = !1, t = !this.options.removeCloneOnHide, PI.forEach((function (e, n) {
var a = r.children[e.sortableIndex + (t ? Number(n) : 0)];
a ? r.insertBefore(e, a) : r.appendChild(e)
})))
}, dragOverCompleted: function (e) {
var t = e.sortable, n = e.isOwner, r = e.insertion, a = e.activeSortable, i = e.parentEl,
o = e.putSortable, s = this.options;
if (r) {
if (n && a._hideClone(), TI = !1, s.animation && PI.length > 1 && (DI || !n && !a.options.sort && !o)) {
var l = MS(II, !1, !0, !0);
PI.forEach((function (e) {
e !== II && (KS(e, l), i.appendChild(e))
})), DI = !0
}
if (!n) if (DI || jI(), PI.length > 1) {
var c = OI;
a._showClone(t), a.options.animation && !OI && c && AI.forEach((function (e) {
a.addAnimationState({
target: e,
rect: CI
}), e.fromRect = CI, e.thisAnimationDuration = null
}))
} else a._showClone(t)
}
}, dragOverAnimationCapture: function (e) {
var t = e.dragRect, n = e.isOwner, r = e.activeSortable;
if (PI.forEach((function (e) {
e.thisAnimationDuration = null
})), r.options.animation && !n && r.multiDrag.isMultiDrag) {
CI = gS({}, t);
var a = LS(II, !0);
CI.top -= a.f, CI.left -= a.e
}
}, dragOverAnimationComplete: function () {
DI && (DI = !1, jI())
}, drop: function (e) {
var t = e.originalEvent, n = e.rootEl, r = e.parentEl, a = e.sortable,
i = e.dispatchSortableEvent, o = e.oldIndex, s = e.putSortable, l = s || this.sortable;
if (t) {
var c = this.options, u = r.children;
if (!RI) if (c.multiDragKey && !this.multiDragKeyDown && this._deselectMultiDrag(), DS(II, c.selectedClass, !~PI.indexOf(II)), ~PI.indexOf(II)) PI.splice(PI.indexOf(II), 1), SI = null, tE({
sortable: a,
rootEl: n,
name: "deselect",
targetEl: II,
originalEvent: t
}); else {
if (PI.push(II), tE({
sortable: a,
rootEl: n,
name: "select",
targetEl: II,
originalEvent: t
}), t.shiftKey && SI && a.el.contains(SI)) {
var d, p, h = US(SI), f = US(II);
if (~h && ~f && h !== f) for (f > h ? (p = h, d = f) : (p = f, d = h + 1); p < d; p++) ~PI.indexOf(u[p]) || (DS(u[p], c.selectedClass, !0), PI.push(u[p]), tE({
sortable: a,
rootEl: n,
name: "select",
targetEl: u[p],
originalEvent: t
}))
} else SI = II;
EI = l
}
if (RI && this.isMultiDrag) {
if (DI = !1, (r[ZS].options.sort || r !== n) && PI.length > 1) {
var m = MS(II), g = US(II, ":not(." + this.options.selectedClass + ")");
if (!TI && c.animation && (II.thisAnimationDuration = null), l.captureAnimationState(), !TI && (c.animation && (II.fromRect = m, PI.forEach((function (e) {
if (e.thisAnimationDuration = null, e !== II) {
var t = DI ? MS(e) : m;
e.fromRect = t, l.addAnimationState({target: e, rect: t})
}
}))), jI(), PI.forEach((function (e) {
u[g] ? r.insertBefore(e, u[g]) : r.appendChild(e), g++
})), o === US(II))) {
var v = !1;
PI.forEach((function (e) {
e.sortableIndex === US(e) || (v = !0)
})), v && (i("update"), i("sort"))
}
PI.forEach((function (e) {
YS(e)
})), l.animateAll()
}
EI = l
}
(n === r || s && "clone" !== s.lastPutMode) && AI.forEach((function (e) {
e.parentNode && e.parentNode.removeChild(e)
}))
}
}, nullingGlobal: function () {
this.isMultiDrag = RI = !1, AI.length = 0
}, destroyGlobal: function () {
this._deselectMultiDrag(), CS(document, "pointerup", this._deselectMultiDrag), CS(document, "mouseup", this._deselectMultiDrag), CS(document, "touchend", this._deselectMultiDrag), CS(document, "keydown", this._checkKeyDown), CS(document, "keyup", this._checkKeyUp)
}, _deselectMultiDrag: function (e) {
if (!(void 0 !== RI && RI || EI !== this.sortable || e && AS(e.target, this.options.draggable, this.sortable.el, !1)) && (!e || 0 === e.button)) for (; PI.length;) {
var t = PI[0];
DS(t, this.options.selectedClass, !1), PI.shift(), tE({
sortable: this.sortable,
rootEl: this.sortable.el,
name: "deselect",
targetEl: t,
originalEvent: e
})
}
}, _checkKeyDown: function (e) {
e.key === this.options.multiDragKey && (this.multiDragKeyDown = !0)
}, _checkKeyUp: function (e) {
e.key === this.options.multiDragKey && (this.multiDragKeyDown = !1)
}
}, gS(e, {
pluginName: "multiDrag", utils: {
select: function (e) {
var t = e.parentNode[ZS];
!t || !t.options.multiDrag || ~PI.indexOf(e) || (EI && EI !== t && (EI.multiDrag._deselectMultiDrag(), EI = t), DS(e, t.options.selectedClass, !0), PI.push(e))
}, deselect: function (e) {
var t = e.parentNode[ZS], n = PI.indexOf(e);
t && t.options.multiDrag && ~n && (DS(e, t.options.selectedClass, !1), PI.splice(n, 1))
}
}, eventProperties: function () {
var e, t = this, n = [], r = [];
return PI.forEach((function (e) {
var a;
n.push({
multiDragElement: e,
index: e.sortableIndex
}), a = DI && e !== II ? -1 : DI ? US(e, ":not(." + t.options.selectedClass + ")") : US(e), r.push({
multiDragElement: e,
index: a
})
})), {
items: function (e) {
if (Array.isArray(e)) return vS(e)
}(e = PI) || function (e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || function (e, t) {
if (e) {
if ("string" == typeof e) return vS(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
if ("Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n) return Array.from(e);
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return vS(e, t)
}
}(e) || function () {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}(), clones: [].concat(AI), oldIndicies: n, newIndicies: r
}
}, optionListeners: {
multiDragKey: function (e) {
return "ctrl" === (e = e.toLowerCase()) ? e = "Control" : e.length > 1 && (e = e.charAt(0).toUpperCase() + e.substr(1)), e
}
}
})
}, Sortable: rI, Swap: function () {
function e() {
this.defaults = {swapClass: "sortable-swap-highlight"}
}
return e.prototype = {
dragStart: function (e) {
kI = e.dragEl
}, dragOverValid: function (e) {
var t = e.completed, n = e.target, r = e.onMove, a = e.activeSortable, i = e.changed,
o = e.cancel;
if (a.options.swap) {
var s = this.sortable.el, l = this.options;
if (n && n !== s) {
var c = kI;
!1 !== r(n) ? (DS(n, l.swapClass, !0), kI = n) : kI = null, c && c !== kI && DS(c, l.swapClass, !1)
}
i(), t(!0), o()
}
}, drop: function (e) {
var t, n, r, a, i, o = e.activeSortable, s = e.putSortable, l = e.dragEl,
c = s || this.sortable, u = this.options;
kI && DS(kI, u.swapClass, !1), kI && (u.swap || s && s.options.swap) && l !== kI && (c.captureAnimationState(), c !== o && o.captureAnimationState(), t = kI, a = l.parentNode, i = t.parentNode, !a || !i || a.isEqualNode(t) || i.isEqualNode(l) || (n = US(l), r = US(t), a.isEqualNode(i) && n < r && r++, a.insertBefore(t, a.children[n]), i.insertBefore(l, i.children[r])), c.animateAll(), c !== o && o.animateAll())
}, nulling: function () {
kI = null
}
}, gS(e, {
pluginName: "swap", eventProperties: function () {
return {swapItem: kI}
}
})
}, default: rI
})), MI = {exports: {}};
!function () {
var e = {}.hasOwnProperty;
function t() {
for (var n = [], r = 0; r < arguments.length; r++) {
var a = arguments[r];
if (a) {
var i = typeof a;
if ("string" === i || "number" === i) n.push(a); else if (Array.isArray(a)) {
if (a.length) {
var o = t.apply(null, a);
o && n.push(o)
}
} else if ("object" === i) if (a.toString === Object.prototype.toString) for (var s in a) e.call(a, s) && a[s] && n.push(s); else n.push(a.toString())
}
}
return n.join(" ")
}
MI.exports ? (t.default = t, MI.exports = t) : window.classNames = t
}();
var FI = MI.exports, zI = "Invariant failed", VI = ay(Object.freeze({
__proto__: null, default: function (e, t) {
if (!e) throw Error(zI)
}
}));
!function (e) {
var t, n, r = Ee;
function a(e) {
return e && e.__esModule ? e.default : e
}
function i(e, t, n, r) {
Object.defineProperty(e, t, {get: n, set: r, enumerable: !0, configurable: !0})
}
function o(e) {
null !== e.parentElement && e.parentElement.removeChild(e)
}
function s(e) {
e.forEach((e => o(e.element)))
}
function l(e) {
e.forEach((e => {
!function (e, t, n) {
let r = e.children[n] || null;
e.insertBefore(t, r)
}(e.parentElement, e.element, e.oldIndex)
}))
}
function c(e, t) {
let n = p(e), r = {parentElement: e.from}, a = [];
switch (n) {
case"normal":
a = [{element: e.item, newIndex: e.newIndex, oldIndex: e.oldIndex, parentElement: e.from}];
break;
case"swap":
a = [{element: e.item, oldIndex: e.oldIndex, newIndex: e.newIndex, ...r}, {
element: e.swapItem,
oldIndex: e.newIndex,
newIndex: e.oldIndex, ...r
}];
break;
case"multidrag":
a = e.oldIndicies.map(((t, n) => ({
element: t.multiDragElement,
oldIndex: t.index,
newIndex: e.newIndicies[n].index, ...r
})))
}
let i = function (e, t) {
return e.map((e => ({...e, item: t[e.oldIndex]}))).sort(((e, t) => e.oldIndex - t.oldIndex))
}(a, t);
return i
}
function u(e, t) {
let n = [...t];
return e.concat().reverse().forEach((e => n.splice(e.oldIndex, 1))), n
}
function d(e, t, n, r) {
let a = [...t];
return e.forEach((e => {
let t = r && n && r(e.item, n);
a.splice(e.newIndex, 0, t || e.item)
})), a
}
function p(e) {
return e.oldIndicies && e.oldIndicies.length > 0 ? "multidrag" : e.swapItem ? "swap" : "normal"
}
i(e.exports, "Sortable", (() => $882b6d93070905b3$re_export$Sortable)), i(e.exports, "Direction", (() => $882b6d93070905b3$re_export$Direction)), i(e.exports, "DOMRect", (() => $882b6d93070905b3$re_export$DOMRect)), i(e.exports, "GroupOptions", (() => $882b6d93070905b3$re_export$GroupOptions)), i(e.exports, "MoveEvent", (() => $882b6d93070905b3$re_export$MoveEvent)), i(e.exports, "Options", (() => $882b6d93070905b3$re_export$Options)), i(e.exports, "PullResult", (() => $882b6d93070905b3$re_export$PullResult)), i(e.exports, "PutResult", (() => $882b6d93070905b3$re_export$PutResult)), i(e.exports, "SortableEvent", (() => $882b6d93070905b3$re_export$SortableEvent)), i(e.exports, "SortableOptions", (() => $882b6d93070905b3$re_export$SortableOptions)), i(e.exports, "Utils", (() => $882b6d93070905b3$re_export$Utils)), i(e.exports, "ReactSortable", (() => f));
let h = {dragging: null};
class f extends r.Component {
static defaultProps = {clone: e => e};
constructor(e) {
super(e), this.ref = (0, r.createRef)();
let t = [...e.list].map((e => Object.assign(e, {chosen: !1, selected: !1})));
e.setList(t, this.sortable, h), a(VI)(!e.plugins, '\nPlugins prop is no longer supported.\nInstead, mount it with "Sortable.mount(new MultiDrag())"\nPlease read the updated README.md at https://github.com/SortableJS/react-sortablejs.\n ')
}
componentDidMount() {
if (null === this.ref.current) return;
let e = this.makeOptions();
a(NI).create(this.ref.current, e)
}
componentDidUpdate(e) {
e.disabled !== this.props.disabled && this.sortable && this.sortable.option("disabled", this.props.disabled)
}
render() {
let {tag: e, style: t, className: n, id: a} = this.props, i = e && null !== e ? e : "div";
return (0, r.createElement)(i, {ref: this.ref, style: t, className: n, id: a}, this.getChildren())
}
getChildren() {
let {
children: e,
dataIdAttr: t,
selectedClass: n = "sortable-selected",
chosenClass: i = "sortable-chosen",
dragClass: o = "sortable-drag",
fallbackClass: s = "sortable-falback",
ghostClass: l = "sortable-ghost",
swapClass: c = "sortable-swap-highlight",
filter: u = "sortable-filter",
list: d
} = this.props;
if (!e || null == e) return null;
let p = t || "data-id";
return r.Children.map(e, ((e, t) => {
if (void 0 === e) return;
let o = d[t] || {}, {className: s} = e.props,
l = "string" == typeof u && {[u.replace(".", "")]: !!o.filtered},
c = a(FI)(s, {[n]: o.selected, [i]: o.chosen, ...l});
return (0, r.cloneElement)(e, {[p]: e.key, className: c})
}))
}
get sortable() {
let e = this.ref.current;
if (null === e) return null;
let t = Object.keys(e).find((e => e.includes("Sortable")));
return t ? e[t] : null
}
makeOptions() {
let e = function (e) {
let {
list: t,
setList: n,
children: r,
tag: a,
style: i,
className: o,
clone: s,
onAdd: l,
onChange: c,
onChoose: u,
onClone: d,
onEnd: p,
onFilter: h,
onRemove: f,
onSort: m,
onStart: g,
onUnchoose: v,
onUpdate: _,
onMove: y,
onSpill: b,
onSelect: x,
onDeselect: w,
...k
} = e;
return k
}(this.props);
return ["onAdd", "onChoose", "onDeselect", "onEnd", "onRemove", "onSelect", "onSpill", "onStart", "onUnchoose", "onUpdate"].forEach((t => e[t] = this.prepareOnHandlerPropAndDOM(t))), ["onChange", "onClone", "onFilter", "onSort"].forEach((t => e[t] = this.prepareOnHandlerProp(t))), {
...e,
onMove: (e, t) => {
let {onMove: n} = this.props, r = e.willInsertAfter || -1;
if (!n) return r;
let a = n(e, t, this.sortable, h);
return void 0 !== a && a
}
}
}
prepareOnHandlerPropAndDOM(e) {
return t => {
this.callOnHandlerProp(t, e), this[e](t)
}
}
prepareOnHandlerProp(e) {
return t => {
this.callOnHandlerProp(t, e)
}
}
callOnHandlerProp(e, t) {
let n = this.props[t];
n && n(e, this.sortable, h)
}
onAdd(e) {
let {list: t, setList: n, clone: r} = this.props, a = c(e, [...h.dragging.props.list]);
s(a), n(d(a, t, e, r).map((e => Object.assign(e, {selected: !1}))), this.sortable, h)
}
onRemove(e) {
let {list: t, setList: n} = this.props, r = p(e), i = c(e, t);
l(i);
let o = [...t];
if ("clone" !== e.pullMode) o = u(i, o); else {
let t = i;
switch (r) {
case"multidrag":
t = i.map(((t, n) => ({...t, element: e.clones[n]})));
break;
case"normal":
t = i.map((t => ({...t, element: e.clone})));
break;
default:
a(VI)(!0, `mode "${r}" cannot clone. Please remove "props.clone" from <ReactSortable/> when using the "${r}" plugin`)
}
s(t), i.forEach((t => {
let n = t.oldIndex, r = this.props.clone(t.item, e);
o.splice(n, 1, r)
}))
}
n(o = o.map((e => Object.assign(e, {selected: !1}))), this.sortable, h)
}
onUpdate(e) {
let {list: t, setList: n} = this.props, r = c(e, t);
s(r), l(r);
let a = function (e, t) {
return d(e, u(e, t))
}(r, t);
return n(a, this.sortable, h)
}
onStart() {
h.dragging = this
}
onEnd() {
h.dragging = null
}
onChoose(e) {
let {list: t, setList: n} = this.props, r = t.map(((t, n) => {
let r = t;
return n === e.oldIndex && (r = Object.assign(t, {chosen: !0})), r
}));
n(r, this.sortable, h)
}
onUnchoose(e) {
let {list: t, setList: n} = this.props, r = t.map(((t, n) => {
let r = t;
return n === e.oldIndex && (r = Object.assign(r, {chosen: !1})), r
}));
n(r, this.sortable, h)
}
onSpill(e) {
let {removeOnSpill: t, revertOnSpill: n} = this.props;
t && !n && o(e.item)
}
onSelect(e) {
let {list: t, setList: n} = this.props, r = t.map((e => Object.assign(e, {selected: !1})));
e.newIndicies.forEach((t => {
let n = t.index;
if (-1 === n) return console.log(`"${e.type}" had indice of "${t.index}", which is probably -1 and doesn't usually happen here.`), void console.log(e);
r[n].selected = !0
})), n(r, this.sortable, h)
}
onDeselect(e) {
let {list: t, setList: n} = this.props, r = t.map((e => Object.assign(e, {selected: !1})));
e.newIndicies.forEach((e => {
let t = e.index;
-1 !== t && (r[t].selected = !0)
})), n(r, this.sortable, h)
}
}
t = e.exports, Object.keys(n = {}).forEach((function (e) {
"default" === e || "__esModule" === e || t.hasOwnProperty(e) || Object.defineProperty(t, e, {
enumerable: !0,
get: function () {
return n[e]
}
})
}))
}(pS);
var UI = pS.exports;
let BI = Dy((({className: e, draggable: t = !1, items: n, onItemsReordered: r}, a) => {
let [i] = (0, Ee.useState)((() => {
let e = new Image;
return e.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=", e
})), o = Ty("sol-c-download-progress-group", e), s = (0, Ee.useCallback)(((e, t, a) => {
((e, t) => {
if (e.length !== t.length) return !1;
for (let n = 0; n < e.length; n++) if (e[n].id !== t[n].id) return !1;
return !0
})(n, e) || r?.(e)
}), [n]);
return sy.jsx(UI.ReactSortable, {
list: n,
setList: s,
className: o,
tag: "ul",
animation: 150,
setData: (e, t) => {
e.setData("text/plain", t.id), e.setDragImage(i, 0, 0)
},
handle: ".sol-c-download-progress__drag-handle",
children: n.map(((e, n) => sy.jsxs(sy.Fragment, {
children: [!t && 0 !== n && sy.jsx(cS, {
spacing: "100",
className: "sol-u-padding-0"
}, `Divider-${e.id}`), (0, Ee.createElement)(dS, {...e, key: e.id, as: "li", isDraggable: t})]
})))
})
}));
ry('@layer sol.components{.sol-c-field{--_max-inline-size:43.75rem;--_gap-block:var(--sol-size-050);--_gap-inline:var(--sol-size-150);display:flex;flex-direction:column;gap:var(--_gap-block);inline-size:100%;max-inline-size:var(--_max-inline-size)}.sol-c-field__feedback,.sol-c-field__label{transition:opacity var(--sol-motion-250)}.sol-c-field--disabled .sol-c-field__feedback,.sol-c-field--disabled .sol-c-field__label{opacity:.4}.sol-c-field__label{cursor:var(--sol-cursor-interactive)}.sol-c-field--horizontal{align-items:center;display:grid;gap:0;grid:"label ........" "content feedback" "help ........"/minmax(0,var(--_max-inline-size)) minmax(25%,1fr);max-inline-size:none}.sol-c-field--horizontal .sol-c-field__label{grid-area:label;margin-block-end:var(--_gap-block)}.sol-c-field--horizontal .sol-c-field__content{grid-area:content}.sol-c-field--horizontal .sol-c-field__feedback{grid-area:feedback;margin-inline-start:var(--_gap-inline)}.sol-c-field--horizontal .sol-c-field__help{grid-area:help;margin-block-start:var(--_gap-block)}}');
let GI = (0, Ee.createContext)(null), $I = () => (0, Ee.useContext)(GI),
qI = (0, Ee.forwardRef)((({className: e, id: t, ...n}, r) => {
let {feedbackId: a, setHasFeedback: i} = $I();
(0, Ee.useLayoutEffect)((() => (i(!0, t), () => i(!1))), [t, i]);
let o = Ty("sol-c-field__feedback", e);
return sy.jsx(Hk, {"aria-live": "polite", className: o, id: a, ref: r, type: "negative", ...n})
})), WI = (0, Ee.forwardRef)((({className: e, id: t, ...n}, r) => {
let {helpId: a, setHasHelp: i} = $I();
(0, Ee.useLayoutEffect)((() => (i(!0, t), () => i(!1))), [t, i]);
let o = Ty("sol-c-field__help", e);
return sy.jsx(hb, {className: o, color: "foreground-weak", id: a, ref: r, variant: "body-xs", ...n})
})), HI = (0, Ee.forwardRef)((({
children: e,
className: t,
id: n,
disabled: r,
invalid: a,
required: i,
label: o,
labelType: s,
necessityIndicator: l,
horizontal: c,
error: u,
help: d,
success: p,
warning: h,
...f
}, m) => {
let g = (({
id: e,
disabled: t = !1,
invalid: n = !1,
required: r = !1,
label: a,
labelType: i = "floating",
necessityIndicator: o
}) => {
let s = (0, Ee.useId)(), [l = (e ? `${e}-input` : s), c] = (0, Ee.useState)(), [u = `${e ?? l}-feedback`, d] = (0, Ee.useState)(), [p = `${e ?? l}-help`, h] = (0, Ee.useState)(),
f = `${e ?? l}-label`, [m = t, g] = (0, Ee.useState)(), [v = n, _] = (0, Ee.useState)(), [y = r, b] = (0, Ee.useState)(), [x, w] = (0, Ee.useState)(!1), [k, S] = (0, Ee.useState)(!1), [E, I] = (0, Ee.useState)(null), [C, O] = (0, Ee.useState)("label"),
P = (0, Ee.useMemo)((() => "label" !== C ? {
id: f, onClick() {
m || E?.focus()
}
} : {htmlFor: l}), [l, E, m, C, f]), A = E || "floating" !== i ? i : "classic",
T = (0, Ee.useCallback)((e => {
let t = e ? [e] : [];
return x && t.push(u), k && t.push(p), t.length ? t.join(" ") : void 0
}), [u, x, k, p]), D = (0, Ee.useCallback)((e => {
let t = e ? [e] : [];
return "label" !== C && t.push(f, l), t.length ? t.join(" ") : void 0
}), [l, C, f]);
return (0, Ee.useMemo)((() => ({
inputId: l,
feedbackId: u,
helpId: p,
labelId: f,
hasFeedback: x,
hasHelp: k,
isDisabled: m,
isInvalid: v,
isRequired: y,
label: a,
labelElementType: C,
labelProps: P,
labelType: A,
necessityIndicator: o,
setInputId: c,
setInputRef: I,
setLabelElementType: O,
setHasFeedback: (e, t) => {
w(e), d(t)
},
setHasHelp: (e, t) => {
S(e), h(t)
},
setIsDisabled: g,
setIsInvalid: _,
setIsRequired: b,
getDescribedby: T,
getLabelledby: D
})), [l, u, p, f, x, k, m, v, y, a, C, A, P, o, T, D])
})({
id: n,
disabled: r,
invalid: a,
required: i,
label: o,
labelType: s,
necessityIndicator: l
}), {isDisabled: v, isInvalid: _, isRequired: y, labelType: b, labelElementType: x, labelProps: w} = g,
k = Ty("sol-c-field", c && "sol-c-field--horizontal", v && "sol-c-field--disabled", _ && "sol-c-field--invalid", y && "sol-c-field--required", t),
S = (0, Ee.useMemo)((() => "floating" !== b && o ? sy.jsxs(Cb, {
as: x,
align: "baseline",
className: Ty("sol-c-field__label", "hidden" === b && "sol-u-hide-visually"),
gap: "025",
wrap: !0, ...w,
children: [sy.jsx(hb, {
as: "span",
color: "foreground-weak",
variant: "label-m",
children: o
}), l && sy.jsxs(hb, {
"aria-hidden": !!y || void 0,
as: "span",
color: "foreground-weak",
variant: "label-s",
transform: "lowercase",
children: ["(", l, ")"]
})]
}) : null), [y, x, o, w, b, l]),
E = (0, Ee.useMemo)((() => u ? sy.jsx(qI, {children: u}) : p ? sy.jsx(qI, {
icon: py,
type: "positive",
children: p
}) : h ? sy.jsx(qI, {icon: Ay, type: "notice", children: h}) : null), [u, p, h]);
return sy.jsx(GI.Provider, {
value: g,
children: sy.jsxs("div", {
className: k,
id: n,
ref: m, ...f,
children: [S, sy.jsx(Cb, {
className: "sol-c-field__content",
gap: "100",
children: e
}), E, d && sy.jsx(WI, {children: d})]
})
})
}));
ry("@layer sol.components{.sol-c-game-button{--_background-color:rgba(var(--sol-color-primary-1-rgb)/0.8);--_border-color:var(--sol-color-accent-1);--_foreground-color:var(--sol-color-neutral-4);--_border-radius:var(--sol-radius-8);--_border-width:var(--sol-border-2);--_hologram-color:var(--sol-color-accent-1);--_hologram-offset:0;--_hologram-opacity:0;--_glow-color:var(--sol-color-neutral-4);--_glow-speed:var(--sol-motion-4000);--_glow-state:running;--_glow-opacity:1;--_light-color:var(--sol-color-accent-1);--_background-mask:var(--sol-c-game-button-background-mask,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M55 32.5V35a7 7 0 0 1-2.26 5.14l-14.12 13A7 7 0 0 1 33.88 55H8a7 7 0 0 1-7-7V8a7 7 0 0 1 7-7h40a7 7 0 0 1 7 7v24.5Z'/%3E%3C/svg%3E\") 24 fill);--_border-mask:var(--sol-c-game-button-border-mask,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M55 32.5V35a7 7 0 0 1-2.26 5.14l-14.12 13A7 7 0 0 1 33.88 55H8a7 7 0 0 1-7-7V8a7 7 0 0 1 7-7h40a7 7 0 0 1 7 7v24.5Z'/%3E%3C/svg%3E\") 24 fill);border-radius:var(--_border-radius);color:var(--_border-color);cursor:var(--sol-cursor-interactive);display:flex;position:relative;transition-duration:var(--sol-motion-250);transition-property:color,opacity,transform;transition-timing-function:var(--sol-motion-ease);user-select:none}.sol-c-game-button:hover{--_border-color:var(--sol-color-accent-3);--_hologram-offset:var(--sol-size-025);--_hologram-opacity:1}.sol-c-game-button--pressed,.sol-c-game-button:active{--_border-color:var(--sol-color-accent-2);--_hologram-offset:0;--_hologram-opacity:0}.sol-c-game-button:disabled,.sol-c-game-button[aria-disabled=true]{opacity:.4;pointer-events:none}.sol-c-game-button[aria-busy=true]{--_background-color:rgba(var(--sol-color-primary-5-rgb)/0.8)}.sol-c-game-button:disabled,.sol-c-game-button:hover,.sol-c-game-button[aria-busy=true],.sol-c-game-button[aria-disabled=true]{--_glow-opacity:0;--_glow-state:paused}.sol-c-game-button__wrapper{-webkit-mask-box-image:var(--_background-mask);align-items:center;background:var(--_background-color);block-size:3.5rem;border-radius:inherit;color:var(--_foreground-color);display:flex;flex:1;gap:var(--sol-size-050);inline-size:18.5rem;justify-content:center;mask-border:var(--_background-mask);overflow:hidden;padding:0 var(--sol-size-150);position:relative;transition-duration:var(--sol-motion-250);transition-property:background-color,color,transform;transition-timing-function:var(--sol-motion-ease);z-index:2}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-game-button__wrapper{transform:translate(var(--_hologram-offset),calc(var(--_hologram-offset)*-1))}.sol-c-game-button--released .sol-c-game-button__wrapper:before{animation:sol-c-game-button-sweep var(--sol-motion-500) var(--sol-motion-linear);animation-delay:0;height:2rem;width:13rem}.sol-c-game-button--released .sol-c-game-button__wrapper:before,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-button__wrapper:before{background:linear-gradient(to right,var(--_light-color),#0000) no-repeat 50%;content:\"\";opacity:0;position:absolute;transform:translateX(-100%) rotate(calc(var(--sol-motion-angle)*-1))}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-button__wrapper:before{animation:sol-c-game-button-sweep var(--sol-motion-500) var(--sol-motion-linear);animation-delay:.9s;height:4rem;width:17rem}}@keyframes sol-c-game-button-sweep{50%{opacity:.4}to{opacity:0;transform:translateX(100%) rotate(calc(var(--sol-motion-angle)*-1))}}.sol-c-game-button__icon{--sol-c-icon-size:var(--sol-size-125);position:relative;z-index:3}.sol-c-game-button__label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font:var(--sol-text-button-m);position:relative;text-transform:var(--sol-text-transform-uppercase);top:var(--sol-text-button-m-font-offset);z-index:3}.sol-c-game-button__border{border:var(--_border-width) solid;border-radius:inherit;inset:0;overflow:hidden;position:absolute;z-index:4}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-game-button__border{transform:translate(var(--_hologram-offset),calc(var(--_hologram-offset)*-1));transition:transform var(--sol-motion-250) var(--sol-motion-ease)}}@supports ((-webkit-mask-box-image:var(--_border-mask )) or (mask-border:var(--_border-mask ))){.sol-c-game-button__border{-webkit-mask-box-image:var(--_border-mask);background:currentColor;border:0;mask-border:var(--_border-mask)}@container style(--sol-prefers-reduced-motion: no-preference){@supports (offset-path:inset(0 round var(--_border-radius ))){.sol-c-game-button__border:before{animation:sol-c-game-button-glow var(--_glow-speed) var(--sol-motion-linear) infinite var(--_glow-state);backface-visibility:hidden;background:radial-gradient(farthest-side,var(--_glow-color),#0000);content:\"\";display:block;height:3.5rem;offset-distance:0;offset-path:inset(0 round var(--_border-radius));offset-rotate:0deg;opacity:var(--_glow-opacity);position:absolute;transition:opacity var(--sol-motion-250) var(--sol-motion-ease);width:11.625rem}}}@keyframes sol-c-game-button-glow{to{offset-distance:100%}}}.sol-c-game-button__holo{display:none}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-game-button__holo{border:var(--_border-width) solid;border-radius:inherit;color:var(--_hologram-color);display:block;filter:blur(2px);inset:0;opacity:var(--_hologram-opacity);position:absolute;transform:translate(calc(var(--_hologram-offset)*-1),var(--_hologram-offset));transition-duration:var(--sol-motion-250);transition-property:opacity,transform;transition-timing-function:var(--sol-motion-ease);z-index:1}@supports ((-webkit-mask-box-image:var(--_border-mask )) or (mask-border:var(--_border-mask ))){.sol-c-game-button__holo{border:0}.sol-c-game-button__holo:before{-webkit-mask-box-image:var(--_border-mask);background:currentColor;content:\"\";inset:0;mask-border:var(--_border-mask);position:absolute}}}}");
let KI = (0, Ee.forwardRef)((({
children: e,
className: t,
icon: n,
iconAnimation: r = !0,
loading: a,
loadingIcon: i = wy,
loadingIconAnimation: o = !0,
onKeyDown: s,
onKeyUp: l,
onMouseDown: c,
onMouseEnter: u,
onMouseLeave: d,
onMouseUp: p,
...h
}, f) => {
let [m, g] = (0, Ee.useState)(!1), [v, _] = (0, Ee.useState)(!1), [y, b] = (0, Ee.useState)(!1),
x = (0, Ee.useCallback)((e => {
("Space" === e.code || "Enter" === e.code) && (_(!1), g(!0)), s && s(e)
}), [s]), w = (0, Ee.useCallback)((e => {
("Space" === e.code || "Enter" === e.code) && (_(!0), g(!1)), l && l(e)
}), [l]), k = (0, Ee.useCallback)((e => {
_(!1), g(!0), c?.(e)
}), [c]), S = (0, Ee.useCallback)((e => {
b(!0), u?.(e)
}), [u]), E = (0, Ee.useCallback)((e => {
b(!1), d?.(e)
}), [d]), I = (0, Ee.useCallback)((e => {
_(!0), g(!1), p?.(e)
}), [p]), C = a && i ? i : n, O = (0, Ee.useMemo)((() => {
if (a) switch (o) {
case"hover":
return y;
case"not-hover":
return !y;
default:
return o
}
switch (r) {
case"hover":
return y;
case"not-hover":
return !y;
default:
return r
}
}), [r, y, a, o]),
P = Ty("sol-c-game-button", m && "sol-c-game-button--pressed", v && "sol-c-game-button--released", t);
return sy.jsxs(ub, {
className: P,
loading: a,
onKeyDown: x,
onKeyUp: w,
onMouseDown: k,
onMouseEnter: S,
onMouseLeave: E,
onMouseUp: I,
ref: f, ...h,
children: [sy.jsx("span", {
"aria-hidden": "true",
className: "sol-c-game-button__border"
}), sy.jsxs("span", {
className: "sol-c-game-button__wrapper",
children: [C && sy.jsx(pb, {
className: "sol-c-game-button__icon",
isPlaying: O,
source: C
}), sy.jsx("span", {className: "sol-c-game-button__label", children: e})]
}), sy.jsx("span", {"aria-hidden": "true", className: "sol-c-game-button__holo"})]
})
}));
ry('@layer sol.components{.sol-c-game-page{display:flex;flex:1 0 auto;flex-direction:column;overflow:hidden;position:relative;z-index:1}.sol-c-game-page__navigation{inset-block-start:0;inset-inline-start:0;position:absolute;z-index:2}.sol-c-game-page__wrapper{--_background:var(--sol-color-primary-1-rgb);--_gradient:rgb(var(--_background)/1) 0%,rgb(var(--_background)/0.991615) 11.79%,rgb(var(--_background)/0.967585) 21.38%,rgb(var(--_background)/0.9296) 29.12%,rgb(var(--_background)/0.879348) 35.34%,rgb(var(--_background)/0.818519) 40.37%,rgb(var(--_background)/0.7488) 44.56%,rgb(var(--_background)/0.671881) 48.24%,rgb(var(--_background)/0.589452) 51.76%,rgb(var(--_background)/0.5032) 55.44%,rgb(var(--_background)/0.414815) 59.63%,rgb(var(--_background)/0.325985) 64.66%,rgb(var(--_background)/0.2384) 70.88%,rgb(var(--_background)/0.153748) 78.62%,rgb(var(--_background)/0.0737185) 88.21%,rgb(var(--_background)/0) 100%;--_padding-inline:var(--sol-size-550) var(--sol-size-200);--_gutter-size:var(--sol-size-500);--_content-overflow-indicator-size:var(--sol-size-100);--_content-padding-inline-start:var(--_content-overflow-indicator-size);--_content-padding-inline-end:var(--sol-size-200);--_content-gap:var(--sol-size-200);background:rgb(var(--_background));column-gap:var(--_gutter-size);display:grid;flex:1;grid:"header header " 1fr "title tabs " auto "actions content" 23.5rem/18.5rem minmax(0,1fr);padding-block:0 var(--sol-size-250);padding-inline:var(--_padding-inline);position:relative;z-index:1}.sol-c-game-page__header{--_padding-inline:var(--sol-size-200) var(--sol-size-550);display:flex;grid-area:header;padding-block:var(--sol-size-250);padding-inline:var(--_padding-inline)}.sol-c-game-page__logo{display:block;flex:1;margin:auto;max-inline-size:35vw}.sol-c-game-page__logo svg{display:block;height:100%;width:100%}.sol-c-game-page__title{align-self:end;grid-area:title}.sol-c-game-page__tabs{align-self:end;display:flex;flex-wrap:wrap;grid-area:tabs;padding-block:var(--sol-size-050);position:relative}.sol-c-game-page__tab .sol-c-text:after,.sol-c-game-page__tabs-indicator{--_indicator-color:var(--sol-color-interactive-selected);background:var(--_indicator-color);block-size:var(--sol-border-2);inset-block-end:0;inset-inline:0;opacity:0;position:absolute;top:calc(100% - var(--sol-size-050) - var(--sol-border-2));transition:all var(--sol-motion-250) var(--sol-motion-ease);width:0}.sol-c-game-page__tabs-indicator{--_tab-color:var(--sol-color-foreground-weak)}.sol-c-game-page__tab .sol-c-text{position:relative}.sol-c-game-page__tab .sol-c-text:after{background:var(--_tab-color);content:"";top:calc(var(--sol-border-2) + var(--sol-size-200))}.sol-c-game-page__tab{align-items:center;color:var(--_tab-color);cursor:var(--sol-cursor-interactive);display:flex;gap:var(--sol-size-050);padding-block:var(--sol-size-075);padding-inline:var(--sol-size-075);position:relative;transition:color var(--sol-motion-250) var(--sol-motion-ease);white-space:nowrap}.sol-c-game-page__tab:not([dir=rtl]):first-child{padding-left:0}.sol-c-game-page__tab[aria-current=true],.sol-c-game-page__tab[aria-pressed=true]{--_tab-color:var(--sol-color-interactive-selected)}.sol-c-game-page__tab[aria-current=true]:hover~.sol-c-game-page__tabs-indicator,.sol-c-game-page__tab[aria-pressed=true]:hover~.sol-c-game-page__tabs-indicator{background:var(--sol-color-interactive-hovered)}.sol-c-game-page__tab:hover{--_tab-color:var(--sol-color-interactive-hovered)}.sol-c-game-page__tab:active{--_tab-color:var(--sol-color-interactive-pressed)}@container style(--sol-prefers-reduced-motion: reduce){.sol-c-game-page__tab .sol-c-text:after{width:100%}.sol-c-game-page__tab:not([dir=rtl]):last-child{padding-right:0}.sol-c-game-page__tab[aria-current=true] .sol-c-text:after,.sol-c-game-page__tab[aria-pressed=true] .sol-c-text:after{opacity:1}}.sol-c-game-page__actions{grid-area:actions;padding-block-start:var(--sol-size-100)}.sol-c-game-page__channel-selector .sol-c-field__content>.sol-c-input{gap:0;padding-right:0}.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__separator{margin-left:var(--sol-size-100)}.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button{cursor:pointer;display:block;padding:var(--sol-size-075) var(--sol-size-100)}.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button:before{border-radius:var(--sol-radius-4);height:var(--sol-size-150);margin:auto;width:var(--sol-size-150)}.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button .sol-c-icon{margin-top:-1px}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button .sol-c-icon,.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button:before{transition:all var(--sol-motion-250) var(--sol-motion-ease)}.sol-c-game-page__channel-selector .sol-c-field__content .sol-c-input__suffix .sol-c-button:hover .sol-c-icon{transform:rotate(90deg)}}.sol-c-game-page__content{align-self:flex-start;display:flex;flex:1;grid-area:content;position:relative}.sol-c-game-page__content[data-sol-scroll-start]:before{--_border:linear-gradient(#0000,var(--sol-color-accent-1) 25% 75%,#0000) no-repeat left /var(--sol-border-1) 100%;--_shadow:radial-gradient(100% 50% at 0% 50%,rgb(var(--sol-color-primary-1-rgb)/0.7),#0000);background:var(--_border),var(--_shadow);content:"";inline-size:var(--_content-overflow-indicator-size);inset-block-end:var(--sol-size-100);inset-block-start:var(--sol-size-150);inset-inline-start:calc(var(--_content-padding-inline-start)*-1);opacity:0;position:absolute;transition:opacity var(--sol-motion-250);z-index:2}.sol-c-game-page__content[data-sol-scroll-start=false]:before{opacity:1}[dir=rtl] .sol-c-game-page__content[data-sol-scroll-start]:before{transform:scaleX(-1)}.sol-c-game-page__cards{display:flex;gap:var(--_content-gap);margin-inline-end:calc(var(--_content-padding-inline-end)*-1);margin-inline-start:calc(var(--_content-padding-inline-start)*-1);overflow:hidden;overflow-x:auto;overscroll-behavior-x:contain;padding-block-end:var(--sol-size-150);padding-block-start:var(--sol-size-300);padding-inline-end:var(--_content-padding-inline-end);padding-inline-start:var(--_content-padding-inline-start);position:relative;scroll-padding-inline-end:var(--_content-padding-inline-end);scroll-padding-inline-start:var(--_content-padding-inline-start);z-index:1}.sol-c-game-page__cards::-webkit-scrollbar-button:end:increment,.sol-c-game-page__cards::-webkit-scrollbar-button:start:decrement{display:block}.sol-c-game-page__cards::-webkit-scrollbar-button:end:decrement,.sol-c-game-page__cards::-webkit-scrollbar-button:start:increment{display:none}.sol-c-game-page__cards::-webkit-scrollbar-button:decrement,[dir=rtl] .sol-c-game-page__cards::-webkit-scrollbar-button:increment{width:calc(var(--_content-padding-inline-start) - var(--sol-scrollbar-border))}.sol-c-game-page__cards::-webkit-scrollbar-button:increment,[dir=rtl] .sol-c-game-page__cards::-webkit-scrollbar-button:decrement{width:calc(var(--_content-padding-inline-end) - var(--sol-scrollbar-border))}.sol-c-game-page__card{display:flex;flex:0 0 auto;flex-direction:column}.sol-c-game-page__empty{margin-block:auto;padding-block:var(--sol-size-300)}.sol-c-game-page__background{inset-block-start:0;inset-inline:0;padding-top:42.8571428571%;position:absolute;z-index:-1}.sol-c-game-page__background:before{background:linear-gradient(to top,var(--_gradient));content:"";inset:0;position:absolute;z-index:1}.sol-c-game-page__image,.sol-c-game-page__video{height:100%;left:0;object-fit:cover;object-position:top;position:absolute;top:0;width:100%}.sol-c-game-page__image{animation:sol-motion-fade-in var(--sol-motion-300) var(--sol-motion-ease-out) forwards;opacity:0}.sol-c-game-page__video{display:none;opacity:0}.sol-c-game-page__video--is-loaded{animation:sol-motion-fade-in var(--sol-motion-500) linear forwards;display:block}}@container style(--sol-motion-transition-effects: enabled){.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__actions,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__content,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__logo,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__navigation,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__title,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__actions,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__card,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__content,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__logo,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__navigation,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__tab,.sol-c-game-page[data-sol-animation-gamepage=is-init] .sol-c-game-page__title{opacity:0}.sol-c-game-page[data-sol-animation-gamepage=is-entering]{--_anim-base-delay:0s}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__actions,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__content,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__logo,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__navigation,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tabs-indicator,.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__title{animation:sol-motion-fade-in var(--sol-motion-500) var(--sol-motion-ease-out) forwards;opacity:0}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__logo{animation-delay:var(--_anim-base-delay)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__navigation{animation-delay:calc(var(--_anim-base-delay) + .3s);transform:translateX(-20px)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__title{animation-delay:calc(var(--_anim-base-delay) + .5s);transform:translateX(-10px)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__actions{animation-delay:calc(var(--_anim-base-delay) + .6s);transform:translateX(-15px)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab{transform:translateY(5px)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:first-child{animation-delay:calc(var(--_anim-base-delay) + .7s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(2){animation-delay:calc(var(--_anim-base-delay) + .8s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(3){animation-delay:calc(var(--_anim-base-delay) + .9s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(4){animation-delay:calc(var(--_anim-base-delay) + 1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(5){animation-delay:calc(var(--_anim-base-delay) + 1.1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(6){animation-delay:calc(var(--_anim-base-delay) + 1.2s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(7){animation-delay:calc(var(--_anim-base-delay) + 1.3s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(8){animation-delay:calc(var(--_anim-base-delay) + 1.4s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(9){animation-delay:calc(var(--_anim-base-delay) + 1.5s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tab:nth-child(10){animation-delay:calc(var(--_anim-base-delay) + 1.6s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__tabs-indicator{animation-delay:calc(var(--_anim-base-delay) + 1.1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__content{animation-delay:calc(var(--_anim-base-delay) + .7s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card{transform:translateY(20px)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:first-child{animation-delay:calc(var(--_anim-base-delay) + .8s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(2){animation-delay:calc(var(--_anim-base-delay) + .9s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(3){animation-delay:calc(var(--_anim-base-delay) + 1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(4){animation-delay:calc(var(--_anim-base-delay) + 1.1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(5){animation-delay:calc(var(--_anim-base-delay) + 1.2s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(6){animation-delay:calc(var(--_anim-base-delay) + 1.3s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(7){animation-delay:calc(var(--_anim-base-delay) + 1.4s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(8){animation-delay:calc(var(--_anim-base-delay) + 1.5s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(9){animation-delay:calc(var(--_anim-base-delay) + 1.6s)}.sol-c-game-page[data-sol-animation-gamepage=is-entering] .sol-c-game-page__card:nth-child(10){animation-delay:calc(var(--_anim-base-delay) + 1.7s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered]{--_anim-base-delay:0s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__actions,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__content,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__logo,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__navigation,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tabs-indicator,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__title{animation:sol-motion-fade-in var(--sol-motion-300) var(--sol-motion-ease-out) forwards;opacity:0}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__logo{animation-delay:var(--_anim-base-delay)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__title{animation-delay:calc(var(--_anim-base-delay) + .2s);transform:translateX(-10px)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__actions{animation-delay:calc(var(--_anim-base-delay) + .3s);transform:translateX(-15px)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab{transform:translateY(5px)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:first-child{animation-delay:calc(var(--_anim-base-delay) + .2s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(2){animation-delay:calc(var(--_anim-base-delay) + .3s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(3){animation-delay:calc(var(--_anim-base-delay) + .4s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(4){animation-delay:calc(var(--_anim-base-delay) + .5s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(5){animation-delay:calc(var(--_anim-base-delay) + .6s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(6){animation-delay:calc(var(--_anim-base-delay) + .7s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(7){animation-delay:calc(var(--_anim-base-delay) + .8s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(8){animation-delay:calc(var(--_anim-base-delay) + .9s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(9){animation-delay:calc(var(--_anim-base-delay) + 1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tab:nth-child(10){animation-delay:calc(var(--_anim-base-delay) + 1.1s)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__content,.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__tabs-indicator{animation-delay:0}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card{transform:translateY(20px)}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:first-child{animation-delay:0s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(2){animation-delay:.1s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(3){animation-delay:.2s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(4){animation-delay:.3s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(5){animation-delay:.4s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(6){animation-delay:.5s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(7){animation-delay:.6s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(8){animation-delay:.7s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(9){animation-delay:.8s}.sol-c-game-page[data-sol-animation-gamepage=is-entered] .sol-c-game-page__card:nth-child(10){animation-delay:.9s}}');
let YI = Dy((({children: e, className: t, title: n, ...r}, a) => {
let i = Ty("sol-c-game-page__actions", t);
return sy.jsx(Cb, {className: i, gap: "150", ref: a, vertical: !0, ...r, children: e})
})), QI = Dy((({as: e = "div", className: t, image: n, video: r, ...a}, i) => {
let o = Ty("sol-c-game-page__background", t), [s, l] = (0, Ee.useState)(!0), c = (0, Ee.useRef)(null);
return (0, Ee.useEffect)((() => {
s || c.current?.play()
}), [s]), sy.jsxs(e, {
"aria-hidden": "true",
className: o,
ref: i, ...a,
children: [n && sy.jsx("img", {
alt: "",
className: "sol-c-game-page__image", ..."string" == typeof n ? {src: n} : n
}), r && sy.jsx("video", {
ref: c,
className: "sol-c-game-page__video " + (s ? "" : "sol-c-game-page__video--is-loaded"),
disableRemotePlayback: !0,
loop: !0,
muted: !0,
playsInline: !0,
poster: n && "string" == typeof n ? n : void 0,
preload: "auto",
src: "string" == typeof r ? r : void 0,
onCanPlayThrough: () => l(!1),
children: Array.isArray(r) && r.map(((e, t) => sy.jsx("source", {...e}, t)))
})]
})
})), ZI = Dy((({as: e = "div", children: t, className: n, empty: r, ...a}, i) => {
let {ref: o, inlineStart: s, inlineEnd: l} = ab();
(({ref: e, scrollSpeed: t = .9, scrollMomentum: n = 0, minimumVelocity: r = .05} = {}) => {
let a = (0, Ee.useRef)(null), i = e || a, o = (0, Ee.useRef)({x: 0, y: 0}), s = (0, Ee.useRef)(null),
l = (0, Ee.useCallback)((() => {
let e = i.current;
e && (e.scrollLeft = e.scrollLeft + o.current.x, e.scrollTop = e.scrollTop + o.current.y, o.current.x *= n, o.current.y *= n, (Math.abs(o.current.x) > r || Math.abs(o.current.y) > r) && (s.current = requestAnimationFrame(l)))
}), [r, i, n]), c = (0, Ee.useCallback)((e => {
let r = i.current;
if (!r) return;
s.current && cancelAnimationFrame(s.current);
let a = Math.round(r.scrollWidth - r.clientWidth) > 0, c = e.deltaY * t;
a ? (r.scrollBy({
left: c,
behavior: Math.abs(c) > 50 && 0 === n ? "smooth" : "auto"
}), o.current.x = c) : a || 0 === n || (r.scrollTop += c, o.current.y = c), 0 !== n && (s.current = requestAnimationFrame(l))
}), [t, n, l, i]);
zy({ref: i, onResize: c}), (0, Ee.useEffect)((() => {
let e = i.current;
if (e) return e.addEventListener("wheel", c, {passive: !1}), () => e.removeEventListener("wheel", c, !1)
}), [c, i]), (0, Ee.useMemo)((() => ({ref: i})), [i])
})({ref: o, scrollMomentum: .95, scrollSpeed: .2}), (({
decay: e = .85,
isEnabled: t,
minimumVelocity: n = .05,
mouseButton: r = "left",
ref: a,
safeDistance: i = 10
} = {}) => {
let o = (0, Ee.useRef)(null), s = a || o, l = (0, Ee.useMemo)((() => {
switch (r) {
case"left":
return 0;
case"middle":
return 1;
case"right":
return 2
}
}), [r]), c = (0, Ee.useRef)(!1), u = (0, Ee.useRef)(!1), d = (0, Ee.useRef)({x: 0, y: 0}),
p = (0, Ee.useRef)({left: 0, top: 0}), h = (0, Ee.useRef)({x: 0, y: 0}), f = (0, Ee.useRef)(null);
My((() => {
let r = s.current;
if (!r || !t) return;
let a = () => {
r && (r.scrollLeft += h.current.x, r.scrollTop += h.current.y, h.current.x *= e, h.current.y *= e, (Math.abs(h.current.x) > n || Math.abs(h.current.y) > n) && (f.current = requestAnimationFrame(a)))
}, o = e => {
e.button === l && (c.current = !0, r.style.cursor = "grabbing", d.current = {
x: e.pageX - r.offsetLeft,
y: e.pageY - r.offsetTop
}, p.current = {
left: r.scrollLeft,
top: r.scrollTop
}, f.current && cancelAnimationFrame(f.current))
}, m = e => {
if (!c.current) return;
e.preventDefault();
let t = e.pageX - r.offsetLeft - d.current.x, n = e.pageY - r.offsetTop - d.current.y,
a = r.scrollLeft, o = r.scrollTop;
r.scrollLeft = p.current.left - t, r.scrollTop = p.current.top - n, h.current = {
x: r.scrollLeft - a,
y: r.scrollTop - o
}, !u.current && (Math.abs(t) > i || Math.abs(n) > i) && (u.current = !0, r.dataset.solDragScroll = "true")
}, g = () => {
c.current && (c.current = !1, r.style.removeProperty("cursor"), u.current && (r.childNodes.forEach((e => e.addEventListener("click", (e => {
e.preventDefault(), e.stopPropagation()
}), {once: !0}))), u.current = !1, delete r.dataset.solDragScroll), f.current = requestAnimationFrame(a))
};
return r.addEventListener("mousedown", o), window.addEventListener("mousemove", m), window.addEventListener("mouseup", g), () => {
r.removeEventListener("mousedown", o), window.removeEventListener("mousemove", m), window.removeEventListener("mouseup", g), f.current && cancelAnimationFrame(f.current)
}
}), [e, t, n, l, s, i])
})({isEnabled: !!t, ref: o});
let c = Ty("sol-c-game-page__content", n);
return sy.jsx(e, {
className: c,
"data-sol-scroll-start": s,
"data-sol-scroll-end": l,
ref: i, ...a,
children: t ? sy.jsx("ul", {
className: "sol-c-game-page__cards",
"data-sol-scrollbar-hidden": "true",
ref: o,
children: Ee.Children.map(t, ((e, t) => sy.jsx("li", {
className: "sol-c-game-page__card",
children: e
}, t)))
}) : r && sy.jsx(hb, {className: "sol-c-game-page__empty", variant: "heading-xs", children: r})
})
})), XI = Dy((({as: e = "div", animation: t, playLottie: n = !1, className: r, logo: a, ...i}, o) => {
let s = Ty("sol-c-game-page__header", r), [l, c] = (0, Ee.useState)(!1);
(0, Ee.useEffect)((() => {
n && c(!0)
}), [n]);
let u = nb(t, {loop: !1, isPlaying: l});
return sy.jsx(e, {
"aria-hidden": "true",
className: s,
ref: o, ...i,
children: sy.jsx(u, {
className: "sol-c-game-page__logo",
children: a && sy.jsx("img", {alt: "Game logo", src: a})
})
})
}));
ry("@layer sol.components{.sol-c-tag{align-items:center;background:var(--sol-color-surface-1);border-radius:var(--sol-radius-4);color:var(--sol-color-foregroud);display:inline-flex;justify-content:center;max-inline-size:100%;min-inline-size:var(--sol-size-150);padding-block:var(--sol-size-025);padding-inline:var(--sol-size-050)}}");
let JI = Dy((({as: e = "p", children: t, className: n, status: r, ...a}, i) => {
let {ref: o, hasOverflow: s} = Vy(),
l = Ty("sol-c-tag", r && `sol-u-background-status-${r}-fill sol-u-color-status-${r}-fill-contrast`, n);
return sy.jsx(qk, {
content: t,
enabled: s,
children: sy.jsx(e, {
className: l,
ref: i, ...a,
children: sy.jsx(hb, {
as: "span",
className: "sol-c-tag__label",
ref: o,
truncate: !0,
variant: "label-s",
children: t
})
})
})
})), eC = Dy((({className: e, status: t, title: n, ...r}, a) => {
let i = Ty("sol-c-game-page__message", e),
o = sy.jsx(hb, {className: i, ref: a, color: "foreground-weak", variant: "body-s", ...r});
return n ? sy.jsxs(Cb, {
gap: "050",
vertical: !0,
align: "start",
children: [sy.jsx(JI, {as: "h2", status: t, children: n}), o]
}) : o
})), tC = (0, Ee.forwardRef)((({active: e, className: t, icon: n, label: r, ...a}, i) => {
let o = Ty("sol-c-game-page__tab", t),
s = {[a.href ? "aria-current" : "aria-pressed"]: !!e || void 0, className: o, ref: i, ...a};
return sy.jsxs(ub, {
...s,
children: [r && sy.jsx(hb, {
as: "span",
variant: "button-m",
children: r
}), n && sy.jsx(pb, {source: n})]
})
}));
var nC = Object.defineProperty, rC = {};
((e, t) => {
for (var n in t) nC(e, n, {get: t[n], enumerable: !0})
})(rC, {
assign: () => LC,
colors: () => TC,
createStringInterpolator: () => oE,
skipAnimation: () => DC,
to: () => sE,
willAdvance: () => RC
});
var aC = bC(), iC = e => gC(e, aC), oC = bC();
iC.write = e => gC(e, oC);
var sC = bC();
iC.onStart = e => gC(e, sC);
var lC = bC();
iC.onFrame = e => gC(e, lC);
var cC = bC();
iC.onFinish = e => gC(e, cC);
var uC = [];
iC.setTimeout = (e, t) => {
let n = iC.now() + t, r = () => {
let e = uC.findIndex((e => e.cancel == r));
~e && uC.splice(e, 1), fC -= ~e ? 1 : 0
}, a = {time: n, handler: e, cancel: r};
return uC.splice(dC(n), 0, a), fC += 1, vC(), a
};
var dC = e => ~(~uC.findIndex((t => t.time > e)) || ~uC.length);
iC.cancel = e => {
sC.delete(e), lC.delete(e), cC.delete(e), aC.delete(e), oC.delete(e)
}, iC.sync = e => {
mC = !0, iC.batchedUpdates(e), mC = !1
}, iC.throttle = e => {
let t;
function n() {
try {
e(...t)
} finally {
t = null
}
}
function r(...e) {
t = e, iC.onStart(n)
}
return r.handler = e, r.cancel = () => {
sC.delete(n), t = null
}, r
};
var pC = "undefined" != typeof window ? window.requestAnimationFrame : () => {
};
iC.use = e => pC = e, iC.now = "undefined" != typeof performance ? () => performance.now() : Date.now, iC.batchedUpdates = e => e(), iC.catch = console.error, iC.frameLoop = "always", iC.advance = () => {
"demand" !== iC.frameLoop ? console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand") : yC()
};
var hC = -1, fC = 0, mC = !1;
function gC(e, t) {
mC ? (t.delete(e), e(0)) : (t.add(e), vC())
}
function vC() {
hC < 0 && (hC = 0, "demand" !== iC.frameLoop && pC(_C))
}
function _C() {
~hC && (pC(_C), iC.batchedUpdates(yC))
}
function yC() {
let e = hC;
hC = iC.now();
let t = dC(hC);
t && (xC(uC.splice(0, t), (e => e.handler())), fC -= t), fC ? (sC.flush(), aC.flush(e ? Math.min(64, hC - e) : 16.667), lC.flush(), oC.flush(), cC.flush()) : hC = -1
}
function bC() {
let e = new Set, t = e;
return {
add(n) {
fC += t != e || e.has(n) ? 0 : 1, e.add(n)
}, delete: n => (fC -= t == e && e.has(n) ? 1 : 0, e.delete(n)), flush(n) {
t.size && (e = new Set, fC -= t.size, xC(t, (t => t(n) && e.add(t))), fC += e.size, t = e)
}
}
}
function xC(e, t) {
e.forEach((e => {
try {
t(e)
} catch (e) {
iC.catch(e)
}
}))
}
function wC() {
}
var kC = {
arr: Array.isArray,
obj: e => !!e && "Object" === e.constructor.name,
fun: e => "function" == typeof e,
str: e => "string" == typeof e,
num: e => "number" == typeof e,
und: e => void 0 === e
};
function SC(e, t) {
if (kC.arr(e)) {
if (!kC.arr(t) || e.length !== t.length) return !1;
for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
return !0
}
return e === t
}
var EC = (e, t) => e.forEach(t);
function IC(e, t, n) {
if (kC.arr(e)) for (let r = 0; r < e.length; r++) t.call(n, e[r], `${r}`); else for (let r in e) e.hasOwnProperty(r) && t.call(n, e[r], r)
}
var CC = e => kC.und(e) ? [] : kC.arr(e) ? e : [e];
function OC(e, t) {
if (e.size) {
let n = Array.from(e);
e.clear(), EC(n, t)
}
}
var PC = (e, ...t) => OC(e, (e => e(...t))),
AC = () => "undefined" == typeof window || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent),
TC = null, DC = !1, RC = wC, LC = e => {
e.to && (sE = e.to), e.now && (iC.now = e.now), void 0 !== e.colors && (TC = e.colors), null != e.skipAnimation && (DC = e.skipAnimation), e.createStringInterpolator && (oE = e.createStringInterpolator), e.requestAnimationFrame && iC.use(e.requestAnimationFrame), e.batchedUpdates && (iC.batchedUpdates = e.batchedUpdates), e.willAdvance && (RC = e.willAdvance), e.frameLoop && (iC.frameLoop = e.frameLoop)
}, jC = new Set, NC = [], MC = [], FC = 0, zC = {
get idle() {
return !jC.size && !NC.length
}, start(e) {
FC > e.priority ? (jC.add(e), iC.onStart(VC)) : (UC(e), iC(GC))
}, advance: GC, sort(e) {
if (FC) iC.onFrame((() => zC.sort(e))); else {
let t = NC.indexOf(e);
~t && (NC.splice(t, 1), BC(e))
}
}, clear() {
NC = [], jC.clear()
}
};
function VC() {
jC.forEach(UC), jC.clear(), iC(GC)
}
function UC(e) {
NC.includes(e) || BC(e)
}
function BC(e) {
NC.splice(function (e, t) {
let n = e.findIndex(t);
return n < 0 ? e.length : n
}(NC, (t => t.priority > e.priority)), 0, e)
}
function GC(e) {
let t = MC;
for (let n = 0; n < NC.length; n++) {
let r = NC[n];
FC = r.priority, r.idle || (RC(r), r.advance(e), r.idle || t.push(r))
}
return FC = 0, (MC = NC).length = 0, (NC = t).length > 0
}
var $C = "[-+]?\\d*\\.?\\d+", qC = $C + "%";
function WC(...e) {
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"
}
var HC = RegExp("rgb" + WC($C, $C, $C)), KC = RegExp("rgba" + WC($C, $C, $C, $C)),
YC = RegExp("hsl" + WC($C, qC, qC)), QC = RegExp("hsla" + WC($C, qC, qC, $C)),
ZC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
XC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, JC = /^#([0-9a-fA-F]{6})$/,
eO = /^#([0-9a-fA-F]{8})$/;
function tO(e, t, n) {
return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + 6 * (t - e) * n : n < .5 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e
}
function nO(e, t, n) {
let r = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - r, i = tO(a, r, e + 1 / 3), o = tO(a, r, e),
s = tO(a, r, e - 1 / 3);
return Math.round(255 * i) << 24 | Math.round(255 * o) << 16 | Math.round(255 * s) << 8
}
function rO(e) {
let t = parseInt(e, 10);
return t < 0 ? 0 : t > 255 ? 255 : t
}
function aO(e) {
return (parseFloat(e) % 360 + 360) % 360 / 360
}
function iO(e) {
let t = parseFloat(e);
return t < 0 ? 0 : t > 1 ? 255 : Math.round(255 * t)
}
function oO(e) {
let t = parseFloat(e);
return t < 0 ? 0 : t > 100 ? 1 : t / 100
}
function sO(e) {
let t,
n = "number" == typeof e ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = JC.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : TC && void 0 !== TC[e] ? TC[e] : (t = HC.exec(e)) ? (rO(t[1]) << 24 | rO(t[2]) << 16 | rO(t[3]) << 8 | 255) >>> 0 : (t = KC.exec(e)) ? (rO(t[1]) << 24 | rO(t[2]) << 16 | rO(t[3]) << 8 | iO(t[4])) >>> 0 : (t = ZC.exec(e)) ? parseInt(t[1] + t[1] + t[2] + t[2] + t[3] + t[3] + "ff", 16) >>> 0 : (t = eO.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = XC.exec(e)) ? parseInt(t[1] + t[1] + t[2] + t[2] + t[3] + t[3] + t[4] + t[4], 16) >>> 0 : (t = YC.exec(e)) ? (255 | nO(aO(t[1]), oO(t[2]), oO(t[3]))) >>> 0 : (t = QC.exec(e)) ? (nO(aO(t[1]), oO(t[2]), oO(t[3])) | iO(t[4])) >>> 0 : null;
return null === n ? e : (n = n || 0, `rgba(${(4278190080 & n) >>> 24}, ${(16711680 & n) >>> 16}, ${(65280 & n) >>> 8}, ${(255 & n) / 255})`)
}
var lO = (e, t, n) => {
if (kC.fun(e)) return e;
if (kC.arr(e)) return lO({range: e, output: t, extrapolate: n});
if (kC.str(e.output[0])) return oE(e);
let r = e.output, a = e.range || [0, 1], i = e.extrapolateLeft || e.extrapolate || "extend",
o = e.extrapolateRight || e.extrapolate || "extend", s = e.easing || (e => e);
return t => {
let n = function (e, t) {
for (var n = 1; n < t.length - 1 && !(t[n] >= e); ++n) ;
return n - 1
}(t, a);
return function (e, t, n, r, a, i, o, s, l) {
let c = l ? l(e) : e;
if (c < t) {
if ("identity" === o) return c;
"clamp" === o && (c = t)
}
if (c > n) {
if ("identity" === s) return c;
"clamp" === s && (c = n)
}
return r === a ? r : t === n ? e <= t ? r : a : (t === -1 / 0 ? c = -c : n === 1 / 0 ? c -= t : c = (c - t) / (n - t), c = i(c), r === -1 / 0 ? c = -c : a === 1 / 0 ? c += r : c = c * (a - r) + r, c)
}(t, a[n], a[n + 1], r[n], r[n + 1], s, i, o, e.map)
}
}, cO = Symbol.for("FluidValue.get"), uO = Symbol.for("FluidValue.observers"), dO = e => !(!e || !e[cO]),
pO = e => e && e[cO] ? e[cO]() : e, hO = e => e[uO] || null;
function fO(e, t) {
let n = e[uO];
n && n.forEach((e => {
e.eventObserved ? e.eventObserved(t) : e(t)
}))
}
var mO = class {
constructor(e) {
if (!e && !(e = this.get)) throw Error("Unknown getter");
gO(this, e)
}
}, gO = (e, t) => yO(e, cO, t);
function vO(e, t) {
if (e[cO]) {
let n = e[uO];
n || yO(e, uO, n = new Set), !n.has(t) && (n.add(t), e.observerAdded && e.observerAdded(n.size, t))
}
return t
}
function _O(e, t) {
let n = e[uO];
if (n && n.has(t)) {
let r = n.size - 1;
r ? n.delete(t) : e[uO] = null, e.observerRemoved && e.observerRemoved(r, t)
}
}
var yO = (e, t, n) => Object.defineProperty(e, t, {value: n, writable: !0, configurable: !0}),
bO = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
xO = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,
wO = RegExp(`(${bO.source})(%|[a-z]+)`, "i"),
kO = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,
SO = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, EO = e => {
let [t, n] = IO(e);
if (!t || AC()) return e;
let r = window.getComputedStyle(document.documentElement).getPropertyValue(t);
if (r) return r.trim();
if (n && n.startsWith("--")) {
let e = window.getComputedStyle(document.documentElement).getPropertyValue(n);
if (e) return e
} else {
if (n && SO.test(n)) return EO(n);
if (n) return n
}
return e
}, IO = e => {
let t = SO.exec(e);
if (!t) return [,];
let [, n, r] = t;
return [n, r]
}, CO = (e, t, n, r, a) => `rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(r)}, ${a})`, OO = e => {
lE || (lE = TC ? RegExp(`(${Object.keys(TC).join("|")})(?!\\w)`, "g") : /^\b$/);
let t = e.output.map((e => pO(e).replace(SO, EO).replace(xO, sO).replace(lE, sO))),
n = t.map((e => e.match(bO).map(Number))), r = n[0].map(((e, t) => n.map((e => {
if (!(t in e)) throw Error('The arity of each "output" value must be equal');
return e[t]
})))), a = r.map((t => lO({...e, output: t})));
return e => {
let n = !wO.test(t[0]) && t.find((e => wO.test(e)))?.replace(bO, ""), r = 0;
return t[0].replace(bO, (() => `${a[r++](e)}${n || ""}`)).replace(kO, CO)
}
}, PO = "react-spring: ", AO = e => {
let t = !1;
if ("function" != typeof e) throw TypeError(`${PO}once requires a function parameter`);
return (...n) => {
t || (e(...n), t = !0)
}
}, TO = AO(console.warn), DO = AO(console.warn);
function RO(e) {
return kC.str(e) && ("#" == e[0] || /\d/.test(e) || !AC() && SO.test(e) || e in (TC || {}))
}
var LO = AC() ? Ee.useEffect : Ee.useLayoutEffect;
function jO() {
let e = (0, Ee.useState)()[1], t = (() => {
let e = (0, Ee.useRef)(!1);
return LO((() => (e.current = !0, () => {
e.current = !1
})), []), e
})();
return () => {
t.current && e(Math.random())
}
}
var NO = e => (0, Ee.useEffect)(e, MO), MO = [];
function FO(e) {
let t = (0, Ee.useRef)();
return (0, Ee.useEffect)((() => {
t.current = e
})), t.current
}
var zO = Symbol.for("Animated:node"), VO = e => e && e[zO],
UO = (e, t) => ((e, t, n) => Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
}))(e, zO, t), BO = e => e && e[zO] && e[zO].getPayload(), GO = class {
constructor() {
UO(this, this)
}
getPayload() {
return this.payload || []
}
}, $O = class extends GO {
constructor(e) {
super(), this._value = e, this.done = !0, this.durationProgress = 0, kC.num(this._value) && (this.lastPosition = this._value)
}
static create(e) {
return new $O(e)
}
getPayload() {
return [this]
}
getValue() {
return this._value
}
setValue(e, t) {
return kC.num(e) && (this.lastPosition = e, t && (e = Math.round(e / t) * t, this.done && (this.lastPosition = e))), this._value !== e && (this._value = e, !0)
}
reset() {
let {done: e} = this;
this.done = !1, kC.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, e && (this.lastVelocity = null), this.v0 = null)
}
}, qO = class extends $O {
constructor(e) {
super(0), this._string = null, this._toString = lO({output: [e, e]})
}
static create(e) {
return new qO(e)
}
getValue() {
let e = this._string;
return null == e ? this._string = this._toString(this._value) : e
}
setValue(e) {
if (kC.str(e)) {
if (e == this._string) return !1;
this._string = e, this._value = 1
} else {
if (!super.setValue(e)) return !1;
this._string = null
}
return !0
}
reset(e) {
e && (this._toString = lO({output: [this.getValue(), e]})), this._value = 0, super.reset()
}
}, WO = {dependencies: null}, HO = class extends GO {
constructor(e) {
super(), this.source = e, this.setValue(e)
}
getValue(e) {
let t = {};
return IC(this.source, ((n, r) => {
(e => !!e && e[zO] === e)(n) ? t[r] = n.getValue(e) : dO(n) ? t[r] = pO(n) : e || (t[r] = n)
})), t
}
setValue(e) {
this.source = e, this.payload = this._makePayload(e)
}
reset() {
this.payload && EC(this.payload, (e => e.reset()))
}
_makePayload(e) {
if (e) {
let t = new Set;
return IC(e, this._addToPayload, t), Array.from(t)
}
}
_addToPayload(e) {
WO.dependencies && dO(e) && WO.dependencies.add(e);
let t = BO(e);
t && EC(t, (e => this.add(e)))
}
}, KO = class extends HO {
constructor(e) {
super(e)
}
static create(e) {
return new KO(e)
}
getValue() {
return this.source.map((e => e.getValue()))
}
setValue(e) {
let t = this.getPayload();
return e.length == t.length ? t.map(((t, n) => t.setValue(e[n]))).some(Boolean) : (super.setValue(e.map(YO)), !0)
}
};
function YO(e) {
return (RO(e) ? qO : $O).create(e)
}
function QO(e) {
let t = VO(e);
return t ? t.constructor : kC.arr(e) ? KO : RO(e) ? qO : $O
}
var ZO = (e, t) => {
let n = !kC.fun(e) || e.prototype && e.prototype.isReactComponent;
return (0, Ee.forwardRef)(((r, a) => {
let i = (0, Ee.useRef)(null), o = n && (0, Ee.useCallback)((e => {
i.current = (a && (kC.fun(a) ? a(e) : a.current = e), e)
}), [a]), [s, l] = function (e, t) {
let n = new Set;
return WO.dependencies = n, e.style && (e = {
...e,
style: t.createAnimatedStyle(e.style)
}), e = new HO(e), WO.dependencies = null, [e, n]
}(r, t), c = jO(), u = () => {
let e = i.current;
n && !e || !1 === (!!e && t.applyAnimatedValues(e, s.getValue(!0))) && c()
}, d = new XO(u, l), p = (0, Ee.useRef)();
LO((() => (p.current = d, EC(l, (e => vO(e, d))), () => {
p.current && (EC(p.current.deps, (e => _O(e, p.current))), iC.cancel(p.current.update))
}))), (0, Ee.useEffect)(u, []), NO((() => () => {
let e = p.current;
EC(e.deps, (t => _O(t, e)))
}));
let h = t.getComponentProps(s.getValue());
return Ee.createElement(e, {...h, ref: o})
}))
}, XO = class {
constructor(e, t) {
this.update = e, this.deps = t
}
eventObserved(e) {
"change" == e.type && iC.write(this.update)
}
}, JO = Symbol.for("AnimatedComponent"),
eP = e => kC.str(e) ? e : e && kC.str(e.displayName) ? e.displayName : kC.fun(e) && e.name || null;
function tP(e, ...t) {
return kC.fun(e) ? e(...t) : e
}
var nP = (e, t) => !0 === e || !!(t && e && (kC.fun(e) ? e(t) : CC(e).includes(t))),
rP = (e, t) => kC.obj(e) ? t && e[t] : e,
aP = (e, t) => !0 === e.default ? e[t] : e.default ? e.default[t] : void 0, iP = e => e,
oP = (e, t = iP) => {
let n = sP;
e.default && !0 !== e.default && (n = Object.keys(e = e.default));
let r = {};
for (let a of n) {
let n = t(e[a], a);
kC.und(n) || (r[a] = n)
}
return r
}, sP = ["config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest"], lP = {
config: 1,
from: 1,
to: 1,
ref: 1,
loop: 1,
reset: 1,
pause: 1,
cancel: 1,
reverse: 1,
immediate: 1,
default: 1,
delay: 1,
onProps: 1,
onStart: 1,
onChange: 1,
onPause: 1,
onResume: 1,
onRest: 1,
onResolve: 1,
items: 1,
trail: 1,
sort: 1,
expires: 1,
initial: 1,
enter: 1,
update: 1,
leave: 1,
children: 1,
onDestroyed: 1,
keys: 1,
callId: 1,
parentId: 1
};
function cP(e) {
let t = function (e) {
let t = {}, n = 0;
if (IC(e, ((e, r) => {
!lP[r] && (t[r] = e, n++)
})), n) return t
}(e);
if (t) {
let n = {to: t};
return IC(e, ((e, r) => r in t || (n[r] = e))), n
}
return {...e}
}
function uP(e) {
return e = pO(e), kC.arr(e) ? e.map(uP) : RO(e) ? rC.createStringInterpolator({
range: [0, 1],
output: [e, e]
})(1) : e
}
function dP(e) {
for (let t in e) return !0;
return !1
}
function pP(e) {
return kC.fun(e) || kC.arr(e) && kC.obj(e[0])
}
function hP(e, t) {
e.ref?.delete(e), t?.delete(e)
}
function fP(e, t) {
t && e.ref !== t && (e.ref?.delete(e), t.add(e), e.ref = t)
}
var mP = {tension: 170, friction: 26, mass: 1, damping: 1, easing: e => e, clamp: !1};
function gP(e, t) {
if (kC.und(t.decay)) {
let n = !kC.und(t.tension) || !kC.und(t.friction);
!n && kC.und(t.frequency) && kC.und(t.damping) && kC.und(t.mass) || (e.duration = void 0, e.decay = void 0), n && (e.frequency = void 0)
} else e.duration = void 0
}
var vP = [];
function _P(e, {key: t, props: n, defaultProps: r, state: a, actions: i}) {
return new Promise(((o, s) => {
let l, c, u = nP(n.cancel ?? r?.cancel, t);
if (u) h(); else {
kC.und(n.pause) || (a.paused = nP(n.pause, t));
let e = r?.pause;
!0 !== e && (e = a.paused || nP(e, t)), l = tP(n.delay || 0, t), e ? (a.resumeQueue.add(p), i.pause()) : (i.resume(), p())
}
function d() {
a.resumeQueue.add(p), a.timeouts.delete(c), c.cancel(), l = c.time - iC.now()
}
function p() {
l > 0 && !rC.skipAnimation ? (a.delayed = !0, c = iC.setTimeout(h, l), a.pauseQueue.add(d), a.timeouts.add(c)) : h()
}
function h() {
a.delayed && (a.delayed = !1), a.pauseQueue.delete(d), a.timeouts.delete(c), e <= (a.cancelId || 0) && (u = !0);
try {
i.start({...n, callId: e, cancel: u}, o)
} catch (e) {
s(e)
}
}
}))
}
var yP = (e, t) => 1 == t.length ? t[0] : t.some((e => e.cancelled)) ? wP(e.get()) : t.every((e => e.noop)) ? bP(e.get()) : xP(e.get(), t.every((e => e.finished))),
bP = e => ({value: e, noop: !0, finished: !0, cancelled: !1}),
xP = (e, t, n = !1) => ({value: e, finished: t, cancelled: n}),
wP = e => ({value: e, cancelled: !0, finished: !1});
function kP(e, t, n, r) {
let {callId: a, parentId: i, onRest: o} = t, {asyncTo: s, promise: l} = n;
return i || e !== s || t.reset ? n.promise = (async () => {
let c, u, d;
n.asyncId = a, n.asyncTo = e;
let p = oP(t, ((e, t) => "onRest" === t ? void 0 : e)), h = new Promise(((e, t) => (c = e, u = t))),
f = e => {
let t = a <= (n.cancelId || 0) && wP(r) || a !== n.asyncId && xP(r, !1);
if (t) throw e.result = t, u(e), e
}, m = (e, t) => {
let i = new EP, o = new IP;
return (async () => {
if (rC.skipAnimation) throw SP(n), o.result = xP(r, !1), u(o), o;
f(i);
let s = kC.obj(e) ? {...e} : {...t, to: e};
s.parentId = a, IC(p, ((e, t) => {
kC.und(s[t]) && (s[t] = e)
}));
let l = await r.start(s);
return f(i), n.paused && await new Promise((e => {
n.resumeQueue.add(e)
})), l
})()
};
if (rC.skipAnimation) return SP(n), xP(r, !1);
try {
let t;
t = kC.arr(e) ? (async e => {
for (let t of e) await m(t)
})(e) : Promise.resolve(e(m, r.stop.bind(r))), await Promise.all([t.then(c), h]), d = xP(r.get(), !0, !1)
} catch (e) {
if (e instanceof EP) d = e.result; else {
if (!(e instanceof IP)) throw e;
d = e.result
}
} finally {
a == n.asyncId && (n.asyncId = i, n.asyncTo = i ? s : void 0, n.promise = i ? l : void 0)
}
return kC.fun(o) && iC.batchedUpdates((() => {
o(d, r, r.item)
})), d
})() : l
}
function SP(e, t) {
OC(e.timeouts, (e => e.cancel())), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t)
}
var EP = class extends Error {
constructor() {
super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.")
}
}, IP = class extends Error {
constructor() {
super("SkipAnimationSignal")
}
}, CP = e => e instanceof PP, OP = 1, PP = class extends mO {
constructor() {
super(...arguments), this.id = OP++, this._priority = 0
}
get priority() {
return this._priority
}
set priority(e) {
this._priority != e && (this._priority = e, this._onPriorityChange(e))
}
get() {
let e = VO(this);
return e && e.getValue()
}
to(...e) {
return rC.to(this, e)
}
interpolate(...e) {
return TO(`${PO}The "interpolate" function is deprecated in v9 (use "to" instead)`), rC.to(this, e)
}
toJSON() {
return this.get()
}
observerAdded(e) {
1 == e && this._attach()
}
observerRemoved(e) {
0 == e && this._detach()
}
_attach() {
}
_detach() {
}
_onChange(e, t = !1) {
fO(this, {type: "change", parent: this, value: e, idle: t})
}
_onPriorityChange(e) {
this.idle || zC.sort(this), fO(this, {type: "priority", parent: this, priority: e})
}
}, AP = Symbol.for("SpringPhase"), TP = e => (1 & e[AP]) > 0, DP = e => (2 & e[AP]) > 0,
RP = e => (4 & e[AP]) > 0, LP = (e, t) => t ? e[AP] |= 3 : e[AP] &= -3,
jP = (e, t) => t ? e[AP] |= 4 : e[AP] &= -5, NP = class extends PP {
constructor(e, t) {
if (super(), this.animation = new class {
constructor() {
this.changed = !1, this.values = vP, this.toValues = null, this.fromValues = vP, this.config = new class {
constructor() {
this.velocity = 0, Object.assign(this, mP)
}
}, this.immediate = !1
}
}, this.defaultProps = {}, this._state = {
paused: !1,
delayed: !1,
pauseQueue: new Set,
resumeQueue: new Set,
timeouts: new Set
}, this._pendingCalls = new Set, this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !kC.und(e) || !kC.und(t)) {
let n = kC.obj(e) ? {...e} : {...t, from: e};
kC.und(n.default) && (n.default = !0), this.start(n)
}
}
get idle() {
return !(DP(this) || this._state.asyncTo) || RP(this)
}
get goal() {
return pO(this.animation.to)
}
get velocity() {
let e = VO(this);
return e instanceof $O ? e.lastVelocity || 0 : e.getPayload().map((e => e.lastVelocity || 0))
}
get hasAnimated() {
return TP(this)
}
get isAnimating() {
return DP(this)
}
get isPaused() {
return RP(this)
}
get isDelayed() {
return this._state.delayed
}
advance(e) {
let t = !0, n = !1, r = this.animation, {toValues: a} = r, {config: i} = r, o = BO(r.to);
!o && dO(r.to) && (a = CC(pO(r.to))), r.values.forEach(((s, l) => {
if (s.done) return;
let c = s.constructor == qO ? 1 : o ? o[l].lastPosition : a[l], u = r.immediate, d = c;
if (!u) {
let t;
if (d = s.lastPosition, i.tension <= 0) return void (s.done = !0);
let n = s.elapsedTime += e, a = r.fromValues[l],
o = null != s.v0 ? s.v0 : s.v0 = kC.arr(i.velocity) ? i.velocity[l] : i.velocity,
p = i.precision || (a == c ? .005 : Math.min(1, .001 * Math.abs(c - a)));
if (kC.und(i.duration)) if (i.decay) {
let e = !0 === i.decay ? .998 : i.decay, r = Math.exp(-(1 - e) * n);
d = a + o / (1 - e) * (1 - r), u = Math.abs(s.lastPosition - d) <= p, t = o * r
} else {
t = null == s.lastVelocity ? o : s.lastVelocity;
let n = i.restVelocity || p / 10, r = i.clamp ? 0 : i.bounce, l = !kC.und(r),
h = a == c ? s.v0 > 0 : a < c, f = Math.ceil(e / 1);
for (let e = 0; e < f && (Math.abs(t) > n || !(u = Math.abs(c - d) <= p)); ++e) {
l && (d == c || d > c == h) && (t = -t * r, d = c), t += 1 * ((-1e-6 * i.tension * (d - c) + -.001 * i.friction * t) / i.mass), d += 1 * t
}
} else {
let r = 1;
i.duration > 0 && (this._memoizedDuration !== i.duration && (this._memoizedDuration = i.duration, s.durationProgress > 0 && (s.elapsedTime = i.duration * s.durationProgress, n = s.elapsedTime += e)), r = (r = (i.progress || 0) + n / this._memoizedDuration) > 1 ? 1 : r < 0 ? 0 : r, s.durationProgress = r), t = ((d = a + i.easing(r) * (c - a)) - s.lastPosition) / e, u = 1 == r
}
s.lastVelocity = t, Number.isNaN(d) && (console.warn("Got NaN while animating:", this), u = !0)
}
o && !o[l].done && (u = !1), u ? s.done = !0 : t = !1, s.setValue(d, i.round) && (n = !0)
}));
let s = VO(this), l = s.getValue();
if (t) {
let e = pO(r.to);
l === e && !n || i.decay ? n && i.decay && this._onChange(l) : (s.setValue(e), this._onChange(e)), this._stop()
} else n && this._onChange(l)
}
set(e) {
return iC.batchedUpdates((() => {
this._stop(), this._focus(e), this._set(e)
})), this
}
pause() {
this._update({pause: !0})
}
resume() {
this._update({pause: !1})
}
finish() {
if (DP(this)) {
let {to: e, config: t} = this.animation;
iC.batchedUpdates((() => {
this._onStart(), t.decay || this._set(e, !1), this._stop()
}))
}
return this
}
update(e) {
return (this.queue || (this.queue = [])).push(e), this
}
start(e, t) {
let n;
return kC.und(e) ? (n = this.queue || [], this.queue = []) : n = [kC.obj(e) ? e : {
...t,
to: e
}], Promise.all(n.map((e => this._update(e)))).then((e => yP(this, e)))
}
stop(e) {
let {to: t} = this.animation;
return this._focus(this.get()), SP(this._state, e && this._lastCallId), iC.batchedUpdates((() => this._stop(t, e))), this
}
reset() {
this._update({reset: !0})
}
eventObserved(e) {
"change" == e.type ? this._start() : "priority" == e.type && (this.priority = e.priority + 1)
}
_prepareNode(e) {
let t = this.key || "", {to: n, from: r} = e;
(null == (n = kC.obj(n) ? n[t] : n) || pP(n)) && (n = void 0), null == (r = kC.obj(r) ? r[t] : r) && (r = void 0);
let a = {to: n, from: r};
return TP(this) || (e.reverse && ([n, r] = [r, n]), r = pO(r), kC.und(r) ? VO(this) || this._set(n) : this._set(r)), a
}
_update({...e}, t) {
let {key: n, defaultProps: r} = this;
e.default && Object.assign(r, oP(e, ((e, t) => /^on/.test(t) ? rP(e, n) : e))), BP(this, e, "onProps"), GP(this, "onProps", e, this);
let a = this._prepareNode(e);
if (Object.isFrozen(this)) throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");
let i = this._state;
return _P(++this._lastCallId, {
key: n, props: e, defaultProps: r, state: i, actions: {
pause: () => {
RP(this) || (jP(this, !0), PC(i.pauseQueue), GP(this, "onPause", xP(this, MP(this, this.animation.to)), this))
}, resume: () => {
RP(this) && (jP(this, !1), DP(this) && this._resume(), PC(i.resumeQueue), GP(this, "onResume", xP(this, MP(this, this.animation.to)), this))
}, start: this._merge.bind(this, a)
}
}).then((n => {
if (e.loop && n.finished && (!t || !n.noop)) {
let t = FP(e);
if (t) return this._update(t, !0)
}
return n
}))
}
_merge(e, t, n) {
if (t.cancel) return this.stop(!0), n(wP(this));
let r = !kC.und(e.to), a = !kC.und(e.from);
if (r || a) {
if (!(t.callId > this._lastToId)) return n(wP(this));
this._lastToId = t.callId
}
let {key: i, defaultProps: o, animation: s} = this, {to: l, from: c} = s, {to: u = l, from: d = c} = e;
a && !r && (!t.default || kC.und(u)) && (u = d), t.reverse && ([u, d] = [d, u]);
let p = !SC(d, c);
p && (s.from = d), d = pO(d);
let h = !SC(u, l);
h && this._focus(u);
let f = pP(t.to), {config: m} = s, {decay: g, velocity: v} = m;
(r || a) && (m.velocity = 0), t.config && !f && function (e, t, n) {
for (let o in n && (gP(n = {...n}, t), t = {...n, ...t}), gP(e, t), Object.assign(e, t), mP) null == e[o] && (e[o] = mP[o]);
let {frequency: r, damping: a} = e, {mass: i} = e;
kC.und(r) || (r < .01 && (r = .01), a < 0 && (a = 0), e.tension = Math.pow(2 * Math.PI / r, 2) * i, e.friction = 4 * Math.PI * a * i / r)
}(m, tP(t.config, i), t.config !== o.config ? tP(o.config, i) : void 0);
let _ = VO(this);
if (!_ || kC.und(u)) return n(xP(this, !0));
let y = kC.und(t.reset) ? a && !t.default : !kC.und(d) && nP(t.reset, i), b = y ? d : this.get(),
x = uP(u), w = kC.num(x) || kC.arr(x) || RO(x), k = !f && (!w || nP(o.immediate || t.immediate, i));
if (h) {
let e = QO(u);
if (e !== _.constructor) {
if (!k) throw Error(`Cannot animate between ${_.constructor.name} and ${e.name}, as the "to" prop suggests`);
_ = this._set(x)
}
}
let S = _.constructor, E = dO(u), I = !1;
if (!E) {
let e = y || !TP(this) && p;
(h || e) && (E = !(I = SC(uP(b), x))), (SC(s.immediate, k) || k) && SC(m.decay, g) && SC(m.velocity, v) || (E = !0)
}
if (I && DP(this) && (s.changed && !y ? E = !0 : E || this._stop(l)), !f && ((E || dO(l)) && (s.values = _.getPayload(), s.toValues = dO(u) ? null : S == qO ? [1] : CC(x)), s.immediate == k || (s.immediate = k, k || y || this._set(l)), E)) {
let {onRest: e} = s;
EC(UP, (e => BP(this, t, e)));
let r = xP(this, MP(this, l));
PC(this._pendingCalls, r), this._pendingCalls.add(n), s.changed && iC.batchedUpdates((() => {
s.changed = !y, e?.(r, this), y ? tP(o.onRest, r) : s.onStart?.(r, this)
}))
}
y && this._set(b), f ? n(kP(t.to, t, this._state, this)) : E ? this._start() : DP(this) && !h ? this._pendingCalls.add(n) : n(bP(b))
}
_focus(e) {
let t = this.animation;
e !== t.to && (hO(this) && this._detach(), t.to = e, hO(this) && this._attach())
}
_attach() {
let e = 0, {to: t} = this.animation;
dO(t) && (vO(t, this), CP(t) && (e = t.priority + 1)), this.priority = e
}
_detach() {
let {to: e} = this.animation;
dO(e) && _O(e, this)
}
_set(e, t = !0) {
let n = pO(e);
if (!kC.und(n)) {
let e = VO(this);
if (!e || !SC(n, e.getValue())) {
let r = QO(n);
e && e.constructor == r ? e.setValue(n) : UO(this, r.create(n)), e && iC.batchedUpdates((() => {
this._onChange(n, t)
}))
}
}
return VO(this)
}
_onStart() {
let e = this.animation;
e.changed || (e.changed = !0, GP(this, "onStart", xP(this, MP(this, e.to)), this))
}
_onChange(e, t) {
t || (this._onStart(), tP(this.animation.onChange, e, this)), tP(this.defaultProps.onChange, e, this), super._onChange(e, t)
}
_start() {
let e = this.animation;
VO(this).reset(pO(e.to)), e.immediate || (e.fromValues = e.values.map((e => e.lastPosition))), DP(this) || (LP(this, !0), RP(this) || this._resume())
}
_resume() {
rC.skipAnimation ? this.finish() : zC.start(this)
}
_stop(e, t) {
if (DP(this)) {
LP(this, !1);
let n = this.animation;
EC(n.values, (e => {
e.done = !0
})), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), fO(this, {
type: "idle",
parent: this
});
let r = t ? wP(this.get()) : xP(this.get(), MP(this, e ?? n.to));
PC(this._pendingCalls, r), n.changed && (n.changed = !1, GP(this, "onRest", r, this))
}
}
};
function MP(e, t) {
let n = uP(t);
return SC(uP(e.get()), n)
}
function FP(e, t = e.loop, n = e.to) {
let r = tP(t);
if (r) {
let a = !0 !== r && cP(r), i = (a || e).reverse, o = !a || a.reset;
return zP({
...e,
loop: t,
default: !1,
pause: void 0,
to: !i || pP(n) ? n : void 0,
from: o ? e.from : void 0,
reset: o, ...a
})
}
}
function zP(e) {
let {to: t, from: n} = e = cP(e), r = new Set;
return kC.obj(t) && VP(t, r), kC.obj(n) && VP(n, r), e.keys = r.size ? Array.from(r) : null, e
}
function VP(e, t) {
IC(e, ((e, n) => null != e && t.add(n)))
}
var UP = ["onStart", "onRest", "onChange", "onPause", "onResume"];
function BP(e, t, n) {
e.animation[n] = t[n] !== aP(t, n) ? rP(t[n], e.key) : void 0
}
function GP(e, t, ...n) {
e.animation[t]?.(...n), e.defaultProps[t]?.(...n)
}
var $P = ["onStart", "onChange", "onRest"], qP = 1, WP = class {
constructor(e, t) {
this.id = qP++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = new Set, this._changed = new Set, this._started = !1, this._state = {
paused: !1,
pauseQueue: new Set,
resumeQueue: new Set,
timeouts: new Set
}, this._events = {
onStart: new Map,
onChange: new Map,
onRest: new Map
}, this._onFrame = this._onFrame.bind(this), t && (this._flush = t), e && this.start({default: !0, ...e})
}
get idle() {
return !this._state.asyncTo && Object.values(this.springs).every((e => e.idle && !e.isDelayed && !e.isPaused))
}
get item() {
return this._item
}
set item(e) {
this._item = e
}
get() {
let e = {};
return this.each(((t, n) => e[n] = t.get())), e
}
set(e) {
for (let t in e) {
let n = e[t];
kC.und(n) || this.springs[t].set(n)
}
}
update(e) {
return e && this.queue.push(zP(e)), this
}
start(e) {
let {queue: t} = this;
return e ? t = CC(e).map(zP) : this.queue = [], this._flush ? this._flush(this, t) : (JP(this, t), HP(this, t))
}
stop(e, t) {
if (!!e !== e && (t = e), t) {
let n = this.springs;
EC(CC(t), (t => n[t].stop(!!e)))
} else SP(this._state, this._lastAsyncId), this.each((t => t.stop(!!e)));
return this
}
pause(e) {
if (kC.und(e)) this.start({pause: !0}); else {
let t = this.springs;
EC(CC(e), (e => t[e].pause()))
}
return this
}
resume(e) {
if (kC.und(e)) this.start({pause: !1}); else {
let t = this.springs;
EC(CC(e), (e => t[e].resume()))
}
return this
}
each(e) {
IC(this.springs, e)
}
_onFrame() {
let {onStart: e, onChange: t, onRest: n} = this._events, r = this._active.size > 0,
a = this._changed.size > 0;
(r && !this._started || a && !this._started) && (this._started = !0, OC(e, (([e, t]) => {
t.value = this.get(), e(t, this, this._item)
})));
let i = !r && this._started, o = a || i && n.size ? this.get() : null;
a && t.size && OC(t, (([e, t]) => {
t.value = o, e(t, this, this._item)
})), i && (this._started = !1, OC(n, (([e, t]) => {
t.value = o, e(t, this, this._item)
})))
}
eventObserved(e) {
if ("change" == e.type) this._changed.add(e.parent), e.idle || this._active.add(e.parent); else {
if ("idle" != e.type) return;
this._active.delete(e.parent)
}
iC.onFrame(this._onFrame)
}
};
function HP(e, t) {
return Promise.all(t.map((t => KP(e, t)))).then((t => yP(e, t)))
}
async function KP(e, t, n) {
let {keys: r, to: a, from: i, loop: o, onRest: s, onResolve: l} = t, c = kC.obj(t.default) && t.default;
o && (t.loop = !1), !1 === a && (t.to = null), !1 === i && (t.from = null);
let u = kC.arr(a) || kC.fun(a) ? a : void 0;
u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : EC($P, (n => {
let r = t[n];
if (kC.fun(r)) {
let a = e._events[n];
t[n] = ({finished: e, cancelled: t}) => {
let n = a.get(r);
n ? (e || (n.finished = !1), t && (n.cancelled = !0)) : a.set(r, {
value: null,
finished: e || !1,
cancelled: t || !1
})
}, c && (c[n] = t[n])
}
}));
let d = e._state;
!d.paused === t.pause ? (d.paused = t.pause, PC(t.pause ? d.pauseQueue : d.resumeQueue)) : d.paused && (t.pause = !0);
let p = (r || Object.keys(e.springs)).map((n => e.springs[n].start(t))),
h = !0 === t.cancel || !0 === aP(t, "cancel");
(u || h && d.asyncId) && p.push(_P(++e._lastAsyncId, {
props: t,
state: d,
actions: {
pause: wC, resume: wC, start(t, n) {
h ? (SP(d, e._lastAsyncId), n(wP(e))) : (t.onRest = s, n(kP(u, t, d, e)))
}
}
})), d.paused && await new Promise((e => {
d.resumeQueue.add(e)
}));
let f = yP(e, await Promise.all(p));
if (o && f.finished && (!n || !f.noop)) {
let n = FP(t, o, a);
if (n) return JP(e, [n]), KP(e, n, !0)
}
return l && iC.batchedUpdates((() => l(f, e, e.item))), f
}
function YP(e, t) {
let n = {...e.springs};
return t && EC(CC(t), (e => {
kC.und(e.keys) && (e = zP(e)), kC.obj(e.to) || (e = {...e, to: void 0}), XP(n, e, (e => ZP(e)))
})), QP(e, n), n
}
function QP(e, t) {
IC(t, ((t, n) => {
e.springs[n] || (e.springs[n] = t, vO(t, e))
}))
}
function ZP(e, t) {
let n = new NP;
return n.key = e, t && vO(n, t), n
}
function XP(e, t, n) {
t.keys && EC(t.keys, (r => {
(e[r] || (e[r] = n(r)))._prepareNode(t)
}))
}
function JP(e, t) {
EC(t, (t => {
XP(e.springs, t, (t => ZP(t, e)))
}))
}
var eA = ({children: e, ...t}) => {
let n = (0, Ee.useContext)(tA), r = t.pause || !!n.pause, a = t.immediate || !!n.immediate;
t = function (e, t) {
let [n] = (0, Ee.useState)((() => ({inputs: t, result: e()}))), r = (0, Ee.useRef)(), a = r.current,
i = a;
if (i) {
let n = !!(t && i.inputs && function (e, t) {
if (e.length !== t.length) return !1;
for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
return !0
}(t, i.inputs));
n || (i = {inputs: t, result: e()})
} else i = n;
return (0, Ee.useEffect)((() => {
r.current = i, a == n && (n.inputs = n.result = void 0)
}), [i]), i.result
}((() => ({pause: r, immediate: a})), [r, a]);
let {Provider: i} = tA;
return Ee.createElement(i, {value: t}, e)
}, tA = (Object.assign(eA, Ee.createContext({})), eA.Provider._context = eA, eA.Consumer._context = eA, eA);
eA.Provider = tA.Provider, eA.Consumer = tA.Consumer;
var nA = () => {
let e = [], t = function (t) {
DO(`${PO}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`);
let r = [];
return EC(e, ((e, a) => {
if (kC.und(t)) r.push(e.start()); else {
let i = n(t, e, a);
i && r.push(e.start(i))
}
})), r
};
t.current = e, t.add = function (t) {
e.includes(t) || e.push(t)
}, t.delete = function (t) {
let n = e.indexOf(t);
~n && e.splice(n, 1)
}, t.pause = function () {
return EC(e, (e => e.pause(...arguments))), this
}, t.resume = function () {
return EC(e, (e => e.resume(...arguments))), this
}, t.set = function (t) {
EC(e, ((e, n) => {
let r = kC.fun(t) ? t(n, e) : t;
r && e.set(r)
}))
}, t.start = function (t) {
let n = [];
return EC(e, ((e, r) => {
if (kC.und(t)) n.push(e.start()); else {
let a = this._getProps(t, e, r);
a && n.push(e.start(a))
}
})), n
}, t.stop = function () {
return EC(e, (e => e.stop(...arguments))), this
}, t.update = function (t) {
return EC(e, ((e, n) => e.update(this._getProps(t, e, n)))), this
};
let n = function (e, t, n) {
return kC.fun(e) ? e(n, t) : e
};
return t._getProps = n, t
};
function rA(e, t) {
let n = kC.fun(e), [[r], a] = function (e, t, n) {
let r = kC.fun(t) && t;
r && !n && (n = []);
let a = (0, Ee.useMemo)((() => r || 3 == arguments.length ? nA() : void 0), []), i = (0, Ee.useRef)(0),
o = jO(), s = (0, Ee.useMemo)((() => ({
ctrls: [], queue: [], flush(e, t) {
let n = YP(e, t),
r = i.current > 0 && !s.queue.length && !Object.keys(n).some((t => !e.springs[t]));
return r ? HP(e, t) : new Promise((r => {
QP(e, n), s.queue.push((() => {
r(HP(e, t))
})), o()
}))
}
})), []), l = (0, Ee.useRef)([...s.ctrls]), c = [], u = FO(e) || 0;
function d(e, n) {
for (let a = e; a < n; a++) {
let e = l.current[a] || (l.current[a] = new WP(null, s.flush)), n = r ? r(a, e) : t[a];
n && (c[a] = function (e) {
let t = zP(e);
return kC.und(t.default) && (t.default = oP(t)), t
}(n))
}
}
(0, Ee.useMemo)((() => {
EC(l.current.slice(e, u), (e => {
hP(e, a), e.stop(!0)
})), l.current.length = e, d(u, e)
}), [e]), (0, Ee.useMemo)((() => {
d(0, Math.min(u, e))
}), n);
let p = l.current.map(((e, t) => YP(e, c[t]))), h = (0, Ee.useContext)(eA), f = FO(h),
m = h !== f && dP(h);
LO((() => {
i.current++, s.ctrls = l.current;
let {queue: e} = s;
e.length && (s.queue = [], EC(e, (e => e()))), EC(l.current, ((e, t) => {
a?.add(e), m && e.start({default: h});
let n = c[t];
n && (fP(e, n.ref), e.ref ? e.queue.push(n) : e.start(n))
}))
})), NO((() => () => {
EC(s.ctrls, (e => e.stop(!0)))
}));
let g = p.map((e => ({...e})));
return a ? [g, a] : g
}(1, n ? e : [e], n ? t || [] : t);
return n || 2 == arguments.length ? [r, a] : r
}
var aA = 1, iA = class extends PP {
constructor(e, t) {
super(), this.source = e, this.idle = !0, this._active = new Set, this.calc = lO(...t);
let n = this._get(), r = QO(n);
UO(this, r.create(n))
}
advance(e) {
let t = this._get();
SC(t, this.get()) || (VO(this).setValue(t), this._onChange(t, this.idle)), !this.idle && sA(this._active) && lA(this)
}
_get() {
let e = kC.arr(this.source) ? this.source.map(pO) : CC(pO(this.source));
return this.calc(...e)
}
_start() {
this.idle && !sA(this._active) && (this.idle = !1, EC(BO(this), (e => {
e.done = !1
})), rC.skipAnimation ? (iC.batchedUpdates((() => this.advance())), lA(this)) : zC.start(this))
}
_attach() {
let e = 1;
EC(CC(this.source), (t => {
dO(t) && vO(t, this), CP(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1))
})), this.priority = e, this._start()
}
_detach() {
EC(CC(this.source), (e => {
dO(e) && _O(e, this)
})), this._active.clear(), lA(this)
}
eventObserved(e) {
"change" == e.type ? e.idle ? this.advance() : (this._active.add(e.parent), this._start()) : "idle" == e.type ? this._active.delete(e.parent) : "priority" == e.type && (this.priority = CC(this.source).reduce(((e, t) => Math.max(e, (CP(t) ? t.priority : 0) + 1)), 0))
}
};
function oA(e) {
return !1 !== e.idle
}
function sA(e) {
return !e.size || Array.from(e).every(oA)
}
function lA(e) {
e.idle || (e.idle = !0, EC(BO(e), (e => {
e.done = !0
})), fO(e, {type: "idle", parent: e}))
}
rC.assign({createStringInterpolator: OO, to: (e, t) => new iA(e, t)});
var cA = /^--/, uA = {}, dA = {
animationIterationCount: !0,
borderImageOutset: !0,
borderImageSlice: !0,
borderImageWidth: !0,
boxFlex: !0,
boxFlexGroup: !0,
boxOrdinalGroup: !0,
columnCount: !0,
columns: !0,
flex: !0,
flexGrow: !0,
flexPositive: !0,
flexShrink: !0,
flexNegative: !0,
flexOrder: !0,
gridRow: !0,
gridRowEnd: !0,
gridRowSpan: !0,
gridRowStart: !0,
gridColumn: !0,
gridColumnEnd: !0,
gridColumnSpan: !0,
gridColumnStart: !0,
fontWeight: !0,
lineClamp: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
tabSize: !0,
widows: !0,
zIndex: !0,
zoom: !0,
fillOpacity: !0,
floodOpacity: !0,
stopOpacity: !0,
strokeDasharray: !0,
strokeDashoffset: !0,
strokeMiterlimit: !0,
strokeOpacity: !0,
strokeWidth: !0
}, pA = ["Webkit", "Ms", "Moz", "O"];
dA = Object.keys(dA).reduce(((e, t) => (pA.forEach((n => e[((e, t) => e + t.charAt(0).toUpperCase() + t.substring(1))(n, t)] = e[t])), e)), dA);
var hA = /^(matrix|translate|scale|rotate|skew)/, fA = /^(translate)/, mA = /^(rotate|skew)/,
gA = (e, t) => kC.num(e) && 0 !== e ? e + t : e,
vA = (e, t) => kC.arr(e) ? e.every((e => vA(e, t))) : kC.num(e) ? e === t : parseFloat(e) === t,
_A = class extends HO {
constructor({x: e, y: t, z: n, ...r}) {
let a = [], i = [];
(e || t || n) && (a.push([e || 0, t || 0, n || 0]), i.push((e => [`translate3d(${e.map((e => gA(e, "px"))).join(",")})`, vA(e, 0)]))), IC(r, ((e, t) => {
if ("transform" === t) a.push([e || ""]), i.push((e => [e, "" === e])); else if (hA.test(t)) {
if (delete r[t], kC.und(e)) return;
let n = fA.test(t) ? "px" : mA.test(t) ? "deg" : "";
a.push(CC(e)), i.push("rotate3d" === t ? ([e, t, r, a]) => [`rotate3d(${e},${t},${r},${gA(a, n)})`, vA(a, 0)] : e => [`${t}(${e.map((e => gA(e, n))).join(",")})`, vA(e, t.startsWith("scale") ? 1 : 0)])
}
})), a.length && (r.transform = new yA(a, i)), super(r)
}
}, yA = class extends mO {
constructor(e, t) {
super(), this.inputs = e, this.transforms = t, this._value = null
}
get() {
return this._value || (this._value = this._get())
}
_get() {
let e = "", t = !0;
return EC(this.inputs, ((n, r) => {
let a = pO(n[0]), [i, o] = this.transforms[r](kC.arr(a) ? a : n.map(pO));
e += " " + i, t = t && o
})), t ? "none" : e
}
observerAdded(e) {
1 == e && EC(this.inputs, (e => EC(e, (e => dO(e) && vO(e, this)))))
}
observerRemoved(e) {
0 == e && EC(this.inputs, (e => EC(e, (e => dO(e) && _O(e, this)))))
}
eventObserved(e) {
"change" == e.type && (this._value = null), fO(this, e)
}
};
rC.assign({
batchedUpdates: ty.unstable_batchedUpdates, createStringInterpolator: OO, colors: {
transparent: 0,
aliceblue: 4042850303,
antiquewhite: 4209760255,
aqua: 16777215,
aquamarine: 2147472639,
azure: 4043309055,
beige: 4126530815,
bisque: 4293182719,
black: 255,
blanchedalmond: 4293643775,
blue: 65535,
blueviolet: 2318131967,
brown: 2771004159,
burlywood: 3736635391,
burntsienna: 3934150143,
cadetblue: 1604231423,
chartreuse: 2147418367,
chocolate: 3530104575,
coral: 4286533887,
cornflowerblue: 1687547391,
cornsilk: 4294499583,
crimson: 3692313855,
cyan: 16777215,
darkblue: 35839,
darkcyan: 9145343,
darkgoldenrod: 3095792639,
darkgray: 2846468607,
darkgreen: 6553855,
darkgrey: 2846468607,
darkkhaki: 3182914559,
darkmagenta: 2332068863,
darkolivegreen: 1433087999,
darkorange: 4287365375,
darkorchid: 2570243327,
darkred: 2332033279,
darksalmon: 3918953215,
darkseagreen: 2411499519,
darkslateblue: 1211993087,
darkslategray: 793726975,
darkslategrey: 793726975,
darkturquoise: 13554175,
darkviolet: 2483082239,
deeppink: 4279538687,
deepskyblue: 12582911,
dimgray: 1768516095,
dimgrey: 1768516095,
dodgerblue: 512819199,
firebrick: 2988581631,
floralwhite: 4294635775,
forestgreen: 579543807,
fuchsia: 4278255615,
gainsboro: 3705462015,
ghostwhite: 4177068031,
gold: 4292280575,
goldenrod: 3668254975,
gray: 2155905279,
green: 8388863,
greenyellow: 2919182335,
grey: 2155905279,
honeydew: 4043305215,
hotpink: 4285117695,
indianred: 3445382399,
indigo: 1258324735,
ivory: 4294963455,
khaki: 4041641215,
lavender: 3873897215,
lavenderblush: 4293981695,
lawngreen: 2096890111,
lemonchiffon: 4294626815,
lightblue: 2916673279,
lightcoral: 4034953471,
lightcyan: 3774873599,
lightgoldenrodyellow: 4210742015,
lightgray: 3553874943,
lightgreen: 2431553791,
lightgrey: 3553874943,
lightpink: 4290167295,
lightsalmon: 4288707327,
lightseagreen: 548580095,
lightskyblue: 2278488831,
lightslategray: 2005441023,
lightslategrey: 2005441023,
lightsteelblue: 2965692159,
lightyellow: 4294959359,
lime: 16711935,
limegreen: 852308735,
linen: 4210091775,
magenta: 4278255615,
maroon: 2147483903,
mediumaquamarine: 1724754687,
mediumblue: 52735,
mediumorchid: 3126187007,
mediumpurple: 2473647103,
mediumseagreen: 1018393087,
mediumslateblue: 2070474495,
mediumspringgreen: 16423679,
mediumturquoise: 1221709055,
mediumvioletred: 3340076543,
midnightblue: 421097727,
mintcream: 4127193855,
mistyrose: 4293190143,
moccasin: 4293178879,
navajowhite: 4292783615,
navy: 33023,
oldlace: 4260751103,
olive: 2155872511,
olivedrab: 1804477439,
orange: 4289003775,
orangered: 4282712319,
orchid: 3664828159,
palegoldenrod: 4008225535,
palegreen: 2566625535,
paleturquoise: 2951671551,
palevioletred: 3681588223,
papayawhip: 4293907967,
peachpuff: 4292524543,
peru: 3448061951,
pink: 4290825215,
plum: 3718307327,
powderblue: 2967529215,
purple: 2147516671,
rebeccapurple: 1714657791,
red: 4278190335,
rosybrown: 3163525119,
royalblue: 1097458175,
saddlebrown: 2336560127,
salmon: 4202722047,
sandybrown: 4104413439,
seagreen: 780883967,
seashell: 4294307583,
sienna: 2689740287,
silver: 3233857791,
skyblue: 2278484991,
slateblue: 1784335871,
slategray: 1887473919,
slategrey: 1887473919,
snow: 4294638335,
springgreen: 16744447,
steelblue: 1182971135,
tan: 3535047935,
teal: 8421631,
thistle: 3636451583,
tomato: 4284696575,
turquoise: 1088475391,
violet: 4001558271,
wheat: 4125012991,
white: 4294967295,
whitesmoke: 4126537215,
yellow: 4294902015,
yellowgreen: 2597139199
}
});
var bA = ((e, {
applyAnimatedValues: t = (() => !1),
createAnimatedStyle: n = (e => new HO(e)),
getComponentProps: r = (e => e)
} = {}) => {
let a = {applyAnimatedValues: t, createAnimatedStyle: n, getComponentProps: r}, i = e => {
let t = eP(e) || "Anonymous";
return (e = kC.str(e) ? i[e] || (i[e] = ZO(e, a)) : e[JO] || (e[JO] = ZO(e, a))).displayName = `Animated(${t})`, e
};
return IC(e, ((t, n) => {
kC.arr(e) && (n = eP(t)), i[n] = i(t)
})), {animated: i}
})(["a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan"], {
applyAnimatedValues: function (e, t) {
if (!e.nodeType || !e.setAttribute) return !1;
let n = "filter" === e.nodeName || e.parentNode && "filter" === e.parentNode.nodeName, {
style: r,
children: a,
scrollTop: i,
scrollLeft: o,
viewBox: s,
...l
} = t, c = Object.values(l),
u = Object.keys(l).map((t => n || e.hasAttribute(t) ? t : uA[t] || (uA[t] = t.replace(/([A-Z])/g, (e => "-" + e.toLowerCase())))));
for (let p in void 0 !== a && (e.textContent = a), r) if (r.hasOwnProperty(p)) {
var d;
let t = null == (d = r[p]) || "boolean" == typeof d || "" === d ? "" : "number" != typeof d || 0 === d || cA.test(p) || dA.hasOwnProperty(p) && dA[p] ? ("" + d).trim() : d + "px";
cA.test(p) ? e.style.setProperty(p, t) : e.style[p] = t
}
u.forEach(((t, n) => {
e.setAttribute(t, c[n])
})), void 0 !== i && (e.scrollTop = i), void 0 !== o && (e.scrollLeft = o), void 0 !== s && e.setAttribute("viewBox", s)
}, createAnimatedStyle: e => new _A(e), getComponentProps: ({scrollTop: e, scrollLeft: t, ...n}) => n
}).animated;
let xA = Dy((({as: e = "nav", children: t, className: n, ...r}, a) => {
let [i, o] = (0, Ee.useState)(!1), s = Ty("sol-c-game-page__tabs", n),
l = (0, Ee.useRef)(null), {unessentialAnimationsDisabled: c} = Xy().reduceMotion, [u] = rA((() => ({
from: {
width: 0,
left: 0,
opacity: 0
}, to: async e => {
let t = l.current?.querySelector('[aria-pressed="true"], [aria-current="true"]'),
n = e => Number(getComputedStyle(t).getPropertyValue(e).match(/\d+/));
if (t) {
let r = n("padding-left"), a = n("padding-right");
i || (o(!0), await e({
left: t.offsetLeft + r,
width: t.offsetWidth - r - a,
immediate: !0
})), await e({left: t.offsetLeft + r, width: t.offsetWidth - r - a})
} else o(!1);
await e({opacity: 1, delay: 1500})
}, config: {duration: 100}
})), [t]);
return sy.jsxs(e, {
className: s,
ref: Ry(l, a), ...r,
children: [t, !c && sy.jsx(bA.div, {
"aria-hidden": "true",
className: "sol-c-game-page__tabs-indicator",
style: u
})]
})
})), wA = Dy((({className: e, ...t}, n) => {
let r = Ty("sol-c-game-page__title", e);
return sy.jsx(hb, {as: "h1", className: r, ref: n, color: "foreground", variant: "heading-s", ...t})
})), kA = Dy((({as: e = "div", children: t, className: n, navigation: r, theme: a, ...i}, o) => {
let s = Ty("sol-c-game-page", n);
return sy.jsxs(e, {
className: s,
ref: o, ...i,
children: [r && sy.jsx("div", {
className: "sol-c-game-page__navigation",
children: r
}), a ? sy.jsx(sb, {
name: a,
children: ({getProps: e}) => sy.jsx("div", {
...e({className: "sol-c-game-page__wrapper"}),
children: t
})
}) : sy.jsx("div", {className: "sol-c-game-page__wrapper", children: t})]
})
}));
ry("@layer sol.components{.sol-c-game-switcher{inline-size:5.5rem;overflow:hidden;position:relative;z-index:1}.sol-c-game-switcher:after,.sol-c-game-switcher:before{content:\"\";display:block}.sol-c-game-switcher:before{background:var(--sol-color-surface-0);inset:0;-webkit-mask:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Cpath d='M88 88V0c0 9.1-4.68 17.58-12.4 22.42L14.98 60.51A32 32 0 0 0 0 87.6v.4h88Z'/%3E%3C/svg%3E\") bottom right/100% auto no-repeat,linear-gradient(#000,#000);mask:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Cpath d='M88 88V0c0 9.1-4.68 17.58-12.4 22.42L14.98 60.51A32 32 0 0 0 0 87.6v.4h88Z'/%3E%3C/svg%3E\") bottom right/100% auto no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask-composite:exclude;position:absolute;z-index:-1}[dir=rtl] .sol-c-game-switcher:before{transform:scaleX(-1)}.sol-c-game-switcher:after{padding-block-start:100%}.sol-c-game-switcher__title{padding:var(--sol-size-100) var(--sol-size-050) 0}.sol-c-game-switcher__item{--sol-focus-offset:0;--_background:var(--sol-color-surface-0);align-items:center;border-radius:var(--sol-radius-4);color:var(--sol-color-interactive);cursor:var(--sol-cursor-interactive);display:flex;height:var(--sol-size-450);justify-content:center;margin:var(--sol-size-025) var(--sol-size-050);padding:var(--sol-size-075);position:relative;transition:color var(--sol-motion-250);width:var(--sol-size-450)}.sol-c-game-switcher__item:hover{color:var(--sol-color-interactive-hovered)}.sol-c-game-switcher__item:active,.sol-c-game-switcher__item[aria-current=true]:not(:hover){color:var(--sol-color-interactive-pressed)}.sol-c-game-switcher__item:after,.sol-c-game-switcher__item:before{content:\"\";display:block}.sol-c-game-switcher__item:before{background-color:var(--_background);border-radius:inherit;inset:0;opacity:0;position:absolute;transition-duration:var(--sol-motion-250);transition-property:background-color,opacity,transform;z-index:1}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-game-switcher__item:before{transform:scaleY(.2222222222)}}.sol-c-game-switcher__item[style*=sol-c-game-switcher-logo]:after{background:currentColor;height:var(--sol-size-300);-webkit-mask:var(--sol-c-game-switcher-logo);mask:var(--sol-c-game-switcher-logo);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;position:relative;width:var(--sol-size-300);z-index:2}.sol-c-game-switcher__item:hover:before,.sol-c-game-switcher__item[aria-current=true]:before{opacity:1;transform:scaleY(1)}.sol-c-game-switcher__item:hover{--_background:var(--sol-color-surface-0-hovered)}.sol-c-game-switcher__item:active:before{--_background:var(--sol-color-surface-0-pressed)}.sol-c-game-switcher__item[aria-current=true]:before{--_background:var(--sol-color-surface-2)}.sol-c-game-switcher__item[aria-current=true]:hover:before{--_background:var(--sol-color-surface-2-hovered)}.sol-c-game-switcher__item[aria-current=true]:active:before{--_background:var(--sol-color-surface-2-pressed)}.sol-c-game-switcher__item:disabled,.sol-c-game-switcher__item[aria-disabled=true]{opacity:.2;pointer-events:none}.sol-c-game-switcher__fallback{position:relative;z-index:2}.sol-c-game-switcher__indicator{background:var(--sol-color-interactive-pressed);border-end-end-radius:var(--sol-radius-4);border-start-end-radius:var(--sol-radius-4);inline-size:var(--sol-border-2);inset-inline-start:0;opacity:0;position:absolute}}");
let SA = (0, Ee.forwardRef)((({active: e, className: t, logo: n, name: r, ...a}, i) => {
let o = Ty("sol-c-game-switcher__item", t), s = qy({src: n});
return sy.jsxs(ub, {
"aria-current": e ? "true" : void 0,
className: o,
ref: i, ...a,
style: {"--sol-c-game-switcher-logo": n && s === Gy ? `url("${n}")` : void 0},
children: [(!n || s === $y) && sy.jsx(hb, {
"aria-hidden": "true",
className: "sol-c-game-switcher__fallback",
offset: !0,
variant: "heading-l",
children: r.slice(0, 2).toLocaleUpperCase()
}), sy.jsx("span", {className: "sol-u-hide-visually", children: r})]
})
})), EA = Dy((({as: e = "nav", children: t, className: n, id: r, items: a, title: i, ...o}, s) => {
let l = Uy(r) + "-label", c = Ty("sol-c-game-switcher", n),
u = (0, Ee.useRef)(null), [d, p] = (0, Ee.useState)(!1), [h] = rA((() => ({
from: {
height: 0,
top: 0,
opacity: 0
}, to: async e => {
let t = u.current?.querySelector('[aria-current="true"]');
t ? (d || (p(!0), await e({
top: t.offsetTop,
height: t.offsetHeight,
immediate: !0
})), await e({
top: t.offsetTop,
height: t.offsetHeight,
opacity: 1
})) : (p(!1), await e({opacity: 0}))
}
})), [t]);
return sy.jsxs(e, {
"aria-labelledby": i ? l : void 0,
className: c,
ref: Ry(u, s), ...o,
children: [i && sy.jsx(hb, {
align: "center",
className: "sol-c-game-switcher__title",
id: l,
variant: "emphasis-s",
transform: "uppercase",
truncate: !0,
children: i
}), a?.map(((e, t) => e.name && sy.jsx(SA, {...e}, t))), t, sy.jsx(bA.div, {
"aria-hidden": "true",
className: "sol-c-game-switcher__indicator",
style: h
})]
})
}));
function IA() {
return (IA = Object.assign ? Object.assign.bind() : function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}).apply(this, arguments)
}
ry('@layer sol.components{.sol-c-input{--_background-color:var(--sol-color-surface-0);--_border-color:var(--sol-color-interactive);--_border-width:var(--sol-border-1);--_block-size:var(--sol-size-300);--_icon-size:var(--sol-size-100);--_padding:var(--sol-size-100);--_separator-color:var(--sol-color-surface-2);--_separator-size:var(--sol-size-150);--_separator-width:var(--sol-border-1);align-items:flex-start;background:var(--_background-color);border-radius:var(--sol-radius-4);display:flex;flex:1;gap:var(--_padding);padding-inline:var(--_padding);position:relative}.sol-c-input:before{border:var(--_border-width) solid var(--_border-color);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;transition:border-color var(--sol-motion-250);z-index:3}.sol-c-input:hover{--_border-color:var(--sol-color-interactive-hovered)}.sol-c-input:has(.sol-c-input__element:focus){--_border-color:var(--sol-color-interactive-pressed);--_border-width:var(--sol-focus-width)}.sol-c-input--disabled{opacity:.4;pointer-events:none}.sol-c-input--invalid{--_border-color:var(--sol-color-interactive-negative)}.sol-c-input--invalid:hover{--_border-color:var(--sol-color-interactive-negative-hovered)}.sol-c-input--invalid:has(.sol-c-input__element:focus){--_border-color:var(--sol-color-interactive-negative-pressed)}.sol-c-input--has-start-icon,.sol-c-input:has(.sol-c-input__icon--start){--_offset-start:calc(var(--_icon-size) + var(--_padding))}.sol-c-input--has-end-icon,.sol-c-input:has(.sol-c-input__icon--end){--_offset-end:calc(var(--_padding) + var(--_icon-size))}.sol-c-input__element{align-items:center;background:#0000 none;border:0;border-radius:0;box-shadow:none;display:flex;flex:1;font:var(--sol-text-label-m);inline-size:100%;margin-block:0;margin-inline-end:calc((var(--_padding) + var(--_offset-end, 0px))*-1);margin-inline-start:calc((var(--_padding) + var(--_offset-start, 0px))*-1);min-block-size:var(--_block-size);padding-block:var(--sol-size-025);padding-inline-end:calc(var(--_padding) + var(--_offset-end, 0px));padding-inline-start:calc(var(--_padding) + var(--_offset-start, 0px));position:relative;text-align:start;text-overflow:ellipsis}.sol-c-input__element:is(textarea){block-size:calc(var(--_block-size)*2);padding-block:var(--sol-size-075);resize:vertical;scroll-padding-block:var(--sol-size-075)}.sol-c-input__element:is(select){appearance:none}.sol-c-input__element:is(select) optgroup,.sol-c-input__element:is(select) optgroup:checked,.sol-c-input__element:is(select) option,.sol-c-input__element:is(select) option:checked{background:var(--sol-color-surface-0)}.sol-c-input__element[type=number]{appearance:textfield}.sol-c-input__element[type=number]::-webkit-inner-spin-button,.sol-c-input__element[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.sol-c-input__element:is(button)[data-placeholder]:empty:before{content:attr(data-placeholder);display:block;pointer-events:none}.sol-c-input__element:is(button)[data-placeholder]:before,.sol-c-input__element:is(input,textarea)::placeholder,.sol-c-input__element:is(select):has(option[value=""]:not(:empty):checked){color:var(--sol-color-foreground-weak);opacity:1;transition:opacity var(--sol-motion-250)}.sol-c-input__element:focus,.sol-c-input__element:focus-visible{outline:none}.sol-c-input__floating{--_label-size:var(--sol-text-label-xs-line-height);--_label-offset:calc(var(--_label-size)/2);display:flex;flex:1;position:relative}.sol-c-input__floating .sol-c-input__element{padding-block-start:calc(var(--_label-offset) + var(--_label-size))}.sol-c-input__floating .sol-c-input__element:not(:focus):is(input,textarea)::placeholder,.sol-c-input__floating .sol-c-input__element:not(:focus):is(select):has(option[value=""]:not(:empty):checked),.sol-c-input__floating .sol-c-input__element:not(:focus,[aria-expanded=true]):is(button)[data-placeholder]:before{opacity:0}.sol-c-input__label{inset-block-start:var(--_label-offset);inset-inline:0;pointer-events:none;position:absolute;z-index:2}.sol-c-input__label:before{background:var(--_background-color);content:"";inset:calc((var(--_label-offset) - var(--_border-width))*-1) 0;opacity:.8;position:absolute;z-index:-1}.sol-c-input__label-indicator,.sol-c-input__label-text{font:var(--sol-text-label-xs)}.sol-c-input__floating:has(.sol-c-input__element:not(:focus):is(input,textarea)[placeholder]:placeholder-shown,.sol-c-input__element:not(:focus):is(select) option[value=""]:not(:empty):checked,.sol-c-input__element:not(:focus):is(select) option:empty:checked,.sol-c-input__element:not(:focus,[aria-expanded=true]):is(button):empty) .sol-c-input__label{inset-block-start:calc(var(--_block-size)/2 - var(--sol-text-label-m-line-height)/2)}.sol-c-input__floating:has(.sol-c-input__element:not(:focus):is(input,textarea)[placeholder]:placeholder-shown,.sol-c-input__element:not(:focus):is(select) option[value=""]:not(:empty):checked,.sol-c-input__element:not(:focus):is(select) option:empty:checked,.sol-c-input__element:not(:focus,[aria-expanded=true]):is(button):empty) .sol-c-input__label-text{font:var(--sol-text-label-m)}.sol-c-input__floating:has(.sol-c-input__element:not(:focus):is(input,textarea)[placeholder]:placeholder-shown,.sol-c-input__element:not(:focus):is(select) option[value=""]:not(:empty):checked,.sol-c-input__element:not(:focus):is(select) option:empty:checked,.sol-c-input__element:not(:focus,[aria-expanded=true]):is(button):empty) .sol-c-input__label-indicator{font:var(--sol-text-label-s)}@container style(--sol-prefers-reduced-motion: no-preference){.sol-c-input__label{transition:inset-block-start var(--sol-motion-250)}.sol-c-input__label-indicator,.sol-c-input__label-text{transition-duration:var(--sol-motion-250);transition-property:font-size,line-height}}.sol-c-input__icon{--sol-c-icon-size:var(--_icon-size);margin-block:calc((var(--_block-size) - var(--_icon-size))/2);pointer-events:none}.sol-c-input__icon--resize{bottom:var(--sol-size-025);color:var(--sol-color-primary-6);height:var(--sol-size-075);margin:0;position:absolute;right:calc(var(--sol-size-075)*-1);width:var(--sol-size-075)}.sol-c-input__prefix,.sol-c-input__suffix{align-items:center;display:flex;min-block-size:var(--_block-size);position:relative}.sol-c-input__separator{background:var(--_separator-color);block-size:var(--_separator-size);inline-size:var(--_separator-width);margin-block:calc((var(--_block-size) - var(--_separator-size))/2)}}');
var CA = function (e, t) {
"function" != typeof e ? e.current = t : e(t)
}, OA = function () {
}, PA = ["cacheMeasurements", "maxRows", "minRows", "onChange", "onHeightChange"],
AA = Ee.forwardRef((function (e, t) {
e.cacheMeasurements, e.maxRows, e.minRows;
var n = e.onChange;
e.onHeightChange;
var r = function (e, t) {
if (null == e) return {};
var n = {};
for (var r in e) if (Object.prototype.hasOwnProperty.call(e, r)) {
if (t.indexOf(r) >= 0) continue;
n[r] = e[r]
}
return n
}(e, PA);
r.value;
var a = function (e, t) {
var n = (0, Ee.useRef)();
return (0, Ee.useCallback)((function (r) {
e.current = r, n.current && CA(n.current, null), n.current = t, t && CA(t, r)
}), [t])
}(Ee.useRef(null), t);
return Ee.useRef(0), Ee.useRef(), Ee.createElement("textarea", IA({}, r, {
onChange: void 0 === n ? OA : n,
ref: a
}))
}));
let TA = (0, Ee.forwardRef)((({
as: e,
className: t,
id: n,
"aria-describedby": r,
"aria-labelledby": a,
disabled: i,
invalid: o,
required: s,
placeholder: l = " ",
type: c,
endIcon: u,
icon: d,
prefix: p,
suffix: h,
showPasswordLabel: f = "Show password",
hidePasswordLabel: m = "Hide password",
wrapperProps: g,
...v
}, _) => {
let y = (0, Ee.useRef)(null), b = (0, Ee.useId)(), x = $I(), [w, k] = (0, Ee.useState)(!1),
S = x?.inputId ?? n ?? b, E = rb(_, y);
(0, Ee.useLayoutEffect)((() => {
x && y.current && (x.setInputRef(y.current), x.setInputId(S), null != i && x.setIsDisabled(i), null != o && x.setIsInvalid(o), null != s && x.setIsRequired(s), "button" === e && x.setLabelElementType("span"))
}), [e, i, x, S, o, s]), (0, Ee.useEffect)((() => {
if ("password" === c && y.current) {
let e = y.current.form, t = () => k(!1);
return e?.addEventListener("submit", t), () => e?.removeEventListener("submit", t)
}
}), [c]);
let I = x?.isDisabled ?? i, C = x?.isInvalid ?? o, O = x?.isRequired ?? s, P = x?.getDescribedby(r) ?? r,
A = x?.getLabelledby(a) ?? a, T = (0, Ee.useMemo)((() => x ? sy.jsxs(Cb, {
align: "baseline",
as: x.labelElementType,
className: "sol-c-input__label",
gap: "025", ...x.labelProps,
children: [sy.jsx(hb, {
as: "span",
className: "sol-c-input__label-text",
color: "foreground-weak",
truncate: !0,
children: x.label
}), x.necessityIndicator && sy.jsxs(hb, {
"aria-hidden": !!O || void 0,
as: "span",
className: "sol-c-input__label-indicator",
color: "foreground-weak",
transform: "lowercase",
children: ["(", x.necessityIndicator, ")"]
})]
}) : null), [x, O]), D = (0, Ee.useMemo)((() => "password" === c ? sy.jsxs(sy.Fragment, {
children: [sy.jsx(_b, {
"aria-label": w ? m : f,
color: C ? "negative" : void 0,
icon: w ? Iy : Ey,
onClick: () => k(!w),
size: "small",
variant: "plain"
}), h]
}) : h), [m, C, w, f, h, c]), R = "select" === e ? yy : u,
L = Ty("sol-c-input", R && "sol-c-input--has-end-icon", d && "sol-c-input--has-start-icon", I && "sol-c-input--disabled", C && "sol-c-input--invalid", O && "sol-c-input--required", g?.className),
j = Ty("sol-c-input__element", t), N = (0, Ee.createElement)(e ? "textarea" === e ? AA : e : "input", {
"aria-describedby": P,
"aria-labelledby": A,
"aria-required": !!O || void 0,
"aria-invalid": !!C || void 0,
autoComplete: "password" === c ? "off" : void 0,
className: j,
disabled: I,
id: S,
placeholder: l,
"data-placeholder": l,
ref: E,
type: "password" === c && w ? "text" : c, ...v
});
return sy.jsxs("div", {
...g,
className: L,
children: [p && sy.jsx(hb, {
className: "sol-c-input__prefix",
color: "foreground-weak",
variant: "label-m",
children: p
}), p && d && sy.jsx("span", {
"aria-hidden": !0,
className: "sol-c-input__separator"
}), d && sy.jsx(pb, {
className: "sol-c-input__icon sol-c-input__icon--start",
source: d
}), x && x.label && "floating" === x.labelType ? sy.jsxs("div", {
className: "sol-c-input__floating",
children: [T, N, "textarea" === e && sy.jsx(Sy, {className: "sol-c-input__icon sol-c-input__icon--resize"})]
}) : N, R && sy.jsx(pb, {
className: "sol-c-input__icon sol-c-input__icon--end",
source: R
}), R && D && sy.jsx("span", {
"aria-hidden": !0,
className: "sol-c-input__separator"
}), D && sy.jsx(hb, {
className: "sol-c-input__suffix",
color: "foreground-weak",
variant: "label-m",
children: D
})]
})
}));
ry("@layer sol.components{.sol-c-link{--_gap:var(--sol-size-025);border-radius:var(--sol-radius-4);cursor:var(--sol-cursor-interactive);text-decoration:underline}.sol-c-link:not(.sol-c-link--inherit){color:var(--sol-color-interactive);transition:color var(--sol-motion-250)}.sol-c-link:not(.sol-c-link--inherit):hover{color:var(--sol-color-interactive-hovered)}.sol-c-link:not(.sol-c-link--inherit):active{color:var(--sol-color-interactive-pressed)}.sol-c-link--inherit:hover{text-decoration:none}.sol-c-link--external{cursor:var(--sol-cursor-link)}.sol-c-link__icon{position:relative;top:-.125em}.sol-c-link__icon--start{margin-right:var(--_gap)}.sol-c-link__icon--end{margin-left:var(--_gap)}.sol-c-link__orphan{display:inline;white-space:nowrap}}");
let DA = Dy((({children: e, className: t, external: n, icon: r, startIcon: a, inherit: i, ...o}, s) => {
let l = Ty("sol-c-link", n && "sol-c-link--external", i && "sol-c-link--inherit", t);
return sy.jsxs(cb, {
className: l,
external: n,
ref: s, ...o,
children: [a && sy.jsx(pb, {
className: "sol-c-link__icon sol-c-link__icon--start",
source: a
}), e, r && sy.jsxs("span", {
className: "sol-c-link__orphan",
children: ["\ufeff", sy.jsx(pb, {className: "sol-c-link__icon sol-c-link__icon--end", source: r})]
})]
})
}));
ry('@layer sol.components{.sol-c-listbox{--_background:var(--sol-color-surface-2);--_divider-width:var(--sol-border-1);--_divider-color:var(--sol-color-surface-3);background:var(--_background);border-radius:var(--sol-radius-4);box-shadow:var(--sol-shadow-050);color:var(--sol-color-foreground);inline-size:max-content;max-block-size:var(--sol-c-listbox-available-height,18rem);max-block-size:min(18rem,var(--sol-c-listbox-available-height,0px));overflow:auto}.sol-c-listbox:focus,.sol-c-listbox:focus-visible{outline:none}.sol-c-listbox,[data-sol-listbox-overlay]{z-index:var(--sol-z-menu)}.sol-c-listbox__group:not(:last-child),.sol-c-listbox__item:not(:last-child):after{border-block-end:var(--_divider-width) solid var(--_divider-color)}.sol-c-listbox__label{padding:var(--sol-size-075) var(--sol-size-100)}.sol-c-listbox__item{--_foreground:#0000;--sol-focus-offset:calc(var(--sol-focus-width)*-1);align-items:center;border-radius:var(--sol-radius-4);cursor:var(--sol-cursor-interactive);display:flex;gap:var(--sol-size-050);margin:0 var(--sol-size-050);min-block-size:var(--sol-size-300);min-inline-size:0;padding:var(--sol-size-025) var(--sol-size-050);position:relative;user-select:none;z-index:1}.sol-c-listbox__item:after,.sol-c-listbox__item:before{content:"";display:block;inset:0 calc(var(--sol-size-050)*-1);position:absolute;z-index:-1}.sol-c-listbox__item:before{background:var(--_background);border-inline-start:var(--sol-border-2) solid var(--_foreground);transition:background var(--sol-motion-250)}.sol-c-listbox__item:disabled,.sol-c-listbox__item[aria-disabled=true]{pointer-events:none}.sol-c-listbox__item:disabled>*,.sol-c-listbox__item[aria-disabled=true]>*{opacity:.4}.sol-c-listbox__item:disabled:focus,.sol-c-listbox__item:disabled:focus-visible,.sol-c-listbox__item[aria-disabled=true]:focus,.sol-c-listbox__item[aria-disabled=true]:focus-visible{outline:none}.sol-c-listbox__item:hover{--_background:var(--sol-color-surface-2-hovered)}.sol-c-listbox__item:active{--_background:var(--sol-color-surface-2-pressed)}.sol-c-listbox__item[aria-selected=true]{--_background:var(--sol-color-surface-3);--_foreground:var(--sol-color-interactive)}.sol-c-listbox__item[aria-selected=true]:hover{--_background:var(--sol-color-surface-3-hovered);--_foreground:var(--sol-color-interactive-hovered)}.sol-c-listbox__item[aria-selected=true]:active{--_background:var(--sol-color-surface-3-pressed);--_foreground:var(--sol-color-interactive-pressed)}.sol-c-listbox__icon{--sol-c-icon-size:var(--sol-size-100);margin-inline-start:auto}}');
let RA = {none: 0, small: 8, medium: 12, large: 16}, LA = (0, Ee.createContext)(null), jA = () => {
let e = (0, Ee.useContext)(LA);
if (!e) throw Error("Listbox components must be wrapped in <Listbox />");
return e
}, NA = ((0, Ee.forwardRef)((({children: e, className: t, label: n, ...r}, a) => {
let i = (0, Ee.useId)(), {isMounted: o} = jA();
if (!o) return sy.jsx(sy.Fragment, {children: e});
let s = Ty("sol-c-listbox__group", t);
return sy.jsxs("li", {
className: s,
ref: a,
role: "presentation", ...r,
children: [sy.jsx(hb, {
id: i,
"aria-hidden": "true",
className: "sol-c-listbox__label",
color: "foreground-highlight",
variant: "body-s-bold",
children: n
}), sy.jsx("ul", {"aria-labelledby": i, className: "sol-c-listbox__items", role: "group", children: e})]
})
})), (0, Ee.memo)((0, Ee.forwardRef)((({
children: e,
active: t,
disabled: n,
selected: r,
getItemProps: a,
onSelect: i,
...o
}, s) => sy.jsxs("li", {
"aria-selected": r,
"aria-disabled": n,
ref: s,
role: "option",
tabIndex: t ? 0 : -1, ...a({
onClick: i, onKeyDown(e) {
["Enter", "Tab"].includes(e.key) && i(), [" ", "Tab"].includes(e.key) && e.preventDefault()
}, onKeyUp(e) {
" " === e.key && i()
}
}), ...o,
children: [sy.jsx(hb, {
as: "span",
className: "sol-c-listbox__content",
color: "foreground",
truncate: !0,
variant: "label-m",
children: e
}), r && sy.jsx(pb, {className: "sol-c-listbox__icon", color: "foreground", source: dy})]
}))))), MA = (0, Ee.forwardRef)((({
children: e,
className: t,
disabled: n = !1,
id: r,
label: a,
value: i,
...o
}, s) => {
let {ref: l, index: c} = Mw({label: n ? null : a}), {
getItemProps: u,
activeIndex: d,
selectedIndex: p,
setSelectedIndex: h,
setIsOpen: f,
value: m,
setValue: g,
setLabel: v,
allowEmpty: _,
isMounted: y
} = jA();
My((() => {
i === m && c !== p && (h(c), v(e ?? a))
}), [e, c, m, a, p, v, h, i]);
let b = (0, Ee.useCallback)((() => {
n || (c === p && _ ? (h(null), g(""), v("")) : (h(c), g(i), v(e ?? a)), f(!1))
}), [_, e, n, c, a, p, v, f, h, g, i]), x = yw([s, l]);
if (!y) return sy.jsx("li", {ref: x, children: a});
let w = !n && c === p, k = !n && c === d,
S = Ty("sol-c-listbox__item", k && "sol-c-listbox__item--active", t);
return sy.jsx(NA, {
className: S,
ref: x,
active: k,
disabled: n,
selected: w,
getItemProps: u,
onSelect: b, ...o,
children: e ?? a
})
})), FA = (0, Ee.forwardRef)((({
allowEmpty: e,
anchor: t,
children: n,
className: r,
defaultValue: a = "",
loop: i = !0,
name: o,
offset: s = "small",
onChange: l,
onValueChange: c,
overlay: u = !1,
placement: d = "bottom-start",
style: p,
trigger: h,
value: f,
empty: m = "",
...g
}, v) => {
let _ = (({
allowEmpty: e,
anchor: t,
loop: n,
offset: r = "small",
placement: a,
value: i,
defaultValue: o,
onValueChange: s
} = {}) => {
let [l, c] = Ny({
value: i,
defaultValue: o,
onChange: s
}), [u, d] = (0, Ee.useState)(!1), [p, h] = (0, Ee.useState)(null), [f, m] = (0, Ee.useState)(null), [g, v] = (0, Ee.useState)(null),
_ = (0, Ee.useRef)([]), y = (0, Ee.useRef)([]), b = Ak({
open: u,
onOpenChange: d,
placement: a,
whileElementsMounted: Zx,
middleware: [wx({
mainAxis: RA[r],
alignmentAxis: 0
}), kx({padding: RA[r]}), Sx({
apply({
availableHeight: e,
availableWidth: t,
elements: n,
rects: r
}) {
n.floating.style.setProperty("--sol-c-listbox-available-height", `${e}px`), Object.assign(n.floating.style, {
maxInlineSize: `${t}px`,
inlineSize: `${r.reference.width}px`
})
}, padding: RA[r]
})],
transform: !1
}), {context: x, refs: {setPositionReference: w}} = b;
(0, Ee.useEffect)((() => {
t && w(t)
}), [t, w]), (0, Ee.useEffect)((() => {
e && !l && (h(null), m(null), v(null))
}), [e, l]);
let k = Dk([Ek(x), Pk(x), zk(x, {role: "listbox"}), Fk(x, {
listRef: _,
activeIndex: p,
selectedIndex: f,
onNavigate: h,
loop: n
}), Uk(x, {listRef: y, activeIndex: p, selectedIndex: f, onMatch: h})]), S = Vk(x);
return (0, Ee.useMemo)((() => ({
isOpen: u,
setIsOpen: d,
elementsRef: _,
labelsRef: y,
allowEmpty: e,
activeIndex: p,
selectedIndex: f,
setSelectedIndex: m,
label: g,
setLabel: v,
value: l,
setValue: c, ...b, ...k, ...S
})), [u, e, p, f, g, l, c, b, k, S])
})({
allowEmpty: e, anchor: t, defaultValue: a, loop: i, offset: s, onValueChange(e) {
l?.({target: {name: o, value: e}}), c?.(e)
}, placement: d, value: f
}), {
floatingStyles: y,
refs: b,
context: x,
placement: w,
getReferenceProps: k,
getFloatingProps: S,
isOpen: E,
value: I,
label: C,
isMounted: O,
status: P,
elementsRef: A,
labelsRef: T
} = _, D = yw([v, b.setReference, h.ref]), {name: R} = lb(),
L = Ty("sol-c-listbox", "sol-u-transition-floating", r);
return sy.jsx(Nw, {
elementsRef: A,
labelsRef: T,
children: sy.jsxs(LA.Provider, {
value: _,
children: [(0, Ee.cloneElement)("function" == typeof h ? h({
isOpen: E,
label: C,
value: I
}) : h, k({ref: D}), h.props?.children || C || m), O ? sy.jsx(_k, {
children: sy.jsx(rS, {
condition: u,
wrap: e => sy.jsx(kk, {"data-sol-listbox-overlay": !0, children: e}),
children: sy.jsx(xk, {
context: x,
modal: !1,
children: sy.jsx("ul", {
className: L,
"data-sol-placement": w,
"data-sol-status": P,
"data-sol-theme": R,
ref: b.setFloating,
role: "listbox",
style: {...y, ...p}, ...S(g),
children: n
})
})
})
}) : sy.jsx("ul", {hidden: !0, children: n}), o && sy.jsx("input", {
type: "hidden",
name: o,
value: I
})]
})
})
}));
ry("@layer sol.components{.sol-c-library{align-items:center;background-color:var(--sol-color-surface-2);border-inline-start:var(--sol-size-025) solid var(--sol-color-status-informative);clip-path:var(--sol-clip-radius-8);display:flex;max-width:700px;padding:var(--sol-size-075) var(--sol-size-100);width:100%}.sol-c-library__path{flex:1;padding-right:var(--sol-size-100)}.sol-c-library__children{flex:0}}");
let zA = (0, Ee.forwardRef)((({path: e, children: t, className: n, ...r}, a) => sy.jsxs("div", {
ref: a,
className: "sol-c-library", ...r,
children: [sy.jsx(hb, {
className: "sol-c-library__path",
color: "foreground-weak",
variant: "body-s",
children: e
}), sy.jsx("div", {
children: sy.jsx(Cb, {
className: "sol-c-library__children",
gap: "100",
align: "center",
children: t
})
})]
})));
ry("@layer sol.components{.sol-c-loading{background:var(--sol-c-loading-background,var(--sol-color-surface-1));color:var(--sol-c-loading-foreground,var(--sol-color-foreground-highlight));flex:1;position:relative}.sol-c-loading__animation{width:19.25rem}}");
var VA = {
v: "5.9.0",
fr: 29.9700012207031,
ip: 0,
op: 120.0000048877,
w: 336,
h: 205,
nm: "RSI Loader V4 - Export",
ddd: 0,
assets: [{
id: "comp_0", nm: "RSI Loader V4", fr: 29.9700012207031, layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Bars strokes 2",
sr: 1,
ks: {
o: {
a: 1,
k: [{i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 27, s: [0]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 28.951, s: [100]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 30.959,
s: [0]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 32.958,
s: [100]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 34.959,
s: [0]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 36.955,
s: [100]
}, {t: 41.9512517087094, s: [0]}],
ix: 11
},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-4.209, 36.009], [13.79, -36.165], [4.292, -36.165], [-13.79, 36.009]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [592.395, 35.96], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[13.853, -36.165], [-4.103, 36.009], [-13.79, 36.009], [4.378, -36.165]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [568.269, 35.959], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[14.318, -36.052], [3.722, -36.052], [-14.276, 35.811], [-3.976, 35.811]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [543.532, 36.002], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 4",
np: 2,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[3.933, -35.751], [-14.15, 35.751], [-3.933, 35.751], [14.15, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [324.455, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 6",
np: 2,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[4.165, -35.751], [-13.918, 35.751], [-4.292, 35.751], [13.918, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [300.641, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 7",
np: 2,
cix: 2,
bm: 0,
ix: 5,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[14.171, -35.595], [-4.08, 35.751], [-14.171, 35.751], [4.25, -35.625]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [276.055, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 8",
np: 2,
cix: 2,
bm: 0,
ix: 6,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 100, ix: 1},
e: {a: 0, k: 0, ix: 2},
o: {a: 0, k: -131, ix: 3},
m: 1,
ix: 8,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.996078431373, .729411764706, .282352941176, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 27.0000010997325,
op: 42.0000017106951,
st: -6.00000024438501,
bm: 0
}, {
ddd: 0,
ind: 2,
ty: 4,
nm: "RSI strokes 6",
sr: 1,
ks: {
o: {
a: 1,
k: [{
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 27.049,
s: [0]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 29, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 31.008, s: [0]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 33.006,
s: [100]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 35.008,
s: [0]
}, {
i: {x: [.833], y: [.833]},
o: {x: [.167], y: [.167]},
t: 37.004,
s: [100]
}, {t: 42.0000017106951, s: [0]}],
ix: 11
},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [1.606, -5.426], [8.239, -4.122]],
o: [[0, 0], [0, 0], [0, 0], [6.548, 0], [-1.225, 4.164], [0, 0]],
v: [[-43.749, -10.347], [-43.2, -12.576], [-25.709, -82.269], [58.876, -82.269], [68.339, -74.362], [56.003, -61.071]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 4,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 0, ix: 1},
e: {a: 0, k: 100, ix: 2},
o: {a: 0, k: 0, ix: 3},
m: 1,
ix: 5,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, 1, 1, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 27.0000010997325,
op: 42.0000017106951,
st: 28.0000011404634,
bm: 0
}, {
ddd: 0,
ind: 3,
ty: 0,
nm: "RSI filled 3",
refId: "comp_1",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [540, 540, 0], ix: 2, l: 2},
a: {a: 0, k: [540, 540, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
hasMask: !0,
masksProperties: [{
inv: !1,
mode: "a",
pt: {
a: 1,
k: [{
i: {x: .14, y: 1},
o: {x: .86, y: 0},
t: 92,
s: [{
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[973, 292], [854, 765], [158, 772], [274, 300]],
c: !0
}]
}, {
t: 117.000004765508,
s: [{
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[1647, 292], [1528.001, 765], [834, 773], [954, 301]],
c: !0
}]
}],
ix: 1
},
o: {
a: 1,
k: [{i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 0, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 3, s: [40]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 6, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 9, s: [40]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 12, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 15, s: [40]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 18, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 21, s: [40]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 24, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 27, s: [10]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 29, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 31, s: [10]
}, {i: {x: [.833], y: [.833]}, o: {x: [.167], y: [.167]}, t: 33, s: [100]}, {
i: {
x: [.833],
y: [.833]
}, o: {x: [.167], y: [.167]}, t: 35, s: [10]
}, {t: 37.0000015070409, s: [100]}],
ix: 3
},
x: {a: 0, k: 0, ix: 4},
nm: "Mask 1"
}],
w: 1080,
h: 1080,
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}]
}, {
id: "comp_1",
nm: "RSI filled 3",
fr: 29.9700012207031,
layers: [{
ddd: 0,
ind: 1,
ty: 0,
nm: "RSI Filled logo",
refId: "comp_2",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [540, 540, 0], ix: 2, l: 2},
a: {a: 0, k: [540, 540, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
hasMask: !0,
masksProperties: [{
inv: !1,
mode: "a",
pt: {
a: 1,
k: [{
i: {x: .14, y: 1},
o: {x: .86, y: 0},
t: 30,
s: [{
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[259, 293], [140, 766], [-750, 774], [-740, 302]],
c: !0
}]
}, {
t: 55.0000022401959,
s: [{
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[963, 293], [844, 766], [150, 774], [270, 302]],
c: !0
}]
}],
ix: 1
},
o: {a: 0, k: 100, ix: 3},
x: {a: 0, k: 0, ix: 4},
nm: "Mask 1"
}],
w: 1080,
h: 1080,
ip: 25.0000010182709,
op: 146.000005946702,
st: -21.0000008553475,
bm: 0
}, {
ddd: 0,
ind: 2,
ty: 4,
nm: "Bars strokes",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-4.209, 36.009], [13.79, -36.165], [4.292, -36.165], [-13.79, 36.009]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [592.395, 35.96], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[13.853, -36.165], [-4.103, 36.009], [-13.79, 36.009], [4.378, -36.165]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [568.269, 35.959], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[14.318, -36.052], [3.722, -36.052], [-14.276, 35.811], [-3.976, 35.811]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [543.532, 36.002], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 4",
np: 2,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[3.933, -35.751], [-14.15, 35.751], [-3.933, 35.751], [14.15, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [324.455, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 6",
np: 2,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[4.165, -35.751], [-13.918, 35.751], [-4.292, 35.751], [13.918, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [300.641, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 7",
np: 2,
cix: 2,
bm: 0,
ix: 5,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[14.171, -35.595], [-4.08, 35.751], [-14.171, 35.751], [4.25, -35.625]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [276.055, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 8",
np: 2,
cix: 2,
bm: 0,
ix: 6,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {a: 0, k: 100, ix: 1},
e: {
a: 1,
k: [{
i: {x: [.833], y: [.818]},
o: {x: [.4], y: [0]},
t: 17,
s: [100]
}, {t: 29.0000011811942, s: [0]}],
ix: 2
},
o: {
a: 1,
k: [{
i: {x: [.833], y: [.818]},
o: {x: [.4], y: [0]},
t: 17,
s: [-59]
}, {t: 29.0000011811942, s: [-131]}],
ix: 3
},
m: 1,
ix: 8,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 15.0000006109625,
op: 126.000005132085,
st: -18.000000733155,
bm: 0
}, {
ddd: 0,
ind: 3,
ty: 4,
nm: "RSI strokes 7",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [1.606, -5.426], [8.239, -4.122]],
o: [[0, 0], [0, 0], [0, 0], [6.548, 0], [-1.225, 4.164], [0, 0]],
v: [[-43.749, -10.347], [-43.2, -12.576], [-25.709, -82.269], [58.876, -82.269], [68.339, -74.362], [56.003, -61.071]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 3,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [75]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [75]}, {
t: 27.0000010997325,
s: [100]
}],
ix: 2
},
o: {
a: 1,
k: [{i: {x: [.764], y: [1]}, o: {x: [.382], y: [0]}, t: 0, s: [-40]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 3
},
m: 1,
ix: 3,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 4,
ty: 4,
nm: "RSI strokes 6",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 3,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [75]}, {
t: 27.0000010997325,
s: [75]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [75]}, {
t: 27.0000010997325,
s: [50]
}],
ix: 2
},
o: {
a: 1,
k: [{i: {x: [.764], y: [1]}, o: {x: [.382], y: [0]}, t: 0, s: [-40]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 3
},
m: 1,
ix: 5,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 5,
ty: 4,
nm: "RSI strokes 5",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 3,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [25]}, {
t: 27.0000010997325,
s: [50]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [25]}, {
t: 27.0000010997325,
s: [25]
}],
ix: 2
},
o: {
a: 1,
k: [{i: {x: [.764], y: [1]}, o: {x: [.382], y: [0]}, t: 0, s: [-40]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 3
},
m: 1,
ix: 5,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 6,
ty: 4,
nm: "RSI strokes 4",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 3,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [100]}, {
t: 27.0000010997325,
s: [100]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [100]}, {
t: 27.0000010997325,
s: [75]
}],
ix: 2
},
o: {
a: 1,
k: [{i: {x: [.764], y: [1]}, o: {x: [.382], y: [0]}, t: 0, s: [-40]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 3
},
m: 1,
ix: 5,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 7,
ty: 4,
nm: "RSI strokes 3",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 3,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "tm",
s: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [0]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 1
},
e: {
a: 1,
k: [{i: {x: [.8], y: [1]}, o: {x: [.66], y: [0]}, t: 0, s: [0]}, {
t: 27.0000010997325,
s: [25]
}],
ix: 2
},
o: {
a: 1,
k: [{i: {x: [.764], y: [1]}, o: {x: [.382], y: [0]}, t: 0, s: [-40]}, {
t: 27.0000010997325,
s: [0]
}],
ix: 3
},
m: 1,
ix: 5,
nm: "Trim Paths 1",
mn: "ADBE Vector Filter - Trim",
hd: !1
}, {
ty: "st",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 3},
o: {a: 0, k: 100, ix: 4},
w: {a: 0, k: 3, ix: 5},
lc: 1,
lj: 1,
ml: 4,
bm: 0,
nm: "Stroke 1",
mn: "ADBE Vector Graphic - Stroke",
hd: !1
}],
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}]
}, {
id: "comp_2", nm: "RSI Filled logo", fr: 29.9700012207031, layers: [{
ddd: 0,
ind: 1,
ty: 4,
nm: "Copyright",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [912.856, 378.542, 0], ix: 2, l: 2},
a: {a: 0, k: [18.617, 18.788, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 2.315], [2.643, 0]],
o: [[0, 0], [0, 0], [2.643, 0], [0, -2.382], [0, 0]],
v: [[-2.676, -5.97], [-2.676, -.215], [-.1, -.215], [3.337, -3.026], [-.1, -5.97]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, -4.829], [2.775, -.529], [0, 0], [.297, 0], [0, 0], [.165, .331], [0, 0], [0, 0], [0, 0], [.264, 0], [0, 0], [0, .265], [0, 0], [-.231, 0], [-2.113, 0]],
o: [[0, 3.638], [0, 0], [.199, .198], [0, 0], [-.429, 0], [0, 0], [0, 0], [0, 0], [0, .298], [0, 0], [-.297, 0], [0, 0], [0, -.199], [2.213, -.199], [5.254, 0]],
v: [[7.4, -3.159], [3.666, 2.497], [7.829, 9.145], [7.63, 9.542], [4.194, 9.542], [3.436, 9.112], [-.628, 2.762], [-2.676, 2.762], [-2.676, 9.178], [-2.973, 9.509], [-6.309, 9.509], [-6.639, 9.178], [-6.639, -8.88], [-6.342, -9.178], [.329, -9.41]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 2,
ty: "sh",
ix: 3,
ks: {
a: 0,
k: {
i: [[0, 10.849], [10.736, 0], [0, -10.881], [-10.736, 0]],
o: [[0, -10.848], [-10.736, 0], [0, 10.849], [10.768, 0]],
v: [[15.592, -.017], [-.033, -15.793], [-15.658, -.017], [-.033, 15.76]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 3",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 3,
ty: "sh",
ix: 4,
ks: {
a: 0,
k: {
i: [[0, 12.734], [-12.618, 0], [0, -12.7], [12.619, 0]],
o: [[0, -12.733], [12.619, 0], [0, 12.734], [-12.618, 0]],
v: [[-18.366, -.017], [-.001, -18.538], [18.366, -.017], [-.001, 18.538]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 4",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [18.617, 18.788], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 1",
np: 6,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}],
ip: 0,
op: 183.000007453743,
st: 18.000000733155,
bm: 0
}, {
ddd: 0,
ind: 2,
ty: 4,
nm: "Robert",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [291.859, 707.315, 0], ix: 2, l: 2},
a: {a: 0, k: [94.996, 12.931, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr", it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.676, .883], [.042, 2.272], [0, 0], [.676, .841], [2.07, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.675, .841], [1.987, 0], [0, 0], [.633, -.883], [0, -2.272], [0, 0], [-.634, -.883], [-2.071, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.676, -.841], [-2.07, 0]],
o: [[2.07, 0], [.676, -.883], [0, 0], [0, -2.271], [-.676, -.883], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, -2.061], [-.677, -.842], [0, 0], [-2.028, 0], [-.634, .842], [0, 0], [0, 2.271], [.633, .884], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 2.272], [.676, .883], [0, 0]],
v: [[5.788, 12.681], [9.886, 11.377], [10.859, 6.666], [10.859, 3.175], [9.886, -1.535], [5.788, -2.839], [-5.535, -2.839], [-5.535, -8.138], [5.958, -8.138], [5.958, -5.068], [10.562, -6.541], [10.562, -7.087], [9.549, -11.419], [5.535, -12.681], [-5.111, -12.681], [-9.167, -11.378], [-10.14, -6.666], [-10.14, -3.848], [-9.167, .862], [-5.111, 2.166], [6.169, 2.166], [6.169, 7.802], [-6.252, 7.802], [-6.252, 4.648], [-10.9, 5.951], [-10.9, 6.666], [-9.886, 11.377], [-5.788, 12.681]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [178.841, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}], nm: "Groupe 1", np: 2, cix: 2, bm: 0, ix: 1, mn: "ADBE Vector Group", hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.535, -8.054], [2.535, 12.639], [-2.62, 12.639], [-2.62, -8.054], [-11.196, -8.054], [-11.196, -12.639], [11.196, -12.639], [11.196, -8.054]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [152.816, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 2",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-.253, -.253], [0, -.715], [0, 0], [.254, -.295], [.507, 0], [0, 0], [0, 0], [0, 0]],
o: [[.296, .294], [0, 0], [0, .714], [-.295, .294], [0, 0], [0, 0], [0, 0], [.507, 0]],
v: [[4.098, -7.739], [4.521, -6.225], [4.521, -3.154], [4.14, -1.64], [2.958, -1.219], [-6.465, -1.219], [-6.465, -8.117], [2.958, -8.117]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.677, .799], [0, 1.724], [0, 0], [.675, .798], [1.733, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.69, 0], [.675, -.8], [0, 0], [0, -1.683], [-.677, -.799], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-3.084, 3.154], [4.478, 12.66], [4.478, 12.618], [11.534, 12.618], [2.873, 3.112], [4.901, 3.112], [8.493, 1.935], [9.506, -1.808], [9.506, -7.739], [8.493, -11.482], [4.901, -12.66], [-11.534, -12.66], [-11.534, 12.66], [-6.465, 12.66], [-6.465, 3.154]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [129.112, 12.91], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 3",
np: 4,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-10.076, 12.639], [-10.076, -12.639], [9.908, -12.639], [9.908, -8.265], [-4.923, -8.265], [-4.923, -2.755], [3.74, -2.755], [3.74, 1.662], [-4.923, 1.662], [-4.923, 7.802], [10.076, 7.802], [10.076, 12.639]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [100.234, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 4",
np: 2,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-.253, -.252], [0, -.631], [0, 0], [.296, -.253], [.507, 0], [0, 0], [0, 0], [0, 0]],
o: [[.296, .294], [0, 0], [0, .63], [-.253, .252], [0, 0], [0, 0], [0, 0], [.507, 0]],
v: [[5.154, -8.118], [5.619, -6.73], [5.619, -4.29], [5.196, -2.944], [4.014, -2.566], [-5.535, -2.566], [-5.535, -8.454], [4.014, -8.454]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[-.253, -.294], [0, -.842], [0, 0], [0, 0], [.296, -.295], [.591, 0], [0, 0], [0, 0], [0, 0]],
o: [[.296, .378], [0, 0], [0, 0], [0, .841], [-.295, .294], [0, 0], [0, 0], [0, 0], [.591, 0]],
v: [[5.324, 2.103], [5.747, 3.87], [5.788, 3.87], [5.788, 5.804], [5.365, 7.529], [4.057, 7.991], [-5.493, 7.991], [-5.493, 1.682], [4.057, 1.682]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 2,
ty: "sh",
ix: 3,
ks: {
a: 0,
k: {
i: [[0, 0], [-.929, .841], [0, 1.598], [0, 0], [2.197, .463], [0, 2.398], [0, 0], [.676, .798], [1.733, 0], [0, 0], [0, 0]],
o: [[2.071, 0], [.93, -.841], [0, 0], [0, -2.777], [2.112, -.42], [0, 0], [0, -1.724], [-.676, -.799], [0, 0], [0, 0], [0, 0]],
v: [[4.689, 12.66], [9.21, 11.398], [10.605, 7.697], [10.605, 4.459], [7.309, -.379], [10.479, -4.627], [10.479, -7.697], [9.464, -11.44], [5.872, -12.66], [-10.605, -12.66], [-10.605, 12.66]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 3",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [71.906, 12.952], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 5",
np: 5,
cix: 2,
bm: 0,
ix: 5,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[6.76, -8.012], [-6.846, -8.012], [-6.846, 7.803], [6.76, 7.803]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[.634, -.84], [2.07, 0], [0, 0], [.633, .842], [0, 2.272], [0, 0], [-.634, .841], [-2.028, 0], [0, 0], [-.634, -.884], [0, -2.272], [0, 0]],
o: [[-.634, .842], [0, 0], [-2.071, 0], [-.634, -.84], [0, 0], [0, -2.272], [.633, -.884], [0, 0], [2.07, 0], [.634, .883], [0, 0], [0, 2.272]],
v: [[10.943, 11.377], [6.887, 12.639], [-6.887, 12.639], [-10.943, 11.377], [-11.915, 6.667], [-11.915, -6.624], [-10.943, -11.334], [-6.887, -12.639], [6.887, -12.639], [10.943, -11.334], [11.915, -6.624], [11.915, 6.667]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [40.978, 12.93], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 6",
np: 4,
cix: 2,
bm: 0,
ix: 6,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [.295, .295], [.507, 0], [0, 0], [0, 0], [0, 0], [-.296, .294], [0, .714]],
o: [[0, -.714], [-.254, -.253], [0, 0], [0, 0], [0, 0], [.507, 0], [.253, -.295], [0, 0]],
v: [[4.521, -6.225], [4.099, -7.739], [2.958, -8.117], [-6.464, -8.117], [-6.464, -1.219], [2.958, -1.219], [4.141, -1.64], [4.521, -3.154]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.676, -.799], [0, -1.683], [0, 0], [.676, -.8], [1.69, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.733, 0], [.676, .799], [0, 0], [0, 1.724], [-.676, .799], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[4.479, 12.66], [-3.084, 3.154], [-6.464, 3.154], [-6.464, 12.66], [-11.534, 12.66], [-11.534, -12.66], [4.901, -12.66], [8.492, -11.482], [9.506, -7.739], [9.506, -1.808], [8.492, 1.935], [4.901, 3.113], [2.873, 3.113], [11.534, 12.618], [4.479, 12.618]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [11.784, 12.91], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 7",
np: 4,
cix: 2,
bm: 0,
ix: 7,
mn: "ADBE Vector Group",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 3,
ty: 4,
nm: "Space",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [473.661, 707.314, 0], ix: 2, l: 2},
a: {a: 0, k: [65.632, 12.931, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-10.077, 12.639], [-10.077, -12.639], [9.908, -12.639], [9.908, -8.265], [-4.923, -8.265], [-4.923, -2.755], [3.738, -2.755], [3.738, 1.662], [-4.923, 1.662], [-4.923, 7.802], [10.077, 7.802], [10.077, 12.639]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [120.938, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.676, .842], [.042, 2.314], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.634, .884], [2.07, 0], [0, 0], [.633, -.883], [0, -2.272], [0, 0], [-.634, -.841], [-2.07, 0]],
o: [[2.028, 0], [.676, -.841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, -2.272], [-.676, -.883], [0, 0], [-2.07, 0], [-.634, .841], [0, 0], [0, 2.271], [.676, .842], [0, 0]],
v: [[5.598, 12.639], [9.654, 11.377], [10.626, 6.624], [10.626, 3.638], [5.472, 2.208], [5.472, 7.802], [-5.514, 7.802], [-5.514, -8.013], [5.472, -8.013], [5.472, -3.133], [10.626, -4.227], [10.626, -6.624], [9.654, -11.335], [5.598, -12.639], [-5.598, -12.639], [-9.696, -11.335], [-10.668, -6.624], [-10.668, 6.667], [-9.696, 11.377], [-5.598, 12.639]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [91.995, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 2",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0]],
v: [[-.253, -6.688], [-4.014, 2.482], [3.338, 2.482]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[7.479, 12.66], [5.239, 7.15], [-5.873, 7.15], [-8.07, 12.66], [-13.225, 12.66], [-2.536, -12.66], [2.408, -12.66], [13.225, 12.66]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [64.259, 12.91], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 3",
np: 4,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-.253, -.253], [0, -.715], [0, 0], [.254, -.294], [.508, 0], [0, 0], [0, 0], [0, 0]],
o: [[.296, .294], [0, 0], [0, .715], [-.253, .294], [0, 0], [0, 0], [0, 0], [.508, 0]],
v: [[5.07, -7.739], [5.493, -6.225], [5.493, -3.491], [5.111, -1.977], [3.929, -1.556], [-5.493, -1.556], [-5.493, -8.117], [3.929, -8.117]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [-.676, .798], [0, 1.724], [0, 0], [.677, .798], [1.731, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[1.689, 0], [.677, -.8], [0, 0], [0, -1.683], [-.676, -.799], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[5.916, 2.86], [9.506, 1.683], [10.52, -2.103], [10.52, -7.739], [9.506, -11.482], [5.916, -12.66], [-10.52, -12.66], [-10.52, 12.66], [-5.45, 12.66], [-5.45, 2.86]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [40.811, 12.91], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 4",
np: 4,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr", it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[.676, -.882], [2.07, 0], [0, 0], [.676, .883], [0, 2.271], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.676, .884], [0, 2.271], [0, 0], [-.634, .842], [-2.071, 0], [0, 0], [-.677, -.842], [0, -2.061], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.676, -.883], [0, -2.272], [0, 0]],
o: [[-.676, .883], [0, 0], [-2.071, 0], [-.676, -.841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-2.071, 0], [-.676, -.883], [0, 0], [0, -2.272], [.634, -.884], [0, 0], [1.986, 0], [.675, .841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [2.07, 0], [.676, .841], [0, 0], [0, 2.271]],
v: [[9.908, 11.377], [5.81, 12.681], [-5.767, 12.681], [-9.866, 11.377], [-10.879, 6.667], [-10.879, 5.951], [-6.232, 4.648], [-6.232, 7.802], [6.232, 7.802], [6.232, 2.166], [-5.048, 2.166], [-9.147, .862], [-10.12, -3.848], [-10.12, -6.666], [-9.147, -11.377], [-5.048, -12.681], [5.598, -12.681], [9.612, -11.419], [10.625, -7.087], [10.625, -6.54], [6.021, -5.068], [6.021, -8.138], [-5.513, -8.138], [-5.513, -2.839], [5.81, -2.839], [9.908, -1.535], [10.879, 3.176], [10.879, 6.667]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [11.129, 12.931], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}], nm: "Groupe 5", np: 2, cix: 2, bm: 0, ix: 5, mn: "ADBE Vector Group", hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 4,
ty: 4,
nm: "Industries",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [685.798, 707.293, 0], ix: 2, l: 2},
a: {a: 0, k: [125.669, 12.952, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr", it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[.677, -.882], [2.069, 0], [0, 0], [.676, .883], [0, 2.271], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.634, .884], [0, 2.271], [0, 0], [-.634, .842], [-2.028, 0], [0, 0], [-.677, -.842], [0, -2.061], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.676, -.883], [0, -2.272], [0, 0]],
o: [[-.676, .883], [0, 0], [-2.071, 0], [-.675, -.841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-2.071, 0], [-.634, -.883], [0, 0], [0, -2.272], [.634, -.884], [0, 0], [1.987, 0], [.675, .841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [2.07, 0], [.676, .841], [0, 0], [.084, 2.271]],
v: [[9.866, 11.377], [5.769, 12.681], [-5.809, 12.681], [-9.908, 11.377], [-10.879, 6.667], [-10.879, 5.951], [-6.231, 4.648], [-6.231, 7.802], [6.189, 7.802], [6.189, 2.166], [-5.09, 2.166], [-9.147, .862], [-10.118, -3.848], [-10.118, -6.666], [-9.147, -11.377], [-5.09, -12.681], [5.556, -12.681], [9.571, -11.419], [10.584, -7.087], [10.584, -6.54], [5.978, -5.068], [5.978, -8.138], [-5.556, -8.138], [-5.556, -2.839], [5.725, -2.839], [9.824, -1.535], [10.796, 3.176], [10.796, 6.667]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [240.209, 12.973], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}], nm: "Groupe 1", np: 2, cix: 2, bm: 0, ix: 1, mn: "ADBE Vector Group", hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-10.077, -12.639], [-10.077, 12.639], [10.077, 12.639], [10.077, 7.802], [-4.923, 7.802], [-4.923, 1.662], [3.739, 1.662], [3.739, -2.755], [-4.923, -2.755], [-4.923, -8.265], [9.908, -8.265], [9.908, -12.639]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [212.536, 12.973], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 2",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.577, -12.66], [-2.577, -12.66], [-2.577, 12.66], [2.577, 12.66]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [191.094, 12.994], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 3",
np: 2,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-.254, -.253], [0, -.715], [0, 0], [.253, -.295], [.507, 0], [0, 0], [0, 0], [0, 0]],
o: [[.295, .294], [0, 0], [0, .714], [-.253, .294], [0, 0], [0, 0], [0, 0], [.507, 0]],
v: [[4.141, -7.739], [4.562, -6.225], [4.562, -3.154], [4.182, -1.64], [3, -1.219], [-6.422, -1.219], [-6.422, -8.117], [3, -8.117]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.675, .799], [0, 1.724], [0, 0], [.676, .798], [1.731, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.689, 0], [.676, -.8], [0, 0], [0, -1.683], [-.675, -.799], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-3.084, 3.154], [4.479, 12.66], [4.479, 12.618], [11.534, 12.618], [2.872, 3.112], [4.901, 3.112], [8.492, 1.935], [9.507, -1.808], [9.507, -7.739], [8.492, -11.482], [4.901, -12.66], [-11.534, -12.66], [-11.534, 12.66], [-6.464, 12.66], [-6.464, 3.154]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [170.898, 12.953], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 4",
np: 4,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.535, -8.054], [2.535, 12.639], [-2.619, 12.639], [-2.619, -8.054], [-11.196, -8.054], [-11.196, -12.639], [11.196, -12.639], [11.196, -8.054]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [143.647, 12.973], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 5",
np: 2,
cix: 2,
bm: 0,
ix: 5,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr", it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-.676, .883], [.041, 2.272], [0, 0], [.676, .841], [2.07, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.676, .841], [1.986, 0], [0, 0], [.633, -.883], [0, -2.272], [0, 0], [-.634, -.883], [-2.071, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.676, -.841], [-2.07, 0]],
o: [[2.07, 0], [.676, -.883], [0, 0], [0, -2.271], [-.677, -.883], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, -2.061], [-.676, -.842], [0, 0], [-2.028, 0], [-.634, .842], [0, 0], [0, 2.271], [.633, .884], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 2.272], [.676, .883], [0, 0]],
v: [[5.81, 12.681], [9.908, 11.377], [10.838, 6.666], [10.838, 3.175], [9.866, -1.535], [5.768, -2.839], [-5.556, -2.839], [-5.556, -8.138], [5.979, -8.138], [5.979, -5.068], [10.584, -6.541], [10.584, -7.087], [9.57, -11.419], [5.556, -12.681], [-5.09, -12.681], [-9.146, -11.378], [-10.118, -6.666], [-10.118, -3.848], [-9.146, .862], [-5.09, 2.166], [6.19, 2.166], [6.19, 7.802], [-6.231, 7.802], [-6.231, 4.648], [-10.879, 5.951], [-10.879, 6.666], [-9.865, 11.377], [-5.767, 12.681]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [117.557, 12.974], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}], nm: "Groupe 6", np: 2, cix: 2, bm: 0, ix: 6, mn: "ADBE Vector Group", hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[.633, -.841], [2.071, 0], [0, 0], [.677, .842], [0, 2.271], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[-.634, .842], [0, 0], [-2.069, 0], [-.675, -.841], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.043, 2.271]],
v: [[9.95, 11.377], [5.893, 12.639], [-5.937, 12.639], [-9.993, 11.377], [-10.964, 6.667], [-10.964, -12.639], [-5.809, -12.639], [-5.809, 7.802], [5.852, 7.802], [5.852, -12.639], [10.964, -12.639], [10.964, 6.667]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [87.561, 12.973], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 7",
np: 2,
cix: 2,
bm: 0,
ix: 7,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [-1.015, -1.303], [0, -2.566], [1.226, -1.22], [2.746, 0], [0, 0], [0, 0]],
o: [[1.775, 0], [1.056, 1.305], [0, 2.902], [-1.224, 1.219], [0, 0], [0, 0], [0, 0]],
v: [[.697, -8.075], [4.923, -6.099], [6.486, -.294], [4.626, 5.889], [-1.372, 7.74], [-6.613, 7.74], [-6.613, -8.075]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [-1.605, 1.346], [0, 4.921], [1.859, 2.187], [3.677, 0], [0, 0], [0, 0]],
o: [[3.76, 0], [2.746, -2.313], [0, -3.954], [-1.859, -2.187], [0, 0], [0, 0], [0, 0]],
v: [[-.444, 12.66], [7.626, 10.642], [11.767, -.168], [8.978, -9.379], [.697, -12.66], [-11.767, -12.66], [-11.767, 12.66]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "mm",
mm: 1,
nm: "Fusionner les trac\xe9s 1",
mn: "ADBE Vector Filter - Merge",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [57.563, 12.994], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 8",
np: 4,
cix: 2,
bm: 0,
ix: 8,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-2.577, -12.66], [2.577, -12.66], [2.577, 12.66], [-2.577, 12.66]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [2.827, 12.994], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 9",
np: 2,
cix: 2,
bm: 0,
ix: 9,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[.148, .197], [0, -.8], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.224, -.267], [-.09, -.105], [0, 0], [.015, .469], [0, .274], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.039, .047], [.04, .05]],
o: [[.085, 1.051], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [.354, .406], [.125, .147], [0, 0], [-.017, -.655], [-.021, -.674], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-.028, -.037], [-.033, -.043], [-.123, -.151]],
v: [[-6.76, -3.765], [-6.675, -.988], [-6.675, 12.682], [-11.408, 12.682], [-11.408, -12.639], [-7.69, -12.639], [5.535, 2.251], [6.396, 3.259], [6.718, 3.638], [6.802, 3.722], [6.753, 2.035], [6.718, .609], [6.718, -12.682], [11.408, -12.682], [11.408, 12.639], [7.689, 12.639], [-6.126, -2.965], [-6.226, -3.092], [-6.337, -3.231]],
c: !0
},
ix: 2
},
nm: "Trac\xe9 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fond 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [25.558, 12.932], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Groupe 10",
np: 2,
cix: 2,
bm: 0,
ix: 10,
mn: "ADBE Vector Group",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}, {
ddd: 0,
ind: 5,
ty: 4,
nm: "RSI",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [539.017, 513.502, 0], ix: 2, l: 2},
a: {a: 0, k: [346.489, 153.749, 0], ix: 1, l: 2},
s: {a: 0, k: [100, 100, 100], ix: 6, l: 2}
},
ao: 0,
shapes: [{
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.62, -153.308], [2.661, -153.477], [75.755, -153.308], [-1.859, 153.477], [-75.755, 153.477], [2.325, -153.308]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [616.974, 153.727], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 1",
np: 2,
cix: 2,
bm: 0,
ix: 1,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[-3.021, 35.54], [14.978, -35.54], [3.104, -35.54], [-14.977, 35.54]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [591.645, 35.96], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 2",
np: 2,
cix: 2,
bm: 0,
ix: 2,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[14.978, -35.54], [-2.978, 35.54], [-14.977, 35.54], [3.191, -35.54]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [567.519, 35.959], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 3",
np: 2,
cix: 2,
bm: 0,
ix: 3,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[15.505, -35.583], [15.211, -35.583], [15.253, -35.751], [2.578, -35.751], [2.534, -35.583], [-15.464, 35.498], [-15.505, 35.751], [-2.831, 35.751], [-2.789, 35.498]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [542.782, 36.002], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 4",
np: 2,
cix: 2,
bm: 0,
ix: 4,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[-6.591, -4.164], [0, 0], [3.253, -13.754], [0, 0], [14.787, 0], [0, 0], [0, 0], [0, 0], [-1.225, 4.164], [6.549, 4.585], [0, 0], [-3.295, 13.711], [0, 0], [-14.365, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1.648, -6.645]],
o: [[0, 0], [11.914, 7.907], [0, 0], [-3.252, 13.712], [0, 0], [0, 0], [0, 0], [6.548, 0], [1.648, -5.426], [0, 0], [-11.915, -7.907], [0, 0], [3.295, -13.712], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-6.548, 0], [-1.647, 6.687]],
v: [[-23.999, -57.306], [93.414, 21.261], [108.624, 61.219], [91.808, 128.136], [58.98, 153.499], [-88.853, 153.499], [-70.769, 81.996], [18.336, 81.996], [31.053, 73.248], [24.884, 59.115], [-93.373, -20.715], [-108.583, -60.629], [-91.768, -127.967], [-59.742, -153.329], [109.891, -153.499], [109.85, -153.329], [91.766, -82.249], [91.724, -81.996], [91.64, -81.996], [-18.253, -82.249], [-31.393, -73.121]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [423.595, 153.749], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 5",
np: 2,
cix: 2,
bm: 0,
ix: 5,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.683, -35.751], [-15.4, 35.751], [-2.683, 35.751], [15.4, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [324.455, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 6",
np: 2,
cix: 2,
bm: 0,
ix: 6,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0]],
v: [[2.915, -35.751], [-15.168, 35.751], [-3.042, 35.751], [15.168, -35.751]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [300.141, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 7",
np: 2,
cix: 2,
bm: 0,
ix: 7,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
o: [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[3.042, -35.751], [15.421, -35.751], [-2.83, 35.751], [-15.421, 35.751], [3, -35.625]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ty: "fl",
c: {a: 0, k: [1, .627450980392, 0, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [275.805, 271.453], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 8",
np: 2,
cix: 2,
bm: 0,
ix: 8,
mn: "ADBE Vector Group",
hd: !1
}, {
ty: "gr",
it: [{
ind: 0,
ty: "sh",
ix: 1,
ks: {
a: 0,
k: {
i: [[0, 0], [0, 0], [0, 0], [0, 0], [1.606, -5.426], [8.239, -4.122]],
o: [[0, 0], [0, 0], [0, 0], [6.548, 0], [-1.225, 4.164], [0, 0]],
v: [[-43.749, -10.347], [-43.2, -12.576], [-25.709, -82.269], [58.876, -82.269], [68.339, -74.362], [56.003, -61.071]],
c: !0
},
ix: 2
},
nm: "Path 1",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {
ind: 1,
ty: "sh",
ix: 2,
ks: {
a: 0,
k: {
i: [[0, 0], [1.225, 4.585], [0, 0], [0, 0], [-4.099, 16.656], [0, 0], [19.307, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-14.366, 0], [0, 0], [0, 0], [0, 0]],
o: [[-4.943, 0], [0, 0], [0, 0], [13.562, -6.645], [0, 0], [4.943, -18.717], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [3.295, 13.711], [0, 0], [0, 0], [0, 0], [0, 0]],
v: [[71.593, 81.933], [60.904, 73.605], [48.609, 20.82], [104.885, -7.445], [134.038, -44.458], [153.346, -119.282], [127.067, -153.393], [-81.098, -153.393], [-158.29, 153.393], [-85.197, 153.393], [-66.312, 78.989], [-17.048, 54.047], [.613, 128.031], [32.217, 153.393], [90.521, 153.393], [108.562, 81.891], [71.593, 81.891]],
c: !0
},
ix: 2
},
nm: "Path 2",
mn: "ADBE Vector Shape - Group",
hd: !1
}, {ty: "mm", mm: 1, nm: "Merge Paths 1", mn: "ADBE Vector Filter - Merge", hd: !1}, {
ty: "fl",
c: {a: 0, k: [.737254901961, .745098039216, .752941176471, 1], ix: 4},
o: {a: 0, k: 100, ix: 5},
r: 1,
bm: 0,
nm: "Fill 1",
mn: "ADBE Vector Graphic - Fill",
hd: !1
}, {
ty: "tr",
p: {a: 0, k: [158.539, 153.77], ix: 2},
a: {a: 0, k: [0, 0], ix: 1},
s: {a: 0, k: [100, 100], ix: 3},
r: {a: 0, k: 0, ix: 6},
o: {a: 0, k: 100, ix: 7},
sk: {a: 0, k: 0, ix: 4},
sa: {a: 0, k: 0, ix: 5},
nm: "Transform"
}],
nm: "Group 9",
np: 4,
cix: 2,
bm: 0,
ix: 9,
mn: "ADBE Vector Group",
hd: !1
}],
ip: 0,
op: 180.00000733155,
st: 0,
bm: 0
}]
}],
layers: [{
ddd: 0,
ind: 1,
ty: 0,
nm: "RSI Loader V4",
refId: "comp_0",
sr: 1,
ks: {
o: {a: 0, k: 100, ix: 11},
r: {a: 0, k: 0, ix: 10},
p: {a: 0, k: [168, 102.5, 0], ix: 2, l: 2},
a: {a: 0, k: [540, 540, 0], ix: 1, l: 2},
s: {a: 0, k: [39, 39, 100], ix: 6, l: 2}
},
ao: 0,
w: 1080,
h: 1080,
ip: 0,
op: 120.0000048877,
st: 0,
bm: 0
}],
markers: []
};
let UA = Dy((({as: e = "div", children: t, handleAnimWipeTrigger: n, className: r, ...a}, i) => {
let o = Ty("sol-c-loading", r);
n?.();
let s = nb(VA, {loop: !1, forcePlay: !0});
return sy.jsxs(Cb, {
align: "center",
className: o,
gap: "150",
justify: "center",
vertical: !0,
ref: i, ...a,
children: [sy.jsx(s, {className: "sol-c-loading__animation"}), t && sy.jsx(hb, {
align: "center",
className: "sol-c-loading__text",
variant: "body-l",
children: t
})]
})
}));
ry("@layer sol.components{.sol-c-menu{background:var(--sol-color-surface-2);border-radius:var(--sol-radius-4);box-shadow:var(--sol-shadow-100);color:var(--sol-color-foreground);display:flex;flex-direction:column;gap:var(--sol-size-025);inline-size:max-content;overflow:auto;padding:var(--sol-size-050)}.sol-c-menu :disabled:focus,.sol-c-menu :disabled:focus-visible,.sol-c-menu [aria-disabled=true]:focus,.sol-c-menu [aria-disabled=true]:focus-visible,.sol-c-menu:focus,.sol-c-menu:focus-visible{outline:none}.sol-c-menu,[data-sol-menu-overlay]{z-index:var(--sol-z-menu)}.sol-c-menu__title{max-inline-size:25rem;padding:var(--sol-size-075);word-break:break-all}}");
let BA = {none: 0, small: 8, medium: 12, large: 16}, GA = (0, Ee.createContext)(null), $A = () => {
let e = (0, Ee.useContext)(GA);
if (!e) throw Error("Menu components must be wrapped in <Menu />");
return e
}, qA = (0, Ee.forwardRef)((({className: e, close: t = !0, disabled: n, label: r, onClick: a, ...i}, o) => {
let {ref: s, index: l} = Mw({label: n ? null : r}), {getItemProps: c, activeIndex: u, setIsOpen: d} = $A(),
p = Ty("sol-c-menu__item", e), h = (0, Ee.useCallback)((e => {
t && d(!1), a && a(e)
}), [t, a, d]);
return sy.jsx(_b, {
align: "start",
className: p,
disabled: n,
fullWidth: !0,
ref: yw([s, o]),
role: "menuitem",
tabIndex: n || l !== u ? -1 : 0,
variant: "plain", ...i, ...c({onClick: h}),
children: r
})
})), WA = Dy((({className: e, close: t = !1, onClick: n, subtitle: r, title: a, ...i}, o) => {
let s = Ty("sol-c-menu__title", e), {setIsOpen: l} = $A(), c = (0, Ee.useCallback)((e => {
t && l(!1), n && n(e)
}), [t, n, l]);
return sy.jsxs(Cb, {
"aria-disabled": "true",
className: s,
onClick: c,
ref: o,
vertical: !0, ...i,
children: [sy.jsx(hb, {
offset: !0,
variant: "emphasis-m",
truncate: 1,
children: a
}), r && sy.jsx(hb, {color: "foreground-weak", variant: "body-xs", children: r})]
})
})), HA = (0, Ee.forwardRef)((({
anchor: e,
children: t,
className: n,
offset: r = "small",
overlay: a = !1,
placement: i = "bottom-start",
loop: o = !0,
style: s,
trigger: l,
...c
}, u) => {
let d = (({anchor: e, loop: t, offset: n = "small", placement: r} = {}) => {
let [a, i] = (0, Ee.useState)(null), [o, s] = (0, Ee.useState)(!1), l = (0, Ee.useRef)([]),
c = (0, Ee.useRef)([]), u = Ak({
open: o,
onOpenChange: s,
placement: r,
whileElementsMounted: Zx,
middleware: [wx({mainAxis: BA[n], alignmentAxis: 0}), Sx({
apply({
availableWidth: e,
availableHeight: t,
elements: n
}) {
Object.assign(n.floating.style, {maxInlineSize: `${e}px`, maxBlockSize: `${t}px`})
}, padding: BA[n]
})],
transform: !1
}), {context: d, refs: {setPositionReference: p}} = u;
(0, Ee.useEffect)((() => {
e && p(e)
}), [e, p]);
let h = Dk([Ek(d), Pk(d), Fk(d, {
activeIndex: a,
listRef: l,
loop: t,
onNavigate: i
}), Uk(d, {activeIndex: a, enabled: o, listRef: c, onMatch: i}), zk(d, {role: "menu"})]), f = Vk(d);
return (0, Ee.useMemo)((() => ({
isOpen: o,
setIsOpen: s,
elementsRef: l,
labelsRef: c,
activeIndex: a, ...u, ...h, ...f
})), [o, s, a, u, h, f])
})({anchor: e, loop: o, offset: r, placement: i}), {
floatingStyles: p,
refs: h,
context: f,
placement: m,
getReferenceProps: g,
getFloatingProps: v,
isOpen: _,
isMounted: y,
status: b,
elementsRef: x,
labelsRef: w
} = d, k = yw([h.setReference, l.ref, u]), {name: S} = lb(),
E = Ty("sol-c-menu sol-u-transition-floating", n);
return sy.jsx(Nw, {
elementsRef: x,
labelsRef: w,
children: sy.jsxs(GA.Provider, {
value: d,
children: [(0, Ee.cloneElement)("function" == typeof l ? l({isOpen: _}) : l, g({ref: k})), y && sy.jsx(_k, {
children: sy.jsx(rS, {
condition: a,
wrap: e => sy.jsx(kk, {"data-sol-menu-overlay": !0, children: e}),
children: sy.jsx(xk, {
context: f,
visuallyHiddenDismiss: !0,
initialFocus: -1,
modal: !1,
children: sy.jsx("div", {
className: E,
"data-sol-placement": m,
"data-sol-status": b,
"data-sol-theme": S,
ref: h.setFloating,
style: {...p, ...s}, ...v(c),
children: t
})
})
})
})]
})
})
}));
ry("@layer sol.components{.sol-c-popover{background:var(--sol-color-surface-2);border-radius:var(--sol-radius-4);box-shadow:var(--sol-shadow-100);display:flex;flex-direction:column;gap:var(--sol-size-100);inline-size:max-content;max-inline-size:36rem;min-inline-size:26.25rem;overflow:auto;padding:var(--sol-size-125)}.sol-c-popover:focus,.sol-c-popover:focus-visible{outline:none}.sol-c-popover,[data-sol-popover-overlay]{z-index:var(--sol-z-popover)}.sol-c-popover--full-width{inline-size:100%}.sol-c-popover__title{flex:1}.sol-c-popover__footer{border-block-start:var(--sol-border-1) solid var(--sol-color-surface-3);padding-block-start:var(--sol-size-100)}}");
let KA = {none: 0, small: 8, medium: 12, large: 16}, YA = (0, Ee.createContext)(null), QA = () => {
let e = (0, Ee.useContext)(YA);
if (!e) throw Error("Popover components must be wrapped in <Popover />");
return e
}, ZA = (Dy((({as: e = "p", id: t, onClick: n, ...r}, a) => {
let {setDescriptionId: i} = QA(), o = Uy(t);
return My((() => (i(o), () => i(void 0))), [o, i]), sy.jsx(e, {id: o, ref: a, ...r})
})), Dy((({as: e = "p", id: t, onClick: n, ...r}, a) => {
let {setLabelId: i} = QA(), o = Uy(t);
return My((() => (i(o), () => i(void 0))), [o, i]), sy.jsx(e, {id: o, ref: a, ...r})
}))), XA = (0, Ee.forwardRef)((({
anchor: e,
children: t,
className: n,
close: r,
defaultOpen: a,
footer: i,
fullWidth: o,
modal: s = !0,
offset: l = "small",
open: c,
onOpenChange: u,
overlay: d = !1,
placement: p = "bottom-start",
style: h,
title: f,
trigger: m,
...g
}, v) => {
let _ = (({
anchor: e,
defaultOpen: t,
offset: n = "small",
open: r,
onOpenChange: a,
placement: i
} = {}) => {
let [o, s] = (0, Ee.useState)(t), [l, c] = (0, Ee.useState)(), [u, d] = (0, Ee.useState)(), p = r ?? o,
h = a ?? s, f = Yw(), m = Ak({
open: p,
onOpenChange: h,
nodeId: f,
placement: i,
whileElementsMounted: Zx,
middleware: [wx({
mainAxis: KA[n],
alignmentAxis: 0
}), kx({padding: KA[n]}), Sx({
apply({availableHeight: e, elements: t}) {
Object.assign(t.floating.style, {maxBlockSize: `${e}px`})
}, padding: KA[n]
})],
transform: !1
}), {context: g, refs: {setPositionReference: v}} = m;
(0, Ee.useEffect)((() => {
e && v(e)
}), [e, v]);
let _ = Dk([Ek(g), Pk(g, {
bubbles: !1,
outsidePress: e => !e.target.closest("[data-sol-popover-ignore]")
}), zk(g)]), y = Vk(g);
return (0, Ee.useMemo)((() => ({
isOpen: p,
setIsOpen: h,
labelId: l,
setLabelId: c,
descriptionId: u,
setDescriptionId: d,
nodeId: f, ...m, ..._, ...y
})), [p, h, l, u, f, m, _, y])
})({anchor: e, defaultOpen: a, offset: l, open: c, onOpenChange: u, placement: p}), {
floatingStyles: y,
refs: b,
context: x,
placement: w,
getReferenceProps: k,
getFloatingProps: S,
isMounted: E,
isOpen: I,
setIsOpen: C,
status: O,
labelId: P,
descriptionId: A,
nodeId: T
} = _, D = yw([b.setReference, (m ?? t).ref, v]), {name: R} = lb(),
L = Ty("sol-c-popover sol-u-transition-floating", o && "sol-c-popover--full-width", n);
return sy.jsx(YA.Provider, {
value: _, children: sy.jsxs(Qw, {
id: T,
children: [(0, Ee.cloneElement)("function" == typeof m ? m({isOpen: I}) : m, k({ref: D})), E && sy.jsx(_k, {
children: sy.jsx(rS, {
condition: d,
wrap: e => sy.jsx(kk, {"data-sol-popover-overlay": !0, children: e}),
children: sy.jsx(xk, {
context: x,
modal: s,
children: sy.jsxs("div", {
"aria-labelledby": P,
"aria-describedby": A,
className: L,
"data-sol-placement": w,
"data-sol-status": O,
"data-sol-theme": R,
ref: b.setFloating,
style: {...y, ...h}, ...S(g),
children: [(r || f) && sy.jsxs(Cb, {
align: "start",
className: "sol-c-popover__header",
gap: "050",
justify: "end",
children: [f && sy.jsx(hb, {
as: ZA,
className: "sol-c-popover__title",
color: "foreground",
offset: !0,
variant: "emphasis-m",
children: f
}), r && sy.jsx(_b, {
"aria-label": "string" == typeof r ? r : "Close",
className: "sol-c-popover__close",
icon: my,
onClick: () => C(!1),
size: "small",
variant: "monochrome"
})]
}), sy.jsx(hb, {
className: "sol-c-popover__content",
color: "foreground-weak",
variant: "body-s",
multiline: !0,
children: t
}), i && sy.jsx(Cb, {
align: "center",
className: "sol-c-popover__footer",
gap: "100",
justify: "space-between",
children: i
})]
})
})
})
})]
})
})
})),
JA = (0, Ee.forwardRef)(((e, t) => null == Hw() ? sy.jsx(Zw, {children: sy.jsx(XA, {ref: t, ...e})}) : sy.jsx(XA, {ref: t, ...e})));
ry("@layer sol.components{.sol-c-rsi-logo{--_size:var(--sol-c-rsi-logo-size,var(--sol-size-100));fill:currentColor;block-size:var(--_size);display:inline-block;flex-shrink:0}}");
let eT = ({className: e, ...t}) => {
let n = Ty("sol-c-rsi-logo", e);
return sy.jsxs("svg", {
className: n,
xmlns: "http://www.w3.org/2000/svg",
height: "16",
fill: "currentColor",
viewBox: "0 0 216 80", ...t,
children: [sy.jsx("path", {d: "M80.53 0c5.2 0 8.5 3.67 7.57 8.26l-.16.63L82.5 28.4a15.11 15.11 0 0 1-7.42 9.25l-.8.4-15.88 7.37 3.47 13.77a3.2 3.2 0 0 0 2.56 2.13l.46.03H75.3L70.21 80H53.77c-3.81 0-7.53-2.69-8.72-5.99l-.2-.62-4.98-19.3-13.9 6.5L20.62 80H0L21.78 0h58.75Zm69.93 0-.01.04-5.1 18.53-.02.07h-.02l-30.95-.07c-1.85 0-3.24.65-3.7 2.38-.41 1.54.09 2.74 1.5 3.75l.58.37 33.07 20.48c3.15 1.93 4.97 6.24 4.42 9.71l-.14.69-4.74 17.44c-.87 3.37-4.61 6.25-8.52 6.58l-.73.03H94.46l5.1-18.64h25.09c1.85 0 3.24-1.19 3.58-2.27.42-1.27.18-2.27-1.22-3.33l-.5-.35L93.2 34.6c-3.15-1.94-4.97-6.25-4.43-9.72l.15-.69 4.74-17.55c.87-3.36 4.5-6.25 8.3-6.58l.72-.03L150.43 0h.03Zm24.29 0 20.68.04L173.47 80h-20.91L174.66.04h.08l.01-.04ZM88.68 61.48 83.64 80h-3.37l5.01-18.52h3.4Zm-6.73 0L76.73 80h-3.6l5.27-18.49.01-.03h3.54Zm13.87 0L90.64 80H87l5.19-18.52h3.63ZM61.14 18.52H37.43l-5.07 18.92L60.33 24.1c2.3-1.1 3.11-2.4 3.46-3.5.46-1.42-.8-2.08-2.65-2.08ZM171.05 0 166 18.52h-3.35L167.73 0h3.32Zm-7.14 0-5.04 18.52h-3.37L160.6 0h3.3Zm-6.8 0-.02.04h.1l-5.21 18.42-.02.06h-3.6l.01-.06L153.5.04V0h3.61Z"}), sy.jsx("path", {d: "M200.57 7.74C200.57 2.42 203 0 208.3 0s7.7 2.43 7.7 7.74c0 5.31-2.41 7.74-7.71 7.74s-7.72-2.43-7.72-7.74Zm14.27 0c0-4.54-2.06-6.6-6.57-6.6-4.5 0-6.56 2.05-6.56 6.6 0 4.53 2.05 6.58 6.56 6.58 4.52 0 6.56-2.05 6.56-6.58Zm-3.45-1.32c0 1.52-.4 2.14-1.56 2.36l1.74 2.78c.09.08.05.17-.08.17h-1.44c-.18 0-.25-.04-.32-.18l-1.7-2.65h-.87v2.67c0 .13-.01.14-.12.14h-1.4c-.13 0-.14-.02-.14-.14V4.03c0-.08.03-.12.12-.12.93-.08 1.92-.1 2.8-.1 2.21 0 2.97.6 2.97 2.61Zm-4.23-1.17v2.4h1.08c1.11 0 1.45-.2 1.45-1.17 0-1-.34-1.23-1.45-1.23h-1.08Z"})]
})
};
ry("@layer sol.components{.sol-c-select{cursor:var(--sol-cursor-interactive)}}");
let tT = (0, Ee.forwardRef)((({children: e, description: t, label: n, ...r}, a) => sy.jsx(MA, {
label: n,
ref: a, ...r,
children: t ? sy.jsxs(Cb, {
as: "span",
vertical: !0,
children: [sy.jsx(hb, {
as: "span",
color: "foreground",
variant: "label-m",
truncate: !0,
children: e ?? n
}), t && sy.jsx(hb, {
as: "span",
color: "foreground-weak",
variant: "body-xs",
truncate: !0,
children: t
})]
}) : e ?? n
}))), nT = (0, Ee.forwardRef)((({
allowEmpty: e,
children: t,
className: n,
defaultValue: r,
empty: a,
listboxProps: i,
name: o,
onChange: s,
onValueChange: l,
value: c,
wrapperProps: u,
...d
}, p) => {
let h = Ty("sol-c-select", n), [f, m] = (0, Ee.useState)(null);
return sy.jsx(FA, {
trigger: ({isOpen: e}) => sy.jsx(TA, {
as: "button",
className: h,
type: "button",
endIcon: e ? _y : yy,
wrapperProps: Ly({ref: m}, u), ...d
}), ...Ly({
anchor: f,
allowEmpty: e,
defaultValue: r,
empty: a,
name: o,
onChange: s,
onValueChange: l,
ref: p,
value: c
}, i), children: t
})
}));
ry('@layer sol.components{.sol-c-settings{border-block-start:var(--sol-border-1) solid var(--sol-color-surface-3);display:flex;flex:1;overflow:hidden}.sol-c-settings__navigation{background:var(--sol-color-surface-1);display:flex;flex:1 0 auto;flex-direction:column;gap:var(--sol-size-100);inline-size:25%;max-inline-size:25rem;min-inline-size:17.5rem;overflow:auto;padding:var(--sol-size-250);padding-inline:clamp(var(--sol-size-200),2.5vw,var(--sol-size-250))}.sol-c-settings__header{align-items:center;display:flex;gap:var(--sol-size-100);margin-block-end:var(--sol-size-300)}.sol-c-settings__header:has(.sol-c-settings__back):has(.sol-c-settings__label):before{background:var(--sol-color-surface-3);block-size:var(--sol-size-300);content:"";inline-size:var(--sol-border-1)}.sol-c-settings__back{order:-1}.sol-c-settings__label{padding-inline-start:var(--sol-size-075)}.sol-c-settings__content{flex:1;overflow:auto;padding:var(--sol-size-250)}@supports (scrollbar-gutter:stable) and (selector(::-webkit-scrollbar)){.sol-c-settings__content{padding-inline-end:calc(var(--sol-size-250) - var(--sol-scrollbar-width));scrollbar-gutter:stable}}.sol-c-settings__title{margin-block-end:var(--sol-size-300)}@container style(--sol-motion-transition-effects: enabled){.sol-c-settings__back,.sol-c-settings__content>*,.sol-c-settings__header,.sol-c-settings__item,.sol-c-settings__navigation,.sol-c-settings__navigation>*{animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;animation-delay:calc(var(--sol-motion-anim-wipe-duration)/2);opacity:0}.sol-c-settings__back,.sol-c-settings__navigation,.sol-c-settings__navigation>*{transform:translateX(calc(var(--sol-size-125)*-1))}.sol-c-settings__back{animation-delay:calc(.1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item{opacity:0}.sol-c-settings__item:first-child{animation-delay:calc(.1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(2){animation-delay:calc(.2s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(3){animation-delay:calc(.3s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(4){animation-delay:calc(.4s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(5){animation-delay:calc(.5s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(6){animation-delay:calc(.6s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(7){animation-delay:calc(.7s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(8){animation-delay:calc(.8s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(9){animation-delay:calc(.9s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__item:nth-child(10){animation-delay:calc(1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__content>*{animation:sol-motion-fade-in var(--sol-motion-350) var(--sol-motion-ease-out) forwards;opacity:0;transform:translateY(var(--sol-size-075))}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:first-child{animation-delay:calc(.4s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(2){animation-delay:calc(.5s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(3){animation-delay:calc(.6s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(4){animation-delay:calc(.7s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(5){animation-delay:calc(.8s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(6){animation-delay:calc(.9s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(7){animation-delay:calc(1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(8){animation-delay:calc(1.1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(9){animation-delay:calc(1.2s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__content>:nth-child(10){animation-delay:calc(1.3s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:first-child{animation-delay:calc(.2s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(2){animation-delay:calc(.3s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(3){animation-delay:calc(.4s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(4){animation-delay:calc(.5s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(5){animation-delay:calc(.6s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(6){animation-delay:calc(.7s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(7){animation-delay:calc(.8s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(8){animation-delay:calc(.9s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(9){animation-delay:calc(1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings[data-animation-fade=true] .sol-c-settings__navigation>:nth-child(10){animation-delay:calc(1.1s + var(--sol-motion-anim-wipe-duration)/2)}.sol-c-settings__content>:first-child,.sol-c-settings__navigation>:first-child{animation-delay:.1s}.sol-c-settings__content>:nth-child(2),.sol-c-settings__navigation>:nth-child(2){animation-delay:.2s}.sol-c-settings__content>:nth-child(3),.sol-c-settings__navigation>:nth-child(3){animation-delay:.3s}.sol-c-settings__content>:nth-child(4),.sol-c-settings__navigation>:nth-child(4){animation-delay:.4s}.sol-c-settings__content>:nth-child(5),.sol-c-settings__navigation>:nth-child(5){animation-delay:.5s}.sol-c-settings__content>:nth-child(6),.sol-c-settings__navigation>:nth-child(6){animation-delay:.6s}.sol-c-settings__content>:nth-child(7),.sol-c-settings__navigation>:nth-child(7){animation-delay:.7s}.sol-c-settings__content>:nth-child(8),.sol-c-settings__navigation>:nth-child(8){animation-delay:.8s}.sol-c-settings__content>:nth-child(9),.sol-c-settings__navigation>:nth-child(9){animation-delay:.9s}.sol-c-settings__content>:nth-child(10),.sol-c-settings__navigation>:nth-child(10){animation-delay:1s}}}');
let rT = (0, Ee.forwardRef)((({children: e, className: t, title: n, ...r}, a) => {
let i = Ty("sol-c-settings__content", t);
return sy.jsxs("div", {
className: i,
ref: a, ...r,
children: [n && sy.jsx(hb, {
as: "h1",
className: "sol-c-settings__title",
variant: "heading-m",
children: n
}), e]
})
})), aT = (0, Ee.forwardRef)((({back: e, children: t, className: n, title: r, backCallback: a, ...i}, o) => {
let s = Ty("sol-c-settings__navigation", n);
return sy.jsxs("div", {
className: s,
ref: o, ...i,
children: [(e || r) && sy.jsxs("div", {
className: "sol-c-settings__header",
children: [e && sy.jsx(_b, {
"aria-label": e.label,
className: "sol-c-settings__back",
icon: fy,
size: "large",
variant: "monochrome",
onClick: e => {
e.preventDefault(), a?.()
}, ...e
}), r && sy.jsx(hb, {
className: "sol-c-settings__label",
offset: !0,
variant: "heading-s",
children: r
})]
}), t]
})
})), iT = (0, Ee.forwardRef)((({children: e, className: t, active: n, ...r}, a) => {
let i = Ty("sol-c-settings__item", t);
return sy.jsx(_b, {
"aria-current": n ? "true" : void 0,
className: i,
fullWidth: !0,
align: "start",
ref: a,
selected: n,
size: "medium",
variant: "plain", ...r,
children: e
})
})), oT = Dy((({as: e = "div", children: t, className: n, ...r}, a) => {
let i = Ty("sol-c-settings", n), [o, s] = (0, Ee.useState)(!0);
return (0, Ee.useEffect)((() => {
let e = setTimeout((() => s(!1)), 2e3);
return () => clearTimeout(e)
}), []), sy.jsx(e, {className: i, "data-animation-fade": o, ref: a, ...r, children: t})
}));
ry('@layer sol.components{.sol-c-sign-in{background-color:var(--sol-color-surface-1);display:flex;flex:1;overflow:hidden}.sol-c-sign-in:before{background-color:var(--sol-color-surface-3);content:"";display:block;height:var(--sol-border-1);left:0;position:absolute;top:0;width:100%;z-index:1}.sol-c-sign-in__logo{box-sizing:initial;padding-left:var(--sol-size-500);padding-right:var(--sol-size-400)}}.sol-c-sign-in__content-wrapper{flex:1;position:relative}.sol-c-sign-in__content-wrapper:before{background-color:var(--sol-color-surface-3);content:"";display:block;height:100%;left:0;position:absolute;top:0;width:var(--sol-border-1);z-index:1}.sol-c-sign-in__content{display:flex;flex:0 0 auto;flex-direction:column;height:100%;justify-content:space-around}.sol-c-sign-in__wrapper{border-radius:inherit;display:flex;flex:1;overflow:hidden;position:relative}.sol-c-sign-in__wrapper:after{background:linear-gradient(#0000,var(--sol-color-primary-1));block-size:var(--sol-size-150);content:"";display:block;inline-size:100%;inset-block-end:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--sol-motion-250);z-index:2}.sol-c-sign-in__wrapper[data-sol-scroll-end=false]:after{opacity:.6}.sol-c-sign-in__content--has-footer .sol-c-sign-in__wrapper{border-end-end-radius:0;border-end-start-radius:0}.sol-c-sign-in__wrapper .sol-c-field{max-inline-size:none}.sol-c-sign-in__container{flex:1;overflow:auto;padding:var(--sol-size-250);position:relative;z-index:1}@supports (scrollbar-gutter:stable) and (selector(::-webkit-scrollbar)){.sol-c-sign-in__container{padding-inline-end:calc(var(--sol-size-250) - var(--sol-scrollbar-width));scrollbar-gutter:stable}}.sol-c-sign-in__content--has-footer .sol-c-sign-in__container{padding-block-end:0}.sol-c-sign-in__footer{flex:0;padding:var(--sol-size-250)}.sol-c-sign-in__footer>:only-child{margin-inline-start:auto}.sol-c-sign-in__footer .footer__sign-up .sol-c-link{display:block}.sol-c-sign-in{--_anim-base-delay:0.5s}.sol-c-sign-in:before,.sol-c-sign-in__content,.sol-c-sign-in__content-wrapper:before,.sol-c-sign-in__footer,.sol-c-sign-in__logo{animation:sol-motion-fade-in var(--sol-motion-300) var(--sol-motion-ease-out) forwards;opacity:0}.sol-c-sign-in__logo{animation-delay:var(--_anim-base-delay);animation-duration:var(--sol-motion-500);transform:translateX(-20px)}.sol-c-sign-in:before{animation-delay:calc(var(--_anim-base-delay) + .1s)}.sol-c-sign-in__content-wrapper:before{animation-delay:calc(var(--_anim-base-delay) + .15s)}.sol-c-sign-in__content{animation-delay:calc(var(--_anim-base-delay) + .3s)}.sol-c-sign-in__footer{animation-delay:calc(var(--_anim-base-delay) + .4s);transform:translateY(10px)}');
let sT = Dy((({as: e = "div", children: t, className: n, footer: r, subtitle: a, title: i, ...o}, s) => {
let l = Ty("sol-c-sign-in__content", r && "sol-c-sign-in__content--has-footer", n),
c = (0, Ee.useRef)(null), {blockEnd: u} = ab({ref: c});
return sy.jsxs(e, {
className: l,
ref: s, ...o,
children: [sy.jsx("div", {
className: "sol-c-sign-in__wrapper",
"data-sol-scroll-end": u,
children: sy.jsxs(Cb, {
className: "sol-c-sign-in__container",
gap: "150",
ref: c,
vertical: !0,
children: [(i || a) && sy.jsxs(Cb, {
className: "sol-c-sign-in__header",
gap: "050",
vertical: !0,
children: [i && sy.jsx(hb, {
as: "h1",
className: "sol-c-sign-in__title",
color: "foreground",
variant: "heading-s",
children: i
}), a && sy.jsx(hb, {
className: "sol-c-sign-in__subtitle",
color: "foreground-weak",
variant: "body-m",
children: a
})]
}), t]
})
}), r && sy.jsx(Cb, {
align: "center",
justify: "space-between",
className: "sol-c-sign-in__footer",
children: r
})]
})
})), lT = Dy((({as: e = "div", children: t, className: n, ...r}, a) => {
let i = Ty("sol-c-sign-in", n);
return sy.jsxs(e, {
className: i, ref: a, ...r, children: [sy.jsx("svg", {
className: "sol-c-sign-in__logo",
width: "256",
height: "125",
viewBox: "0 0 256 125",
xmlns: "http://www.w3.org/2000/svg",
children: sy.jsxs("g", {
fill: "#BCBEC0",
children: [sy.jsx("path", {d: "M243.265 6.429c0-4.42 1.993-6.431 6.368-6.431s6.369 2.02 6.369 6.43-1.994 6.442-6.369 6.442-6.368-2.021-6.368-6.441Zm11.773 0c0-3.768-1.695-5.48-5.415-5.48-3.72 0-5.419 1.698-5.419 5.48 0 3.781 1.695 5.48 5.419 5.48 3.723 0 5.415-1.713 5.415-5.48Zm-2.84-1.09c0 1.263-.332 1.78-1.293 1.965l1.443 2.309c.069.07.034.139-.07.139h-1.192c-.149 0-.205-.035-.264-.15l-1.407-2.204h-.711v2.229c0 .104-.01.114-.104.114h-1.158c-.104 0-.114-.024-.114-.114V3.352c0-.07.024-.104.104-.104.766-.07 1.581-.08 2.312-.08 1.82 0 2.451.493 2.451 2.17h.003Zm-3.494-.976v1.996h.894c.916 0 1.193-.173 1.193-.975s-.274-1.021-1.193-1.021h-.894Z"}), sy.jsx("path", {d: "m7.053 124.984-2.621-3.302H3.26v3.302H1.502v-8.792h5.7c.6 0 1.012.132 1.244.41.236.278.35.715.35 1.299v2.059c0 .597-.117 1.021-.35 1.298-.235.278-.658.41-1.244.41h-.704L9.5 124.97H7.053v.014Zm.014-6.555c0-.247-.045-.424-.146-.525-.087-.087-.218-.132-.395-.132H3.26v2.396h3.266c.177 0 .308-.045.409-.146.087-.1.132-.277.132-.524v-1.069ZM19.415 124.547c-.218.292-.69.438-1.407.438h-4.774c-.718 0-1.186-.146-1.408-.438-.218-.292-.336-.847-.336-1.635v-4.615c0-.788.118-1.344.336-1.636.219-.305.704-.451 1.408-.451h4.774c.717 0 1.185.146 1.407.451.219.306.337.848.337 1.636v4.615c0 .788-.118 1.343-.337 1.635Zm-1.449-6.733h-4.715v5.49h4.715v-5.49ZM27.968 124.998c.717 0 1.244-.146 1.567-.438.322-.291.482-.729.482-1.284v-1.125c0-.966-.382-1.518-1.144-1.681.731-.146 1.098-.642 1.098-1.476v-1.066c0-.597-.117-1.021-.35-1.298-.235-.278-.644-.424-1.244-.424h-5.713v8.792H27.968Zm.218-3.667c.104.132.146.32.146.615h.014v.67c0 .292-.046.496-.146.597-.1.101-.25.16-.454.16h-3.31v-2.191h3.31c.204 0 .35.045.44.146v.003Zm-.059-3.549c.104.101.16.264.16.483v.847c0 .219-.045.379-.146.469-.087.087-.236.132-.409.132h-3.31v-2.045h3.31c.177 0 .309.028.395.118v-.004Z"}), sy.jsx("path", {d: "M32.669 124.984v-8.778h6.926v1.517h-5.141v1.914h3.002v1.534h-3.002v2.132h5.2v1.681h-6.986Z"}), sy.jsx("path", {d: "m45.104 121.682 2.621 3.302v-.014h2.448l-3.003-3.302h.704c.586 0 1.012-.132 1.245-.41.236-.277.35-.701.35-1.298v-2.059c0-.584-.118-1.021-.35-1.299-.236-.278-.645-.41-1.245-.41h-5.7v8.792h1.758v-3.302h1.172Zm2.49-3.781c.103.1.145.278.145.524v1.066c0 .247-.045.424-.132.524-.104.101-.236.146-.409.146h-3.266v-2.396h3.266c.177 0 .309.045.395.132v.004Z"}), sy.jsx("path", {d: "M55.272 117.8v7.185h-1.789V117.8H50.51v-1.59h7.762v1.59h-3.002.003ZM65.42 124.999c.717 0 1.185-.146 1.42-.452.236-.305.35-.847.337-1.635V121.7c0-.788-.104-1.344-.336-1.636-.236-.305-.704-.451-1.422-.451h-3.924v-1.84h3.983v1.066l1.598-.511v-.191c0-.715-.117-1.212-.35-1.503-.236-.292-.704-.438-1.39-.438h-3.692c-.704 0-1.186.146-1.407.452-.219.291-.337.847-.337 1.635v.979c0 .789.118 1.33.337 1.636.218.305.69.451 1.407.451h3.91v1.959H61.25v-1.094l-1.612.451v.25c0 .788.118 1.344.35 1.636.236.305.704.451 1.421.451h4.015l-.004-.003ZM81.914 124.546c-.235.305-.703.451-1.42.451h-4.016c-.717 0-1.185-.146-1.42-.451-.237-.292-.351-.847-.351-1.636v-.25l1.612-.451v1.094h4.32v-1.959h-3.91c-.719 0-1.186-.146-1.422-.451-.236-.306-.337-.847-.337-1.636v-.979c0-.788.118-1.344.337-1.635.218-.306.703-.452 1.421-.452h3.692c.69 0 1.158.146 1.39.438.236.292.35.788.35 1.503v.191l-1.598.511v-1.066h-3.997v1.84h3.925c.717 0 1.185.146 1.421.452.236.291.336.847.336 1.635v1.212c0 .788-.104 1.33-.336 1.635l.003.004Z"}), sy.jsx("path", {d: "M90.82 121.581c.586 0 1.013-.132 1.245-.41.236-.278.35-.715.35-1.316v-1.958c0-.583-.118-1.021-.35-1.299-.236-.278-.645-.41-1.245-.41h-5.699v8.792h1.758v-3.402h3.941v.003Zm-.294-3.681c.104.101.145.278.145.525v.948c0 .25-.045.423-.131.524-.087.101-.236.146-.41.146h-3.265v-2.278h3.266c.176 0 .308.045.395.132v.003ZM99.491 124.984l-.776-1.913h-3.852l-.763 1.913h-1.785l3.706-8.792h1.713l3.751 8.792h-1.994Zm-2.68-6.719-1.303 3.184h2.548l-1.245-3.184Z"}), sy.jsx("path", {d: "M108.452 124.984c.704 0 1.172-.146 1.408-.438.236-.292.35-.847.336-1.649v-1.039l-1.785-.496v1.941h-3.81v-5.49h3.81v1.695l1.785-.379v-.833c0-.788-.118-1.33-.336-1.636-.236-.305-.69-.451-1.408-.451h-3.882c-.718 0-1.203.146-1.422.451-.218.292-.336.848-.336 1.636v4.615c0 .788.118 1.343.336 1.635.236.292.704.438 1.422.438h3.882ZM113.053 124.984v-8.778h6.926v1.517h-5.141v1.914h3.002v1.534h-3.002v2.132h5.2v1.681h-6.985ZM133.867 119.273c.028.364.028.687.028.965v4.747h-1.64v-8.792h1.29l4.583 5.17c.121.142.222.257.298.351.042.052.08.093.111.132l.028.027c-.007-.229-.011-.423-.017-.587-.007-.232-.014-.399-.014-.493v-4.614h1.626v8.792h-1.29l-4.791-5.417-.035-.045a.966.966 0 0 0-.038-.049c-.042-.052-.097-.118-.146-.184l.007-.003ZM127.437 116.206h1.785v8.792h-1.785v-8.792Z"}), sy.jsx("path", {d: "M147.152 124.998c1.303 0 2.239-.233 2.798-.701.953-.803 1.435-2.046 1.435-3.754 0-1.372-.323-2.438-.967-3.198-.645-.76-1.599-1.139-2.871-1.139h-4.319v8.792h3.924Zm.395-7.202c.617 0 1.113.233 1.467.688.367.451.54 1.125.54 2.017 0 1.007-.218 1.723-.644 2.146-.423.424-1.127.643-2.08.643h-1.817v-5.49h2.534v-.004Z"}), sy.jsx("path", {d: "M161.154 124.547c-.218.291-.69.437-1.407.437h-4.101c-.718 0-1.172-.146-1.408-.437-.236-.292-.336-.848-.336-1.636v-6.705h1.785v7.097h4.042v-7.097h1.772v6.705c-.014.788-.132 1.344-.35 1.636h.003ZM170.119 124.999c.718 0 1.186-.146 1.422-.452.236-.305.336-.847.322-1.635V121.7c0-.788-.104-1.344-.336-1.636-.236-.305-.704-.451-1.421-.451h-3.925v-1.84h3.997v1.066l1.599-.511v-.191c0-.715-.118-1.212-.351-1.503-.235-.292-.703-.438-1.39-.438h-3.692c-.704 0-1.185.146-1.407.452-.219.291-.337.847-.337 1.635v.979c0 .789.118 1.33.337 1.636.218.305.69.451 1.407.451h3.911v1.959h-4.306v-1.094l-1.612.451v.25c0 .788.118 1.344.35 1.636.236.305.704.451 1.421.451h4.015l-.004-.003ZM178.027 117.8v7.185h-1.785V117.8h-2.975v-1.59h7.762v1.59h-3.002Z"}), sy.jsx("path", {d: "m185.529 121.682 2.621 3.302v-.014h2.447l-3.002-3.302h.704c.586 0 1.012-.132 1.245-.41.232-.277.35-.701.35-1.298v-2.059c0-.584-.118-1.021-.35-1.299-.236-.278-.645-.41-1.245-.41H182.6v8.792h1.757v-3.302h1.172Zm2.503-3.781c.104.1.146.278.146.524v1.066c0 .247-.045.424-.132.524-.087.101-.236.146-.409.146h-3.266v-2.396h3.266c.177 0 .308.045.395.132v.004Z"}), sy.jsx("path", {d: "M194.491 116.206h-1.785v8.792h1.785v-8.792ZM197.538 116.206v8.778h6.986v-1.681h-5.201v-2.132h3.003v-1.534h-3.003v-1.914h5.142v-1.517h-6.927ZM214.047 124.547c-.236.305-.704.451-1.422.451h-4.014c-.718 0-1.186-.146-1.422-.451-.235-.292-.336-.847-.336-1.636v-.25l1.612-.451v1.094h4.306v-1.959h-3.911c-.717 0-1.185-.146-1.407-.451-.219-.306-.336-.847-.336-1.636v-.979c0-.788.117-1.344.336-1.635.218-.306.704-.452 1.407-.452h3.692c.69 0 1.158.146 1.391.438.235.292.35.788.35 1.503v.191l-1.598.511v-1.066h-3.998v1.84h3.911c.717 0 1.186.146 1.421.452.236.291.337.847.337 1.635v1.212c.027.788-.087 1.33-.323 1.635l.004.004Z"}), sy.jsx("path", {d: "M79.692 81.754c-1.712 0-3.28-1.3-3.706-2.893l-4.264-18.327 19.511-9.813c4.7-2.309 8.684-7.07 10.106-12.85l6.694-25.98C109.749 5.386 105.617.042 98.926.042H26.758L-.002 106.567h25.339l6.548-25.834 17.078-8.66 6.122 25.688c1.144 4.761 5.977 8.806 10.955 8.806h20.211l6.254-24.827H79.69v.014h.003ZM39.706 49.71l.191-.774 6.064-24.199h29.325c2.27 0 3.838.861 3.28 2.747-.427 1.444-1.422 3.184-4.279 4.614l-34.58 17.612Z"}), sy.jsx("path", {
d: "M96.582 81.754h4.292l-6.327 24.827h-4.364l6.385-24.786.014-.045v.004ZM104.975 81.754l-6.267 24.827h4.205l6.313-24.827H104.975ZM113.323 81.754l-6.268 24.827h4.41l6.268-24.827h-4.41Z",
fill: "#FFA000"
}), sy.jsx("path", {d: "m138.443 33.399 40.704 27.282c4.129 2.746 6.399 9.097 5.273 13.875l-5.831 23.237c-1.127 4.76-6.254 8.806-11.382 8.806h-51.249l6.268-24.827h30.892c2.271 0 3.984-1.59 4.41-3.039.572-1.885.132-3.316-2.139-4.906l-40.998-27.72c-4.129-2.746-6.417-9.097-5.273-13.858l5.831-23.382c1.144-4.76 6.122-8.806 11.104-8.806L184.86.002l-.014.059-6.268 24.681-.014.087h-.027l-38.097-.087c-2.27 0-3.983.861-4.555 3.17-.572 2.323.277 4.046 2.562 5.49l-.004-.003Z"}), sy.jsx("path", {
d: "M193.458.057h-.104l.013-.059h-4.395l-.014.06-6.241 24.68-.013.087h4.392l.014-.087 6.348-24.68ZM201.851.057l-6.227 24.68h-4.16l6.299-24.68h4.088ZM203.972 24.738 210.213.057h-4.115l-6.268 24.68h4.146-.004Z",
fill: "#FFA000"
}), sy.jsx("path", {d: "m214.709.057.014-.059 25.338.06-26.905 106.526h-25.62L214.608.057h.104-.003Z"})]
})
}), sy.jsx("div", {className: "sol-c-sign-in__content-wrapper", children: t})]
})
}));
ry('@layer sol.components{.sol-c-slider{--_thumb-size:var(--sol-c-slider-thumb-size,var(--sol-size-050));--_track-size:var(--sol-c-slider-track-size,var(--sol-size-025));--_size:var(--sol-c-slider-size,100%);--_background-color:var(--sol-color-surface-3);--_foreground-color:var(--sol-color-interactive);--_thumb-opacity:1;--_background-position:right;appearance:none;background:#0000;display:inline-block;inline-size:var(--_size);min-block-size:var(--_thumb-size);transition:opacity var(--sol-motion-250)}.sol-c-slider[style*="--sol-c-slider-progress"]{--_thumb-opacity:0}[dir=rtl] .sol-c-slider{--_background-position:left}.sol-c-slider::-webkit-slider-runnable-track{background:var(--_foreground-color) linear-gradient(var(--_background-color),var(--_background-color)) no-repeat var(--_background-position)/calc(100% - var(--sol-c-slider-progress, 0%));block-size:var(--_track-size);border-radius:var(--sol-radius-8);-webkit-transition:background-color var(--sol-motion-250);transition:background-color var(--sol-motion-250)}.sol-c-slider::-webkit-slider-thumb{appearance:none;background-color:var(--_foreground-color);border:0;border-radius:var(--sol-radius-circle);box-shadow:var(--sol-shadow-200);height:var(--_thumb-size);margin-block-start:calc(var(--_thumb-size)/2*-1 - var(--_track-size)/2*-1);opacity:var(--_thumb-opacity);-webkit-transition:background-color var(--sol-motion-250),opacity var(--sol-motion-250);transition:background-color var(--sol-motion-250),opacity var(--sol-motion-250);width:var(--_thumb-size)}.sol-c-slider::-moz-range-track{background:var(--_foreground-color) linear-gradient(var(--_background-color),var(--_background-color)) no-repeat var(--_background-position)/calc(100% - var(--sol-c-slider-progress, 0%));block-size:var(--_track-size);border-radius:var(--sol-radius-8);-moz-transition:background-color var(--sol-motion-250);transition:background-color var(--sol-motion-250)}.sol-c-slider::-moz-range-thumb{appearance:none;background-color:var(--_foreground-color);border:0;border-radius:var(--sol-radius-circle);box-shadow:var(--sol-shadow-200);height:var(--_thumb-size);opacity:var(--_thumb-opacity);-moz-transition:background-color var(--sol-motion-250),opacity var(--sol-motion-250);transition:background-color var(--sol-motion-250),opacity var(--sol-motion-250);width:var(--_thumb-size)}.sol-c-slider:hover{--_foreground-color:var(--sol-color-interactive-hovered);--_thumb-opacity:1}.sol-c-slider:active{--_foreground-color:var(--sol-color-interactive-pressed);--_thumb-opacity:1}.sol-c-slider:focus,.sol-c-slider:focus-visible{outline:none}.sol-c-slider:focus-visible{--_thumb-opacity:1}.sol-c-slider:focus-visible::-webkit-slider-thumb{outline:var(--sol-focus-width) solid var(--sol-focus-color);outline-offset:var(--sol-focus-offset)}.sol-c-slider:focus-visible::-moz-range-thumb{outline:var(--sol-focus-width) solid var(--sol-focus-color);outline-offset:var(--sol-focus-offset)}.sol-c-slider:disabled{opacity:.2;pointer-events:none}}');
let cT = (e, t) => t < e ? e : e + (t - e) / 2, uT = (0, Ee.forwardRef)((({
className: e,
defaultValue: t,
max: n = 100,
min: r = 0,
style: a,
onChange: i,
onValueChange: o,
showProgress: s = !1,
value: l,
...c
}, u) => {
let [d, p] = Ny({value: l, defaultValue: t ?? cT(r, n), onChange: o}), h = (0, Ee.useCallback)((e => {
p(parseFloat(e.target.value)), i && i(e)
}), [i, p]), f = (d - r) / (n - r) * 100, m = Ty("sol-c-slider", e),
g = {...s && {"--sol-c-slider-progress": `${f}%`}, ...a};
return sy.jsx("input", {
className: m,
max: n,
min: r,
onChange: h,
ref: u,
style: g,
type: "range",
value: d, ...c
})
}));
ry("@layer sol.components{.sol-c-toast{--_border:var(--sol-size-075);--_color:var(--sol-color-status-informative);--_padding:var(--sol-size-100);align-items:flex-start;background-color:var(--sol-color-surface-1);border-inline-start:var(--_border) solid var(--_color);border-radius:var(--sol-radius-8);display:flex;filter:drop-shadow(var(--sol-shadow-100));gap:var(--_padding);padding:var(--_padding);position:relative;transition:border-color var(--sol-motion-250)}.sol-c-toast--negative{--_color:var(--sol-color-status-negative)}.sol-c-toast--notice{--_color:var(--sol-color-status-notice)}.sol-c-toast--positive{--_color:var(--sol-color-status-positive)}.sol-c-toast__icon{color:var(--_color)}.sol-c-toast__close{margin-inline-start:auto}}");
let dT = "informative", pT = (0, Ee.forwardRef)((({
actions: e,
children: t,
className: n,
close: r = true,
closeOnClick: a = true,
closeOnEsc: i = true,
duration: o = 4e3,
icon: s,
id: l,
onClick: c,
onClose: u,
pauseOnBlur: d = true,
title: p,
type: h = dT,
...f
}, m) => {
let g = (0, Ee.useId)(), v = l ?? g, _ = v + "-label", y = v + "-description", {
pause: b,
resume: x,
clear: w
} = ((e, t = 1 / 0, n = !0) => {
let r = jy(e), a = (0, Ee.useRef)(null), i = (0, Ee.useRef)(null), o = (0, Ee.useRef)(t),
s = (0, Ee.useCallback)((() => {
a.current && (clearTimeout(a.current), a.current = null)
}), []), l = (0, Ee.useCallback)((() => {
s(), null !== i.current && (o.current -= Date.now() - i.current, i.current = null)
}), [s]), c = (0, Ee.useCallback)((() => {
a.current || t === 1 / 0 || (i.current = Date.now(), a.current = setTimeout((() => {
s(), r()
}), t))
}), [r, s, t]);
return (0, Ee.useEffect)((() => (n && c(), s)), [n, s, t, c]), (0, Ee.useMemo)((() => ({
clear: s,
pause: l,
resume: c
})), [s, l, c])
})((() => u && u(v)), o, !d || (document.hasFocus() ?? !0)), k = (0, Ee.useCallback)((() => {
u && u(v), w()
}), [w, v, u]);
(0, Ee.useEffect)((() => {
if (d) return window.addEventListener("blur", b), window.addEventListener("focus", x), () => {
window.removeEventListener("blur", b), window.removeEventListener("focus", x)
}
}), [b, d, x]), (0, Ee.useEffect)((() => {
if (i && u) {
let e = e => {
("Escape" === e.key || "Esc" === e.key) && k()
};
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e)
}
}), [k, i, v, u]);
let S = (0, Ee.useCallback)((e => {
c && c(e), a && k()
}), [k, a, c]), E = (0, Ee.useCallback)((e => {
e.stopPropagation(), k()
}), [k]), I = (0, Ee.useCallback)((() => {
b()
}), [b]), C = (0, Ee.useCallback)((() => {
x()
}), [x]), O = (0, Ee.useCallback)((({close: e, onClick: t}) => n => {
n.stopPropagation(), e && k(), t && t(n)
}), [k]), P = Ty("sol-c-toast", h && h !== dT && `sol-c-toast--${h}`, n), A = p || !p && t, T = t && p;
return sy.jsxs("div", {
"aria-describedby": T ? y : void 0,
"aria-labelledby": A ? _ : void 0,
className: P,
id: v,
ref: m,
onClick: S,
onMouseEnter: I,
onMouseLeave: C, ...f,
children: [s && sy.jsx(pb, {
className: "sol-c-toast__icon",
size: "150",
source: s
}), (p || t || e) && sy.jsxs(Cb, {
className: "sol-c-toast__container",
gap: "075",
vertical: !0,
children: [(p || t) && sy.jsxs(Cb, {
gap: "025",
vertical: !0,
children: [A && sy.jsx(hb, {
className: "sol-c-toast__title",
color: "foreground",
id: _,
offset: !0,
variant: "emphasis-m",
children: p ?? t
}), T && sy.jsx(hb, {
className: "sol-c-toast__content",
color: "foreground-weak",
id: y,
variant: "body-s",
children: t
})]
}), e && sy.jsx(Cb, {
align: "center",
className: "sol-c-toast__actions",
gap: "050",
wrap: !0,
children: e.map((({
close: e = !0,
label: t,
onClick: n,
...r
}, a) => sy.jsx(_b, {
color: "informative" !== h ? h : "default",
size: "medium",
variant: a > 0 ? "monochrome" : "default", ...r,
className: Ty("sol-c-toast__action", r.className),
onClick: O({close: e, onClick: n}),
children: t
}, a)))
})]
}), r && sy.jsx(_b, {
"aria-label": "string" == typeof r ? r : "Close",
className: "sol-c-toast__close",
icon: my,
onClick: E,
size: "small",
variant: "monochrome"
})]
})
}));
ry('@layer sol.components{.sol-c-toasts{align-items:flex-end;display:flex;flex-direction:column;inset:0;justify-content:flex-end;overflow:hidden;padding:var(--sol-size-100);pointer-events:none;position:fixed;z-index:var(--sol-z-toasts)}.sol-c-toasts__wrapper{flex:0 0 auto;inline-size:100%;max-inline-size:31rem}.sol-c-toasts__wrapper>*{pointer-events:auto}.sol-c-toasts__wrapper:before{content:"";display:block;height:var(--sol-size-100)}}');
let hT = (0, Ee.forwardRef)((({className: e, style: t, toasts: n, component: r = pT, ...a}, i) => {
let o = (0, Ee.useMemo)((() => new WeakMap), []), [s, l] = (0, Ee.useState)(0);
My((() => l(document.querySelector(".sol-c-app-header")?.clientHeight ?? 0)), []);
let c = function (e, t, n) {
let r = kC.fun(t) && t, {
reset: a,
sort: i,
trail: o = 0,
expires: s = !0,
exitBeforeEnter: l = !1,
onDestroyed: c,
ref: u,
config: d
} = r ? r() : t, p = (0, Ee.useMemo)((() => r || 3 == arguments.length ? nA() : void 0), []), h = CC(e),
f = [], m = (0, Ee.useRef)(null), g = a ? null : m.current;
LO((() => {
m.current = f
})), NO((() => (EC(f, (e => {
p?.add(e.ctrl), e.ctrl.ref = p
})), () => {
EC(m.current, (e => {
e.expired && clearTimeout(e.expirationId), hP(e.ctrl, p), e.ctrl.stop(!0)
}))
})));
let v = function (e, {key: t, keys: n = t}, r) {
if (null === n) {
let t = new Set;
return e.map((e => {
let n = r && r.find((n => n.item === e && "leave" !== n.phase && !t.has(n)));
return n ? (t.add(n), n.key) : aA++
}))
}
return kC.und(n) ? e : kC.fun(n) ? e.map(n) : CC(n)
}(h, r ? r() : t, g), _ = a && m.current || [];
LO((() => EC(_, (({ctrl: e, item: t, key: n}) => {
hP(e, p), tP(c, t, n)
}))));
let y = [];
if (g && EC(g, ((e, t) => {
e.expired ? (clearTimeout(e.expirationId), _.push(e)) : ~(t = y[t] = v.indexOf(e.key)) && (f[t] = e)
})), EC(h, ((e, t) => {
f[t] || (f[t] = {key: v[t], item: e, phase: "mount", ctrl: new WP}, f[t].ctrl.item = e)
})), y.length) {
let e = -1, {leave: n} = r ? r() : t;
EC(y, ((t, r) => {
let a = g[r];
~t ? (e = f.indexOf(a), f[e] = {...a, item: h[t]}) : n && f.splice(++e, 0, a)
}))
}
kC.fun(i) && f.sort(((e, t) => i(e.item, t.item)));
let b = -o, x = jO(), w = oP(t), k = new Map, S = (0, Ee.useRef)(new Map), E = (0, Ee.useRef)(!1);
EC(f, ((e, n) => {
let a, i, c = e.key, p = e.phase, h = r ? r() : t, f = tP(h.delay || 0, c);
if ("mount" == p) a = h.enter, i = "enter"; else {
let e = 0 > v.indexOf(c);
if ("leave" != p) if (e) a = h.leave, i = "leave"; else {
if (!(a = h.update)) return;
i = "update"
} else {
if (e) return;
a = h.enter, i = "enter"
}
}
if (a = tP(a, e.item, n), !(a = kC.obj(a) ? cP(a) : {to: a}).config) {
let t = d || w.config;
a.config = tP(t, e.item, n, i)
}
b += o;
let _ = {...w, delay: f + b, ref: u, immediate: h.immediate, reset: !1, ...a};
if ("enter" == i && kC.und(_.from)) {
let a = r ? r() : t, i = kC.und(a.initial) || g ? a.from : a.initial;
_.from = tP(i, e.item, n)
}
let {onResolve: y} = _;
_.onResolve = e => {
tP(y, e);
let t = m.current, n = t.find((e => e.key === c));
if (n) {
if (e.cancelled && "update" != n.phase) return;
if (n.ctrl.idle) {
let e = t.every((e => e.ctrl.idle));
if ("leave" == n.phase) {
let t = tP(s, n.item);
if (!1 !== t) {
let r = !0 === t ? 0 : t;
if (n.expired = !0, !e && r > 0) return void (r <= 2147483647 && (n.expirationId = setTimeout(x, r)))
}
}
e && t.some((e => e.expired)) && (S.current.delete(n), l && (E.current = !0), x())
}
}
};
let I = YP(e.ctrl, _);
"leave" === i && l ? S.current.set(e, {phase: i, springs: I, payload: _}) : k.set(e, {
phase: i,
springs: I,
payload: _
})
}));
let I = (0, Ee.useContext)(eA), C = FO(I), O = I !== C && dP(I);
LO((() => {
O && EC(f, (e => {
e.ctrl.start({default: I})
}))
}), [I]), EC(k, ((e, t) => {
if (S.current.size) {
let e = f.findIndex((e => e.key === t.key));
f.splice(e, 1)
}
})), LO((() => {
EC(S.current.size ? S.current : k, (({phase: e, payload: t}, n) => {
let {ctrl: r} = n;
n.phase = e, p?.add(r), O && "enter" == e && r.start({default: I}), t && (fP(r, t.ref), !r.ref && !p || E.current ? (r.start(t), E.current && (E.current = !1)) : r.update(t))
}))
}), void 0);
let P = e => Ee.createElement(Ee.Fragment, null, f.map(((t, n) => {
let {springs: r} = k.get(t) || t.ctrl, a = e({...r}, t.item, t, n);
return a && a.type ? Ee.createElement(a.type, {
...a.props,
key: kC.str(t.key) || kC.num(t.key) ? t.key : t.ctrl.id,
ref: a.ref
}) : a
})));
return p ? [P, p] : P
}(n, {
from: {height: 0, transform: "translate(100%, 0px)"}, enter: e => async t => {
await t({
transform: `translate(100%, -${o.get(e).scrollHeight}px)`,
immediate: !0
}), await t({height: o.get(e).scrollHeight, transform: "translate(0%, 0px)", scale: 1, opacity: 1})
}, leave: {opacity: 0, scale: .95, height: 0}, config: {tension: 210, friction: 30}
}), u = Ty("sol-c-toasts", e), d = {...t, top: s};
return sy.jsx("ul", {
"aria-live": "polite",
className: u,
ref: i,
style: d, ...a,
children: c(((e, t) => sy.jsx(bA.li, {
className: "sol-c-toasts__wrapper",
ref: e => e && o.set(t, e),
style: e,
children: sy.jsx(r, {role: "status", ...t})
})))
})
}));
ry("@layer sol.components{.sol-c-tutorial{background:var(--sol-color-surface-2);border-radius:var(--sol-radius-4);box-shadow:var(--sol-shadow-100);inline-size:30rem;min-block-size:10rem;padding:var(--sol-size-100)}.sol-c-tutorial__footer{margin-block-start:auto}#walktour-portal{color:var(--sol-color-overlay);z-index:var(--sol-z-tutorial)!important}#walktour-tooltip-container{outline:none}}");
let fT = ({
targetInfo: e,
disableMaskInteraction: t,
padding: n,
radius: r,
tourRoot: a,
close: i,
disableCloseOnClick: o,
maskId: s
}) => {
let {width: l, height: c} = zy({ref: a}), u = `clip-path-${s}`, d = (0, Ee.useMemo)((() => {
if (!e) return "";
let {dims: {height: t, width: a}, coords: {x: i, y: o}} = e, s = o - n, u = i - n, d = i + a + n,
p = o + t + n, h = l || 0, f = c || 0;
return r > 0 ? `M 0, 0\n L 0, ${f}\n L ${u}, ${f}\n L ${u}, ${s + r}\n Q ${u}, ${s}, ${u + r}, ${s}\n L ${d - r}, ${s}\n Q ${d}, ${s}, ${d}, ${s + r}\n L ${d}, ${p - r}\n Q ${d}, ${p}, ${d - r}, ${p}\n L ${u + r}, ${p}\n Q ${u}, ${p}, ${u}, ${p - r}\n L ${u}, ${f}\n L ${h}, ${f}\n L ${h}, 0` : `M 0, 0\n L 0, ${f}\n L ${u}, ${f}\n L ${u}, ${s}\n L ${d}, ${s}\n L ${d}, ${p}\n L ${u}, ${p}\n L ${u}, ${f}\n L ${h}, ${f}\n L ${h}, 0`
}), [c, l, n, r, e]);
return sy.jsxs("svg", {
style: {height: c, width: l, pointerEvents: t ? "auto" : "none"},
children: [e && sy.jsx("defs", {
children: sy.jsx("clipPath", {
id: u,
children: sy.jsx("path", {d: d})
})
}), sy.jsx("rect", {
onClick: o ? void 0 : i,
x: 0,
y: 0,
width: l,
height: c,
pointerEvents: "auto",
clipPath: e ? `url(#${u})` : void 0,
fill: "currentColor"
})]
})
}, mT = ({
allSteps: e,
close: t,
counterSeparator: n,
doneLabel: r,
next: a,
nextLabel: i,
skipLabel: o,
stepContent: {title: s, description: l},
stepIndex: c
}) => {
let u = c === e.length - 1;
return sy.jsxs(Cb, {
className: "sol-c-tutorial",
vertical: !0,
gap: "050",
children: [sy.jsxs(Cb, {
className: "sol-c-tutorial__content",
gap: "025",
vertical: !0,
children: [sy.jsx(hb, {
as: "h2",
color: "foreground",
variant: "emphasis-m",
children: s
}), l && sy.jsx(hb, {
color: "foreground-weak",
className: "sol-u-margin-bs-050",
variant: "body-s",
children: l
})]
}), sy.jsxs(Cb, {
align: "center",
className: "sol-c-tutorial__footer",
gap: "050",
children: [sy.jsxs(hb, {
className: "sol-c-tutorial__counter sol-u-margin-ie-auto",
color: "foreground-weak",
variant: "body-xs",
children: [c + 1, n, e.length]
}), !u && sy.jsx(_b, {
onClick: () => t(),
variant: "plain",
children: o
}), sy.jsx(_b, {
onClick: () => {
u ? t() : a()
}, children: u ? r : i
})]
})]
})
},
gT = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, [tabindex]:not([tabindex^="-"]):not([disabled]), [contenteditable]';
function vT(e) {
return {x: e.scrollLeft, y: e.scrollTop}
}
function _T(e, t) {
let n = vT(e);
return {x: t.x + n.x, y: t.y + n.y}
}
function yT(e, t) {
if (t && e) {
if (AT(e)) return _T(e, t);
{
let n = OT(e);
return _T(e, {x: t.x - n.x, y: t.y - n.y})
}
}
}
function bT(e, t, n) {
return {x: e.x + t.width / 2 - n.width / 2, y: e.y + t.height / 2 - n.height / 2}
}
function xT(e, t, n, r, a) {
if (!e || !t || !n) return;
let i = r || OT(t), o = a || OT(n), s = PT(t), l = PT(n), {coords: c, dims: u} = TT(i, s, o, l);
return bT(c, u, NT(e))
}
function wT(e, t, n) {
if (!e) return;
return bT(n || FT(e), NT(e), t ? PT(t) : {height: 0, width: 0})
}
function kT(e, t, n, r) {
let a = wT(e, t), i = a, o = i => !r || UT(e, n) && UT(e, t, i, !0) ? a : wT(e, t, BT(e, xT(e, t, n, i)));
return (e, t, n, r) => {
if (t.orientation === cE.CENTER) return n === r.length - 1 && void 0 === e ? t : e;
if (void 0 === e) return i = o(t.coords), t;
{
let n = o(t.coords);
return CT(n, t.coords) > CT(i, e.coords) ? e : (i = n, t)
}
}
}
function ST(e) {
let {
target: t,
tooltip: n,
padding: r,
tooltipSeparation: a,
orientationPreferences: i,
getPositionFromCandidates: o,
root: s,
disableAutoScroll: l,
allowForeignTarget: c,
selector: u
} = e, d = t ? wT(s, n, BT(s, function (e, t) {
let n = PT(t);
return bT(OT(t), n, NT(e))
}(s, t))) : wT(s, n), p = yT(s, d);
if (!n || !s) return;
if (!t) return {orientation: null, coords: p};
let h = c && jT(s, u), f = l || h, m = function (e, t, n, r, a) {
let i;
if (!e || !t) return;
let o = PT(t), s = OT(e), l = PT(e), c = s.x - (o.width - l.width) / 2,
u = s.y - (o.height - l.height) / 2, d = s.x + l.width + n + r, p = s.y + l.height + n + r,
h = s.x - o.width - n - r, f = s.y - o.height - n - r, m = bT(s, l, o),
g = [{orientation: cE.EAST, coords: {x: d, y: u}}, {
orientation: cE.SOUTH,
coords: {x: c, y: p}
}, {orientation: cE.WEST, coords: {x: h, y: u}}, {orientation: cE.NORTH, coords: {x: c, y: f}}];
{
let e = s.x - (o.width - l.width) + n, t = s.y - (o.height - l.height) + n, r = s.x - n,
a = s.y - n;
i = [{orientation: cE.EASTNORTH, coords: {x: d, y: a}}, {
orientation: cE.EASTSOUTH,
coords: {x: d, y: t}
}, {orientation: cE.SOUTHEAST, coords: {x: e, y: p}}, {
orientation: cE.SOUTHWEST,
coords: {x: r, y: p}
}, {orientation: cE.WESTSOUTH, coords: {x: h, y: t}}, {
orientation: cE.WESTNORTH,
coords: {x: h, y: a}
}, {orientation: cE.NORTHWEST, coords: {x: r, y: f}}, {
orientation: cE.NORTHEAST,
coords: {x: e, y: f}
}]
}
return [...g, ...i, {orientation: cE.CENTER, coords: m}]
}(t, n, r, a), g = o || (e => function (e, t, n, r, a) {
if (1 === e.length) return e[0];
{
if (a) return e.reduce(kT(t, n, r, !1), void 0);
let i = NT(t), o = zT(t), s = FT(t), l = VT(t), c = PT(n), u = PT(r), d = OT(r),
p = e => TT(e, c, d, u), h = e.filter((e => {
let t = e.coords;
return !(t.x < o.x || t.y < o.y || t.x + c.width > l.x || t.y + c.height > l.y)
})), f = h.filter((e => {
let t = e.coords, {dims: n} = p(t);
return DT(n, i)
})), m = f.filter((e => {
let t = e.coords, {dims: n, coords: r} = p(t);
return RT(n, i, r, s)
})), g = m.length > 0 ? m : f;
return (g.length > 0 ? g : h).reduce(kT(t, n, r, !0), void 0)
}
}(e, s, n, t, f)), v = g(function (e, t) {
if (!t || 0 === t.length) return e;
if (1 !== t.length) return e.filter((e => -1 !== t.indexOf(e.orientation)));
{
let n = e.find((e => e.orientation === t[0]));
return n ? [n] : e
}
}(m, i));
if (!v) return {orientation: cE.CENTER, coords: p};
let _ = {orientation: v.orientation, coords: yT(s, v.coords)};
return h ? {
orientation: _.orientation, coords: function (e, t, n, r) {
if (!e) return t;
let a = vT(e), i = NT(e), o = a.x + i.width, s = a.y + i.height, l = a.x + r, c = a.y + r,
u = o - n.width - r, d = s - n.height - r, p = t.x, h = t.y;
return t.x < l ? p = l : t.x + n.width > u && (p = u), t.y < c ? h = c : t.y + n.height > d && (h = d), {
x: p,
y: h
}
}(s, _.coords, PT(n), r + a)
} : _
}
function ET(e) {
return !!e && (!!e.x || 0 === e.x) && (!!e.y || 0 === e.y)
}
function IT(e) {
return !!e && (!!e.height || 0 === e.height) && (!!e.width || 0 === e.height) && !(e.height < 0) && !(e.width < 0)
}
function CT(e, t) {
if (ET(e) && ET(t)) return Math.sqrt(Math.pow(Math.abs(e.x - t.x), 2) + Math.pow(Math.abs(e.y - t.y), 2))
}
function OT(e) {
if (!e) return;
let t = e.getBoundingClientRect();
return {x: t.left, y: t.top}
}
function PT(e) {
if (!e) return;
let t = e.getBoundingClientRect();
return {width: t.width, height: t.height}
}
function AT(e) {
return e.isSameNode(document.body) || e.isSameNode(document.scrollingElement) || e.isSameNode(document.documentElement)
}
function TT(e, t, n, r) {
let a = (e, t) => ({left: e.x, right: e.x + t.width, top: e.y, bottom: e.y + t.height}),
i = (e, t, n) => e > t ? n ? e : t : n ? t : e, o = a(e, t), s = a(n, r), l = i(o.left, s.left, !1),
c = i(o.right, s.right, !0), u = i(o.top, s.top, !1);
return {coords: {x: l, y: u}, dims: {height: i(o.bottom, s.bottom, !0) - u, width: c - l}}
}
function DT(e, t) {
return !(!IT(e) || !IT(t)) && e.height <= t.height && e.width <= t.width
}
function RT(e, t, n, r) {
if (!IT(e) || !IT(t)) return !1;
let a = ET(n) ? n : {x: 0, y: 0}, i = ET(r) ? r : {x: 0, y: 0}, o = DT(e, t),
s = a.x >= i.x && a.x + e.width <= i.x + t.width, l = a.y >= i.y && a.y + e.height <= i.y + t.height;
return o && s && l
}
function LT(e, t, n) {
if (t) {
let e = function (e, t) {
let n = e.querySelectorAll(gT), r = [];
return t && e.matches(gT) && r.push(e), n.length > 0 && n.forEach((e => r.push(e))), r
}(t, n);
if (e.length > 0) return {start: e[0], end: e[e.length - 1]}
}
return {start: e, end: e}
}
function jT(e, t) {
return !e.querySelector(t)
}
function NT(e) {
return {width: e.clientWidth, height: e.clientHeight}
}
function MT(e) {
return {width: e.scrollWidth, height: e.scrollHeight}
}
function FT(e) {
return AT(e) ? {x: 0, y: 0} : OT(e)
}
function zT(e) {
let t = vT(e), n = FT(e);
return {x: n.x - t.x, y: n.y - t.y}
}
function VT(e) {
let t = zT(e), {width: n, height: r} = MT(e);
return {x: t.x + n, y: t.y + r}
}
function UT(e, t, n, r) {
if (!e || !t) return !1;
let a = n && (r ? yT(e, n) : n) || yT(e, OT(t)), i = PT(t), o = yT(e, FT(e));
return RT(i, NT(e), a, o)
}
function BT(e, t) {
let n = NT(e), r = zT(e), a = VT(e), i = a.x - n.width, o = a.y - n.height;
return t.x < r.x ? t.x = r.x : t.x > i ? t.x = i : t.x = t.x, t.y < r.y ? t.y = r.y : t.y > o ? t.y = o : t.y = t.y, t
}
function GT(e) {
let {
targetInfo: t,
disableMaskInteraction: n,
padding: r,
radius: a,
tourRoot: i,
close: o,
disableCloseOnClick: s,
maskId: l
} = e, {width: c, height: u} = MT(i), d = `clip-path-${l}`;
return sy.jsxs("svg", {
style: {height: u, width: c, pointerEvents: n ? "auto" : "none"},
children: [t && sy.jsx("defs", {
children: sy.jsx("clipPath", {
id: d,
children: sy.jsx("path", {
d: (e => {
if (!e) return "";
let {dims: t, coords: n} = e, i = n.y - r, o = n.x - r, s = n.x + t.width + r,
l = n.y + t.height + r;
return a > 0 ? `M 0, 0\n L 0, ${u}\n L ${o}, ${u}\n L ${o}, ${i + a}\n Q ${o}, ${i}, ${o + a}, ${i}\n L ${s - a}, ${i}\n Q ${s}, ${i}, ${s}, ${i + a}\n L ${s}, ${l - a}\n Q ${s}, ${l}, ${s - a}, ${l}\n L ${o + a}, ${l}\n Q ${o}, ${l}, ${o}, ${l - a}\n L ${o}, ${u}\n L ${c}, ${u}\n L ${c}, 0` : `M 0, 0\n L 0, ${u}\n L ${o}, ${u}\n L ${o}, ${i}\n L ${s}, ${i}\n L ${s}, ${l}\n L ${o}, ${l}\n L ${o}, ${u}\n L ${c}, ${u}\n L ${c}, 0`
})(t)
})
})
}), sy.jsx("rect", {
onClick: s ? void 0 : o,
x: 0,
y: 0,
width: c,
height: u,
fill: "black",
fillOpacity: .3,
pointerEvents: "auto",
clipPath: t ? `url(#${d})` : void 0
})]
})
}
(iE = cE || (cE = {})).EAST = "east", iE.SOUTH = "south", iE.WEST = "west", iE.NORTH = "north", iE.CENTER = "center", iE.EASTNORTH = "east-north", iE.EASTSOUTH = "east-south", iE.SOUTHEAST = "south-east", iE.SOUTHWEST = "south-west", iE.WESTSOUTH = "west-south", iE.WESTNORTH = "west-north", iE.NORTHWEST = "north-west", iE.NORTHEAST = "north-east";
let $T = {
cursor: "pointer",
padding: "4px 16px",
textAlign: "center",
border: 0,
borderRadius: 3,
backgroundColor: "#0084ff",
color: "#fff",
fontSize: 14,
margin: 4
}, qT = {
tooltip: {
display: "flex",
flexDirection: "column",
zIndex: 9999,
fontFamily: "Roboto, sans-serif",
fontSize: 14,
backgroundColor: "white",
padding: "10px 10px 5px 10px",
borderRadius: "5px",
boxShadow: "0 3px 8px 0 rgba(0,0,0,.25)",
color: "#4d4d4d",
minWidth: 215,
maxWidth: 285
},
footer: {display: "flex", justifyContent: "center", marginTop: 4},
title: {margin: 4, fontSize: 24},
description: {margin: 4},
primaryButton: {...$T, backgroundColor: "#0084ff", color: "#ffffff"},
secondaryButton: {...$T, backgroundColor: "#8400ff", color: "#fff", border: "solid 1px #8400ff"},
tertiaryButton: {
...$T,
marginRight: "auto",
backgroundColor: "transparent",
color: "#025c53",
border: "solid 1px #025c53"
},
disabledButton: {...$T, backgroundColor: "#bebebe", color: "#989898", cursor: "default"}
};
function WT(e) {
let {
next: t,
prev: n,
close: r,
stepContent: {
title: a,
description: i,
customTitleRenderer: o,
customDescriptionRenderer: s,
customFooterRenderer: l,
disableClose: c,
disableNext: u,
disablePrev: d,
nextLabel: p,
prevLabel: h,
closeLabel: f
},
stepIndex: m,
allSteps: g,
styles: v
} = {styles: qT, ...e}, _ = {...v.tooltip}, y = void 0 !== d ? d : 0 === m,
b = void 0 !== u ? u : m + 1 === g.length;
return sy.jsxs("div", {
style: _,
children: [o ? o(a, e) : a && sy.jsx("div", {
style: v.title,
children: a
}), s ? s(i, e) : sy.jsx("div", {
style: v.description,
children: i
}), l ? l(e) : sy.jsxs("div", {
style: v.footer,
children: [sy.jsx("button", {
onClick: () => r(),
style: {...v.tertiaryButton, ...c && v.disabledButton},
disabled: c,
children: f || "close"
}), sy.jsx("button", {
onClick: n,
disabled: y,
style: {...v.secondaryButton, ...y && v.disabledButton},
children: h || "prev"
}), sy.jsx("button", {
onClick: () => t(),
disabled: b,
style: {...v.primaryButton, ...b && v.disabledButton},
children: p || "next"
})]
})]
})
}
function HT(e, t) {
return `${e}${t ? `-${t}` : ""}`
}
function KT(e) {
let {start: t, end: n, beforeStart: r, afterEnd: a, lightningRod: i} = e;
return e => {
9 === e.keyCode && (e.shiftKey && e.target === t ? (e.preventDefault(), r ? r.focus() : n.focus()) : e.shiftKey || e.target !== n ? e.target === i && (e.preventDefault(), t.focus()) : (e.preventDefault(), a ? a.focus() : t.focus()))
}
}
function YT(e) {
let {root: t, tooltip: n, target: r, disableAutoScroll: a, allowForeignTarget: i, selector: o} = e;
return !!t && !!n && !!r && !a && (i && o ? !jT(t, o) : function (e) {
let {root: t, tooltip: n, tooltipPosition: r, target: a} = e;
return !UT(t, n, r) || !UT(t, a) && DT(PT(a), NT(t))
}({...e}))
}
let QT = {
maskPadding: 5,
maskRadius: 0,
tooltipSeparation: 10,
transition: "top 300ms ease, left 300ms ease",
disableMaskInteraction: !1,
disableCloseOnClick: !1,
zIndex: 9999,
renderTolerance: 2,
updateInterval: 500
}, ZT = e => {
let {steps: t, initialStepIndex: n, isOpen: r} = e,
a = void 0 !== r, [i, o] = (0, Ee.useState)(void 0 == r), [s, l] = (0, Ee.useState)(void 0), [c, u] = (0, Ee.useState)(void 0), [d, p] = (0, Ee.useState)(n || 0), [h, f] = (0, Ee.useState)(void 0),
m = (0, Ee.useRef)([]), g = (0, Ee.useRef)(void 0), v = (0, Ee.useRef)(void 0),
_ = (0, Ee.useRef)(void 0), y = (0, Ee.useRef)(void 0), b = t[d], x = a ? r : i,
w = {...QT, ...e, ...b}, {
selector: k,
maskPadding: S,
maskRadius: E,
disableMaskInteraction: I,
disableCloseOnClick: C,
tooltipSeparation: O,
transition: P,
orientationPreferences: A,
customTooltipRenderer: T,
zIndex: D,
rootSelector: R,
customNextFunc: L,
customPrevFunc: j,
customCloseFunc: N,
disableClose: M,
disableNext: F,
disablePrev: z,
disableAutoScroll: V,
identifier: U,
getPositionFromCandidates: B,
movingTarget: G,
renderTolerance: $,
updateInterval: q,
disableMask: W,
setUpdateListener: H,
removeUpdateListener: K,
disableListeners: Y,
disableSmoothScroll: Q,
debug: Z,
allowForeignTarget: X,
nextOnTargetClick: J,
validateNextOnTargetClick: ee,
renderMask: te
} = w;
(0, Ee.useEffect)((() => ae), []), (0, Ee.useEffect)((() => {
let e;
R && (e = document.querySelector(R)), e || (e = function e(t) {
let n = (e, t) => getComputedStyle(e, null).getPropertyValue(t);
return !t || AT(t) ? function () {
let e = window.pageYOffset;
return document.documentElement.scrollTop = e + 1, window.pageXOffset > e ? (document.documentElement.scrollTop = e, document.documentElement) : document.scrollingElement || document.body
}() : /(auto|scroll)/.test(n(t, "overflow") + n(t, "overflow-y") + n(t, "overflow-x")) ? t : e(t.parentElement)
}(v.current)), !1 !== x && e !== h && f(e)
}), [R, v.current, x]), (0, Ee.useEffect)((() => {
Z && console.log(`walktour debug (${U ? `${U}, ` : ""}${d}):`, {
"options:": w,
"tour logic:": oe,
"previous state/vars:": {
isOpenState: i,
tourRoot: h,
target: s,
tooltipPosition: c,
targetPosition: _,
currentStepIndex: d,
targetSize: y
}
}), g.current && x ? (g.current.focus(), ne()) : ae()
}), [d, b, x, h, g.current]);
let ne = () => {
ae();
let e = g.current;
if (!h || !e) return l(null), u(null), _.current = null, void (y.current = null);
let t = X ? document : h, n = () => t.querySelector(k), r = n(), a = yT(h, OT(r)), i = PT(r),
o = W ? 0 : S, s = ST({
target: r,
tooltip: e,
padding: o,
tooltipSeparation: O,
orientationPreferences: A,
root: h,
getPositionFromCandidates: B,
disableAutoScroll: V,
allowForeignTarget: X,
selector: k
});
l(r), u(s), _.current = a, y.current = i;
let c = ((e, t, n) => {
let r, a, i;
if (!e) return;
let {start: o, end: s} = LT(e, e), {start: l, end: c} = LT(void 0, t, !0);
t && !n && l && c && (a = l, r = c, i = KT({
start: l,
end: c,
beforeStart: s,
afterEnd: o
}), t.addEventListener("keydown", i));
let u = KT({start: o, end: s, beforeStart: r, afterEnd: a, lightningRod: e});
return e.addEventListener("keydown", u), () => {
t && t.removeEventListener("keydown", i), e.removeEventListener("keydown", u)
}
})(e, r, I);
if (m.current.push(c), YT({
disableAutoScroll: V,
allowForeignTarget: X,
selector: k,
root: h,
target: r,
tooltip: e,
tooltipPosition: s.coords
}) && function (e, t, n) {
if (!e || !t) return;
if ("scrollBehavior" in document.documentElement.style && !n) {
let n = {top: t.y, left: t.x, behavior: "smooth"};
e.scrollTo(n)
} else e.scrollTop = t.y, e.scrollLeft = t.x
}(h, xT(h, e, r, s.coords, a), Q), !Y) {
let t = () => {
let t = n();
(function (e) {
let {root: t, tooltip: n} = e;
return !!t && !!n && (function (e) {
let {root: t, target: n, targetCoords: r, targetDims: a, rerenderTolerance: i} = e;
if (!n && !r && !a) return !1;
if (!n && r && a || n && !r && !a) return !0;
let o = PT(n), s = yT(t, OT(n)), l = function (e, t) {
if (IT(e) && IT(t)) return Math.abs(e.height * e.width - t.height * t.width)
}(o, a) > i, c = CT(s, r) > i;
return l || c
}({...e}) || YT({...e}) || function (e) {
let {target: t, root: n, tooltip: r, tooltipPosition: a} = e;
return !(t || !n || !r) && 0 !== CT(ST({...e}).coords, a)
}({...e}))
})({
root: h,
tooltipPosition: s.coords,
tooltip: e,
target: t,
disableAutoScroll: V,
rerenderTolerance: $,
targetCoords: _.current,
targetDims: y.current,
allowForeignTarget: X,
selector: k,
getPositionFromCandidates: B,
orientationPreferences: A,
padding: o,
tooltipSeparation: O
}) && ne()
}, a = function (e) {
let {
update: t,
customSetListener: n,
customRemoveListener: r,
event: a
} = {event: "resize", ...e};
return n && r ? (n(t), () => r(t)) : (window.addEventListener(a, t), () => window.removeEventListener(a, t))
}({
update: function (e, t = 300) {
let n;
return (...r) => {
n && window.clearTimeout(n), n = window.setTimeout((() => e(...r)), t)
}
}(t), customSetListener: H, customRemoveListener: K
});
if (m.current.push(a), G && (r || k)) {
let e = function (e, t) {
let n = window.setInterval(e, t);
return () => window.clearInterval(n)
}(t, q);
m.current.push(e)
}
if (J && r) {
let e = ((e, t, n) => {
if (!e) return;
let r = () => {
(async (e, t) => {
t ? await t() && e() : e()
})((() => {
t(!0), e.removeEventListener("click", r)
}), n)
};
return e.addEventListener("click", r), () => e.removeEventListener("click", r)
})(r, oe.next, ee);
m.current.push(e)
}
}
}, re = e => {
e >= t.length || e < 0 || p(e)
}, ae = () => {
m.current.forEach((e => e())), m.current = []
}, ie = {
next: () => re(d + 1), prev: () => re(d - 1), close: e => (e => {
e && re(0), a || o(!1), ae(), s && s.focus()
})(e), goToStep: re, stepContent: {...w}, stepIndex: d, allSteps: t, tooltipPosition: c
}, oe = {...ie, ...L && {next: e => L(ie, e)}, ...j && {prev: () => j(ie)}, ...N && {close: () => N(ie)}},
se = e => {
switch (e.key) {
case"Escape":
e.preventDefault(), M || oe.close();
break;
case"ArrowRight":
e.preventDefault(), F || oe.next();
break;
case"ArrowLeft":
e.preventDefault(), z || oe.prev()
}
};
if (!x || !b) return null;
let le = {
position: "absolute",
top: 0,
left: 0,
zIndex: D,
visibility: c ? "visible" : "hidden",
pointerEvents: "none"
}, ce = {position: "absolute", top: c?.coords?.y, left: c?.coords?.x, transition: P, pointerEvents: "auto"},
ue = te || GT, de = () => sy.jsx("div", {
ref: e => v.current = e,
id: HT("walktour-portal", U),
style: le,
children: h && sy.jsxs(sy.Fragment, {
children: [!W && sy.jsx(ue, {
maskId: HT("walktour-mask", U),
targetInfo: function (e, t) {
if (!e || !t) return;
let n = PT(t);
return {coords: yT(e, OT(t)), dims: n}
}(h, s),
disableMaskInteraction: I,
disableCloseOnClick: C,
padding: S,
radius: E,
tourRoot: h,
close: oe.close
}), sy.jsx("div", {
ref: e => g.current = e,
id: HT("walktour-tooltip-container", U),
style: ce,
onKeyDown: se,
tabIndex: 0,
children: T ? T(oe) : sy.jsx(WT, {...oe})
})]
})
});
return h ? (0, ty.createPortal)(de(), AT(h) ? document.body : h) : de()
}, XT = (e, t) => (t ? {
bottom: cE.SOUTH,
"bottom-end": cE.SOUTHWEST,
"bottom-start": cE.SOUTHEAST,
left: cE.EAST,
"left-end": cE.EASTSOUTH,
"left-start": cE.EASTNORTH,
right: cE.WEST,
"right-end": cE.WESTSOUTH,
"right-start": cE.WESTNORTH,
top: cE.NORTH,
"top-end": cE.NORTHWEST,
"top-start": cE.NORTHEAST
} : {
bottom: cE.SOUTH,
"bottom-end": cE.SOUTHEAST,
"bottom-start": cE.SOUTHWEST,
left: cE.WEST,
"left-end": cE.WESTSOUTH,
"left-start": cE.WESTNORTH,
right: cE.EAST,
"right-end": cE.EASTSOUTH,
"right-start": cE.EASTNORTH,
top: cE.NORTH,
"top-end": cE.NORTHEAST,
"top-start": cE.NORTHWEST
})[e], JT = (e, t) => e.map((({
selector: e,
title: n,
description: r,
placement: a = "bottom-start",
padding: i = 4
}) => ({
selector: e ?? "sol-tutorial-fullscreen",
title: n,
description: r,
maskPadding: i,
orientationPreferences: [XT(a, t)]
}))), eD = ({
children: e,
counterSeparator: t = " of ",
doneLabel: n = "Done",
nextLabel: r = "Next",
onOpenChange: a,
open: i = !1,
skipLabel: o = "Skip",
steps: s
}) => {
let {direction: l = "ltr"} = Xy(), [c, u] = Ny({value: i, onChange: a}),
d = {counterSeparator: t, doneLabel: n, nextLabel: r, skipLabel: o};
return sy.jsxs(sy.Fragment, {
children: [sy.jsx(ZT, {
customTooltipRenderer: e => sy.jsx(mT, {...d, ...e}),
disableMaskInteraction: !0,
disableCloseOnClick: !0,
maskRadius: 4,
renderMask: e => sy.jsx(fT, {...e}),
isOpen: c,
customCloseFunc: ({close: e}) => {
e(!0), u(!1), a?.(!1)
},
tooltipSeparation: 4,
steps: JT(s, "rtl" === l)
}), e]
})
}, tD = Dy((({
buttonRef: e,
className: t,
disabled: n,
label: r = "Volume",
muteLabel: a = "Mute",
onChange: i,
sliderRef: o,
unmuteLabel: s = "Unmute",
value: l = 0,
...c
}, u) => {
let d = (0, Ee.useId)(), [p, h] = Ny({value: l, onChange: i}), [f, m] = (0, Ee.useState)(0),
g = (0, Ee.useCallback)((e => h(e)), [h]), v = (0, Ee.useCallback)((() => {
0 !== p ? (m(p), h(0)) : h(0 === f ? 50 : f)
}), [f, h, p]), _ = (0, Ee.useMemo)((() => {
switch (!0) {
case p >= 50:
return Py;
case p >= 25:
return Oy;
case p >= 1:
return Cy;
default:
return by
}
}), [p]), y = Ty("sol-c-volume-slider", t);
return sy.jsxs(Cb, {
align: "center",
className: y,
gap: "025",
ref: u, ...c,
children: [sy.jsx(_b, {
"aria-controls": d,
"aria-label": 0 === p ? s : a,
className: "sol-c-volume-slider__button",
disabled: n,
onClick: v,
ref: e,
size: "small",
icon: _,
variant: "plain"
}), sy.jsx(uT, {
id: d,
"aria-label": r,
"aria-valuetext": `${p}%`,
className: "sol-c-volume-slider__slider",
disabled: n,
min: 0,
max: 100,
onValueChange: g,
ref: o,
showProgress: !0,
value: p,
style: {"--sol-c-slider-size": "var(--sol-size-500)"}
})]
})
}));
const nD = {randomUUID: "undefined" !== typeof crypto && crypto.randomUUID && crypto.randomUUID.bind(crypto)};
let rD;
const aD = new Uint8Array(16);
function iD() {
if (!rD && (rD = "undefined" !== typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !rD)) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
return rD(aD)
}
const oD = [];
for (let n = 0; n < 256; ++n) oD.push((n + 256).toString(16).slice(1));
function sD(e, t = 0) {
return (oD[e[t + 0]] + oD[e[t + 1]] + oD[e[t + 2]] + oD[e[t + 3]] + "-" + oD[e[t + 4]] + oD[e[t + 5]] + "-" + oD[e[t + 6]] + oD[e[t + 7]] + "-" + oD[e[t + 8]] + oD[e[t + 9]] + "-" + oD[e[t + 10]] + oD[e[t + 11]] + oD[e[t + 12]] + oD[e[t + 13]] + oD[e[t + 14]] + oD[e[t + 15]]).toLowerCase()
}
const lD = function (e, t, n) {
if (nD.randomUUID && !t && !e) return nD.randomUUID();
const r = (e = e || {}).random || (e.rng || iD)();
if (r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, t) {
n = n || 0;
for (let e = 0; e < 16; ++e) t[n + e] = r[e];
return t
}
return sD(r)
};
var cD = n(2222);
const uD = "1000", dD = "1001", pD = "1002", hD = "1003", fD = "1004", mD = "1005", gD = "1006", vD = "1007",
_D = "1008", yD = "1009", bD = "1010", xD = "1011", wD = "1012", kD = "1013", SD = "1014", ED = "1015",
ID = "1016", CD = "1017", OD = "1018", PD = "1019", AD = "1020", TD = "1021", DD = "1022",
RD = "ErrWrongPassword_email", LD = "ErrMultiStepRequired", jD = "ErrMultiStepWrongCode",
ND = "ErrNotAuthenticated", MD = "ErrClaimsInvalid", FD = "ErrMaxThrottleLogin", zD = "errAuthExpired",
VD = "ErrCaptchaRequiredLauncher", UD = "ErrInvalidChallengeCode", BD = "ErrDeprecatedApi",
GD = "ErrAgreementsRequired", $D = "ErrExpiredToken", qD = "ErrToken", WD = "ErrNoGamePackage",
HD = "ErrValidationFailed", KD = "ErrAccountNotFound";
class YD extends Error {
constructor({message: e = "Unknown Error", code: t = uD, payload: n = null, environment: r}) {
super(e), this.code = void 0, this.payload = void 0, this.environment = void 0, Object.setPrototypeOf(this, YD.prototype), this.code = t, this.payload = n, this.environment = r
}
}
class QD extends YD {
constructor(e, t, n) {
super({message: e, code: hD, payload: t, environment: n}), Object.setPrototypeOf(this, QD.prototype)
}
}
class ZD extends YD {
constructor(e, t = null, n) {
super({message: e, code: fD, payload: t, environment: n}), Object.setPrototypeOf(this, ZD.prototype)
}
}
class XD extends YD {
constructor(e, t = null, n) {
super({message: e, code: yD, payload: t, environment: n}), Object.setPrototypeOf(this, XD.prototype)
}
}
class JD extends YD {
constructor(e, t = null, n) {
super({message: e, code: vD, payload: t, environment: n}), Object.setPrototypeOf(this, JD.prototype)
}
}
class eR extends YD {
constructor(e, t = null, n) {
super({message: e, code: gD, payload: t, environment: n}), Object.setPrototypeOf(this, eR.prototype)
}
}
class tR extends YD {
constructor(e, t = null, n) {
super({message: e, code: _D, payload: t, environment: n}), Object.setPrototypeOf(this, tR.prototype)
}
}
class nR extends YD {
constructor(e, t, n) {
super({message: e, code: bD, payload: t, environment: n}), Object.setPrototypeOf(this, nR.prototype)
}
}
class rR extends YD {
constructor(e, t = null, n) {
super({message: e, code: xD, payload: t, environment: n}), Object.setPrototypeOf(this, rR.prototype)
}
}
class aR extends YD {
constructor(e, t = null, n) {
super({message: e, code: kD, payload: t, environment: n}), Object.setPrototypeOf(this, aR.prototype)
}
}
class iR extends YD {
constructor(e, t = null, n) {
super({message: e, code: SD, payload: t, environment: n}), Object.setPrototypeOf(this, iR.prototype)
}
}
class oR extends YD {
constructor(e, t = null, n) {
super({message: e, code: ED, payload: t, environment: n}), Object.setPrototypeOf(this, oR.prototype)
}
}
class sR extends YD {
constructor(e, t = null, n) {
super({message: e, code: ID, payload: t, environment: n}), Object.setPrototypeOf(this, sR.prototype)
}
}
class lR extends YD {
constructor(e, t = null, n) {
super({message: e, code: pD, payload: t, environment: n}), Object.setPrototypeOf(this, lR.prototype)
}
}
class cR extends YD {
constructor(e, t = null, n) {
super({message: e, code: TD, payload: t, environment: n}), Object.setPrototypeOf(this, cR.prototype)
}
}
class uR extends YD {
constructor(e, t = null, n) {
super({message: e, code: DD, payload: t, environment: n}), Object.setPrototypeOf(this, uR.prototype)
}
}
class dR extends YD {
constructor(e, t = null, n) {
super({message: e, code: CD, payload: t, environment: n}), Object.setPrototypeOf(this, dR.prototype)
}
}
class pR extends YD {
constructor(e, t = null, n) {
super({message: e, code: OD, payload: t, environment: n}), Object.setPrototypeOf(this, pR.prototype)
}
}
class hR extends YD {
constructor(e, t = null, n) {
super({message: e, code: PD, payload: t, environment: n}), Object.setPrototypeOf(this, hR.prototype)
}
}
class fR extends YD {
constructor(e, t = null, n) {
super({message: e, code: wD, payload: t, environment: n}), Object.setPrototypeOf(this, fR.prototype)
}
}
class mR extends YD {
constructor(e, t = null, n) {
super({message: e, code: AD, payload: t, environment: n}), Object.setPrototypeOf(this, mR.prototype)
}
}
class gR extends YD {
constructor(e, t = null, n) {
super({message: e, code: mD, payload: t, environment: n}), Object.setPrototypeOf(this, gR.prototype)
}
}
class vR {
constructor(e) {
this.baseUrl = void 0, this.baseUrl = e
}
isMediaResponse(e) {
return "image/png" === e.headers.get("content-type")
}
async handleResponse(e) {
if (429 === e.status) throw new pR(xt.t("error_api_too_many_requests_content", {ns: "errors"}), e, null);
if (503 === e.status) throw new hR(xt.t("error_api_unavailable", {ns: "errors"}), e, null);
if (e.status >= 500 && e.status < 600) throw new mR(xt.t("error_api_internal_server_error", {ns: "errors"}), e, null);
if (403 === e.status || 401 === e.status) throw new dR(xt.t("error_api_denied_request_content", {ns: "errors"}), e, null);
if (!e.ok) throw new Error(`Request failed with status: ${e.status}`);
return this.isMediaResponse(e) ? e : await e.json()
}
async handleRequest(e, t, n, r, a) {
const i = this.baseUrl + "://" + e, o = new Headers;
o.set("Content-Type", "application/json"), r && r.forEach((e => {
o.set(e.key, e.value)
}));
const s = {method: t, mode: "cors", headers: o, ...a};
let l;
"GET" !== t && (s.body = JSON.stringify(n));
try {
l = await fetch(i, s)
} catch (sB) {
throw new gR("Could not connect to server", sB, null)
}
return this.handleResponse(l)
}
async get(e) {
return this.handleRequest(e, "GET", void 0, void 0, void 0)
}
async post(e, t, n, r) {
return this.handleRequest(e, "POST", t, n, r)
}
}
const _R = ({rsiApiResult: e, environment: t}) => {
switch (e.code) {
case ND:
return new eR(xt.t("error_not_authenticated", {ns: "errors"}), e, t);
case FD:
return new tR(xt.t("error_max_login_attempt", {ns: "errors"}), e, t);
case MD:
return new JD(xt.t("error_invalid_claims", {ns: "errors"}), e, t);
case LD:
return new QD(xt.t("error_authentication_mfa", {ns: "errors"}), e, t);
case jD:
return new ZD(xt.t("error_wrong_mfa_code", {ns: "errors"}), e, t);
case VD:
return new nR(xt.t("error_captcha_required", {ns: "errors"}), e, t);
case UD:
return new rR(xt.t("error_captcha_invalid", {ns: "errors"}), e, t);
case zD:
return new XD(xt.t("error_session_expired", {ns: "errors"}), e, t);
case GD:
return new aR(e.msg, e, t);
case $D:
return new iR(e.msg, e, t);
case qD:
return new oR(e.msg, e, t);
case WD:
return new sR(e.msg, e, t);
case RD:
return new lR(xt.t("error_wrong_credentials", {ns: "errors"}), e, t);
case HD:
return new cR(xt.t("error_api_validation_failed", {ns: "errors"}), e, t);
case KD:
return new uR(xt.t("error_api_validation_failed", {ns: "errors"}), e, t);
default:
return new YD({message: e.msg, code: e.code, payload: e, environment: t})
}
}, yR = {
ACCOUNT_CHECK: "account/check",
ACCOUNT_CLAIMS: "account/claims",
AGREEMENTS_ACCEPT: "agreements/accept",
AGREEMENTS_GET: "agreements/get",
CONTENT_COMM_LINKS: "content/news",
CONTENT_PATCHNOTES: "content/patchNotes",
CONTENT_LAUNCHER_CARDS: "content/cards",
GAMES_CLAIMS: "games/claims",
GAMES_LIBRARY: "games/library",
GAMES_RELEASE: "games/release",
GAMES_TOKEN: "games/token",
LANGUAGES: "language/getLanguage",
SIGN_IN_CAPTCHA: "signin/captcha",
SIGN_IN_CLAIMS: "signin/claims",
SIGN_IN_MULTISTEP: "signin/multiStep",
SIGN_IN: "signin",
SIGN_OUT: "signout",
WARNINGS_GET: "warnings/get",
WARNINGS: "warnings"
}, bR = {STATUS_PAGE: "index"};
class xR extends vR {
set session(e) {
this._session = e
}
get session() {
return this._session
}
set device(e) {
this._device = e
}
get device() {
return this._device
}
set platformEnv(e) {
this._platformEnv = e
}
get platformEnv() {
return this._platformEnv
}
get endpoints() {
return this._endpoints
}
constructor() {
super(xR.BASE_URL), this._platformEnv = null, this._session = null, this._device = null, this._endpoints = void 0, this._endpoints = yR, this.init()
}
async init() {
const [e, t, n] = await Promise.all([window.launcherAPI.store.getValueFromStore("session"), window.launcherAPI.store.getValueFromStore("device"), window.launcherAPI.game.getGlobalConfig()]);
this._session = e, this._device = t, this._platformEnv = n.environment
}
static getInstance() {
return xR.instance || (xR.instance = new xR), xR.instance
}
async call({
platformId: e = this._platformEnv,
endpoint: t,
payload: n,
session: r = this._session,
device: a = this._device,
options: i
}) {
const o = this.handleSession(r, a);
this.handleUrl(e);
try {
const r = await this.post(t, n, o, i);
if (r.code === BD) throw new fR("Launcher update required.", BD, e);
if (r.success) return r;
throw _R({rsiApiResult: r, environment: e})
} catch (sB) {
throw sB instanceof XD && (this._session = null, this._device = null), sB
}
}
handleSession(e, t) {
const n = [];
return e && n.push({key: e.key, value: e.value}), t && n.push({key: t.key, value: t.value}), n
}
handleUrl(e) {
this.baseUrl = `${xR.BASE_URL}${e ? `+${e}` : ""}`
}
async callImage({
endpoint: e,
payload: t = {},
session: n = this._session,
device: r = this._device,
options: a
}) {
try {
const i = this.handleSession(n, r), o = await this.post(e, t, i, a), s = await o.arrayBuffer();
return window.btoa(String.fromCharCode(...new Uint8Array(s)))
} catch (sB) {
throw sB
}
}
}
xR.instance = void 0, xR.BASE_URL = "rsi";
class wR {
constructor() {
this.retryCount = 3
}
async operationWithBasicRetry(e, t) {
let n = 0;
for (console.log("[ApiRequester] retry mode enabled"); ;) {
try {
return await e()
} catch (a) {
var r;
if (console.error(`[ApiRequester] request number ${n} failed`, a), n++, (a instanceof iR || a instanceof oR) && null !== t && void 0 !== t && t.refreshClaims && (console.error("[ApiRequester] claims expired - refresh engaged", a), await t.refreshClaims()), n > (null !== (r = null === t || void 0 === t ? void 0 : t.numberOfRetry) && void 0 !== r ? r : this.retryCount) || this.isUnsafeError(a)) throw a
}
await this.delay(500 * n)
}
}
delay(e) {
return new Promise((t => setTimeout(t, e)))
}
isUnsafeError(e) {
return e instanceof pR || e instanceof dR || e instanceof fR || e instanceof gR
}
}
class kR extends wR {
constructor(e) {
super(), this.client = e
}
async getWarnings() {
return (await this.client.call({endpoint: this.client.endpoints.WARNINGS})).data
}
async getWarningInfo(e) {
return (await this.client.call({
endpoint: this.client.endpoints.WARNINGS_GET,
payload: {warning_id: e}
})).data
}
async checkAgreements() {
return (await this.client.call({endpoint: this.client.endpoints.ACCOUNT_CHECK})).data
}
async getAgreementInfo(e, t) {
return (await this.client.call({
endpoint: this.client.endpoints.AGREEMENTS_GET,
payload: {agreement_id: e, type: t}
})).data
}
async acceptAgreement(e, t) {
return (await this.client.call({
endpoint: this.client.endpoints.AGREEMENTS_ACCEPT,
payload: {agreement_id: e, type: t}
})).data
}
}
let SR;
!function (e) {
e.SESSION = "session", e.DAY = "day", e.WEEK = "week", e.MONTH = "month", e.YEAR = "year"
}(SR || (SR = {}));
const ER = {
1: "Staff",
4: "Backer",
5: "Subscriber",
14: "QA",
125: "PU Alpha Access",
126: "Game Master",
128: "Legatus",
671: "Evocati Test Flight",
1148: "CMTY Influencer",
2028: "PTU - Wave 1 - 3.20",
2282: "EAC_BYPASS"
};
let IR, CR;
function OR(e) {
return Object.keys(ER).find((t => ER[t] === e))
}
function PR({badges: e}, t) {
const n = Object.values(e).map(OR).filter((e => void 0 !== e));
for (const r of t) {
const e = OR(r);
if (void 0 === e || !n.includes(e)) return !1
}
return !0
}
function AR({badges: e}, t) {
const n = Object.values(e).map(OR).filter((e => void 0 !== e));
for (const r of t) {
const e = OR(r);
if (void 0 !== e && n.includes(e)) return !0
}
return !1
}
!function (e) {
e.COMM_LINKS = "Comm-Links", e.PATCH_NOTES = "Patch-Notes"
}(IR || (IR = {})), function (e) {
e.EULA = "eula", e.TOS = "tos", e.DISCLAIMER = "disclaimer"
}(CR || (CR = {}));
const TR = {year: 31536e6, month: 2628e6, day: 864e5, hour: 36e5, minute: 6e4, second: 1e3},
DR = (e, t) => e + (Math.floor(Math.random() * t) + 1),
RR = ({session_name: e, session_id: t}) => ({cookie: e, key: `X-${e}`, value: t}), LR = (e, t) => {
return {
username: t,
heapAccountId: e.account_id,
trackingMetricsId: e.tracking_metrics_id,
displayName: e.displayname,
nickname: e.nickname,
avatar: e.avatar,
privileged: (n = e, AR(n, ["Staff", "QA", "Game Master", "EAC_BYPASS"]))
};
var n
}, jR = ({device_header: e, device_id: t, duration: n}) => {
const r = NR(n);
return {cookie: "_rsi_device", key: e, value: t, duration: n, expires: r ? Date.now() + r : void 0}
}, NR = e => ({
[SR.SESSION]: void 0,
[SR.DAY]: TR.day,
[SR.WEEK]: 7 * TR.day,
[SR.MONTH]: TR.month,
[SR.YEAR]: TR.year
}[e]);
class MR {
constructor(e) {
this.success = void 0, this.message = void 0, this.success = e.success, this.message = e.message || null
}
static success() {
return new MR({success: !0})
}
static fail(e) {
return new MR({success: !1, message: e})
}
}
class FR extends Error {
constructor(e, t) {
super(e), this.result = void 0, Object.defineProperty(this, "name", {
value: "AuthorizationError",
writable: !0
}), Error.captureStackTrace(this, FR), this.result = t
}
}
class zR extends wR {
constructor(e, t) {
super(), this.client = e, this.policy = t
}
async getCaptcha() {
return `data:image/png;base64,${await this.client.callImage({endpoint: this.client.endpoints.SIGN_IN_CAPTCHA})}`
}
async signOut(e) {
try {
return await this.client.call({endpoint: this.client.endpoints.SIGN_OUT})
} finally {
this.client.session = null, e.clearDevice && (this.client.device = null)
}
}
async signIn({username: e, password: t, captcha: n, remember: r, launcherVersion: a}) {
try {
const i = await this.client.call({
endpoint: this.client.endpoints.SIGN_IN,
payload: {username: e, password: t, captcha: n, remember: r, launcherVersion: a}
});
if (i.success) {
await this.verifyPolicy(i.data);
const t = LR(i.data, e), n = RR(i.data);
return this.client.session = n, {identity: t, session: n}
}
throw _R({rsiApiResult: i, environment: this.client.platformEnv})
} catch (i) {
throw i instanceof nR && (this.client.session = RR(i.payload.data)), i instanceof QD && (this.client.session = RR(i.payload.data), this.client.device = jR(i.payload.data)), i instanceof FR && (this.client.session = null, this.client.device = null), i
}
}
async signInMfa({username: e, codeMfa: t, deviceName: n, duration: r}) {
const a = await this.client.call({
endpoint: this.client.endpoints.SIGN_IN_MULTISTEP,
payload: {code: t, device_name: n, duration: r, device_type: "computer"}
});
if (a.success) {
var i, o;
await this.verifyPolicy(a.data);
const t = LR(a.data, e), n = RR(a.data), s = jR({
device_id: null === (i = this.client.device) || void 0 === i ? void 0 : i.value,
device_header: null === (o = this.client.device) || void 0 === o ? void 0 : o.key,
duration: r
});
return this.client.session = n, this.client.device = s, {identity: t, session: n, device: s}
}
throw _R({rsiApiResult: a, environment: this.client.platformEnv})
}
async getSignInSession(e) {
const t = await this.client.call({
platformId: e,
endpoint: this.client.endpoints.SIGN_IN_CLAIMS,
payload: {claims: await this.getAccountClaims()}
});
return RR(t.data)
}
async getAccountClaims() {
return (await this.client.call({endpoint: this.client.endpoints.ACCOUNT_CLAIMS})).data
}
async verifyPolicy(e) {
const {launcherVersion: t} = await window.launcherAPI.game.getGlobalConfig();
if (t.includes("-rc.")) return this.policy.verify("signin:release-candidate", e)
}
}
class VR extends wR {
constructor(e) {
super(), this.client = e
}
async getCommLinks(e, t) {
return (await this.client.call({
endpoint: this.client.endpoints.CONTENT_COMM_LINKS,
payload: {game_id: e, channel_id: t, allow_null_channel: "true"}
})).data.resultset
}
async getPatchNotes(e, t) {
return (await this.client.call({
endpoint: this.client.endpoints.CONTENT_PATCHNOTES,
payload: {game_id: e, channel_id: t, allow_null_channel: "true"}
})).data.resultset
}
async getLauncherCards(e, t) {
return (await this.client.call({
endpoint: this.client.endpoints.CONTENT_LAUNCHER_CARDS,
payload: {game_id: e, channel_id: t, allow_null_channel: "true"}
})).data.resultset
}
async getContent(e, t) {
const [n, r, a] = await Promise.all([this.getCommLinks(e, t), this.getPatchNotes(e, t), this.getLauncherCards(e, t)]);
return {commLinks: n, patchNotes: r, launcherCards: a}
}
}
class UR extends wR {
set gameClaims(e) {
this._gameClaims = e
}
get gameClaims() {
return this._gameClaims
}
constructor(e) {
super(), this.client = e, this.libraryTimeout = 1e4, this._gameClaims = null
}
async getLibrary() {
this.gameClaims || await this.getGameClaims();
const e = (await this.operationWithBasicRetry((async () => await this.client.call({
endpoint: this.client.endpoints.GAMES_LIBRARY,
payload: {claims: this.gameClaims},
options: {signal: AbortSignal.timeout(this.libraryTimeout)}
})), {refreshClaims: async () => await this.getGameClaims()})).data.games.map((e => {
const {id: t, name: n, weight: r, channels: a} = e, i = Object.values(a).map((({
id: e,
name: t,
version: n,
versionLabel: r,
platformId: a,
servicesEndpoint: i,
nid: o,
network: s,
installDir: l,
weight: c
}) => ({
id: e,
name: null !== t && void 0 !== t ? t : e,
version: n,
versionLabel: r,
platformId: a,
servicesEndpoint: i,
nid: o,
network: s,
installDir: l,
status: cD.GameChannelStatus.AVAILABLE,
weight: Number(c || 0)
})));
return {id: t, name: n, weight: Number(r || 0), channels: i}
}));
return e
}
async getRelease({gameId: e, channelId: t}) {
this.gameClaims || await this.getGameClaims();
return (await this.operationWithBasicRetry((async () => await this.client.call({
endpoint: this.client.endpoints.GAMES_RELEASE,
payload: {claims: this.gameClaims, gameId: e, channelId: t}
})), {refreshClaims: async () => await this.getGameClaims()})).data
}
async getGameToken(e, t, n) {
this.gameClaims || await this.getGameClaims();
return (await this.operationWithBasicRetry((async () => await this.client.call({
platformId: e,
endpoint: this.client.endpoints.GAMES_TOKEN,
session: n,
payload: {claims: this.gameClaims, gameId: t}
})), {refreshClaims: async () => await this.getGameClaims()})).data
}
clearClaims() {
this.gameClaims = null
}
async getGameClaims() {
const e = await this.client.call({endpoint: this.client.endpoints.GAMES_CLAIMS});
this.gameClaims = e.data
}
}
class BR extends wR {
constructor(e) {
super(), this.client = e
}
async getAvailableLanguages() {
const e = await this.client.call({endpoint: this.client.endpoints.LANGUAGES});
return Object.values(e.data)
}
}
class GR extends vR {
constructor() {
super(GR.BASE_URL), this._endpoints = void 0, this._endpoints = bR
}
async getStatus() {
return await this.get(this._endpoints.STATUS_PAGE)
}
}
GR.BASE_URL = "status";
class $R {
constructor(...e) {
this.handlers = void 0, this.name = "AnyPermissionEvaluator", this.handlers = (null !== e && void 0 !== e ? e : []).slice()
}
async evaluate(e, t) {
const n = [];
for (const i of this.handlers) {
const r = await i.evaluate(e, t);
n.push({handlerName: i.name, result: r})
}
const r = n.find((e => e.result.success));
if (r) return r.result;
const a = n.map((e => `[${e.handlerName}] ${e.result.message}`)).join("\n");
return MR.fail(`At least one permission evaluator must succeed. Evaluation results:\n${a}`)
}
}
class qR {
constructor() {
this.name = "IsStaffPermissionEvaluator"
}
evaluate(e) {
return e.badges && function (e) {
return PR(e, ["Staff"])
}(e) ? MR.success() : MR.fail()
}
}
class WR {
constructor() {
this.name = "IsQAPermissionEvaluator"
}
evaluate(e) {
return e.badges && function (e) {
return PR(e, ["QA"])
}(e) ? MR.success() : MR.fail()
}
}
class HR {
constructor() {
this.name = "IsEvocatiPermissionEvaluator"
}
evaluate(e) {
return e.badges && function (e) {
return PR(e, ["Evocati Test Flight"])
}(e) ? MR.success() : MR.fail()
}
}
class KR {
constructor(e) {
this.evaluators = new Map;
for (const t of e) this.evaluators.set(t[0], t[1])
}
async evaluate(e, t) {
const n = this.notNullEvaluator(e);
return await n.evaluate(t)
}
async verify(e, t) {
const n = await this.evaluate(e, t);
if (!n.success) throw new FR(`Permission '${e}' verification failed`, n)
}
notNullEvaluator(e) {
const t = this.evaluators.get(e);
if (!t) throw new Error(`No evaluator found for permission named '${e}'`);
return t
}
}
const YR = new class {
constructor() {
this.authentication = void 0, this.content = void 0, this.policy = void 0, this.games = void 0, this.rsi = void 0, this.agreements = void 0, this.status = void 0, this.language = void 0, this.rsi = xR.getInstance(), this.content = new VR(this.rsi), this.policy = function () {
const e = new qR, t = new WR, n = new HR, r = new $R(e, t),
a = new Map([["signin:release-candidate", new $R(r, n)]]);
return new KR(a)
}(), this.authentication = new zR(this.rsi, this.policy), this.games = new UR(this.rsi), this.agreements = new kR(this.rsi), this.status = new GR, this.language = new BR(this.rsi)
}
};
class QR {
constructor(e) {
this.isMuted = void 0, this.gain = void 0, this.gainNode = void 0, this.soundList = void 0, this.trackList = void 0, this.soundMap = void 0, this.trackMap = void 0, this.trackTitleList = void 0, this.soundRoot = void 0, this.currentBgTrack = void 0, this.audioContext = new AudioContext, this.isMuted = !1, this.gain = e.volume / 100, this.soundList = e.sounds, this.trackList = e.musics, this.soundMap = new Map(Object.entries(e.sounds)), this.trackMap = new Map(Object.entries(e.musics)), this.trackTitleList = Object.keys(e.musics), this.currentBgTrack = null, this.gainNode = this.audioContext.createGain(), this.gainNode.connect(this.audioContext.destination), this.gainNode.gain.value = e.volume / 100;
const t = document.getElementById("SoundRoot");
this.soundRoot = document.createElement("div"), this.soundRoot.id = "SoundRoot", this.soundRoot.style.height = "0px", this.soundRoot.style.overflow = "hidden", t ? t.remove() : document.body.appendChild(this.soundRoot)
}
setGain(e) {
return this.gain = e, this.gainNode.gain.value = e / 100, this.gain
}
getGain() {
return this.gain
}
mute() {
this.isMuted || (this.gainNode.gain.value = 0, this.isMuted = !0)
}
unmute() {
this.isMuted && (this.gainNode.gain.value = this.gain, this.isMuted = !1)
}
async playSound(e, t = !1) {
return new Promise(((n, r) => {
if (this.soundMap.has(e)) {
const r = new Audio(this.soundMap.get(e));
r.loop = t, this.soundRoot.appendChild(r);
this.audioContext.createMediaElementSource(r).connect(this.gainNode), r.play(), r.addEventListener("ended", (() => {
r.remove(), n(null)
}))
} else r(new Error(`[SoundSystem] Sound with id "${e}" was not found`))
}))
}
async playBackgroundTrack(e = !1) {
return new Promise(((t, n) => {
let r = this.trackTitleList[Math.floor(Math.random() * this.trackTitleList.length)];
if (this.currentBgTrack && (this.currentBgTrack.audioNode.pause(), this.currentBgTrack.audioNode.remove(), e && (r = this.currentBgTrack.trackTitle)), this.trackMap.has(r)) {
const e = new Audio(this.trackMap.get(r));
this.soundRoot.appendChild(e);
const n = this.audioContext.createMediaElementSource(e), a = this.audioContext.createGain();
a.gain.setValueAtTime(.01, 0), a.gain.linearRampToValueAtTime(1, 5), a.connect(this.gainNode), n.connect(a), this.currentBgTrack = {
trackTitle: r,
audioNode: e,
fadeNode: a
}, e.play(), e.addEventListener("ended", (() => {
e.remove(), this.playBackgroundTrack(), t(null)
}))
} else n(new Error(`[SoundSystem] Track with id "${r}" was not found`))
}))
}
async stopBackgroundTrack() {
this.currentBgTrack && (this.currentBgTrack.audioNode.pause(), this.currentBgTrack.audioNode.remove(), this.currentBgTrack = null)
}
async restartBackgroundTrack() {
this.playBackgroundTrack(!0)
}
}
let ZR;
!function (e) {
e.DISPLAY_WARNING_DIALOG = "displayWarningDialog", e.DISPLAY_ACKNOWLEDGE_DIALOG = "displayAcknowledgeDialog", e.DISPLAY_INLINE_MESSAGE = "displayInlineMessage", e.EXECUTE_CALLBACK = "executeCallback"
}(ZR || (ZR = {}));
const XR = async e => {
const t = uU.getState().dialog, n = Array.isArray(e) ? e : [e];
for (const {handler: r, error: a} of n) {
if (r.skip) return;
switch (r.type) {
case ZR.DISPLAY_WARNING_DIALOG:
return void await t.actions.showWarningDialogErrorOccured(r.args);
case ZR.DISPLAY_ACKNOWLEDGE_DIALOG:
return void await t.actions.showAcknowledgeDialogErrorOccured(r.args);
case ZR.EXECUTE_CALLBACK:
return void await r.args.callback();
default:
console.error("error", a.message)
}
}
}, JR = e => {
switch (e.code) {
case cD.errorsCodes.ERR_LOGOUT_FAILED:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("dialog_warning_logout_title", {ns: "dialog"}),
content: xt.t("dialog_warning_logout_error", {ns: "dialog"})
}
}, error: e
};
case cD.errorsCodes.ERR_DISPLAY_AGREEMENT:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {content: xt.t("agreement_fetch_info_error", {ns: "agreements"})}
}, error: e
};
default:
return {handler: {type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG, args: {}}, error: e}
}
};
var eL = n(1438), tL = n.n(eL);
const nL = e => {
switch (e.phase) {
case cD.InstallerPhases.InitialDownloadProgress:
case cD.InstallerPhases.PatcherUpdateLooseFileProgress:
case cD.InstallerPhases.PatcherUpdateP4kProgress:
case cD.InstallerPhases.PatcherVerificationP4kProgress:
return !0;
default:
return !1
}
}, rL = (e, t) => e.find((e => e.game.gameId === t.gameId && e.game.channelId === t.channelId)),
aL = (e, t) => e.find((e => e.gameId === t.gameId && e.channelId === t.channelId)),
iL = (e, t) => `${e.gameId}-${e.channelId}` === `${t.gameId}-${t.channelId}`, oL = (e, t, n) => {
return n ? cD.GameChannelStatus.UNINSTALLING : t && t.status !== cD.InstallationStatus.COMPLETED ? t.status : null !== (r = null === e || void 0 === e ? void 0 : e.status) && void 0 !== r ? r : cD.GameChannelStatus.AVAILABLE;
var r
}, sL = (e, t) => ({
installer: {
requirementsValidated: !1,
current: void 0,
queue: [],
finished: [],
uninstallations: [],
actions: {
initialize: async () => {
e((e => ({
installer: {
...e.installer,
requirementsValidated: !1,
current: void 0,
queue: [],
finished: [],
uninstallations: []
}
})))
}, setRequirementsValidated: t => {
e((e => ({installer: {...e.installer, requirementsValidated: t}})))
}, setCurrent: t => {
e((e => ({installer: {...e.installer, current: t}})))
}, setQueue: t => {
e((e => ({installer: {...e.installer, queue: t}})))
}, setFinished: t => {
e((e => ({installer: {...e.installer, finished: t}})))
}, setUninstallations: t => {
e((e => ({installer: {...e.installer, uninstallations: t}})))
}
}
}
}), lL = e => ({...e, media: void 0}), cL = e => ({...e, publish_start: void 0, time_created: void 0}),
uL = (e, t) => {
const n = new Date(e.publish_start || 0).getTime();
return new Date(t.publish_start || 0).getTime() - n
}, dL = (e, t) => (e.weight || 0) - (t.weight || 0), pL = (e, t) => e.weight - t.weight, hL = e => ({
...e,
publish_start: e.publish_start ? e.publish_start + " UTC" : void 0,
time_created: e.time_created ? e.time_created + " UTC" : void 0
}), fL = (e, t = "div") => (0, Ee.createElement)(t, {dangerouslySetInnerHTML: {__html: e}}),
mL = (e, t = "short", {showTime: n = !0, ...r} = {}) => {
const a = new Date(e);
switch (t) {
case"short":
case"long":
return new Intl.DateTimeFormat("default", {dateStyle: t, ...r, ...n && {timeStyle: "short"}}).format(a);
case"relative":
return ((e, t = new Date, n = {}) => {
const r = e.getTime() - t.getTime();
for (const [a, i] of Object.entries(TR)) if (Math.abs(r) > i || "second" === a) return new Intl.RelativeTimeFormat("default", {
numeric: "auto",
localeMatcher: "lookup", ...n
}).format(Math.round(r / i), a)
})(a, new Date, r)
}
}, gL = e => {
if ("string" === typeof e || "number" === typeof e) return e.toString();
if (!(0, Ee.isValidElement)(e)) return "";
if ("function" === typeof e.type && e.type.prototype instanceof Ee.Component) {
const t = new e.type(e.props).render();
return gL(t)
}
if ("function" === typeof e.type) {
const t = e.type(e.props);
return gL(t)
}
const {children: t} = e.props;
return Array.isArray(t) ? t.map((e => gL(e))).join("") : gL(t)
}, vL = () => window.launcherAPI, _L = (e, t) => t.find((({id: t}) => t === e)), yL = e => {
let t = e;
return t.includes("\\\\") && (t = t.replace("\\\\", "\\")), t.endsWith("\\") || (t = `${t}\\`), t
};
var bL = n(5982), xL = n.n(bL);
const wL = 2e3, kL = {
[cD.RSISystemStatus.MAJOR]: "negative",
[cD.RSISystemStatus.PARTIAL]: "notice",
[cD.RSISystemStatus.DEGRADED]: "highlight",
[cD.RSISystemStatus.MAINTENANCE]: "neutral",
[cD.RSISystemStatus.OPERATIONAL]: "positive"
}, SL = e => kL[e], EL = window.envVars.reviewAppRootUrl, IL = e => {
var t;
const n = cD.configuration.env, r = uU.getState().application.platformMaster;
return ("reviewapp" === r ? EL : null !== (t = n[r].rootUrl) && void 0 !== t ? t : cD.configuration.rootUrl) + e
}, CL = e => e / 1e3;
var OL = n(4499);
const PL = (0, Ee.createContext)({}), AL = ({children: e}) => {
const {window: {onSetHideWindowSuccessFul: t, onSetShowWindowSuccessFul: n}} = window.launcherAPI,
r = uU.getState().application, [a, i] = (0, Ee.useState)(!1);
return (0, Ee.useEffect)((() => {
const e = t((() => {
i(!0), r.actions.setWindowMinimized(!0)
})), a = n((() => {
i(!1), r.actions.setWindowMinimized(!1)
}));
return () => {
e(), a()
}
}), [r.actions, t, n]), (0, OL.jsx)(PL.Provider, {value: {isMinimized: a}, children: e})
};
function TL() {
return TL = Object.assign ? Object.assign.bind() : function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}, TL.apply(this, arguments)
}
var DL;
!function (e) {
e.Pop = "POP", e.Push = "PUSH", e.Replace = "REPLACE"
}(DL || (DL = {}));
const RL = "popstate";
function LL(e, t) {
if (!1 === e || null === e || "undefined" === typeof e) throw new Error(t)
}
function jL(e, t) {
if (!e) {
"undefined" !== typeof console && console.warn(t);
try {
throw new Error(t)
} catch (n) {
}
}
}
function NL(e, t) {
return {usr: e.state, key: e.key, idx: t}
}
function ML(e, t, n, r) {
return void 0 === n && (n = null), TL({
pathname: "string" === typeof e ? e : e.pathname,
search: "",
hash: ""
}, "string" === typeof t ? zL(t) : t, {
state: n,
key: t && t.key || r || Math.random().toString(36).substr(2, 8)
})
}
function FL(e) {
let {pathname: t = "/", search: n = "", hash: r = ""} = e;
return n && "?" !== n && (t += "?" === n.charAt(0) ? n : "?" + n), r && "#" !== r && (t += "#" === r.charAt(0) ? r : "#" + r), t
}
function zL(e) {
let t = {};
if (e) {
let n = e.indexOf("#");
n >= 0 && (t.hash = e.substr(n), e = e.substr(0, n));
let r = e.indexOf("?");
r >= 0 && (t.search = e.substr(r), e = e.substr(0, r)), e && (t.pathname = e)
}
return t
}
function VL(e, t, n, r) {
void 0 === r && (r = {});
let {window: a = document.defaultView, v5Compat: i = !1} = r, o = a.history, s = DL.Pop, l = null, c = u();
function u() {
return (o.state || {idx: null}).idx
}
function d() {
s = DL.Pop;
let e = u(), t = null == e ? null : e - c;
c = e, l && l({action: s, location: h.location, delta: t})
}
function p(e) {
let t = "null" !== a.location.origin ? a.location.origin : a.location.href,
n = "string" === typeof e ? e : FL(e);
return LL(t, "No window.location.(origin|href) available to create URL for href: " + n), new URL(n, t)
}
null == c && (c = 0, o.replaceState(TL({}, o.state, {idx: c}), ""));
let h = {
get action() {
return s
}, get location() {
return e(a, o)
}, listen(e) {
if (l) throw new Error("A history only accepts one active listener");
return a.addEventListener(RL, d), l = e, () => {
a.removeEventListener(RL, d), l = null
}
}, createHref: e => t(a, e), createURL: p, encodeLocation(e) {
let t = p(e);
return {pathname: t.pathname, search: t.search, hash: t.hash}
}, push: function (e, t) {
s = DL.Push;
let r = ML(h.location, e, t);
n && n(r, e), c = u() + 1;
let d = NL(r, c), p = h.createHref(r);
try {
o.pushState(d, "", p)
} catch (f) {
if (f instanceof DOMException && "DataCloneError" === f.name) throw f;
a.location.assign(p)
}
i && l && l({action: s, location: h.location, delta: 1})
}, replace: function (e, t) {
s = DL.Replace;
let r = ML(h.location, e, t);
n && n(r, e), c = u();
let a = NL(r, c), d = h.createHref(r);
o.replaceState(a, "", d), i && l && l({action: s, location: h.location, delta: 0})
}, go: e => o.go(e)
};
return h
}
var UL;
!function (e) {
e.data = "data", e.deferred = "deferred", e.redirect = "redirect", e.error = "error"
}(UL || (UL = {}));
const BL = new Set(["lazy", "caseSensitive", "path", "id", "index", "children"]);
function GL(e, t, n, r) {
return void 0 === n && (n = []), void 0 === r && (r = {}), e.map(((e, a) => {
let i = [...n, a], o = "string" === typeof e.id ? e.id : i.join("-");
if (LL(!0 !== e.index || !e.children, "Cannot specify children on an index route"), LL(!r[o], 'Found a route id collision on id "' + o + "\". Route id's must be globally unique within Data Router usages"), function (e) {
return !0 === e.index
}(e)) {
let n = TL({}, e, t(e), {id: o});
return r[o] = n, n
}
{
let n = TL({}, e, t(e), {id: o, children: void 0});
return r[o] = n, e.children && (n.children = GL(e.children, t, i, r)), n
}
}))
}
function $L(e, t, n) {
void 0 === n && (n = "/");
let r = ej(("string" === typeof t ? zL(t) : t).pathname || "/", n);
if (null == r) return null;
let a = qL(e);
!function (e) {
e.sort(((e, t) => e.score !== t.score ? t.score - e.score : function (e, t) {
let n = e.length === t.length && e.slice(0, -1).every(((e, n) => e === t[n]));
return n ? e[e.length - 1] - t[t.length - 1] : 0
}(e.routesMeta.map((e => e.childrenIndex)), t.routesMeta.map((e => e.childrenIndex)))))
}(a);
let i = null;
for (let o = 0; null == i && o < a.length; ++o) i = QL(a[o], JL(r));
return i
}
function qL(e, t, n, r) {
void 0 === t && (t = []), void 0 === n && (n = []), void 0 === r && (r = "");
let a = (e, a, i) => {
let o = {
relativePath: void 0 === i ? e.path || "" : i,
caseSensitive: !0 === e.caseSensitive,
childrenIndex: a,
route: e
};
o.relativePath.startsWith("/") && (LL(o.relativePath.startsWith(r), 'Absolute route path "' + o.relativePath + '" nested under path "' + r + '" is not valid. An absolute child route path must start with the combined path of all its parent routes.'), o.relativePath = o.relativePath.slice(r.length));
let s = aj([r, o.relativePath]), l = n.concat(o);
e.children && e.children.length > 0 && (LL(!0 !== e.index, 'Index routes must not have child routes. Please remove all child routes from route path "' + s + '".'), qL(e.children, t, l, s)), (null != e.path || e.index) && t.push({
path: s,
score: YL(s, e.index),
routesMeta: l
})
};
return e.forEach(((e, t) => {
var n;
if ("" !== e.path && null != (n = e.path) && n.includes("?")) for (let r of WL(e.path)) a(e, t, r); else a(e, t)
})), t
}
function WL(e) {
let t = e.split("/");
if (0 === t.length) return [];
let [n, ...r] = t, a = n.endsWith("?"), i = n.replace(/\?$/, "");
if (0 === r.length) return a ? [i, ""] : [i];
let o = WL(r.join("/")), s = [];
return s.push(...o.map((e => "" === e ? i : [i, e].join("/")))), a && s.push(...o), s.map((t => e.startsWith("/") && "" === t ? "/" : t))
}
const HL = /^:\w+$/, KL = e => "*" === e;
function YL(e, t) {
let n = e.split("/"), r = n.length;
return n.some(KL) && (r += -2), t && (r += 2), n.filter((e => !KL(e))).reduce(((e, t) => e + (HL.test(t) ? 3 : "" === t ? 1 : 10)), r)
}
function QL(e, t) {
let {routesMeta: n} = e, r = {}, a = "/", i = [];
for (let o = 0; o < n.length; ++o) {
let e = n[o], s = o === n.length - 1, l = "/" === a ? t : t.slice(a.length) || "/",
c = XL({path: e.relativePath, caseSensitive: e.caseSensitive, end: s}, l);
if (!c) return null;
Object.assign(r, c.params);
let u = e.route;
i.push({
params: r,
pathname: aj([a, c.pathname]),
pathnameBase: ij(aj([a, c.pathnameBase])),
route: u
}), "/" !== c.pathnameBase && (a = aj([a, c.pathnameBase]))
}
return i
}
function ZL(e, t) {
void 0 === t && (t = {});
let n = e;
n.endsWith("*") && "*" !== n && !n.endsWith("/*") && (jL(!1, 'Route path "' + n + '" will be treated as if it were "' + n.replace(/\*$/, "/*") + '" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "' + n.replace(/\*$/, "/*") + '".'), n = n.replace(/\*$/, "/*"));
const r = n.startsWith("/") ? "/" : "", a = e => null == e ? "" : "string" === typeof e ? e : String(e);
return r + n.split(/\/+/).map(((e, n, r) => {
if (n === r.length - 1 && "*" === e) {
return a(t["*"])
}
const i = e.match(/^:(\w+)(\??)$/);
if (i) {
const [, e, n] = i;
let r = t[e];
return LL("?" === n || null != r, 'Missing ":' + e + '" param'), a(r)
}
return e.replace(/\?$/g, "")
})).filter((e => !!e)).join("/")
}
function XL(e, t) {
"string" === typeof e && (e = {path: e, caseSensitive: !1, end: !0});
let [n, r] = function (e, t, n) {
void 0 === t && (t = !1);
void 0 === n && (n = !0);
jL("*" === e || !e.endsWith("*") || e.endsWith("/*"), 'Route path "' + e + '" will be treated as if it were "' + e.replace(/\*$/, "/*") + '" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "' + e.replace(/\*$/, "/*") + '".');
let r = [],
a = "^" + e.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(/\/:(\w+)(\?)?/g, ((e, t, n) => (r.push({
paramName: t,
isOptional: null != n
}), n ? "/?([^\\/]+)?" : "/([^\\/]+)")));
e.endsWith("*") ? (r.push({paramName: "*"}), a += "*" === e || "/*" === e ? "(.*)$" : "(?:\\/(.+)|\\/*)$") : n ? a += "\\/*$" : "" !== e && "/" !== e && (a += "(?:(?=\\/|$))");
let i = new RegExp(a, t ? void 0 : "i");
return [i, r]
}(e.path, e.caseSensitive, e.end), a = t.match(n);
if (!a) return null;
let i = a[0], o = i.replace(/(.)\/+$/, "$1"), s = a.slice(1);
return {
params: r.reduce(((e, t, n) => {
let {paramName: r, isOptional: a} = t;
if ("*" === r) {
let e = s[n] || "";
o = i.slice(0, i.length - e.length).replace(/(.)\/+$/, "$1")
}
const l = s[n];
return e[r] = a && !l ? void 0 : function (e, t) {
try {
return decodeURIComponent(e)
} catch (n) {
return jL(!1, 'The value for the URL param "' + t + '" will not be decoded because the string "' + e + '" is a malformed URL segment. This is probably due to a bad percent encoding (' + n + ")."), e
}
}(l || "", r), e
}), {}), pathname: i, pathnameBase: o, pattern: e
}
}
function JL(e) {
try {
return decodeURI(e)
} catch (t) {
return jL(!1, 'The URL path "' + e + '" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (' + t + ")."), e
}
}
function ej(e, t) {
if ("/" === t) return e;
if (!e.toLowerCase().startsWith(t.toLowerCase())) return null;
let n = t.endsWith("/") ? t.length - 1 : t.length, r = e.charAt(n);
return r && "/" !== r ? null : e.slice(n) || "/"
}
function tj(e, t, n, r) {
return "Cannot include a '" + e + "' character in a manually specified `to." + t + "` field [" + JSON.stringify(r) + "]. Please separate it out to the `to." + n + '` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'
}
function nj(e) {
return e.filter(((e, t) => 0 === t || e.route.path && e.route.path.length > 0))
}
function rj(e, t, n, r) {
let a;
void 0 === r && (r = !1), "string" === typeof e ? a = zL(e) : (a = TL({}, e), LL(!a.pathname || !a.pathname.includes("?"), tj("?", "pathname", "search", a)), LL(!a.pathname || !a.pathname.includes("#"), tj("#", "pathname", "hash", a)), LL(!a.search || !a.search.includes("#"), tj("#", "search", "hash", a)));
let i, o = "" === e || "" === a.pathname, s = o ? "/" : a.pathname;
if (null == s) i = n; else if (r) {
let e = t[t.length - 1].replace(/^\//, "").split("/");
if (s.startsWith("..")) {
let t = s.split("/");
for (; ".." === t[0];) t.shift(), e.pop();
a.pathname = t.join("/")
}
i = "/" + e.join("/")
} else {
let e = t.length - 1;
if (s.startsWith("..")) {
let t = s.split("/");
for (; ".." === t[0];) t.shift(), e -= 1;
a.pathname = t.join("/")
}
i = e >= 0 ? t[e] : "/"
}
let l = function (e, t) {
void 0 === t && (t = "/");
let {pathname: n, search: r = "", hash: a = ""} = "string" === typeof e ? zL(e) : e,
i = n ? n.startsWith("/") ? n : function (e, t) {
let n = t.replace(/\/+$/, "").split("/");
return e.split("/").forEach((e => {
".." === e ? n.length > 1 && n.pop() : "." !== e && n.push(e)
})), n.length > 1 ? n.join("/") : "/"
}(n, t) : t;
return {pathname: i, search: oj(r), hash: sj(a)}
}(a, i), c = s && "/" !== s && s.endsWith("/"), u = (o || "." === s) && n.endsWith("/");
return l.pathname.endsWith("/") || !c && !u || (l.pathname += "/"), l
}
const aj = e => e.join("/").replace(/\/\/+/g, "/"), ij = e => e.replace(/\/+$/, "").replace(/^\/*/, "/"),
oj = e => e && "?" !== e ? e.startsWith("?") ? e : "?" + e : "",
sj = e => e && "#" !== e ? e.startsWith("#") ? e : "#" + e : "";
class lj extends Error {
}
const cj = function (e, t) {
void 0 === t && (t = 302);
let n = t;
"number" === typeof n ? n = {status: n} : "undefined" === typeof n.status && (n.status = 302);
let r = new Headers(n.headers);
return r.set("Location", e), new Response(null, TL({}, n, {headers: r}))
};
class uj {
constructor(e, t, n, r) {
void 0 === r && (r = !1), this.status = e, this.statusText = t || "", this.internal = r, n instanceof Error ? (this.data = n.toString(), this.error = n) : this.data = n
}
}
function dj(e) {
return null != e && "number" === typeof e.status && "string" === typeof e.statusText && "boolean" === typeof e.internal && "data" in e
}
const pj = ["post", "put", "patch", "delete"], hj = new Set(pj), fj = ["get", ...pj], mj = new Set(fj),
gj = new Set([301, 302, 303, 307, 308]), vj = new Set([307, 308]), _j = {
state: "idle",
location: void 0,
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0
}, yj = {
state: "idle",
data: void 0,
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0
}, bj = {state: "unblocked", proceed: void 0, reset: void 0, location: void 0},
xj = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, wj = e => ({hasErrorBoundary: Boolean(e.hasErrorBoundary)}),
kj = "remix-router-transitions";
function Sj(e) {
const t = e.window ? e.window : "undefined" !== typeof window ? window : void 0,
n = "undefined" !== typeof t && "undefined" !== typeof t.document && "undefined" !== typeof t.document.createElement,
r = !n;
let a;
if (LL(e.routes.length > 0, "You must provide a non-empty routes array to createRouter"), e.mapRouteProperties) a = e.mapRouteProperties; else if (e.detectErrorBoundary) {
let t = e.detectErrorBoundary;
a = e => ({hasErrorBoundary: t(e)})
} else a = wj;
let i, o = {}, s = GL(e.routes, a, void 0, o), l = e.basename || "/",
c = TL({v7_fetcherPersist: !1, v7_normalizeFormMethod: !1, v7_prependBasename: !1}, e.future), u = null,
d = new Set, p = null, h = null, f = null, m = null != e.hydrationData,
g = $L(s, e.history.location, l), v = null;
if (null == g) {
let t = Uj(404, {pathname: e.history.location.pathname}), {matches: n, route: r} = Vj(s);
g = n, v = {[r.id]: t}
}
let _, y, b = !g.some((e => e.route.lazy)) && (!g.some((e => e.route.loader)) || null != e.hydrationData),
x = {
historyAction: e.history.action,
location: e.history.location,
matches: g,
initialized: b,
navigation: _j,
restoreScrollPosition: null == e.hydrationData && null,
preventScrollReset: !1,
revalidation: "idle",
loaderData: e.hydrationData && e.hydrationData.loaderData || {},
actionData: e.hydrationData && e.hydrationData.actionData || null,
errors: e.hydrationData && e.hydrationData.errors || v,
fetchers: new Map,
blockers: new Map
}, w = DL.Pop, k = !1, S = !1, E = new Map, I = null, C = !1, O = !1, P = [], A = [], T = new Map,
D = 0, R = -1, L = new Map, j = new Set, N = new Map, M = new Map, F = new Set, z = new Map,
V = new Map, U = !1;
function B(e, t) {
void 0 === t && (t = {}), x = TL({}, x, e);
let n = [], r = [];
c.v7_fetcherPersist && x.fetchers.forEach(((e, t) => {
"idle" === e.state && (F.has(t) ? r.push(t) : n.push(t))
})), [...d].forEach((e => e(x, {
deletedFetchers: r,
unstable_viewTransitionOpts: t.viewTransitionOpts,
unstable_flushSync: !0 === t.flushSync
}))), c.v7_fetcherPersist && (n.forEach((e => x.fetchers.delete(e))), r.forEach((e => Z(e))))
}
function G(t, n, r) {
var a, o;
let l, {flushSync: c} = void 0 === r ? {} : r,
u = null != x.actionData && null != x.navigation.formMethod && Yj(x.navigation.formMethod) && "loading" === x.navigation.state && !0 !== (null == (a = t.state) ? void 0 : a._isRedirect);
l = n.actionData ? Object.keys(n.actionData).length > 0 ? n.actionData : null : u ? x.actionData : null;
let d = n.loaderData ? Fj(x.loaderData, n.loaderData, n.matches || [], n.errors) : x.loaderData,
p = x.blockers;
p.size > 0 && (p = new Map(p), p.forEach(((e, t) => p.set(t, bj))));
let h,
f = !0 === k || null != x.navigation.formMethod && Yj(x.navigation.formMethod) && !0 !== (null == (o = t.state) ? void 0 : o._isRedirect);
if (i && (s = i, i = void 0), C || w === DL.Pop || (w === DL.Push ? e.history.push(t, t.state) : w === DL.Replace && e.history.replace(t, t.state)), w === DL.Pop) {
let e = E.get(x.location.pathname);
e && e.has(t.pathname) ? h = {
currentLocation: x.location,
nextLocation: t
} : E.has(t.pathname) && (h = {currentLocation: t, nextLocation: x.location})
} else if (S) {
let e = E.get(x.location.pathname);
e ? e.add(t.pathname) : (e = new Set([t.pathname]), E.set(x.location.pathname, e)), h = {
currentLocation: x.location,
nextLocation: t
}
}
B(TL({}, n, {
actionData: l,
loaderData: d,
historyAction: w,
location: t,
initialized: !0,
navigation: _j,
revalidation: "idle",
restoreScrollPosition: se(t, n.matches || x.matches),
preventScrollReset: f,
blockers: p
}), {
viewTransitionOpts: h,
flushSync: !0 === c
}), w = DL.Pop, k = !1, S = !1, C = !1, O = !1, P = [], A = []
}
async function $(t, n, r) {
y && y.abort(), y = null, w = t, C = !0 === (r && r.startUninterruptedRevalidation), function (e, t) {
if (p && f) {
let n = oe(e, t);
p[n] = f()
}
}(x.location, x.matches), k = !0 === (r && r.preventScrollReset), S = !0 === (r && r.enableViewTransition);
let c = i || s, u = r && r.overrideNavigation, d = $L(c, n, l), h = !0 === (r && r.flushSync);
if (!d) {
let e = Uj(404, {pathname: n.pathname}), {matches: t, route: r} = Vj(c);
return ie(), void G(n, {matches: t, loaderData: {}, errors: {[r.id]: e}}, {flushSync: h})
}
if (x.initialized && !O && function (e, t) {
if (e.pathname !== t.pathname || e.search !== t.search) return !1;
if ("" === e.hash) return "" !== t.hash;
if (e.hash === t.hash) return !0;
if ("" !== t.hash) return !0;
return !1
}(x.location, n) && !(r && r.submission && Yj(r.submission.formMethod))) return void G(n, {matches: d}, {flushSync: h});
y = new AbortController;
let m, g, v = Rj(e.history, n, y.signal, r && r.submission);
if (r && r.pendingError) g = {[zj(d).route.id]: r.pendingError}; else if (r && r.submission && Yj(r.submission.formMethod)) {
let e = await async function (e, t, n, r, i) {
void 0 === i && (i = {});
H();
let s, c = function (e, t) {
let n = {
state: "submitting",
location: e,
formMethod: t.formMethod,
formAction: t.formAction,
formEncType: t.formEncType,
formData: t.formData,
json: t.json,
text: t.text
};
return n
}(t, n);
B({navigation: c}, {flushSync: !0 === i.flushSync});
let u = Jj(r, t);
if (u.route.action || u.route.lazy) {
if (s = await Dj("action", e, u, r, o, a, l), e.signal.aborted) return {shortCircuited: !0}
} else s = {
type: UL.error,
error: Uj(405, {method: e.method, pathname: t.pathname, routeId: u.route.id})
};
if (Wj(s)) {
let e;
return e = i && null != i.replace ? i.replace : s.location === x.location.pathname + x.location.search, await q(x, s, {
submission: n,
replace: e
}), {shortCircuited: !0}
}
if (qj(s)) {
let e = zj(r, u.route.id);
return !0 !== (i && i.replace) && (w = DL.Push), {
pendingActionData: {},
pendingActionError: {[e.route.id]: s.error}
}
}
if ($j(s)) throw Uj(400, {type: "defer-action"});
return {pendingActionData: {[u.route.id]: s.data}}
}(v, n, r.submission, d, {replace: r.replace, flushSync: h});
if (e.shortCircuited) return;
m = e.pendingActionData, g = e.pendingActionError, u = tN(n, r.submission), h = !1, v = new Request(v.url, {signal: v.signal})
}
let {
shortCircuited: _,
loaderData: b,
errors: E
} = await async function (t, n, r, a, o, c, u, d, p, h) {
let f = a || tN(n, o), m = o || c || eN(f),
g = i || s, [v, _] = Oj(e.history, x, r, m, n, O, P, A, F, N, j, g, l, p, h);
if (ie((e => !(r && r.some((t => t.route.id === e))) || v && v.some((t => t.route.id === e)))), R = ++D, 0 === v.length && 0 === _.length) {
let e = ee();
return G(n, TL({
matches: r,
loaderData: {},
errors: h || null
}, p ? {actionData: p} : {}, e ? {fetchers: new Map(x.fetchers)} : {}), {flushSync: d}), {shortCircuited: !0}
}
if (!C) {
_.forEach((e => {
let t = x.fetchers.get(e.key), n = nN(void 0, t ? t.data : void 0);
x.fetchers.set(e.key, n)
}));
let e = p || x.actionData;
B(TL({navigation: f}, e ? 0 === Object.keys(e).length ? {actionData: null} : {actionData: e} : {}, _.length > 0 ? {fetchers: new Map(x.fetchers)} : {}), {flushSync: d})
}
_.forEach((e => {
T.has(e.key) && X(e.key), e.controller && T.set(e.key, e.controller)
}));
let b = () => _.forEach((e => X(e.key)));
y && y.signal.addEventListener("abort", b);
let {results: w, loaderResults: k, fetcherResults: S} = await W(x.matches, r, v, _, t);
if (t.signal.aborted) return {shortCircuited: !0};
y && y.signal.removeEventListener("abort", b);
_.forEach((e => T.delete(e.key)));
let E = Bj(w);
if (E) {
if (E.idx >= v.length) {
let e = _[E.idx - v.length].key;
j.add(e)
}
return await q(x, E.result, {replace: u}), {shortCircuited: !0}
}
let {loaderData: I, errors: L} = Mj(x, r, v, k, h, _, S, z);
z.forEach(((e, t) => {
e.subscribe((n => {
(n || e.done) && z.delete(t)
}))
}));
let M = ee(), V = te(R), U = M || V || _.length > 0;
return TL({loaderData: I, errors: L}, U ? {fetchers: new Map(x.fetchers)} : {})
}(v, n, d, u, r && r.submission, r && r.fetcherSubmission, r && r.replace, h, m, g);
_ || (y = null, G(n, TL({matches: d}, m ? {actionData: m} : {}, {loaderData: b, errors: E})))
}
async function q(r, a, i) {
let {submission: o, fetcherSubmission: s, replace: c} = void 0 === i ? {} : i;
a.revalidate && (O = !0);
let u = ML(r.location, a.location, {_isRedirect: !0});
if (LL(u, "Expected a location on the redirect navigation"), n) {
let n = !1;
if (a.reloadDocument) n = !0; else if (xj.test(a.location)) {
const r = e.history.createURL(a.location);
n = r.origin !== t.location.origin || null == ej(r.pathname, l)
}
if (n) return void (c ? t.location.replace(a.location) : t.location.assign(a.location))
}
y = null;
let d = !0 === c ? DL.Replace : DL.Push, {formMethod: p, formAction: h, formEncType: f} = r.navigation;
!o && !s && p && h && f && (o = eN(r.navigation));
let m = o || s;
if (vj.has(a.status) && m && Yj(m.formMethod)) await $(d, u, {
submission: TL({}, m, {formAction: a.location}),
preventScrollReset: k
}); else {
let e = tN(u, o);
await $(d, u, {overrideNavigation: e, fetcherSubmission: s, preventScrollReset: k})
}
}
async function W(t, n, r, i, s) {
let c = await Promise.all([...r.map((e => Dj("loader", s, e, n, o, a, l))), ...i.map((t => {
if (t.matches && t.match && t.controller) return Dj("loader", Rj(e.history, t.path, t.controller.signal), t.match, t.matches, o, a, l);
return {type: UL.error, error: Uj(404, {pathname: t.path})}
}))]), u = c.slice(0, r.length), d = c.slice(r.length);
return await Promise.all([Qj(t, r, u, u.map((() => s.signal)), !1, x.loaderData), Qj(t, i.map((e => e.match)), d, i.map((e => e.controller ? e.controller.signal : null)), !0)]), {
results: c,
loaderResults: u,
fetcherResults: d
}
}
function H() {
O = !0, P.push(...ie()), N.forEach(((e, t) => {
T.has(t) && (A.push(t), X(t))
}))
}
function K(e, t, n) {
void 0 === n && (n = {}), x.fetchers.set(e, t), B({fetchers: new Map(x.fetchers)}, {flushSync: !0 === (n && n.flushSync)})
}
function Y(e, t, n, r) {
void 0 === r && (r = {});
let a = zj(x.matches, t);
Z(e), B({
errors: {[a.route.id]: n},
fetchers: new Map(x.fetchers)
}, {flushSync: !0 === (r && r.flushSync)})
}
function Q(e) {
return c.v7_fetcherPersist && (M.set(e, (M.get(e) || 0) + 1), F.has(e) && F.delete(e)), x.fetchers.get(e) || yj
}
function Z(e) {
let t = x.fetchers.get(e);
!T.has(e) || t && "loading" === t.state && L.has(e) || X(e), N.delete(e), L.delete(e), j.delete(e), F.delete(e), x.fetchers.delete(e)
}
function X(e) {
let t = T.get(e);
LL(t, "Expected fetch controller: " + e), t.abort(), T.delete(e)
}
function J(e) {
for (let t of e) {
let e = rN(Q(t).data);
x.fetchers.set(t, e)
}
}
function ee() {
let e = [], t = !1;
for (let n of j) {
let r = x.fetchers.get(n);
LL(r, "Expected fetcher: " + n), "loading" === r.state && (j.delete(n), e.push(n), t = !0)
}
return J(e), t
}
function te(e) {
let t = [];
for (let [n, r] of L) if (r < e) {
let e = x.fetchers.get(n);
LL(e, "Expected fetcher: " + n), "loading" === e.state && (X(n), L.delete(n), t.push(n))
}
return J(t), t.length > 0
}
function ne(e) {
x.blockers.delete(e), V.delete(e)
}
function re(e, t) {
let n = x.blockers.get(e) || bj;
LL("unblocked" === n.state && "blocked" === t.state || "blocked" === n.state && "blocked" === t.state || "blocked" === n.state && "proceeding" === t.state || "blocked" === n.state && "unblocked" === t.state || "proceeding" === n.state && "unblocked" === t.state, "Invalid blocker state transition: " + n.state + " -> " + t.state);
let r = new Map(x.blockers);
r.set(e, t), B({blockers: r})
}
function ae(e) {
let {currentLocation: t, nextLocation: n, historyAction: r} = e;
if (0 === V.size) return;
V.size > 1 && jL(!1, "A router only supports one blocker at a time");
let a = Array.from(V.entries()), [i, o] = a[a.length - 1], s = x.blockers.get(i);
return s && "proceeding" === s.state ? void 0 : o({
currentLocation: t,
nextLocation: n,
historyAction: r
}) ? i : void 0
}
function ie(e) {
let t = [];
return z.forEach(((n, r) => {
e && !e(r) || (n.cancel(), t.push(r), z.delete(r))
})), t
}
function oe(e, t) {
if (h) {
let n = h(e, t.map((e => function (e, t) {
let {route: n, pathname: r, params: a} = e;
return {id: n.id, pathname: r, params: a, data: t[n.id], handle: n.handle}
}(e, x.loaderData))));
return n || e.key
}
return e.key
}
function se(e, t) {
if (p) {
let n = oe(e, t), r = p[n];
if ("number" === typeof r) return r
}
return null
}
return _ = {
get basename() {
return l
},
get state() {
return x
},
get routes() {
return s
},
get window() {
return t
},
initialize: function () {
if (u = e.history.listen((t => {
let {action: n, location: r, delta: a} = t;
if (U) return void (U = !1);
jL(0 === V.size || null != a, "You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");
let i = ae({currentLocation: x.location, nextLocation: r, historyAction: n});
return i && null != a ? (U = !0, e.history.go(-1 * a), void re(i, {
state: "blocked",
location: r,
proceed() {
re(i, {
state: "proceeding",
proceed: void 0,
reset: void 0,
location: r
}), e.history.go(a)
},
reset() {
let e = new Map(x.blockers);
e.set(i, bj), B({blockers: e})
}
})) : $(n, r)
})), n) {
!function (e, t) {
try {
let n = e.sessionStorage.getItem(kj);
if (n) {
let e = JSON.parse(n);
for (let [n, r] of Object.entries(e || {})) r && Array.isArray(r) && t.set(n, new Set(r || []))
}
} catch (n) {
}
}(t, E);
let e = () => function (e, t) {
if (t.size > 0) {
let r = {};
for (let [e, n] of t) r[e] = [...n];
try {
e.sessionStorage.setItem(kj, JSON.stringify(r))
} catch (n) {
jL(!1, "Failed to save applied view transitions in sessionStorage (" + n + ").")
}
}
}(t, E);
t.addEventListener("pagehide", e), I = () => t.removeEventListener("pagehide", e)
}
return x.initialized || $(DL.Pop, x.location), _
},
subscribe: function (e) {
return d.add(e), () => d.delete(e)
},
enableScrollRestoration: function (e, t, n) {
if (p = e, f = t, h = n || null, !m && x.navigation === _j) {
m = !0;
let e = se(x.location, x.matches);
null != e && B({restoreScrollPosition: e})
}
return () => {
p = null, f = null, h = null
}
},
navigate: async function t(n, r) {
if ("number" === typeof n) return void e.history.go(n);
let a = Ej(x.location, x.matches, l, c.v7_prependBasename, n, null == r ? void 0 : r.fromRouteId, null == r ? void 0 : r.relative), {
path: i,
submission: o,
error: s
} = Ij(c.v7_normalizeFormMethod, !1, a, r), u = x.location, d = ML(x.location, i, r && r.state);
d = TL({}, d, e.history.encodeLocation(d));
let p = r && null != r.replace ? r.replace : void 0, h = DL.Push;
!0 === p ? h = DL.Replace : !1 === p || null != o && Yj(o.formMethod) && o.formAction === x.location.pathname + x.location.search && (h = DL.Replace);
let f = r && "preventScrollReset" in r ? !0 === r.preventScrollReset : void 0,
m = !0 === (r && r.unstable_flushSync),
g = ae({currentLocation: u, nextLocation: d, historyAction: h});
if (!g) return await $(h, d, {
submission: o,
pendingError: s,
preventScrollReset: f,
replace: r && r.replace,
enableViewTransition: r && r.unstable_viewTransition,
flushSync: m
});
re(g, {
state: "blocked", location: d, proceed() {
re(g, {state: "proceeding", proceed: void 0, reset: void 0, location: d}), t(n, r)
}, reset() {
let e = new Map(x.blockers);
e.set(g, bj), B({blockers: e})
}
})
},
fetch: function (t, n, u, d) {
if (r) throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");
T.has(t) && X(t);
let p = !0 === (d && d.unstable_flushSync), h = i || s,
f = Ej(x.location, x.matches, l, c.v7_prependBasename, u, n, null == d ? void 0 : d.relative),
m = $L(h, f, l);
if (!m) return void Y(t, n, Uj(404, {pathname: f}), {flushSync: p});
let {path: g, submission: v, error: _} = Ij(c.v7_normalizeFormMethod, !0, f, d);
if (_) return void Y(t, n, _, {flushSync: p});
let b = Jj(m, g);
k = !0 === (d && d.preventScrollReset), v && Yj(v.formMethod) ? async function (t, n, r, c, u, d, p) {
if (H(), N.delete(t), !c.route.action && !c.route.lazy) {
let e = Uj(405, {method: p.formMethod, pathname: r, routeId: n});
return void Y(t, n, e, {flushSync: d})
}
let h = x.fetchers.get(t);
K(t, function (e, t) {
let n = {
state: "submitting",
formMethod: e.formMethod,
formAction: e.formAction,
formEncType: e.formEncType,
formData: e.formData,
json: e.json,
text: e.text,
data: t ? t.data : void 0
};
return n
}(p, h), {flushSync: d});
let f = new AbortController, m = Rj(e.history, r, f.signal, p);
T.set(t, f);
let g = D, v = await Dj("action", m, c, u, o, a, l);
if (m.signal.aborted) return void (T.get(t) === f && T.delete(t));
if (F.has(t)) return void K(t, rN(void 0));
if (Wj(v)) return T.delete(t), R > g ? void K(t, rN(void 0)) : (j.add(t), K(t, nN(p)), q(x, v, {fetcherSubmission: p}));
if (qj(v)) return void Y(t, n, v.error);
if ($j(v)) throw Uj(400, {type: "defer-action"});
let _ = x.navigation.location || x.location, b = Rj(e.history, _, f.signal), k = i || s,
S = "idle" !== x.navigation.state ? $L(k, x.navigation.location, l) : x.matches;
LL(S, "Didn't find any matches after fetcher action");
let E = ++D;
L.set(t, E);
let I = nN(p, v.data);
x.fetchers.set(t, I);
let [C, M] = Oj(e.history, x, S, p, _, O, P, A, F, N, j, k, l, {[c.route.id]: v.data}, void 0);
M.filter((e => e.key !== t)).forEach((e => {
let t = e.key, n = x.fetchers.get(t), r = nN(void 0, n ? n.data : void 0);
x.fetchers.set(t, r), T.has(t) && X(t), e.controller && T.set(t, e.controller)
})), B({fetchers: new Map(x.fetchers)});
let V = () => M.forEach((e => X(e.key)));
f.signal.addEventListener("abort", V);
let {results: U, loaderResults: $, fetcherResults: Q} = await W(x.matches, S, C, M, b);
if (f.signal.aborted) return;
f.signal.removeEventListener("abort", V), L.delete(t), T.delete(t), M.forEach((e => T.delete(e.key)));
let Z = Bj(U);
if (Z) {
if (Z.idx >= C.length) {
let e = M[Z.idx - C.length].key;
j.add(e)
}
return q(x, Z.result)
}
let {loaderData: J, errors: ee} = Mj(x, x.matches, C, $, void 0, M, Q, z);
if (x.fetchers.has(t)) {
let e = rN(v.data);
x.fetchers.set(t, e)
}
te(E), "loading" === x.navigation.state && E > R ? (LL(w, "Expected pending action"), y && y.abort(), G(x.navigation.location, {
matches: S,
loaderData: J,
errors: ee,
fetchers: new Map(x.fetchers)
})) : (B({
errors: ee,
loaderData: Fj(x.loaderData, J, S, ee),
fetchers: new Map(x.fetchers)
}), O = !1)
}(t, n, g, b, m, p, v) : (N.set(t, {routeId: n, path: g}), async function (t, n, r, i, s, c, u) {
let d = x.fetchers.get(t);
K(t, nN(u, d ? d.data : void 0), {flushSync: c});
let p = new AbortController, h = Rj(e.history, r, p.signal);
T.set(t, p);
let f = D, m = await Dj("loader", h, i, s, o, a, l);
$j(m) && (m = await Zj(m, h.signal, !0) || m);
T.get(t) === p && T.delete(t);
if (h.signal.aborted) return;
if (F.has(t)) return void K(t, rN(void 0));
if (Wj(m)) return R > f ? void K(t, rN(void 0)) : (j.add(t), void await q(x, m));
if (qj(m)) return void Y(t, n, m.error);
LL(!$j(m), "Unhandled fetcher deferred data"), K(t, rN(m.data))
}(t, n, g, b, m, p, v))
},
revalidate: function () {
H(), B({revalidation: "loading"}), "submitting" !== x.navigation.state && ("idle" !== x.navigation.state ? $(w || x.historyAction, x.navigation.location, {overrideNavigation: x.navigation}) : $(x.historyAction, x.location, {startUninterruptedRevalidation: !0}))
},
createHref: t => e.history.createHref(t),
encodeLocation: t => e.history.encodeLocation(t),
getFetcher: Q,
deleteFetcher: function (e) {
if (c.v7_fetcherPersist) {
let t = (M.get(e) || 0) - 1;
t <= 0 ? (M.delete(e), F.add(e)) : M.set(e, t)
} else Z(e);
B({fetchers: new Map(x.fetchers)})
},
dispose: function () {
u && u(), I && I(), d.clear(), y && y.abort(), x.fetchers.forEach(((e, t) => Z(t))), x.blockers.forEach(((e, t) => ne(t)))
},
getBlocker: function (e, t) {
let n = x.blockers.get(e) || bj;
return V.get(e) !== t && V.set(e, t), n
},
deleteBlocker: ne,
_internalFetchControllers: T,
_internalActiveDeferreds: z,
_internalSetRoutes: function (e) {
o = {}, i = GL(e, a, void 0, o)
}
}, _
}
Symbol("deferred");
function Ej(e, t, n, r, a, i, o) {
let s, l;
if (i) {
s = [];
for (let e of t) if (s.push(e), e.route.id === i) {
l = e;
break
}
} else s = t, l = t[t.length - 1];
let c = rj(a || ".", nj(s).map((e => e.pathnameBase)), ej(e.pathname, n) || e.pathname, "path" === o);
return null == a && (c.search = e.search, c.hash = e.hash), null != a && "" !== a && "." !== a || !l || !l.route.index || Xj(c.search) || (c.search = c.search ? c.search.replace(/^\?/, "?index&") : "?index"), r && "/" !== n && (c.pathname = "/" === c.pathname ? n : aj([n, c.pathname])), FL(c)
}
function Ij(e, t, n, r) {
if (!r || !function (e) {
return null != e && ("formData" in e && null != e.formData || "body" in e && void 0 !== e.body)
}(r)) return {path: n};
if (r.formMethod && !Kj(r.formMethod)) return {path: n, error: Uj(405, {method: r.formMethod})};
let a, i, o = () => ({path: n, error: Uj(400, {type: "invalid-body"})}), s = r.formMethod || "get",
l = e ? s.toUpperCase() : s.toLowerCase(), c = Gj(n);
if (void 0 !== r.body) {
if ("text/plain" === r.formEncType) {
if (!Yj(l)) return o();
let e = "string" === typeof r.body ? r.body : r.body instanceof FormData || r.body instanceof URLSearchParams ? Array.from(r.body.entries()).reduce(((e, t) => {
let [n, r] = t;
return "" + e + n + "=" + r + "\n"
}), "") : String(r.body);
return {
path: n,
submission: {
formMethod: l,
formAction: c,
formEncType: r.formEncType,
formData: void 0,
json: void 0,
text: e
}
}
}
if ("application/json" === r.formEncType) {
if (!Yj(l)) return o();
try {
let e = "string" === typeof r.body ? JSON.parse(r.body) : r.body;
return {
path: n,
submission: {
formMethod: l,
formAction: c,
formEncType: r.formEncType,
formData: void 0,
json: e,
text: void 0
}
}
} catch (p) {
return o()
}
}
}
if (LL("function" === typeof FormData, "FormData is not available in this environment"), r.formData) a = Lj(r.formData), i = r.formData; else if (r.body instanceof FormData) a = Lj(r.body), i = r.body; else if (r.body instanceof URLSearchParams) a = r.body, i = jj(a); else if (null == r.body) a = new URLSearchParams, i = new FormData; else try {
a = new URLSearchParams(r.body), i = jj(a)
} catch (p) {
return o()
}
let u = {
formMethod: l,
formAction: c,
formEncType: r && r.formEncType || "application/x-www-form-urlencoded",
formData: i,
json: void 0,
text: void 0
};
if (Yj(u.formMethod)) return {path: n, submission: u};
let d = zL(n);
return t && d.search && Xj(d.search) && a.append("index", ""), d.search = "?" + a, {
path: FL(d),
submission: u
}
}
function Cj(e, t) {
let n = e;
if (t) {
let r = e.findIndex((e => e.route.id === t));
r >= 0 && (n = e.slice(0, r))
}
return n
}
function Oj(e, t, n, r, a, i, o, s, l, c, u, d, p, h, f) {
let m = f ? Object.values(f)[0] : h ? Object.values(h)[0] : void 0, g = e.createURL(t.location),
v = e.createURL(a), _ = f ? Object.keys(f)[0] : void 0, y = Cj(n, _).filter(((e, n) => {
if (e.route.lazy) return !0;
if (null == e.route.loader) return !1;
if (function (e, t, n) {
let r = !t || n.route.id !== t.route.id, a = void 0 === e[n.route.id];
return r || a
}(t.loaderData, t.matches[n], e) || o.some((t => t === e.route.id))) return !0;
let a = t.matches[n], s = e;
return Aj(e, TL({
currentUrl: g,
currentParams: a.params,
nextUrl: v,
nextParams: s.params
}, r, {
actionResult: m,
defaultShouldRevalidate: i || g.pathname + g.search === v.pathname + v.search || g.search !== v.search || Pj(a, s)
}))
})), b = [];
return c.forEach(((e, a) => {
if (!n.some((t => t.route.id === e.routeId)) || l.has(a)) return;
let o = $L(d, e.path, p);
if (!o) return void b.push({
key: a,
routeId: e.routeId,
path: e.path,
matches: null,
match: null,
controller: null
});
let c = t.fetchers.get(a), h = Jj(o, e.path), f = !1;
f = !u.has(a) && (!!s.includes(a) || (c && "idle" !== c.state && void 0 === c.data ? i : Aj(h, TL({
currentUrl: g,
currentParams: t.matches[t.matches.length - 1].params,
nextUrl: v,
nextParams: n[n.length - 1].params
}, r, {actionResult: m, defaultShouldRevalidate: i})))), f && b.push({
key: a,
routeId: e.routeId,
path: e.path,
matches: o,
match: h,
controller: new AbortController
})
})), [y, b]
}
function Pj(e, t) {
let n = e.route.path;
return e.pathname !== t.pathname || null != n && n.endsWith("*") && e.params["*"] !== t.params["*"]
}
function Aj(e, t) {
if (e.route.shouldRevalidate) {
let n = e.route.shouldRevalidate(t);
if ("boolean" === typeof n) return n
}
return t.defaultShouldRevalidate
}
async function Tj(e, t, n) {
if (!e.lazy) return;
let r = await e.lazy();
if (!e.lazy) return;
let a = n[e.id];
LL(a, "No route found in manifest");
let i = {};
for (let o in r) {
let e = void 0 !== a[o] && "hasErrorBoundary" !== o;
jL(!e, 'Route "' + a.id + '" has a static property "' + o + '" defined but its lazy function is also returning a value for this property. The lazy route property "' + o + '" will be ignored.'), e || BL.has(o) || (i[o] = r[o])
}
Object.assign(a, i), Object.assign(a, TL({}, t(a), {lazy: void 0}))
}
async function Dj(e, t, n, r, a, i, o, s) {
let l, c, u;
void 0 === s && (s = {});
let d = e => {
let r, a = new Promise(((e, t) => r = t));
return u = () => r(), t.signal.addEventListener("abort", u), Promise.race([e({
request: t,
params: n.params,
context: s.requestContext
}), a])
};
try {
let r = n.route[e];
if (n.route.lazy) if (r) {
let e, t = await Promise.all([d(r).catch((t => {
e = t
})), Tj(n.route, i, a)]);
if (e) throw e;
c = t[0]
} else {
if (await Tj(n.route, i, a), r = n.route[e], !r) {
if ("action" === e) {
let e = new URL(t.url), r = e.pathname + e.search;
throw Uj(405, {method: t.method, pathname: r, routeId: n.route.id})
}
return {type: UL.data, data: void 0}
}
c = await d(r)
} else {
if (!r) {
let e = new URL(t.url);
throw Uj(404, {pathname: e.pathname + e.search})
}
c = await d(r)
}
LL(void 0 !== c, "You defined " + ("action" === e ? "an action" : "a loader") + ' for route "' + n.route.id + "\" but didn't return anything from your `" + e + "` function. Please return a value or `null`.")
} catch (f) {
l = UL.error, c = f
} finally {
u && t.signal.removeEventListener("abort", u)
}
if (Hj(c)) {
let e, a = c.status;
if (gj.has(a)) {
let e = c.headers.get("Location");
if (LL(e, "Redirects returned/thrown from loaders/actions must have a Location header"), xj.test(e)) {
if (!s.isStaticRequest) {
let n = new URL(t.url), r = e.startsWith("//") ? new URL(n.protocol + e) : new URL(e),
a = null != ej(r.pathname, o);
r.origin === n.origin && a && (e = r.pathname + r.search + r.hash)
}
} else e = Ej(new URL(t.url), r.slice(0, r.indexOf(n) + 1), o, !0, e);
if (s.isStaticRequest) throw c.headers.set("Location", e), c;
return {
type: UL.redirect,
status: a,
location: e,
revalidate: null !== c.headers.get("X-Remix-Revalidate"),
reloadDocument: null !== c.headers.get("X-Remix-Reload-Document")
}
}
if (s.isRouteRequest) {
throw {type: l === UL.error ? UL.error : UL.data, response: c}
}
let i = c.headers.get("Content-Type");
return e = i && /\bapplication\/json\b/.test(i) ? await c.json() : await c.text(), l === UL.error ? {
type: l,
error: new uj(a, c.statusText, e),
headers: c.headers
} : {type: UL.data, data: e, statusCode: c.status, headers: c.headers}
}
return l === UL.error ? {type: l, error: c} : function (e) {
let t = e;
return t && "object" === typeof t && "object" === typeof t.data && "function" === typeof t.subscribe && "function" === typeof t.cancel && "function" === typeof t.resolveData
}(c) ? {
type: UL.deferred,
deferredData: c,
statusCode: null == (p = c.init) ? void 0 : p.status,
headers: (null == (h = c.init) ? void 0 : h.headers) && new Headers(c.init.headers)
} : {type: UL.data, data: c};
var p, h
}
function Rj(e, t, n, r) {
let a = e.createURL(Gj(t)).toString(), i = {signal: n};
if (r && Yj(r.formMethod)) {
let {formMethod: e, formEncType: t} = r;
i.method = e.toUpperCase(), "application/json" === t ? (i.headers = new Headers({"Content-Type": t}), i.body = JSON.stringify(r.json)) : "text/plain" === t ? i.body = r.text : "application/x-www-form-urlencoded" === t && r.formData ? i.body = Lj(r.formData) : i.body = r.formData
}
return new Request(a, i)
}
function Lj(e) {
let t = new URLSearchParams;
for (let [n, r] of e.entries()) t.append(n, "string" === typeof r ? r : r.name);
return t
}
function jj(e) {
let t = new FormData;
for (let [n, r] of e.entries()) t.append(n, r);
return t
}
function Nj(e, t, n, r, a) {
let i, o = {}, s = null, l = !1, c = {};
return n.forEach(((n, u) => {
let d = t[u].route.id;
if (LL(!Wj(n), "Cannot handle redirect results in processLoaderData"), qj(n)) {
let t = zj(e, d), a = n.error;
r && (a = Object.values(r)[0], r = void 0), s = s || {}, null == s[t.route.id] && (s[t.route.id] = a), o[d] = void 0, l || (l = !0, i = dj(n.error) ? n.error.status : 500), n.headers && (c[d] = n.headers)
} else $j(n) ? (a.set(d, n.deferredData), o[d] = n.deferredData.data) : o[d] = n.data, null == n.statusCode || 200 === n.statusCode || l || (i = n.statusCode), n.headers && (c[d] = n.headers)
})), r && (s = r, o[Object.keys(r)[0]] = void 0), {
loaderData: o,
errors: s,
statusCode: i || 200,
loaderHeaders: c
}
}
function Mj(e, t, n, r, a, i, o, s) {
let {loaderData: l, errors: c} = Nj(t, n, r, a, s);
for (let u = 0; u < i.length; u++) {
let {key: t, match: n, controller: r} = i[u];
LL(void 0 !== o && void 0 !== o[u], "Did not find corresponding fetcher result");
let a = o[u];
if (!r || !r.signal.aborted) if (qj(a)) {
let r = zj(e.matches, null == n ? void 0 : n.route.id);
c && c[r.route.id] || (c = TL({}, c, {[r.route.id]: a.error})), e.fetchers.delete(t)
} else if (Wj(a)) LL(!1, "Unhandled fetcher revalidation redirect"); else if ($j(a)) LL(!1, "Unhandled fetcher deferred data"); else {
let n = rN(a.data);
e.fetchers.set(t, n)
}
}
return {loaderData: l, errors: c}
}
function Fj(e, t, n, r) {
let a = TL({}, t);
for (let i of n) {
let n = i.route.id;
if (t.hasOwnProperty(n) ? void 0 !== t[n] && (a[n] = t[n]) : void 0 !== e[n] && i.route.loader && (a[n] = e[n]), r && r.hasOwnProperty(n)) break
}
return a
}
function zj(e, t) {
let n = t ? e.slice(0, e.findIndex((e => e.route.id === t)) + 1) : [...e];
return n.reverse().find((e => !0 === e.route.hasErrorBoundary)) || e[0]
}
function Vj(e) {
let t = 1 === e.length ? e[0] : e.find((e => e.index || !e.path || "/" === e.path)) || {id: "__shim-error-route__"};
return {matches: [{params: {}, pathname: "", pathnameBase: "", route: t}], route: t}
}
function Uj(e, t) {
let {pathname: n, routeId: r, method: a, type: i} = void 0 === t ? {} : t, o = "Unknown Server Error",
s = "Unknown @remix-run/router error";
return 400 === e ? (o = "Bad Request", a && n && r ? s = "You made a " + a + ' request to "' + n + '" but did not provide a `loader` for route "' + r + '", so there is no way to handle the request.' : "defer-action" === i ? s = "defer() is not supported in actions" : "invalid-body" === i && (s = "Unable to encode submission body")) : 403 === e ? (o = "Forbidden", s = 'Route "' + r + '" does not match URL "' + n + '"') : 404 === e ? (o = "Not Found", s = 'No route matches URL "' + n + '"') : 405 === e && (o = "Method Not Allowed", a && n && r ? s = "You made a " + a.toUpperCase() + ' request to "' + n + '" but did not provide an `action` for route "' + r + '", so there is no way to handle the request.' : a && (s = 'Invalid request method "' + a.toUpperCase() + '"')), new uj(e || 500, o, new Error(s), !0)
}
function Bj(e) {
for (let t = e.length - 1; t >= 0; t--) {
let n = e[t];
if (Wj(n)) return {result: n, idx: t}
}
}
function Gj(e) {
return FL(TL({}, "string" === typeof e ? zL(e) : e, {hash: ""}))
}
function $j(e) {
return e.type === UL.deferred
}
function qj(e) {
return e.type === UL.error
}
function Wj(e) {
return (e && e.type) === UL.redirect
}
function Hj(e) {
return null != e && "number" === typeof e.status && "string" === typeof e.statusText && "object" === typeof e.headers && "undefined" !== typeof e.body
}
function Kj(e) {
return mj.has(e.toLowerCase())
}
function Yj(e) {
return hj.has(e.toLowerCase())
}
async function Qj(e, t, n, r, a, i) {
for (let o = 0; o < n.length; o++) {
let s = n[o], l = t[o];
if (!l) continue;
let c = e.find((e => e.route.id === l.route.id)),
u = null != c && !Pj(c, l) && void 0 !== (i && i[l.route.id]);
if ($j(s) && (a || u)) {
let e = r[o];
LL(e, "Expected an AbortSignal for revalidating fetcher deferred result"), await Zj(s, e, a).then((e => {
e && (n[o] = e || n[o])
}))
}
}
}
async function Zj(e, t, n) {
if (void 0 === n && (n = !1), !await e.deferredData.resolveData(t)) {
if (n) try {
return {type: UL.data, data: e.deferredData.unwrappedData}
} catch (r) {
return {type: UL.error, error: r}
}
return {type: UL.data, data: e.deferredData.data}
}
}
function Xj(e) {
return new URLSearchParams(e).getAll("index").some((e => "" === e))
}
function Jj(e, t) {
let n = "string" === typeof t ? zL(t).search : t.search;
if (e[e.length - 1].route.index && Xj(n || "")) return e[e.length - 1];
let r = nj(e);
return r[r.length - 1]
}
function eN(e) {
let {formMethod: t, formAction: n, formEncType: r, text: a, formData: i, json: o} = e;
if (t && n && r) return null != a ? {
formMethod: t,
formAction: n,
formEncType: r,
formData: void 0,
json: void 0,
text: a
} : null != i ? {
formMethod: t,
formAction: n,
formEncType: r,
formData: i,
json: void 0,
text: void 0
} : void 0 !== o ? {
formMethod: t,
formAction: n,
formEncType: r,
formData: void 0,
json: o,
text: void 0
} : void 0
}
function tN(e, t) {
if (t) {
return {
state: "loading",
location: e,
formMethod: t.formMethod,
formAction: t.formAction,
formEncType: t.formEncType,
formData: t.formData,
json: t.json,
text: t.text
}
}
return {
state: "loading",
location: e,
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0
}
}
function nN(e, t) {
if (e) {
return {
state: "loading",
formMethod: e.formMethod,
formAction: e.formAction,
formEncType: e.formEncType,
formData: e.formData,
json: e.json,
text: e.text,
data: t
}
}
return {
state: "loading",
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0,
data: t
}
}
function rN(e) {
return {
state: "idle",
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0,
data: e
}
}
function aN() {
return aN = Object.assign ? Object.assign.bind() : function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}, aN.apply(this, arguments)
}
const iN = Ee.createContext(null);
const oN = Ee.createContext(null);
const sN = Ee.createContext(null);
const lN = Ee.createContext(null);
const cN = Ee.createContext({outlet: null, matches: [], isDataRoute: !1});
const uN = Ee.createContext(null);
function dN() {
return null != Ee.useContext(lN)
}
function pN() {
return dN() || LL(!1), Ee.useContext(lN).location
}
function hN(e) {
Ee.useContext(sN).static || Ee.useLayoutEffect(e)
}
function fN() {
let {isDataRoute: e} = Ee.useContext(cN);
return e ? function () {
let {router: e} = EN(kN.UseNavigateStable), t = CN(SN.UseNavigateStable), n = Ee.useRef(!1);
hN((() => {
n.current = !0
}));
let r = Ee.useCallback((function (r, a) {
void 0 === a && (a = {}), n.current && ("number" === typeof r ? e.navigate(r) : e.navigate(r, aN({fromRouteId: t}, a)))
}), [e, t]);
return r
}() : function () {
dN() || LL(!1);
let e = Ee.useContext(iN), {
basename: t,
navigator: n
} = Ee.useContext(sN), {matches: r} = Ee.useContext(cN), {pathname: a} = pN(),
i = JSON.stringify(nj(r).map((e => e.pathnameBase))), o = Ee.useRef(!1);
hN((() => {
o.current = !0
}));
let s = Ee.useCallback((function (r, s) {
if (void 0 === s && (s = {}), !o.current) return;
if ("number" === typeof r) return void n.go(r);
let l = rj(r, JSON.parse(i), a, "path" === s.relative);
null == e && "/" !== t && (l.pathname = "/" === l.pathname ? t : aj([t, l.pathname])), (s.replace ? n.replace : n.push)(l, s.state, s)
}), [t, n, i, a, e]);
return s
}()
}
const mN = Ee.createContext(null);
function gN(e, t) {
let {relative: n} = void 0 === t ? {} : t, {matches: r} = Ee.useContext(cN), {pathname: a} = pN(),
i = JSON.stringify(nj(r).map((e => e.pathnameBase)));
return Ee.useMemo((() => rj(e, JSON.parse(i), a, "path" === n)), [e, i, a, n])
}
function vN(e, t, n) {
dN() || LL(!1);
let {navigator: r} = Ee.useContext(sN), {matches: a} = Ee.useContext(cN), i = a[a.length - 1],
o = i ? i.params : {}, s = (i && i.pathname, i ? i.pathnameBase : "/");
i && i.route;
let l, c = pN();
if (t) {
var u;
let e = "string" === typeof t ? zL(t) : t;
"/" === s || (null == (u = e.pathname) ? void 0 : u.startsWith(s)) || LL(!1), l = e
} else l = c;
let d = l.pathname || "/", p = $L(e, {pathname: "/" === s ? d : d.slice(s.length) || "/"});
let h = wN(p && p.map((e => Object.assign({}, e, {
params: Object.assign({}, o, e.params),
pathname: aj([s, r.encodeLocation ? r.encodeLocation(e.pathname).pathname : e.pathname]),
pathnameBase: "/" === e.pathnameBase ? s : aj([s, r.encodeLocation ? r.encodeLocation(e.pathnameBase).pathname : e.pathnameBase])
}))), a, n);
return t && h ? Ee.createElement(lN.Provider, {
value: {
location: aN({
pathname: "/",
search: "",
hash: "",
state: null,
key: "default"
}, l), navigationType: DL.Pop
}
}, h) : h
}
function _N() {
let e = function () {
var e;
let t = Ee.useContext(uN), n = IN(SN.UseRouteError), r = CN(SN.UseRouteError);
if (t) return t;
return null == (e = n.errors) ? void 0 : e[r]
}(), t = dj(e) ? e.status + " " + e.statusText : e instanceof Error ? e.message : JSON.stringify(e),
n = e instanceof Error ? e.stack : null, r = "rgba(200,200,200, 0.5)",
a = {padding: "0.5rem", backgroundColor: r};
return Ee.createElement(Ee.Fragment, null, Ee.createElement("h2", null, "Unexpected Application Error!"), Ee.createElement("h3", {style: {fontStyle: "italic"}}, t), n ? Ee.createElement("pre", {style: a}, n) : null, null)
}
const yN = Ee.createElement(_N, null);
class bN extends Ee.Component {
constructor(e) {
super(e), this.state = {location: e.location, revalidation: e.revalidation, error: e.error}
}
static getDerivedStateFromError(e) {
return {error: e}
}
static getDerivedStateFromProps(e, t) {
return t.location !== e.location || "idle" !== t.revalidation && "idle" === e.revalidation ? {
error: e.error,
location: e.location,
revalidation: e.revalidation
} : {error: e.error || t.error, location: t.location, revalidation: e.revalidation || t.revalidation}
}
componentDidCatch(e, t) {
console.error("React Router caught the following error during render", e, t)
}
render() {
return this.state.error ? Ee.createElement(cN.Provider, {value: this.props.routeContext}, Ee.createElement(uN.Provider, {
value: this.state.error,
children: this.props.component
})) : this.props.children
}
}
function xN(e) {
let {routeContext: t, match: n, children: r} = e, a = Ee.useContext(iN);
return a && a.static && a.staticContext && (n.route.errorElement || n.route.ErrorBoundary) && (a.staticContext._deepestRenderedBoundaryId = n.route.id), Ee.createElement(cN.Provider, {value: t}, r)
}
function wN(e, t, n) {
var r;
if (void 0 === t && (t = []), void 0 === n && (n = null), null == e) {
var a;
if (null == (a = n) || !a.errors) return null;
e = n.matches
}
let i = e, o = null == (r = n) ? void 0 : r.errors;
if (null != o) {
let e = i.findIndex((e => e.route.id && (null == o ? void 0 : o[e.route.id])));
e >= 0 || LL(!1), i = i.slice(0, Math.min(i.length, e + 1))
}
return i.reduceRight(((e, r, a) => {
let s = r.route.id ? null == o ? void 0 : o[r.route.id] : null, l = null;
n && (l = r.route.errorElement || yN);
let c = t.concat(i.slice(0, a + 1)), u = () => {
let t;
return t = s ? l : r.route.Component ? Ee.createElement(r.route.Component, null) : r.route.element ? r.route.element : e, Ee.createElement(xN, {
match: r,
routeContext: {outlet: e, matches: c, isDataRoute: null != n},
children: t
})
};
return n && (r.route.ErrorBoundary || r.route.errorElement || 0 === a) ? Ee.createElement(bN, {
location: n.location,
revalidation: n.revalidation,
component: l,
error: s,
children: u(),
routeContext: {outlet: null, matches: c, isDataRoute: !0}
}) : u()
}), null)
}
var kN = function (e) {
return e.UseBlocker = "useBlocker", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e
}(kN || {}), SN = function (e) {
return e.UseBlocker = "useBlocker", e.UseLoaderData = "useLoaderData", e.UseActionData = "useActionData", e.UseRouteError = "useRouteError", e.UseNavigation = "useNavigation", e.UseRouteLoaderData = "useRouteLoaderData", e.UseMatches = "useMatches", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e.UseRouteId = "useRouteId", e
}(SN || {});
function EN(e) {
let t = Ee.useContext(iN);
return t || LL(!1), t
}
function IN(e) {
let t = Ee.useContext(oN);
return t || LL(!1), t
}
function CN(e) {
let t = function (e) {
let t = Ee.useContext(cN);
return t || LL(!1), t
}(), n = t.matches[t.matches.length - 1];
return n.route.id || LL(!1), n.route.id
}
Ie.startTransition;
function ON(e) {
let {to: t, replace: n, state: r, relative: a} = e;
dN() || LL(!1);
let {matches: i} = Ee.useContext(cN), {pathname: o} = pN(), s = fN(),
l = rj(t, nj(i).map((e => e.pathnameBase)), o, "path" === a), c = JSON.stringify(l);
return Ee.useEffect((() => s(JSON.parse(c), {replace: n, state: r, relative: a})), [s, c, a, n, r]), null
}
function PN(e) {
return function (e) {
let t = Ee.useContext(cN).outlet;
return t ? Ee.createElement(mN.Provider, {value: e}, t) : t
}(e.context)
}
function AN(e) {
let {
basename: t = "/",
children: n = null,
location: r,
navigationType: a = DL.Pop,
navigator: i,
static: o = !1
} = e;
dN() && LL(!1);
let s = t.replace(/^\/*/, "/"), l = Ee.useMemo((() => ({basename: s, navigator: i, static: o})), [s, i, o]);
"string" === typeof r && (r = zL(r));
let {pathname: c = "/", search: u = "", hash: d = "", state: p = null, key: h = "default"} = r,
f = Ee.useMemo((() => {
let e = ej(c, s);
return null == e ? null : {
location: {pathname: e, search: u, hash: d, state: p, key: h},
navigationType: a
}
}), [s, c, u, d, p, h, a]);
return null == f ? null : Ee.createElement(sN.Provider, {value: l}, Ee.createElement(lN.Provider, {
children: n,
value: f
}))
}
new Promise((() => {
}));
class TN extends Ee.Component {
constructor(e) {
super(e), this.state = {error: null}
}
static getDerivedStateFromError(e) {
return {error: e}
}
componentDidCatch(e, t) {
console.error("<Await> caught the following error during render", e, t)
}
render() {
let {children: e, errorElement: t, resolve: n} = this.props, r = null, a = AwaitRenderStatus.pending;
if (n instanceof Promise) if (this.state.error) {
AwaitRenderStatus.error;
let e = this.state.error;
Promise.reject().catch((() => {
})), Object.defineProperty(r, "_tracked", {get: () => !0}), Object.defineProperty(r, "_error", {get: () => e})
} else n._tracked ? (n, void 0 !== r._error ? AwaitRenderStatus.error : void 0 !== r._data ? AwaitRenderStatus.success : AwaitRenderStatus.pending) : (AwaitRenderStatus.pending, Object.defineProperty(n, "_tracked", {get: () => !0}), n.then((e => Object.defineProperty(n, "_data", {get: () => e})), (e => Object.defineProperty(n, "_error", {get: () => e})))); else AwaitRenderStatus.success, Promise.resolve(), Object.defineProperty(r, "_tracked", {get: () => !0}), Object.defineProperty(r, "_data", {get: () => n});
if (a === AwaitRenderStatus.error && r._error instanceof AbortedDeferredError) throw neverSettledPromise;
if (a === AwaitRenderStatus.error && !t) throw r._error;
if (a === AwaitRenderStatus.error) return React.createElement(AwaitContext.Provider, {
value: r,
children: t
});
if (a === AwaitRenderStatus.success) return React.createElement(AwaitContext.Provider, {
value: r,
children: e
});
throw r
}
}
function DN(e) {
let t = {hasErrorBoundary: null != e.ErrorBoundary || null != e.errorElement};
return e.Component && Object.assign(t, {
element: Ee.createElement(e.Component),
Component: void 0
}), e.ErrorBoundary && Object.assign(t, {
errorElement: Ee.createElement(e.ErrorBoundary),
ErrorBoundary: void 0
}), t
}
var RN = e => "checkbox" === e.type, LN = e => e instanceof Date, jN = e => null == e;
const NN = e => "object" === typeof e;
var MN = e => !jN(e) && !Array.isArray(e) && NN(e) && !LN(e),
FN = e => MN(e) && e.target ? RN(e.target) ? e.target.checked : e.target.value : e,
zN = (e, t) => e.has((e => e.substring(0, e.search(/\.\d+(\.|$)/)) || e)(t)),
VN = e => Array.isArray(e) ? e.filter(Boolean) : [], UN = e => void 0 === e, BN = (e, t, n) => {
if (!t || !MN(e)) return n;
const r = VN(t.split(/[,[\].]+?/)).reduce(((e, t) => jN(e) ? e : e[t]), e);
return UN(r) || r === e ? UN(e[t]) ? n : e[t] : r
};
const GN = "blur", $N = "focusout", qN = "change", WN = "onBlur", HN = "onChange", KN = "onSubmit",
YN = "onTouched", QN = "all", ZN = "max", XN = "min", JN = "maxLength", eM = "minLength", tM = "pattern",
nM = "required", rM = "validate", aM = Ee.createContext(null), iM = () => Ee.useContext(aM);
var oM = (e, t, n, r = !0) => {
const a = {defaultValues: t._defaultValues};
for (const i in e) Object.defineProperty(a, i, {
get: () => {
const a = i;
return t._proxyFormState[a] !== QN && (t._proxyFormState[a] = !r || QN), n && (n[a] = !0), e[a]
}
});
return a
}, sM = e => MN(e) && !Object.keys(e).length, lM = (e, t, n, r) => {
n(e);
const {name: a, ...i} = e;
return sM(i) || Object.keys(i).length >= Object.keys(t).length || Object.keys(i).find((e => t[e] === (!r || QN)))
}, cM = e => Array.isArray(e) ? e : [e],
uM = (e, t, n) => n && t ? e === t : !e || !t || e === t || cM(e).some((e => e && (e.startsWith(t) || t.startsWith(e))));
function dM(e) {
const t = Ee.useRef(e);
t.current = e, Ee.useEffect((() => {
const n = !e.disabled && t.current.subject.subscribe({next: t.current.next});
return () => {
n && n.unsubscribe()
}
}), [e.disabled])
}
var pM = e => "string" === typeof e,
hM = (e, t, n, r, a) => pM(e) ? (r && t.watch.add(e), BN(n, e, a)) : Array.isArray(e) ? e.map((e => (r && t.watch.add(e), BN(n, e)))) : (r && (t.watchAll = !0), n),
fM = "undefined" !== typeof window && "undefined" !== typeof window.HTMLElement && "undefined" !== typeof document;
function mM(e) {
let t;
const n = Array.isArray(e);
if (e instanceof Date) t = new Date(e); else if (e instanceof Set) t = new Set(e); else {
if (fM && (e instanceof Blob || e instanceof FileList) || !n && !MN(e)) return e;
if (t = n ? [] : {}, Array.isArray(e) || (e => {
const t = e.constructor && e.constructor.prototype;
return MN(t) && t.hasOwnProperty("isPrototypeOf")
})(e)) for (const n in e) t[n] = mM(e[n]); else t = e
}
return t
}
function gM(e) {
const t = iM(), {name: n, control: r = t.control, shouldUnregister: a} = e, i = zN(r._names.array, n),
o = function (e) {
const t = iM(), {control: n = t.control, name: r, defaultValue: a, disabled: i, exact: o} = e || {},
s = Ee.useRef(r);
s.current = r, dM({
disabled: i, subject: n._subjects.watch, next: e => {
uM(s.current, e.name, o) && c(mM(hM(s.current, n._names, e.values || n._formValues, !1, a)))
}
});
const [l, c] = Ee.useState(n._getWatch(r, a));
return Ee.useEffect((() => n._removeUnmounted())), l
}({
control: r,
name: n,
defaultValue: BN(r._formValues, n, BN(r._defaultValues, n, e.defaultValue)),
exact: !0
}), s = function (e) {
const t = iM(), {
control: n = t.control,
disabled: r,
name: a,
exact: i
} = e || {}, [o, s] = Ee.useState(n._formState), l = Ee.useRef(!0), c = Ee.useRef({
isDirty: !1,
isLoading: !1,
dirtyFields: !1,
touchedFields: !1,
isValidating: !1,
isValid: !1,
errors: !1
}), u = Ee.useRef(a);
return u.current = a, dM({
disabled: r,
next: e => l.current && uM(u.current, e.name, i) && lM(e, c.current, n._updateFormState) && s({...n._formState, ...e}),
subject: n._subjects.state
}), Ee.useEffect((() => {
l.current = !0;
const e = n._proxyFormState.isDirty && n._getDirty();
return e !== n._formState.isDirty && n._subjects.state.next({isDirty: e}), c.current.isValid && n._updateValid(!0), () => {
l.current = !1
}
}), [n]), oM(o, n, c.current, !1)
}({control: r, name: n}), l = Ee.useRef(r.register(n, {...e.rules, value: o}));
return Ee.useEffect((() => {
const e = (e, t) => {
const n = BN(r._fields, e);
n && (n._f.mount = t)
};
return e(n, !0), () => {
const t = r._options.shouldUnregister || a;
(i ? t && !r._stateFlags.action : t) ? r.unregister(n) : e(n, !1)
}
}), [n, r, i, a]), {
field: {
name: n,
value: o,
onChange: Ee.useCallback((e => l.current.onChange({
target: {value: FN(e), name: n},
type: qN
})), [n]),
onBlur: Ee.useCallback((() => l.current.onBlur({
target: {value: BN(r._formValues, n), name: n},
type: GN
})), [n, r]),
ref: e => {
const t = BN(r._fields, n);
t && e && (t._f.ref = {
focus: () => e.focus(),
select: () => e.select(),
setCustomValidity: t => e.setCustomValidity(t),
reportValidity: () => e.reportValidity()
})
}
},
formState: s,
fieldState: Object.defineProperties({}, {
invalid: {enumerable: !0, get: () => !!BN(s.errors, n)},
isDirty: {enumerable: !0, get: () => !!BN(s.dirtyFields, n)},
isTouched: {enumerable: !0, get: () => !!BN(s.touchedFields, n)},
error: {enumerable: !0, get: () => BN(s.errors, n)}
})
}
}
var vM = (e, t, n, r, a) => t ? {...n[e], types: {...n[e] && n[e].types ? n[e].types : {}, [r]: a || !0}} : {},
_M = e => /^\w*$/.test(e), yM = e => VN(e.replace(/["|']|\]/g, "").split(/\.|\[/));
function bM(e, t, n) {
let r = -1;
const a = _M(t) ? [t] : yM(t), i = a.length, o = i - 1;
for (; ++r < i;) {
const t = a[r];
let i = n;
if (r !== o) {
const n = e[t];
i = MN(n) || Array.isArray(n) ? n : isNaN(+a[r + 1]) ? {} : []
}
e[t] = i, e = e[t]
}
return e
}
const xM = (e, t, n) => {
for (const r of n || Object.keys(e)) {
const n = BN(e, r);
if (n) {
const {_f: e, ...r} = n;
if (e && t(e.name)) {
if (e.ref.focus) {
e.ref.focus();
break
}
if (e.refs && e.refs[0].focus) {
e.refs[0].focus();
break
}
} else MN(r) && xM(r, t)
}
}
};
var wM = e => ({
isOnSubmit: !e || e === KN,
isOnBlur: e === WN,
isOnChange: e === HN,
isOnAll: e === QN,
isOnTouch: e === YN
}),
kM = (e, t, n) => !n && (t.watchAll || t.watch.has(e) || [...t.watch].some((t => e.startsWith(t) && /^\.\w+/.test(e.slice(t.length))))),
SM = (e, t, n) => {
const r = VN(BN(e, n));
return bM(r, "root", t[n]), bM(e, n, r), e
}, EM = e => "boolean" === typeof e, IM = e => "file" === e.type, CM = e => "function" === typeof e,
OM = e => {
if (!fM) return !1;
const t = e ? e.ownerDocument : 0;
return e instanceof (t && t.defaultView ? t.defaultView.HTMLElement : HTMLElement)
}, PM = e => pM(e) || Ee.isValidElement(e), AM = e => "radio" === e.type, TM = e => e instanceof RegExp;
const DM = {value: !1, isValid: !1}, RM = {value: !0, isValid: !0};
var LM = e => {
if (Array.isArray(e)) {
if (e.length > 1) {
const t = e.filter((e => e && e.checked && !e.disabled)).map((e => e.value));
return {value: t, isValid: !!t.length}
}
return e[0].checked && !e[0].disabled ? e[0].attributes && !UN(e[0].attributes.value) ? UN(e[0].value) || "" === e[0].value ? RM : {
value: e[0].value,
isValid: !0
} : RM : DM
}
return DM
};
const jM = {isValid: !1, value: null};
var NM = e => Array.isArray(e) ? e.reduce(((e, t) => t && t.checked && !t.disabled ? {
isValid: !0,
value: t.value
} : e), jM) : jM;
function MM(e, t, n = "validate") {
if (PM(e) || Array.isArray(e) && e.every(PM) || EM(e) && !e) return {
type: n,
message: PM(e) ? e : "",
ref: t
}
}
var FM = e => MN(e) && !TM(e) ? e : {value: e, message: ""}, zM = async (e, t, n, r, a) => {
const {
ref: i,
refs: o,
required: s,
maxLength: l,
minLength: c,
min: u,
max: d,
pattern: p,
validate: h,
name: f,
valueAsNumber: m,
mount: g,
disabled: v
} = e._f, _ = BN(t, f);
if (!g || v) return {};
const y = o ? o[0] : i, b = e => {
r && y.reportValidity && (y.setCustomValidity(EM(e) ? "" : e || ""), y.reportValidity())
}, x = {}, w = AM(i), k = RN(i), S = w || k,
E = (m || IM(i)) && UN(i.value) && UN(_) || OM(i) && "" === i.value || "" === _ || Array.isArray(_) && !_.length,
I = vM.bind(null, f, n, x), C = (e, t, n, r = JN, a = eM) => {
const o = e ? t : n;
x[f] = {type: e ? r : a, message: o, ref: i, ...I(e ? r : a, o)}
};
if (a ? !Array.isArray(_) || !_.length : s && (!S && (E || jN(_)) || EM(_) && !_ || k && !LM(o).isValid || w && !NM(o).isValid)) {
const {value: e, message: t} = PM(s) ? {value: !!s, message: s} : FM(s);
if (e && (x[f] = {type: nM, message: t, ref: y, ...I(nM, t)}, !n)) return b(t), x
}
if (!E && (!jN(u) || !jN(d))) {
let e, t;
const r = FM(d), a = FM(u);
if (jN(_) || isNaN(_)) {
const n = i.valueAsDate || new Date(_), o = e => new Date((new Date).toDateString() + " " + e),
s = "time" == i.type, l = "week" == i.type;
pM(r.value) && _ && (e = s ? o(_) > o(r.value) : l ? _ > r.value : n > new Date(r.value)), pM(a.value) && _ && (t = s ? o(_) < o(a.value) : l ? _ < a.value : n < new Date(a.value))
} else {
const n = i.valueAsNumber || (_ ? +_ : _);
jN(r.value) || (e = n > r.value), jN(a.value) || (t = n < a.value)
}
if ((e || t) && (C(!!e, r.message, a.message, ZN, XN), !n)) return b(x[f].message), x
}
if ((l || c) && !E && (pM(_) || a && Array.isArray(_))) {
const e = FM(l), t = FM(c), r = !jN(e.value) && _.length > e.value,
a = !jN(t.value) && _.length < t.value;
if ((r || a) && (C(r, e.message, t.message), !n)) return b(x[f].message), x
}
if (p && !E && pM(_)) {
const {value: e, message: t} = FM(p);
if (TM(e) && !_.match(e) && (x[f] = {type: tM, message: t, ref: i, ...I(tM, t)}, !n)) return b(t), x
}
if (h) if (CM(h)) {
const e = MM(await h(_, t), y);
if (e && (x[f] = {...e, ...I(rM, e.message)}, !n)) return b(e.message), x
} else if (MN(h)) {
let e = {};
for (const r in h) {
if (!sM(e) && !n) break;
const a = MM(await h[r](_, t), y, r);
a && (e = {...a, ...I(r, a.message)}, b(a.message), n && (x[f] = e))
}
if (!sM(e) && (x[f] = {ref: y, ...e}, !n)) return x
}
return b(!0), x
};
function VM(e, t) {
const n = Array.isArray(t) ? t : _M(t) ? [t] : yM(t), r = 1 === n.length ? e : function (e, t) {
const n = t.slice(0, -1).length;
let r = 0;
for (; r < n;) e = UN(e) ? r++ : e[t[r++]];
return e
}(e, n), a = n.length - 1, i = n[a];
return r && delete r[i], 0 !== a && (MN(r) && sM(r) || Array.isArray(r) && function (e) {
for (const t in e) if (!UN(e[t])) return !1;
return !0
}(r)) && VM(e, n.slice(0, -1)), e
}
function UM() {
let e = [];
return {
get observers() {
return e
}, next: t => {
for (const n of e) n.next(t)
}, subscribe: t => (e.push(t), {
unsubscribe: () => {
e = e.filter((e => e !== t))
}
}), unsubscribe: () => {
e = []
}
}
}
var BM = e => jN(e) || !NN(e);
function GM(e, t) {
if (BM(e) || BM(t)) return e === t;
if (LN(e) && LN(t)) return e.getTime() === t.getTime();
const n = Object.keys(e), r = Object.keys(t);
if (n.length !== r.length) return !1;
for (const a of n) {
const n = e[a];
if (!r.includes(a)) return !1;
if ("ref" !== a) {
const e = t[a];
if (LN(n) && LN(e) || MN(n) && MN(e) || Array.isArray(n) && Array.isArray(e) ? !GM(n, e) : n !== e) return !1
}
}
return !0
}
var $M = e => "select-multiple" === e.type, qM = e => OM(e) && e.isConnected, WM = e => {
for (const t in e) if (CM(e[t])) return !0;
return !1
};
function HM(e, t = {}) {
const n = Array.isArray(e);
if (MN(e) || n) for (const r in e) Array.isArray(e[r]) || MN(e[r]) && !WM(e[r]) ? (t[r] = Array.isArray(e[r]) ? [] : {}, HM(e[r], t[r])) : jN(e[r]) || (t[r] = !0);
return t
}
function KM(e, t, n) {
const r = Array.isArray(e);
if (MN(e) || r) for (const a in e) Array.isArray(e[a]) || MN(e[a]) && !WM(e[a]) ? UN(t) || BM(n[a]) ? n[a] = Array.isArray(e[a]) ? HM(e[a], []) : {...HM(e[a])} : KM(e[a], jN(t) ? {} : t[a], n[a]) : GM(e[a], t[a]) ? delete n[a] : n[a] = !0;
return n
}
var YM = (e, t) => KM(e, t, HM(t)), QM = (e, {
valueAsNumber: t,
valueAsDate: n,
setValueAs: r
}) => UN(e) ? e : t ? "" === e ? NaN : e ? +e : e : n && pM(e) ? new Date(e) : r ? r(e) : e;
function ZM(e) {
const t = e.ref;
if (!(e.refs ? e.refs.every((e => e.disabled)) : t.disabled)) return IM(t) ? t.files : AM(t) ? NM(e.refs).value : $M(t) ? [...t.selectedOptions].map((({value: e}) => e)) : RN(t) ? LM(e.refs).value : QM(UN(t.value) ? e.ref.value : t.value, e)
}
var XM = e => UN(e) ? e : TM(e) ? e.source : MN(e) ? TM(e.value) ? e.value.source : e.value : e;
function JM(e, t, n) {
const r = BN(e, n);
if (r || _M(n)) return {error: r, name: n};
const a = n.split(".");
for (; a.length;) {
const r = a.join("."), i = BN(t, r), o = BN(e, r);
if (i && !Array.isArray(i) && n !== r) return {name: n};
if (o && o.type) return {name: r, error: o};
a.pop()
}
return {name: n}
}
const eF = {mode: KN, reValidateMode: HN, shouldFocusError: !0};
function tF(e = {}, t) {
let n = {...eF, ...e};
const r = e.resetOptions && e.resetOptions.keepDirtyValues;
let a, i = {
submitCount: 0,
isDirty: !1,
isLoading: !0,
isValidating: !1,
isSubmitted: !1,
isSubmitting: !1,
isSubmitSuccessful: !1,
isValid: !1,
touchedFields: {},
dirtyFields: {},
errors: {}
}, o = {}, s = MN(n.defaultValues) && mM(n.defaultValues) || {}, l = n.shouldUnregister ? {} : mM(s),
c = {action: !1, mount: !1, watch: !1},
u = {mount: new Set, unMount: new Set, array: new Set, watch: new Set}, d = 0;
const p = {isDirty: !1, dirtyFields: !1, touchedFields: !1, isValidating: !1, isValid: !1, errors: !1},
h = {watch: UM(), array: UM(), state: UM()}, f = wM(n.mode), m = wM(n.reValidateMode),
g = n.criteriaMode === QN, v = async e => {
if (p.isValid || e) {
const e = n.resolver ? sM((await w()).errors) : await k(o, !0);
e !== i.isValid && (i.isValid = e, h.state.next({isValid: e}))
}
}, _ = e => p.isValidating && h.state.next({isValidating: e}), y = (e, t, n, r) => {
const a = BN(o, e);
if (a) {
const i = BN(l, e, UN(n) ? BN(s, e) : n);
UN(i) || r && r.defaultChecked || t ? bM(l, e, t ? i : ZM(a._f)) : I(e, i), c.mount && v()
}
}, b = (e, t, n, r, a) => {
let o = !1, l = !1;
const c = {name: e};
if (!n || r) {
p.isDirty && (l = i.isDirty, i.isDirty = c.isDirty = S(), o = l !== c.isDirty);
const n = GM(BN(s, e), t);
l = BN(i.dirtyFields, e), n ? VM(i.dirtyFields, e) : bM(i.dirtyFields, e, !0), c.dirtyFields = i.dirtyFields, o = o || p.dirtyFields && l !== !n
}
if (n) {
const t = BN(i.touchedFields, e);
t || (bM(i.touchedFields, e, n), c.touchedFields = i.touchedFields, o = o || p.touchedFields && t !== n)
}
return o && a && h.state.next(c), o ? c : {}
}, x = (t, n, r, o) => {
const s = BN(i.errors, t), l = p.isValid && EM(n) && i.isValid !== n;
var c;
if (e.delayError && r ? (c = () => ((e, t) => {
bM(i.errors, e, t), h.state.next({errors: i.errors})
})(t, r), a = e => {
clearTimeout(d), d = window.setTimeout(c, e)
}, a(e.delayError)) : (clearTimeout(d), a = null, r ? bM(i.errors, t, r) : VM(i.errors, t)), (r ? !GM(s, r) : s) || !sM(o) || l) {
const e = {...o, ...l && EM(n) ? {isValid: n} : {}, errors: i.errors, name: t};
i = {...i, ...e}, h.state.next(e)
}
_(!1)
}, w = async e => await n.resolver(l, n.context, ((e, t, n, r) => {
const a = {};
for (const i of e) {
const e = BN(t, i);
e && bM(a, i, e._f)
}
return {criteriaMode: n, names: [...e], fields: a, shouldUseNativeValidation: r}
})(e || u.mount, o, n.criteriaMode, n.shouldUseNativeValidation)), k = async (e, t, r = {valid: !0}) => {
for (const a in e) {
const o = e[a];
if (o) {
const {_f: e, ...a} = o;
if (e) {
const a = u.array.has(e.name), s = await zM(o, l, g, n.shouldUseNativeValidation, a);
if (s[e.name] && (r.valid = !1, t)) break;
!t && (BN(s, e.name) ? a ? SM(i.errors, s, e.name) : bM(i.errors, e.name, s[e.name]) : VM(i.errors, e.name))
}
a && await k(a, t, r)
}
}
return r.valid
}, S = (e, t) => (e && t && bM(l, e, t), !GM(T(), s)),
E = (e, t, n) => hM(e, u, {...c.mount ? l : UN(t) ? s : pM(e) ? {[e]: t} : t}, n, t),
I = (e, t, n = {}) => {
const r = BN(o, e);
let a = t;
if (r) {
const n = r._f;
n && (!n.disabled && bM(l, e, QM(t, n)), a = OM(n.ref) && jN(t) ? "" : t, $M(n.ref) ? [...n.ref.options].forEach((e => e.selected = a.includes(e.value))) : n.refs ? RN(n.ref) ? n.refs.length > 1 ? n.refs.forEach((e => (!e.defaultChecked || !e.disabled) && (e.checked = Array.isArray(a) ? !!a.find((t => t === e.value)) : a === e.value))) : n.refs[0] && (n.refs[0].checked = !!a) : n.refs.forEach((e => e.checked = e.value === a)) : IM(n.ref) ? n.ref.value = "" : (n.ref.value = a, n.ref.type || h.watch.next({name: e})))
}
(n.shouldDirty || n.shouldTouch) && b(e, a, n.shouldTouch, n.shouldDirty, !0), n.shouldValidate && A(e)
}, C = (e, t, n) => {
for (const r in t) {
const a = t[r], i = `${e}.${r}`, s = BN(o, i);
!u.array.has(e) && BM(a) && (!s || s._f) || LN(a) ? I(i, a, n) : C(i, a, n)
}
}, O = (e, n, r = {}) => {
const a = BN(o, e), d = u.array.has(e), f = mM(n);
bM(l, e, f), d ? (h.array.next({
name: e,
values: l
}), (p.isDirty || p.dirtyFields) && r.shouldDirty && (i.dirtyFields = YM(s, l), h.state.next({
name: e,
dirtyFields: i.dirtyFields,
isDirty: S(e, f)
}))) : !a || a._f || jN(f) ? I(e, f, r) : C(e, f, r), kM(e, u) && h.state.next({}), h.watch.next({name: e}), !c.mount && t()
}, P = async e => {
const t = e.target;
let r = t.name;
const s = BN(o, r);
if (s) {
let d, y;
const S = t.type ? ZM(s._f) : FN(e), E = e.type === GN || e.type === $N,
I = !((c = s._f).mount && (c.required || c.min || c.max || c.maxLength || c.minLength || c.pattern || c.validate)) && !n.resolver && !BN(i.errors, r) && !s._f.deps || ((e, t, n, r, a) => !a.isOnAll && (!n && a.isOnTouch ? !(t || e) : (n ? r.isOnBlur : a.isOnBlur) ? !e : !(n ? r.isOnChange : a.isOnChange) || e))(E, BN(i.touchedFields, r), i.isSubmitted, m, f),
C = kM(r, u, E);
bM(l, r, S), E ? (s._f.onBlur && s._f.onBlur(e), a && a(0)) : s._f.onChange && s._f.onChange(e);
const O = b(r, S, E, !1), P = !sM(O) || C;
if (!E && h.watch.next({
name: r,
type: e.type
}), I) return p.isValid && v(), P && h.state.next({name: r, ...C ? {} : O});
if (!E && C && h.state.next({}), _(!0), n.resolver) {
const {errors: e} = await w([r]), t = JM(i.errors, o, r), n = JM(e, o, t.name || r);
d = n.error, r = n.name, y = sM(e)
} else d = (await zM(s, l, g, n.shouldUseNativeValidation))[r], d ? y = !1 : p.isValid && (y = await k(o, !0));
s._f.deps && A(s._f.deps), x(r, y, d, O)
}
var c
}, A = async (e, t = {}) => {
let r, a;
const s = cM(e);
if (_(!0), n.resolver) {
const t = await (async e => {
const {errors: t} = await w();
if (e) for (const n of e) {
const e = BN(t, n);
e ? bM(i.errors, n, e) : VM(i.errors, n)
} else i.errors = t;
return t
})(UN(e) ? e : s);
r = sM(t), a = e ? !s.some((e => BN(t, e))) : r
} else e ? (a = (await Promise.all(s.map((async e => {
const t = BN(o, e);
return await k(t && t._f ? {[e]: t} : t)
})))).every(Boolean), (a || i.isValid) && v()) : a = r = await k(o);
return h.state.next({
...!pM(e) || p.isValid && r !== i.isValid ? {} : {name: e}, ...n.resolver || !e ? {isValid: r} : {},
errors: i.errors,
isValidating: !1
}), t.shouldFocus && !a && xM(o, (e => e && BN(i.errors, e)), e ? s : u.mount), a
}, T = e => {
const t = {...s, ...c.mount ? l : {}};
return UN(e) ? t : pM(e) ? BN(t, e) : e.map((e => BN(t, e)))
}, D = (e, t) => ({
invalid: !!BN((t || i).errors, e),
isDirty: !!BN((t || i).dirtyFields, e),
isTouched: !!BN((t || i).touchedFields, e),
error: BN((t || i).errors, e)
}), R = (e, t = {}) => {
for (const r of e ? cM(e) : u.mount) u.mount.delete(r), u.array.delete(r), BN(o, r) && (t.keepValue || (VM(o, r), VM(l, r)), !t.keepError && VM(i.errors, r), !t.keepDirty && VM(i.dirtyFields, r), !t.keepTouched && VM(i.touchedFields, r), !n.shouldUnregister && !t.keepDefaultValue && VM(s, r));
h.watch.next({}), h.state.next({...i, ...t.keepDirty ? {isDirty: S()} : {}}), !t.keepIsValid && v()
}, L = (e, t = {}) => {
let r = BN(o, e);
const a = EM(t.disabled);
return bM(o, e, {
...r || {},
_f: {...r && r._f ? r._f : {ref: {name: e}}, name: e, mount: !0, ...t}
}), u.mount.add(e), r ? a && bM(l, e, t.disabled ? void 0 : BN(l, e, ZM(r._f))) : y(e, !0, t.value), {
...a ? {disabled: t.disabled} : {}, ...n.shouldUseNativeValidation ? {
required: !!t.required,
min: XM(t.min),
max: XM(t.max),
minLength: XM(t.minLength),
maxLength: XM(t.maxLength),
pattern: XM(t.pattern)
} : {}, name: e, onChange: P, onBlur: P, ref: a => {
if (a) {
L(e, t), r = BN(o, e);
const n = UN(a.value) && a.querySelectorAll && a.querySelectorAll("input,select,textarea")[0] || a,
i = (e => AM(e) || RN(e))(n), l = r._f.refs || [];
if (i ? l.find((e => e === n)) : n === r._f.ref) return;
bM(o, e, {
_f: {
...r._f, ...i ? {
refs: [...l.filter(qM), n, ...Array.isArray(BN(s, e)) ? [{}] : []],
ref: {type: n.type, name: e}
} : {ref: n}
}
}), y(e, !1, void 0, n)
} else r = BN(o, e, {}), r._f && (r._f.mount = !1), (n.shouldUnregister || t.shouldUnregister) && (!zN(u.array, e) || !c.action) && u.unMount.add(e)
}
}
}, j = () => n.shouldFocusError && xM(o, (e => e && BN(i.errors, e)), u.mount), N = (n, a = {}) => {
const d = n || s, f = mM(d), m = n && !sM(n) ? f : s;
if (a.keepDefaultValues || (s = d), !a.keepValues) {
if (a.keepDirtyValues || r) for (const e of u.mount) BN(i.dirtyFields, e) ? bM(m, e, BN(l, e)) : O(e, BN(m, e)); else {
if (fM && UN(n)) for (const e of u.mount) {
const t = BN(o, e);
if (t && t._f) {
const e = Array.isArray(t._f.refs) ? t._f.refs[0] : t._f.ref;
if (OM(e)) {
const t = e.closest("form");
if (t) {
t.reset();
break
}
}
}
}
o = {}
}
l = e.shouldUnregister ? a.keepDefaultValues ? mM(s) : {} : f, h.array.next({values: m}), h.watch.next({values: m})
}
u = {
mount: new Set,
unMount: new Set,
array: new Set,
watch: new Set,
watchAll: !1,
focus: ""
}, !c.mount && t(), c.mount = !p.isValid || !!a.keepIsValid, c.watch = !!e.shouldUnregister, h.state.next({
submitCount: a.keepSubmitCount ? i.submitCount : 0,
isDirty: a.keepDirty || a.keepDirtyValues ? i.isDirty : !(!a.keepDefaultValues || GM(n, s)),
isSubmitted: !!a.keepIsSubmitted && i.isSubmitted,
dirtyFields: a.keepDirty || a.keepDirtyValues ? i.dirtyFields : a.keepDefaultValues && n ? YM(s, n) : {},
touchedFields: a.keepTouched ? i.touchedFields : {},
errors: a.keepErrors ? i.errors : {},
isSubmitting: !1,
isSubmitSuccessful: !1
})
}, M = (e, t) => N(CM(e) ? e(l) : e, t);
return CM(n.defaultValues) && n.defaultValues().then((e => {
M(e, n.resetOptions), h.state.next({isLoading: !1})
})), {
control: {
register: L,
unregister: R,
getFieldState: D,
_executeSchema: w,
_focusError: j,
_getWatch: E,
_getDirty: S,
_updateValid: v,
_removeUnmounted: () => {
for (const e of u.unMount) {
const t = BN(o, e);
t && (t._f.refs ? t._f.refs.every((e => !qM(e))) : !qM(t._f.ref)) && R(e)
}
u.unMount = new Set
},
_updateFieldArray: (e, t = [], n, r, a = !0, u = !0) => {
if (r && n) {
if (c.action = !0, u && Array.isArray(BN(o, e))) {
const t = n(BN(o, e), r.argA, r.argB);
a && bM(o, e, t)
}
if (u && Array.isArray(BN(i.errors, e))) {
const t = n(BN(i.errors, e), r.argA, r.argB);
a && bM(i.errors, e, t), ((e, t) => {
!VN(BN(e, t)).length && VM(e, t)
})(i.errors, e)
}
if (p.touchedFields && u && Array.isArray(BN(i.touchedFields, e))) {
const t = n(BN(i.touchedFields, e), r.argA, r.argB);
a && bM(i.touchedFields, e, t)
}
p.dirtyFields && (i.dirtyFields = YM(s, l)), h.state.next({
name: e,
isDirty: S(e, t),
dirtyFields: i.dirtyFields,
errors: i.errors,
isValid: i.isValid
})
} else bM(l, e, t)
},
_getFieldArray: t => VN(BN(c.mount ? l : s, t, e.shouldUnregister ? BN(s, t, []) : [])),
_reset: N,
_updateFormState: e => {
i = {...i, ...e}
},
_subjects: h,
_proxyFormState: p,
get _fields() {
return o
},
get _formValues() {
return l
},
get _stateFlags() {
return c
},
set _stateFlags(e) {
c = e
},
get _defaultValues() {
return s
},
get _names() {
return u
},
set _names(e) {
u = e
},
get _formState() {
return i
},
set _formState(e) {
i = e
},
get _options() {
return n
},
set _options(e) {
n = {...n, ...e}
}
},
trigger: A,
register: L,
handleSubmit: (e, t) => async r => {
r && (r.preventDefault && r.preventDefault(), r.persist && r.persist());
let a = mM(l);
if (h.state.next({isSubmitting: !0}), n.resolver) {
const {errors: e, values: t} = await w();
i.errors = e, a = t
} else await k(o);
sM(i.errors) ? (h.state.next({errors: {}}), await e(a, r)) : (t && await t({...i.errors}, r), j()), h.state.next({
isSubmitted: !0,
isSubmitting: !1,
isSubmitSuccessful: sM(i.errors),
submitCount: i.submitCount + 1,
errors: i.errors
})
},
watch: (e, t) => CM(e) ? h.watch.subscribe({next: n => e(E(void 0, t), n)}) : E(e, t, !0),
setValue: O,
getValues: T,
reset: M,
resetField: (e, t = {}) => {
BN(o, e) && (UN(t.defaultValue) ? O(e, BN(s, e)) : (O(e, t.defaultValue), bM(s, e, t.defaultValue)), t.keepTouched || VM(i.touchedFields, e), t.keepDirty || (VM(i.dirtyFields, e), i.isDirty = t.defaultValue ? S(e, BN(s, e)) : S()), t.keepError || (VM(i.errors, e), p.isValid && v()), h.state.next({...i}))
},
clearErrors: e => {
e ? cM(e).forEach((e => VM(i.errors, e))) : i.errors = {}, h.state.next({errors: i.errors})
},
unregister: R,
setError: (e, t, n) => {
const r = (BN(o, e, {_f: {}})._f || {}).ref;
bM(i.errors, e, {...t, ref: r}), h.state.next({
name: e,
errors: i.errors,
isValid: !1
}), n && n.shouldFocus && r && r.focus && r.focus()
},
setFocus: (e, t = {}) => {
const n = BN(o, e), r = n && n._f;
if (r) {
const e = r.refs ? r.refs[0] : r.ref;
e.focus && (e.focus(), t.shouldSelect && e.select())
}
},
getFieldState: D
}
}
function nF(e = {}) {
const t = Ee.useRef(), [n, r] = Ee.useState({
isDirty: !1,
isValidating: !1,
isLoading: !0,
isSubmitted: !1,
isSubmitting: !1,
isSubmitSuccessful: !1,
isValid: !1,
submitCount: 0,
dirtyFields: {},
touchedFields: {},
errors: {},
defaultValues: CM(e.defaultValues) ? void 0 : e.defaultValues
});
t.current || (t.current = {...tF(e, (() => r((e => ({...e}))))), formState: n});
const a = t.current.control;
return a._options = e, dM({
subject: a._subjects.state, next: e => {
lM(e, a._proxyFormState, a._updateFormState, !0) && r({...a._formState})
}
}), Ee.useEffect((() => {
a._stateFlags.mount || (a._updateValid(), a._stateFlags.mount = !0), a._stateFlags.watch && (a._stateFlags.watch = !1, a._subjects.state.next({})), a._removeUnmounted()
})), Ee.useEffect((() => {
e.values && !GM(e.values, a._defaultValues) && a._reset(e.values, a._options.resetOptions)
}), [e.values, a]), Ee.useEffect((() => {
n.submitCount && a._focusError()
}), [a, n.submitCount]), t.current.formState = oM(n, a), t.current
}
var rF = n(5391);
var aF = function () {
let e = [], t = 0, n = e => {
e()
}, r = e => {
e()
};
const a = r => {
t ? e.push(r) : (0, rF.A4)((() => {
n(r)
}))
}, i = () => {
const t = e;
e = [], t.length && (0, rF.A4)((() => {
r((() => {
t.forEach((e => {
n(e)
}))
}))
}))
};
return {
batch: e => {
let n;
t++;
try {
n = e()
} finally {
t--, t || i()
}
return n
}, batchCalls: e => (...t) => {
a((() => {
e(...t)
}))
}, schedule: a, setNotifyFunction: e => {
n = e
}, setBatchNotifyFunction: e => {
r = e
}
}
}(), iF = class {
#r;
destroy() {
this.clearGcTimeout()
}
scheduleGc() {
this.clearGcTimeout(), (0, rF.PN)(this.gcTime) && (this.#r = setTimeout((() => {
this.optionalRemove()
}), this.gcTime))
}
updateGcTime(e) {
this.gcTime = Math.max(this.gcTime || 0, e ?? (rF.sk ? 1 / 0 : 3e5))
}
clearGcTimeout() {
this.#r && (clearTimeout(this.#r), this.#r = void 0)
}
}, oF = n(8974), sF = new class extends oF.l {
#a;
#t;
#n;
constructor() {
super(), this.#n = e => {
if (!rF.sk && window.addEventListener) {
const t = () => e();
return window.addEventListener("visibilitychange", t, !1), () => {
window.removeEventListener("visibilitychange", t)
}
}
}
}
onSubscribe() {
this.#t || this.setEventListener(this.#n)
}
onUnsubscribe() {
this.hasListeners() || (this.#t?.(), this.#t = void 0)
}
setEventListener(e) {
this.#n = e, this.#t?.(), this.#t = e((e => {
"boolean" === typeof e ? this.setFocused(e) : this.onFocus()
}))
}
setFocused(e) {
this.#a !== e && (this.#a = e, this.onFocus())
}
onFocus() {
this.listeners.forEach((e => {
e()
}))
}
isFocused() {
return "boolean" === typeof this.#a ? this.#a : "hidden" !== globalThis.document?.visibilityState
}
}, lF = n(1901);
function cF(e) {
return Math.min(1e3 * 2 ** e, 3e4)
}
function uF(e) {
return "online" !== (e ?? "online") || lF.N.isOnline()
}
var dF = class {
constructor(e) {
this.revert = e?.revert, this.silent = e?.silent
}
};
function pF(e) {
return e instanceof dF
}
function hF(e) {
let t, n, r, a = !1, i = 0, o = !1;
const s = new Promise(((e, t) => {
n = e, r = t
})), l = () => !sF.isFocused() || "always" !== e.networkMode && !lF.N.isOnline(), c = r => {
o || (o = !0, e.onSuccess?.(r), t?.(), n(r))
}, u = n => {
o || (o = !0, e.onError?.(n), t?.(), r(n))
}, d = () => new Promise((n => {
t = e => {
const t = o || !l();
return t && n(e), t
}, e.onPause?.()
})).then((() => {
t = void 0, o || e.onContinue?.()
})), p = () => {
if (o) return;
let t;
try {
t = e.fn()
} catch (n) {
t = Promise.reject(n)
}
Promise.resolve(t).then(c).catch((t => {
if (o) return;
const n = e.retry ?? (rF.sk ? 0 : 3), r = e.retryDelay ?? cF,
s = "function" === typeof r ? r(i, t) : r,
c = !0 === n || "number" === typeof n && i < n || "function" === typeof n && n(i, t);
!a && c ? (i++, e.onFail?.(i, t), (0, rF._v)(s).then((() => {
if (l()) return d()
})).then((() => {
a ? u(t) : p()
}))) : u(t)
}))
};
return uF(e.networkMode) ? p() : d().then(p), {
promise: s, cancel: t => {
o || (u(new dF(t)), e.abort?.())
}, continue: () => {
const e = t?.();
return e ? s : Promise.resolve()
}, cancelRetry: () => {
a = !0
}, continueRetry: () => {
a = !1
}
}
}
var fF = class extends iF {
constructor(e) {
super(), this.mutationId = e.mutationId, this.#i = e.defaultOptions, this.#o = e.mutationCache, this.#s = [], this.state = e.state || {
context: void 0,
data: void 0,
error: null,
failureCount: 0,
failureReason: null,
isPaused: !1,
status: "idle",
variables: void 0,
submittedAt: 0
}, this.setOptions(e.options), this.scheduleGc()
}
#s;
#i;
#o;
#l;
setOptions(e) {
this.options = {...this.#i, ...e}, this.updateGcTime(this.options.gcTime)
}
get meta() {
return this.options.meta
}
addObserver(e) {
this.#s.includes(e) || (this.#s.push(e), this.clearGcTimeout(), this.#o.notify({
type: "observerAdded",
mutation: this,
observer: e
}))
}
removeObserver(e) {
this.#s = this.#s.filter((t => t !== e)), this.scheduleGc(), this.#o.notify({
type: "observerRemoved",
mutation: this,
observer: e
})
}
optionalRemove() {
this.#s.length || ("pending" === this.state.status ? this.scheduleGc() : this.#o.remove(this))
}
continue() {
return this.#l?.continue() ?? this.execute(this.state.variables)
}
async execute(e) {
const t = () => (this.#l = hF({
fn: () => this.options.mutationFn ? this.options.mutationFn(e) : Promise.reject(new Error("No mutationFn found")),
onFail: (e, t) => {
this.#c({type: "failed", failureCount: e, error: t})
},
onPause: () => {
this.#c({type: "pause"})
},
onContinue: () => {
this.#c({type: "continue"})
},
retry: this.options.retry ?? 0,
retryDelay: this.options.retryDelay,
networkMode: this.options.networkMode
}), this.#l.promise), n = "pending" === this.state.status;
try {
if (!n) {
this.#c({type: "pending", variables: e}), await (this.#o.config.onMutate?.(e, this));
const t = await (this.options.onMutate?.(e));
t !== this.state.context && this.#c({type: "pending", context: t, variables: e})
}
const r = await t();
return await (this.#o.config.onSuccess?.(r, e, this.state.context, this)), await (this.options.onSuccess?.(r, e, this.state.context)), await (this.#o.config.onSettled?.(r, null, this.state.variables, this.state.context, this)), await (this.options.onSettled?.(r, null, e, this.state.context)), this.#c({
type: "success",
data: r
}), r
} catch (r) {
try {
throw await (this.#o.config.onError?.(r, e, this.state.context, this)), await (this.options.onError?.(r, e, this.state.context)), await (this.#o.config.onSettled?.(void 0, r, this.state.variables, this.state.context, this)), await (this.options.onSettled?.(void 0, r, e, this.state.context)), r
} finally {
this.#c({type: "error", error: r})
}
}
}
#c(e) {
this.state = (t => {
switch (e.type) {
case"failed":
return {...t, failureCount: e.failureCount, failureReason: e.error};
case"pause":
return {...t, isPaused: !0};
case"continue":
return {...t, isPaused: !1};
case"pending":
return {
...t,
context: e.context,
data: void 0,
failureCount: 0,
failureReason: null,
error: null,
isPaused: !uF(this.options.networkMode),
status: "pending",
variables: e.variables,
submittedAt: Date.now()
};
case"success":
return {
...t,
data: e.data,
failureCount: 0,
failureReason: null,
error: null,
status: "success",
isPaused: !1
};
case"error":
return {
...t,
data: void 0,
error: e.error,
failureCount: t.failureCount + 1,
failureReason: e.error,
isPaused: !1,
status: "error"
}
}
})(this.state), aF.batch((() => {
this.#s.forEach((t => {
t.onMutationUpdate(e)
})), this.#o.notify({mutation: this, type: "updated", action: e})
}))
}
};
var mF = class extends oF.l {
constructor(e, t) {
super(), this.#u = void 0, this.#d = e, this.setOptions(t), this.bindMethods(), this.#p()
}
#d;
#u;
#h;
#f;
bindMethods() {
this.mutate = this.mutate.bind(this), this.reset = this.reset.bind(this)
}
setOptions(e) {
const t = this.options;
this.options = this.#d.defaultMutationOptions(e), (0, rF.VS)(t, this.options) || this.#d.getMutationCache().notify({
type: "observerOptionsUpdated",
mutation: this.#h,
observer: this
}), this.#h?.setOptions(this.options)
}
onUnsubscribe() {
this.hasListeners() || this.#h?.removeObserver(this)
}
onMutationUpdate(e) {
this.#p(), this.#m(e)
}
getCurrentResult() {
return this.#u
}
reset() {
this.#h = void 0, this.#p(), this.#m()
}
mutate(e, t) {
return this.#f = t, this.#h?.removeObserver(this), this.#h = this.#d.getMutationCache().build(this.#d, this.options), this.#h.addObserver(this), this.#h.execute(e)
}
#p() {
const e = this.#h?.state ?? {
context: void 0,
data: void 0,
error: null,
failureCount: 0,
failureReason: null,
isPaused: !1,
status: "idle",
variables: void 0,
submittedAt: 0
};
this.#u = {
...e,
isPending: "pending" === e.status,
isSuccess: "success" === e.status,
isError: "error" === e.status,
isIdle: "idle" === e.status,
mutate: this.mutate,
reset: this.reset
}
}
#m(e) {
aF.batch((() => {
this.#f && this.hasListeners() && ("success" === e?.type ? (this.#f.onSuccess?.(e.data, this.#u.variables, this.#u.context), this.#f.onSettled?.(e.data, null, this.#u.variables, this.#u.context)) : "error" === e?.type && (this.#f.onError?.(e.error, this.#u.variables, this.#u.context), this.#f.onSettled?.(void 0, e.error, this.#u.variables, this.#u.context))), this.listeners.forEach((e => {
e(this.#u)
}))
}))
}
};
function gF(e, t) {
return "function" === typeof e ? e(...t) : !!e
}
function vF(e, t) {
const n = (0, J_.NL)(t), [r] = Ee.useState((() => new mF(n, e)));
Ee.useEffect((() => {
r.setOptions(e)
}), [r, e]);
const a = Ee.useSyncExternalStore(Ee.useCallback((e => r.subscribe(aF.batchCalls(e))), [r]), (() => r.getCurrentResult()), (() => r.getCurrentResult())),
i = Ee.useCallback(((e, t) => {
r.mutate(e, t).catch(_F)
}), [r]);
if (a.error && gF(r.options.throwOnError, [a.error])) throw a.error;
return {...a, mutate: i, mutateAsync: a.mutate}
}
function _F() {
}
const yF = (e = null, t = null, n = {}) => ({identity: e, device: t, sessions: n}), bF = (e, t) => ({
user: {
...yF(), actions: {
initialize: async () => {
const {environment: t} = await window.launcherAPI.game.getGlobalConfig(),
n = await window.launcherAPI.user.getIdentity(),
r = await window.launcherAPI.user.getDevice(),
a = await window.launcherAPI.user.getSession(), i = yF(n, r, a ? {[t]: a} : {});
var o, s, l;
n && vL().authentication.onSignInSuccess({
accountName: null !== (o = n.username) && void 0 !== o ? o : "",
trackingMetricsId: null !== (s = n.trackingMetricsId) && void 0 !== s ? s : "",
heapAccountId: null !== (l = n.heapAccountId) && void 0 !== l ? l : ""
});
e((e => ({user: {...e.user, ...i}})))
}, setSession: (n, r, a) => {
const {application: i} = t(), o = null !== r && void 0 !== r ? r : i.platformMaster;
a && o === i.platformMaster && window.launcherAPI.user.setSession(n), e((e => ({
user: {
...e.user,
sessions: {...e.user.sessions, [o]: {...e.user.sessions[o], ...n}}
}
})))
}, setIdentity: (t, n) => {
n && window.launcherAPI.user.setIdentity(t), e((e => ({user: {...e.user, identity: t}})))
}, setDevice: (t, n) => {
n && window.launcherAPI.user.setDevice(t), e((e => ({user: {...e.user, device: t}})))
}, resetUser: t => {
window.launcherAPI.user.setSession(null), window.launcherAPI.user.setIdentity(null), t && window.launcherAPI.user.setDevice(null), e((e => ({
user: {
...e.user, ...yF(),
device: t ? null : e.user.device
}
})))
}, clearSession: t => {
e((e => ({user: {...e.user, sessions: {...e.user.sessions, [t]: {}}}})))
}
}
}
}), xF = (e, t) => ({
queryKey: ["games", e, t],
queryFn: async () => YR.games.getRelease({gameId: e, channelId: t})
}), wF = (e, t) => ({
queryKey: [`platformContent-${e}-${t}`],
queryFn: async () => YR.content.getContent(e, t),
enabled: !uU.getState().application.isWindowMinimized || !uU.getState().application.actions.isOffline(),
select: e => ({
commLinks: e.commLinks.map(hL),
patchNotes: e.patchNotes.map(hL),
launcherCards: e.launcherCards.map(hL)
}),
refetchInterval: DR(cD.configuration.requestPollingInterval.gamePageContent.base, cD.configuration.requestPollingInterval.gamePageContent.window),
refetchOnWindowFocus: !1,
staleTime: 0,
gcTime: 0
}), kF = () => ({
queryKey: ["rsiLanguage"],
queryFn: async () => YR.language.getAvailableLanguages(),
staleTime: 30 * TR.minute
});
var SF = class extends iF {
constructor(e) {
super(), this.#g = !1, this.#i = e.defaultOptions, this.#v(e.options), this.#s = [], this.#_ = e.cache, this.queryKey = e.queryKey, this.queryHash = e.queryHash, this.#y = e.state || function (e) {
const t = "function" === typeof e.initialData ? e.initialData() : e.initialData,
n = "undefined" !== typeof t,
r = n ? "function" === typeof e.initialDataUpdatedAt ? e.initialDataUpdatedAt() : e.initialDataUpdatedAt : 0;
return {
data: t,
dataUpdateCount: 0,
dataUpdatedAt: n ? r ?? Date.now() : 0,
error: null,
errorUpdateCount: 0,
errorUpdatedAt: 0,
fetchFailureCount: 0,
fetchFailureReason: null,
fetchMeta: null,
isInvalidated: !1,
status: n ? "success" : "pending",
fetchStatus: "idle"
}
}(this.options), this.state = this.#y, this.scheduleGc()
}
#y;
#b;
#_;
#x;
#l;
#s;
#i;
#g;
get meta() {
return this.options.meta
}
#v(e) {
this.options = {...this.#i, ...e}, this.updateGcTime(this.options.gcTime)
}
optionalRemove() {
this.#s.length || "idle" !== this.state.fetchStatus || this.#_.remove(this)
}
setData(e, t) {
const n = (0, rF.oE)(this.state.data, e, this.options);
return this.#c({data: n, type: "success", dataUpdatedAt: t?.updatedAt, manual: t?.manual}), n
}
setState(e, t) {
this.#c({type: "setState", state: e, setStateOptions: t})
}
cancel(e) {
const t = this.#x;
return this.#l?.cancel(e), t ? t.then(rF.ZT).catch(rF.ZT) : Promise.resolve()
}
destroy() {
super.destroy(), this.cancel({silent: !0})
}
reset() {
this.destroy(), this.setState(this.#y)
}
isActive() {
return this.#s.some((e => !1 !== e.options.enabled))
}
isDisabled() {
return this.getObserversCount() > 0 && !this.isActive()
}
isStale() {
return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#s.some((e => e.getCurrentResult().isStale))
}
isStaleByTime(e = 0) {
return this.state.isInvalidated || !this.state.dataUpdatedAt || !(0, rF.Kp)(this.state.dataUpdatedAt, e)
}
onFocus() {
const e = this.#s.find((e => e.shouldFetchOnWindowFocus()));
e?.refetch({cancelRefetch: !1}), this.#l?.continue()
}
onOnline() {
const e = this.#s.find((e => e.shouldFetchOnReconnect()));
e?.refetch({cancelRefetch: !1}), this.#l?.continue()
}
addObserver(e) {
this.#s.includes(e) || (this.#s.push(e), this.clearGcTimeout(), this.#_.notify({
type: "observerAdded",
query: this,
observer: e
}))
}
removeObserver(e) {
this.#s.includes(e) && (this.#s = this.#s.filter((t => t !== e)), this.#s.length || (this.#l && (this.#g ? this.#l.cancel({revert: !0}) : this.#l.cancelRetry()), this.scheduleGc()), this.#_.notify({
type: "observerRemoved",
query: this,
observer: e
}))
}
getObserversCount() {
return this.#s.length
}
invalidate() {
this.state.isInvalidated || this.#c({type: "invalidate"})
}
fetch(e, t) {
if ("idle" !== this.state.fetchStatus) if (this.state.dataUpdatedAt && t?.cancelRefetch) this.cancel({silent: !0}); else if (this.#x) return this.#l?.continueRetry(), this.#x;
if (e && this.#v(e), !this.options.queryFn) {
const e = this.#s.find((e => e.options.queryFn));
e && this.#v(e.options)
}
const n = new AbortController, r = {queryKey: this.queryKey, meta: this.meta}, a = e => {
Object.defineProperty(e, "signal", {enumerable: !0, get: () => (this.#g = !0, n.signal)})
};
a(r);
const i = {
fetchOptions: t,
options: this.options,
queryKey: this.queryKey,
state: this.state,
fetchFn: () => this.options.queryFn ? (this.#g = !1, this.options.persister ? this.options.persister(this.options.queryFn, r, this) : this.options.queryFn(r)) : Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`))
};
a(i), this.options.behavior?.onFetch(i, this), this.#b = this.state, "idle" !== this.state.fetchStatus && this.state.fetchMeta === i.fetchOptions?.meta || this.#c({
type: "fetch",
meta: i.fetchOptions?.meta
});
const o = e => {
pF(e) && e.silent || this.#c({
type: "error",
error: e
}), pF(e) || (this.#_.config.onError?.(e, this), this.#_.config.onSettled?.(this.state.data, e, this)), this.isFetchingOptimistic || this.scheduleGc(), this.isFetchingOptimistic = !1
};
return this.#l = hF({
fn: i.fetchFn, abort: n.abort.bind(n), onSuccess: e => {
"undefined" !== typeof e ? (this.setData(e), this.#_.config.onSuccess?.(e, this), this.#_.config.onSettled?.(e, this.state.error, this), this.isFetchingOptimistic || this.scheduleGc(), this.isFetchingOptimistic = !1) : o(new Error(`${this.queryHash} data is undefined`))
}, onError: o, onFail: (e, t) => {
this.#c({type: "failed", failureCount: e, error: t})
}, onPause: () => {
this.#c({type: "pause"})
}, onContinue: () => {
this.#c({type: "continue"})
}, retry: i.options.retry, retryDelay: i.options.retryDelay, networkMode: i.options.networkMode
}), this.#x = this.#l.promise, this.#x
}
#c(e) {
this.state = (t => {
switch (e.type) {
case"failed":
return {...t, fetchFailureCount: e.failureCount, fetchFailureReason: e.error};
case"pause":
return {...t, fetchStatus: "paused"};
case"continue":
return {...t, fetchStatus: "fetching"};
case"fetch":
return {
...t,
fetchFailureCount: 0,
fetchFailureReason: null,
fetchMeta: e.meta ?? null,
fetchStatus: uF(this.options.networkMode) ? "fetching" : "paused", ...!t.dataUpdatedAt && {
error: null,
status: "pending"
}
};
case"success":
return {
...t,
data: e.data,
dataUpdateCount: t.dataUpdateCount + 1,
dataUpdatedAt: e.dataUpdatedAt ?? Date.now(),
error: null,
isInvalidated: !1,
status: "success", ...!e.manual && {
fetchStatus: "idle",
fetchFailureCount: 0,
fetchFailureReason: null
}
};
case"error":
const n = e.error;
return pF(n) && n.revert && this.#b ? {...this.#b, fetchStatus: "idle"} : {
...t,
error: n,
errorUpdateCount: t.errorUpdateCount + 1,
errorUpdatedAt: Date.now(),
fetchFailureCount: t.fetchFailureCount + 1,
fetchFailureReason: n,
fetchStatus: "idle",
status: "error"
};
case"invalidate":
return {...t, isInvalidated: !0};
case"setState":
return {...t, ...e.state}
}
})(this.state), aF.batch((() => {
this.#s.forEach((e => {
e.onQueryUpdate()
})), this.#_.notify({query: this, type: "updated", action: e})
}))
}
};
var EF = class extends oF.l {
constructor(e = {}) {
super(), this.config = e, this.#w = new Map
}
#w;
build(e, t, n) {
const r = t.queryKey, a = t.queryHash ?? (0, rF.Rm)(r, t);
let i = this.get(a);
return i || (i = new SF({
cache: this,
queryKey: r,
queryHash: a,
options: e.defaultQueryOptions(t),
state: n,
defaultOptions: e.getQueryDefaults(r)
}), this.add(i)), i
}
add(e) {
this.#w.has(e.queryHash) || (this.#w.set(e.queryHash, e), this.notify({type: "added", query: e}))
}
remove(e) {
const t = this.#w.get(e.queryHash);
t && (e.destroy(), t === e && this.#w.delete(e.queryHash), this.notify({type: "removed", query: e}))
}
clear() {
aF.batch((() => {
this.getAll().forEach((e => {
this.remove(e)
}))
}))
}
get(e) {
return this.#w.get(e)
}
getAll() {
return [...this.#w.values()]
}
find(e) {
const t = {exact: !0, ...e};
return this.getAll().find((e => (0, rF._x)(t, e)))
}
findAll(e = {}) {
const t = this.getAll();
return Object.keys(e).length > 0 ? t.filter((t => (0, rF._x)(e, t))) : t
}
notify(e) {
aF.batch((() => {
this.listeners.forEach((t => {
t(e)
}))
}))
}
onFocus() {
aF.batch((() => {
this.getAll().forEach((e => {
e.onFocus()
}))
}))
}
onOnline() {
aF.batch((() => {
this.getAll().forEach((e => {
e.onOnline()
}))
}))
}
}, IF = class extends oF.l {
constructor(e = {}) {
super(), this.config = e, this.#k = [], this.#S = 0
}
#k;
#S;
#E;
build(e, t, n) {
const r = new fF({
mutationCache: this,
mutationId: ++this.#S,
options: e.defaultMutationOptions(t),
state: n
});
return this.add(r), r
}
add(e) {
this.#k.push(e), this.notify({type: "added", mutation: e})
}
remove(e) {
this.#k = this.#k.filter((t => t !== e)), this.notify({type: "removed", mutation: e})
}
clear() {
aF.batch((() => {
this.#k.forEach((e => {
this.remove(e)
}))
}))
}
getAll() {
return this.#k
}
find(e) {
const t = {exact: !0, ...e};
return this.#k.find((e => (0, rF.X7)(t, e)))
}
findAll(e = {}) {
return this.#k.filter((t => (0, rF.X7)(e, t)))
}
notify(e) {
aF.batch((() => {
this.listeners.forEach((t => {
t(e)
}))
}))
}
resumePausedMutations() {
return this.#E = (this.#E ?? Promise.resolve()).then((() => {
const e = this.#k.filter((e => e.state.isPaused));
return aF.batch((() => e.reduce(((e, t) => e.then((() => t.continue().catch(rF.ZT)))), Promise.resolve())))
})).then((() => {
this.#E = void 0
})), this.#E
}
};
function CF(e) {
return {
onFetch: (t, n) => {
const r = async () => {
const n = t.options, r = t.fetchOptions?.meta?.fetchMore?.direction,
a = t.state.data?.pages || [], i = t.state.data?.pageParams || [],
o = {pages: [], pageParams: []};
let s = !1;
const l = t.options.queryFn || (() => Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),
c = async (e, n, r) => {
if (s) return Promise.reject();
if (null == n && e.pages.length) return Promise.resolve(e);
const a = {
queryKey: t.queryKey,
pageParam: n,
direction: r ? "backward" : "forward",
meta: t.options.meta
};
var i;
i = a, Object.defineProperty(i, "signal", {
enumerable: !0,
get: () => (t.signal.aborted ? s = !0 : t.signal.addEventListener("abort", (() => {
s = !0
})), t.signal)
});
const o = await l(a), {maxPages: c} = t.options, u = r ? rF.Ht : rF.VX;
return {pages: u(e.pages, o, c), pageParams: u(e.pageParams, n, c)}
};
let u;
if (r && a.length) {
const e = "backward" === r, t = {pages: a, pageParams: i}, o = (e ? PF : OF)(n, t);
u = await c(t, o, e)
} else {
u = await c(o, i[0] ?? n.initialPageParam);
const t = e ?? a.length;
for (let e = 1; e < t; e++) {
const e = OF(n, u);
u = await c(u, e)
}
}
return u
};
t.options.persister ? t.fetchFn = () => t.options.persister?.(r, {
queryKey: t.queryKey,
meta: t.options.meta,
signal: t.signal
}, n) : t.fetchFn = r
}
}
}
function OF(e, {pages: t, pageParams: n}) {
const r = t.length - 1;
return e.getNextPageParam(t[r], t, n[r], n)
}
function PF(e, {pages: t, pageParams: n}) {
return e.getPreviousPageParam?.(t[0], t, n[0], n)
}
const AF = async e => {
var t;
if (!(e instanceof YD || e instanceof FR)) return;
if (!TF(e)) return;
const {application: {platformMaster: n}, user: {identity: r}} = uU.getState(),
a = e instanceof FR ? dD : e.code,
i = e instanceof FR ? n : null !== (t = e.environment) && void 0 !== t ? t : n;
window.launcherAPI.analytics.setAnalyticsEvent(cD.AnalyticsEventName.APP_API_ERROR, {
ErrorCode: a,
ErrorMessage: e.message, ...r,
Environment: i
})
}, TF = e => {
if (e instanceof dR || e instanceof pR || e instanceof XD || e instanceof sR || e instanceof FR) return !0;
const {application: {connection: t}} = uU.getState();
return e instanceof gR && t.mode === cD.ConnectionMode.ONLINE
}, DF = async e => {
switch (!0) {
case e instanceof dR:
await YF.logOutCurrentUser(), await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_denied_request_title", {ns: "errors"}),
content: e.message
});
break;
case e instanceof pR:
await YF.logOutCurrentUser(), await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_too_many_requests_title", {ns: "errors"}),
content: e.message
});
break;
case e instanceof gR:
const {application: {connection: t, actions: n}} = uU.getState();
if (t.mode === cD.ConnectionMode.NO_CONNECTION) return;
n.checkConnection();
break;
case e instanceof XD:
await YF.logOutCurrentUser(), await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_auth_expired_title", {ns: "errors"}),
content: e.message
});
break;
case e instanceof iR:
case e instanceof lR:
case e instanceof QD:
case e instanceof sR:
case e instanceof FR:
case e instanceof ZD:
case e instanceof nR:
case e instanceof rR:
break;
case e instanceof eR:
await YF.logOutCurrentUser(), await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_generic_title", {ns: "errors"}),
content: e.message
});
break;
case e instanceof tR:
case e instanceof aR:
break;
default:
await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_generic_title", {ns: "errors"}),
content: e.message
})
}
}, RF = new class {
#I;
#o;
#i;
#C;
#O;
#P;
#A;
#T;
constructor(e = {}) {
this.#I = e.queryCache || new EF, this.#o = e.mutationCache || new IF, this.#i = e.defaultOptions || {}, this.#C = new Map, this.#O = new Map, this.#P = 0
}
mount() {
this.#P++, 1 === this.#P && (this.#A = sF.subscribe((() => {
sF.isFocused() && (this.resumePausedMutations(), this.#I.onFocus())
})), this.#T = lF.N.subscribe((() => {
lF.N.isOnline() && (this.resumePausedMutations(), this.#I.onOnline())
})))
}
unmount() {
this.#P--, 0 === this.#P && (this.#A?.(), this.#A = void 0, this.#T?.(), this.#T = void 0)
}
isFetching(e) {
return this.#I.findAll({...e, fetchStatus: "fetching"}).length
}
isMutating(e) {
return this.#o.findAll({...e, status: "pending"}).length
}
getQueryData(e) {
return this.#I.find({queryKey: e})?.state.data
}
ensureQueryData(e) {
const t = this.getQueryData(e.queryKey);
return void 0 !== t ? Promise.resolve(t) : this.fetchQuery(e)
}
getQueriesData(e) {
return this.getQueryCache().findAll(e).map((({queryKey: e, state: t}) => [e, t.data]))
}
setQueryData(e, t, n) {
const r = this.#I.find({queryKey: e})?.state.data, a = (0, rF.SE)(t, r);
if ("undefined" === typeof a) return;
const i = this.defaultQueryOptions({queryKey: e});
return this.#I.build(this, i).setData(a, {...n, manual: !0})
}
setQueriesData(e, t, n) {
return aF.batch((() => this.getQueryCache().findAll(e).map((({queryKey: e}) => [e, this.setQueryData(e, t, n)]))))
}
getQueryState(e) {
return this.#I.find({queryKey: e})?.state
}
removeQueries(e) {
const t = this.#I;
aF.batch((() => {
t.findAll(e).forEach((e => {
t.remove(e)
}))
}))
}
resetQueries(e, t) {
const n = this.#I, r = {type: "active", ...e};
return aF.batch((() => (n.findAll(e).forEach((e => {
e.reset()
})), this.refetchQueries(r, t))))
}
cancelQueries(e = {}, t = {}) {
const n = {revert: !0, ...t}, r = aF.batch((() => this.#I.findAll(e).map((e => e.cancel(n)))));
return Promise.all(r).then(rF.ZT).catch(rF.ZT)
}
invalidateQueries(e = {}, t = {}) {
return aF.batch((() => {
if (this.#I.findAll(e).forEach((e => {
e.invalidate()
})), "none" === e.refetchType) return Promise.resolve();
const n = {...e, type: e.refetchType ?? e.type ?? "active"};
return this.refetchQueries(n, t)
}))
}
refetchQueries(e = {}, t) {
const n = {...t, cancelRefetch: t?.cancelRefetch ?? !0},
r = aF.batch((() => this.#I.findAll(e).filter((e => !e.isDisabled())).map((e => {
let t = e.fetch(void 0, n);
return n.throwOnError || (t = t.catch(rF.ZT)), "paused" === e.state.fetchStatus ? Promise.resolve() : t
}))));
return Promise.all(r).then(rF.ZT)
}
fetchQuery(e) {
const t = this.defaultQueryOptions(e);
"undefined" === typeof t.retry && (t.retry = !1);
const n = this.#I.build(this, t);
return n.isStaleByTime(t.staleTime) ? n.fetch(t) : Promise.resolve(n.state.data)
}
prefetchQuery(e) {
return this.fetchQuery(e).then(rF.ZT).catch(rF.ZT)
}
fetchInfiniteQuery(e) {
return e.behavior = CF(e.pages), this.fetchQuery(e)
}
prefetchInfiniteQuery(e) {
return this.fetchInfiniteQuery(e).then(rF.ZT).catch(rF.ZT)
}
resumePausedMutations() {
return this.#o.resumePausedMutations()
}
getQueryCache() {
return this.#I
}
getMutationCache() {
return this.#o
}
getDefaultOptions() {
return this.#i
}
setDefaultOptions(e) {
this.#i = e
}
setQueryDefaults(e, t) {
this.#C.set((0, rF.Ym)(e), {queryKey: e, defaultOptions: t})
}
getQueryDefaults(e) {
const t = [...this.#C.values()];
let n = {};
return t.forEach((t => {
(0, rF.to)(e, t.queryKey) && (n = {...n, ...t.defaultOptions})
})), n
}
setMutationDefaults(e, t) {
this.#O.set((0, rF.Ym)(e), {mutationKey: e, defaultOptions: t})
}
getMutationDefaults(e) {
const t = [...this.#O.values()];
let n = {};
return t.forEach((t => {
(0, rF.to)(e, t.mutationKey) && (n = {...n, ...t.defaultOptions})
})), n
}
defaultQueryOptions(e) {
if (e?._defaulted) return e;
const t = {
...this.#i.queries, ...e?.queryKey && this.getQueryDefaults(e.queryKey), ...e,
_defaulted: !0
};
return t.queryHash || (t.queryHash = (0, rF.Rm)(t.queryKey, t)), "undefined" === typeof t.refetchOnReconnect && (t.refetchOnReconnect = "always" !== t.networkMode), "undefined" === typeof t.throwOnError && (t.throwOnError = !!t.suspense), "undefined" === typeof t.networkMode && t.persister && (t.networkMode = "offlineFirst"), t
}
defaultMutationOptions(e) {
return e?._defaulted ? e : {
...this.#i.mutations, ...e?.mutationKey && this.getMutationDefaults(e.mutationKey), ...e,
_defaulted: !0
}
}
clear() {
this.#I.clear(), this.#o.clear()
}
}({
defaultOptions: {
queries: {
gcTime: 12e5,
staleTime: 3e5,
networkMode: "online",
refetchOnReconnect: "always"
}
}, mutationCache: new IF({
onError: async e => {
await AF(e), await DF(e), window.launcherAPI.log.error(`[Mutation] Error: ${e.message}`)
}
}), queryCache: new EF({
onError: async e => {
await AF(e), await DF(e), window.launcherAPI.log.error(`[Query] Error: ${e.message}`)
}
})
});
class LF extends Error {
}
const jF = "SC", NF = "LIVE",
MF = {platformId: "prod", gameId: jF, gameName: "Star Citizen", channelId: NF, channelName: "Live Release"},
FF = (e, t) => e.weight - t.weight, zF = (e, t) => e.weight - t.weight, VF = {
LIVE: 20,
PTU: 19,
SHADOW: 18,
QA: 17,
DEV: 16,
EPTU: 15,
KOSMODROM: 14,
CANAVERAL: 13,
THE_OCHO: 12,
STARBASE: 11,
SQ42: 10
}, UF = (e, t) => (VF[t] || 0) - (VF[e] || 0);
const BF = new class {
constructor() {
this.listeners = []
}
registerEventListener() {
const e = vL();
this.listeners = [e.game.onLaunchGameSuccessfull(this.setLaunchGameSuccessfull.bind(this)), e.game.onLaunchGameStopped(this.setLaunchGameStopped.bind(this)), e.game.onLaunchGameFailed(this.setLaunchGameFailed.bind(this))]
}
removeEventListener() {
this.listeners.forEach((e => {
e()
}))
}
setLaunchGameSuccessfull(e) {
const {library: t, agreements: n} = uU.getState();
t.actions.setGameChannelRunning(e), n.actions.setWarningHasBeenAccepted(!1)
}
setLaunchGameStopped(e) {
const {library: t, soundSystem: n} = uU.getState(), r = vL(),
a = qF(t.installedGames, e, cD.GameChannelStatus.INSTALLED);
t.actions.setInstalledGames(a), t.actions.setGameChannelRunning(void 0), n.actions.unmute(), r.window.setRestoreWindow()
}
async setLaunchGameFailed(e) {
const {library: t, soundSystem: n} = uU.getState(), r = vL(), {payload: a} = e, i = {
gameId: a.gameId,
channelId: a.channelId,
platformId: a.platformId,
gameName: a.gameName,
channelName: a.channelName
}, o = qF(t.installedGames, i, cD.GameChannelStatus.INSTALLED);
t.actions.setInstalledGames(o), t.actions.setGameChannelRunning(void 0), n.actions.unmute(), r.window.setRestoreWindow();
const s = (0, cD.serializerLaunchErrors)(e);
await XR(Cz(s))
}
getAvailableChannelsSorted(e) {
var t;
const {library: n} = uU.getState(), r = n.availableGames.find((t => t.id === e));
return (null !== (t = null === r || void 0 === r ? void 0 : r.channels) && void 0 !== t ? t : []).sort(zF)
}
getInstalledChannelsSorted(e) {
var t;
const {library: n} = uU.getState(), r = n.installedGames.find((t => t.id === e));
return (null !== (t = null === r || void 0 === r ? void 0 : r.channels) && void 0 !== t ? t : []).sort(zF)
}
getAvailableChannel(e) {
return this.getAvailableChannelsSorted(e.gameId).find((t => t.id === e.channelId))
}
getAvailableGamesWeightSorted() {
const {library: e} = uU.getState();
return e.availableGames.sort(FF).map((e => {
const t = e.channels.sort(zF);
return {...e, channels: t}
}))
}
getInstalledChannel(e) {
return this.getInstalledChannelsSorted(e.gameId).find((t => t.id === e.channelId))
}
async addInstalledGameChannel(e) {
var t, n, r, a;
const {library: i} = uU.getState(), {libraryFolder: o} = await HF(e),
s = null !== (t = i.availableGames.find((({id: t}) => t === e.gameId))) && void 0 !== t ? t : null,
l = null === s || void 0 === s ? void 0 : s.channels.find((({
id: t,
platformId: n
}) => t === e.channelId && n === e.platformId));
if (!l || !s) return;
const c = null !== (n = i.installedGames.find((({id: t}) => t === e.gameId))) && void 0 !== n ? n : null,
u = null !== (r = null === c || void 0 === c ? void 0 : c.channels.find((({id: t}) => t === e.channelId))) && void 0 !== r ? r : null;
if (u) return;
const d = {
...null !== c && void 0 !== c ? c : s,
channels: [...null !== (a = null === c || void 0 === c ? void 0 : c.channels) && void 0 !== a ? a : [], {
...l,
libraryFolder: o,
status: cD.GameChannelStatus.AVAILABLE
}]
}, p = [...i.installedGames.filter((e => e.id !== d.id)), d];
i.actions.setInstalledGames(p)
}
saveInstalledGameChannel(e) {
const {library: t} = uU.getState(), n = qF(t.installedGames, e, cD.GameChannelStatus.INSTALLED);
t.actions.setInstalledGames(n)
}
removeInstalledGameChannel(e) {
var t, n;
const {library: r} = uU.getState(),
a = null !== (t = r.installedGames.find((({id: t}) => t === e.gameId))) && void 0 !== t ? t : null,
i = null !== (n = null === a || void 0 === a ? void 0 : a.channels.find((({id: t}) => t === e.channelId))) && void 0 !== n ? n : null;
if (!a || !i) return;
const o = {...a, channels: a.channels.filter((t => t.id !== e.channelId))},
s = [...r.installedGames.filter((e => e.id !== o.id)), o];
r.actions.setInstalledGames(s)
}
changeGameSelected(e) {
const {library: t} = uU.getState(), n = GF(e, t.availableGames);
if (void 0 === n) return;
const r = n.channels.length > 0 ? {
gameId: n.id,
gameName: n.name,
channelId: n.channels[0].id,
channelName: n.channels[0].name,
platformId: n.channels[0].platformId
} : void 0;
t.actions.setGameSelected(n.id), t.actions.setGameChannelSelected(r)
}
async launchGame(e) {
const {library: t, soundSystem: n, dialog: r} = uU.getState(), a = vL();
if (!t.gameChannelSelected) return;
const i = this.getInstalledChannel(e);
if (!GF(t.gameChannelSelected.gameId, t.availableGames) || !i) return;
if (await a.game.isGameProcessRunning()) await r.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_game_running_title", {ns: "errors"}),
content: xt.t("error_launch_game_running_content", {ns: "errors"})
}); else try {
const o = await HF(e);
if (KF(i.version, o.version)) {
const n = qF(t.installedGames, e, cD.GameChannelStatus.UPDATE_AVAILABLE);
return t.actions.setInstalledGames(n), void await r.actions.showGameChannelUpdateAvailableDialog(e)
}
if (!await Ez.validateRequirements()) return;
const s = await $F(e.platformId, e.gameId), l = {
...o,
libraryFolder: o.libraryFolder,
nickname: s.username,
token: s.sessionToken.value,
authToken: s.gameToken.token
};
n.actions.changeVolume(0, 2e3), a.window.setMinimizeWindow(), a.game.launchGame(l)
} catch (o) {
if (a.log.error(`[Library Slice] Not able to launch the game : ${o}`), o instanceof uR) return void await r.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_account_not_found_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_account_not_found_content",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.copyPTUAccountSupportUrl,
external: !0
})]
})
}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: o.code,
ns: "errors"
})
})]
})
});
if (o instanceof LF) return void await r.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_check_update_unavailable_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_launch_check_update_unavailable_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: "6004",
ns: "errors"
})
})]
})
});
await uU.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_unknown_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_unknown_content",
t: xt.t,
ns: "errors"
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: cD.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN,
ns: "errors"
})
})]
})
})
}
}
async checkForGameChannelsUpdates() {
const {library: e} = uU.getState();
try {
const t = await RF.fetchQuery({
queryKey: ["library"],
queryFn: async () => YR.games.getLibrary(),
staleTime: TR.minute
});
e.actions.setAvailableGames(t);
const n = e => e.channels.map((n => {
const r = null === t || void 0 === t ? void 0 : t.find((({id: t}) => t === e.id)),
a = null === r || void 0 === r ? void 0 : r.channels.find((({id: e}) => e === n.id));
return a && KF(n.version, a.version) ? {
...n,
versionLabel: a.versionLabel,
version: a.version,
status: cD.GameChannelStatus.UPDATE_AVAILABLE
} : n
})), r = e.installedGames.map((e => ({...e, channels: n(e)})));
e.actions.setInstalledGames(r)
} catch (sB) {
throw new LF
}
}
async checkForGameChannelUpdates(e) {
const {library: t, toasts: n} = uU.getState();
try {
const r = await RF.fetchQuery(xF(e.gameId, e.channelId));
let a = !1;
const i = t => t.channels.map((n => {
if (r.gameId === t.id && r.channelId === n.id) return n;
const i = KF(n.version, r.version);
return e.gameId === t.id && e.channelId === n.id && (a = i), i ? {
...n,
versionLabel: r.versionLabel,
version: r.version,
status: cD.GameChannelStatus.UPDATE_AVAILABLE
} : n
})), o = t.installedGames.map((e => ({...e, channels: i(e)})));
return t.actions.setInstalledGames(o), n.actions.add({
title: xt.t(a ? "game_page_settings_check_update_toast_yes" : "game_page_settings_check_update_toast_no", {
ns: "gamePage",
game: e.gameName,
channel: e.channelName
}), type: a ? "positive" : "informative"
}), a
} catch (sB) {
throw new LF
}
}
}, GF = (e, t) => t.find((({id: t}) => t === e)), $F = async (e, t, n = !0) => {
const r = uU.getState().user;
if (!r.identity) throw new Error("Identification of the user cannot be retrieved");
try {
const n = await YF.getSession(e), a = await RF.fetchQuery(((e, t, n) => ({
queryKey: [`gameToken-${e}-${t}-${n.value}`],
queryFn: async () => YR.games.getGameToken(e, t, n),
staleTime: TR.day
}))(e, t, n));
return {
username: r.identity.username,
heapAccountId: r.identity.heapAccountId,
sessionToken: n,
gameToken: a
}
} catch (a) {
if (a instanceof XD && n) return YF.clearSession(e), $F(e, t, !1);
throw a
}
}, qF = (e, t, n) => {
const r = e.find((({id: e}) => e === t.gameId)),
a = null === r || void 0 === r ? void 0 : r.channels.find((({id: e}) => e === t.channelId));
if (!r || !a) return e;
const i = r.channels.filter((e => e.id !== t.channelId)), o = {...r, channels: [...i, {...a, status: n}]};
return [...e.filter((e => e.id !== t.gameId)), o]
}, WF = e => ({...e, logo: void 0, logoWide: void 0, logoAnimation: void 0, bgImage: void 0, bgVideo: void 0}),
HF = async e => {
try {
var t, n, r, a, i, o, s, l, c, u, d;
const {storage: p, settings: h} = uU.getState(), {
gameId: f,
channelId: m,
gameName: g,
channelName: v,
platformId: _
} = e, y = BF.getInstalledChannel(e), b = await RF.fetchQuery(xF(f, m)),
x = await h.actions.getChannelGameSettings({
platformId: _,
gameId: f,
gameName: g,
channelId: m,
channelName: v
});
return {
...b,
gameId: f,
gameName: g,
channelId: m,
channelName: v,
platformId: _,
libraryFolder: null !== (t = null !== (n = null === y || void 0 === y ? void 0 : y.libraryFolder) && void 0 !== n ? n : null === x || void 0 === x ? void 0 : x.libraryFolder) && void 0 !== t ? t : p.defaultLibraryFolder,
servicesEndpoint: null !== (r = null === x || void 0 === x ? void 0 : x.servicesEndpoint) && void 0 !== r ? r : b.servicesEndpoint,
installDir: null !== (a = null === x || void 0 === x ? void 0 : x.installDir) && void 0 !== a ? a : b.installDir,
eacSandbox: null !== (i = null === x || void 0 === x ? void 0 : x.eacSandbox) && void 0 !== i && i,
network: null !== (o = null === x || void 0 === x ? void 0 : x.network) && void 0 !== o ? o : b.network,
port: null !== (s = null !== (l = null === x || void 0 === x ? void 0 : x.port) && void 0 !== l ? l : b.universePort) && void 0 !== s ? s : 8e3,
hostname: null !== (c = null === x || void 0 === x ? void 0 : x.hostname) && void 0 !== c ? c : b.universeHost,
executable: null !== (u = null === x || void 0 === x ? void 0 : x.executable) && void 0 !== u ? u : b.executable,
launchOptions: null !== (d = null === x || void 0 === x ? void 0 : x.launchOptions) && void 0 !== d ? d : b.launchOptions
}
} catch (p) {
throw new LF("We could not get any information about the game")
}
}, KF = (e, t) => t > e;
const YF = new class {
async getSession(e) {
const {application: t, user: n} = uU.getState(),
r = n.sessions[null !== e && void 0 !== e ? e : t.platformMaster];
if (r && (e => "key" in e && "value" in e && "cookie" in e)(r)) return r;
const a = await RF.fetchQuery((i = e, {
queryKey: [`signinSession-${i}`],
queryFn: async () => YR.authentication.getSignInSession(i)
}));
var i;
if (!a) throw new YD({
message: `Not able to log-in to ${e} platform.`,
code: uD,
payload: null,
environment: e
});
return n.actions.setSession(a, e), a
}
setSession({session: e, platform: t, remember: n = !1}) {
const {user: r} = uU.getState();
r.actions.setSession(e, t, n)
}
clearSession(e) {
const {user: t} = uU.getState();
t.actions.clearSession(e)
}
setIdentity({identity: e, remember: t = !1}) {
const {user: n} = uU.getState();
n.actions.setIdentity(e, t)
}
setDevice({device: e, remember: t = !1}) {
const {user: n} = uU.getState();
n.actions.setDevice(e, t)
}
isLoggedIn(e, t) {
var n, r;
const {application: a, user: i} = uU.getState(),
o = null !== (n = i.sessions[a.platformMaster]) && void 0 !== n ? n : e,
s = null !== (r = i.identity) && void 0 !== r ? r : t;
return !!o && !!s
}
resetUser({clearDevice: e}) {
const {user: t} = uU.getState();
t.actions.resetUser(e)
}
async logOutCurrentUser(e = {clearDevice: !1}) {
var t;
const {application: n, authentication: r, user: a} = uU.getState(),
i = (null === (t = a.device) || void 0 === t ? void 0 : t.duration) === SR.SESSION || (null === e || void 0 === e ? void 0 : e.clearDevice);
try {
(a.sessions[n.platformMaster] && Object.keys(a.sessions[n.platformMaster] || {}).length > 0 ? a.sessions[n.platformMaster] : null) && (YR.games.clearClaims(), await YR.authentication.signOut({clearDevice: i}))
} catch (o) {
if (o instanceof Error && !n.actions.isOffline()) {
const e = new cD.GenericError({
code: cD.errorsNames.ERR_LOGOUT_FAILED,
message: `[Logout] Error: Failed ${o}`,
payload: null
});
throw await XR(JR(e)), o
}
} finally {
RF.clear(), r.actions.resetAuthentication(), n.actions.resetApplication(), YF.resetUser(e), vL().authentication.setSignOut()
}
}
}, QF = {cancelOnUnmount: !0, cancelOnConditionChange: !0}, ZF = (e, t, n, r = QF) => {
const a = {...QF, ...r || {}}, i = (0, Ee.useRef)(), o = (0, Ee.useRef)(e), [s, l] = (0, Ee.useState)(!1),
c = (e => {
const t = (0, Ee.useRef)();
return (0, Ee.useEffect)((() => (t.current = e, () => {
t.current = void 0
}))), t.current
})(n), u = (0, Ee.useCallback)((() => {
i.current && (clearTimeout(i.current), l(!0))
}), []);
return (0, Ee.useEffect)((() => {
var t;
"function" === typeof (t = e) && t.constructor && t.call && t.apply && (o.current = e)
}), [e]), (0, Ee.useEffect)((() => {
n && "number" === typeof t && (i.current = setTimeout((() => {
o.current()
}), t))
}), [n, t]), (0, Ee.useEffect)((() => {
c && n !== c && a.cancelOnConditionChange && u()
}), [n, r]), (0, Ee.useEffect)((() => () => {
a.cancelOnUnmount && u()
}), []), [s, u]
}, XF = (e, t) => ({
library: {
availableGames: [],
installedGames: [],
gameSelected: jF,
gameChannelSelected: MF,
gameChannelRunning: void 0,
actions: {
initialize: async () => {
var t, n;
const r = null !== (t = await window.launcherAPI.store.getValueFromStore("library.installed")) && void 0 !== t ? t : [],
a = null !== (n = await window.launcherAPI.store.getValueFromStore("library.available")) && void 0 !== n ? n : [],
i = (await window.launcherAPI.store.getValueFromStore("library.defaults")).find((e => e.gameId === MF.gameId));
e((e => {
var t;
return {
library: {
...e.library,
availableGames: a,
installedGames: r,
gameSelected: null !== (t = null === i || void 0 === i ? void 0 : i.gameId) && void 0 !== t ? t : jF,
gameChannelSelected: null !== i && void 0 !== i ? i : MF
}
}
}))
}, setAvailableGames: t => {
var n;
const r = null !== (n = cD.configuration.assets.games) && void 0 !== n ? n : [],
a = cD.configuration.assets.directory, i = t.map((e => {
const t = r.find((t => t.id === e.id));
return {
...e,
logo: a + (null === t || void 0 === t ? void 0 : t.logo),
logoWide: a + (null === t || void 0 === t ? void 0 : t.logoWide),
logoAnimation: a + (null === t || void 0 === t ? void 0 : t.logoAnimation),
bgImage: a + (null === t || void 0 === t ? void 0 : t.bgImage),
bgVideo: a + (null === t || void 0 === t ? void 0 : t.bgVideo)
}
}));
e((e => ({
library: {
...e.library,
availableGames: i
}
}))), window.launcherAPI.store.setValueToStore("library.available", i)
}, setInstalledGames: t => {
e((e => ({
library: {
...e.library,
installedGames: t
}
}))), window.launcherAPI.store.setValueToStore("library.installed", t.map(WF))
}, setGameChannelSelected: async t => {
e((e => ({library: {...e.library, gameChannelSelected: t}})));
const n = (await window.launcherAPI.store.getValueFromStore("library.defaults")).filter((e => e.gameId !== (null === t || void 0 === t ? void 0 : t.gameId)));
window.launcherAPI.store.setValueToStore("library.defaults", [...n, t])
}, setGameSelected: t => {
e((e => ({library: {...e.library, gameSelected: t}})))
}, setGameChannelRunning: t => {
e((e => ({library: {...e.library, gameChannelRunning: t}})))
}
}
}
}), JF = [{id: "website", action: () => window.open(cD.configuration.websiteUrl, "_blank")}, {
id: "report_bug",
action: () => window.open(cD.configuration.issueCouncilUrl, "_blank")
}, {id: "spectrum", action: () => window.open(cD.configuration.spectrumUrl, "_blank")}, {
id: "community_hub",
action: () => window.open(cD.configuration.communityHubUrl, "_blank")
}, {id: "support", action: () => window.open(cD.configuration.supportUrl, "_blank")}], ez = () => {
const {t: e} = bt("tray"), {tray: {onMenuItemClicked: t, updateMenu: n}} = vL(), {isMinimized: r} = (() => {
const e = (0, Ee.useContext)(PL);
if (!e) throw new Error("useTheme must be used within a ThemeProvider");
return e
})(), {
exitLauncher: a,
logoutLauncher: i
} = uU((e => e.window.actions)), {identity: o} = uU((e => e.user)), {
volume: s,
actions: {mute: l, unmute: c}
} = uU((e => e.soundSystem)), u = 0 === s, d = !!o,
p = (0, Ee.useMemo)((() => [...JF, {id: "logout", action: i, visible: d}, {
id: "mute",
action: l,
visible: !u && !r
}, {id: "unmute", action: c, visible: u && !r}, {id: "quit", action: a}]), [a, r, u, d, i, l, c]),
h = p.map((({action: t, id: n, visible: r}) => ({id: n, label: e(`tray_${n}`), visible: r})));
n(h), (0, Ee.useEffect)((() => {
const e = t((e => {
var t;
return null === (t = p.find((t => t.id === e))) || void 0 === t ? void 0 : t.action()
}));
return e
}), [p, t])
};
let tz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M8.75 1.75V7h5.594v.006a.75.75 0 0 1 0 1.488V8.5H8.75v5.875h-.01a.75.75 0 0 1-1.48 0h-.01V8.5h-5.5c.001 0 0 0 0 0h-.094v-.006a.75.75 0 0 1 0-1.488V7H7.25V1.75a.75.75 0 0 1 1.5 0Z"}))
}, nz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "m1.216 8.511 2.936 2.936a.748.748 0 0 0 1.326-.48.748.748 0 0 0-.247-.557L3.554 8.733h10.821v-.01a.75.75 0 0 0 0-1.48v-.01H3.555L5.23 5.556a.75.75 0 1 0-1.08-1.037L1.217 7.455a.748.748 0 0 0 0 1.056Z"}))
}, rz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M8.782 11.124a1.002 1.002 0 0 1-1.564 0L3.226 6.15c-.532-.663-.064-1.65.782-1.65h7.984c.846 0 1.314.987.782 1.65l-3.992 4.974Z"}))
}, az = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M8.782 4.876a1.002 1.002 0 0 0-1.564 0L3.226 9.85c-.532.662-.064 1.65.782 1.65h7.984c.846 0 1.314-.988.782-1.65L8.782 4.876Z"}))
}, iz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "m8.182 1.444 2.23 2.35a.749.749 0 0 1-.002 1.145l-2.4 2.278a.748.748 0 0 1-1.312-.515.748.748 0 0 1 .26-.55l1.177-1.116c-2.425.182-3.462 1.14-3.945 2.018-.523.95-.504 1.968-.494 2.512a17.117 17.117 0 0 1 .002.143v.013a.18.18 0 0 1 0 .01v.009a.75.75 0 0 1-1.5 0l-.003-.13c-.014-.514-.053-1.946.68-3.28.784-1.424 2.347-2.598 5.229-2.796L7.076 2.452a.75.75 0 1 1 1.106-1.008ZM7.829 14.56l-2.23-2.35a.749.749 0 0 1-.064-1.082l.001-.001a.778.778 0 0 1 .065-.062L8 8.787a.748.748 0 0 1 1.312.515.748.748 0 0 1-.26.55l-1.177 1.117c2.425-.183 3.462-1.14 3.945-2.019.523-.95.504-1.968.494-2.511a15.313 15.313 0 0 1-.002-.144v-.013a.306.306 0 0 1 0-.018.75.75 0 0 1 1.5 0c0 .032 0 .076.002.13.014.514.054 1.945-.68 3.28-.783 1.423-2.347 2.597-5.228 2.796l1.028 1.082a.75.75 0 1 1-1.106 1.008Z"}))
}, oz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M3.068 12.967a7 7 0 1 0 9.864-9.934 7 7 0 0 0-9.864 9.934Zm.549-1.644a5.5 5.5 0 0 1 7.706-7.706l-7.706 7.706Zm1.06 1.06 7.707-7.705a5.5 5.5 0 0 1-7.706 7.706Z",
clipRule: "evenodd"
}))
}, sz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "m1.186 2.288.002-.001a.78.78 0 0 1 1.1-1.1l.001-.002.035.035a.772.772 0 0 1 .017.017l5.66 5.66 5.71-5.711.002.002a.78.78 0 0 1 1.1 1.1l.002.001-.035.035a.973.973 0 0 1-.017.017L9.104 8l5.69 5.69h-.002a.78.78 0 1 1-1.155 1.05L8.002 9.103l-5.69 5.69H2.31a.78.78 0 1 1-1.05-1.155L6.898 8 1.186 2.288Z"}))
}, lz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M2.5 3.8v6h8.815a2 2 0 0 1 1.302.481l.883.758V3.8h-11ZM15 3.3a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h9.315a.5.5 0 0 1 .325.12l2.535 2.172a.5.5 0 0 0 .825-.38V3.3Z",
clipRule: "evenodd"
}))
}, cz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M14.25 15a.75.75 0 0 0 0-1.5H1.75a.75.75 0 0 0 0 1.5h12.5ZM8 1a.75.75 0 0 1 .749.703h.001v7.712l1.677-1.678a.75.75 0 1 1 1.037 1.08l-2.936 2.935a.748.748 0 0 1-1.055 0L4.536 8.816a.748.748 0 0 1 .48-1.325.75.75 0 0 1 .557.246L7.25 9.415V1.703h.001A.75.75 0 0 1 8 1Z"}))
}, uz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11ZM8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "M8.75 11a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-1.5-6a.75.75 0 0 1 1.5 0v3.75a.75.75 0 0 1-1.5 0V5Z"}))
}, dz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M7.25 5a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0ZM8 11.75a.75.75 0 0 0 .75-.75V7.25a.75.75 0 0 0-1.5 0V11c0 .414.336.75.75.75Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm0-1.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Z",
clipRule: "evenodd"
}))
}, pz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M7.25 1h1.5v3.519l.6-.598A.75.75 0 1 1 10.387 5l-1.86 1.856a.748.748 0 0 1-1.055 0L5.463 5a.748.748 0 0 1 .481-1.326c.22 0 .419.095.556.247l.75.598V.999Zm5.25 10.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M2.5 3.75c0-.69.56-1.25 1.25-1.25H6V1H3.75A2.75 2.75 0 0 0 1 3.75v8.5A2.75 2.75 0 0 0 3.75 15h8.5A2.75 2.75 0 0 0 15 12.25v-8.5A2.75 2.75 0 0 0 12.25 1H10v1.5h2.25c.69 0 1.25.56 1.25 1.25V8.5h-11V3.75Zm0 6.25v2.25c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V10h-11Z",
clipRule: "evenodd"
}))
}, hz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M1.716 13.5a.75.75 0 0 0 0 1.5H14.25a.75.75 0 1 0-.023-1.5H1.716Z"}))
}, fz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "none",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fill: "currentColor",
d: "M9.5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM4 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM15 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z"
}))
}, mz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M2.475 3.137a.974.974 0 0 0-.975.971v9.23c0 .537.437.972.975.972h9.267a.974.974 0 0 0 .976-.972V8.45a.73.73 0 0 0-.732-.729.73.73 0 0 0-.73.76l-.001 4.372H2.963V4.594h3.902v-.002a.73.73 0 0 0 .67-.727.73.73 0 0 0-.67-.726v-.002h-4.39Z"}), Ee.createElement("path", {d: "M13.769 1.313h-4.05a.732.732 0 0 0-.583.21.727.727 0 0 0 .553 1.243h2.314L7.822 6.931v.001a.727.727 0 0 0 .03 1 .734.734 0 0 0 1.003.029h.001l4.182-4.164v2.305a.72.72 0 0 0 .213.55.734.734 0 0 0 1.246-.58V2.039a.732.732 0 0 0-.728-.725Z"}))
}, gz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M3 2a1 1 0 0 1 2 0v12a1 1 0 1 1-2 0V2Zm8 0a1 1 0 1 1 2 0v12a1 1 0 1 1-2 0V2Z"}))
}, vz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M3.01 2.715v10.57L12.588 8 3.01 2.715Zm10.9 4.307a1.105 1.105 0 0 1 0 1.956L3.272 14.847c-.788.435-1.773-.109-1.773-.978V2.13c0-.87.985-1.413 1.773-.978l10.636 5.869Z",
clipRule: "evenodd"
}))
}, _z = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
d: "M8 2.75a5.25 5.25 0 1 0 2.73 9.736.75.75 0 0 1 .78 1.28 6.75 6.75 0 1 1 2.552-8.737.75.75 0 1 1-1.346.661A5.25 5.25 0 0 0 8 2.75Z",
"transform-origin": "center center"
}, Ee.createElement("animateTransform", {
attributeName: "transform",
dur: "800ms",
repeatCount: "indefinite",
to: 360,
type: "rotate"
})))
}, yz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M2.5 8a5.5 5.5 0 0 1 9.938-3.25H11.25a.75.75 0 0 0 0 1.5h3A.75.75 0 0 0 15 5.5v-3a.75.75 0 0 0-1.5 0v1.17a7 7 0 1 0 1.41 5.45.75.75 0 1 0-1.48-.24A5.502 5.502 0 0 1 2.5 8Z"}))
}, bz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "m7.334 3.874-.782.295a4.088 4.088 0 0 0-1.151.66l-.648.533-1.32-.455-.396.687 1.056.917-.135.825a4.1 4.1 0 0 0-.06.664c0 .208.021.426.06.664l.135.825-1.056.917.396.688 1.32-.455.648.532c.335.274.723.498 1.151.66l.782.295.268 1.374h.793l.268-1.374.782-.295a4.09 4.09 0 0 0 1.15-.66l.649-.532 1.32.455.396-.688-1.056-.917.135-.825c.038-.238.06-.456.06-.664 0-.208-.022-.426-.06-.664l-.135-.825 1.056-.917-.397-.687-1.319.455-.648-.532a4.088 4.088 0 0 0-1.151-.66l-.782-.296L8.395 2.5h-.793l-.268 1.374Zm2.641-1.108L9.71 1.404A.5.5 0 0 0 9.219 1H6.778a.5.5 0 0 0-.49.404L6.02 2.766a5.588 5.588 0 0 0-1.572.904l-1.307-.45a.5.5 0 0 0-.596.222l-1.22 2.116a.5.5 0 0 0 .105.627l1.047.91c-.048.295-.08.596-.08.905 0 .309.032.61.08.905l-1.047.91a.5.5 0 0 0-.105.627l1.22 2.116a.5.5 0 0 0 .596.223l1.307-.451a5.59 5.59 0 0 0 1.572.904l.266 1.362a.5.5 0 0 0 .49.404H9.22a.5.5 0 0 0 .49-.404l.266-1.362a5.59 5.59 0 0 0 1.573-.904l1.306.45a.5.5 0 0 0 .596-.222l1.22-2.116a.5.5 0 0 0-.104-.627l-1.047-.91c.048-.295.08-.596.08-.905 0-.309-.032-.61-.08-.905l1.047-.91a.5.5 0 0 0 .105-.627l-1.22-2.116a.5.5 0 0 0-.597-.223l-1.306.451a5.587 5.587 0 0 0-1.573-.904Z",
clipRule: "evenodd"
}), Ee.createElement("path", {
fillRule: "evenodd",
d: "M9 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm1.5 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z",
clipRule: "evenodd"
}))
}, xz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "none",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fill: "currentColor",
fillRule: "evenodd",
d: "M3.5 3.5v2h9v-2h-9ZM3 2a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3ZM3.5 10.5v2h9v-2h-9ZM3 9a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3Z",
clipRule: "evenodd"
}))
}, wz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "none",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fill: "currentColor",
d: "m7 3.5.1.01a.5.5 0 0 1 0 .98L7 4.5H4a.5.5 0 0 1 0-1h3ZM7 5.5l.1.01a.5.5 0 0 1 0 .98L7 6.5H4a.5.5 0 0 1 0-1h3ZM5 7.5l.1.01a.5.5 0 0 1 0 .98L5 8.5H4a.5.5 0 0 1 0-1h1Z"
}), Ee.createElement("path", {
fill: "currentColor",
d: "M8.023 0a1 1 0 0 1 .72.307l1.977 2.051c.18.187.28.436.28.695v1.97a5.529 5.529 0 0 0-1.5.068V3.457c0-.13-.05-.254-.14-.348L7.958 1.653a.5.5 0 0 0-.36-.153H1.5V10a.5.5 0 0 0 .5.5h3c0 .52.073 1.023.208 1.5H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h7.023Z"
}), Ee.createElement("path", {
fill: "currentColor",
fillRule: "evenodd",
d: "M10.5 6a4.5 4.5 0 0 1 3.792 6.919l1.364 1.364a.75.75 0 0 1-1.06 1.06l-1.31-1.31A4.5 4.5 0 1 1 10.5 6Zm0 1.5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z",
clipRule: "evenodd"
}))
}, kz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {
fillRule: "evenodd",
d: "M8 3.184 2.675 13.431h10.65L8 3.184Zm.887-1.545a1 1 0 0 0-1.775 0L.965 13.47a1 1 0 0 0 .887 1.461h12.296a1 1 0 0 0 .887-1.46L8.887 1.638Z",
clipRule: "evenodd"
}), Ee.createElement("path", {d: "M8.75 12.181a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-1.5-5.5a.75.75 0 1 1 1.5 0v3.25a.75.75 0 0 1-1.5 0v-3.25Z"}))
}, Sz = e => {
var {title: t, titleId: n} = e, r = function (e, t) {
if (null == e) return {};
var n, r, a = function (e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n])
}
return a
}(e, ["title", "titleId"]);
return Ee.createElement("svg", function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter((function (e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
})))), r.forEach((function (t) {
var r;
r = n[t], t in e ? Object.defineProperty(e, t, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r
}))
}
return e
}({
xmlns: "http://www.w3.org/2000/svg",
width: 16,
height: 16,
fill: "currentColor",
viewBox: "0 0 16 16",
focusable: !1,
"aria-labelledby": n
}, r), t ? Ee.createElement("title", {id: n}, t) : null, Ee.createElement("path", {d: "M4.276 1.623a.75.75 0 0 1 1.053.13l.413.53a10.692 10.692 0 0 1 2.31-.251c2.531 0 4.857.883 6.685 2.357a.709.709 0 0 1 .088 1.003c-.273.336-.773.367-1.113.099a9.115 9.115 0 0 0-5.66-1.96c-.43 0-.853.03-1.267.088l1.202 1.54h.078c1.792 0 3.437.626 4.73 1.672.299.242.322.68.08.978-.279.343-.792.364-1.142.095a5.999 5.999 0 0 0-2.486-1.129l2.937 3.764A.75.75 0 0 1 11 11.46L4.146 2.676a.75.75 0 0 1 .13-1.053ZM1.257 4.48a10.672 10.672 0 0 1 1.79-1.201l.939 1.203c-.605.3-1.17.665-1.69 1.086-.337.273-.838.248-1.115-.085a.709.709 0 0 1 .076-1.003Zm3.759 1.323a7.529 7.529 0 0 0-1.761 1.094c-.296.246-.313.683-.067.978.283.34.796.354 1.143.08a6.017 6.017 0 0 1 1.644-.923l-.96-1.23Zm2.036 2.609a4.386 4.386 0 0 0-1.808.928c-.27.23-.273.634-.045.908.297.356.852.335 1.232.067A2.886 2.886 0 0 1 8.1 9.787h.024L7.052 8.412ZM8 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}))
};
const Ez = new class {
constructor() {
this.listeners = []
}
registerEventListener() {
const e = vL();
this.listeners = [e.installer.onInstallProgress(this.setInstallationProgress.bind(this)), e.installer.onInstallSuccess(this.setInstallationSuccess.bind(this)), e.installer.onInstallFailed(this.setInstallationFailed.bind(this)), e.installer.onCancelationSuccess(this.setCancelationSuccess.bind(this)), e.installer.onCancelationFailed(this.setCancelationFailed.bind(this)), e.installer.onUninstallSuccess(this.setUninstallationSuccess.bind(this)), e.installer.onUninstallFailed(this.setUninstallationFailed.bind(this)), e.installer.onFixPermissionsSuccess(this.setFixPermissionsSuccessToast.bind(this)), e.installer.onFixPermissionsFailed(this.setFixPermissionsFailedToast.bind(this))]
}
removeEventListener() {
this.listeners.forEach((e => {
e()
}))
}
setInstallationProgress(e) {
const {installer: t} = uU.getState(), n = vL();
if (!t.current) return void n.log.warn("[Installer Service] We could not update info about download progression since there is no installation in progress");
const r = ((e, t) => {
let n = {
...t,
phase: e.phase,
speed: e.info.speed > 0 ? tL().format(e.info.speed, {decimalPlaces: 1}) : "0"
};
switch (e.phase) {
case cD.InstallerPhases.PatcherRetrieveRemoteFileStart:
n = {...n, phaseLabel: xt.t("download_update_manifest", {ns: "download"})};
break;
case cD.InstallerPhases.PatcherRetrieveRemoteFileProgress: {
const t = e.info.total > 0 && e.info.total < 161061273600;
n = {
...n,
phaseLabel: xt.t("download_manifest", {ns: "download"}),
showProgress: !0,
downloaded: t ? e.info.downloaded : 0,
total: t ? e.info.total : 0,
percentage: t ? e.info.downloaded / e.info.total * 100 : 0
}
}
break;
case cD.InstallerPhases.PatcherRetrieveRemoteFileEnd:
n = {...n, phaseLabel: xt.t("downloaded_update_manifest", {ns: "download"})};
break;
case cD.InstallerPhases.PatcherComputeListDifferenceStart:
n = {...n, phaseLabel: xt.t("download_analysing_install", {ns: "download"})};
break;
case cD.InstallerPhases.PatcherUpdateP4kStart:
n = {
...n,
showProgress: !1,
progressUndeterminate: !0,
percentage: 4.48,
phaseLabel: xt.t("download_checking_files", {ns: "download"})
};
break;
case cD.InstallerPhases.PatcherUpdateP4kEnd:
n = {...n, showProgress: !1, progressUndeterminate: !1};
break;
case cD.InstallerPhases.InitialDownloadProgress: {
const t = e.info.total > 0 && e.info.total < 161061273600;
n = {
...n,
showProgress: !0,
phaseLabel: xt.t("download_base_pack", {ns: "download"}),
downloaded: t ? e.info.downloaded : 0,
total: t ? e.info.total : 0,
percentage: t ? e.info.downloaded / e.info.total * 100 : 0,
filesDone: 0,
filesTotal: 1
}
}
break;
case cD.InstallerPhases.PatcherUpdateLooseFileProgress: {
const t = e.info.total > 0 && e.info.total < 161061273600 && e.info.filesTotal > 0;
n = {
...n,
showProgress: !0,
phaseLabel: xt.t("download_updating_game_files", {ns: "download"}),
downloaded: t ? e.info.downloaded : 0,
total: t ? e.info.total : 0,
percentage: t ? e.info.downloaded / e.info.total * 100 : 0,
filesDone: t ? e.info.filesDone : 0,
filesTotal: t ? e.info.filesTotal : 0
}
}
break;
case cD.InstallerPhases.PatcherUpdateP4kProgress: {
const t = e.info.total > 0 && e.info.total < 161061273600 && e.info.filesTotal > 0;
n = {
...n,
showProgress: !0,
phaseLabel: xt.t("download_updating_game_content", {ns: "download"}),
downloaded: t ? e.info.downloaded : 0,
total: t ? e.info.total : 0,
percentage: t ? e.info.downloaded / e.info.total * 100 : 0,
filesDone: t ? e.info.filesDone : 0,
filesTotal: t ? e.info.filesTotal : 0
}
}
break;
case cD.InstallerPhases.PatcherVerificationP4kStart:
case cD.InstallerPhases.PatcherVerificationP4kEnd:
n = {...n, phaseLabel: xt.t("download_verifying_game_content", {ns: "download"})};
break;
case cD.InstallerPhases.PatcherVerificationP4kProgress: {
const t = e.info.total > 0 && e.info.total < 161061273600 && e.info.filesTotal > 0;
n = {
...n,
speed: void 0,
showProgress: !0,
phaseLabel: xt.t("download_verifying_game_content", {ns: "download"}),
downloaded: t ? e.info.downloaded : 0,
total: t ? e.info.total : 0,
percentage: t ? e.info.downloaded / e.info.total * 100 : 0,
filesDone: t ? e.info.filesDone : 0,
filesTotal: t ? e.info.filesTotal : 0
}
}
}
return n
})(e, t.current.progress);
t.actions.setCurrent({...t.current, progress: r})
}
async setInstallationSuccess(e) {
const {installer: t, settings: n} = uU.getState(), r = vL();
if (!t.current) return void r.log.warn("[Installer Service] We could not end the installation because the game is not in the queue");
const a = {
gameId: e.gameId,
gameName: e.gameName,
channelId: e.channelId,
channelName: e.channelName,
platformId: e.platformId
};
if (!iL(t.current.game, a)) return void r.log.warn("[Installer Service] We could not end the installation because the game completed is not the same as the one in the queue");
if (!t.current.release) return void r.log.warn("[Installer Service] We could not end the installation because the game release was not provided");
if (!t.current.progress) return void r.log.warn(`[Installer Service] We could not end the installation because the event is strange ${e}`);
if (e.isInitialDownload) return t.actions.setCurrent({
...t.current,
progress: void 0
}), void this.installChannel(t.current.game, {skipRequirements: !0, skipAnalitics: !0});
const i = [...t.finished, {...t.current, status: cD.InstallationStatus.COMPLETED, progress: void 0}];
t.actions.setCurrent(void 0), t.actions.setFinished(i), BF.saveInstalledGameChannel(a);
const o = {
...t.current.game,
installDir: t.current.release.installDir,
libraryFolder: t.current.release.libraryFolder
};
await n.actions.saveChannelGameSettings(o), await this.processInstallationQueue();
const s = {
[cD.InstallationType.INSTALL]: cD.AnalyticsEventName.APP_INSTALL_SUCCESS,
[cD.InstallationType.VERIFY]: cD.AnalyticsEventName.APP_VERIFY_SUCCESS,
[cD.InstallationType.UPDATE]: cD.AnalyticsEventName.APP_UPDATE_SUCCESS
}[t.current.type];
r.analytics.setAnalyticsEvent(s, {
Game: t.current.game.gameId,
Channel: t.current.game.channelId,
Environment: t.current.game.platformId
}), this.setInstallSuccessToast(t.current.game)
}
async setInstallationFailed(e) {
const {installer: t, application: n} = uU.getState(), r = vL();
if (!t.current) return void r.log.warn("[Installer Service] We could not end the installation because the game is not in the queue");
const a = {
gameId: e.payload.gameId,
gameName: e.payload.gameName,
channelId: e.payload.channelId,
channelName: e.payload.channelName,
platformId: e.payload.platformId
};
if (!iL(t.current.game, a)) return void r.log.warn("[Installer Service] We could not end the installation because the game completed is not the same as the one in the queue");
n.actions.setDownloadPopoverOpened(!1);
const i = [...t.finished, {...t.current, status: cD.InstallationStatus.ERROR, progress: void 0}];
t.actions.setCurrent(void 0), t.actions.setFinished(i);
const o = (0, cD.serializerInstallerErrors)(e);
await XR(Iz(o)), n.actions.setDownloadPopoverOpened(!0), await this.processInstallationQueue();
const s = {
[cD.InstallationType.INSTALL]: cD.AnalyticsEventName.APP_INSTALL_ERROR,
[cD.InstallationType.VERIFY]: cD.AnalyticsEventName.APP_VERIFY_ERROR,
[cD.InstallationType.UPDATE]: cD.AnalyticsEventName.APP_UPDATE_ERROR
}[t.current.type];
r.analytics.setAnalyticsEvent(s, {
Game: t.current.game.gameId,
Channel: t.current.game.channelId,
Environment: t.current.game.platformId,
ErrorCode: o.code,
ErrorMessage: o.message
})
}
async setCancelationSuccess() {
const {installer: e, toasts: t} = uU.getState(), n = vL();
if (!e.current) return void n.log.warn("[Installer Service] We could not succed to cancel the installation because there wasn't any channel cancelling.");
e.actions.setCurrent(void 0), e.current.type === cD.InstallationType.INSTALL && BF.removeInstalledGameChannel(e.current.game);
const r = {
[cD.InstallationType.INSTALL]: cD.AnalyticsEventName.APP_INSTALL_STOP,
[cD.InstallationType.VERIFY]: cD.AnalyticsEventName.APP_VERIFY_STOP,
[cD.InstallationType.UPDATE]: cD.AnalyticsEventName.APP_UPDATE_STOP
}[e.current.type];
n.analytics.setAnalyticsEvent(r, {
Game: e.current.game.gameId,
Channel: e.current.game.channelId,
Environment: e.current.game.platformId
});
t.actions.add({
type: "informative", title: (() => {
switch (e.current.type) {
case cD.InstallationType.INSTALL:
return xt.t("download_toast_cancel_install_success", {ns: "download"});
case cD.InstallationType.VERIFY:
return xt.t("download_toast_cancel_verify_success", {ns: "download"});
case cD.InstallationType.UPDATE:
return xt.t("download_toast_cancel_update_success", {ns: "download"})
}
})(), icon: uz
}), await this.processInstallationQueue()
}
async setCancelationFailed(e) {
const {installer: t} = uU.getState();
t.current && t.actions.setCurrent(void 0), await this.processInstallationQueue()
}
async setUninstallationSuccess(e) {
const {installer: t, settings: n} = uU.getState(), r = vL();
if (!aL(t.uninstallations, e)) return void r.log.warn(`[Installer Service] We could not end the uninstallation because the channel was not process ${e}`);
const a = t.uninstallations.filter((t => t.channelId !== e.channelId && t.gameId !== e.gameId));
t.actions.setUninstallations(a), BF.removeInstalledGameChannel(e), await n.actions.resetChannelGameSettings(e), r.analytics.setAnalyticsEvent(cD.AnalyticsEventName.APP_UNINSTALL_SUCCESS, {
Game: e.gameId,
Channel: e.channelId,
Environment: e.platformId
}), this.setUninstallSuccessToast(e)
}
setUninstallationFailed(e) {
const {installer: t} = uU.getState(), n = vL(), {payload: r} = e, a = aL(t.uninstallations, r);
if (!a) return void n.log.warn("[Installer Service] We could not clear the uninstallation because the game is not in the queue");
const i = t.uninstallations.filter((e => e.channelId !== r.channelId && e.gameId !== r.gameId));
t.actions.setUninstallations(i), n.analytics.setAnalyticsEvent(cD.AnalyticsEventName.APP_UNINSTALL_ERROR, {
Game: a.gameId,
Channel: a.channelId,
Environment: a.platformId,
ErrorCode: e.code,
ErrorMessage: e.message
}), this.setUninstallFailToast(r)
}
setInstallSuccessToast(e) {
const {installer: t, toasts: n} = uU.getState(), r = vL(), a = rL(t.finished, e);
if (!a || a.status !== cD.InstallationStatus.COMPLETED) return void r.log.warn("[Installer Service] We could not display the sucess toast because the installation the game is not in the queue or is not completed");
return n.actions.add({
title: (() => {
switch (a.type) {
case cD.InstallationType.INSTALL:
return xt.t("download_toast_install_success", {ns: "download"});
case cD.InstallationType.VERIFY:
return xt.t("download_toast_verify_success", {ns: "download"});
case cD.InstallationType.UPDATE:
return xt.t("download_toast_update_success", {ns: "download"})
}
})(), type: "positive", closeOnClick: !1
})
}
setUninstallSuccessToast(e) {
const {toasts: t} = uU.getState();
return t.actions.add({
title: xt.t("download_toast_uninstall_success", {
ns: "download",
game: e.gameName,
channel: e.channelName
}), type: "positive", closeOnClick: !1
})
}
setUninstallFailToast(e) {
const {toasts: t} = uU.getState();
return t.actions.add({
title: xt.t("download_toast_uninstall_fail", {
ns: "download",
game: e.gameName,
channel: e.channelName
}), type: "negative", closeOnClick: !1
})
}
setFixPermissionsSuccessToast() {
const {application: e, toasts: t} = uU.getState();
return e.actions.setDownloadPopoverOpened(!1), t.actions.add({
title: xt.t("download_toast_fix_permission_success", {ns: "download"}),
type: "positive",
closeOnClick: !1
})
}
setFixPermissionsFailedToast(e) {
const {application: t, toasts: n} = uU.getState();
return t.actions.setDownloadPopoverOpened(!1), n.actions.add({
title: xt.t("download_toast_fix_permission_fail", {
ns: "download",
game: e.payload.gameName,
channel: e.payload.channelName
}), type: "negative", closeOnClick: !1
})
}
async installChannel(e, t) {
const {installer: n, application: r, settings: a, storage: i} = uU.getState(), o = vL();
if (!n.requirementsValidated) {
r.actions.setDownloadPopoverOpened(!1);
const t = await this.validateRequirements();
if (r.actions.setDownloadPopoverOpened(!0), !t) return void this.cancelInstallation(e);
n.actions.setRequirementsValidated(!0)
}
if (n.current && !iL(n.current.game, e)) return void o.log.warn(`[Installer Service] Cannot start the installation of ${e} since the installer is already running`);
const s = n.current && iL(n.current.game, e) ? n.current : rL(n.queue, e);
if (s) try {
var l;
const c = await HF(e), u = n.queue.filter((t => !iL(t.game, e))),
d = {...s, status: cD.InstallationStatus.IN_PROGRESS, release: c};
n.actions.setCurrent(d), n.actions.setQueue(u), r.actions.setDownloadPopoverOpened(!0);
const p = (null === (l = a.gamesSettings.find((({channelId: t}) => t === e.channelId))) || void 0 === l ? void 0 : l.libraryFolder) || i.defaultLibraryFolder,
h = {
...c,
gameName: e.gameName,
channelName: e.channelName,
libraryFolder: p,
forcePatcher: a.appSettings.download.forceDataPatcher,
verify: s.type === cD.InstallationType.VERIFY
};
if (o.installer.setInstall(h), BF.addInstalledGameChannel(e), t && !t.skipAnalitics) {
const e = {
[cD.InstallationType.INSTALL]: cD.AnalyticsEventName.APP_INSTALL_START,
[cD.InstallationType.VERIFY]: cD.AnalyticsEventName.APP_VERIFY_START,
[cD.InstallationType.UPDATE]: cD.AnalyticsEventName.APP_UPDATE_START
}[s.type];
o.analytics.setAnalyticsEvent(e, {
Game: s.game.gameId,
Channel: s.game.channelId,
Environment: s.game.platformId
})
}
} catch (c) {
o.log.error(`[Installer Service] Error during installation : ${c}`)
} else o.log.warn(`[Installer Service] Cannot start the installation of ${e} since the installation is not in queue`)
}
async uninstallChannel(e) {
const {dialog: t, installer: n} = uU.getState(), r = vL(), a = await HF(e),
i = await t.actions.showWarningUninstallDialog(a);
if (!i.resolved) return;
r.log.info(`[Installer Service] Uninstallation process started ("${a.libraryFolder}" | ${e} | ${i}`);
const o = void 0 !== i.results.keepUserFolder;
r.installer.setUninstall(a, {keepUserFolder: o});
const s = [...n.uninstallations, e];
n.actions.setUninstallations(s)
}
pauseInstallation(e) {
const {installer: t} = uU.getState(), n = vL();
if (!t.current || t.current.status === cD.InstallationStatus.PAUSED) return void n.log.warn("[Installer Service] We could not pause the installation because the game is not in the queue or is already pause");
if (!t.current.progress || !nL(t.current.progress)) return void n.log.warn("[Installer Service] We could not pause the installation because the current phase is not pausable");
const r = {
...t.current,
status: cD.InstallationStatus.PAUSED,
progress: t.current.progress ? {...t.current.progress, speed: "0"} : void 0
};
t.actions.setCurrent(r), n.installer.setInstallPause()
}
resumeInstallation(e) {
const {installer: t} = uU.getState(), n = vL();
if (!t.current || t.current.status !== cD.InstallationStatus.PAUSED) return void n.log.warn("[Installer Service] We could not resume the installation because the game is not in the queue");
const r = {
...t.current,
status: cD.InstallationStatus.IN_PROGRESS,
progress: t.current.progress ? {...t.current.progress, speed: "0"} : void 0
};
t.actions.setCurrent(r), n.installer.setInstallResume()
}
clearCompletedInstallations() {
const {installer: e} = uU.getState();
e.actions.setFinished([])
}
async cancelInstallation(e) {
const {application: t, installer: n, dialog: r} = uU.getState();
if (!!n.current && iL(n.current.game, e)) return t.actions.setDownloadPopoverOpened(!1), void await r.actions.showGameCancelInstallationDialog(n.current);
const a = rL(n.queue, e);
if (a) {
const e = n.queue.filter((e => !iL(e.game, a.game)));
n.actions.setQueue(e)
}
const i = rL(n.finished, e);
if (i) {
const e = n.queue.filter((e => !iL(e.game, i.game)));
n.actions.setFinished(e)
}
}
removeInstallation(e) {
var t, n;
const {installer: r} = uU.getState(), a = vL();
if (!r.current || !r.current.release) return void a.log.warn("[Installer Service] We could not remove the installation because the game is not in the queue");
const i = {
...r.current.release,
gameName: r.current.game.gameName,
channelName: r.current.game.channelName,
libraryFolder: r.current.release.libraryFolder,
forcePatcher: !1,
verify: r.current.type === cD.InstallationType.VERIFY
},
o = r.current.type !== cD.InstallationType.INSTALL || null !== (t = null === (n = r.current.options) || void 0 === n ? void 0 : n.keepFilesOnCancel) && void 0 !== t && t;
a.installer.setInstallCancel(i, {keepFiles: o});
const s = {...r.current, status: cD.InstallationStatus.CANCELLING};
r.actions.setCurrent(s)
}
setInstallationOptions(e, t) {
const {installer: n} = uU.getState(), r = vL();
if (!n.current) return void r.log.warn("[Installer Service] We could not set options to the installation because the game is not in the queue");
const a = {...n.current, options: t};
n.actions.setCurrent(a)
}
addInstallationToQueue(e, t) {
const {installer: n, application: r} = uU.getState();
if (!rL(n.queue, e)) {
const a = [...n.queue, {game: e, status: cD.InstallationStatus.WAITING, type: t}];
n.actions.setQueue(a), r.actions.setDownloadPopoverOpened(!0), this.processInstallationQueue()
}
}
async setPermissions(e) {
const t = vL();
if (!e.release) throw new Error("Not enough data");
const n = {...e.game, libraryFolder: e.release.libraryFolder, installDir: e.release.installDir};
t.installer.setFixPermissions(n)
}
async validateRequirements() {
const {application: e, agreements: t} = uU.getState(), n = vL(),
r = await e.actions.isMinimumWindowsVersion(), a = await e.actions.isRespectingCPUCapabilites();
n.log.info(`[Requirement] OS check : ${r}`), n.log.info(`[Requirement] CPU check : ${a}`);
return !!await t.actions.checkAgreements()
}
updateQueue(e) {
const {installer: t} = uU.getState();
t.actions.setQueue(e)
}
async processInstallationQueue() {
const {installer: e} = uU.getState(), t = vL();
if (e.current) return void t.log.info("[Installer Service] Nothing to process in queue since there is already an installation in progress");
if (0 === e.queue.length) return;
const n = e.queue[0];
await this.installChannel(n.game, {skipRequirements: !0, skipAnalitics: !1})
}
}, Iz = e => {
var t, n, r, a;
const i = uU.getState().installer, {
gameId: o,
platformId: s,
channelId: l,
gameName: c,
channelName: u
} = e.payload, d = {gameId: o, gameName: c, channelId: l, channelName: u, platformId: s},
p = i.current && iL(i.current.game, d) ? i.current : rL(i.queue, d);
switch (!0) {
case e instanceof cD.LSPermissionError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_support_permission_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_support_permission_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_installer_more_info_content",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.LSCreateDirectoryError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_create_directory_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_create_directory_content_1", {ns: "errors"})}), (0, OL.jsxs)(hb, {
children: [xt.t("error_installer_create_directory_content_2", {ns: "errors"}), (0, OL.jsxs)(hb, {
children: [null === p || void 0 === p || null === (t = p.release) || void 0 === t ? void 0 : t.libraryFolder, (0, OL.jsxs)("span", {
className: "sol-u-color-foreground",
children: [null === p || void 0 === p || null === (n = p.release) || void 0 === n ? void 0 : n.installDir, "\\", l]
})]
})]
}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_installer_more_info_content",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.InvalidMDFileError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_basepack_invalid_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_basepack_invalid_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.InvalidMDFileHeaderError:
case e instanceof cD.NotMappedError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_init_download_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_generic_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.DiskFullError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_disc_full_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_disc_full_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.WritePermissionsError:
return {
handler: {
type: ZR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_installer_permissions_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_permissions_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
p && await Ez.setPermissions(p)
},
primaryLabel: xt.t("error_installer_permissions_action", {ns: "errors"})
}
}, error: e
};
case e instanceof cD.FileInUseError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_file_in_use_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_file_in_use_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.Pk4CorruptedError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_pk4_corrupted_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_pk4_corrupted_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.RetrieveManifestError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_retrieve_manifest_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_retrieve_manifest_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.PatcherUnknownNetworkError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_unknown_network_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_unknown_network_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.BasePackP4kCorruptedError:
return {
handler: {
type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_base_p4k_corrupted_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_base_p4k_corrupted_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof cD.DownloadUnsuccessfullError:
return [{
handler: {
type: ZR.DISPLAY_WARNING_DIALOG,
skip: void 0 !== (null === p || void 0 === p || null === (r = p.options) || void 0 === r ? void 0 : r.numberOfRetriesLeft) && (null === p || void 0 === p || null === (a = p.options) || void 0 === a ? void 0 : a.numberOfRetriesLeft) > 0,
args: {
title: xt.t("error_installer_base_p4k_corrupted_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_base_p4k_corrupted_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
Ez.addInstallationToQueue(d, cD.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {ns: "dialog"})
}
}, error: e
}];
default:
const i = () => e.code === cD.InitialDownloadErrorsNames.ERR_INIT_UNKNOWN ? xt.t("error_installer_init_download_title", {ns: "errors"}) : e.code === cD.PatcherErrorsNames.ERR_PATCHER_UNKNOWN ? xt.t("error_installer_patcher_title", {ns: "errors"}) : xt.t("error_installer_title", {ns: "errors"}),
o = () => e.code === cD.PatcherErrorsNames.ERR_PATCHER_UNKNOWN ? (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_installer_patcher_generic_content",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}) : (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_installer_generic_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
});
return {handler: {type: ZR.DISPLAY_ACKNOWLEDGE_DIALOG, args: {title: i(), content: o()}}, error: e}
}
}, Cz = e => {
const {gameId: t, platformId: n, channelId: r, gameName: a, channelName: i} = e.payload,
o = {gameId: t, platformId: n, channelId: r, gameName: a, channelName: i};
switch (!0) {
case e instanceof cD.NoGameFilesError:
return {
handler: {
type: ZR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_no_game_files_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_no_game_files_content",
t: xt.t,
ns: "errors"
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
Ez.addInstallationToQueue(o, cD.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {ns: "dialog"})
}
}, error: e
};
case e instanceof cD.EACError:
return {
handler: {
type: ZR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_EAC_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_EAC_content",
t: xt.t,
ns: "errors"
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
Ez.addInstallationToQueue(o, cD.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {ns: "dialog"})
}
}, error: e
};
case e instanceof cD.GameCrashError:
return {
handler: {
type: ZR.EXECUTE_CALLBACK, args: {
callback: async () => {
const {dialog: t} = uU.getState();
t.actions.showLaunchGameCrashDialog(o, e)
}
}
}, error: e
};
default:
return {
handler: {
type: ZR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_unknown_title", {ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {children: xt.t("error_launch_unknown_content", {ns: "errors"})}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})]
})
}), (0, OL.jsx)(hb, {
children: xt.t("error_launch_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
Ez.addInstallationToQueue(o, cD.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {ns: "dialog"})
}
}, error: e
}
}
}, Oz = (e, t) => ({
agreements: {
warningHasBeenAccepted: !1, actions: {
setWarningHasBeenAccepted: t => {
e((e => ({agreements: {...e.agreements, warningHasBeenAccepted: t}})))
}, checkWarnings: async () => {
const n = t();
try {
const t = await RF.fetchQuery({
queryKey: ["warnings"],
queryFn: async () => YR.agreements.getWarnings()
}), r = t ? t[0] : null;
if (!(r && r.id && !n.agreements.warningHasBeenAccepted)) return !0;
const a = await RF.fetchQuery((e => ({
queryKey: ["warningInfo"],
queryFn: async () => YR.agreements.getWarningInfo(e)
}))(r.id)), {title: i, body: o} = a, s = await n.dialog.actions.showWarningsDialog(i, o);
return e((e => ({
agreements: {
...e.agreements,
warningHasBeenAccepted: s.resolved
}
}))), s.resolved
} catch (r) {
return console.error("[Warnings] warnings error", r), !1
}
}, checkAgreements: async () => {
const e = t();
try {
const t = await RF.fetchQuery({
queryKey: ["agreements"],
queryFn: async () => YR.agreements.checkAgreements()
});
return t.auth ? await e.agreements.actions.checkWarnings() : t.auth
} catch (n) {
return n instanceof aR && e.agreements.actions.checkAgreementsFailure(n)
}
}, checkAgreementsFailure: async e => {
var n;
const r = null !== (n = e.payload.data.agreements) && void 0 !== n ? n : [], a = t();
try {
const e = [CR.EULA, CR.TOS, CR.DISCLAIMER].map((e => r.filter((t => t.type === e)))).reduce(((e, t) => e.concat(t)), []);
return await a.agreements.actions.displayAgreement(e)
} catch (i) {
return console.error("[Agreements] - error", i), !1
}
}, displayAgreement: async n => {
const r = t(), [a, ...i] = n;
e((e => ({installer: {...e.installer, isDownloadPopoverOpened: !1}})));
try {
const e = await RF.fetchQuery(((e, t) => ({
queryKey: ["agreementInfo"],
queryFn: async () => YR.agreements.getAgreementInfo(e, t)
}))(a.id, a.type)), {title: t, subtitle: n, body: o} = e,
s = await r.dialog.actions.showAgreementsDialog(t, n, o);
if (s.resolved) {
await RF.fetchQuery(((e, t) => ({
queryKey: ["agreementAccept"],
queryFn: async () => YR.agreements.acceptAgreement(e, t)
}))(a.id, a.type));
const e = i;
return e.length > 0 ? await r.agreements.actions.displayAgreement(e) : await r.agreements.actions.checkWarnings()
}
return s.resolved
} catch (o) {
if (o instanceof Error) {
const e = new cD.GenericError({
code: cD.errorsNames.ERR_DISPLAY_AGREEMENT,
message: `[Agreement] displaying agreements error ${o}`,
payload: {error: o}
});
await XR(JR(e))
}
return console.error("[Agreements] - error displaying agreements", o), !1
}
}
}
}
}), Pz = ({
launcherVersion: e = "unknown",
patcherVersion: t = "unknown",
platformMaster: n = "prod",
isAppInitialized: r = !1,
isWindowMinimized: a = !1,
isDiscoverStarted: i = !1,
isDownloadPopoverOpened: o = !1,
isStatusPopoverOpened: s = !1,
isConnectionPopoverOpened: l = !1,
nonOperationalStatus: c,
connection: u = {
mode: navigator.onLine ? cD.ConnectionMode.ONLINE : cD.ConnectionMode.NO_CONNECTION,
needToBeCheck: !1
},
animations: d = {
appLayoutWipe: {isAnimating: !0, animType: "out"},
gamePageEntering: {isAnimating: !1, animState: ""}
}
}) => ({
launcherVersion: e,
patcherVersion: t,
platformMaster: n,
isAppInitialized: r,
isWindowMinimized: a,
isDiscoverStarted: i,
isDownloadPopoverOpened: o,
isStatusPopoverOpened: s,
isConnectionPopoverOpened: l,
nonOperationalStatus: c,
connection: u,
animations: d
}), Az = (e, t) => ({
application: {
...Pz({}), actions: {
initializeApplication: async () => {
const {
launcherVersion: t,
patcherVersion: n,
environment: r
} = await window.launcherAPI.game.getGlobalConfig(),
a = await window.launcherAPI.store.getValueFromStore("application.connection.lastTimeOnline"),
i = Pz({
launcherVersion: t,
patcherVersion: n,
platformMaster: r,
isAppInitialized: !0,
connection: {
mode: a ? cD.ConnectionMode.NO_CONNECTION : cD.ConnectionMode.ONLINE,
lastTimeOnline: a,
needToBeCheck: !0
}
});
e((e => ({application: {...e.application, ...i}})))
},
toggleDownloadPopoverOpened: () => {
const {application: e} = t();
e.actions.setDownloadPopoverOpened(!e.isDownloadPopoverOpened)
},
setDownloadPopoverOpened: t => {
t || Ez.clearCompletedInstallations(), e((e => ({
application: {
...e.application,
isDownloadPopoverOpened: t
}
})))
},
setStatusPopoverOpened: t => {
e((e => ({application: {...e.application, isStatusPopoverOpened: t}})))
},
setConnectionPopoverOpened: n => {
const {application: {connection: r}} = t();
n && r.mode === cD.ConnectionMode.ONLINE || e((e => ({
application: {
...e.application,
isConnectionPopoverOpened: n
}
})))
},
setCloseAllPopovers: () => {
const {application: e} = t();
e.actions.setDownloadPopoverOpened(!1), e.actions.setStatusPopoverOpened(!1), e.actions.setConnectionPopoverOpened(!1)
},
setNonOperationalStatus: t => {
e((e => ({application: {...e.application, nonOperationalStatus: t}})))
},
setWindowMinimized: t => {
e((e => ({application: {...e.application, isWindowMinimized: t}})))
},
resetApplication: () => e((e => ({
application: {
...e.application, ...Pz({}),
launcherVersion: e.application.launcherVersion,
patcherVersion: e.application.patcherVersion,
platformMaster: e.application.platformMaster
}
}))),
isMinimumWindowsVersion: async () => {
const e = t(), {osMetMinimumRequirements: n} = await window.launcherAPI.game.getGlobalConfig();
return !n && e.library.gameChannelSelected ? (await e.dialog.actions.showOsRequirementsDialog(e.library.gameChannelSelected), !1) : n
},
isRespectingCPUCapabilites: async () => {
const e = t(), {cpuMetRequirements: n} = await window.launcherAPI.game.getGlobalConfig();
return n || (await e.dialog.actions.showCpuRequirementsDialog(), !1)
},
isOffline: () => {
const {application: {connection: e}} = t();
return e.mode !== cD.ConnectionMode.ONLINE
},
isOfflineSessionValid: () => {
const {application: {connection: {lastTimeOnline: e}}} = t();
return (null !== e && void 0 !== e ? e : -1) + cD.configuration.authenticationExpiry > Date.now()
},
getRemainingTimeOfOfflineSession: () => {
const {application: {connection: {lastTimeOnline: e}}, user: {device: n}} = t();
if (!(n && (void 0 !== n.expires || n.duration !== SR.SESSION)) || void 0 === e) return;
const r = e + cD.configuration.authenticationExpiry, a = n.expires;
return mL(new Date(a < r ? a : r).toDateString(), "relative", {})
},
checkConnection: () => {
const {connectivity: e} = window.launcherAPI;
e.checkConnection()
},
setAnimatingAppLayoutWipe: (t, n) => {
e((e => ({
application: {
...e.application,
animations: {appLayoutWipe: {animType: t, isAnimating: n || !1}}
}
})))
},
setAnimatingGamePageEntering: (t, n) => {
e((e => ({
application: {
...e.application,
animations: {gamePageEntering: {isAnimating: t, animState: n || ""}}
}
})))
},
setDiscoverStarted: t => {
e((e => ({
application: {
...e.application,
isDiscoverStarted: null !== t && void 0 !== t ? t : e.application.isDiscoverStarted
}
})))
},
setConnectionAvailable: () => {
const {application: {connection: n}, toasts: r} = t();
n.mode !== cD.ConnectionMode.ONLINE && n.mode !== cD.ConnectionMode.OFFLINE && (e((e => ({
application: {
...e.application,
connection: {mode: cD.ConnectionMode.ONLINE, lastTimeOnline: void 0, needToBeCheck: !1}
}
}))), window.launcherAPI.store.setValueToStore("application.connection.lastTimeOnline", null), r.actions.add({
type: "positive",
title: ye.t("connection_toast_connection_available", {ns: "connection"})
}))
},
setConnectionUnavailable: async () => {
var n;
const {application: {actions: r, connection: a}} = t();
if (a.mode === cD.ConnectionMode.NO_CONNECTION && !a.needToBeCheck) return;
if (a.mode === cD.ConnectionMode.OFFLINE) return;
const i = null !== (n = a.lastTimeOnline) && void 0 !== n ? n : Date.now();
e((e => ({
application: {
...e.application,
connection: {
mode: cD.ConnectionMode.NO_CONNECTION,
lastTimeOnline: i,
needToBeCheck: !1
}
}
}))), window.launcherAPI.store.setValueToStore("application.connection.lastTimeOnline", i), YF.isLoggedIn() && (r.setCloseAllPopovers(), r.setLostConnectionToast(), r.setConnectionPopoverOpened(!0))
},
setLostConnectionToast: () => {
const {application: {actions: e}, toasts: n} = t(), r = e.getRemainingTimeOfOfflineSession();
n.actions.add({
duration: 6e3,
type: "informative",
icon: dz,
title: ye.t("connection_toast_warning_lost_connection_title", {ns: "connection"}),
children: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
as: "span",
children: ye.t("connection_toast_warning_lost_connection_content", {ns: "connection"})
}), r && (0, OL.jsxs)(hb, {
as: "span",
children: [ye.t("connection_toast_warning_lost_connection_remaining", {ns: "connection"}), (0, OL.jsx)(hb, {
as: "span",
variant: "body-m-bold",
children: " " + e.getRemainingTimeOfOfflineSession()
})]
})]
}),
actions: [{
close: !0,
label: ye.t("connection_toast_action_continue_offline", {ns: "connection"})
}]
})
},
setConnection: n => {
const {application: {connection: r}} = t();
r.mode !== n.mode && e((e => ({
application: {
...e.application,
connection: {...n, needToBeCheck: !1}
}
})))
}
}
}
}), Tz = (e, t) => ({
authentication: {
captcha: null, actions: {
initializeAuthentication: async () => {
e((e => ({authentication: {...e.authentication, captcha: null}})))
}, fetchCaptcha: async () => {
const t = await YR.authentication.getCaptcha();
e((e => ({authentication: {...e.authentication, captcha: t}})))
}, resetAuthentication: () => e((e => ({authentication: {...e.authentication, captcha: null}})))
}
}
}), Dz = "autoUpdate", Rz = (e, t = {}) => xt.t(e, {ns: Dz, ...t}), Lz = (e, t) => {
var n;
const {closeDialog: r} = e.autoUpdate.actions,
a = null === (n = window.launcherAPI.autoUpdate) || void 0 === n ? void 0 : n.updateAndRestart, i = {
open: !0,
alert: !0,
close: Rz("auto_update_dialog_close"),
title: Rz("auto_update_dialog_title"),
onOpenChange: () => {
r()
}
};
switch (t.state) {
case cD.AutoUpdateDialogStates.AVAILABLE:
return {
...i,
children: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(hb, {
variant: "emphasis-s",
as: "h4",
children: Rz("auto_update_dialog_sub_title", {version: t.updateInfo.version})
}), (0, OL.jsx)(ft, {
i18nKey: "auto_update_dialog_update_available_content",
t: xt.t,
ns: Dz,
components: [(0, OL.jsx)("br", {})]
})]
}),
actions: [{label: Rz("auto_update_dialog_update_available_action_secondary_label")}, {
label: Rz("auto_update_dialog_update_available_action_primary_label"),
onClick: () => a()
}]
};
case cD.AutoUpdateDialogStates.ERROR:
return {
...i,
type: "negative",
children: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(hb, {
variant: "emphasis-s",
as: "h4",
children: Rz("auto_update_dialog_sub_title", {version: t.updateInfo.version})
}), (0, OL.jsx)(ft, {
i18nKey: "auto_update_dialog_update_install_failed_content",
t: xt.t,
ns: Dz,
components: [(0, OL.jsx)(DA, {href: cD.configuration.supportUrl, external: !0})]
})]
}),
actions: [{label: Rz("auto_update_dialog_update_install_failed_action_secondary_label")}, {
label: Rz("auto_update_dialog_update_install_failed_action_primary_label"),
onClick: () => a()
}]
};
case cD.AutoUpdateDialogStates.QUIT_GAME:
return {
...i,
type: "negative",
children: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(hb, {
variant: "emphasis-s",
as: "h4",
children: Rz("auto_update_dialog_sub_title", {version: t.updateInfo.version})
}), Rz("auto_update_dialog_update_quit_game_content")]
}),
actions: [{label: Rz("auto_update_dialog_update_quit_game_action_secondary_label")}, {
label: Rz("auto_update_dialog_update_quit_game_action_primary_label"),
onClick: () => a(!0)
}]
};
default:
return {
...i,
children: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(hb, {
variant: "emphasis-s",
as: "h4",
children: Rz("auto_update_dialog_sub_title", {version: t.updateInfo.version})
}), (0, OL.jsx)(ft, {
i18nKey: "auto_update_dialog_no_update_content",
t: xt.t,
ns: Dz,
components: [(0, OL.jsx)("br", {})]
})]
}),
actions: [{label: Rz("auto_update_dialog_no_update_action_primary_label")}]
}
}
}, jz = {dialog: {}}, Nz = (e, t) => ({
autoUpdate: {
...jz, actions: {
async closeDialog() {
var n;
const r = t();
null === (n = window.launcherAPI.autoUpdate) || void 0 === n || n.dismissUpdate(), e({
autoUpdate: {
...r.autoUpdate,
dialog: {}
}
})
}, displayDialog(n) {
const r = t();
e({autoUpdate: {...r.autoUpdate, dialog: Lz(r, n)}})
}
}
}
}), Mz = ({children: e}) => {
const t = uU((e => e.application)), n = uU((e => e.settings)),
r = uU((e => e.window)), {t: a} = bt("discover"), i = YF.isLoggedIn(), o = t.isDiscoverStarted,
s = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
return (0, Ee.useEffect)((() => {
if (!n.appSettings.isDiscoverDone && i) {
const e = setTimeout((() => {
r.actions.openDiscover()
}), s);
return () => clearTimeout(e)
}
}), [i]), (0, OL.jsx)(OL.Fragment, {
children: (0, OL.jsx)(eD, {
open: o,
onOpenChange: e => {
e || (t.actions.setDiscoverStarted(!1), n.actions.saveApplicationSettings({
name: "isDiscoverDone",
value: !0
}))
},
doneLabel: a("step_done_label"),
steps: [{
selector: '[data-sol-discover="menu"]',
title: a("step_menu_title"),
description: a("step_menu_description")
}, {
selector: '[data-sol-discover="status"]',
title: a("step_status_title"),
description: a("step_status_description"),
placement: "bottom-end"
}, {
selector: '[data-sol-discover="download"]',
title: a("step_download_title"),
description: a("step_download_description"),
placement: "bottom-end"
}, {
selector: '[data-sol-discover="user-profile"]',
title: a("step_user-profile_title"),
description: a("step_user-profile_description"),
placement: "bottom-end"
}, {title: a("step_last_title"), description: a("step_last_description")}],
children: e
})
})
},
Fz = JSON.parse('{"v":"5.9.0","fr":29.9700012207031,"ip":0,"op":180.00000733155,"w":16,"h":16,"nm":"wifi-off","ddd":0,"assets":[{"id":"comp_0","nm":"wifi-off_export","fr":29.9700012207031,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Bar","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8.16,6.619,0],"ix":2,"l":2},"a":{"a":0,"k":[4.162,5.114,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-3.412,-4.365],[3.412,4.365]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[4.162,5.114],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":140,"s":[0]},{"t":150.000006109625,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":18,"s":[0]},{"t":28.0000011404634,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":180.00000733155,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Waves 6","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8,8,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.938,0.188],[-5.5,2.875],[2.593,9.624],[4.941,5.621],[2.142,2.005],[3.63,1.404],[12.72,12.599],[16.149,12.425],[18.625,6.812],[21.938,0.188]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":16,"h":16,"ip":20.0000008146167,"op":142.000005783779,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Waves 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.4,0],[-1.681,-1.372]],"o":[[1.7,-1.436],[2.339,0],[0,0]],"v":[[-6.232,1.151],[0.064,-1.151],[6.232,1.044]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[9.982,4.901],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.53],"y":[0]},"t":149,"s":[0]},{"t":154.000006272549,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":142.000005783779,"op":229.000009327361,"st":142.000005783779,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Waves 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.4,0],[-1.681,-1.372]],"o":[[1.7,-1.436],[2.339,0],[0,0]],"v":[[-6.232,1.151],[0.064,-1.151],[6.232,1.044]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[9.982,4.901],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":12,"s":[0]},{"t":17.0000006924242,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":20.0000008146167,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Waves 5","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8,8,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.188,5.5],[2.438,10.875],[6.938,8.281],[4.75,4.906],[6.188,4.25],[13.938,16],[14,11.375],[15.812,6.125],[16,0]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":16,"h":16,"ip":22.0000008960784,"op":144.00000586524,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Waves 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.599,0],[-1.144,-0.948]],"o":[[1.143,-0.945],[1.602,0],[0,0]],"v":[[-4.212,0.755],[-0.003,-0.758],[4.212,0.758]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.049,7.659],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.53],"y":[0]},"t":152,"s":[0]},{"t":157.000006394741,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":144.00000586524,"op":229.000009327361,"st":144.00000586524,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Waves 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.599,0],[-1.144,-0.948]],"o":[[1.143,-0.945],[1.602,0],[0,0]],"v":[[-4.212,0.755],[-0.003,-0.758],[4.212,0.758]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.049,7.659],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":8,"s":[0]},{"t":13.0000005295009,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":22.0000008960784,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Waves 4","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8,8,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.562,9.125],[4.938,12.5],[9.998,11.721],[6.481,7.588],[7.843,7.154],[14,14.75],[16,0]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":16,"h":16,"ip":24.00000097754,"op":146.000005946702,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Waves 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.804,0],[-0.577,-0.439]],"o":[[0.585,-0.463],[0.78,0],[0,0]],"v":[[-2.102,0.37],[0.026,-0.37],[2.102,0.33]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.021,10.452],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.53],"y":[0]},"t":156,"s":[0]},{"t":161.000006557664,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":146.000005946702,"op":229.000009327361,"st":146.000005946702,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Waves","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.804,0],[-0.577,-0.439]],"o":[[0.585,-0.463],[0.78,0],[0,0]],"v":[[-2.102,0.37],[0.026,-0.37],[2.102,0.33]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.021,10.452],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":4,"s":[0]},{"t":9.00000036657752,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":24.00000097754,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,12.513,0],"ix":2,"l":2},"a":{"a":0,"k":[1.237,1.237,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.49,0.49,0.49],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":5,"s":[100,100,100]},{"i":{"x":[0.49,0.49,0.49],"y":[1,1,1]},"o":{"x":[0.51,0.51,0.51],"y":[0,0,0]},"t":160,"s":[100,100,100]},{"t":166.000006761319,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.545],[0.545,0],[0,0.545],[-0.545,0]],"o":[[0,0.545],[-0.545,0],[0,-0.545],[0.545,0]],"v":[[0.987,0],[0,0.987],[-0.987,0],[0,-0.987]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1.237,1.237],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"bm":0}]},{"id":"comp_1","nm":"Waves 6","fr":29.9700012207031,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Waves 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.4,0],[-1.681,-1.372]],"o":[[1.7,-1.436],[2.339,0],[0,0]],"v":[[-6.232,1.151],[0.064,-1.151],[6.232,1.044]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[9.982,4.901],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":-1.00000004073083,"op":181.000007372281,"st":0,"bm":0}]},{"id":"comp_2","nm":"Waves 5","fr":29.9700012207031,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Waves 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.599,0],[-1.144,-0.948]],"o":[[1.143,-0.945],[1.602,0],[0,0]],"v":[[-4.212,0.755],[-0.003,-0.758],[4.212,0.758]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.049,7.659],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":180.00000733155,"st":0,"bm":0}]},{"id":"comp_3","nm":"Waves 4","fr":29.9700012207031,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Waves 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.936,6.288,0],"ix":2,"l":2},"a":{"a":0,"k":[9.982,7.286,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.804,0],[-0.577,-0.439]],"o":[[0.585,-0.463],[0.78,0],[0,0]],"v":[[-2.102,0.37],[0.026,-0.37],[2.102,0.33]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[10.021,10.452],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":2,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":-3.00000012219251,"op":181.000007372281,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"wifi-off_content","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":64,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":66,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":68,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[10]},{"t":72.0000029326201,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8,8,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":16,"h":16,"ip":0,"op":180.00000733155,"st":0,"bm":0}],"markers":[]}'),
zz = () => {
const {t: e} = bt("connection"),
t = uU((e => e.application)), {reduceMotion: {unessentialAnimationsDisabled: n}} = Xy();
return (0, OL.jsx)(JA, {
title: e("connection_title"),
offset: "large",
placement: "bottom-end",
trigger: (0, OL.jsx)(Pb, {
"data-test-id": "connection",
icon: (0, OL.jsx)(pb, {source: n ? Sz : Fz})
}),
open: t.isConnectionPopoverOpened,
onOpenChange: e => {
t.actions.setConnectionPopoverOpened(e)
},
footer: (0, OL.jsx)(OL.Fragment, {
children: t.connection.mode === cD.ConnectionMode.NO_CONNECTION && (0, OL.jsx)(_b, {
size: "small",
variant: "plain",
loading: !0,
disabled: !0,
children: e("connection_offline_trying_to_reconnect")
})
}),
children: (0, OL.jsx)(Cb, {vertical: !0, gap: "100", children: e("connection_offline_information")})
})
},
Vz = JSON.parse('{"v":"5.9.0","fr":30,"ip":0,"op":90,"w":16,"h":16,"nm":"download - option 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":1,"nm":"Dark Royal Blue Solid 1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8,8,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0,0.031],[0,14.5],[16,14.5],[16,0.031]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"sw":16,"sh":16,"sc":"#0a1d29","ip":0,"op":90,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Arrow Outlines","tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":23,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"t":31,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.41,"y":1},"o":{"x":0.01,"y":0},"t":0,"s":[8,6.484,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.75,"y":1},"o":{"x":0.01,"y":0},"t":29,"s":[8,21.484,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.75,"y":1},"o":{"x":0.46,"y":0},"t":30,"s":[8,-5.516,0],"to":[0,0,0],"ti":[0,0,0]},{"t":45,"s":[8,6.484,0]}],"ix":2,"l":2},"a":{"a":0,"k":[3.983,5.734,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.398,0],[-0.025,-0.392],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.22,0],[0,-0.414],[0.164,-0.137],[0,0],[0.206,0],[0.135,0.134],[0,0],[0,0.231],[-0.414,0],[-0.138,-0.151],[0,0],[0,0],[0,0]],"o":[[0.398,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.137,-0.151],[0.414,0],[0,0.231],[0,0],[-0.135,0.135],[-0.206,0],[0,0],[-0.164,-0.137],[0,-0.414],[0.22,0],[0,0],[0,0],[0,0],[0.025,-0.392]],"v":[[0,-5.484],[0.749,-4.781],[0.75,-4.781],[0.75,-4.736],[0.75,-4.734],[0.75,-4.732],[0.75,2.93],[2.427,1.253],[2.983,1.007],[3.733,1.757],[3.464,2.331],[0.528,5.268],[0,5.484],[-0.527,5.268],[-3.464,2.331],[-3.733,1.757],[-2.983,1.007],[-2.427,1.253],[-0.75,2.93],[-0.75,-4.781],[-0.749,-4.781]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[3.983,5.734],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":-28,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Base Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,14.25,0],"ix":2,"l":2},"a":{"a":0,"k":[7.25,1,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0.414],[0.414,0],[0,0],[0,-0.414],[-0.414,0]],"o":[[0.414,0],[0,-0.414],[0,0],[-0.414,0],[0,0.414],[0,0]],"v":[[6.25,0.75],[7,0],[6.25,-0.75],[-6.25,-0.75],[-7,0],[-6.25,0.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.25,1],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":90,"st":0,"bm":0}],"markers":[]}'),
Uz = ({labelItem: e}) => {
const {t: t} = bt("download"), n = uU((e => e.installer)), r = uU((e => e.application)),
a = r.connection.mode !== cD.ConnectionMode.ONLINE, [i, o] = (0, Ee.useState)(!1),
s = fN(), {reduceMotion: {wipeAnimationsDisabled: l, unessentialAnimationsDisabled: c}} = Xy(),
u = e => {
r.actions.setDownloadPopoverOpened(e)
};
return (0, OL.jsx)(JA, {
offset: "large",
placement: "bottom-end",
footer: (0, OL.jsx)(_b, {
size: "small", variant: "plain", icon: bz, onClick: () => (() => {
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
if (u(!1), l) return void s(`${eB.SETTINGS}/${eB.SETTINGS_DOWNLOAD}`);
r.actions.setAnimatingAppLayoutWipe("full", !0);
const t = setTimeout((() => {
s(`${eB.SETTINGS}/${eB.SETTINGS_DOWNLOAD}`)
}), e / 2);
return () => clearTimeout(t)
})(), children: t("download_settings")
}),
fullWidth: !0,
trigger: (0, OL.jsx)(Pb, {
"data-test-id": "download",
"data-sol-discover": "download",
icon: (0, OL.jsx)(pb, {
source: c ? cz : Vz,
isPlaying: void 0 !== n.current && !r.isDownloadPopoverOpened && !i
}),
label: e,
onMouseEnter: () => o(!0),
onMouseLeave: () => o(!1)
}),
open: r.isDownloadPopoverOpened,
onOpenChange: e => u(e),
children: (0, OL.jsxs)(Cb, {
gap: "125",
vertical: !0,
children: [n.current && (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
variant: "emphasis-m",
children: t("download_downloads_on_going")
}), (0, OL.jsx)(dS, {...Bz({t: t, isOffline: a, installation: n.current})})]
}), n.queue.length > 0 && (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
variant: "emphasis-m",
children: t("download_downloads_waiting")
}), (0, OL.jsx)(BI, {
draggable: n.queue.length > 1,
items: n.queue.map((e => Bz({t: t, isOffline: a, installation: e}))),
onItemsReordered: e => {
const t = e.map((e => e.id)), r = $z(n.queue, t);
Ez.updateQueue(r)
}
})]
}), n.finished.length > 0 && (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(hb, {
variant: "emphasis-m",
children: t("download_downloads_finished")
}), (0, OL.jsx)(BI, {
items: n.finished.map((e => Bz({
t: t,
isOffline: a,
installation: e
})))
})]
}), void 0 === n.current && 0 === n.queue.length && 0 === n.finished.length && (0, OL.jsx)(hb, {children: t("download_empty")})]
})
})
}, Bz = ({t: e, isOffline: t, installation: n}) => {
var r, a;
return {
id: Gz(n),
title: `${n.game.gameName} - ${n.release ? n.release.versionLabel + " - " : ""}${n.game.channelId}`,
subtitle: e(`download_type_${n.type}`),
state: n.type === cD.InstallationType.VERIFY && n.status === cD.InstallationStatus.IN_PROGRESS ? "verifying" : n.status,
actions: (n => {
if (n.status === cD.InstallationStatus.WAITING || n.status === cD.InstallationStatus.COMPLETED || n.status === cD.InstallationStatus.ERROR) return [{
icon: sz,
label: e("download_remove"),
tooltip: e("download_remove"),
onClick: () => Ez.cancelInstallation(n.game)
}];
const r = n.progress && nL(n.progress), a = n.progress && (e => {
switch (e.phase) {
case cD.InstallerPhases.InitialDownloadProgress:
case cD.InstallerPhases.PatcherUpdateLooseFileProgress:
case cD.InstallerPhases.PatcherUpdateP4kProgress:
case cD.InstallerPhases.PatcherVerificationP4kProgress:
return !0;
default:
return !1
}
})(n.progress), i = [];
return i.push({
disabled: n.status === cD.InstallationStatus.CANCELLING || t || !r,
icon: n.status === cD.InstallationStatus.PAUSED ? vz : gz,
label: n.status === cD.InstallationStatus.PAUSED ? e("download_resume") : e("download_pause"),
tooltip: n.status === cD.InstallationStatus.PAUSED ? e("download_resume") : e("download_pause"),
onClick: n.status === cD.InstallationStatus.PAUSED ? () => Ez.resumeInstallation(n.game) : () => Ez.pauseInstallation(n.game)
}), i.push({
disabled: n.status === cD.InstallationStatus.CANCELLING || !a,
icon: oz,
label: e("download_cancel"),
tooltip: e("download_cancel"),
onClick: () => Ez.cancelInstallation(n.game)
}), i
})(n),
progress: n.status === cD.InstallationStatus.IN_PROGRESS && null !== (r = n.progress) && void 0 !== r && r.showProgress ? null === (a = n.progress) || void 0 === a ? void 0 : a.percentage : void 0,
stats: (t => {
var n, r, a, i;
if (t.status === cD.InstallationStatus.COMPLETED) return [{
label: e("download_status"),
value: e("download_completed")
}];
if (t.status === cD.InstallationStatus.WAITING) return [{
label: e("download_status"),
value: e("download_waiting")
}];
if (t.status === cD.InstallationStatus.CANCELLING) return [{
label: e("download_status"),
value: e("download_cancelling")
}];
if (t.status === cD.InstallationStatus.ERROR) return [{
label: e("download_status"),
value: e("download_error")
}];
if (!t.progress || t.status !== cD.InstallationStatus.IN_PROGRESS && t.status !== cD.InstallationStatus.PAUSED) return [];
if (t.progress.progressUndeterminate) return [{
label: e("download_phase"),
value: t.progress.phaseLabel
}];
const o = [{fill: !0, label: e("download_phase"), value: t.progress.phaseLabel}],
s = Math.max((null !== (n = t.progress.total) && void 0 !== n ? n : 0) - (null !== (r = t.progress.downloaded) && void 0 !== r ? r : 0), 0);
return t.progress.speed && !cD.InstallerVerificationPhases.includes(t.progress.phase) && o.push({
label: e("download_speed"),
value: `${t.progress.speed}/s`
}, {label: e("download_left"), value: tL()(s)}), o.push({
label: e("download_files_left"),
value: Math.max((null !== (a = t.progress.filesTotal) && void 0 !== a ? a : 0) - (null !== (i = t.progress.filesDone) && void 0 !== i ? i : 0), 0)
}), o
})(n)
}
}, Gz = e => `${e.game.gameId}-${e.game.channelId}`, $z = (e, t) => {
const n = new Map;
return t.forEach(((e, t) => {
n.set(e, t)
})), [...e].sort(((e, t) => {
const r = Gz(e), a = Gz(t), i = n.get(r), o = n.get(a);
return void 0 === i ? 1 : void 0 === o ? -1 : i - o
}))
}, qz = ({title: e, status: t, label: n}) => (0, OL.jsxs)(Cb, {
as: "dl",
align: "center",
gap: "100",
justify: "space-between",
children: [(0, OL.jsx)(hb, {
as: "dt",
color: "foreground-weak",
variant: "body-m",
children: e
}), (0, OL.jsx)(JI, {as: "dd", status: SL(t), children: null !== n && void 0 !== n ? n : "-"})]
}), Wz = e => ({
status: {
is: "",
cStateVersion: "",
apiVersion: "",
title: "",
languageCodeHTML: "",
languageCode: "",
baseURL: "",
description: "",
summaryStatus: void 0,
categories: [],
systems: [],
buildDate: "",
buildTime: "",
buildTimezone: "",
colorBrand: "",
colorOk: "",
colorDisrupted: "",
colorDown: "",
colorNotice: "",
alwaysKeepBrandColor: "",
logo: "",
googleAnalytics: "",
lastRequestDate: "",
intervalId: "",
actions: {
initializeStatus: async () => {
e((e => ({
status: {
...e.status,
is: "",
cStateVersion: "",
apiVersion: "",
title: "",
languageCodeHTML: "",
languageCode: "",
baseURL: "",
description: "",
summaryStatus: void 0,
categories: [],
systems: [],
buildDate: "",
buildTime: "",
buildTimezone: "",
colorBrand: "",
colorOk: "",
colorDisrupted: "",
colorDown: "",
colorNotice: "",
alwaysKeepBrandColor: "",
logo: "",
googleAnalytics: "",
lastRequestDate: "",
intervalId: ""
}
})))
}, checkStatus: async () => {
if (!uU.getState().status.intervalId) {
await Hz();
const e = setInterval(Hz, DR(cD.configuration.requestPollingInterval.status.base, cD.configuration.requestPollingInterval.status.window));
uU.setState({status: {...uU.getState().status, intervalId: e}})
}
}
}
}
}), Hz = async () => {
const {application: e, status: t} = uU.getState();
if (YF.isLoggedIn() || Kz(t.intervalId), !e.isWindowMinimized) {
if (e.actions.isOffline()) return e.actions.setNonOperationalStatus(void 0), void uU.setState((e => ({
...e,
status: {
...e.status,
is: "",
cStateVersion: "",
apiVersion: "",
title: "",
languageCodeHTML: "",
languageCode: "",
baseURL: "",
description: "",
summaryStatus: void 0,
categories: [],
systems: [],
buildDate: "",
buildTime: "",
buildTimezone: "",
colorBrand: "",
colorOk: "",
colorDisrupted: "",
colorDown: "",
colorNotice: "",
alwaysKeepBrandColor: "",
logo: "",
googleAnalytics: "",
lastRequestDate: "",
intervalId: ""
}
})));
try {
const t = await RF.fetchQuery({
queryKey: ["rsiStatus"],
queryFn: async () => YR.status.getStatus(),
staleTime: 0
}),
n = null === t || void 0 === t ? void 0 : t.systems.filter((e => (e.name === cD.RSISystemName.PERSISTENTE_UNIVERSE || e.name === cD.RSISystemName.ARENA_COMMANDER) && e.status !== cD.RSISystemStatus.OPERATIONAL)).sort(((e, t) => cD.SystemStatusOrder[e.status.toUpperCase()] - cD.SystemStatusOrder[t.status.toUpperCase()])).map((e => e.status)).shift();
e.actions.setNonOperationalStatus(n), uU.setState((e => ({
...e,
status: {...e.status, ...t, lastRequestDate: (new Date).toISOString()}
})))
} catch (n) {
console.error("ERROR", n)
}
}
}, Kz = e => {
const t = uU.getState().application;
clearInterval(e), t.actions.setNonOperationalStatus(void 0), uU.setState((e => ({
...e,
status: {
...e.status,
is: "",
cStateVersion: "",
apiVersion: "",
title: "",
languageCodeHTML: "",
languageCode: "",
baseURL: "",
description: "",
summaryStatus: void 0,
categories: [],
systems: [],
buildDate: "",
buildTime: "",
buildTimezone: "",
colorBrand: "",
colorOk: "",
colorDisrupted: "",
colorDown: "",
colorNotice: "",
alwaysKeepBrandColor: "",
logo: "",
googleAnalytics: "",
lastRequestDate: "",
intervalId: ""
}
})))
},
Yz = JSON.parse('{"v":"5.9.0","fr":30,"ip":0,"op":120,"w":16,"h":16,"nm":"icon_status_animated","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"i outlines - Orion style","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":54.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":56.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":58.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60.01,"s":[10]},{"t":62.01171875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[1,4,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.414,0],[0,0.414],[0,0],[0.414,0],[0,-0.414],[0,0]],"o":[[0.414,0],[0,0],[0,-0.414],[-0.414,0],[0,0],[0,0.414]],"v":[[0,2.625],[0.75,1.875],[0.75,-1.875],[0,-2.625],[-0.75,-1.875],[-0.75,1.875]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,5.125],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0.414],[-0.414,0],[0,-0.414],[0.414,0]],"o":[[0,-0.414],[0.414,0],[0,0.414],[-0.414,0]],"v":[[-0.75,0],[0,-0.75],[0.75,0],[0,0.75]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,1],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":6870.87087087087,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Cercle Outlines 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50.021,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.022,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":54.024,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":56.026,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":58.028,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60.03,"s":[10]},{"t":62.0322265625,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[8.86,8.86,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.512,0],[0,-3.513],[-3.513,0],[0,3.512]],"o":[[-3.513,0],[0,3.512],[3.512,0],[0,-3.513]],"v":[[0,-6.36],[-6.36,0],[0,6.36],[6.36,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[8.86,8.86],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.985],"y":[2.857]},"o":{"x":[0.159],"y":[0]},"t":30,"s":[100]},{"i":{"x":[0.735],"y":[3.042]},"o":{"x":[0.143],"y":[3.552]},"t":60.03,"s":[100]},{"t":90.060546875,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.709],"y":[1.164]},"o":{"x":[0.474],"y":[0.066]},"t":30,"s":[0]},{"i":{"x":[0.602],"y":[0.921]},"o":{"x":[0.314],"y":[0.13]},"t":60.03,"s":[78.782]},{"t":82,"s":[0]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.472],"y":[0.887]},"o":{"x":[0.51],"y":[0.095]},"t":30,"s":[-360]},{"t":90.060546875,"s":[720]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]}'),
Qz = ({labelItem: e}) => {
const [t, n] = (0, Ee.useState)(!1), {t: r} = bt("status"), a = uU((e => e.status)),
i = uU((e => e.application)), {reduceMotion: {unessentialAnimationsDisabled: o}} = Xy(),
s = a.systems && a.systems.length > 0, l = i.connection.mode === cD.ConnectionMode.NO_CONNECTION,
c = (0, Ee.useMemo)((() => {
if (!t && !i.isStatusPopoverOpened && a.summaryStatus && a.summaryStatus !== cD.RSISystemStatus.OPERATIONAL) return "status-" + SL(a.summaryStatus)
}), [t, i.isStatusPopoverOpened, a.summaryStatus]);
return (0, Ee.useEffect)((() => {
Hz()
}), [i.connection.mode]), (0, OL.jsx)(JA, {
title: r("status_title"),
offset: "large",
placement: "bottom-end",
fullWidth: !0,
trigger: (0, OL.jsx)(Pb, {
"data-test-id": "status",
"data-sol-discover": "status",
icon: (0, OL.jsx)(pb, {
color: c,
source: o || l ? dz : Yz,
isPlaying: !i.isStatusPopoverOpened && !t && a.summaryStatus !== cD.RSISystemStatus.OPERATIONAL
}),
label: e,
onMouseEnter: () => n(!0),
onMouseLeave: () => n(!1)
}),
open: i.isStatusPopoverOpened,
onOpenChange: e => {
i.actions.setStatusPopoverOpened(e)
},
footer: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(_b, {
external: !0,
href: cD.configuration.statusUrl,
size: "small",
endIcon: mz,
variant: "plain",
children: r("status_more_information")
}), (0, OL.jsx)(hb, {
color: "foreground-weak",
variant: "body-xs",
children: a.lastRequestDate ? r("status_last_updated", {time: mL(a.lastRequestDate, "relative")}) : r("status_last_updated_empty")
})]
}),
children: (0, OL.jsx)(Cb, {
vertical: !0,
gap: "100",
children: s ? a.systems.map((e => (0, OL.jsx)(qz, {
title: e.name,
status: e.status,
label: r("status_" + e.status)
}, e.name))) : r("status_empty")
})
})
}, Zz = () => {
var e, t, n, r, a, i;
const {t: o} = bt("appHeader"), s = uU((e => e.application)), l = uU((e => e.user)),
c = uU((e => e.soundSystem)), u = uU((e => e.window)),
d = uU((e => e.installer)), {window: {setMinimizeWindow: p}} = vL(),
h = fN(), {reduceMotion: {wipeAnimationsDisabled: f}} = Xy(), m = void 0 !== d.current,
g = (0, Ee.useMemo)((() => {
var e;
const t = null === (e = l.identity) || void 0 === e ? void 0 : e.avatar;
return t ? t.match(/^https?:\/\//) ? t : IL(t) : cD.configuration.assets.avatar.defaultUrl
}), [null === (e = l.identity) || void 0 === e ? void 0 : e.avatar]),
v = (0, Ee.useMemo)((() => cD.configuration.assets.directory + cD.configuration.assets.avatar.defaultLocal), []),
_ = (0, Ee.useMemo)((() => {
var e;
const t = null === (e = l.identity) || void 0 === e ? void 0 : e.nickname;
return t ? IL(`/citizens/${t}`) : cD.configuration.playnowUrl
}), [null === (t = l.identity) || void 0 === t ? void 0 : t.nickname]),
y = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
return (0, OL.jsxs)(Tb, {
children: [(0, OL.jsxs)(HA, {
offset: "large",
trigger: (0, OL.jsxs)(Pb, {
"data-test-id": "rsi-menu",
"data-sol-discover": "menu",
label: o("app_header_menu"),
className: "sol-c-app-header__item--rsi-logo",
children: [(0, OL.jsx)(eT, {}), (0, OL.jsx)(az, {className: "sol-c-icon sol-c-icon--arrow-up"}), (0, OL.jsx)(rz, {className: "sol-c-icon sol-c-icon--arrow-down"})]
}),
children: [YF.isLoggedIn() && (0, OL.jsx)(qA, {
onClick: () => {
if (f) return void h(eB.SETTINGS);
s.actions.setAnimatingAppLayoutWipe("full", !0);
const e = setTimeout((() => {
h(eB.SETTINGS)
}), y / 2);
return () => clearTimeout(e)
}, label: o("app_header_menu_settings"), disabled: window.location.hash.includes(eB.SETTINGS)
}), (0, OL.jsx)(qA, {
external: !0,
endIcon: mz,
href: cD.configuration.supportUrl,
label: o("app_header_menu_get_help"),
"data-test-id": "rsi-menu-help"
}), (0, OL.jsx)(qA, {
external: !0,
endIcon: mz,
href: cD.configuration.spectrumUrl,
label: o("app_header_menu_spectrum")
}), (0, OL.jsx)(qA, {
external: !0,
endIcon: mz,
href: cD.configuration.issueCouncilUrl,
label: o("app_header_menu_issue_council")
}), YF.isLoggedIn() && (0, OL.jsx)(qA, {
label: o("app_header_menu_discover"),
"data-test-id": "rsi-menu-discover",
onClick: () => {
if (window.location.hash.includes(eB.SETTINGS)) {
if (f) return void h(eB.HOME);
s.actions.setAnimatingAppLayoutWipe("full", !0);
const e = setTimeout((() => {
h(eB.HOME), u.actions.openDiscover()
}), y / 2);
return () => clearTimeout(e)
}
u.actions.openDiscover()
},
disabled: m
}), (0, OL.jsx)(qA, {
label: o("app_header_menu_exit_the_app"),
"data-test-id": "rsi-menu-exit",
onClick: e => {
e.preventDefault(), u.actions.exitLauncher()
}
})]
}), (0, OL.jsx)(tD, {
value: c.volume,
label: o("app_header_volume"),
muteLabel: o("app_header_volume_mute"),
unmuteLabel: o("app_header_volume_unmute"),
onChange: e => {
c.actions.changeVolume(e)
}
}), (0, OL.jsxs)(Ob, {
children: [YF.isLoggedIn() && (0, OL.jsxs)(OL.Fragment, {
children: [s.actions.isOffline() && (0, OL.jsxs)(OL.Fragment, {children: [(0, OL.jsx)(zz, {}), (0, OL.jsx)(Ab, {})]}), (0, OL.jsx)(Qz, {labelItem: o("app_header_actions_menu_rsi_status")}), (void 0 !== d.current || d.queue.length > 0 || d.finished.length > 0) && (0, OL.jsxs)(OL.Fragment, {children: [(0, OL.jsx)(Ab, {}), (0, OL.jsx)(Uz, {labelItem: o("app_header_actions_download")})]}), (0, OL.jsxs)(HA, {
offset: "large",
placement: "bottom-end",
trigger: (0, OL.jsx)(Pb, {
"data-test-id": "avatar-menu",
"data-sol-discover": "user-profile",
hasAvatar: !0,
label: o("app_header_account"),
children: (0, OL.jsx)(Rb, {
"data-test-id": "avatar-img",
src: s.actions.isOffline() ? v : g
})
}),
children: [(0, OL.jsx)(WA, {
"data-test-id": "avatar-nickname",
title: null !== (n = null === (r = l.identity) || void 0 === r ? void 0 : r.displayName) && void 0 !== n ? n : o("app_header_account_moniker"),
subtitle: `@${null !== (a = null === (i = l.identity) || void 0 === i ? void 0 : i.nickname) && void 0 !== a ? a : o("app_header_account_name")}`
}), (0, OL.jsx)(qA, {
external: !0,
href: _,
endIcon: mz,
label: o("app_header_actions_menu_rsi_account"),
"data-test-id": "avatar-url"
}), (0, OL.jsx)(qA, {
"data-test-id": "avatar-logout",
label: o("app_header_actions_menu_log_out"),
onClick: e => {
e.preventDefault(), u.actions.logoutLauncher()
}
})]
})]
}), (0, OL.jsx)(Pb, {
alwaysOnTop: !0,
"aria-label": "Minimize",
onClick: () => p(),
disableFocus: !0,
icon: hz
}), (0, OL.jsx)(Pb, {
alwaysOnTop: !0, "aria-label": "Close", onClick: e => {
e.preventDefault(), u.actions.closeLauncher()
}, disableFocus: !0, icon: sz
})]
})]
})
}, Xz = () => {
const [e, t] = (0, Ee.useState)("");
return (0, Ee.useEffect)((() => {
const e = setTimeout((() => t("in")), cD.configuration.appLayoutLoaderWipeTrigger);
return () => clearTimeout(e)
}), []), (0, OL.jsx)(Db, {
className: "sol-u-animation-wipe",
"data-sol-animation-wipe": e,
children: (0, OL.jsx)(UA, {})
})
}, Jz = () => {
const e = uU((e => e.autoUpdate));
return (() => {
const e = uU((e => e.autoUpdate)), {
onUpdateDownloaded: t,
onQuitInstallError: n
} = window.launcherAPI.autoUpdate;
(0, Ee.useEffect)((() => t((t => e.actions.displayDialog(t)))), [e.actions, t]), (0, Ee.useEffect)((() => n((t => e.actions.displayDialog(t)))), [e.actions, n])
})(), (0, OL.jsx)(lS, {...e.dialog})
}, eV = X_.create((({title: e, content: t, primaryCallback: n, primaryLabel: r, typeDialog: a}) => {
const i = q_(), {t: o} = bt(["dialog"]), s = {
close: !1,
label: null !== r && void 0 !== r ? r : o("dialog_action_ok", {ns: "dialog"}),
onClick: () => {
null === n || void 0 === n || n(), i.resolve({resolved: !0}), i.hide()
}
};
return (0, OL.jsx)(lS, {
open: i.visible,
onOpenChange: e => i[e ? "show" : "hide"](),
title: e,
type: null !== a && void 0 !== a ? a : "negative",
close: o("dialog_action_close"),
actions: [s],
children: t
})
}));
X_.register("acknowledgement-dialog", eV);
const tV = X_.create((({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
typeDialog: a,
secondaryCallback: i,
secondaryLabel: o
}) => {
const s = q_(), {t: l} = bt(["dialog"]), c = [{
label: null !== o && void 0 !== o ? o : l("dialog_warning_back_launcher", {ns: "dialog"}),
close: !1,
onClick: () => {
null === i || void 0 === i || i(), s.resolve({resolved: !1}), s.hide()
}
}, {
label: null !== r && void 0 !== r ? r : l("dialog_action_confirm", {ns: "dialog"}),
type: "submit",
form: "exitAppForm",
close: !1
}];
return (0, OL.jsx)(lS, {
open: s.visible,
onOpenChange: e => s[e ? "show" : "hide"](),
title: e,
type: null !== a && void 0 !== a ? a : "negative",
close: l("dialog_action_close"),
actions: c,
children: (0, OL.jsx)("form", {
id: "exitAppForm", onSubmit: e => {
e.preventDefault();
const t = e.target, r = new FormData(t), a = Object.fromEntries(r.entries());
s.resolve({resolved: !0, results: a}), s.hide(), null === n || void 0 === n || n()
}, children: t
})
})
}));
X_.register("form-dialog", tV);
const nV = X_.create((({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
typeDialog: a,
secondaryCallback: i,
secondaryLabel: o,
disablePrimaryUntilScrolled: s
}) => {
const l = q_(), {t: c} = bt(["dialog"]), u = e => {
l.resolve({resolved: e}), l.hide()
}, d = {
label: null !== o && void 0 !== o ? o : c("dialog_warning_back_launcher", {ns: "dialog"}),
close: !1,
onClick: () => {
null === i || void 0 === i || i(), u(!1)
}
}, p = {
label: null !== r && void 0 !== r ? r : c("dialog_action_confirm", {ns: "dialog"}),
close: !1,
disabledUntilScrolled: s,
onClick: () => {
null === n || void 0 === n || n(), u(!0)
}
};
return (0, OL.jsx)(lS, {
open: l.visible,
onOpenChange: e => (e => {
e || u(!1), l[e ? "show" : "hide"]()
})(e),
title: e,
type: null !== a && void 0 !== a ? a : "negative",
close: c("dialog_action_close"),
actions: [d, p],
children: t
})
}));
X_.register("warning-confirm-dialog", nV);
const rV = JSON.parse('{"v":"5.9.0","fr":60,"ip":0,"op":180,"w":16,"h":16,"nm":"icon_analyze","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"loupe-mouvement","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[8,8,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[5,8,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":90,"s":[5,5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[8,5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":180,"s":[8,8,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"loupe","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[2.975,2.818,0],"ix":2,"l":2},"a":{"a":0,"k":[5.225,5.068,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.654,0],[0,1.654],[-1.654,0],[0,-1.654]],"o":[[-1.654,0],[0,-1.654],[1.654,0],[0,1.654]],"v":[[-0.475,2.682],[-3.475,-0.318],[-0.475,-3.318],[2.525,-0.318]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.293,0.293],[0,0],[0,0.889],[2.481,0],[0,-2.481],[-2.481,0],[-0.766,0.605],[0,0],[-0.293,0.293]],"o":[[0,0],[0.447,-0.699],[0,-2.481],[-2.481,0],[0,2.481],[1.05,0],[0,0],[0.293,0.293],[0.293,-0.293]],"v":[[4.682,3.464],[3.312,2.094],[4.025,-0.318],[-0.475,-4.818],[-4.975,-0.318],[-0.475,4.182],[2.296,3.201],[3.62,4.525],[4.682,4.525]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.224,5.069],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mask","parent":1,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[2.5,2.5,0],"ix":2,"l":2},"a":{"a":0,"k":[5.75,5.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.038,0],[0,-3.038],[3.038,0],[0,3.038]],"o":[[3.038,0],[0,3.038],[-3.038,0],[0,-3.038]],"v":[[0,-5.5],[5.5,0],[0,5.5],[-5.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.349019607843,0.349019607843,0.349019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.75,5.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"file","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[5.5,6,0],"ix":2,"l":2},"a":{"a":0,"k":[5.75,6.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.276,0],[0,0],[0,-0.276],[-0.276,0],[0,0],[0,0.276]],"o":[[0,0],[-0.276,0],[0,0.276],[0,0],[0.276,0],[0,-0.276]],"v":[[0.5,-0.5],[-0.5,-0.5],[-1,0],[-0.5,0.5],[0.5,0.5],[1,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.75,8.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.276,0],[0,0],[0,-0.276],[-0.276,0],[0,0],[0,0.276]],"o":[[0,0],[-0.276,0],[0,0.276],[0,0],[0.276,0],[0,-0.276]],"v":[[1.5,-0.5],[-1.5,-0.5],[-2,0],[-1.5,0.5],[1.5,0.5],[2,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.75,6.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.276,0],[0,0],[0,-0.276],[-0.276,0],[0,0],[0,0.276]],"o":[[0,0],[-0.276,0],[0,0.276],[0,0],[0.276,0],[0,-0.276]],"v":[[1.5,-0.5],[-1.5,-0.5],[-2,0],[-1.5,0.5],[1.5,0.5],[2,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.75,4.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.276,0],[0,0],[0,0.276],[0,0],[0,0],[-0.094,-0.098],[0,0],[0,-0.13]],"o":[[0,0.276],[0,0],[-0.276,0],[0,0],[0,0],[0.136,0],[0,0],[0.09,0.093],[0,0]],"v":[[4,4],[3.5,4.5],[-3.5,4.5],[-4,4],[-4,-4.5],[2.098,-4.5],[2.458,-4.347],[3.86,-2.891],[4,-2.544]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.18,0.187],[0,0],[0.272,0],[0,0],[0,-0.552],[0,0],[-0.552,0],[0,0],[0,0.552],[0,0]],"o":[[0,0],[-0.188,-0.195],[0,0],[-0.552,0],[0,0],[0,0.552],[0,0],[0.552,0],[0,0],[0,-0.258]],"v":[[5.22,-3.642],[3.243,-5.694],[2.523,-6],[-4.5,-6],[-5.5,-5],[-5.5,5],[-4.5,6],[4.5,6],[5.5,5],[5.5,-2.948]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.75,6.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]}'),
aV = JSON.parse('{"v":"5.9.0","fr":30,"ip":0,"op":120,"w":16,"h":16,"nm":"install","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Light","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":36,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":84,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":96,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":108,"s":[0]},{"t":120,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[11.75,11.75,0],"ix":2,"l":2},"a":{"a":0,"k":[1,1,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.414,0],[0,-0.414],[0.414,0],[0,0.414]],"o":[[0.414,0],[0,0.414],[-0.414,0],[0,-0.414]],"v":[[0,-0.75],[0.75,0],[0,0.75],[-0.75,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[1,1],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Arrow","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":2.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10.01,"s":[10]},{"t":12.01171875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[7.925,4.036,0],"ix":2,"l":2},"a":{"a":0,"k":[2.981,3.287,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.221,0],[0,-0.414],[-0.164,-0.138],[0,0],[-0.206,0],[-0.136,0.134],[0,0],[0,0.232],[0.414,0],[0.137,-0.151],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.137,-0.151],[-0.414,0],[0,0.232],[0,0],[0.136,0.134],[0.206,0],[0,0],[0.164,-0.138],[0,-0.414],[-0.22,0],[0,0],[0,0]],"v":[[0.825,-3.036],[-0.675,-3.036],[-0.675,0.482],[-1.425,-0.115],[-1.981,-0.363],[-2.731,0.387],[-2.462,0.964],[-0.453,2.82],[0.075,3.036],[0.603,2.82],[2.462,0.964],[2.731,0.387],[1.981,-0.363],[1.425,-0.115],[0.825,0.482]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[2.981,3.287],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Base","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[7.25,7.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.69,0],[0,0],[0,0.69],[0,0],[0,0]],"o":[[0,0.69],[0,0],[-0.69,0],[0,0],[0,0],[0,0]],"v":[[5.5,4.25],[4.25,5.5],[-4.25,5.5],[-5.5,4.25],[-5.5,2],[5.5,2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.519,0],[0,0],[0,0],[0,0],[0,-0.69],[0,0],[0,0],[0,0],[-0.69,0],[0,0],[0,0],[0,0],[0,-1.519],[0,0],[-1.519,0],[0,0],[0,1.519],[0,0]],"o":[[0,0],[0,0],[0,0],[0.69,0],[0,0],[0,0],[0,0],[0,-0.69],[0,0],[0,0],[0,0],[-1.519,0],[0,0],[0,1.519],[0,0],[1.519,0],[0,0],[0,-1.519]],"v":[[4.25,-7],[2,-7],[2,-5.5],[4.25,-5.5],[5.5,-4.25],[5.5,0.5],[-5.5,0.5],[-5.5,-4.25],[-4.25,-5.5],[-2,-5.5],[-2,-7],[-4.25,-7],[-7,-4.25],[-7,4.25],[-4.25,7],[4.25,7],[7,4.25],[7,-4.25]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[7.25,7.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]}'),
iV = JSON.parse('{"v":"5.9.0","fr":30,"ip":0,"op":120,"w":16,"h":16,"nm":"play - option 5","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"play-2 Outlines","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20.021,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22.022,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24.024,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":26.026,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":28.028,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30.03,"s":[10]},{"t":32.0322265625,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8.086,8,0],"ix":2,"l":2},"a":{"a":0,"k":[7.236,7.911,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.685,0.383],[0,0],[0,-0.765],[0,0],[-0.685,0.382]],"o":[[0.685,-0.383],[0,0],[-0.685,-0.383],[0,0],[0,0.766],[0,0]],"v":[[5.051,0.861],[5.051,-0.861],[-4.195,-6.029],[-5.736,-5.167],[-5.736,5.167],[-4.195,6.029]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.236,7.911],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.985],"y":[2.857]},"o":{"x":[0.159],"y":[0]},"t":0,"s":[100]},{"i":{"x":[0.735],"y":[3.042]},"o":{"x":[0.143],"y":[3.552]},"t":30.03,"s":[100]},{"t":60.060546875,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.709],"y":[1.164]},"o":{"x":[0.474],"y":[0.066]},"t":0,"s":[0]},{"i":{"x":[0.602],"y":[0.921]},"o":{"x":[0.314],"y":[0.13]},"t":30.03,"s":[78.782]},{"t":52,"s":[0]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.472],"y":[0.887]},"o":{"x":[0.51],"y":[0.095]},"t":0,"s":[-360]},{"t":60.060546875,"s":[720]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":1261.26126126126,"st":0,"bm":0}],"markers":[]}'),
oV = JSON.parse('{"v":"5.9.0","fr":30,"ip":0,"op":120,"w":16,"h":16,"nm":"update","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Circle 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":27,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":29.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":33.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":37.01,"s":[10]},{"t":39.01171875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[7.7,7.7,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[3.1,0],[0,3.4],[-3.5,0],[-1,-2.1]],"o":[[-0.5,3],[-3.5,0],[0,-3.4],[2.5,0],[0,0]],"v":[[6.2,1],[0,6.2],[-6.2,0],[0,-6.2],[5.6,-2.7]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.7,7.7],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":120,"s":[0]},{"t":146,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":30,"s":[0]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":45,"s":[100]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":120,"s":[100]},{"t":146,"s":[100]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":120,"s":[0]},{"t":146,"s":[360]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":27,"op":147,"st":27,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Circle","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-84.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-82.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-80.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-78.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-76,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-73.998,"s":[10]},{"t":-71.99609375,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[8,8,0],"ix":2,"l":2},"a":{"a":0,"k":[7.7,7.7,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[3.1,0],[0,3.4],[-3.5,0],[-1,-2.1]],"o":[[-0.5,3],[-3.5,0],[0,-3.4],[2.5,0],[0,0]],"v":[[6.2,1],[0,6.2],[-6.2,0],[0,-6.2],[5.6,-2.7]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.7,7.7],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":26,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":-90,"s":[0]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":-75,"s":[100]},{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[100]},{"t":26,"s":[100]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":0,"s":[0]},{"t":26,"s":[360]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":-93,"op":27,"st":-93,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Arrow 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":27,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":29.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":31.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":33.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":37.01,"s":[10]},{"t":39.01171875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.7,4,0],"ix":2,"l":2},"a":{"a":0,"k":[3,3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":43,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-0.281,-0.312],[1.5,1.5],[-0.375,-0.406]],"c":false}]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"t":46,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.5,-1.5],[1.5,1.5],[-1.5,1.5]],"c":false}]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"t":130,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.5,-1.5],[1.5,1.5],[-1.5,1.5]],"c":false}]},{"t":133,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-0.281,-0.312],[1.5,1.5],[-0.375,-0.406]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[3,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":43,"op":133,"st":25,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Arrow","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-84.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-82.006,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-80.004,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-78.002,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-76,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-73.998,"s":[10]},{"t":-71.99609375,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[12.7,4,0],"ix":2,"l":2},"a":{"a":0,"k":[3,3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":-77,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-0.281,-0.312],[1.5,1.5],[-0.375,-0.406]],"c":false}]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"t":-74,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.5,-1.5],[1.5,1.5],[-1.5,1.5]],"c":false}]},{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0},"t":10,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.5,-1.5],[1.5,1.5],[-1.5,1.5]],"c":false}]},{"t":13,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-0.281,-0.312],[1.5,1.5],[-0.375,-0.406]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[3,3],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-77,"op":13,"st":-95,"bm":0}],"markers":[]}'),
sV = ({gameChannel: e}) => {
const t = (e => {
var t;
const n = uU((e => e.application)), r = uU((e => e.installer)), a = uU((e => e.library)),
i = uU((e => e.dialog)), o = uU((e => e.storage)), s = uU((e => e.settings)),
l = vL(), {reduceMotion: {unessentialAnimationsDisabled: c}} = Xy(),
u = _L(e.gameId, a.installedGames),
d = null === u || void 0 === u ? void 0 : u.channels.find((t => t.id === e.channelId)),
p = s.gamesSettings.find((t => t.gameId === e.gameId && t.channelId === e.channelId)),
h = r.current && iL(r.current.game, e) ? r.current : rL(r.queue, e),
f = aL(r.uninstallations, e), m = oL(d, h, f), g = void 0 !== a.gameChannelRunning,
v = a.gameChannelRunning && a.gameChannelRunning.channelId === e.channelId && a.gameChannelRunning.gameId === e.gameId,
_ = n.actions.isOffline(), y = {
[cD.InstallationType.INSTALL]: {
titleInProgress: "game_page_installing",
titlePaused: "game_page_installing_paused"
},
[cD.InstallationType.UPDATE]: {
titleInProgress: "game_page_updating",
titlePaused: "game_page_updating_paused"
},
[cD.InstallationType.VERIFY]: {
titleInProgress: "game_page_verifying",
titlePaused: "game_page_verifying_paused"
}
}[null !== (t = null === h || void 0 === h ? void 0 : h.type) && void 0 !== t ? t : cD.InstallationType.INSTALL];
if (v) return {
buttonProps: {
children: xt.t("game_page_game_is_running", {ns: "gamePage"}),
loading: !0,
disabled: !1
}, action: () => {
l.window.setMinimizeWindow()
}
};
switch (m) {
case cD.InstallationStatus.PAUSED:
return {
buttonProps: {
children: xt.t(y.titlePaused, {ns: "gamePage"}),
iconAnimation: !1,
icon: cz,
disabled: _
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case cD.InstallationStatus.CANCELLING:
case cD.InstallationStatus.IN_PROGRESS:
const t = (null === h || void 0 === h ? void 0 : h.type) === cD.InstallationType.VERIFY,
r = c ? wz : rV, a = c ? cz : Vz;
return {
buttonProps: {
children: xt.t(y.titleInProgress, {ns: "gamePage"}),
loading: !0,
disabled: !1,
loadingIcon: t ? r : a
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case cD.GameChannelStatus.INSTALLED:
return {
buttonProps: {
children: xt.t("game_page_launch_game", {ns: "gamePage"}),
disabled: _ || g,
icon: c ? vz : iV
}, action: () => {
BF.launchGame(e)
}
};
case cD.GameChannelStatus.UNINSTALLING:
return {
buttonProps: {
children: xt.t("game_page_uninstalling", {ns: "gamePage"}),
loading: !0,
disabled: !0
}, action: () => {
}
};
case cD.GameChannelStatus.UPDATE_AVAILABLE:
return {
buttonProps: {
children: xt.t("game_page_update_game", {ns: "gamePage"}),
icon: c ? yz : oV,
disabled: _
}, action: async () => {
Ez.addInstallationToQueue(e, cD.InstallationType.UPDATE)
}
};
case cD.InstallationStatus.ERROR:
case cD.InstallationStatus.WAITING:
return {
buttonProps: {
children: xt.t("game_page_waiting_in_queue", {ns: "gamePage"}),
loading: !0,
disabled: !1
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case cD.InstallationStatus.COMPLETED:
case cD.GameChannelStatus.AVAILABLE:
default:
return {
buttonProps: {
children: xt.t("game_page_install_game", {ns: "gamePage"}),
icon: c ? pz : aV,
disabled: _
}, action: async () => {
await i.actions.showGameStartInstallationDialog(e, (null === p || void 0 === p ? void 0 : p.libraryFolder) || o.defaultLibraryFolder, !1)
}
}
}
})(e), {reduceMotion: {unessentialAnimationsDisabled: n}} = Xy();
return (0, OL.jsx)(KI, {iconAnimation: !n && "hover", onClick: () => t.action(), ...t.buttonProps})
}, lV = ({gameChannel: e}) => {
const t = uU((e => e.library)), n = uU((e => e.installer)), r = _L(e.gameId, t.installedGames),
a = null === r || void 0 === r ? void 0 : r.channels.find((t => t.id === e.channelId)),
i = n.current && iL(n.current.game, e) ? n.current : rL(n.queue, e), o = aL(n.uninstallations, e);
return oL(a, i, o) === cD.GameChannelStatus.UPDATE_AVAILABLE ? (0, OL.jsx)(ft, {
i18nKey: "game_page_update_game_is_available",
ns: "gamePage",
components: [(0, OL.jsx)(DA, {href: cD.configuration.patchnotesUrl, external: !0})],
values: {version: null === a || void 0 === a ? void 0 : a.versionLabel}
}) : null
}, cV = e => {
const {t: t} = bt("gamePage"), [n, r] = (0, Ee.useState)(null), [a, i] = (0, Ee.useState)(!1),
o = uU((e => e.application)), s = uU((e => e.installer)), l = uU((e => e.library)),
c = uU((e => e.settings)), u = fN(), {reduceMotion: {wipeAnimationsDisabled: d}} = Xy(),
p = BF.getInstalledChannel(e),
h = l.gameChannelRunning && l.gameChannelRunning.channelId === e.channelId && l.gameChannelRunning.gameId === e.gameId,
f = (null === p || void 0 === p ? void 0 : p.status) === cD.GameChannelStatus.INSTALLED || (null === p || void 0 === p ? void 0 : p.status) === cD.GameChannelStatus.UPDATE_AVAILABLE || h,
m = (null === p || void 0 === p ? void 0 : p.status) === cD.GameChannelStatus.UPDATE_AVAILABLE,
g = void 0 !== aL(s.uninstallations, e),
v = s.current && iL(s.current.game, e) ? s.current : rL(s.queue, e),
_ = void 0 !== v && v.status !== (cD.InstallationStatus.COMPLETED || cD.InstallationStatus.ERROR),
y = ZL(`/${eB.SETTINGS}/${eB.SETTINGS_GAMES}`, {gameId: e.gameId, channelId: e.channelId}),
b = c.gamesSettings.find((t => t.gameId === e.gameId && t.channelId === e.channelId)),
x = o.actions.isOffline(), w = (0, Ee.useCallback)((() => {
if (d) return void u(y);
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
o.actions.setAnimatingAppLayoutWipe("full", !0);
const t = setTimeout((() => {
u(y)
}), e / 2);
return () => clearTimeout(t)
}), [o.actions, u, y, d]);
return {
handleChannelSelection: (0, Ee.useCallback)((t => {
const n = BF.getAvailableChannelsSorted(e.gameId).find((e => e.id === t)),
r = l.availableGames.find((t => t.id === e.gameId));
if (!n || !r) return;
const a = {
gameId: r.id,
gameName: r.name,
channelId: n.id,
platformId: n.platformId,
channelName: n.name
};
l.actions.setGameChannelSelected(a)
}), [e, l.actions, l.availableGames]),
channelSelectorSuffix: (0, Ee.useMemo)((() => (0, OL.jsxs)(HA, {
anchor: n,
placement: "bottom-end",
trigger: (0, OL.jsx)(_b, {
"aria-label": t("game_page_settings"),
icon: bz,
size: "small",
variant: "plain"
}),
children: [(0, OL.jsx)(qA, {
label: t("game_page_settings"),
onClick: w
}), f && (0, OL.jsx)(qA, {
label: t("game_page_settings_show_in_explorer"),
onClick: () => window.launcherAPI.settings.openFileSystemDialog((e => {
const t = xL().join(e.libraryFolder, e.installDir, e.channelId);
return xL().normalize(t)
})(b)),
disabled: !b
}), (0, OL.jsx)(qA, {
label: t("game_page_settings_verify"),
onClick: () => Ez.addInstallationToQueue(e, cD.InstallationType.VERIFY),
disabled: h || _ || g || x
}), f && (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(qA, {
label: t("game_page_settings_check_update"),
endIcon: a ? (0, OL.jsx)(_z, {}) : void 0,
onClick: () => {
i(!0), setTimeout((async () => {
await BF.checkForGameChannelUpdates(e), i(!1)
}), 3e3)
},
disabled: a || h || m || _ || g || x,
close: !1
}), (0, OL.jsx)(qA, {
color: "negative",
label: t("game_page_settings_uninstall"),
onClick: () => Ez.uninstallChannel(e),
disabled: h || _ || g
})]
})]
})), [n, t, w, f, b, h, _, g, x, a, m, e]),
setGameSettingsMenuAnchor: r
}
}, uV = ({gameChannel: e}) => {
const {t: t} = bt("gamePage"), {
handleChannelSelection: n,
channelSelectorSuffix: r,
setGameSettingsMenuAnchor: a
} = cV(e), i = BF.getAvailableChannelsSorted(e.gameId);
return (0, OL.jsx)(HI, {
label: t("game_page_channels"),
labelType: "classic",
className: "sol-c-game-page__channel-selector",
children: (0, OL.jsx)(nT, {
onValueChange: n,
value: e.channelId,
suffix: r,
wrapperProps: {ref: a},
children: i.map((({id: e, versionLabel: t}) => (0, OL.jsx)(tT, {
description: t,
label: e,
value: e
}, e)))
})
})
}, dV = ({gameChannel: e}) => {
var t;
const {t: n} = bt("download"), r = uU((e => e.installer)), a = uU((e => e.library)),
i = _L(e.gameId, a.installedGames),
o = null === i || void 0 === i ? void 0 : i.channels.find((t => t.id === e.channelId)),
s = r.current && iL(r.current.game, e) ? r.current : rL(r.queue, e), l = aL(r.uninstallations, e),
c = oL(o, s, l),
u = (c === cD.InstallationStatus.PAUSED || c === cD.InstallationStatus.IN_PROGRESS || c === cD.InstallationStatus.WAITING) && (null === s || void 0 === s ? void 0 : s.progress),
d = [];
var p, h;
c !== cD.InstallationStatus.WAITING && s && s.progress && (cD.InstallerVerificationPhases.includes(s.progress.phase) && d.push({
fill: !0,
label: n("download_phase", {ns: "download"}),
value: s.progress.phaseLabel
}), s.progress.speed && !cD.InstallerVerificationPhases.includes(s.progress.phase) && (d.push({
label: n("download_speed", {ns: "download"}),
value: `${s.progress.speed}/s`
}), d.push({
label: n("download_left", {ns: "download"}),
value: tL()(Math.max((null !== (p = s.progress.total) && void 0 !== p ? p : 0) - (null !== (h = s.progress.downloaded) && void 0 !== h ? h : 0), 0))
})));
return u ? (0, OL.jsx)(dS, {
id: `${e.gameId}-${e.channelId}`,
state: s.type === cD.InstallationType.VERIFY && s.status === cD.InstallationStatus.IN_PROGRESS ? "verifying" : c,
progress: c === cD.InstallationStatus.IN_PROGRESS && null !== (t = s.progress) && void 0 !== t && t.showProgress ? s.progress.percentage : void 0,
stats: d
}) : null
}, pV = e => {
var t, n, r;
const {t: a} = bt("gamePage"), i = uU((e => e.library)),
o = uU((e => e.application)), {reduceMotion: {wipeAnimationsDisabled: s}} = Xy(),
l = null !== (t = null === (n = o.animations) || void 0 === n || null === (r = n.appLayoutWipe) || void 0 === r ? void 0 : r.isAnimating) && void 0 !== t && t,
c = (0, Ee.useCallback)(((e, t) => {
e.preventDefault(), t.id === i.gameSelected || l || (s || o.actions.setAnimatingAppLayoutWipe("full", !0), BF.changeGameSelected(t.id))
}), [i.gameSelected, l, s, o.actions]),
u = (0, Ee.useMemo)((() => null === i || void 0 === i ? void 0 : i.availableGames.sort(FF).map((e => e.channels.length > 0 ? (0, OL.jsx)(SA, {
logo: e.logo,
name: e.name,
active: e.id === i.gameSelected,
onClick: t => c(t, e),
"data-test-id": "game-tab"
}, e.id) : null))), [i.availableGames, i.gameSelected, c]);
return (0, OL.jsx)(EA, {
title: a("game_page_nav_title", {count: i.availableGames.length}),
"data-test-id": "game-navigation", ...e,
children: u
})
}, hV = ({status: e}) => {
var t, n;
const {t: r} = bt(["gamePage", "status"]), a = uU((e => e.library)), i = uU((e => e.application)),
o = (null === (t = a.gameChannelSelected) || void 0 === t ? void 0 : t.gameId) === jF && (null === (n = a.gameChannelSelected) || void 0 === n ? void 0 : n.channelId) === NF && i.nonOperationalStatus,
s = e === cD.RSISystemStatus.MAINTENANCE ? r("game_page_status_under_maintenance", {ns: "gamePage"}) : r("game_page_status_issue", {ns: "gamePage"});
return (0, OL.jsx)(OL.Fragment, {
children: o && (0, OL.jsxs)(eC, {
title: r("status_" + e, {ns: "status"}),
status: SL(e),
children: [s, " ", (0, OL.jsx)(ft, {
i18nKey: "game_page_status_more_information",
ns: "gamePage",
components: [(0, OL.jsx)(DA, {external: !0, href: cD.configuration.statusUrl})]
})]
})
})
};
function fV() {
return fV = Object.assign ? Object.assign.bind() : function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}, fV.apply(this, arguments)
}
function mV(e, t) {
if (null == e) return {};
var n, r, a = {}, i = Object.keys(e);
for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (a[n] = e[n]);
return a
}
new Set(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
const gV = ["onClick", "relative", "reloadDocument", "replace", "state", "target", "to", "preventScrollReset", "unstable_viewTransition"];
function vV() {
var e;
let t = null == (e = window) ? void 0 : e.__staticRouterHydrationData;
return t && t.errors && (t = fV({}, t, {errors: _V(t.errors)})), t
}
function _V(e) {
if (!e) return null;
let t = Object.entries(e), n = {};
for (let [a, i] of t) if (i && "RouteErrorResponse" === i.__type) n[a] = new uj(i.status, i.statusText, i.data, !0 === i.internal); else if (i && "Error" === i.__type) {
if (i.__subType) {
let e = window[i.__subType];
if ("function" === typeof e) try {
let t = new e(i.message);
t.stack = "", n[a] = t
} catch (r) {
}
}
if (null == n[a]) {
let e = new Error(i.message);
e.stack = "", n[a] = e
}
} else n[a] = i;
return n
}
const yV = Ee.createContext({isTransitioning: !1});
const bV = Ee.createContext(new Map);
const xV = Ie.startTransition, wV = ny.flushSync;
function kV(e) {
wV ? wV(e) : e()
}
class SV {
constructor() {
this.status = "pending", this.promise = new Promise(((e, t) => {
this.resolve = t => {
"pending" === this.status && (this.status = "resolved", e(t))
}, this.reject = e => {
"pending" === this.status && (this.status = "rejected", t(e))
}
}))
}
}
function EV(e) {
let {
fallbackElement: t,
router: n,
future: r
} = e, [a, i] = Ee.useState(n.state), [o, s] = Ee.useState(), [l, c] = Ee.useState({isTransitioning: !1}), [u, d] = Ee.useState(), [p, h] = Ee.useState(), [f, m] = Ee.useState(),
g = Ee.useRef(new Map), {v7_startTransition: v} = r || {}, _ = Ee.useCallback((e => {
v ? function (e) {
xV ? xV(e) : e()
}(e) : e()
}), [v]), y = Ee.useCallback(((e, t) => {
let {deletedFetchers: r, unstable_flushSync: a, unstable_viewTransitionOpts: o} = t;
r.forEach((e => g.current.delete(e))), e.fetchers.forEach(((e, t) => {
void 0 !== e.data && g.current.set(t, e.data)
}));
let l = null == n.window || "function" !== typeof n.window.document.startViewTransition;
if (o && !l) {
if (a) {
kV((() => {
p && (u && u.resolve(), p.skipTransition()), c({
isTransitioning: !0,
flushSync: !0,
currentLocation: o.currentLocation,
nextLocation: o.nextLocation
})
}));
let t = n.window.document.startViewTransition((() => {
kV((() => i(e)))
}));
return t.finished.finally((() => {
kV((() => {
d(void 0), h(void 0), s(void 0), c({isTransitioning: !1})
}))
})), void kV((() => h(t)))
}
p ? (u && u.resolve(), p.skipTransition(), m({
state: e,
currentLocation: o.currentLocation,
nextLocation: o.nextLocation
})) : (s(e), c({
isTransitioning: !0,
flushSync: !1,
currentLocation: o.currentLocation,
nextLocation: o.nextLocation
}))
} else a ? kV((() => i(e))) : _((() => i(e)))
}), [n.window, p, u, g, _]);
Ee.useLayoutEffect((() => n.subscribe(y)), [n, y]), Ee.useEffect((() => {
l.isTransitioning && !l.flushSync && d(new SV)
}), [l]), Ee.useEffect((() => {
if (u && o && n.window) {
let e = o, t = u.promise, r = n.window.document.startViewTransition((async () => {
_((() => i(e))), await t
}));
r.finished.finally((() => {
d(void 0), h(void 0), s(void 0), c({isTransitioning: !1})
})), h(r)
}
}), [_, o, u, n.window]), Ee.useEffect((() => {
u && o && a.location.key === o.location.key && u.resolve()
}), [u, p, a.location, o]), Ee.useEffect((() => {
!l.isTransitioning && f && (s(f.state), c({
isTransitioning: !0,
flushSync: !1,
currentLocation: f.currentLocation,
nextLocation: f.nextLocation
}), m(void 0))
}), [l.isTransitioning, f]);
let b = Ee.useMemo((() => ({
createHref: n.createHref,
encodeLocation: n.encodeLocation,
go: e => n.navigate(e),
push: (e, t, r) => n.navigate(e, {
state: t,
preventScrollReset: null == r ? void 0 : r.preventScrollReset
}),
replace: (e, t, r) => n.navigate(e, {
replace: !0,
state: t,
preventScrollReset: null == r ? void 0 : r.preventScrollReset
})
})), [n]), x = n.basename || "/",
w = Ee.useMemo((() => ({router: n, navigator: b, static: !1, basename: x})), [n, b, x]);
return Ee.createElement(Ee.Fragment, null, Ee.createElement(iN.Provider, {value: w}, Ee.createElement(oN.Provider, {value: a}, Ee.createElement(bV.Provider, {value: g.current}, Ee.createElement(yV.Provider, {value: l}, Ee.createElement(AN, {
basename: x,
location: a.location,
navigationType: a.historyAction,
navigator: b
}, a.initialized ? Ee.createElement(IV, {routes: n.routes, state: a}) : t))))), null)
}
function IV(e) {
let {routes: t, state: n} = e;
return vN(t, void 0, n)
}
const CV = "undefined" !== typeof window && "undefined" !== typeof window.document && "undefined" !== typeof window.document.createElement,
OV = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, PV = Ee.forwardRef((function (e, t) {
let n, {
onClick: r,
relative: a,
reloadDocument: i,
replace: o,
state: s,
target: l,
to: c,
preventScrollReset: u,
unstable_viewTransition: d
} = e, p = mV(e, gV), {basename: h} = Ee.useContext(sN), f = !1;
if ("string" === typeof c && OV.test(c) && (n = c, CV)) try {
let e = new URL(window.location.href), t = c.startsWith("//") ? new URL(e.protocol + c) : new URL(c),
n = ej(t.pathname, h);
t.origin === e.origin && null != n ? c = n + t.search + t.hash : f = !0
} catch (v) {
}
let m = function (e, t) {
let {relative: n} = void 0 === t ? {} : t;
dN() || LL(!1);
let {basename: r, navigator: a} = Ee.useContext(sN), {
hash: i,
pathname: o,
search: s
} = gN(e, {relative: n}), l = o;
return "/" !== r && (l = "/" === o ? r : aj([r, o])), a.createHref({pathname: l, search: s, hash: i})
}(c, {relative: a}), g = function (e, t) {
let {
target: n,
replace: r,
state: a,
preventScrollReset: i,
relative: o,
unstable_viewTransition: s
} = void 0 === t ? {} : t, l = fN(), c = pN(), u = gN(e, {relative: o});
return Ee.useCallback((t => {
if (function (e, t) {
return 0 === e.button && (!t || "_self" === t) && !function (e) {
return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)
}(e)
}(t, n)) {
t.preventDefault();
let n = void 0 !== r ? r : FL(c) === FL(u);
l(e, {replace: n, state: a, preventScrollReset: i, relative: o, unstable_viewTransition: s})
}
}), [c, l, u, r, a, n, e, i, o, s])
}(c, {replace: o, state: s, target: l, preventScrollReset: u, relative: a, unstable_viewTransition: d});
return Ee.createElement("a", fV({}, p, {
href: n || m, onClick: f || i ? r : function (e) {
r && r(e), e.defaultPrevented || g(e)
}, ref: t, target: l
}))
}));
var AV, TV;
(function (e) {
e.UseScrollRestoration = "useScrollRestoration", e.UseSubmit = "useSubmit", e.UseSubmitFetcher = "useSubmitFetcher", e.UseFetcher = "useFetcher", e.useViewTransitionState = "useViewTransitionState"
})(AV || (AV = {})), function (e) {
e.UseFetcher = "useFetcher", e.UseFetchers = "useFetchers", e.UseScrollRestoration = "useScrollRestoration"
}(TV || (TV = {}));
const DV = (0, Ee.forwardRef)((({
children: e,
href: t = "",
...n
}, r) => t.startsWith("http") ? (0, OL.jsx)("a", {
href: t,
ref: r,
rel: "noopener noreferrer",
target: "_blank", ...n,
children: e
}) : (0, OL.jsx)(PV, {ref: r, to: t, ...n, children: e}))),
RV = ({children: e, control: t, name: n, defaultValue: r, required: a, rules: i, selectProps: o, ...s}) => {
var l;
const {
field: {value: c, onBlur: u, onChange: d, ref: p},
fieldState: {error: h, invalid: f}
} = gM({name: n, control: t, defaultValue: r, rules: {required: a, ...i}});
return (0, OL.jsx)(HI, {
error: null === h || void 0 === h ? void 0 : h.message,
invalid: f,
required: !!(null !== (l = null === i || void 0 === i ? void 0 : i.required) && void 0 !== l ? l : a), ...s,
children: (0, OL.jsx)(nT, {
name: n,
value: null !== c && void 0 !== c ? c : "",
onBlur: u,
onChange: d,
ref: p, ...o,
children: e
})
})
}, LV = ({control: e, name: t, defaultValue: n, required: r, rules: a, type: i, inputProps: o, ...s}) => {
var l;
const {field: {value: c, onBlur: u, onChange: d, ref: p}, fieldState: {error: h, invalid: f}} = gM({
name: t,
control: e,
defaultValue: n,
rules: {required: r, ...a}
}), {t: m} = bt("form");
return (0, OL.jsx)(HI, {
error: null === h || void 0 === h ? void 0 : h.message,
invalid: f,
required: !!(null !== (l = null === a || void 0 === a ? void 0 : a.required) && void 0 !== l ? l : r), ...s,
children: (0, OL.jsx)(TA, {
name: t,
value: null !== c && void 0 !== c ? c : "",
onBlur: u,
onChange: d,
ref: p,
hidePasswordLabel: m("text_field_show_password"),
showPasswordLabel: m("text_field_hide_password"),
type: i, ...o
})
})
};
let jV, NV;
!function (e) {
e.SHADERS = "shaders", e.SCREENSHOTS = "screenshots", e.USER = "user"
}(jV || (jV = {})), function (e) {
e.KEYBINDINGS = "keybindings", e.PREFERENCES = "preferences", e.CHARACTERS = "characters"
}(NV || (NV = {}));
const MV = () => {
const {t: e} = bt(["settingsPage"]), t = {
[jV.SHADERS]: !0,
[jV.SCREENSHOTS]: !0,
[jV.USER]: !0,
[NV.KEYBINDINGS]: !0,
[NV.PREFERENCES]: !0,
[NV.CHARACTERS]: !0
}, [n, r] = (0, Ee.useState)(t), a = (0, Ee.useCallback)((e => {
const {name: t, checked: n} = e.target;
r((e => {
const r = {...e, [t]: n};
if (Object.values(NV).includes(t)) {
const e = r.keybindings || r.preferences || r.characters;
r[jV.USER] = e
}
return r
}))
}), []), i = (0, Ee.useCallback)((async e => {
const {name: t, checked: n} = e.target;
r((e => {
const r = {...e, [t]: null !== n && void 0 !== n && n};
return Object.values(NV).forEach((e => {
r[e] = n
})), r
}))
}), []), o = [];
Object.values(NV).forEach((e => {
o.push(n[e])
}));
const s = o.every(Boolean), l = o.some(Boolean) && !s;
return (0, OL.jsxs)(Cb, {
"aria-labelledby": "legend",
role: "group",
gap: "100",
vertical: !0,
children: [(0, OL.jsx)("p", {
id: "legend",
children: e("settings_games_local_delete_description")
}), (0, OL.jsx)(nS, {
name: jV.SHADERS,
checked: n.shaders,
value: n.shaders.toString(),
onChange: e => a(e),
children: e("settings_games_local_shaders_folder")
}), (0, OL.jsx)(nS, {
name: jV.SCREENSHOTS,
checked: n.screenshots,
value: n.screenshots.toString(),
onChange: e => a(e),
children: e("settings_games_local_screenshots_folder")
}), (0, OL.jsxs)(nS, {
name: jV.USER,
checked: n.user,
value: n.user.toString(),
onChange: e => i(e),
indeterminate: l,
children: [e("settings_games_local_user_folder"), (0, OL.jsxs)(Cb, {
vertical: !0,
gap: "100",
className: "sol-u-margin-bs-050",
children: [(0, OL.jsx)(nS, {
name: NV.KEYBINDINGS,
checked: n.keybindings,
value: n.keybindings.toString(),
onChange: e => a(e),
children: e("settings_games_local_keybindings")
}), (0, OL.jsx)(nS, {
name: NV.PREFERENCES,
checked: n.preferences,
value: n.preferences.toString(),
onChange: e => a(e),
children: e("settings_games_local_settings")
}), (0, OL.jsx)(nS, {
name: NV.CHARACTERS,
checked: n.characters,
value: n.characters.toString(),
onChange: e => a(e),
children: e("settings_games_local_characters")
})]
})]
})]
})
}, FV = X_.create((({error: e, data: t}) => {
const {t: n} = bt(), r = q_(), {
crashInfo: a,
isCrashInfoLoading: i,
isCrashInfoTimeout: o,
isCrashInfoRetrieved: s
} = (() => {
const [e, t] = (0, Ee.useState)("loading"), [n, r] = (0, Ee.useState)(void 0),
a = (0, Ee.useCallback)((e => {
r(e), t("success")
}), []);
(0, Ee.useEffect)((() => {
const e = setTimeout((() => {
t("timedout")
}), 1e4), n = window.launcherAPI.game.onLaunchCrashInfoRetrieved((t => {
clearTimeout(e), a(t)
}));
return () => {
n(), clearTimeout(e)
}
}), []);
const {
isCrashInfoLoading: i,
isCrashInfoTimeout: o,
isCrashInfoRetrieved: s
} = (0, Ee.useMemo)((() => ({
isCrashInfoLoading: "loading" === e,
isCrashInfoTimeout: "timedout" === e,
isCrashInfoRetrieved: "success" === e
})), [e]);
return {crashInfo: n, isCrashInfoLoading: i, isCrashInfoTimeout: o, isCrashInfoRetrieved: s}
})();
return (0, OL.jsx)(nV, {
id: r.id,
title: n("error_launch_game_crash_title", {game: t.gameName, ns: "errors"}),
content: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_game_crash_content_1",
t: n,
ns: "errors"
})
}), (0, OL.jsx)(hb, {
children: (0, OL.jsx)(ft, {
i18nKey: "error_launch_game_crash_content_2",
t: n,
ns: "errors"
})
})]
}), (0, OL.jsxs)(Cb, {
gap: "025",
vertical: !0,
children: [(0, OL.jsx)(hb, {
children: n("error_game_error_code", {
code: e.message,
ns: "errors"
})
}), (0, OL.jsxs)(Cb, {
gap: "025",
children: [(0, OL.jsx)(hb, {children: n("error_launch_game_crash_info", {ns: "errors"})}), i && (0, OL.jsxs)(Cb, {
gap: "025",
children: [(0, OL.jsx)(_z, {}), (0, OL.jsx)(hb, {children: n("error_launch_game_crash_retrieving_crash_info", {ns: "errors"})})]
}), o && (0, OL.jsx)(hb, {children: n("error_launch_game_crash_could_not_retrieve_crash_info", {ns: "errors"})}), s && (0, OL.jsx)(hb, {children: a ? a.DigestId : n("error_launch_game_crash_could_not_retrieve_crash_info", {ns: "errors"})})]
})]
})]
}),
primaryLabel: n("dialog_action_verify", {ns: "dialog"}),
primaryCallback: () => Ez.addInstallationToQueue(t, cD.InstallationType.VERIFY),
secondaryLabel: n("dialog_action_cancel", {ns: "dialog"})
})
}));
X_.register("launch-game-crash-dialog", FV);
const zV = (e, t) => ({
dialog: {
actions: {
showExitAppDialog: () => {
const e = t();
return X_.show(tV, {
title: ye.t("dialog_warning_exit_app_title", {ns: "dialog"}),
content: (0, OL.jsx)(tS, {
description: ye.t("dialog_warning_exit_app_text", {ns: "dialog"}),
gap: "100",
children: (0, OL.jsx)(nS, {
name: "hideDialog",
value: "checked",
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_exit_app_checkbox",
t: ye.t,
ns: "dialog"
})
})
}),
primaryLabel: ye.t("dialog_warning_exit_app_confirm", {ns: "dialog"}),
primaryCallback: () => e.window.actions.exitLauncher()
})
},
showWarningExitAppGameRuningDialog: () => X_.show(nV, {
title: ye.t("dialog_warning_exit_app_title", {ns: "dialog"}),
content: ye.t("dialog_warning_exit_app_game_running_text", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_ok", {ns: "dialog"})
}),
showDiscoverDialog: () => {
const e = t();
return X_.show(nV, {
title: ye.t("dialog_discover_title", {ns: "dialog"}),
content: ye.t("dialog_discover_content", {ns: "dialog"}),
typeDialog: "default",
primaryLabel: ye.t("dialog_discover_start", {ns: "dialog"}),
primaryCallback: () => e.application.actions.setDiscoverStarted(!0),
secondaryLabel: ye.t("dialog_discover_skip", {ns: "dialog"}),
secondaryCallback: () => {
e.application.actions.setDiscoverStarted(!1), e.settings.actions.saveApplicationSettings({
name: "isDiscoverDone",
value: !0
})
}
})
},
showLogoutDialog: e => {
const n = t(), r = n.settings.appSettings.accessibility.reduceMotion.wipeAnimationsDisabled;
return X_.show(nV, {
title: ye.t("dialog_warning_logout_title", {ns: "dialog"}),
content: ye.t(e ? "dialog_warning_logout_game_running_text" : "dialog_warning_logout_text", {ns: "dialog"}),
primaryLabel: ye.t("dialog_warning_logout_confirm", {ns: "dialog"}),
primaryCallback: async () => {
if (r) return void await YF.logOutCurrentUser();
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
n.application.actions.setAnimatingAppLayoutWipe("in", !0);
const t = setTimeout((() => YF.logOutCurrentUser()), e / 2);
return () => clearTimeout(t)
}
})
},
showOsRequirementsDialog: e => X_.show(eV, {
title: ye.t("error_os_requirements_title", {ns: "errors"}),
content: (0, OL.jsx)(ft, {
i18nKey: "error_os_requirements_text",
t: ye.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.minimumRequirementsUrl,
external: !0
})],
values: {game: e.gameName}
})
}),
showCpuRequirementsDialog: () => X_.show(eV, {
title: ye.t("error_cpu_requirements_title", {ns: "errors"}),
content: ye.t("error_cpu_requirements_text", {ns: "errors"})
}),
showWarningDialogErrorOccured: ({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
secondaryLabel: a,
secondaryCallback: i,
error: o
}) => X_.show(nV, {
title: null !== e && void 0 !== e ? e : ye.t("error_generic_title", {ns: "errors"}),
content: null !== t && void 0 !== t ? t : (0, OL.jsx)(ft, {
i18nKey: "error_generic_content",
t: ye.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})],
values: {
code: null === o || void 0 === o ? void 0 : o.code,
message: null === o || void 0 === o ? void 0 : o.message
}
}),
primaryLabel: null !== r && void 0 !== r ? r : ye.t("dialog_action_ok", {ns: "dialog"}),
primaryCallback: () => null === n || void 0 === n ? void 0 : n(),
secondaryLabel: null !== a && void 0 !== a ? a : ye.t("dialog_action_cancel", {ns: "dialog"}),
secondaryCallback: () => null === i || void 0 === i ? void 0 : i()
}),
showWarningDialogCacheClear: () => X_.show(nV, {
title: ye.t("dialog_debug_cache_clear_title", {ns: "dialog"}),
content: ye.t("dialog_debug_cache_clear_content", {ns: "dialog"}),
typeDialog: "default",
primaryLabel: ye.t("dialog_debug_cache_clear_button", {ns: "dialog"}),
primaryCallback: () => {
window.launcherAPI.store.clearStore()
},
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
}),
showLaunchGameCrashDialog: (e, t) => X_.show(FV, {data: e, error: t}),
showAcknowledgeDialogErrorOccured: ({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
error: a
}) => X_.show(eV, {
title: null !== e && void 0 !== e ? e : ye.t("error_generic_title", {ns: "errors"}),
content: null !== t && void 0 !== t ? t : (0, OL.jsx)(ft, {
i18nKey: "error_generic_content",
t: ye.t,
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
external: !0
}), (0, OL.jsx)(DA, {href: cD.configuration.filesSupportUrl, external: !0})],
values: {code: null === a || void 0 === a ? void 0 : a.code}
}),
primaryCallback: () => null === n || void 0 === n ? void 0 : n(),
primaryLabel: null !== r && void 0 !== r ? r : void 0
}),
showWarningsDialog: (e, t) => X_.show(nV, {
title: e,
typeDialog: "positive",
content: fL(t),
secondaryLabel: ye.t("dialog_action_close", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_acknowledge", {ns: "dialog"})
}),
showAgreementsDialog: (e, t, n) => X_.show(nV, {
title: e,
typeDialog: "positive",
content: fL(`<h1>${t}</h1>${n}`),
secondaryLabel: ye.t("dialog_action_decline", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_accept", {ns: "dialog"}),
disablePrimaryUntilScrolled: !0
}),
showResetSettingsDialog: e => {
const n = t();
return X_.show(nV, {
title: ye.t("dialog_settings_reset_title", {ns: "dialog"}),
content: ye.t("dialog_settings_reset_content", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"}),
primaryLabel: ye.t("dialog_settings_reset_button", {ns: "dialog"}),
primaryCallback: () => {
n.settings.actions.resetChannelGameSettings(e)
}
})
},
showDeleteLocalSettingsDialog: () => X_.show(tV, {
title: ye.t("dialog_settings_delete_local_title", {ns: "dialog"}),
content: (0, OL.jsx)(MV, {}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_delete", {ns: "dialog"})
}),
showGameNotInstalledDialog: e => X_.show(nV, {
title: ye.t("dialog_settings_game_not_installed_title", {ns: "dialog"}),
content: ye.t("dialog_settings_game_not_installed_content", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_install", {ns: "dialog"}),
primaryCallback: () => {
Ez.addInstallationToQueue(e, cD.InstallationType.INSTALL)
}
}),
showGameStartInstallationDialog: async (e, n, r) => {
const a = t(), i = a.settings.appSettings.accessibility.reduceMotion.wipeAnimationsDisabled,
o = await HF(e);
return X_.show(nV, {
typeDialog: "default",
title: ye.t("dialog_start_installation_title", {
ns: "dialog",
game: e.gameName,
channel: e.channelName
}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, OL.jsxs)(Cb, {
role: "group",
gap: "0",
vertical: !0,
children: [(0, OL.jsx)("p", {children: ye.t("dialog_start_installation_content_location", {ns: "dialog"})}), (0, OL.jsxs)("p", {
children: [(0, OL.jsx)("span", {
className: "sol-u-color-foreground",
children: yL(n)
}), o.installDir, "\\", e.channelId]
})]
}), (0, OL.jsx)("p", {children: r ? ye.t("dialog_start_installation_content_location_close_popover", {ns: "dialog"}) : ye.t("dialog_start_installation_content_location_settings", {ns: "dialog"})})]
}),
secondaryLabel: r ? ye.t("dialog_action_cancel", {ns: "dialog"}) : ye.t("dialog_start_installation_action_go_to_settings", {ns: "dialog"}),
secondaryCallback: r ? void 0 : () => {
const t = ZL(`/${eB.SETTINGS}/${eB.SETTINGS_GAMES}`, {
gameId: e.gameId,
channelId: e.channelId
});
if (!i) return void (window.location.hash = t);
const n = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
a.application.actions.setAnimatingAppLayoutWipe("full", !0);
const r = setTimeout((() => {
window.location.hash = t
}), n / 2);
return () => clearTimeout(r)
},
primaryLabel: ye.t("dialog_start_installation_action_install", {ns: "dialog"}),
primaryCallback: () => {
Ez.addInstallationToQueue(e, cD.InstallationType.INSTALL)
}
})
},
showGameCancelInstallationDialog: e => {
const n = t(), r = {title: "", content: ""};
switch (e.type) {
case cD.InstallationType.INSTALL:
r.title = ye.t("dialog_cancel_install_title", {ns: "dialog"}), r.content = ye.t("dialog_cancel_install_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release ? e.release.versionLabel + " - " : ""}${e.game.channelId}`
});
break;
case cD.InstallationType.VERIFY:
r.title = ye.t("dialog_cancel_verify_title", {ns: "dialog"}), r.content = ye.t("dialog_cancel_verify_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release ? e.release.versionLabel + " - " : ""}${e.game.channelId}`
});
break;
case cD.InstallationType.UPDATE:
r.title = ye.t("dialog_cancel_update_title", {ns: "dialog"}), r.content = ye.t("dialog_cancel_update_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release ? e.release.versionLabel + " - " : ""}${e.game.channelId}`
})
}
return X_.show(nV, {
title: r.title,
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, OL.jsx)("p", {children: r.content}), e.type === cD.InstallationType.INSTALL && (0, OL.jsx)(nS, {
type: "checkbox",
onChange: t => Ez.setInstallationOptions(e.game, {keepFilesOnCancel: t.target.checked}),
children: ye.t("dialog_cancel_install_content_keep_files_downloaded", {ns: "dialog"})
})]
}),
secondaryLabel: ye.t("dialog_action_discard", {ns: "dialog"}),
primaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"}),
secondaryCallback: () => {
n.application.actions.setDownloadPopoverOpened(!0)
},
primaryCallback: () => {
Ez.removeInstallation(e.game), n.application.actions.setDownloadPopoverOpened(!0)
}
})
},
showGameChannelUpdateAvailableDialog: e => X_.show(eV, {
typeDialog: "positive",
title: ye.t("dialog_launch_check_update_available_title", {ns: "dialog"}),
content: ye.t("dialog_launch_check_update_available_content", {
ns: "dialog",
game: e.gameName,
channel: e.channelName
})
}),
showWarningUninstallDialog: e => X_.show(tV, {
title: ye.t("dialog_warning_uninstall_title", {
game: e.gameName,
channel: e.channelName,
ns: "dialog"
}),
content: (0, OL.jsx)(tS, {
description: ye.t("dialog_warning_uninstall_text", {ns: "dialog"}),
gap: "100",
children: (0, OL.jsx)(nS, {
name: "keepUserFolder",
value: "checked",
description: be("dialog_warning_uninstall_userFolder_checkbox_description", {
ns: "dialog",
path: yL(`${e.libraryFolder}\\${e.installDir}\\${e.channelId}\\user`)
}),
defaultChecked: !0,
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_uninstall_userFolder_checkbox",
t: ye.t,
ns: "dialog"
})
})
}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"}),
primaryLabel: ye.t("dialog_warning_uninstall_confirm", {ns: "dialog"})
}),
showLostConnectionDialog: () => X_.show(eV, {
typeDialog: "default",
title: ye.t("dialog_warning_lost_connection_title", {ns: "dialog"}),
content: (0, OL.jsx)("span", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_lost_connection_content",
t: ye.t,
ns: "dialog"
})
}),
primaryLabel: ye.t("dialog_action_continue_offline", {ns: "dialog"})
}),
showDuplicateLibraryDialog: () => X_.show(eV, {
typeDialog: "negative",
title: ye.t("dialog_warning_duplicate_library_title", {ns: "dialog"}),
content: (0, OL.jsx)("span", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_duplicate_library_content",
t: ye.t,
ns: "dialog"
})
}),
primaryLabel: ye.t("dialog_action_ok", {ns: "dialog"})
}),
showDeleteLibraryDialog: (e, t) => X_.show(nV, {
typeDialog: "negative",
title: ye.t("dialog_warning_delete_game_library_title", {ns: "dialog"}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_location",
t: ye.t,
ns: "dialog"
})
}), (0, OL.jsx)("b", {children: e})]
}), t.filter((e => e.channels.length > 0)).length > 0 && (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: ye.t,
ns: "dialog"
})
}), null === t || void 0 === t ? void 0 : t.map(((e, t) => e.channels.map((n => (0, OL.jsxs)("b", {children: [e.name, " - ", n.name]}, t))))), (0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_content",
t: ye.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: ye.t("dialog_action_delete", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
}),
showReplaceInstalledLibraryDialog: (e, t, n) => X_.show(nV, {
typeDialog: "notice",
title: ye.t("dialog_warning_change_game_title_dialog", {ns: "dialog"}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_installed_game_question_dialog",
t: ye.t,
ns: "dialog"
})
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
children: t
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
multiline: !0,
children: e
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), n.filter((e => e.channels.length > 0)).length > 0 && (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: ye.t,
ns: "dialog"
})
}), null === n || void 0 === n ? void 0 : n.map(((e, t) => e.channels.map((n => (0, OL.jsxs)("b", {children: [e.name, " - ", n.name]}, t))))), (0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: ye.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: ye.t("dialog_action_proceed", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
}),
showReplaceInstalledDefaultLibraryDialog: (e, t, n) => X_.show(nV, {
typeDialog: "notice",
title: ye.t("dialog_warning_set_default_library_title", {ns: "dialog"}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_set_default_library_content",
t: ye.t,
ns: "dialog"
})
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
children: t
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
children: e
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), n.filter((e => e.channels.length > 0)).length > 0 && (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: ye.t,
ns: "dialog"
})
}), null === n || void 0 === n ? void 0 : n.map(((e, t) => e.channels.map((n => (0, OL.jsxs)("b", {children: [e.name, " - ", n.name]}, t))))), (0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: ye.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: ye.t("dialog_action_set_default_library", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
}),
showSetDefaultLibraryDialog: e => X_.show(nV, {
typeDialog: "default",
title: ye.t("dialog_warning_set_default_library_title", {ns: "dialog"}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_set_default_library_content",
t: ye.t,
ns: "dialog"
})
}), (0, OL.jsx)("b", {children: e})]
}),
primaryLabel: ye.t("dialog_action_set_default_library", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
}),
showChannelLibraryChangeDialog: (e, t, n) => X_.show(nV, {
typeDialog: "notice",
title: ye.t("dialog_warning_change_game_title_dialog", {ns: "dialog"}),
content: (0, OL.jsxs)(Cb, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_question_dialog",
t: ye.t,
ns: "dialog",
values: {game: n.gameName, channel: n.channelName}
})
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
children: e
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), (0, OL.jsxs)(Cb, {
gap: "0",
vertical: !0,
children: [(0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: ye.t,
ns: "dialog"
}), (0, OL.jsxs)(Cb, {
gap: "50",
children: [(0, OL.jsx)(hb, {
variant: "body-m-bold",
children: t
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, OL.jsx)("p", {
children: (0, OL.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: ye.t,
ns: "dialog"
})
})]
}),
primaryLabel: ye.t("dialog_action_proceed", {ns: "dialog"}),
secondaryLabel: ye.t("dialog_action_cancel", {ns: "dialog"})
})
}
}
}), VV = {
currentLanguage: {code: "", label: "", codeLabel: "", subLabel: null, altCodes: null},
languageCollection: []
}, UV = (e, t) => ({
language: {
...VV, actions: {
initialize: async () => {
const t = await window.launcherAPI.language.getLanguageCollection(),
n = await window.launcherAPI.language.getCurrentLanguage() || cD.configuration.language.defaultLanguage;
e((e => ({language: {...e.language, currentLanguage: n, languageCollection: t}})))
}, setCurrentLanguage: async t => {
e((e => ({
language: {
...e.language,
currentLanguage: t
}
}))), await window.launcherAPI.language.changeCurrentLanguage(t)
}, setLanguageCollection: async t => {
e((e => ({
language: {
...e.language,
languageCollection: t
}
}))), await window.launcherAPI.language.changeLanguageCollection(t)
}
}
}
}), BV = SC_TOOLBOX_ENABLE_DOWNLOADER_BOOST ? [{
label: "!1024",
value: 1024
}, {
label: "!512",
value: 512
}, {
label: "!256",
value: 256
}, {
label: "!128",
value: 128
}, {
label: "CIG-MAX (25)",
value: 25
}, {
label: "20",
value: 20
}, {
label: "15",
value: 15
}, {
label: "10",
value: 10
}, {
label: "5",
value: 5
}, {
label: "1",
value: 1
}] : [{label: "Max", value: 25}, {label: "20", value: 20}, {label: "15", value: 15}, {
label: "10",
value: 10
}, {label: "5", value: 5}], GV = {
reduceMotion: {
syncWithSystem: !1,
backgroundVideoDisabled: !1,
unessentialAnimationsDisabled: !1,
wipeAnimationsDisabled: !1
}
}, $V = {
appSettings: {
quitOnWindowClose: !1,
hideQuitWarning: !1,
isDiscoverDone: !1,
download: {concurrentTransfers: BV[0].value, maximumDownloadBandwidth: 0, forceDataPatcher: !1},
accessibility: GV
}
}, qV = ({
gamesSettings: e = [],
quitOnWindowClose: t = $V.appSettings.quitOnWindowClose,
hideQuitWarning: n = $V.appSettings.hideQuitWarning,
isDiscoverDone: r = $V.appSettings.isDiscoverDone,
download: a = $V.appSettings.download,
accessibility: i = $V.appSettings.accessibility
} = {}) => ({
...$V,
appSettings: {
...$V.appSettings,
quitOnWindowClose: t,
hideQuitWarning: n,
isDiscoverDone: r,
download: a,
accessibility: i
},
gamesSettings: e
}), WV = (e, t) => ({
settings: {
...qV(), actions: {
initializeApplicationSettings: async () => {
const n = await window.launcherAPI.store.getValueFromStore("application.quitOnWindowClose"),
r = await window.launcherAPI.store.getValueFromStore("application.hideQuitWarning"),
a = await window.launcherAPI.store.getValueFromStore("application.isDiscoverDone"),
i = await window.launcherAPI.store.getValueFromStore("application.download"),
o = await t().settings.actions.getAccessibilitySettingsFromPersistentStore();
e((e => ({
settings: {
...e.settings, ...qV({
gamesSettings: e.settings.gamesSettings,
quitOnWindowClose: n,
hideQuitWarning: r,
isDiscoverDone: a,
download: i,
accessibility: o
})
}
})))
},
initializeGameSettings: async () => {
const t = await window.launcherAPI.store.getValueFromStore("library.settings"),
n = BF.getAvailableGamesWeightSorted().map((e => e.channels.map((n => ({
...t.find((t => t.channelId === n.id && t.gameId === e.id)),
gameId: e.id,
gameName: e.name,
channelId: n.id,
channelName: n.name,
platformId: n.platformId,
installDir: n.installDir
})))));
e((e => ({settings: {...e.settings, gamesSettings: n.flat()}})))
},
getChannelDefaultGameSettings: e => {
const {storage: n} = t(), {
gameId: r,
channelId: a,
platformId: i,
gameName: o,
channelName: s
} = e;
return {
gameId: r,
gameName: o,
channelId: a,
channelName: s,
platformId: i,
libraryFolder: n.defaultLibraryFolder
}
},
getChannelGameSettings: async e => {
var t;
const n = await window.launcherAPI.store.getValueFromStore("library.settings");
return null !== (t = null === n || void 0 === n ? void 0 : n.find((({
gameId: t,
channelId: n
}) => t === (null === e || void 0 === e ? void 0 : e.gameId) && n === e.channelId))) && void 0 !== t ? t : null
},
resetChannelGameSettings: async n => {
const r = t(), {gameId: a, channelId: i} = n;
try {
const {gamesSettings: t} = r.settings,
o = r.settings.actions.getChannelDefaultGameSettings(n);
let s = [...t.filter((e => e.channelId !== i)), o].sort(((e, t) => UF(e.channelId, t.channelId)));
e((e => ({settings: {...e.settings, gamesSettings: s}})));
const l = (await window.launcherAPI.store.getValueFromStore("library.settings")).filter((e => e.gameId !== a || e.channelId !== i));
window.launcherAPI.store.setValueToStore("library.settings", l)
} catch (o) {
console.error("[ResetSettings - error]", o)
}
},
saveChannelGameSettings: async n => {
const {channelId: r} = n, {gamesSettings: a} = t().settings;
let i = [...a.filter((e => e.channelId !== r)), n].sort(((e, t) => UF(e.channelId, t.channelId)));
e((e => ({settings: {...e.settings, gamesSettings: i}})));
const o = await window.launcherAPI.store.getValueFromStore("library.settings");
if (o) {
const e = [...o.filter((e => e.channelId !== r)), {...n}].sort(((e, t) => UF(e.channelId, t.channelId)));
window.launcherAPI.store.setValueToStore("library.settings", e)
} else window.launcherAPI.store.setValueToStore("library.settings", i)
},
saveApplicationSettings: async t => {
e((e => ({
settings: {
...e.settings,
appSettings: {...e.settings.appSettings, [t.name]: t.value}
}
}))), window.launcherAPI.store.setValueToStore(`application.${t.name}`, t.value)
},
getAccessibilitySettingsFromPersistentStore: async () => await window.launcherAPI.store.getValueFromStore("application.settings.accessibility"),
getAccessibilitySettings: () => t().settings.appSettings.accessibility,
setAccessibilitySettingsToPersistentStore: async e => {
e.forEach((e => {
window.launcherAPI.store.setValueToStore(`application.settings.accessibility.reduceMotion.${e.id}`, e.value)
}))
},
setAccessibilitySettings: t => {
const n = t.reduce(((e, t) => (e[t.id] = t.value, e)), {});
e((e => ({
...e,
settings: {
...e.settings,
appSettings: {
...e.settings.appSettings,
accessibility: {
...e.settings.appSettings.accessibility,
reduceMotion: {...e.settings.appSettings.accessibility.reduceMotion, ...n}
}
}
}
})))
},
setDownloadSettings: (e, t) => {
window.launcherAPI.installer.setDownloadOptions({
name: e,
value: t
}), window.launcherAPI.store.setValueToStore(`application.download.${e}`, t)
},
setForceDataPatcher: t => {
e((e => ({
...e,
settings: {
...e.settings,
appSettings: {
...e.settings.appSettings,
download: {...e.settings.appSettings.download, forceDataPatcher: t}
}
}
})))
},
onSetDownloadSettingsSuccess: async e => {
const n = {...t().settings.appSettings.download, [e.name]: e.value};
await t().settings.actions.saveApplicationSettings({name: "download", value: n})
},
debugGetLogs: async () => {
window.launcherAPI.settings.openLogsFolder()
},
getAnimationSystemSettings: async () => await window.launcherAPI.settings.getAnimationSystemSettings(),
restartApp: () => window.launcherAPI.settings.restartApp(),
setChannelLibraryFolder: async (e, n) => {
var r;
const {settings: a, library: i, dialog: o, storage: s} = t(),
l = (null === (r = a.gamesSettings.find((t => e.channelId === t.channelId))) || void 0 === r ? void 0 : r.libraryFolder) || s.defaultLibraryFolder,
c = await i.installedGames.map((e => {
const t = e.channels.filter((e => yL(e.libraryFolder) === l));
return {...e, channels: t}
})), u = c.filter((e => e.channels.length > 0)), d = u.length > 0,
p = u.find((t => t.channels.find((t => t.id === e.channelId))));
if (d && p) {
const {resolved: t} = await o.actions.showChannelLibraryChangeDialog(l, n, e);
if (!t) return !1
}
return await Promise.all(a.gamesSettings.map((async t => {
if (t.channelId === e.channelId) {
const e = {...t, libraryFolder: n};
await a.actions.saveChannelGameSettings(e)
}
}))), BF.removeInstalledGameChannel(e), !0
},
setLibraryFolderToDefault: async n => {
const {storage: r, settings: a} = t(),
i = a.gamesSettings.map((e => (n.find((({libraryFolder: t}) => t === e.libraryFolder)) && (e.libraryFolder = r.defaultLibraryFolder), e)));
e((e => ({
settings: {
...e.settings,
gamesSettings: i
}
}))), await window.launcherAPI.store.setValueToStore("library.settings", a.gamesSettings)
},
setLibraryFolderToNewPath: async (n, r) => {
const {settings: a} = t(),
i = a.gamesSettings.map((e => (n.find((({libraryFolder: t}) => t === e.libraryFolder)) && (e.libraryFolder = r), e)));
e((e => ({
settings: {
...e.settings,
gamesSettings: i
}
}))), await window.launcherAPI.store.setValueToStore("library.settings", a.gamesSettings)
}
}
}
});
let HV = null;
const KV = e => Object.entries(e).reduce(((e, [t, n]) => ({
...e,
[t]: `${cD.configuration.assets.directory}${n}`
})), {}), YV = e => ({
volume: null !== e && void 0 !== e ? e : 50,
previousVolume: null,
system: null,
soundList: KV(cD.configuration.assets.sounds),
trackList: KV(cD.configuration.assets.musics)
}), QV = (e, t) => ({
soundSystem: {
...YV(), actions: {
initializeSoundContext: async () => {
var t;
const n = await window.launcherAPI.store.getValueFromStore("application.volume"), r = YV(n);
HV = null !== (t = HV) && void 0 !== t ? t : new QR({
sounds: r.soundList,
musics: r.trackList,
volume: r.volume
}), e((e => ({
soundSystem: {
...e.soundSystem, ...r,
system: HV
}
}))), HV.playSound("open"), HV.playBackgroundTrack()
}, changeVolume: (n, r = 0) => {
const a = t().soundSystem.system;
if (!a) return;
let i = t().soundSystem.volume;
const o = setInterval((() => {
r > 0 && i !== n ? i = i < n ? Math.min(i + 1, n) : Math.max(i - 1, n) : clearInterval(o);
const t = r > 0 ? i : n;
e((e => ({
soundSystem: {
...e.soundSystem,
previousVolume: i,
volume: t
}
}))), window.launcherAPI.store.setValueToStore("application.volume", t), a.setGain(t)
}), r ? r / (n > i ? n - i : i - n) : 0)
}, mute: () => {
e((e => ({
soundSystem: {
...e.soundSystem,
previousVolume: e.soundSystem.volume
}
}))), t().soundSystem.actions.changeVolume(0)
}, unmute: () => {
var n;
t().soundSystem.actions.changeVolume(null !== (n = t().soundSystem.previousVolume) && void 0 !== n ? n : 50), e((e => ({
soundSystem: {
...e.soundSystem,
previousVolume: null
}
})))
}
}
}
}), ZV = {defaultLibraryFolder: "", additionalLibraries: []}, XV = e => ({
storage: {
...ZV, actions: {
initialize: async () => {
const t = await window.launcherAPI.storage.getDefaultLibrary(),
n = await window.launcherAPI.storage.getAdditionalLibraries();
e((e => ({storage: {...e.storage, defaultLibraryFolder: yL(t), additionalLibraries: n}})))
}, setDefaultLibraryFolder: t => {
e((e => ({
storage: {
...e.storage,
defaultLibraryFolder: t
}
}))), window.launcherAPI.storage.setDefaultLibraryFolder(t)
}, setAdditionalLibraryFolders: t => {
e((e => ({
storage: {
...e.storage,
additionalLibraries: t
}
}))), window.launcherAPI.storage.setAdditionalLibraries(t)
}
}
}
});
const JV = new class {
async checkDuplicateLibraryFolder(e, t) {
const {storage: n, dialog: r} = uU.getState(), a = t.some((t => t === e)),
i = n.defaultLibraryFolder === e;
return !(!a && !i) && (await r.actions.showDuplicateLibraryDialog(), !0)
}
async handleSettingsLibraries(e, t) {
const {settings: n} = uU.getState();
await n.actions.setLibraryFolderToNewPath(t, e)
}
async removeInstalledChannel(e) {
const t = e.filter((e => e.channels.length > 0));
t && t.forEach((e => {
e.channels.forEach((t => {
const n = {
channelId: t.id,
channelName: t.name,
gameId: e.id,
gameName: e.name,
platformId: t.platformId
};
BF.removeInstalledGameChannel(n)
}))
}))
}
async getEffectedGamesAndSettings(e) {
const {library: t, settings: n} = uU.getState();
return {
effectedInstalledGameList: t.installedGames.map((t => {
const n = t.channels.filter((t => yL(t.libraryFolder) === e));
return {...t, channels: n}
})), effectedSettingsChannels: n.gamesSettings.filter((t => e === t.libraryFolder))
}
}
async saveDefaultLibraryFolder(e, t) {
const {storage: n, dialog: r} = uU.getState(), a = n.additionalLibraries || [];
if (await this.checkDuplicateLibraryFolder(e, a)) return !1;
const {
effectedInstalledGameList: i,
effectedSettingsChannels: o
} = await this.getEffectedGamesAndSettings(t), {resolved: s} = await r.actions.showReplaceInstalledDefaultLibraryDialog(e, t, i);
return !!s && (o.length > 0 && await this.handleSettingsLibraries(e, o), await this.removeInstalledChannel(i), n.actions.setDefaultLibraryFolder(e), this.setDefaultLibUpdatedToast(), !0)
}
async saveAdditionalLibraryFolders(e) {
const {storage: t} = uU.getState(), n = t.additionalLibraries || [];
return !await this.checkDuplicateLibraryFolder(e, n) && (n.push(e), t.actions.setAdditionalLibraryFolders(n), this.setNewLibraryToast(), !0)
}
async replaceDefaultLibrary(e, t) {
const {
storage: n,
dialog: r
} = uU.getState(), {resolved: a} = await r.actions.showSetDefaultLibraryDialog(e);
if (!a) return !1;
const i = n.defaultLibraryFolder, o = n.additionalLibraries || [];
return o[t] = i, n.actions.setDefaultLibraryFolder(e), n.actions.setAdditionalLibraryFolders(o), this.setDefaultLibUpdatedToast(), !0
}
async replaceAdditionalLibraryFolder(e, t, n) {
const {storage: r, dialog: a} = uU.getState(), i = r.additionalLibraries || [];
if (await this.checkDuplicateLibraryFolder(e, i)) return !1;
const {
effectedInstalledGameList: o,
effectedSettingsChannels: s
} = await this.getEffectedGamesAndSettings(t), {resolved: l} = await a.actions.showReplaceInstalledLibraryDialog(e, t, o);
return !!l && (s.length > 0 && await this.handleSettingsLibraries(e, s), await this.removeInstalledChannel(o), i[n] = e, r.actions.setAdditionalLibraryFolders(i), this.setNewLibraryToast(), !0)
}
async deleteAdditionalLibrary(e, t) {
const {storage: n, dialog: r} = uU.getState(), {
effectedInstalledGameList: a,
effectedSettingsChannels: i
} = await this.getEffectedGamesAndSettings(e), {resolved: o} = await r.actions.showDeleteLibraryDialog(e, a);
if (!o) return !1;
i.length > 0 && await this.handleSettingsLibraries(e, i), await this.removeInstalledChannel(a);
const s = n.additionalLibraries || [];
return s.splice(t, 1), n.actions.setAdditionalLibraryFolders(s), this.setDeleteLibraryToast(), !0
}
setDeleteLibraryToast() {
const {toasts: e} = uU.getState();
return e.actions.add({
title: ye.t("settings_toast_delete_lib_success", {ns: "settingsPage"}),
type: "negative",
duration: wL,
closeOnClick: !0
})
}
setNewLibraryToast() {
const {toasts: e} = uU.getState();
return e.actions.add({
title: ye.t("settings_toast_lib_added", {ns: "settingsPage"}),
type: "positive",
duration: wL,
closeOnClick: !0
})
}
setDefaultLibUpdatedToast() {
const {toasts: e} = uU.getState();
return e.actions.add({
title: ye.t("settings_toast_default_lib_updated", {ns: "settingsPage"}),
type: "positive",
duration: wL,
closeOnClick: !0
})
}
}, eU = {list: []}, tU = (e, t) => ({
toasts: {
...eU, actions: {
async init() {
const e = t();
window.launcherAPI.autoUpdate.onNewVersionInstalled((() => {
e.toasts.actions.add({
title: Rz("auto_update_toast_update_installed"),
type: "positive",
icon: uz,
closeOnClick: !1
}, !0)
}))
}, async add(n, r = !1) {
const a = await window.launcherAPI.window.isMinimized(), i = t(), o = lD();
r && window.launcherAPI.notification.show({
title: gL(n.title),
body: gL(n.children)
}), a || e({
toasts: {
...i.toasts,
list: [...i.toasts.list, {...n, id: o, onClose: e => i.toasts.actions.remove(e)}]
}
})
}, remove(n) {
const r = t();
e({toasts: {...r.toasts, list: r.toasts.list.filter((e => e.id !== n))}})
}
}
}
}), nU = (e, t) => ({
window: {
actions: {
openInternalWindow: async (e, t) => {
const n = uU.getState().application, r = uU.getState().user, a = n.platformMaster,
i = r.sessions[a], o = r.device, s = [{
name: "viewed_cookie_notif",
value: "1",
sameSite: "unspecified"
}, {name: "viewed_privacy_notif", value: "1", sameSite: "unspecified"}];
s.push({name: i.cookie, value: i.value, sameSite: "unspecified"}), o && s.push({
name: o.cookie,
value: o.value,
sameSite: "unspecified"
}), window.launcherAPI.window.setOpenInternalWindow(e, s, t)
}, openUserAccount: e => {
t().window.actions.openInternalWindow(e, {target: "website", reload: !0})
}, openDiscover: () => t().dialog.actions.showDiscoverDialog(), exitLauncher: () => {
const {
application: e,
library: n,
dialog: r,
settings: a
} = t(), {wipeAnimationsDisabled: i} = a.appSettings.accessibility.reduceMotion;
if (n.gameChannelRunning) return r.actions.showWarningExitAppGameRuningDialog();
if (i) return void vL().window.setQuitWindow();
const o = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
return e.actions.setAnimatingAppLayoutWipe("in", !0), setTimeout((() => {
vL().window.setQuitWindow()
}), o / 2)
}, closeLauncher: async () => {
const {
application: n,
dialog: r,
settings: a,
window: i
} = t(), {wipeAnimationsDisabled: o} = a.appSettings.accessibility.reduceMotion,
s = a.appSettings.quitOnWindowClose, l = a.appSettings.hideQuitWarning,
c = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
u = () => {
s ? i.actions.exitLauncher() : vL().window.setCloseWindow()
};
if (l || !s) {
if (o) {
n.actions.setAnimatingAppLayoutWipe("in", !0);
const e = setTimeout(u, c / 2);
return () => clearTimeout(e)
}
return u()
}
const d = await r.actions.showExitAppDialog(), p = Boolean(d.results && d.results.hideDialog);
p && (e((e => ({
settings: {
...e.settings,
application: {...e.settings.appSettings, hideQuitWarning: p}
}
}))), await t().settings.actions.saveApplicationSettings({name: "hideQuitWarning", value: p}))
}, logoutLauncher: () => {
const {library: e, dialog: n} = t(), r = void 0 !== e.gameChannelRunning;
return n.actions.showLogoutDialog(r)
}
}
}
}), rU = e => {
let t;
const n = new Set, r = (e, r) => {
const a = "function" === typeof e ? e(t) : e;
if (!Object.is(a, t)) {
const e = t;
t = (null != r ? r : "object" !== typeof a || null === a) ? a : Object.assign({}, t, a), n.forEach((n => n(t, e)))
}
}, a = () => t,
i = {setState: r, getState: a, getInitialState: () => o, subscribe: e => (n.add(e), () => n.delete(e))},
o = t = e(r, a, i);
return i
}, aU = e => e;
const iU = e => {
const t = (e => e ? rU(e) : rU)(e), n = e => function (e, t = aU) {
const n = Ee.useSyncExternalStore(e.subscribe, (() => t(e.getState())), (() => t(e.getInitialState())));
return Ee.useDebugValue(n), n
}(t, e);
return Object.assign(n, t), n
}, oU = new Map, sU = e => {
const t = oU.get(e);
return t ? Object.fromEntries(Object.entries(t.stores).map((([e, t]) => [e, t.getState()]))) : {}
}, lU = (e, t = {}) => (n, r, a) => {
const {enabled: i, anonymousActionType: o, store: s, ...l} = t;
let c;
try {
c = (null == i || i) && window.__REDUX_DEVTOOLS_EXTENSION__
} catch (m) {
}
if (!c) return e(n, r, a);
const {connection: u, ...d} = ((e, t, n) => {
if (void 0 === e) return {type: "untracked", connection: t.connect(n)};
const r = oU.get(n.name);
if (r) return {type: "tracked", store: e, ...r};
const a = {connection: t.connect(n), stores: {}};
return oU.set(n.name, a), {type: "tracked", store: e, ...a}
})(s, c, l);
let p = !0;
a.setState = (e, t, i) => {
const c = n(e, t);
if (!p) return c;
const d = void 0 === i ? {type: o || "anonymous"} : "string" === typeof i ? {type: i} : i;
return void 0 === s ? (null == u || u.send(d, r()), c) : (null == u || u.send({
...d,
type: `${s}/${d.type}`
}, {...sU(l.name), [s]: a.getState()}), c)
};
const h = (...e) => {
const t = p;
p = !1, n(...e), p = t
}, f = e(a.setState, r, a);
if ("untracked" === d.type ? null == u || u.init(f) : (d.stores[d.store] = a, null == u || u.init(Object.fromEntries(Object.entries(d.stores).map((([e, t]) => [e, e === d.store ? f : t.getState()]))))), a.dispatchFromDevtools && "function" === typeof a.dispatch) {
let e = !1;
const t = a.dispatch;
a.dispatch = (...n) => {
"__setState" !== n[0].type || e || (console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'), e = !0), t(...n)
}
}
return u.subscribe((e => {
var t;
switch (e.type) {
case"ACTION":
return "string" !== typeof e.payload ? void console.error("[zustand devtools middleware] Unsupported action format") : cU(e.payload, (e => {
if ("__setState" !== e.type) a.dispatchFromDevtools && "function" === typeof a.dispatch && a.dispatch(e); else {
if (void 0 === s) return void h(e.state);
1 !== Object.keys(e.state).length && console.error('\n [zustand devtools middleware] Unsupported __setState action format.\n When using \'store\' option in devtools(), the \'state\' should have only one key, which is a value of \'store\' that was passed in devtools(),\n and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }\n ');
const t = e.state[s];
if (void 0 === t || null === t) return;
JSON.stringify(a.getState()) !== JSON.stringify(t) && h(t)
}
}));
case"DISPATCH":
switch (e.payload.type) {
case"RESET":
return h(f), void 0 === s ? null == u ? void 0 : u.init(a.getState()) : null == u ? void 0 : u.init(sU(l.name));
case"COMMIT":
return void 0 === s ? void (null == u || u.init(a.getState())) : null == u ? void 0 : u.init(sU(l.name));
case"ROLLBACK":
return cU(e.state, (e => {
if (void 0 === s) return h(e), void (null == u || u.init(a.getState()));
h(e[s]), null == u || u.init(sU(l.name))
}));
case"JUMP_TO_STATE":
case"JUMP_TO_ACTION":
return cU(e.state, (e => {
void 0 !== s ? JSON.stringify(a.getState()) !== JSON.stringify(e[s]) && h(e[s]) : h(e)
}));
case"IMPORT_STATE": {
const {nextLiftedState: n} = e.payload,
r = null == (t = n.computedStates.slice(-1)[0]) ? void 0 : t.state;
if (!r) return;
return h(void 0 === s ? r : r[s]), void (null == u || u.send(null, n))
}
case"PAUSE_RECORDING":
return p = !p
}
return
}
})), f
}, cU = (e, t) => {
let n;
try {
n = JSON.parse(e)
} catch (r) {
console.error("[zustand devtools middleware] Could not parse the received json", r)
}
void 0 !== n && t(n)
};
const uU = (dU ? iU(dU) : iU)(lU(((...e) => ({...Oz(...e), ...Az(...e), ...Tz(...e), ...WV(...e), ...QV(...e), ...Wz(...e), ...bF(...e), ...Nz(...e), ...sL(...e), ...zV(...e), ...tU(...e), ...XF(...e), ...nU(...e), ...XV(...e), ...UV(...e)})), {
name: "launcher-store",
enabled: !0,
trace: !0
}));
var dU;
const pU = () => {
var e, t;
const {t: n} = bt("settingsPage"), r = uU((e => e.application)),
a = null !== (e = r.launcherVersion.includes("rc")) && void 0 !== e && e;
return (0, OL.jsx)(rT, {
title: n("settings_about_title"),
children: (0, OL.jsxs)(hb, {
color: "foreground-weak",
variant: "body-m",
multiline: !0,
children: [(0, OL.jsx)("img", {
src: `${cD.configuration.assets.directory}/logos/cig-logo.svg`,
alt: n("settings_about_logo_alt"),
width: "120"
}), (0, OL.jsx)("p", {children: n("settings_about_copyright", {year: (new Date).getFullYear()})}), (0, OL.jsx)("hr", {}), (0, OL.jsxs)("p", {
children: [(0, OL.jsxs)("strong", {children: [n("settings_about_launcher_version"), " "]}), null !== (t = r.launcherVersion) && void 0 !== t ? t : "\u2013", a && (0, OL.jsxs)("strong", {
style: {color: "var(--sol-color-status-notice"},
children: [" ", n("settings_about_launcher_preversion")]
})]
})]
})
})
};
function hU(e, t, n) {
var r = this, a = (0, Ee.useRef)(null), i = (0, Ee.useRef)(0), o = (0, Ee.useRef)(null),
s = (0, Ee.useRef)([]), l = (0, Ee.useRef)(), c = (0, Ee.useRef)(), u = (0, Ee.useRef)(e),
d = (0, Ee.useRef)(!0);
u.current = e;
var p = "undefined" != typeof window, h = !t && 0 !== t && p;
if ("function" != typeof e) throw new TypeError("Expected a function");
t = +t || 0;
var f = !!(n = n || {}).leading, m = !("trailing" in n) || !!n.trailing, g = "maxWait" in n,
v = "debounceOnServer" in n && !!n.debounceOnServer, _ = g ? Math.max(+n.maxWait || 0, t) : null;
(0, Ee.useEffect)((function () {
return d.current = !0, function () {
d.current = !1
}
}), []);
var y = (0, Ee.useMemo)((function () {
var e = function (e) {
var t = s.current, n = l.current;
return s.current = l.current = null, i.current = e, c.current = u.current.apply(n, t)
}, n = function (e, t) {
h && cancelAnimationFrame(o.current), o.current = h ? requestAnimationFrame(e) : setTimeout(e, t)
}, y = function (e) {
if (!d.current) return !1;
var n = e - a.current;
return !a.current || n >= t || n < 0 || g && e - i.current >= _
}, b = function (t) {
return o.current = null, m && s.current ? e(t) : (s.current = l.current = null, c.current)
}, x = function e() {
var r = Date.now();
if (y(r)) return b(r);
if (d.current) {
var o = t - (r - a.current), s = g ? Math.min(o, _ - (r - i.current)) : o;
n(e, s)
}
}, w = function () {
if (p || v) {
var u = Date.now(), h = y(u);
if (s.current = [].slice.call(arguments), l.current = r, a.current = u, h) {
if (!o.current && d.current) return i.current = a.current, n(x, t), f ? e(a.current) : c.current;
if (g) return n(x, t), e(a.current)
}
return o.current || n(x, t), c.current
}
};
return w.cancel = function () {
o.current && (h ? cancelAnimationFrame(o.current) : clearTimeout(o.current)), i.current = 0, s.current = a.current = l.current = o.current = null
}, w.isPending = function () {
return !!o.current
}, w.flush = function () {
return o.current ? b(Date.now()) : c.current
}, w
}), [f, g, t, _, m, h, p, v]);
return y
}
function fU(e, t, n) {
var r = void 0 === n ? {} : n, a = r.leading, i = r.trailing;
return hU(e, t, {maxWait: t, leading: void 0 === a || a, trailing: void 0 === i || i})
}
const mU = () => {
const [e, t] = (0, Ee.useState)(!1), [n, r] = (0, Ee.useState)([{
id: "backgroundVideoDisabled",
title: "settings_accessibility_reduce_motion_background_video_toggle_title",
description: "settings_accessibility_reduce_motion_background_video_toggle_description",
value: !1,
dirty: null
}, {
id: "unessentialAnimationsDisabled",
title: "settings_accessibility_reduce_motion_unessential_animation_toggle_title",
description: "settings_accessibility_reduce_motion_unessential_animation_toggle_description",
value: !1,
dirty: null
}, {
id: "wipeAnimationsDisabled",
title: "settings_accessibility_reduce_motion_transition_effects_toggle_title",
description: "settings_accessibility_reduce_motion_transition_effects_toggle_description",
value: !1,
dirty: null
}]), [a, i] = (0, Ee.useState)({
id: "syncWithSystem",
title: "settings_accessibility_reduce_motion_system_sync_title",
description: "settings_accessibility_reduce_motion_system_sync_description",
value: !1,
dirty: null
}), {t: o} = bt("settingsPage"), s = uU((e => e.settings)),
l = fU((async e => await s.actions.setAccessibilitySettingsToPersistentStore(e)), 400),
c = (0, Ee.useCallback)((() => {
const e = n.some((e => e.dirty)), t = a.dirty;
return e || t
}), [n, a]), u = (0, Ee.useCallback)((async () => {
var e;
const n = s.actions.getAccessibilitySettings(),
a = null !== (e = await s.actions.getAccessibilitySettingsFromPersistentStore()) && void 0 !== e ? e : GV,
o = await s.actions.getAnimationSystemSettings();
t(o.prefersReducedMotion), i((e => {
const t = n.reduceMotion.syncWithSystem !== a.reduceMotion.syncWithSystem;
return {...e, value: a.reduceMotion.syncWithSystem, dirty: t}
})), a.reduceMotion.syncWithSystem ? r((e => e.map((e => {
const t = n.reduceMotion[e.id] !== o.prefersReducedMotion;
return t && (l([{
id: e.id,
value: o.prefersReducedMotion
}]), s.actions.setAccessibilitySettings([{id: e.id, value: o.prefersReducedMotion}])), {
...e,
value: o.prefersReducedMotion,
dirty: t
}
})))) : r((e => e.map((e => {
const t = a.reduceMotion[e.id], r = n.reduceMotion[e.id] !== t;
return {...e, value: t, dirty: r}
}))))
}), [s.actions]), d = (0, Ee.useCallback)((async (e, t) => {
r((n => n.map((n => n.id === t ? {...n, value: e, dirty: !0} : n)))), l([{id: t, value: e}])
}), [l]), p = (0, Ee.useCallback)((async e => {
const o = await s.actions.getAnimationSystemSettings();
t(o.prefersReducedMotion), r((t => t.map((t => ({
...t,
value: !!e && o.prefersReducedMotion,
dirty: !0
}))))), i((t => ({...t, value: e, dirty: !0})));
const c = [...n.map((t => ({
id: t.id,
value: !!e && o.prefersReducedMotion
}))), ...a && [{id: "syncWithSystem", value: e}]];
l(c)
}), [l]);
return (0, Ee.useEffect)((() => {
u()
}), []), (0, OL.jsxs)(tS, {
title: o("settings_accessibility_reduce_motion_title"),
description: o("settings_accessibility_reduce_motion_description"),
children: [(0, OL.jsx)(nS, {
checked: a.value,
type: "checkbox",
onChange: ({target: {checked: e}}) => p(e),
description: o(a.description),
warning: a.dirty,
children: o(a.title)
}), (0, OL.jsx)(Cb, {
vertical: !0,
gap: "100",
className: "sol-u-padding-is-250",
children: n.map((e => (0, OL.jsx)(nS, {
type: "toggle",
description: o(e.description),
checked: e.value,
onChange: ({target: {checked: t}}) => d(t, e.id),
disabled: a.value,
warning: e.dirty,
children: o(e.title)
}, e.id)))
}), a.value && (0, OL.jsx)(eS, {
className: "sol-u-padding-is-250",
children: (0, OL.jsx)(Jk, {
type: "informative",
children: o("settings_accessibility_reduce_motion_information_" + (e ? "enabled" : "disabled"))
})
}), c() && (0, OL.jsx)(Jk, {
className: "sol-u-margin-bs-150",
type: "notice",
icon: kz,
children: (0, OL.jsx)(ft, {
i18nKey: "settings_accessibility_reduce_motion_information_restart_link_label",
ns: "settingsPage",
components: {
iclink: (0, OL.jsx)(DA, {
href: "#",
onClick: () => s.actions.restartApp(),
inherit: !0
})
}
})
})]
})
}, gU = () => {
const {t: e} = bt("settingsPage");
return (0, OL.jsx)(rT, {title: e("settings_accessibility_title"), children: (0, OL.jsx)(mU, {})})
}, vU = () => {
const e = uU((e => e.dialog)),
t = uU((e => e.settings)), {t: n} = bt("settingsPage"), [r, a] = (0, Ee.useState)(!1), [i, o] = (0, Ee.useState)(null);
ZF((() => {
o(null), a(!1)
}), wL, r), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onClearStoreSuccess((() => {
a(!0), o({id: "isCacheCleared", message: n("settings_common_saved")})
})), t = window.launcherAPI.store.onClearStoreError((() => {
a(!1), o(null)
}));
return () => {
e(), t()
}
}), []);
const s = (0, Ee.useCallback)((async () => {
i && o(null), await e.actions.showWarningDialogCacheClear()
}), [e.actions, i]), l = (0, Ee.useCallback)((async () => {
t.actions.debugGetLogs()
}), [t.actions]);
return (0, OL.jsx)(tS, {
title: n("settings_application_debug_tools_title"),
description: (0, OL.jsx)(ft, {
i18nKey: "settings_application_debug_tools_description",
ns: "settingsPage",
components: {
iclink: (0, OL.jsx)(DA, {
href: cD.configuration.issueCouncilUrl,
label: n("app_header_menu_issue_council"),
external: !0
})
}
}),
children: (0, OL.jsxs)(HI, {
horizontal: !0,
success: i && i.message,
label: n("settings_application_debug_tools_label"),
labelType: "hidden",
children: [(0, OL.jsx)(_b, {
onClick: () => s(),
type: "button",
children: n("settings_application_debug_tools_button_clear_cache")
}), (0, OL.jsx)(_b, {
onClick: () => l(),
type: "button",
children: n("settings_application_debug_tools_button_get_logs")
})]
})
})
}, _U = () => {
const e = uU((e => e.settings)), [t, n] = (0, Ee.useState)(e.appSettings.quitOnWindowClose), [r, a] = (0, Ee.useState)(!1), [i, o] = (0, Ee.useState)(null), {t: s} = bt("settingsPage");
ZF((() => {
o(null), a(!1)
}), wL, r), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onSetValueToStoreSuccess((e => {
"application.quitOnWindowClose" === e.key && (a(!0), o({
id: "quitOnWindowClose",
message: s("settings_common_saved")
}))
})), t = window.launcherAPI.store.onSetValueToStoreError((e => {
"application.quitOnWindowClose" === e.key && (a(!1), o(null))
}));
return () => {
e(), t()
}
}), []), (0, Ee.useEffect)((() => {
n(e.appSettings.quitOnWindowClose)
}), [e.appSettings.quitOnWindowClose]);
const l = fU((async t => await e.actions.saveApplicationSettings({
name: "quitOnWindowClose",
value: t
})), 400), c = (0, Ee.useCallback)((async e => {
i && o(null), n(e), l(e)
}), [l, i]);
return (0, OL.jsx)(tS, {
title: s("settings_application_window_behavior_title"),
description: s("settings_application_window_behavior_description"),
children: (0, OL.jsx)(nS, {
type: "toggle",
checked: t,
onChange: ({target: {checked: e}}) => c(e),
success: i && i.message,
children: s("settings_application_window_behavior_close_to_quit")
})
})
}, yU = () => {
const {t: e} = bt("settingsPage");
return (0, OL.jsxs)(rT, {
title: e("settings_application_title"),
children: [(0, OL.jsx)(_U, {}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsx)(vU, {})]
})
}, bU = (e, t) => t.find((t => t.code === e));
const xU = new class {
updateCurrentLanguage(e) {
const {actions: t, languageCollection: n} = uU.getState().language, r = bU(e.code, n);
if (void 0 === r) throw new Error("Did not find language in the collection");
this.seti18nLanguage(r.code), t.setCurrentLanguage(r)
}
updatei18nLanguage(e) {
const {languageCollection: t} = uU.getState().language, n = bU(e.code, t);
if (void 0 === n) throw new Error("Did not find language in the collection");
this.seti18nLanguage(n.code)
}
updateLanguageCollection(e) {
const {actions: t, currentLanguage: n} = uU.getState().language;
t.setLanguageCollection(e);
if (void 0 !== bU(n.code, e)) return;
const r = bU(cD.configuration.language.defaultLanguage.code, e);
if (!r) throw new Error("Did not find default language");
t.setCurrentLanguage(r), this.seti18nLanguage(r.code)
}
setLanguageErrorToast() {
const {actions: e} = uU.getState().toasts;
return e.add({
title: xt.t("settings_toast_change_language_failure", {ns: "settingsPage"}),
type: "negative",
duration: wL,
closeOnClick: !0
})
}
seti18nLanguage(e) {
xt.changeLanguage(e)
}
}, wU = () => {
const e = uU((e => e.settings)), {
currentLanguage: t,
languageCollection: n
} = uU((e => e.language)), [r, a] = (0, Ee.useState)(e.appSettings.isDiscoverDone), [i, o] = (0, Ee.useState)(!1), [s, l] = (0, Ee.useState)(null), {t: c} = bt("settingsPage");
ZF((() => {
l(null), o(!1)
}), wL, i), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onSetValueToStoreSuccess((e => {
"application.isDiscoverDone" === e.key && (o(!0), l({
id: "isDiscoverDone",
message: c("settings_common_saved")
}))
})), t = window.launcherAPI.store.onSetValueToStoreError((e => {
"application.isDiscoverDone" === e.key && (o(!1), l(null))
}));
return () => {
e(), t()
}
}), []), (0, Ee.useEffect)((() => {
a(e.appSettings.isDiscoverDone)
}), [e.appSettings.isDiscoverDone]);
const u = fU((async t => await e.actions.saveApplicationSettings({name: "isDiscoverDone", value: t})), 400),
d = (0, Ee.useCallback)((async e => {
s && l(null), a(e), u(e)
}), [u, s]), p = (0, Ee.useCallback)((e => {
const t = bU(e, n);
t ? xU.updateCurrentLanguage(t) : xU.setLanguageErrorToast()
}), [n]);
return (0, OL.jsxs)(rT, {
title: c("settings_dev_title"),
children: [(0, OL.jsx)(Cb, {
vertical: !0,
gap: 100,
children: (0, OL.jsx)(tS, {
title: c("settings_application_language_title"),
children: (0, OL.jsx)(HI, {
label: c("settings_application_language_description"),
children: (0, OL.jsx)(nT, {
onChange: ({target: {value: e}}) => p(e),
defaultValue: t.code,
value: t.code,
children: n.map(((e, t) => (0, OL.jsx)(tT, {label: e.label, value: e.code}, t)))
})
})
})
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsx)(tS, {
title: c("settings_application_discover_behavior_title"),
description: c("settings_application_discover_behavior_description"),
children: (0, OL.jsx)(nS, {
type: "toggle",
checked: r,
onChange: ({target: {checked: e}}) => d(e),
success: s && s.message,
children: c("settings_application_discover_behavior_isDiscoverDone")
})
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsx)(tS, {
title: c("settings_download_force_datapatcher_title"),
description: c("settings_download_force_datapatcher_description"),
children: (0, OL.jsx)(nS, {
type: "toggle",
checked: e.appSettings.download.forceDataPatcher,
description: c("settings_download_force_datapatcher_force_datapatcher_description"),
onChange: ({target: {checked: t}}) => e.actions.setForceDataPatcher(t),
children: c("settings_download_force_datapatcher_force_datapatcher_toggle")
})
})]
})
}, kU = () => {
const {t: e} = bt("settingsPage"),
t = uU((e => e.settings)), [n, r] = (0, Ee.useState)({state: !1}), [a, i] = (0, Ee.useState)(t.appSettings.download.concurrentTransfers), {
value: o,
setValue: s
} = (({initialValue: e, cb: t, delay: n = 2e3}) => {
const [r, a] = (0, Ee.useState)(e);
return (0, Ee.useEffect)((() => {
const e = setTimeout((() => {
t()
}), n);
return () => clearTimeout(e)
}), [t, n]), {value: r, setValue: a}
})({
initialValue: CL(t.appSettings.download.maximumDownloadBandwidth), cb: () => {
CL(t.appSettings.download.maximumDownloadBandwidth) !== o && c(o)
}
});
ZF((() => {
r({state: !1})
}), wL, n.state);
const l = (0, Ee.useCallback)((async e => {
const n = parseInt(e, 10);
i(n), t.actions.setDownloadSettings(cD.InstallerOptions.ConcurrentTransfers, n)
}), [t.actions]), c = (0, Ee.useCallback)((async e => {
s(e), t.actions.setDownloadSettings(cD.InstallerOptions.MaximumDownloadBandwidth, 1e3 * e)
}), [s, t.actions]);
return (0, Ee.useEffect)((() => {
const e = window.launcherAPI.installer.onSetDownloadOptionsSuccess((e => {
t.actions.onSetDownloadSettingsSuccess(e), r({state: !0, option: e.name})
}));
return () => {
e()
}
}), [t.actions]), (0, OL.jsx)(rT, {
title: e("settings_download_title"),
children: (0, OL.jsxs)(tS, {
title: e("settings_download_main_title"),
description: e("settings_download_main_content"),
children: [(0, OL.jsx)(HI, {
horizontal: !0,
label: e("settings_download_concurrent_title"),
success: n.state && n.option === cD.InstallerOptions.ConcurrentTransfers ? e("settings_common_saved") : null,
help: e("settings_download_concurrent_desc"),
children: (0, OL.jsx)(nT, {
onValueChange: e => l(e),
value: a.toString(),
children: BV.map((e => (0, OL.jsx)(tT, {
value: e.value.toString(),
label: e.label
}, e.label)))
})
}), (0, OL.jsx)(HI, {
horizontal: !0,
label: e("settings_download_speed_title"),
success: n.state && n.option === cD.InstallerOptions.MaximumDownloadBandwidth ? e("settings_common_saved") : null,
help: e("settings_download_speed_desc"),
children: (0, OL.jsx)(TA, {
name: "speed-limit",
type: "number",
placeholder: e("settings_download_speed_unlimited"),
value: 0 === o ? void 0 : o.toString(),
onChange: e => s(parseInt(e.target.value || 0, 10)),
suffix: "KB/s"
})
})]
})
})
};
var SU = class extends oF.l {
constructor(e, t) {
super(), this.#D = void 0, this.#R = void 0, this.#u = void 0, this.#L = new Set, this.#d = e, this.options = t, this.#j = null, this.bindMethods(), this.setOptions(t)
}
#d;
#D;
#R;
#u;
#N;
#M;
#j;
#F;
#z;
#V;
#U;
#B;
#G;
#L;
bindMethods() {
this.refetch = this.refetch.bind(this)
}
onSubscribe() {
1 === this.listeners.size && (this.#D.addObserver(this), EU(this.#D, this.options) ? this.#$() : this.updateResult(), this.#q())
}
onUnsubscribe() {
this.hasListeners() || this.destroy()
}
shouldFetchOnReconnect() {
return IU(this.#D, this.options, this.options.refetchOnReconnect)
}
shouldFetchOnWindowFocus() {
return IU(this.#D, this.options, this.options.refetchOnWindowFocus)
}
destroy() {
this.listeners = new Set, this.#W(), this.#H(), this.#D.removeObserver(this)
}
setOptions(e, t) {
const n = this.options, r = this.#D;
if (this.options = this.#d.defaultQueryOptions(e), (0, rF.VS)(n, this.options) || this.#d.getQueryCache().notify({
type: "observerOptionsUpdated",
query: this.#D,
observer: this
}), "undefined" !== typeof this.options.enabled && "boolean" !== typeof this.options.enabled) throw new Error("Expected enabled to be a boolean");
this.options.queryKey || (this.options.queryKey = n.queryKey), this.#K();
const a = this.hasListeners();
a && CU(this.#D, r, this.options, n) && this.#$(), this.updateResult(t), !a || this.#D === r && this.options.enabled === n.enabled && this.options.staleTime === n.staleTime || this.#Y();
const i = this.#Q();
!a || this.#D === r && this.options.enabled === n.enabled && i === this.#G || this.#Z(i)
}
getOptimisticResult(e) {
const t = this.#d.getQueryCache().build(this.#d, e), n = this.createResult(t, e);
return function (e, t) {
if (!(0, rF.VS)(e.getCurrentResult(), t)) return !0;
return !1
}(this, n) && (this.#u = n, this.#M = this.options, this.#N = this.#D.state), n
}
getCurrentResult() {
return this.#u
}
trackResult(e) {
const t = {};
return Object.keys(e).forEach((n => {
Object.defineProperty(t, n, {configurable: !1, enumerable: !0, get: () => (this.#L.add(n), e[n])})
})), t
}
getCurrentQuery() {
return this.#D
}
refetch({...e} = {}) {
return this.fetch({...e})
}
fetchOptimistic(e) {
const t = this.#d.defaultQueryOptions(e), n = this.#d.getQueryCache().build(this.#d, t);
return n.isFetchingOptimistic = !0, n.fetch().then((() => this.createResult(n, t)))
}
fetch(e) {
return this.#$({
...e,
cancelRefetch: e.cancelRefetch ?? !0
}).then((() => (this.updateResult(), this.#u)))
}
#$(e) {
this.#K();
let t = this.#D.fetch(this.options, e);
return e?.throwOnError || (t = t.catch(rF.ZT)), t
}
#Y() {
if (this.#W(), rF.sk || this.#u.isStale || !(0, rF.PN)(this.options.staleTime)) return;
const e = (0, rF.Kp)(this.#u.dataUpdatedAt, this.options.staleTime) + 1;
this.#U = setTimeout((() => {
this.#u.isStale || this.updateResult()
}), e)
}
#Q() {
return ("function" === typeof this.options.refetchInterval ? this.options.refetchInterval(this.#D) : this.options.refetchInterval) ?? !1
}
#Z(e) {
this.#H(), this.#G = e, !rF.sk && !1 !== this.options.enabled && (0, rF.PN)(this.#G) && 0 !== this.#G && (this.#B = setInterval((() => {
(this.options.refetchIntervalInBackground || sF.isFocused()) && this.#$()
}), this.#G))
}
#q() {
this.#Y(), this.#Z(this.#Q())
}
#W() {
this.#U && (clearTimeout(this.#U), this.#U = void 0)
}
#H() {
this.#B && (clearInterval(this.#B), this.#B = void 0)
}
createResult(e, t) {
const n = this.#D, r = this.options, a = this.#u, i = this.#N, o = this.#M,
s = e !== n ? e.state : this.#R, {state: l} = e;
let c, {error: u, errorUpdatedAt: d, fetchStatus: p, status: h} = l, f = !1;
if (t._optimisticResults) {
const a = this.hasListeners(), i = !a && EU(e, t), o = a && CU(e, n, t, r);
(i || o) && (p = uF(e.options.networkMode) ? "fetching" : "paused", l.dataUpdatedAt || (h = "pending")), "isRestoring" === t._optimisticResults && (p = "idle")
}
if (t.select && "undefined" !== typeof l.data) if (a && l.data === i?.data && t.select === this.#F) c = this.#z; else try {
this.#F = t.select, c = t.select(l.data), c = (0, rF.oE)(a?.data, c, t), this.#z = c, this.#j = null
} catch (y) {
this.#j = y
} else c = l.data;
if ("undefined" !== typeof t.placeholderData && "undefined" === typeof c && "pending" === h) {
let e;
if (a?.isPlaceholderData && t.placeholderData === o?.placeholderData) e = a.data; else if (e = "function" === typeof t.placeholderData ? t.placeholderData(this.#V?.state.data, this.#V) : t.placeholderData, t.select && "undefined" !== typeof e) try {
e = t.select(e), this.#j = null
} catch (y) {
this.#j = y
}
"undefined" !== typeof e && (h = "success", c = (0, rF.oE)(a?.data, e, t), f = !0)
}
this.#j && (u = this.#j, c = this.#z, d = Date.now(), h = "error");
const m = "fetching" === p, g = "pending" === h, v = "error" === h, _ = g && m;
return {
status: h,
fetchStatus: p,
isPending: g,
isSuccess: "success" === h,
isError: v,
isInitialLoading: _,
isLoading: _,
data: c,
dataUpdatedAt: l.dataUpdatedAt,
error: u,
errorUpdatedAt: d,
failureCount: l.fetchFailureCount,
failureReason: l.fetchFailureReason,
errorUpdateCount: l.errorUpdateCount,
isFetched: l.dataUpdateCount > 0 || l.errorUpdateCount > 0,
isFetchedAfterMount: l.dataUpdateCount > s.dataUpdateCount || l.errorUpdateCount > s.errorUpdateCount,
isFetching: m,
isRefetching: m && !g,
isLoadingError: v && 0 === l.dataUpdatedAt,
isPaused: "paused" === p,
isPlaceholderData: f,
isRefetchError: v && 0 !== l.dataUpdatedAt,
isStale: OU(e, t),
refetch: this.refetch
}
}
updateResult(e) {
const t = this.#u, n = this.createResult(this.#D, this.options);
if (this.#N = this.#D.state, this.#M = this.options, (0, rF.VS)(n, t)) return;
void 0 !== this.#N.data && (this.#V = this.#D), this.#u = n;
const r = {};
!1 !== e?.listeners && (() => {
if (!t) return !0;
const {notifyOnChangeProps: e} = this.options, n = "function" === typeof e ? e() : e;
if ("all" === n || !n && !this.#L.size) return !0;
const r = new Set(n ?? this.#L);
return this.options.throwOnError && r.add("error"), Object.keys(this.#u).some((e => {
const n = e;
return this.#u[n] !== t[n] && r.has(n)
}))
})() && (r.listeners = !0), this.#m({...r, ...e})
}
#K() {
const e = this.#d.getQueryCache().build(this.#d, this.options);
if (e === this.#D) return;
const t = this.#D;
this.#D = e, this.#R = e.state, this.hasListeners() && (t?.removeObserver(this), e.addObserver(this))
}
onQueryUpdate() {
this.updateResult(), this.hasListeners() && this.#q()
}
#m(e) {
aF.batch((() => {
e.listeners && this.listeners.forEach((e => {
e(this.#u)
})), this.#d.getQueryCache().notify({query: this.#D, type: "observerResultsUpdated"})
}))
}
};
function EU(e, t) {
return function (e, t) {
return !1 !== t.enabled && !e.state.dataUpdatedAt && !("error" === e.state.status && !1 === t.retryOnMount)
}(e, t) || e.state.dataUpdatedAt > 0 && IU(e, t, t.refetchOnMount)
}
function IU(e, t, n) {
if (!1 !== t.enabled) {
const r = "function" === typeof n ? n(e) : n;
return "always" === r || !1 !== r && OU(e, t)
}
return !1
}
function CU(e, t, n, r) {
return !1 !== n.enabled && (e !== t || !1 === r.enabled) && (!n.suspense || "error" !== e.state.status) && OU(e, n)
}
function OU(e, t) {
return e.isStaleByTime(t.staleTime)
}
function PU() {
let e = !1;
return {
clearReset: () => {
e = !1
}, reset: () => {
e = !0
}, isReset: () => e
}
}
var AU = Ee.createContext(PU()), TU = Ee.createContext(!1);
TU.Provider;
function DU(e, t, n) {
const r = (0, J_.NL)(n), a = Ee.useContext(TU), i = Ee.useContext(AU), o = r.defaultQueryOptions(e);
o._optimisticResults = a ? "isRestoring" : "optimistic", (e => {
e.suspense && "number" !== typeof e.staleTime && (e.staleTime = 1e3)
})(o), ((e, t) => {
(e.suspense || e.throwOnError) && (t.isReset() || (e.retryOnMount = !1))
})(o, i), (e => {
Ee.useEffect((() => {
e.clearReset()
}), [e])
})(i);
const [s] = Ee.useState((() => new t(r, o))), l = s.getOptimisticResult(o);
if (Ee.useSyncExternalStore(Ee.useCallback((e => {
const t = a ? () => {
} : s.subscribe(aF.batchCalls(e));
return s.updateResult(), t
}), [s, a]), (() => s.getCurrentResult()), (() => s.getCurrentResult())), Ee.useEffect((() => {
s.setOptions(o, {listeners: !1})
}), [o, s]), ((e, t, n) => e?.suspense && ((e, t) => e.isLoading && e.isFetching && !t)(t, n))(o, l, a)) throw ((e, t, n) => t.fetchOptimistic(e).catch((() => {
n.clearReset()
})))(o, s, i);
if ((({
result: e,
errorResetBoundary: t,
throwOnError: n,
query: r
}) => e.isError && !t.isReset() && !e.isFetching && gF(n, [e.error, r]))({
result: l,
errorResetBoundary: i,
throwOnError: o.throwOnError,
query: s.getCurrentQuery()
})) throw l.error;
return o.notifyOnChangeProps ? l : s.trackResult(l)
}
function RU(e, t) {
return DU(e, SU, t)
}
let LU;
!function (e) {
e.HOSTNAME = "hostname", e.PORT = "port", e.EXECUTABLE = "executable", e.LAUNCHOPTIONS = "launchOptions", e.EACSANDBOX = "eacSandbox"
}(LU || (LU = {}));
const jU = e => {
var t, n, r, a, i, o;
const {t: s} = bt("settingsPage"), l = uU((e => e.settings)), c = e.gameSettings, u = {
[LU.HOSTNAME]: null !== (t = c.hostname) && void 0 !== t ? t : "",
[LU.PORT]: null !== (n = c.port) && void 0 !== n ? n : null,
[LU.EXECUTABLE]: null !== (r = c.executable) && void 0 !== r ? r : "",
[LU.LAUNCHOPTIONS]: null !== (a = c.launchOptions) && void 0 !== a ? a : "",
[LU.EACSANDBOX]: null !== (i = c.eacSandbox) && void 0 !== i ? i : null
}, [d, p] = (0, Ee.useState)(!1), [h, f] = (0, Ee.useState)(null), [m, g] = (0, Ee.useState)(u),
v = null !== (o = (() => {
const {data: e} = RU(xF(c.gameId, c.channelId));
return e
})()) && void 0 !== o ? o : {};
ZF((() => {
f(null), p(!1)
}), wL, d);
const _ = hU((async (e, t) => {
const n = Object.fromEntries(Object.entries({
...m,
[e]: b(e, t)
}).filter((([e, t]) => null != t && "" !== t)));
0 === Object.values(n).length ? await l.actions.resetChannelGameSettings(c) : await l.actions.saveChannelGameSettings({
...n,
gameId: c.gameId,
gameName: c.gameName,
channelId: c.channelId,
channelName: c.channelName,
platformId: c.platformId
}), p(!0), f({id: e, message: s("settings_common_saved")})
}), 300), y = (0, Ee.useCallback)((async (e, t) => {
h && f(null), g({...m, [e]: b(e, t)}), _(e, t)
}), [m, _, h]), b = (e, t) => {
var n;
return e === LU.PORT ? "" === t ? null : parseInt(t) : e === LU.EACSANDBOX ? !1 === t ? null : t : e !== LU.LAUNCHOPTIONS ? null !== (n = t.trim()) && void 0 !== n ? n : "" : null !== t && void 0 !== t ? t : ""
};
return (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsxs)(tS, {
title: s("settings_games_launch_command_line"),
description: s("settings_games_launch_disclaimer"),
children: [(0, OL.jsx)(HI, {
horizontal: !0,
label: s("settings_games_launch_hostname"),
necessityIndicator: "Optional",
help: v.universeHost ? (0, OL.jsxs)(hb, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, OL.jsx)(hb, {
as: "span",
children: v.universeHost
})]
}) : void 0,
success: h && h.id === LU.HOSTNAME ? s("settings_common_saved") : void 0,
children: (0, OL.jsx)(TA, {
value: null === m || void 0 === m ? void 0 : m.hostname,
name: LU.HOSTNAME,
onChange: ({target: {name: e, value: t}}) => y(e, t)
})
}), (0, OL.jsx)(HI, {
horizontal: !0,
label: s("settings_games_launch_port"),
necessityIndicator: "Optional",
help: v.universePort ? (0, OL.jsxs)(hb, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, OL.jsx)(hb, {
as: "span",
children: v.universePort
})]
}) : void 0,
success: h && h.id === LU.PORT ? s("settings_common_saved") : void 0,
children: (0, OL.jsx)(TA, {
value: null === (null === m || void 0 === m ? void 0 : m.port) ? "" : null === m || void 0 === m ? void 0 : m.port,
name: LU.PORT,
type: "number",
onChange: ({target: {name: e, value: t}}) => y(e, t)
})
}), (0, OL.jsx)(HI, {
horizontal: !0,
label: s("settings_games_launch_executable"),
necessityIndicator: "Optional",
help: v.executable ? (0, OL.jsxs)(hb, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, OL.jsx)(hb, {
as: "span",
children: v.executable
})]
}) : void 0,
success: h && h.id === LU.EXECUTABLE ? s("settings_common_saved") : void 0,
children: (0, OL.jsx)(TA, {
value: null === m || void 0 === m ? void 0 : m.executable,
name: LU.EXECUTABLE,
onChange: ({target: {name: e, value: t}}) => y(e, t)
})
}), (0, OL.jsx)(HI, {
horizontal: !0,
label: s("settings_games_launch_launch_options"),
necessityIndicator: "Optional",
help: v.launchOptions ? (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(hb, {
as: "span",
variant: "body-m-bold",
children: s("settings_games_launch_default")
}), (0, OL.jsx)("br", {}), (0, OL.jsx)(hb, {as: "span", children: v.launchOptions})]
}) : void 0,
success: h && h.id === LU.LAUNCHOPTIONS ? s("settings_common_saved") : null,
children: (0, OL.jsx)(TA, {
as: "textarea",
value: null === m || void 0 === m ? void 0 : m.launchOptions,
name: LU.LAUNCHOPTIONS,
onChange: ({target: {name: e, value: t}}) => y(e, t)
})
})]
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsxs)(tS, {
title: s("settings_games_launch_eac_title"),
description: s("settings_games_launch_eac_description"),
children: [(0, OL.jsx)(Hk, {
type: "informative",
children: s("settings_games_launch_eac_informative")
}), (0, OL.jsx)(nS, {
type: "toggle",
checked: null !== (null === m || void 0 === m ? void 0 : m.eacSandbox),
disabled: !(null != (null === m || void 0 === m ? void 0 : m.executable) && "" !== (null === m || void 0 === m ? void 0 : m.executable)) && (null != (null === m || void 0 === m ? void 0 : m.eacSandbox) && g({
...m,
[LU.EACSANDBOX]: null
}), !0),
onChange: ({target: {checked: e}}) => y(LU.EACSANDBOX, e),
success: h && h.id === LU.EACSANDBOX ? s("settings_common_saved") : null,
children: s("settings_games_launch_eac_disable")
})]
})]
})
}, NU = ({open: e = !1, ...t}) => {
var n;
const {t: r} = bt("settingsPage"), a = fN(), i = uU((e => e.application)), o = uU((e => e.dialog)),
s = uU((e => e.installer)), l = uU((e => e.library)), c = uU((e => e.settings)),
u = uU((e => e.storage)), d = uU((e => e.user)),
p = (0, Ee.useMemo)((() => [u.defaultLibraryFolder, ...u.additionalLibraries]), [u.defaultLibraryFolder, u.additionalLibraries]),
h = t.item.libraryFolder,
f = (0, Ee.useMemo)((() => p.find((e => e === h)) || u.defaultLibraryFolder), [h, p, u]), [m, g] = (0, Ee.useState)(f),
v = (0, Ee.useMemo)((() => ({
platformId: t.item.platformId,
gameId: t.item.gameId,
gameName: t.item.gameName,
channelId: t.item.channelId,
channelName: t.item.channelName
})), [t]), _ = s.current && iL(s.current.game, v) ? s.current : rL(s.queue, v),
y = aL(s.uninstallations, v), b = (0, Ee.useCallback)((e => {
const t = l.availableGames.find((t => t.id === e.gameId));
return null === t || void 0 === t ? void 0 : t.logo
}), [l.availableGames]), {
isGameChannelInstalled: x,
isInstalling: w,
isUpdating: k,
isUninstalling: S,
isUserPriviled: E,
isVerifying: I,
isPaused: C,
isGameRunning: O
} = (0, Ee.useMemo)((() => {
var e, t;
const n = BF.getInstalledChannel(v),
r = (null === n || void 0 === n ? void 0 : n.status) === cD.GameChannelStatus.INSTALLED || (null === n || void 0 === n ? void 0 : n.status) === cD.GameChannelStatus.UPDATE_AVAILABLE,
a = _ && _.type === cD.InstallationType.VERIFY, i = _ && _.type === cD.InstallationType.INSTALL,
o = _ && _.type === cD.InstallationType.UPDATE, s = _ && _.status === cD.InstallationStatus.PAUSED,
c = void 0 !== y,
u = null !== (e = null === (t = d.identity) || void 0 === t ? void 0 : t.privileged) && void 0 !== e && e;
return {
isGameChannelInstalled: r,
isGameRunning: void 0 !== l.gameChannelRunning && l.gameChannelRunning && l.gameChannelRunning.channelId === v.channelId && l.gameChannelRunning.gameId === v.gameId,
isVerifying: a,
isInstalling: i,
isUpdating: o,
isUninstalling: c,
isUserPriviled: u,
isPaused: s
}
}), [v, _, l.gameChannelRunning, y, null === (n = d.identity) || void 0 === n ? void 0 : n.privileged]),
P = i.actions.isOffline(), {
verifyButtonLabel: A,
installButtonLabel: T,
uninstallButtonLabel: D
} = (0, Ee.useMemo)((() => ({
verifyButtonLabel: I && (null === _ || void 0 === _ ? void 0 : _.status) === cD.InstallationStatus.PAUSED ? r("settings_games_game_files_process_paused") : r(I ? "settings_games_game_files_verifying_files" : "settings_games_game_files_verify_files"),
installButtonLabel: w && (null === _ || void 0 === _ ? void 0 : _.status) === cD.InstallationStatus.PAUSED ? r("settings_games_game_files_process_paused") : r(w ? "settings_games_game_files_installing_files" : "settings_games_game_files_install_files"),
uninstallButtonLabel: r(S ? "settings_games_game_files_uninstalling_files" : "settings_games_game_files_uninstall_files")
})), [null === _ || void 0 === _ ? void 0 : _.status, w, S, I, r]),
R = (0, Ee.useMemo)((() => I && C || w && C ? cz : I || w ? Vz : void 0), [C, I, w]),
L = (0, Ee.useCallback)((async e => {
_ && _.type === e ? i.actions.setDownloadPopoverOpened(!0) : e !== cD.InstallationType.INSTALL ? Ez.addInstallationToQueue(v, e) : await o.actions.showGameStartInstallationDialog(v, m, !0)
}), [i.actions, v, _, o.actions, m]), j = (0, Ee.useCallback)((async () => {
const e = await o.actions.showDeleteLocalSettingsDialog();
if (e.resolved && Object.values(e.results).length > 0) {
const n = {
directory: `${f}${t.item.installDir}\\${t.item.channelId}`,
args: Object.keys(e.results)
};
vL().launcherSupport.deleteLocalSettings(n)
}
}), [o.actions, t.item, f]), N = (0, Ee.useCallback)((() => Ez.uninstallChannel(t.item)), [t.item]),
M = (0, Ee.useCallback)((async e => {
if ("manage-library" === e) a("/settings/storage"); else {
await c.actions.setChannelLibraryFolder(v, e) && g(e)
}
}), [a, c, v]);
return (0, OL.jsxs)(Eb, {
prefix: (0, OL.jsx)("img", {src: b(v), alt: "", width: "32"}),
open: e,
title: `${v.gameName} - ${v.channelId}`,
children: [(0, OL.jsx)(tS, {
title: r("settings_games_game_location_title"),
description: r("settings_games_game_location_description"),
children: (0, OL.jsxs)(Cb, {
vertical: !0,
gap: "100",
children: [(0, OL.jsx)(Cb, {
vertical: !0,
gap: "50",
children: (0, OL.jsx)(Hk, {
type: "informative",
align: "start",
children: r("settings_games_info_move_directory")
})
}), (0, OL.jsx)(HI, {
label: "Game Library",
children: (0, OL.jsxs)(nT, {
onChange: ({target: {value: e}}) => M(e),
disabled: O || w || I || S,
defaultValue: f,
value: m,
children: [p.map(((e, t) => (0, OL.jsx)(tT, {
label: e,
value: e
}, t))), (0, OL.jsx)(tT, {
value: "manage-library",
children: (0, OL.jsxs)(Cb, {
gap: "100",
align: "center",
children: [(0, OL.jsx)(pb, {source: xz}), (0, OL.jsx)(hb, {
variant: "button-s",
transform: "uppercase",
truncate: !0,
children: r("settings_games_manage_game_libraries")
})]
})
})]
})
}), (0, OL.jsxs)(Cb, {
vertical: !0,
gap: "50",
children: [(0, OL.jsx)(Hk, {
type: "neutral",
icon: !1,
children: r("settings_gmaes_info_complete_path")
}), (0, OL.jsxs)(Cb, {
align: "center",
children: [(0, OL.jsxs)(Hk, {
type: "neutral",
icon: !1,
children: [(0, OL.jsx)("strong", {children: f}), t.item.installDir, "\\", v.channelId]
}), (0, OL.jsx)(_b, {
icon: mz,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(`${f}${t.item.installDir}\\${v.channelId}`)
})]
})]
})]
})
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsx)(tS, {
title: r("settings_games_game_files_title"),
description: r("settings_games_game_files_description"),
children: (0, OL.jsxs)(Cb, {
vertical: !1,
gap: "100",
children: [(0, OL.jsx)(_b, {
onClick: () => L(cD.InstallationType.VERIFY),
disabled: O || w || k || S || P,
loading: I,
loadingIcon: R,
children: A
}), !x && (0, OL.jsx)(_b, {
onClick: () => L(cD.InstallationType.INSTALL),
disabled: O || I || P,
loading: w,
loadingIcon: R,
icon: w ? void 0 : pz,
children: T
}), k && (0, OL.jsx)(_b, {
onClick: () => L(cD.InstallationType.UPDATE),
disabled: !1,
loading: k,
loadingIcon: R,
icon: k ? void 0 : pz,
children: r("settings_games_game_files_updating_files")
}), x && (0, OL.jsx)(_b, {
variant: "plain",
color: "negative",
onClick: N,
disabled: O || I || k,
loading: S,
loadingIcon: R,
children: D
})]
})
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsx)(tS, {
title: r("settings_games_local_title"),
description: r("settings_games_local_description"),
children: (0, OL.jsx)(Cb, {
vertical: !1,
gap: "100",
children: (0, OL.jsx)(_b, {onClick: () => j(), children: r("settings_games_local_button")})
})
}), E ? (0, OL.jsx)(jU, {gameSettings: t.item}) : null]
}, `${v.gameName}${v.channelId}`)
}, MU = () => {
const {t: e} = bt("settingsPage"), t = uU((e => e.settings)), {gameId: n, channelId: r} = function () {
let {matches: e} = Ee.useContext(cN), t = e[e.length - 1];
return t ? t.params : {}
}(), {items: a} = (0, Ee.useMemo)((() => {
const e = t.gamesSettings.find((e => e.gameId === n && e.channelId === r));
return {
items: t.gamesSettings.map((t => (0, OL.jsx)(NU, {
item: t,
open: t === e
}, `${t.gameName}${t.channelId}`)))
}
}), [r, n, t.gamesSettings]);
return (0, OL.jsx)(rT, {
title: e("settings_games_title"),
children: (0, OL.jsx)(Ib, {
openAll: e("settings_common_accordion_open_all"),
closeAll: e("settings_common_accordion_close_all"),
children: a,
className: 1 === a.length ? "sol-u-margin-bs-250" : ""
})
})
}, FU = () => {
const {t: e} = bt("settingsPage"), {
defaultLibraryFolder: t,
additionalLibraries: n
} = uU((e => e.storage)), [r, a] = (0, Ee.useState)(!1), [i, o] = (0, Ee.useState)(null), [s, l] = (0, Ee.useState)(null),
c = uU((e => e.installer)), u = void 0 !== uU((e => e.library)).gameChannelRunning;
ZF((() => {
o(null), l(null), a(!1)
}), wL, r);
const d = (0, Ee.useCallback)((async () => {
const n = t, r = await window.launcherAPI.settings.openLibraryFolderDialog(n);
if (r.length > 0) {
const t = yL(r[0]);
await JV.saveDefaultLibraryFolder(t, n) && (o({
id: "library",
message: e("settings_games_installation_library_folder_success")
}), a(!0))
}
}), [JV, t]), p = (0, Ee.useCallback)((async () => {
const r = t, i = await window.launcherAPI.settings.openLibraryFolderDialog(r), o = n.length;
if (i.length > 0) {
const t = yL(i[0]);
await JV.saveAdditionalLibraryFolders(t) && (l({
id: `additionalLibrary${o}`,
message: e("settings_games_installation_library_folder_success")
}), a(!0))
}
}), [JV, t, n]), h = (0, Ee.useCallback)((async t => {
const r = n[t], i = await window.launcherAPI.settings.openLibraryFolderDialog(r);
if (i.length > 0) {
const n = yL(i[0]);
await JV.replaceAdditionalLibraryFolder(n, r, t) && (l({
id: `additionalLibrary${t}`,
message: e("settings_games_installation_library_folder_success")
}), a(!0))
}
}), [JV, n]), f = (0, Ee.useCallback)((async (e, t) => {
JV.deleteAdditionalLibrary(e, t)
}), [JV]), m = (0, Ee.useCallback)((async (t, n) => {
await JV.replaceDefaultLibrary(t, n) && (o({
id: "library",
message: e("settings_games_installation_library_folder_success")
}), l({
id: `additionalLibrary${n}`,
message: e("settings_games_installation_library_folder_success")
}), a(!0))
}), [JV]);
return (0, OL.jsxs)(rT, {
title: e("settings_storage_title"),
children: [(0, OL.jsx)(tS, {
title: e("settings_storage_main_title"),
description: e("settings_storage_main_description"),
children: (0, OL.jsx)(HI, {
horizontal: !0,
label: e("settings_storage_default_library_folder_label"),
labelType: "hidden",
success: i && "library" === i.id ? i.message : null,
children: (0, OL.jsx)(zA, {
path: t,
children: (0, OL.jsx)(_b, {
disabled: void 0 !== c.current || c.queue.length > 0 || u,
onClick: () => d(),
type: "button",
children: e("settings_games_installation_library_folder_change")
})
})
})
}), (0, OL.jsx)(cS, {spacing: "250"}), (0, OL.jsxs)(tS, {
title: e("settings_storage_additional_libs_title"),
description: e("settings_storage_additional_libs_description"),
children: [n.map(((r, a) => (0, OL.jsx)(HI, {
horizontal: !0,
label: e("settings_storage_default_library_folder_label"),
labelType: "hidden",
success: s && s.id === `additionalLibrary${a}` ? s.message : null,
children: (0, OL.jsxs)(zA, {
path: n[a] || t,
children: [(0, OL.jsx)(_b, {
disabled: void 0 !== c.current || c.queue.length > 0 || u,
onClick: () => h(a),
type: "button",
children: e("settings_games_installation_library_folder_change")
}), (0, OL.jsxs)(HA, {
trigger: (0, OL.jsx)(_b, {
icon: fz,
size: "medium",
variant: "plain"
}),
placement: "right-start",
offset: "small",
children: [(0, OL.jsx)(qA, {
disabled: void 0 !== c.current || c.queue.length > 0 || u,
label: e("settings_action_set_default"),
onClick: () => m(r, a)
}), (0, OL.jsx)(qA, {
disabled: void 0 !== c.current || c.queue.length > 0 || u,
color: "negative",
label: e("settings_action_delete_library"),
onClick: () => f(r, a)
})]
})]
})
}, a))), (0, OL.jsx)(_b, {
icon: tz,
onClick: () => p(),
type: "button",
children: e("settings_storage_add_additional_libraries")
})]
})]
})
}, zU = () => {
var e;
const {t: t} = bt("form"), n = uU((e => e.application)), r = fN(),
a = null !== (e = n.launcherVersion.includes("rc")) && void 0 !== e && e, {
isPending: i,
submitSignIn: o,
register: s,
handleSubmit: l,
captcha: c,
refreshCaptcha: u,
serverError: d,
control: p
} = (() => {
const e = fN(), [t, n] = Ee.useState(null), {
captcha: r,
actions: {resetAuthentication: a, fetchCaptcha: i}
} = uU((e => e.authentication)), {
launcherVersion: o,
platformMaster: s
} = uU((e => e.application)), {
handleSubmit: l,
register: c,
setError: u,
formState: {errors: d},
resetField: p,
control: h
} = nF(), {authentication: {onSignInSuccess: f}} = vL(), {
mutate: m,
isPending: g
} = vF({
mutationFn: ({
username: e,
password: t,
captcha: n,
remember: r,
launcherVersion: a
}) => YR.authentication.signIn({
username: e,
password: t,
captcha: n,
remember: r,
launcherVersion: a
}), onSuccess: (e, t) => y(e, t), onError: async (e, t) => await _(e, t)
}), v = (0, Ee.useCallback)((async () => {
await YF.getSession(s) && i()
}), [i, s]), _ = async (t, r) => {
const {username: a, remember: o, captcha: s} = r;
if (s && i(), t instanceof nR) {
const e = await YR.authentication.getCaptcha();
uU.setState((t => ({authentication: {...t.authentication, captcha: e}})))
} else {
if (t instanceof sR) throw e(eB.SIGN_IN_GAME_PACKAGE_MISSING);
if (t instanceof rR) return u("captcha", {
type: "custom",
message: null === t || void 0 === t ? void 0 : t.message
}), void p("captcha", {keepDirty: !0, keepError: !0, keepTouched: !0, defaultValue: ""});
if (t instanceof QD) throw e(eB.SIGN_IN_MFA, {state: {remember: o, username: a}});
if (t instanceof FR) throw n((0, OL.jsx)(ft, {
i18nKey: "error_sign_in_not_authorized",
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.downloadUrl,
external: !0,
inherit: !0
})]
})), t;
n(t.message)
}
}, y = ({identity: t, session: n}, r) => {
a();
const i = r.remember;
throw YF.setIdentity({identity: t, remember: i}), YF.setSession({
session: n,
remember: i
}), f({
accountName: t.username,
trackingMetricsId: t.trackingMetricsId,
heapAccountId: t.heapAccountId
}), e(eB.HOME)
};
return {
refreshCaptcha: v,
submitSignIn: e => {
const t = {...e, launcherVersion: o};
n(null), m(t)
},
mutateSignIn: m,
handleSubmit: l,
register: c,
control: h,
captcha: r,
isPending: g,
formErrors: d,
serverError: t
}
})();
(0, Ee.useEffect)((() => {
n.connection.mode !== cD.ConnectionMode.ONLINE && r(`/${eB.OFFLINE}`)
}), [n.connection, r]);
const h = (0, Ee.useMemo)((() => (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsxs)(hb, {
className: "footer__sign-up",
color: "foreground-weak",
variant: "body-m",
children: [t("sign_in_no_account"), (0, OL.jsx)(DA, {
external: !0,
href: cD.configuration.enlistUrl,
"data-test-id": "enlist",
children: t("sign_in_create_account")
})]
}), (0, OL.jsx)(_b, {
className: "footer__sign-in-button",
loading: i && t("sign_in_loading"),
size: "large",
type: "submit",
"data-test-id": "sign_in_submit",
children: t("sign_in_submit")
})]
})), [i]);
return (0, OL.jsxs)(sT, {
as: "form",
"data-test-id": "sign-in-form",
title: t("sign_in_title"),
footer: h,
onSubmit: l(o),
children: [a && (0, OL.jsx)(Hk, {
type: "notice",
icon: kz,
children: t("sign_in_prerelease")
}), d && (0, OL.jsx)(Hk, {type: "negative", children: d}), (0, OL.jsx)(LV, {
control: p,
name: "username",
rules: {required: {value: !0, message: t("error_email_field_is_required")}},
label: t("sign_in_email"),
disabled: i,
"data-test-id": "email",
inputProps: {id: "email"}
}), (0, OL.jsx)(LV, {
control: p,
name: "password",
rules: {required: {value: !0, message: t("error_password_field_is_required")}},
label: t("sign_in_password"),
type: "password",
disabled: i,
"data-test-id": "password",
inputProps: {id: "password"}
}), (0, OL.jsxs)(Cb, {
align: "center",
gap: "100",
justify: "space-between",
children: [(0, OL.jsx)(nS, {
label: t("sign_in_remember_me"),
inputProps: s("remember"),
"data-test-id": "remember",
children: t("sign_in_remember_me")
}), (0, OL.jsx)(DA, {
href: cD.configuration.recoverUrl,
external: !0,
"data-test-id": "recover",
children: t("sign_in_forgot_password")
})]
}), c && (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)("img", {
id: "captcha",
src: c,
alt: ""
}), (0, OL.jsx)(LV, {
control: p,
name: "captcha",
rules: {required: {value: !0, message: t("error_field_is_required")}},
label: t("sign_in_captcha"),
help: t("sign_in_captcha_help"),
disabled: i,
"data-test-id": "captcha",
inputProps: {
"aria-describedby": "captcha",
suffix: (0, OL.jsx)(_b, {
"aria-label": t("sign_in_captcha_refresh"),
"aria-controls": "captcha",
disabled: i,
icon: iz,
variant: "plain",
size: "small",
onClick: u
})
}
})]
})]
})
}, VU = () => {
const e = uU((e => e.authentication)), {t: t} = bt("form"), {
serverError: n,
submitSignInMfa: r,
handleSubmit: a,
isPending: i,
control: o
} = (() => {
const {t: e} = bt("errors"), [t, n] = Ee.useState(null), r = fN(),
a = pN(), {actions: {resetAuthentication: i}} = uU((e => e.authentication)), {
handleSubmit: o,
register: s,
formState: {errors: l},
control: c
} = nF(), {authentication: {onSignInSuccess: u}} = vL(), {
mutate: d,
isPending: p
} = vF({
mutationFn: ({
username: e,
codeMfa: t,
deviceName: n,
duration: r
}) => YR.authentication.signInMfa({
username: e,
codeMfa: t,
deviceName: n,
duration: r
}), onSuccess: e => f(e), onError: e => h(e)
}), h = t => {
if (t instanceof ZD) n(e("error_wrong_mfa_code")); else {
if (t instanceof sR) throw r(`../${eB.SIGN_IN_GAME_PACKAGE_MISSING}`);
if (t instanceof FR) throw n((0, OL.jsx)(ft, {
i18nKey: "error_sign_in_not_authorized",
ns: "errors",
components: [(0, OL.jsx)(DA, {
href: cD.configuration.downloadUrl,
external: !0,
inherit: !0
})]
})), t;
n(t.message)
}
}, f = ({identity: e, session: t, device: n}) => {
i();
const o = a.state.remember && n.duration !== SR.SESSION;
throw YF.setIdentity({identity: e, remember: o}), YF.setSession({
session: t,
remember: o
}), YF.setDevice({device: n, remember: o}), u({
accountName: e.username,
trackingMetricsId: e.trackingMetricsId,
heapAccountId: e.heapAccountId
}), r(eB.HOME)
};
return {
isPending: p, submitSignInMfa: e => {
const t = {
username: a.state.username,
codeMfa: e.codeMfa,
deviceName: e.deviceName,
duration: e.duration
};
n(null), d(t)
}, mutateMfaSignIn: d, handleSubmit: o, register: s, control: c, errors: l, serverError: t
}
})(), s = [{label: t("sign_in_mfa_session"), value: SR.SESSION}, {
label: t("sign_in_mfa_day"),
value: SR.DAY
}, {label: t("sign_in_mfa_week"), value: SR.WEEK}, {
label: t("sign_in_mfa_month"),
value: SR.MONTH
}, {label: t("sign_in_mfa_year"), value: SR.YEAR}], l = s[3].value, c = (0, Ee.useCallback)((() => {
YF.resetUser({clearDevice: !1}), e.actions.resetAuthentication()
}), []), u = (0, Ee.useMemo)((() => (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(_b, {
disabled: i,
onClick: c,
variant: "plain",
href: "..",
icon: nz,
size: "large",
children: t("sign_in_mfa_back_sign_in")
}), (0, OL.jsx)(_b, {
loading: i && t("sign_in_loading"),
size: "large",
type: "submit",
children: t("sign_in_mfa_submit")
})]
})), [i, c]);
return (0, OL.jsxs)(sT, {
as: "form",
title: t("sign_in_mfa_title"),
subtitle: t("sign_in_mfa_subtitle"),
footer: u,
onSubmit: a(r),
children: [n && (0, OL.jsx)(Hk, {type: "negative", children: n}), (0, OL.jsx)(LV, {
control: o,
name: "codeMfa",
rules: {required: {value: !0, message: t("error_code_required")}},
help: t("sign_in_mfa_code_help"),
label: t("sign_in_mfa_code_label")
}), (0, OL.jsx)(LV, {
control: o,
name: "deviceName",
rules: {
minLength: {value: 3, message: t("error_device_min_length")},
required: {value: !0, message: t("error_device_required")}
},
help: t("sign_in_mfa_device_help"),
label: t("sign_in_mfa_device_label")
}), (0, OL.jsx)(RV, {
control: o,
name: "duration",
label: t("sign_in_mfa_duration_label"),
help: t("sign_in_mfa_duration_help"),
defaultValue: l,
children: s.map((({label: e, value: t}) => (0, OL.jsx)(tT, {value: t, children: e}, t)))
})]
})
}, UU = () => {
const {t: e} = bt("errors");
return (0, OL.jsx)(sT, {
title: e("error_game_package_missing_title"),
subtitle: (0, OL.jsx)(ft, {
i18nKey: "error_game_package_missing_subtitle",
ns: "errors",
components: [(0, OL.jsx)(DA, {href: cD.configuration.playnowUrl, external: !0})]
}),
footer: (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(_b, {
href: cD.configuration.supportUrl,
external: !0,
variant: "plain",
icon: lz,
size: "large",
children: e("error_game_package_missing_support")
}), (0, OL.jsx)(_b, {
href: `/${eB.SIGN_IN}`,
size: "large",
children: e("error_game_package_missing_retry")
})]
}),
children: (0, OL.jsx)("video", {
autoPlay: !0,
loop: !0,
muted: !0,
playsInline: !0,
src: cD.configuration.assets.directory + "/videos/no-game-package.mp4",
style: {borderRadius: "var(--sol-radius-8)"}
})
})
}, BU = ({date: e}) => (0, OL.jsx)(qk, {
content: mL(e, "long"),
placement: "bottom",
interactive: !1,
children: (0, OL.jsx)("time", {dateTime: e, children: mL(e, "relative")})
}), GU = ({gameChannel: e}) => {
const {t: t} = bt("gamePage"), n = uU((e => e.application)), [r, a] = (0, Ee.useState)(IR.COMM_LINKS), {
dynamicContentSections: i,
contents: o,
isLoading: s
} = (({channelId: e, gameId: t}) => {
const n = uU((e => e.application)), {data: r, isLoading: a} = RU({
...wF(t, e),
enabled: n.connection.mode === cD.ConnectionMode.ONLINE && !n.isWindowMinimized
});
return {
...(0, Ee.useMemo)((() => {
var e, t, n;
const a = null !== (e = null === r || void 0 === r ? void 0 : r.commLinks) && void 0 !== e ? e : [],
i = null !== (t = null === r || void 0 === r ? void 0 : r.patchNotes) && void 0 !== t ? t : [],
o = null !== (n = null === r || void 0 === r ? void 0 : r.launcherCards) && void 0 !== n ? n : [],
s = [], l = {};
return l[`${IR.COMM_LINKS}`] = a.map(lL).sort(uL).slice(0, 8), l[`${IR.PATCH_NOTES}`] = i, o.map(cL).forEach((e => {
var t, n;
if (null === (t = e.channel) || void 0 === t || !t.name) return;
const r = void 0 !== l[e.channel.name];
l[e.channel.name] = [...null !== (n = l[e.channel.name]) && void 0 !== n ? n : [], e].sort(dL), r || s.push(e.channel)
})), {dynamicContentSections: s.sort(pL).map((e => e.name)), contents: l}
}), [r]), isLoading: a
}
})({gameId: e.gameId, channelId: e.channelId}), l = (0, Ee.useMemo)((() => {
const e = [IR.PATCH_NOTES], t = [...i, IR.COMM_LINKS, IR.PATCH_NOTES].filter((t => {
const n = e.find((e => e === t));
return !(0 === o[t].length && n)
}));
return a(t[0]), t
}), [i, o]), c = s && 0 === i.length;
return !n.actions.isOffline() && c ? (0, OL.jsx)(ZI, {empty: t("game_page_cards_loading")}) : (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(xA, {
children: l.map((e => (0, OL.jsx)(tC, {
label: t(`game_page_cards_tab_${e && e.toLowerCase()}`),
active: r === e,
onClick: () => a(e)
}, e)))
}), n.actions.isOffline() && (s || 0 === o[IR.COMM_LINKS].length) ? (0, OL.jsx)($U, {}) : (0, OL.jsx)(qU, {
contents: o,
activeTab: r
})]
})
}, $U = () => (0, OL.jsx)(ZI, {
children: (0, OL.jsx)(Wk, {
title: "No Connection",
href: "#",
isOffline: !0
}, "Card-no-connection")
}), qU = ({contents: e, activeTab: t}) => {
const {t: n} = bt("gamePage"), r = (0, Ee.useCallback)((e => {
var t;
return null !== (t = e.media) && void 0 !== t && t.overlay ? {
src: `${cD.configuration.rootUrl}${e.media.overlay.resize}`,
srcSet: `${e.media.overlay.source} 2x`
} : void 0
}), []), a = (0, Ee.useCallback)((e => {
var t, n, r;
return null !== (t = e.media) && void 0 !== t && t.thumbnail ? `${cD.configuration.rootUrl}${null === (r = e.media) || void 0 === r ? void 0 : r.thumbnail}` : null !== (n = e.media) && void 0 !== n && n.background ? {
src: `${cD.configuration.rootUrl}${e.media.background.resize}`,
srcSet: `${e.media.background.source} 2x`
} : void 0
}), []);
return (0, OL.jsx)(OL.Fragment, {
children: e[t] && e[t].length > 0 ? (0, OL.jsx)(ZI, {
children: e[t].map((e => (0, OL.jsx)(Wk, {
href: e["meta.button_url"] ? e["meta.button_url"] : e.url,
label: e["meta.button_label"] ? e["meta.button_label"] : n("game_page_card_button_label"),
title: e.title,
excerpt: e.excerpt,
external: !0,
subtitle: null !== e && void 0 !== e && e.publish_start ? (0, OL.jsx)(BU, {date: e.publish_start}) : void 0,
image: a(e),
overlay: r(e)
}, `Card-${e.id}`)))
}) : (0, OL.jsx)(ZI, {empty: n("game_page_cards_empty")})
})
}, WU = () => {
var e, t;
const {t: n} = bt("gamePage"), r = uU((e => e.library)), a = uU((e => e.application)), {
reduceMotion: {
backgroundVideoDisabled: i,
wipeAnimationsDisabled: o
}
} = Xy(), s = GF(r.gameSelected, r.availableGames),
l = null === (e = a.animations.gamePageEntering) || void 0 === e ? void 0 : e.isAnimating,
c = null === (t = a.animations.gamePageEntering) || void 0 === t ? void 0 : t.animState,
u = a.actions.isOffline();
return (0, OL.jsxs)(OL.Fragment, {
children: [(0, OL.jsx)(QI, {
image: null === s || void 0 === s ? void 0 : s.bgImage,
video: i || null === s || void 0 === s ? void 0 : s.bgVideo
}), (0, OL.jsx)(XI, {
logo: null === s || void 0 === s ? void 0 : s.logoWide,
animation: null === s || void 0 === s ? void 0 : s.logoAnimation,
playLottie: !!o || l && "entering" === c
}), (0, OL.jsx)(wA, {
children: (0, OL.jsx)(ft, {
i18nKey: "game_page_title",
values: {name: null === s || void 0 === s ? void 0 : s.name},
components: [(0, OL.jsx)("br", {}), (0, OL.jsx)("b", {})],
t: n
})
}), (0, OL.jsxs)(YI, {
children: [r.availableGames.length > 0 && r.gameChannelSelected && (0, OL.jsx)(uV, {gameChannel: r.gameChannelSelected}), r.gameChannelSelected && (0, OL.jsx)(sV, {gameChannel: r.gameChannelSelected}), r.gameChannelSelected && (0, OL.jsx)(dV, {gameChannel: r.gameChannelSelected}), u && r.gameChannelSelected && (0, OL.jsx)(eC, {
children: (0, OL.jsx)(ft, {
i18nKey: "game_page_game_is_not_available_offline",
ns: "gamePage",
values: {game: r.gameChannelSelected.gameName}
})
}), r.gameChannelSelected && (0, OL.jsx)(lV, {gameChannel: r.gameChannelSelected}), !u && a.nonOperationalStatus && (0, OL.jsx)(hV, {status: a.nonOperationalStatus})]
}), r.gameChannelSelected && (0, OL.jsx)(GU, {gameChannel: r.gameChannelSelected})]
})
}, HU = () => {
const {t: e} = bt("errors"), t = uU((e => e.window)), n = uU((e => e.application)),
r = fN(), [a, i] = (0, Ee.useState)(!1), o = (0, Ee.useCallback)((() => t.actions.exitLauncher()), [t]),
s = (0, Ee.useCallback)((() => {
i(!0);
const e = setTimeout((() => {
i(!1), r(`/${eB.SIGN_IN}`), clearTimeout(e)
}), 3 * TR.second)
}), [i, r]);
return (0, Ee.useEffect)((() => {
n.connection.mode === cD.ConnectionMode.ONLINE && r(`/${eB.SIGN_IN}`)
}), [n.connection, r]), (0, OL.jsx)(lT, {
children: (0, OL.jsx)(sT, {
title: e("error_sign_in_offline_header_title"),
subtitle: (0, OL.jsx)(ft, {i18nKey: "error_sign_in_offline_header_subtitle", ns: "errors"}),
footer: (0, OL.jsxs)(Cb, {
align: "end",
gap: "100",
children: [(0, OL.jsx)(_b, {
variant: "monochrome",
size: "large",
onClick: o,
children: e("error_sign_in_offline_exit")
}), (0, OL.jsx)(_b, {
loading: a,
onClick: s,
size: "large",
children: e("error_sign_in_offline_retry")
})]
}),
children: (0, OL.jsxs)(Cb, {
gap: "100",
vertical: !0,
children: [(0, OL.jsx)(cS, {}), (0, OL.jsx)(hb, {
color: "foreground-weak",
className: "sol-u-margin-b-050",
children: (0, OL.jsx)("h2", {children: e("error_sign_in_offline_content_title")})
}), (0, OL.jsxs)(hb, {
color: "foreground-weak",
children: [(0, OL.jsx)("span", {children: e("error_sign_in_offline_content_description")}), (0, OL.jsxs)("ul", {children: [(0, OL.jsx)("li", {children: e("error_sign_in_offline_content_description_first")}), (0, OL.jsx)("li", {children: e("error_sign_in_offline_content_description_second")}), (0, OL.jsx)("li", {children: e("error_sign_in_offline_content_description_third")})]})]
})]
})
})
})
}, KU = () => {
const e = uU((e => e.toasts)), t = uU((e => e.application)), {
wipeAnimType: n,
isHeaderVisible: r
} = (() => {
var e, t;
const n = uU((e => e.application)),
r = null === (e = n.animations.appLayoutWipe) || void 0 === e ? void 0 : e.isAnimating,
a = null === (t = n.animations.appLayoutWipe) || void 0 === t ? void 0 : t.animType,
i = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)), [o, s] = (0, Ee.useState)(!1), [l, c] = (0, Ee.useState)(""),
u = (0, Ee.useCallback)((async () => {
switch (n.actions.setAnimatingAppLayoutWipe("", !1), c(""), a) {
case"in":
c("in");
break;
case"in-rtl":
c("in-rtl");
break;
case"out":
c("out"), s(!0);
break;
case"out-rtl":
c("out-rtl"), s(!0);
break;
case"full-rtl":
c("in-rtl"), await new Promise((e => setTimeout(e, i / 2))), c("out-rtl");
break;
default:
c("in"), await new Promise((e => setTimeout(e, i / 2))), c("out")
}
await new Promise((e => setTimeout(e, i / 2))), n.actions.setAnimatingAppLayoutWipe("", !1), c("")
}), [a, i, n.actions]);
return (0, Ee.useEffect)((() => {
r ? u() : s(!0)
}), [r, u]), {wipeAnimType: l, isHeaderVisible: o}
})(), {t: a} = bt("settingsPage"), i = (0, Ee.useRef)(!1);
return ez(), (0, Ee.useEffect)((() => (BF.registerEventListener(), () => {
BF.removeEventListener()
})), []), (0, Ee.useEffect)((() => (Ez.registerEventListener(), () => {
Ez.removeEventListener()
})), []), (() => {
const {connectivity: {onConnectionAvailable: e, onConnectionUnavailable: t}} = window.launcherAPI,
n = uU((e => e.application));
(0, Ee.useEffect)((() => e((() => {
n.actions.setConnectionAvailable()
}))), [n.actions, e]), (0, Ee.useEffect)((() => t((() => {
n.actions.setConnectionUnavailable()
}))), [n.actions, t]), (0, Ee.useEffect)((() => {
const e = () => {
n.actions.checkConnection()
}, t = () => {
n.actions.checkConnection()
};
return window.addEventListener("offline", e), window.addEventListener("online", t), () => {
window.removeEventListener("offline", e), window.removeEventListener("online", t)
}
}), [n.actions])
})(), (() => {
const {
launcherSupport: {
onDeleteLocalSettingsSuccess: e,
onDeleteLocalSettingsError: t
}
} = window.launcherAPI, n = uU((e => e.toasts)), {t: r} = bt("settingsPage");
(0, Ee.useEffect)((() => e((e => {
n.actions.add({
title: r("settings_games_local_delete_success", {ns: "settingsPage"}),
type: "positive",
icon: dz,
closeOnClick: !0
})
}))), [e, r, n.actions]), (0, Ee.useEffect)((() => t((e => {
n.actions.add({
title: r("settings_games_local_delete_error", {ns: "settingsPage"}),
children: r("settings_games_local_delete_error_message", {ns: "settingsPage"}),
type: "negative",
icon: uz,
closeOnClick: !0
})
}))), [t, r, n.actions])
})(), (0, Ee.useEffect)((() => {
if (!i.current) {
var e;
const n = null !== (e = t.launcherVersion.includes("rc")) && void 0 !== e && e,
r = document.getElementById("app-version");
n && r && (r.innerHTML += ` <span>${a("settings_about_launcher_preversion")}</span>`), i.current = !0
}
}), []), (0, Ee.useEffect)((() => {
e.actions.init()
}), [e.actions]), (0, OL.jsx)(OL.Fragment, {
children: (0, OL.jsx)(Mz, {
children: (0, OL.jsxs)(Db, {
className: "sol-u-animation-wipe",
"data-sol-animation-wipe": n,
header: r ? (0, OL.jsx)(Zz, {}) : void 0,
children: [(0, OL.jsx)(PN, {}), (0, OL.jsx)(Jz, {}), (0, OL.jsx)(hT, {toasts: e.list})]
})
})
})
}, YU = () => {
const e = (0, Ee.useCallback)((() => {
vL().window.setLargeWindow()
}), []);
(0, Ee.useEffect)((() => {
e()
}), [e])
}, QU = () => {
const e = uU((e => e.application)), {wipeAnimationsDisabled: t} = Xy().reduceMotion,
n = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
(() => {
const e = (0, Ee.useCallback)((() => {
vL().window.setSmallWindow()
}), []);
(0, Ee.useEffect)((() => {
e()
}), [e])
})();
const r = (0, Ee.useCallback)((() => {
if (t) {
const t = setTimeout((() => {
e.actions.setAnimatingAppLayoutWipe("out", !1)
}), n);
return () => clearTimeout(t)
}
}), [e.actions, n, t]);
return (0, Ee.useEffect)((() => {
r()
}), [r]), (0, OL.jsx)(lT, {children: (0, OL.jsx)(PN, {})})
}, ZU = () => {
var e;
const t = uU((e => e.application)),
n = uU((e => e.library)), {reduceMotion: {wipeAnimationsDisabled: r}} = Xy();
YU();
const [a, i] = (0, Ee.useState)("is-init"), o = (0, Ee.useCallback)((async () => {
await BF.checkForGameChannelsUpdates()
}), []);
(0, Ee.useEffect)((() => {
n.installedGames.length > 0 && o()
}), [o, n.installedGames.length]);
const s = (0, Ee.useMemo)((() => DR(cD.configuration.requestPollingInterval.library.base, cD.configuration.requestPollingInterval.library.window)), []);
((e, t) => {
const n = (0, Ee.useRef)(e);
(0, Ee.useEffect)((() => {
n.current = e
}), [e]), (0, Ee.useEffect)((() => {
if (null !== t) {
const e = setInterval((() => n.current()), t);
return () => clearInterval(e)
}
}), [t])
})((() => o()), n.installedGames.length > 0 ? s : null);
const l = (0, Ee.useCallback)((() => {
var e;
if (r) return t.actions.setAnimatingGamePageEntering(!1, "entered"), void i("is-entered");
if (!(null === (e = t.animations.appLayoutWipe) || void 0 === e ? void 0 : e.isAnimating) && "is-init" === a) {
t.actions.setAnimatingGamePageEntering(!0, "entering"), i("is-entering");
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
n = setTimeout((() => {
t.actions.setAnimatingGamePageEntering(!1, "entered"), i("is-entered")
}), e / 2 + 2e3);
return () => clearTimeout(n)
}
}), [a, t.actions, null === (e = t.animations.appLayoutWipe) || void 0 === e ? void 0 : e.isAnimating, r]);
return (0, Ee.useEffect)((() => {
l()
}), [l]), (0, OL.jsx)(kA, {
navigation: (0, OL.jsx)(pV, {}),
"data-sol-animation-gamepage": a,
children: (0, OL.jsx)(PN, {})
})
}, XU = () => {
const e = uU((e => e.application)), t = uU((e => e.user)),
n = fN(), {pathname: r} = pN(), {t: a} = bt("settingsPage");
YU();
const {wipeAnimationsDisabled: i} = Xy().reduceMotion,
o = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
s = [{
title: a("settings_nav_items_application"),
path: "application"
}, {
title: a("settings_nav_items_accessibility"),
path: "accessibility"
}, {title: a("settings_nav_items_games"), path: "games"}, {
title: a("settings_nav_items_storage"),
path: "storage"
}, {title: a("settings_nav_items_download"), path: "download"}, {
title: a("settings_nav_items_about"),
path: "about"
}, {title: a("settings_nav_items_dev"), path: "dev", staff: !0}];
return (0, OL.jsxs)(oT, {
children: [(0, OL.jsx)(aT, {
back: {label: a("settings_common_back"), href: ".."},
title: a("settings_main_title"),
backCallback: () => {
if (i) return void n(eB.HOME);
e.actions.setAnimatingAppLayoutWipe("full-rtl", !0);
const t = setTimeout((() => {
n(eB.HOME)
}), o / 2);
return () => clearTimeout(t)
},
children: s.map((e => {
const n = t.identity && t.identity.privileged,
a = XL({path: `/${eB.SETTINGS}/${e.path}`, end: !1}, r);
return (!e.staff || e.staff && n) && (0, OL.jsx)(iT, {
active: Boolean(a),
href: e.path,
children: e.title
}, e.path)
}))
}), (0, OL.jsx)(PN, {})]
})
};
const JU = () => {
const e = pN();
return (uU((e => e.user)), YF.isLoggedIn()) ? (0, OL.jsx)(PN, {}) : (0, OL.jsx)(ON, {
to: "sign-in",
replace: !0,
state: {from: e}
})
}, eB = {
HOME: "/",
SIGN_IN: "sign-in",
SIGN_IN_MFA: "mfa",
SIGN_IN_GAME_PACKAGE_MISSING: "game-package-missing",
GAME_PAGE: "game-page/:gameId",
SETTINGS: "settings",
SETTINGS_APPLICATION: "application",
SETTINGS_ACCESSIBILITY: "accessibility",
SETTINGS_GAMES: "games/:gameId?/:channelId?",
SETTINGS_ABOUT: "about",
SETTINGS_DOWNLOAD: "download",
SETTINGS_DEV: "dev",
SETTINGS_STORAGE: "storage",
OFFLINE: "offline"
}, tB = function (e, t) {
return Sj({
basename: null == t ? void 0 : t.basename,
future: fV({}, null == t ? void 0 : t.future, {v7_prependBasename: !0}),
history: (n = {window: null == t ? void 0 : t.window}, void 0 === n && (n = {}), VL((function (e, t) {
let {pathname: n = "/", search: r = "", hash: a = ""} = zL(e.location.hash.substr(1));
return n.startsWith("/") || n.startsWith(".") || (n = "/" + n), ML("", {
pathname: n,
search: r,
hash: a
}, t.state && t.state.usr || null, t.state && t.state.key || "default")
}), (function (e, t) {
let n = e.document.querySelector("base"), r = "";
if (n && n.getAttribute("href")) {
let t = e.location.href, n = t.indexOf("#");
r = -1 === n ? t : t.slice(0, n)
}
return r + "#" + ("string" === typeof t ? t : FL(t))
}), (function (e, t) {
jL("/" === e.pathname.charAt(0), "relative pathnames are not supported in hash history.push(" + JSON.stringify(t) + ")")
}), n)),
hydrationData: (null == t ? void 0 : t.hydrationData) || vV(),
routes: e,
mapRouteProperties: DN,
window: null == t ? void 0 : t.window
}).initialize();
var n
}([{
element: (0, OL.jsx)(KU, {}), loader: async () => {
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
try {
const t = uU.getState().application, n = uU.getState().language;
if (t.isAppInitialized) return t.actions.checkConnection(), void await xU.updatei18nLanguage(n.currentLanguage);
await new Promise((t => setTimeout(t, cD.configuration.appLayoutLoaderWipeTrigger + e / 2)))
} finally {
return null
}
}, children: [{
path: eB.HOME,
element: (0, OL.jsx)(JU, {}),
children: [{
element: (0, OL.jsx)(ZU, {}), children: [{
index: !0, loader: async () => {
const e = `/game-page/${uU.getState().library.gameSelected}`;
throw cj(e)
}
}, {
path: eB.GAME_PAGE, element: (0, OL.jsx)(WU, {}), loader: async ({params: e}) => {
try {
var t;
if (await async function (e = eB.SIGN_IN) {
const t = uU.getState().user, n = uU.getState().application;
if (n.actions.isOffline() && !n.actions.isOfflineSessionValid() && await YF.logOutCurrentUser(), !YF.isLoggedIn()) throw cj(e);
return t.identity
}(), !e.gameId) return null;
const n = uU.getState().settings,
r = null !== (t = RF.getQueryData(kF().queryKey)) && void 0 !== t ? t : await RF.fetchQuery(kF());
return xU.updateLanguageCollection(r), await BF.checkForGameChannelsUpdates(), await n.actions.initializeGameSettings(), null
} catch (n) {
return window.launcherAPI.log.error(`[Loader] Not able to load game layout : ${n}`), null
} finally {
uU.getState().status.actions.checkStatus()
}
}
}]
}, {
element: (0, OL.jsx)(XU, {}), path: eB.SETTINGS, children: [{
index: !0, loader: async () => {
throw cj(eB.SETTINGS_APPLICATION)
}
}, {path: eB.SETTINGS_APPLICATION, element: (0, OL.jsx)(yU, {})}, {
path: eB.SETTINGS_ACCESSIBILITY,
element: (0, OL.jsx)(gU, {})
}, {path: eB.SETTINGS_GAMES, element: (0, OL.jsx)(MU, {})}, {
path: eB.SETTINGS_STORAGE,
element: (0, OL.jsx)(FU, {})
}, {path: eB.SETTINGS_DOWNLOAD, element: (0, OL.jsx)(kU, {})}, {
path: eB.SETTINGS_ABOUT,
element: (0, OL.jsx)(pU, {})
}, {path: eB.SETTINGS_DEV, element: (0, OL.jsx)(wU, {})}]
}]
}, {
path: eB.SIGN_IN,
element: (0, OL.jsx)(QU, {}),
loader: async () => {
const e = uU.getState().library, t = uU.getState().application, n = `/game-page/${e.gameSelected}`,
r = `/${eB.OFFLINE}`;
return YF.isLoggedIn() ? cj(n) : t.actions.isOffline() ? cj(r) : null
},
children: [{index: !0, element: (0, OL.jsx)(zU, {})}, {
path: eB.SIGN_IN_MFA,
element: (0, OL.jsx)(VU, {})
}, {path: eB.SIGN_IN_GAME_PACKAGE_MISSING, element: (0, OL.jsx)(UU, {})}]
}, {path: eB.OFFLINE, element: (0, OL.jsx)(HU, {})}]
}]), nB = () => (0, OL.jsx)(EV, {router: tB, fallbackElement: (0, OL.jsx)(Xz, {})}), rB = e => {
e && e instanceof Function && n.e(496).then(n.bind(n, 1496)).then((({
getCLS: t,
getFID: n,
getFCP: r,
getLCP: a,
getTTFB: i
}) => {
t(e), n(e), r(e), a(e), i(e)
}))
};
var aB;
!function (e = {}, t = i_) {
window?.__SENTRY__RENDERER_INIT__ ? Om.warn("The browser SDK has already been initialized.\nIf init has been called in the preload and contextIsolation is disabled, is not required to call init in the renderer") : (window.__SENTRY__RENDERER_INIT__ = !0, e.sendClientReports = !1, void 0 === e.defaultIntegrations && (e.defaultIntegrations = [...r_().filter((e => "BrowserSession" !== e.name)), hg()]), void 0 === e.stackParser && (e.stackParser = h_), void 0 === e.dsn && (e.dsn = "https://12345@dummy.dsn/12345"), void 0 === e.transport && (e.transport = Ig), e.anrDetection && function (e) {
const t = {pollInterval: 1e3, anrThreshold: 5e3, captureStackTrace: !1, ...e}, n = pg();
n.sendStatus({status: document.visibilityState, config: t}), setInterval((() => {
n.sendStatus({status: "alive", config: t})
}), t.pollInterval)
}(!0 === e.anrDetection ? {} : e.anrDetection), delete e.initialScope, t(e))
}({
integrations: [((e = {}) => {
Jl && Kt((() => {
console.warn("Multiple browserTracingIntegration instances are not supported.")
})), Jl = !0;
const t = _l.document;
Oa || (Oa = !0, ka(Pa), Ia(Pa));
const {
enableInp: n,
enableLongTask: r,
enableLongAnimationFrame: a,
_experiments: {enableInteractions: i, enableStandaloneClsSpans: o},
beforeStartSpan: s,
idleTimeout: l,
finalTimeout: c,
childSpanTimeout: u,
markBackgroundSpan: d,
traceFetch: p,
traceXHR: h,
trackFetchStreamPerformance: f,
shouldCreateSpanForRequest: m,
enableHTTPTimings: g,
instrumentPageLoad: v,
instrumentNavigation: _,
linkPreviousTrace: y,
consistentTraceSampling: b,
onRequestSpanStart: x
} = {...Xl, ...e}, w = Ds({recordClsStandaloneSpans: o || !1});
n && Fs(), a && kt.PerformanceObserver && PerformanceObserver.supportedEntryTypes && PerformanceObserver.supportedEntryTypes.includes("long-animation-frame") ? new PerformanceObserver((e => {
const t = ji();
if (t) for (const n of e.getEntries()) {
if (!n.scripts[0]) continue;
const e = Es(La() + n.startTime), {start_timestamp: r, op: a} = Oi(t);
if ("navigation" === a && r && e < r) continue;
const i = Es(n.duration), o = {[_i]: "auto.ui.browser.metrics"}, s = n.scripts[0], {
invoker: l,
invokerType: c,
sourceURL: u,
sourceFunctionName: d,
sourceCharPosition: p
} = s;
o["browser.script.invoker"] = l, o["browser.script.invoker_type"] = c, u && (o["code.filepath"] = u), d && (o["code.function"] = d), -1 !== p && (o["browser.script.source_char_position"] = p), ws(t, e, e + i, {
name: "Main UI thread blocked",
op: "ui.long-animation-frame",
attributes: o
})
}
})).observe({type: "long-animation-frame", buffered: !0}) : r && Mo("longtask", (({entries: e}) => {
const t = ji();
if (!t) return;
const {op: n, start_timestamp: r} = Oi(t);
for (const a of e) {
const e = Es(La() + a.startTime), i = Es(a.duration);
"navigation" === n && r && e < r || ws(t, e, e + i, {
name: "Main UI thread blocked",
op: "ui.long-task",
attributes: {[_i]: "auto.ui.browser.metrics"}
})
}
})), i && Mo("event", (({entries: e}) => {
const t = ji();
if (t) for (const n of e) if ("click" === n.name) {
const e = Es(La() + n.startTime), r = Es(n.duration), a = {
name: Mi(n.target),
op: `ui.interaction.${n.name}`,
startTime: e,
attributes: {[_i]: "auto.ui.browser.metrics"}
}, i = zi(n.target);
i && (a.attributes["ui.component_name"] = i), ws(t, e, e + r, a)
}
}));
const k = {name: void 0, source: void 0};
function S(e, n) {
const r = "pageload" === n.op, a = s ? s(n) : n, i = a.attributes || {};
n.name !== a.name && (i[Fn] = "custom", a.attributes = i), k.name = a.name, k.source = i[Fn];
const d = ga(a, {
idleTimeout: l,
finalTimeout: c,
childSpanTimeout: u,
disableAutoFinish: r,
beforeSpanEnd: t => {
w(), Rs(t, {recordClsOnPageloadSpan: !o}), rc(e, void 0);
const n = Rn(), r = n.getPropagationContext();
n.setPropagationContext({
...r,
traceId: d.spanContext().traceId,
sampled: mr(d),
dsc: Pr(t)
})
}
});
function p() {
t && ["interactive", "complete"].includes(t.readyState) && e.emit("idleSpanEnableAutoFinish", d)
}
rc(e, d), r && t && (t.addEventListener("readystatechange", (() => {
p()
})), p())
}
return {
name: "BrowserTracing", afterAllSetup(e) {
let t = qt();
function r() {
const t = nc(e);
t && !fr(t).timestamp && (Qs && Yt.log(`[Tracing] Finishing current active span with op: ${fr(t).op}`), t.end())
}
if (e.on("startNavigationSpan", (t => {
Nn() === e && (r(), Ln().setPropagationContext({
traceId: Sn(),
sampleRand: Math.random()
}), Rn().setPropagationContext({
traceId: Sn(),
sampleRand: Math.random()
}), S(e, {op: "navigation", ...t}))
})), e.on("startPageLoadSpan", ((t, n = {}) => {
if (Nn() !== e) return;
r();
const a = or(n.sentryTrace || ec("sentry-trace"), n.baggage || ec("baggage"));
Rn().setPropagationContext(a), S(e, {op: "pageload", ...t})
})), "off" !== y && Sl(e, {linkPreviousTrace: y, consistentTraceSampling: b}), _l.location) {
if (v) {
const t = vn();
!function (e, t, n) {
e.emit("startPageLoadSpan", t, n), Rn().setTransactionName(t.name), nc(e)
}(e, {
name: _l.location.pathname,
startTime: t ? t / 1e3 : void 0,
attributes: {[Fn]: "url", [Bn]: "auto.pageload.browser"}
})
}
_ && Ks((({to: n, from: r}) => {
void 0 !== r || -1 === t?.indexOf(n) ? r !== n && (t = void 0, function (e, t) {
e.emit("startNavigationSpan", t), Rn().setTransactionName(t.name), nc(e)
}(e, {
name: _l.location.pathname,
attributes: {[Fn]: "url", [Bn]: "auto.navigation.browser"}
})) : t = void 0
}))
}
d && (_l.document ? _l.document.addEventListener("visibilitychange", (() => {
const e = wr();
if (!e) return;
const t = xr(e);
if (_l.document.hidden && t) {
const e = "cancelled", {op: n, status: r} = fr(t);
Qs && Yt.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${n}`), r || t.setStatus({
code: 2,
message: e
}), t.setAttribute("sentry.cancellation_reason", "document.hidden"), t.end()
}
})) : Qs && Yt.warn("[Tracing] Could not set up background tab detection due to lack of global document")), i && function (e, t, n, r, a) {
const i = _l.document;
let o;
const s = () => {
const i = "ui.action.click", s = nc(e);
if (s) {
const e = fr(s).op;
if (["navigation", "pageload"].includes(e)) return void (Qs && Yt.warn(`[Tracing] Did not create ${i} span because a pageload or navigation span is in progress.`))
}
o && (o.setAttribute(Gn, "interactionInterrupted"), o.end(), o = void 0), a.name ? o = ga({
name: a.name,
op: i,
attributes: {[Fn]: a.source || "url"}
}, {
idleTimeout: t,
finalTimeout: n,
childSpanTimeout: r
}) : Qs && Yt.warn(`[Tracing] Did not create ${i} transaction because _latestRouteName is missing.`)
};
i && addEventListener("click", s, {once: !1, capture: !0})
}(e, l, c, u, k), n && function () {
const e = ({entries: e}) => {
const t = ji(), n = t && Li(t);
e.forEach((e => {
if (!function (e) {
return "duration" in e
}(e) || !n) return;
const t = e.interactionId;
if (null != t && !Ms.has(t)) {
if (Ns.length > 10) {
const e = Ns.shift();
Ms.delete(e)
}
Ns.push(t), Ms.set(t, n)
}
}))
};
Mo("event", e), Mo("first-input", e)
}(), Kl(e, {
traceFetch: p,
traceXHR: h,
trackFetchStreamPerformance: f,
tracePropagationTargets: e.getOptions().tracePropagationTargets,
shouldCreateSpanForRequest: m,
enableHTTPTimings: g,
onRequestSpanStart: x
})
}
}
})(), new dm(aB)]
}, (function (e) {
const t = {...e};
var n, r;
return function (e, t, n = [t], r = "npm") {
const a = e._metadata || {};
a.sdk || (a.sdk = {
name: `sentry.javascript.${t}`,
packages: n.map((e => ({name: `${r}:@sentry/${e}`, version: f_}))),
version: f_
}), e._metadata = a
}(t, "react"), n = "react", r = {version: Ee.version}, Ln().setContext(n, r), i_(t)
}));
const iB = Ee.lazy((() => n.e(803).then(n.bind(n, 803)).then((e => ({default: e.ReactQueryDevtools}))))),
oB = () => {
const [e, t] = Ee.useState(!1), {reduceMotion: n} = uU((e => e.settings.appSettings.accessibility));
return (0, Ee.useEffect)((() => {
window.toggleDevtools = () => t((e => !e))
}), []), (async () => {
const e = uU.getState().application, t = uU.getState().library, n = uU.getState().soundSystem,
r = uU.getState().authentication, a = uU.getState().settings, i = uU.getState().installer,
o = uU.getState().status, s = uU.getState().user, l = uU.getState().storage,
c = uU.getState().language;
e.isAppInitialized || (await e.actions.initializeApplication(), await n.actions.initializeSoundContext(), await r.actions.initializeAuthentication(), await s.actions.initialize(), await t.actions.initialize(), await a.actions.initializeApplicationSettings(), await a.actions.initializeGameSettings(), await i.actions.initialize(), await o.actions.initializeStatus(), await l.actions.initialize(), await c.actions.initialize())
})(), (0, OL.jsx)(Ee.StrictMode, {
children: (0, OL.jsx)(E_, {
fallback: (0, OL.jsx)("p", {children: "An error has occurred"}),
children: (0, OL.jsx)(AL, {
children: (0, OL.jsx)(J_.aH, {
client: RF,
children: (0, OL.jsxs)(Zy, {
reduceMotion: null !== n && void 0 !== n ? n : GV.reduceMotion,
children: [(0, OL.jsx)(Hy, {
value: DV,
children: (0, OL.jsx)(X_.Provider, {children: (0, OL.jsx)(nB, {})})
}), (0, OL.jsx)(ey, {initialIsOpen: !0}), e && (0, OL.jsx)(Ee.Suspense, {
fallback: null,
children: (0, OL.jsx)(iB, {})
})]
})
})
})
}, lD())
})
};
I_.createRoot(document.getElementById("root")).render((0, OL.jsx)(oB, {})), rB()
})()
})();
//# sourceMappingURL=main.89a74382.js.map
//# debugId=9156e693-b275-512a-8b5c-3bac4c2805e7