2025-05-31 17:25:34 +08:00

75397 lines
3.6 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.9b8818fa.js.LICENSE.txt */
! function() {
try {
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {},
n = (new e.Error).stack;
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "829ebc77-1fbe-522d-93c7-87bccd79a2b9")
} 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),
i = n(4811);
function a(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, i, a, o) {
this.acceptsBooleans = 2 === t || 3 === t || 4 === t, this.attributeName = r, this.attributeNamespace = i, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = a, 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 y(e) {
return e[1].toUpperCase()
}
function _(e, t, n, r) {
var i = g.hasOwnProperty(t) ? g[t] : null;
(null !== i ? 0 !== i.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, i, r) && (n = null), r || null === i ? 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)) : i.mustUseProperty ? e[i.propertyName] = null === n ? 3 !== i.type && "" : n : (t = i.attributeName, r = i.attributeNamespace, null === n ? e.removeAttribute(t) : (n = 3 === (i = i.type) || 4 === i && !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, y);
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, y);
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, y);
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"),
O = Symbol.for("react.context"),
C = Symbol.for("react.forward_ref"),
A = Symbol.for("react.suspense"),
P = Symbol.for("react.suspense_list"),
T = Symbol.for("react.memo"),
R = Symbol.for("react.lazy");
Symbol.for("react.scope"), Symbol.for("react.debug_trace_mode");
var D = Symbol.for("react.offscreen");
Symbol.for("react.legacy_hidden"), Symbol.for("react.cache"), Symbol.for("react.tracing_marker");
var L = Symbol.iterator;
function N(e) {
return null === e || "object" !== typeof e ? null : "function" === typeof(e = L && e[L] || e["@@iterator"]) ? e : null
}
var j, M = Object.assign;
function F(e) {
if (void 0 === j) try {
throw Error()
} catch (n) {
var t = n.stack.trim().match(/\n( *(at )?)/);
j = t && t[1] || ""
}
return "\n" + j + e
}
var z = !1;
function U(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 i = c.stack.split("\n"), a = r.stack.split("\n"), o = i.length - 1, s = a.length - 1; 1 <= o && 0 <= s && i[o] !== a[s];) s--;
for (; 1 <= o && 0 <= s; o--, s--)
if (i[o] !== a[s]) {
if (1 !== o || 1 !== s)
do {
if (o--, 0 > --s || i[o] !== a[s]) {
var l = "\n" + i[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 V(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 = U(e.type, !1);
case 11:
return e = U(e.type.render, !1);
case 1:
return e = U(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 A:
return "Suspense";
case P:
return "SuspenseList"
}
if ("object" === typeof e) switch (e.$$typeof) {
case O:
return (e.displayName || "Context") + ".Consumer";
case I:
return (e._context.displayName || "Context") + ".Provider";
case C:
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 R:
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 i = n.get,
a = n.set;
return Object.defineProperty(e, t, {
configurable: !0,
get: function() {
return i.call(this)
},
set: function(e) {
r = "" + e, a.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) && _(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 i = 0; i < n.length; i++) t["$" + n[i]] = !0;
for (n = 0; n < e.length; n++) i = t.hasOwnProperty("$" + e[n].value), e[n].selected !== i && (e[n].selected = i), i && r && (e[n].defaultSelected = !0)
} else {
for (n = "" + $(n), t = null, i = 0; i < e.length; i++) {
if (e[i].value === n) return e[i].selected = !0, void(r && (e[i].defaultSelected = !0));
null !== t || e[i].disabled || (t = e[i])
}
null !== t && (t.selected = !0)
}
}
function re(e, t) {
if (null != t.dangerouslySetInnerHTML) throw Error(a(91));
return M({}, t, {
value: void 0,
defaultValue: void 0,
children: "" + e._wrapperState.initialValue
})
}
function ie(e, t) {
var n = t.value;
if (null == n) {
if (n = t.children, t = t.defaultValue, null != n) {
if (null != t) throw Error(a(92));
if (te(n)) {
if (1 < n.length) throw Error(a(93));
n = n[0]
}
t = n
}
null == t && (t = ""), n = t
}
e._wrapperState = {
initialValue: $(n)
}
}
function ae(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("--"),
i = me(n, t[n], r);
"float" === n && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i
}
}
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 ye(e, t) {
if (t) {
if (ve[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) throw Error(a(137, e));
if (null != t.dangerouslySetInnerHTML) {
if (null != t.children) throw Error(a(60));
if ("object" !== typeof t.dangerouslySetInnerHTML || !("__html" in t.dangerouslySetInnerHTML)) throw Error(a(61))
}
if (null != t.style && "object" !== typeof t.style) throw Error(a(62))
}
}
function _e(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 = _i(e)) {
if ("function" !== typeof we) throw Error(a(280));
var t = e.stateNode;
t && (t = xi(t), we(e.stateNode, e.type, t))
}
}
function Ie(e) {
ke ? Se ? Se.push(e) : Se = [e] : ke = e
}
function Oe() {
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 Ce(e, t) {
return e(t)
}
function Ae() {}
var Pe = !1;
function Te(e, t, n) {
if (Pe) return e(t, n);
Pe = !0;
try {
return Ce(e, t, n)
} finally {
Pe = !1, (null !== ke || null !== Se) && (Ae(), Oe())
}
}
function Re(e, t) {
var n = e.stateNode;
if (null === n) return null;
var r = xi(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(a(231, t, typeof n));
return n
}
var De = !1;
if (u) try {
var Le = {};
Object.defineProperty(Le, "passive", {
get: function() {
De = !0
}
}), window.addEventListener("test", Le, Le), window.removeEventListener("test", Le, Le)
} catch (ue) {
De = !1
}
function Ne(e, t, n, r, i, a, o, s, l) {
var c = Array.prototype.slice.call(arguments, 3);
try {
t.apply(n, c)
} catch (u) {
this.onError(u)
}
}
var je = !1,
Me = null,
Fe = !1,
ze = null,
Ue = {
onError: function(e) {
je = !0, Me = e
}
};
function Ve(e, t, n, r, i, a, o, s, l) {
je = !1, Me = null, Ne.apply(Ue, 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(a(188))
}
function qe(e) {
return null !== (e = function(e) {
var t = e.alternate;
if (!t) {
if (null === (t = Be(e))) throw Error(a(188));
return t !== e ? null : e
}
for (var n = e, r = t;;) {
var i = n.return;
if (null === i) break;
var o = i.alternate;
if (null === o) {
if (null !== (r = i.return)) {
n = r;
continue
}
break
}
if (i.child === o.child) {
for (o = i.child; o;) {
if (o === n) return $e(i), e;
if (o === r) return $e(i), t;
o = o.sibling
}
throw Error(a(188))
}
if (n.return !== r.return) n = i, r = o;
else {
for (var s = !1, l = i.child; l;) {
if (l === n) {
s = !0, n = i, r = o;
break
}
if (l === r) {
s = !0, r = i, n = o;
break
}
l = l.sibling
}
if (!s) {
for (l = o.child; l;) {
if (l === n) {
s = !0, n = o, r = i;
break
}
if (l === r) {
s = !0, r = o, n = i;
break
}
l = l.sibling
}
if (!s) throw Error(a(189))
}
}
if (n.alternate !== r) throw Error(a(190))
}
if (3 !== n.tag) throw Error(a(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 = i.unstable_scheduleCallback,
Ke = i.unstable_cancelCallback,
Ye = i.unstable_shouldYield,
Qe = i.unstable_requestPaint,
Ze = i.unstable_now,
Xe = i.unstable_getCurrentPriorityLevel,
Je = i.unstable_ImmediatePriority,
et = i.unstable_UserBlockingPriority,
tt = i.unstable_NormalPriority,
nt = i.unstable_LowPriority,
rt = i.unstable_IdlePriority,
it = null,
at = 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,
i = e.suspendedLanes,
a = e.pingedLanes,
o = 268435455 & n;
if (0 !== o) {
var s = o & ~i;
0 !== s ? r = dt(s) : 0 !== (a &= o) && (r = dt(a))
} else 0 !== (o = n & ~i) ? r = dt(o) : 0 !== a && (r = dt(a));
if (0 === r) return 0;
if (0 !== t && t !== r && 0 === (t & i) && ((i = r & -r) >= (a = t & -t) || 16 === i && 0 !== (4194240 & a))) return t;
if (0 !== (4 & r) && (r |= 16 & n), 0 !== (t = e.entangledLanes))
for (e = e.entanglements, t &= r; 0 < t;) i = 1 << (n = 31 - ot(t)), r |= e[n], t &= ~i;
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 yt(e, t) {
var n = e.entangledLanes |= t;
for (e = e.entanglements; n;) {
var r = 31 - ot(n),
i = 1 << r;
i & t | e[r] & t && (e[r] |= t), n &= ~i
}
}
var _t = 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,
Ot = [],
Ct = null,
At = null,
Pt = null,
Tt = new Map,
Rt = new Map,
Dt = [],
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 Nt(e, t) {
switch (e) {
case "focusin":
case "focusout":
Ct = null;
break;
case "dragenter":
case "dragleave":
At = null;
break;
case "mouseover":
case "mouseout":
Pt = null;
break;
case "pointerover":
case "pointerout":
Tt.delete(t.pointerId);
break;
case "gotpointercapture":
case "lostpointercapture":
Rt.delete(t.pointerId)
}
}
function jt(e, t, n, r, i, a) {
return null === e || e.nativeEvent !== a ? (e = {
blockedOn: t,
domEventName: n,
eventSystemFlags: r,
nativeEvent: a,
targetContainers: [i]
}, null !== t && (null !== (t = _i(t)) && wt(t)), e) : (e.eventSystemFlags |= r, t = e.targetContainers, null !== i && -1 === t.indexOf(i) && t.push(i), e)
}
function Mt(e) {
var t = yi(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 = _i(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 Ut() {
It = !1, null !== Ct && Ft(Ct) && (Ct = null), null !== At && Ft(At) && (At = null), null !== Pt && Ft(Pt) && (Pt = null), Tt.forEach(zt), Rt.forEach(zt)
}
function Vt(e, t) {
e.blockedOn === t && (e.blockedOn = null, It || (It = !0, i.unstable_scheduleCallback(i.unstable_NormalPriority, Ut)))
}
function Bt(e) {
function t(t) {
return Vt(t, e)
}
if (0 < Ot.length) {
Vt(Ot[0], e);
for (var n = 1; n < Ot.length; n++) {
var r = Ot[n];
r.blockedOn === e && (r.blockedOn = null)
}
}
for (null !== Ct && Vt(Ct, e), null !== At && Vt(At, e), null !== Pt && Vt(Pt, e), Tt.forEach(t), Rt.forEach(t), n = 0; n < Dt.length; n++)(r = Dt[n]).blockedOn === e && (r.blockedOn = null);
for (; 0 < Dt.length && null === (n = Dt[0]).blockedOn;) Mt(n), null === n.blockedOn && Dt.shift()
}
var Gt = b.ReactCurrentBatchConfig,
$t = !0;
function qt(e, t, n, r) {
var i = _t,
a = Gt.transition;
Gt.transition = null;
try {
_t = 1, Ht(e, t, n, r)
} finally {
_t = i, Gt.transition = a
}
}
function Wt(e, t, n, r) {
var i = _t,
a = Gt.transition;
Gt.transition = null;
try {
_t = 4, Ht(e, t, n, r)
} finally {
_t = i, Gt.transition = a
}
}
function Ht(e, t, n, r) {
if ($t) {
var i = Yt(e, t, n, r);
if (null === i) $r(e, t, r, Kt, n), Nt(e, r);
else if (function(e, t, n, r, i) {
switch (t) {
case "focusin":
return Ct = jt(Ct, e, t, n, r, i), !0;
case "dragenter":
return At = jt(At, e, t, n, r, i), !0;
case "mouseover":
return Pt = jt(Pt, e, t, n, r, i), !0;
case "pointerover":
var a = i.pointerId;
return Tt.set(a, jt(Tt.get(a) || null, e, t, n, r, i)), !0;
case "gotpointercapture":
return a = i.pointerId, Rt.set(a, jt(Rt.get(a) || null, e, t, n, r, i)), !0
}
return !1
}(i, e, t, n, r)) r.stopPropagation();
else if (Nt(e, r), 4 & t && -1 < Lt.indexOf(e)) {
for (; null !== i;) {
var a = _i(i);
if (null !== a && xt(a), null === (a = Yt(e, t, n, r)) && $r(e, t, r, Kt, n), a === i) break;
i = a
}
null !== i && r.stopPropagation()
} else $r(e, t, r, null, n)
}
}
var Kt = null;
function Yt(e, t, n, r) {
if (Kt = null, null !== (e = yi(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,
i = "value" in Zt ? Zt.value : Zt.textContent,
a = i.length;
for (e = 0; e < r && n[e] === i[e]; e++);
var o = r - e;
for (t = 1; t <= o && n[r - t] === i[a - t]; t++);
return Jt = i.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, i, a) {
for (var o in this._reactName = t, this._targetInst = r, this.type = n, this.nativeEvent = i, this.target = a, this.currentTarget = null, e) e.hasOwnProperty(o) && (t = e[o], this[o] = t ? t(i) : i[o]);
return this.isDefaultPrevented = (null != i.defaultPrevented ? i.defaultPrevented : !1 === i.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
})),
yn = M({}, cn, {
clipboardData: function(e) {
return "clipboardData" in e ? e.clipboardData : window.clipboardData
}
}),
_n = an(yn),
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
}
}),
On = an(In),
Cn = an(M({}, hn, {
pointerId: 0,
width: 0,
height: 0,
pressure: 0,
tangentialPressure: 0,
tiltX: 0,
tiltY: 0,
twist: 0,
pointerType: 0,
isPrimary: 0
})),
An = an(M({}, dn, {
touches: 0,
targetTouches: 0,
changedTouches: 0,
altKey: 0,
metaKey: 0,
ctrlKey: 0,
shiftKey: 0,
getModifierState: En
})),
Pn = 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
}),
Rn = an(Tn),
Dn = [9, 13, 27, 32],
Ln = u && "CompositionEvent" in window,
Nn = null;
u && "documentMode" in document && (Nn = document.documentMode);
var jn = u && "TextEvent" in window && !Nn,
Mn = u && (!Ln || Nn && 8 < Nn && 11 >= Nn),
Fn = String.fromCharCode(32),
zn = !1;
function Un(e, t) {
switch (e) {
case "keyup":
return -1 !== Dn.indexOf(t.keyCode);
case "keydown":
return 229 !== t.keyCode;
case "keypress":
case "mousedown":
case "focusout":
return !0;
default:
return !1
}
}
function Vn(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(bi(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 ir(e) {
if ("selectionchange" === e || "keyup" === e || "keydown" === e) return Yn(Hn)
}
function ar(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 i = n[r];
if (!d.call(t, i) || !sr(e[i], t[i])) 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 i = n.textContent.length,
a = Math.min(r.start, i);
r = void 0 === r.end ? a : Math.min(r.end, i), !e.extend && a > r && (i = r, r = a, a = i), i = ur(n, a);
var o = ur(n, r);
i && o && (1 !== e.rangeCount || e.anchorNode !== i.node || e.anchorOffset !== i.offset || e.focusNode !== o.node || e.focusOffset !== o.offset) && ((t = t.createRange()).setStart(i.node, i.offset), e.removeAllRanges(), a > 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,
yr = null,
_r = !1;
function br(e, t, n) {
var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument;
_r || 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
}, yr && lr(yr, r) || (yr = 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"),
Or = Er("animationiteration"),
Cr = Er("animationstart"),
Ar = Er("transitionend"),
Pr = 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 Rr(e, t) {
Pr.set(e, t), l(t, [e])
}
for (var Dr = 0; Dr < Tr.length; Dr++) {
var Lr = Tr[Dr];
Rr(Lr.toLowerCase(), "on" + (Lr[0].toUpperCase() + Lr.slice(1)))
}
Rr(Ir, "onAnimationEnd"), Rr(Or, "onAnimationIteration"), Rr(Cr, "onAnimationStart"), Rr("dblclick", "onDoubleClick"), Rr("focusin", "onFocus"), Rr("focusout", "onBlur"), Rr(Ar, "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 Nr = "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(" "),
jr = new Set("cancel close invalid load scroll toggle".split(" ").concat(Nr));
function Mr(e, t, n) {
var r = e.type || "unknown-event";
e.currentTarget = n,
function(e, t, n, r, i, o, s, l, c) {
if (Ve.apply(this, arguments), je) {
if (!je) throw Error(a(198));
var u = Me;
je = !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],
i = r.event;
r = r.listeners;
e: {
var a = 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 !== a && i.isPropagationStopped()) break e;
Mr(i, s, c), a = l
} else
for (o = 0; o < r.length; o++) {
if (l = (s = r[o]).instance, c = s.currentTarget, s = s.listener, l !== a && i.isPropagationStopped()) break e;
Mr(i, s, c), a = l
}
}
}
if (Fe) throw e = ze, Fe = !1, ze = null, e
}
function zr(e, t) {
var n = t[mi];
void 0 === n && (n = t[mi] = new Set);
var r = e + "__bubble";
n.has(r) || (Gr(t, e, 2, !1), n.add(r))
}
function Ur(e, t, n) {
var r = 0;
t && (r |= 4), Gr(n, e, r, t)
}
var Vr = "_reactListening" + Math.random().toString(36).slice(2);
function Br(e) {
if (!e[Vr]) {
e[Vr] = !0, o.forEach((function(t) {
"selectionchange" !== t && (jr.has(t) || Ur(t, !1, e), Ur(t, !0, e))
}));
var t = 9 === e.nodeType ? e : e.ownerDocument;
null === t || t[Vr] || (t[Vr] = !0, Ur("selectionchange", !1, t))
}
}
function Gr(e, t, n, r) {
switch (Qt(t)) {
case 1:
var i = qt;
break;
case 4:
i = Wt;
break;
default:
i = Ht
}
n = i.bind(null, t, n, e), i = void 0, !De || "touchstart" !== t && "touchmove" !== t && "wheel" !== t || (i = !0), r ? void 0 !== i ? e.addEventListener(t, n, {
capture: !0,
passive: i
}) : e.addEventListener(t, n, !0) : void 0 !== i ? e.addEventListener(t, n, {
passive: i
}) : e.addEventListener(t, n, !1)
}
function $r(e, t, n, r, i) {
var a = 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 === i || 8 === s.nodeType && s.parentNode === i) break;
if (4 === o)
for (o = r.return; null !== o;) {
var l = o.tag;
if ((3 === l || 4 === l) && ((l = o.stateNode.containerInfo) === i || 8 === l.nodeType && l.parentNode === i)) return;
o = o.return
}
for (; null !== s;) {
if (null === (o = yi(s))) return;
if (5 === (l = o.tag) || 6 === l) {
r = a = o;
continue e
}
s = s.parentNode
}
}
r = r.return
}
Te((function() {
var r = a,
i = xe(n),
o = [];
e: {
var s = Pr.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 = On;
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 = An;
break;
case Ir:
case Or:
case Cr:
l = vn;
break;
case Ar:
l = Pn;
break;
case "scroll":
l = pn;
break;
case "wheel":
l = Rn;
break;
case "copy":
case "cut":
case "paste":
l = _n;
break;
case "gotpointercapture":
case "lostpointercapture":
case "pointercancel":
case "pointerdown":
case "pointermove":
case "pointerout":
case "pointerover":
case "pointerup":
l = Cn
}
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 = Re(f, p)) && u.push(qr(f, m, h)))), d) break;
f = f.return
}
0 < u.length && (s = new l(s, c, null, n, i), 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) || !yi(c) && !c[fi]) && (l || s) && (s = i.window === i ? i : (s = i.ownerDocument) ? s.defaultView || s.parentWindow : window, l ? (l = r, null !== (c = (c = n.relatedTarget || n.toElement) ? yi(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 = Cn, m = "onPointerLeave", p = "onPointerEnter", f = "pointer"), d = null == l ? s : bi(l), h = null == c ? s : bi(c), (s = new u(m, f + "leave", l, n, i)).target = d, s.relatedTarget = h, m = null, yi(i) === r && ((u = new u(p, f + "enter", c, n, i)).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 ? bi(r) : window).nodeName && s.nodeName.toLowerCase()) || "input" === l && "file" === s.type) var g = Qn;
else if ($n(s))
if (Zn) g = or;
else {
g = ir;
var v = rr
}
else(l = s.nodeName) && "input" === l.toLowerCase() && ("checkbox" === s.type || "radio" === s.type) && (g = ar);
switch (g && (g = g(e, r)) ? qn(o, g, n, i) : (v && v(e, s, r), "focusout" === e && (v = s._wrapperState) && v.controlled && "number" === s.type && ee(s, "number", s.value)), v = r ? bi(r) : window, e) {
case "focusin":
($n(v) || "true" === v.contentEditable) && (gr = v, vr = r, yr = null);
break;
case "focusout":
yr = vr = gr = null;
break;
case "mousedown":
_r = !0;
break;
case "contextmenu":
case "mouseup":
case "dragend":
_r = !1, br(o, n, i);
break;
case "selectionchange":
if (mr) break;
case "keydown":
case "keyup":
br(o, n, i)
}
var y;
if (Ln) e: {
switch (e) {
case "compositionstart":
var _ = "onCompositionStart";
break e;
case "compositionend":
_ = "onCompositionEnd";
break e;
case "compositionupdate":
_ = "onCompositionUpdate";
break e
}
_ = void 0
}
else Bn ? Un(e, n) && (_ = "onCompositionEnd") : "keydown" === e && 229 === n.keyCode && (_ = "onCompositionStart");
_ && (Mn && "ko" !== n.locale && (Bn || "onCompositionStart" !== _ ? "onCompositionEnd" === _ && Bn && (y = en()) : (Xt = "value" in (Zt = i) ? Zt.value : Zt.textContent, Bn = !0)), 0 < (v = Wr(r, _)).length && (_ = new bn(_, e, null, n, i), o.push({
event: _,
listeners: v
}), y ? _.data = y : null !== (y = Vn(n)) && (_.data = y))), (y = jn ? function(e, t) {
switch (e) {
case "compositionend":
return Vn(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 && Un(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 && (i = new bn("onBeforeInput", "beforeinput", null, n, i), o.push({
event: i,
listeners: r
}), i.data = y))
}
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 i = e,
a = i.stateNode;
5 === i.tag && null !== a && (i = a, null != (a = Re(e, n)) && r.unshift(qr(e, a, i)), null != (a = Re(e, t)) && r.push(qr(e, a, i))), 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, i) {
for (var a = 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, i ? null != (l = Re(n, a)) && o.unshift(qr(n, l, s)) : i || null != (l = Re(n, a)) && 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(a(425))
}
function Jr() {}
var ei = null,
ti = null;
function ni(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 ri = "function" === typeof setTimeout ? setTimeout : void 0,
ii = "function" === typeof clearTimeout ? clearTimeout : void 0,
ai = "function" === typeof Promise ? Promise : void 0,
oi = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof ai ? function(e) {
return ai.resolve(null).then(e).catch(si)
} : ri;
function si(e) {
setTimeout((function() {
throw e
}))
}
function li(e, t) {
var n = t,
r = 0;
do {
var i = n.nextSibling;
if (e.removeChild(n), i && 8 === i.nodeType)
if ("/$" === (n = i.data)) {
if (0 === r) return e.removeChild(i), void Bt(t);
r--
} else "$" !== n && "$?" !== n && "$!" !== n || r++;
n = i
} while (n);
Bt(t)
}
function ci(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 ui(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 di = Math.random().toString(36).slice(2),
pi = "__reactFiber$" + di,
hi = "__reactProps$" + di,
fi = "__reactContainer$" + di,
mi = "__reactEvents$" + di,
gi = "__reactListeners$" + di,
vi = "__reactHandles$" + di;
function yi(e) {
var t = e[pi];
if (t) return t;
for (var n = e.parentNode; n;) {
if (t = n[fi] || n[pi]) {
if (n = t.alternate, null !== t.child || null !== n && null !== n.child)
for (e = ui(e); null !== e;) {
if (n = e[pi]) return n;
e = ui(e)
}
return t
}
n = (e = n).parentNode
}
return null
}
function _i(e) {
return !(e = e[pi] || e[fi]) || 5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag ? null : e
}
function bi(e) {
if (5 === e.tag || 6 === e.tag) return e.stateNode;
throw Error(a(33))
}
function xi(e) {
return e[hi] || null
}
var wi = [],
ki = -1;
function Si(e) {
return {
current: e
}
}
function Ei(e) {
0 > ki || (e.current = wi[ki], wi[ki] = null, ki--)
}
function Ii(e, t) {
ki++, wi[ki] = e.current, e.current = t
}
var Oi = {},
Ci = Si(Oi),
Ai = Si(!1),
Pi = Oi;
function Ti(e, t) {
var n = e.type.contextTypes;
if (!n) return Oi;
var r = e.stateNode;
if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext;
var i, a = {};
for (i in n) a[i] = t[i];
return r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = a), a
}
function Ri(e) {
return null !== (e = e.childContextTypes) && void 0 !== e
}
function Di() {
Ei(Ai), Ei(Ci)
}
function Li(e, t, n) {
if (Ci.current !== Oi) throw Error(a(168));
Ii(Ci, t), Ii(Ai, n)
}
function Ni(e, t, n) {
var r = e.stateNode;
if (t = t.childContextTypes, "function" !== typeof r.getChildContext) return n;
for (var i in r = r.getChildContext())
if (!(i in t)) throw Error(a(108, G(e) || "Unknown", i));
return M({}, n, r)
}
function ji(e) {
return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || Oi, Pi = Ci.current, Ii(Ci, e), Ii(Ai, Ai.current), !0
}
function Mi(e, t, n) {
var r = e.stateNode;
if (!r) throw Error(a(169));
n ? (e = Ni(e, t, Pi), r.__reactInternalMemoizedMergedChildContext = e, Ei(Ai), Ei(Ci), Ii(Ci, e)) : Ei(Ai), Ii(Ai, n)
}
var Fi = null,
zi = !1,
Ui = !1;
function Vi(e) {
null === Fi ? Fi = [e] : Fi.push(e)
}
function Bi() {
if (!Ui && null !== Fi) {
Ui = !0;
var e = 0,
t = _t;
try {
var n = Fi;
for (_t = 1; e < n.length; e++) {
var r = n[e];
do {
r = r(!0)
} while (null !== r)
}
Fi = null, zi = !1
} catch (i) {
throw null !== Fi && (Fi = Fi.slice(e + 1)), He(Je, Bi), i
} finally {
_t = t, Ui = !1
}
}
return null
}
var Gi = [],
$i = 0,
qi = null,
Wi = 0,
Hi = [],
Ki = 0,
Yi = null,
Qi = 1,
Zi = "";
function Xi(e, t) {
Gi[$i++] = Wi, Gi[$i++] = qi, qi = e, Wi = t
}
function Ji(e, t, n) {
Hi[Ki++] = Qi, Hi[Ki++] = Zi, Hi[Ki++] = Yi, Yi = e;
var r = Qi;
e = Zi;
var i = 32 - ot(r) - 1;
r &= ~(1 << i), n += 1;
var a = 32 - ot(t) + i;
if (30 < a) {
var o = i - i % 5;
a = (r & (1 << o) - 1).toString(32), r >>= o, i -= o, Qi = 1 << 32 - ot(t) + i | n << i | r, Zi = a + e
} else Qi = 1 << a | n << i | r, Zi = e
}
function ea(e) {
null !== e.return && (Xi(e, 1), Ji(e, 1, 0))
}
function ta(e) {
for (; e === qi;) qi = Gi[--$i], Gi[$i] = null, Wi = Gi[--$i], Gi[$i] = null;
for (; e === Yi;) Yi = Hi[--Ki], Hi[Ki] = null, Zi = Hi[--Ki], Hi[Ki] = null, Qi = Hi[--Ki], Hi[Ki] = null
}
var na = null,
ra = null,
ia = !1,
aa = null;
function oa(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 sa(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, na = e, ra = ci(t.firstChild), !0);
case 6:
return null !== (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && (e.stateNode = t, na = e, ra = null, !0);
case 13:
return null !== (t = 8 !== t.nodeType ? null : t) && (n = null !== Yi ? {
id: Qi,
overflow: Zi
} : null, e.memoizedState = {
dehydrated: t,
treeContext: n,
retryLane: 1073741824
}, (n = Tc(18, null, null, 0)).stateNode = t, n.return = e, e.child = n, na = e, ra = null, !0);
default:
return !1
}
}
function la(e) {
return 0 !== (1 & e.mode) && 0 === (128 & e.flags)
}
function ca(e) {
if (ia) {
var t = ra;
if (t) {
var n = t;
if (!sa(e, t)) {
if (la(e)) throw Error(a(418));
t = ci(n.nextSibling);
var r = na;
t && sa(e, t) ? oa(r, n) : (e.flags = -4097 & e.flags | 2, ia = !1, na = e)
}
} else {
if (la(e)) throw Error(a(418));
e.flags = -4097 & e.flags | 2, ia = !1, na = e
}
}
}
function ua(e) {
for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag;) e = e.return;
na = e
}
function da(e) {
if (e !== na) return !1;
if (!ia) return ua(e), ia = !0, !1;
var t;
if ((t = 3 !== e.tag) && !(t = 5 !== e.tag) && (t = "head" !== (t = e.type) && "body" !== t && !ni(e.type, e.memoizedProps)), t && (t = ra)) {
if (la(e)) throw pa(), Error(a(418));
for (; t;) oa(e, t), t = ci(t.nextSibling)
}
if (ua(e), 13 === e.tag) {
if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(a(317));
e: {
for (e = e.nextSibling, t = 0; e;) {
if (8 === e.nodeType) {
var n = e.data;
if ("/$" === n) {
if (0 === t) {
ra = ci(e.nextSibling);
break e
}
t--
} else "$" !== n && "$!" !== n && "$?" !== n || t++
}
e = e.nextSibling
}
ra = null
}
} else ra = na ? ci(e.stateNode.nextSibling) : null;
return !0
}
function pa() {
for (var e = ra; e;) e = ci(e.nextSibling)
}
function ha() {
ra = na = null, ia = !1
}
function fa(e) {
null === aa ? aa = [e] : aa.push(e)
}
var ma = b.ReactCurrentBatchConfig;
function ga(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 va = Si(null),
ya = null,
_a = null,
ba = null;
function xa() {
ba = _a = ya = null
}
function wa(e) {
var t = va.current;
Ei(va), e._currentValue = t
}
function ka(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 Sa(e, t) {
ya = e, ba = _a = null, null !== (e = e.dependencies) && null !== e.firstContext && (0 !== (e.lanes & t) && (bs = !0), e.firstContext = null)
}
function Ea(e) {
var t = e._currentValue;
if (ba !== e)
if (e = {
context: e,
memoizedValue: t,
next: null
}, null === _a) {
if (null === ya) throw Error(a(308));
_a = e, ya.dependencies = {
lanes: 0,
firstContext: e
}
} else _a = _a.next = e;
return t
}
var Ia = null;
function Oa(e) {
null === Ia ? Ia = [e] : Ia.push(e)
}
function Ca(e, t, n, r) {
var i = t.interleaved;
return null === i ? (n.next = n, Oa(t)) : (n.next = i.next, i.next = n), t.interleaved = n, Aa(e, r)
}
function Aa(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 Pa = !1;
function Ta(e) {
e.updateQueue = {
baseState: e.memoizedState,
firstBaseUpdate: null,
lastBaseUpdate: null,
shared: {
pending: null,
interleaved: null,
lanes: 0
},
effects: null
}
}
function Ra(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 Da(e, t) {
return {
eventTime: e,
lane: t,
tag: 0,
payload: null,
callback: null,
next: null
}
}
function La(e, t, n) {
var r = e.updateQueue;
if (null === r) return null;
if (r = r.shared, 0 !== (2 & Cl)) {
var i = r.pending;
return null === i ? t.next = t : (t.next = i.next, i.next = t), r.pending = t, Aa(e, n)
}
return null === (i = r.interleaved) ? (t.next = t, Oa(r)) : (t.next = i.next, i.next = t), r.interleaved = t, Aa(e, n)
}
function Na(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, yt(e, n)
}
}
function ja(e, t) {
var n = e.updateQueue,
r = e.alternate;
if (null !== r && n === (r = r.updateQueue)) {
var i = null,
a = 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 === a ? i = a = o : a = a.next = o, n = n.next
} while (null !== n);
null === a ? i = a = t : a = a.next = t
} else i = a = t;
return n = {
baseState: r.baseState,
firstBaseUpdate: i,
lastBaseUpdate: a,
shared: r.shared,
effects: r.effects
}, void(e.updateQueue = n)
}
null === (e = n.lastBaseUpdate) ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t
}
function Ma(e, t, n, r) {
var i = e.updateQueue;
Pa = !1;
var a = i.firstBaseUpdate,
o = i.lastBaseUpdate,
s = i.shared.pending;
if (null !== s) {
i.shared.pending = null;
var l = s,
c = l.next;
l.next = null, null === o ? a = 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 !== a) {
var d = i.baseState;
for (o = 0, u = c = l = null, s = a;;) {
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:
Pa = !0
}
}
null !== s.callback && 0 !== s.lane && (e.flags |= 64, null === (p = i.effects) ? i.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 = i.shared.pending)) break;
s = (p = s).next, p.next = null, i.lastBaseUpdate = p, i.shared.pending = null
}
}
if (null === u && (l = d), i.baseState = l, i.firstBaseUpdate = c, i.lastBaseUpdate = u, null !== (t = i.shared.interleaved)) {
i = t;
do {
o |= i.lane, i = i.next
} while (i !== t)
} else null === a && (i.shared.lanes = 0);
jl |= o, e.lanes = o, e.memoizedState = d
}
}
function Fa(e, t, n) {
if (e = t.effects, t.effects = null, null !== e)
for (t = 0; t < e.length; t++) {
var r = e[t],
i = r.callback;
if (null !== i) {
if (r.callback = null, r = n, "function" !== typeof i) throw Error(a(191, i));
i.call(r)
}
}
}
var za = (new r.Component).refs;
function Ua(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 Va = {
isMounted: function(e) {
return !!(e = e._reactInternals) && Be(e) === e
},
enqueueSetState: function(e, t, n) {
e = e._reactInternals;
var r = ec(),
i = tc(e),
a = Da(r, i);
a.payload = t, void 0 !== n && null !== n && (a.callback = n), null !== (t = La(e, a, i)) && (nc(t, e, i, r), Na(t, e, i))
},
enqueueReplaceState: function(e, t, n) {
e = e._reactInternals;
var r = ec(),
i = tc(e),
a = Da(r, i);
a.tag = 1, a.payload = t, void 0 !== n && null !== n && (a.callback = n), null !== (t = La(e, a, i)) && (nc(t, e, i, r), Na(t, e, i))
},
enqueueForceUpdate: function(e, t) {
e = e._reactInternals;
var n = ec(),
r = tc(e),
i = Da(n, r);
i.tag = 2, void 0 !== t && null !== t && (i.callback = t), null !== (t = La(e, i, r)) && (nc(t, e, r, n), Na(t, e, r))
}
};
function Ba(e, t, n, r, i, a, o) {
return "function" === typeof(e = e.stateNode).shouldComponentUpdate ? e.shouldComponentUpdate(r, a, o) : !t.prototype || !t.prototype.isPureReactComponent || (!lr(n, r) || !lr(i, a))
}
function Ga(e, t, n) {
var r = !1,
i = Oi,
a = t.contextType;
return "object" === typeof a && null !== a ? a = Ea(a) : (i = Ri(t) ? Pi : Ci.current, a = (r = null !== (r = t.contextTypes) && void 0 !== r) ? Ti(e, i) : Oi), t = new t(n, a), e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null, t.updater = Va, e.stateNode = t, t._reactInternals = e, r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = a), t
}
function $a(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 && Va.enqueueReplaceState(t, t.state, null)
}
function qa(e, t, n, r) {
var i = e.stateNode;
i.props = n, i.state = e.memoizedState, i.refs = za, Ta(e);
var a = t.contextType;
"object" === typeof a && null !== a ? i.context = Ea(a) : (a = Ri(t) ? Pi : Ci.current, i.context = Ti(e, a)), i.state = e.memoizedState, "function" === typeof(a = t.getDerivedStateFromProps) && (Ua(e, t, a, n), i.state = e.memoizedState), "function" === typeof t.getDerivedStateFromProps || "function" === typeof i.getSnapshotBeforeUpdate || "function" !== typeof i.UNSAFE_componentWillMount && "function" !== typeof i.componentWillMount || (t = i.state, "function" === typeof i.componentWillMount && i.componentWillMount(), "function" === typeof i.UNSAFE_componentWillMount && i.UNSAFE_componentWillMount(), t !== i.state && Va.enqueueReplaceState(i, i.state, null), Ma(e, n, i, r), i.state = e.memoizedState), "function" === typeof i.componentDidMount && (e.flags |= 4194308)
}
function Wa(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(a(309));
var r = n.stateNode
}
if (!r) throw Error(a(147, e));
var i = r,
o = "" + e;
return null !== t && null !== t.ref && "function" === typeof t.ref && t.ref._stringRef === o ? t.ref : (t = function(e) {
var t = i.refs;
t === za && (t = i.refs = {}), null === e ? delete t[o] : t[o] = e
}, t._stringRef = o, t)
}
if ("string" !== typeof e) throw Error(a(284));
if (!n._owner) throw Error(a(290, e))
}
return e
}
function Ha(e, t) {
throw e = Object.prototype.toString.call(t), Error(a(31, "[object Object]" === e ? "object with keys {" + Object.keys(t).join(", ") + "}" : e))
}
function Ka(e) {
return (0, e._init)(e._payload)
}
function Ya(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 i(e, t) {
return (e = Dc(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 = i(t, n)).return = e, t)
}
function c(e, t, n, r) {
var a = n.type;
return a === k ? d(e, t, n.props.children, r, n.key) : null !== t && (t.elementType === a || "object" === typeof a && null !== a && a.$$typeof === R && Ka(a) === t.type) ? ((r = i(t, n.props)).ref = Wa(e, t, n), r.return = e, r) : ((r = Lc(n.type, n.key, n.props, null, e.mode, r)).ref = Wa(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 = i(t, n.children || [])).return = e, t)
}
function d(e, t, n, r, a) {
return null === t || 7 !== t.tag ? ((t = Nc(n, e.mode, r, a)).return = e, t) : ((t = i(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 = Wa(e, null, t), n.return = e, n;
case w:
return (t = Fc(t, e.mode, n)).return = e, t;
case R:
return p(e, (0, t._init)(t._payload), n)
}
if (te(t) || N(t)) return (t = Nc(t, e.mode, n, null)).return = e, t;
Ha(e, t)
}
return null
}
function h(e, t, n, r) {
var i = null !== t ? t.key : null;
if ("string" === typeof n && "" !== n || "number" === typeof n) return null !== i ? null : l(e, t, "" + n, r);
if ("object" === typeof n && null !== n) {
switch (n.$$typeof) {
case x:
return n.key === i ? c(e, t, n, r) : null;
case w:
return n.key === i ? u(e, t, n, r) : null;
case R:
return h(e, t, (i = n._init)(n._payload), r)
}
if (te(n) || N(n)) return null !== i ? null : d(e, t, n, r, null);
Ha(e, n)
}
return null
}
function f(e, t, n, r, i) {
if ("string" === typeof r && "" !== r || "number" === typeof r) return l(t, e = e.get(n) || null, "" + r, i);
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, i);
case w:
return u(t, e = e.get(null === r.key ? n : r.key) || null, r, i);
case R:
return f(e, t, n, (0, r._init)(r._payload), i)
}
if (te(r) || N(r)) return d(t, e = e.get(n) || null, r, i, null);
Ha(t, r)
}
return null
}
function m(i, a, s, l) {
for (var c = null, u = null, d = a, m = a = 0, g = null; null !== d && m < s.length; m++) {
d.index > m ? (g = d, d = null) : g = d.sibling;
var v = h(i, d, s[m], l);
if (null === v) {
null === d && (d = g);
break
}
e && d && null === v.alternate && t(i, d), a = o(v, a, m), null === u ? c = v : u.sibling = v, u = v, d = g
}
if (m === s.length) return n(i, d), ia && Xi(i, m), c;
if (null === d) {
for (; m < s.length; m++) null !== (d = p(i, s[m], l)) && (a = o(d, a, m), null === u ? c = d : u.sibling = d, u = d);
return ia && Xi(i, m), c
}
for (d = r(i, d); m < s.length; m++) null !== (g = f(d, i, m, s[m], l)) && (e && null !== g.alternate && d.delete(null === g.key ? m : g.key), a = o(g, a, m), null === u ? c = g : u.sibling = g, u = g);
return e && d.forEach((function(e) {
return t(i, e)
})), ia && Xi(i, m), c
}
function g(i, s, l, c) {
var u = N(l);
if ("function" !== typeof u) throw Error(a(150));
if (null == (l = u.call(l))) throw Error(a(151));
for (var d = u = null, m = s, g = s = 0, v = null, y = l.next(); null !== m && !y.done; g++, y = l.next()) {
m.index > g ? (v = m, m = null) : v = m.sibling;
var _ = h(i, m, y.value, c);
if (null === _) {
null === m && (m = v);
break
}
e && m && null === _.alternate && t(i, m), s = o(_, s, g), null === d ? u = _ : d.sibling = _, d = _, m = v
}
if (y.done) return n(i, m), ia && Xi(i, g), u;
if (null === m) {
for (; !y.done; g++, y = l.next()) null !== (y = p(i, y.value, c)) && (s = o(y, s, g), null === d ? u = y : d.sibling = y, d = y);
return ia && Xi(i, g), u
}
for (m = r(i, m); !y.done; g++, y = l.next()) null !== (y = f(m, i, g, y.value, c)) && (e && null !== y.alternate && m.delete(null === y.key ? g : y.key), s = o(y, s, g), null === d ? u = y : d.sibling = y, d = y);
return e && m.forEach((function(e) {
return t(i, e)
})), ia && Xi(i, g), u
}
return function e(r, a, 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 = a; null !== u;) {
if (u.key === c) {
if ((c = o.type) === k) {
if (7 === u.tag) {
n(r, u.sibling), (a = i(u, o.props.children)).return = r, r = a;
break e
}
} else if (u.elementType === c || "object" === typeof c && null !== c && c.$$typeof === R && Ka(c) === u.type) {
n(r, u.sibling), (a = i(u, o.props)).ref = Wa(r, u, o), a.return = r, r = a;
break e
}
n(r, u);
break
}
t(r, u), u = u.sibling
}
o.type === k ? ((a = Nc(o.props.children, r.mode, l, o.key)).return = r, r = a) : ((l = Lc(o.type, o.key, o.props, null, r.mode, l)).ref = Wa(r, a, o), l.return = r, r = l)
}
return s(r);
case w:
e: {
for (u = o.key; null !== a;) {
if (a.key === u) {
if (4 === a.tag && a.stateNode.containerInfo === o.containerInfo && a.stateNode.implementation === o.implementation) {
n(r, a.sibling), (a = i(a, o.children || [])).return = r, r = a;
break e
}
n(r, a);
break
}
t(r, a), a = a.sibling
}(a = Fc(o, r.mode, l)).return = r,
r = a
}
return s(r);
case R:
return e(r, a, (u = o._init)(o._payload), l)
}
if (te(o)) return m(r, a, o, l);
if (N(o)) return g(r, a, o, l);
Ha(r, o)
}
return "string" === typeof o && "" !== o || "number" === typeof o ? (o = "" + o, null !== a && 6 === a.tag ? (n(r, a.sibling), (a = i(a, o)).return = r, r = a) : (n(r, a), (a = Mc(o, r.mode, l)).return = r, r = a), s(r)) : n(r, a)
}
}
var Qa = Ya(!0),
Za = Ya(!1),
Xa = {},
Ja = Si(Xa),
eo = Si(Xa),
to = Si(Xa);
function no(e) {
if (e === Xa) throw Error(a(174));
return e
}
function ro(e, t) {
switch (Ii(to, t), Ii(eo, e), Ii(Ja, Xa), 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)
}
Ei(Ja), Ii(Ja, t)
}
function io() {
Ei(Ja), Ei(eo), Ei(to)
}
function ao(e) {
no(to.current);
var t = no(Ja.current),
n = le(t, e.type);
t !== n && (Ii(eo, e), Ii(Ja, n))
}
function oo(e) {
eo.current === e && (Ei(Ja), Ei(eo))
}
var so = Si(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,
yo = !1,
_o = !1,
bo = 0,
xo = 0;
function wo() {
throw Error(a(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, i, 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, i), _o) {
o = 0;
do {
if (_o = !1, bo = 0, 25 <= o) throw Error(a(301));
o += 1, vo = go = null, t.updateQueue = null, po.current = cs, e = n(r, i)
} while (_o)
}
if (po.current = os, t = null !== go && null !== go.next, fo = 0, vo = go = mo = null, yo = !1, t) throw Error(a(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 Oo() {
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(a(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 Co(e, t) {
return "function" === typeof t ? t(e) : t
}
function Ao(e) {
var t = Oo(),
n = t.queue;
if (null === n) throw Error(a(311));
n.lastRenderedReducer = e;
var r = go,
i = r.baseQueue,
o = n.pending;
if (null !== o) {
if (null !== i) {
var s = i.next;
i.next = o.next, o.next = s
}
r.baseQueue = i = o, n.pending = null
}
if (null !== i) {
o = i.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, jl |= 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)) {
i = e;
do {
o = i.lane, mo.lanes |= o, jl |= o, i = i.next
} while (i !== e)
} else null === i && (n.lanes = 0);
return [t.memoizedState, n.dispatch]
}
function Po(e) {
var t = Oo(),
n = t.queue;
if (null === n) throw Error(a(311));
n.lastRenderedReducer = e;
var r = n.dispatch,
i = n.pending,
o = t.memoizedState;
if (null !== i) {
n.pending = null;
var s = i = i.next;
do {
o = e(o, s.action), s = s.next
} while (s !== i);
sr(o, t.memoizedState) || (bs = !0), t.memoizedState = o, null === t.baseQueue && (t.baseState = o), n.lastRenderedState = o
}
return [o, r]
}
function To() {}
function Ro(e, t) {
var n = mo,
r = Oo(),
i = t(),
o = !sr(r.memoizedState, i);
if (o && (r.memoizedState = i, bs = !0), r = r.queue, $o(No.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, i, t), void 0, null), null === Al) throw Error(a(349));
0 !== (30 & fo) || Do(n, t, i)
}
return i
}
function Do(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, jo(t) && Mo(e)
}
function No(e, t, n) {
return n((function() {
jo(t) && Mo(e)
}))
}
function jo(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 = Aa(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: Co,
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 Uo() {
return Oo().memoizedState
}
function Vo(e, t, n, r) {
var i = Io();
mo.flags |= e, i.memoizedState = zo(1 | t, n, void 0, void 0 === r ? null : r)
}
function Bo(e, t, n, r) {
var i = Oo();
r = void 0 === r ? null : r;
var a = void 0;
if (null !== go) {
var o = go.memoizedState;
if (a = o.destroy, null !== r && ko(r, o.deps)) return void(i.memoizedState = zo(t, n, a, r))
}
mo.flags |= e, i.memoizedState = zo(1 | t, n, a, r)
}
function Go(e, t) {
return Vo(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 = Oo();
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 = Oo();
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, jl |= n, e.baseState = !0), t)
}
function Jo(e, t) {
var n = _t;
_t = 0 !== n && 4 > n ? n : 4, e(!0);
var r = ho.transition;
ho.transition = {};
try {
e(!1), t()
} finally {
_t = n, ho.transition = r
}
}
function es() {
return Oo().memoizedState
}
function ts(e, t, n) {
var r = tc(e);
if (n = {
lane: r,
action: n,
hasEagerState: !1,
eagerState: null,
next: null
}, rs(e)) is(t, n);
else if (null !== (n = Ca(e, t, n, r))) {
nc(n, e, r, ec()), as(n, t, r)
}
}
function ns(e, t, n) {
var r = tc(e),
i = {
lane: r,
action: n,
hasEagerState: !1,
eagerState: null,
next: null
};
if (rs(e)) is(t, i);
else {
var a = e.alternate;
if (0 === e.lanes && (null === a || 0 === a.lanes) && null !== (a = t.lastRenderedReducer)) try {
var o = t.lastRenderedState,
s = a(o, n);
if (i.hasEagerState = !0, i.eagerState = s, sr(s, o)) {
var l = t.interleaved;
return null === l ? (i.next = i, Oa(t)) : (i.next = l.next, l.next = i), void(t.interleaved = i)
}
} catch (c) {}
null !== (n = Ca(e, t, i, r)) && (nc(n, e, r, i = ec()), as(n, t, r))
}
}
function rs(e) {
var t = e.alternate;
return e === mo || null !== t && t === mo
}
function is(e, t) {
_o = yo = !0;
var n = e.pending;
null === n ? t.next = t : (t.next = n.next, n.next = t), e.pending = t
}
function as(e, t, n) {
if (0 !== (4194240 & n)) {
var r = t.lanes;
n |= r &= e.pendingLanes, t.lanes = n, yt(e, n)
}
}
var os = {
readContext: Ea,
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: Ea,
useCallback: function(e, t) {
return Io().memoizedState = [e, void 0 === t ? null : t], e
},
useContext: Ea,
useEffect: Go,
useImperativeHandle: function(e, t, n) {
return n = null !== n && void 0 !== n ? n.concat([e]) : null, Vo(4194308, 4, Ho.bind(null, t, e), n)
},
useLayoutEffect: function(e, t) {
return Vo(4194308, 4, e, t)
},
useInsertionEffect: function(e, t) {
return Vo(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,
i = Io();
if (ia) {
if (void 0 === n) throw Error(a(407));
n = n()
} else {
if (n = t(), null === Al) throw Error(a(349));
0 !== (30 & fo) || Do(r, t, n)
}
i.memoizedState = n;
var o = {
value: n,
getSnapshot: t
};
return i.queue = o, Go(No.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 = Al.identifierPrefix;
if (ia) {
var n = Zi;
t = ":" + t + "R" + (n = (Qi & ~(1 << 32 - ot(Qi) - 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: Ea,
useCallback: Qo,
useContext: Ea,
useEffect: $o,
useImperativeHandle: Ko,
useInsertionEffect: qo,
useLayoutEffect: Wo,
useMemo: Zo,
useReducer: Ao,
useRef: Uo,
useState: function() {
return Ao(Co)
},
useDebugValue: Yo,
useDeferredValue: function(e) {
return Xo(Oo(), go.memoizedState, e)
},
useTransition: function() {
return [Ao(Co)[0], Oo().memoizedState]
},
useMutableSource: To,
useSyncExternalStore: Ro,
useId: es,
unstable_isNewReconciler: !1
},
cs = {
readContext: Ea,
useCallback: Qo,
useContext: Ea,
useEffect: $o,
useImperativeHandle: Ko,
useInsertionEffect: qo,
useLayoutEffect: Wo,
useMemo: Zo,
useReducer: Po,
useRef: Uo,
useState: function() {
return Po(Co)
},
useDebugValue: Yo,
useDeferredValue: function(e) {
var t = Oo();
return null === go ? t.memoizedState = e : Xo(t, go.memoizedState, e)
},
useTransition: function() {
return [Po(Co)[0], Oo().memoizedState]
},
useMutableSource: To,
useSyncExternalStore: Ro,
useId: es,
unstable_isNewReconciler: !1
};
function us(e, t) {
try {
var n = "",
r = t;
do {
n += V(r), r = r.return
} while (r);
var i = n
} catch (a) {
i = "\nError generating stack: " + a.message + "\n" + a.stack
}
return {
value: e,
source: t,
stack: i,
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 = Da(-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 = Da(-1, n)).tag = 3;
var r = e.type.getDerivedStateFromError;
if ("function" === typeof r) {
var i = t.value;
n.payload = function() {
return r(i)
}, n.callback = function() {
ps(0, t)
}
}
var a = e.stateNode;
return null !== a && "function" === typeof a.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 i = new Set;
r.set(t, i)
} else void 0 === (i = r.get(t)) && (i = new Set, r.set(t, i));
i.has(n) || (i.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 ys(e, t, n, r, i) {
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 = Da(-1, 1)).tag = 2, La(n, t, 1))), n.lanes |= 1), e) : (e.flags |= 65536, e.lanes = i, e)
}
var _s = b.ReactCurrentOwner,
bs = !1;
function xs(e, t, n, r) {
t.child = null === e ? Za(t, null, n, r) : Qa(t, e.child, n, r)
}
function ws(e, t, n, r, i) {
n = n.render;
var a = t.ref;
return Sa(t, i), r = So(e, t, n, r, a, i), n = Eo(), null === e || bs ? (ia && n && ea(t), t.flags |= 1, xs(e, t, r, i), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, $s(e, t, i))
}
function ks(e, t, n, r, i) {
if (null === e) {
var a = n.type;
return "function" !== typeof a || Rc(a) || void 0 !== a.defaultProps || null !== n.compare || void 0 !== n.defaultProps ? ((e = Lc(n.type, null, r, t, t.mode, i)).ref = t.ref, e.return = t, t.child = e) : (t.tag = 15, t.type = a, Ss(e, t, a, r, i))
}
if (a = e.child, 0 === (e.lanes & i)) {
var o = a.memoizedProps;
if ((n = null !== (n = n.compare) ? n : lr)(o, r) && e.ref === t.ref) return $s(e, t, i)
}
return t.flags |= 1, (e = Dc(a, r)).ref = t.ref, e.return = t, t.child = e
}
function Ss(e, t, n, r, i) {
if (null !== e) {
var a = e.memoizedProps;
if (lr(a, r) && e.ref === t.ref) {
if (bs = !1, t.pendingProps = r = a, 0 === (e.lanes & i)) return t.lanes = e.lanes, $s(e, t, i);
0 !== (131072 & e.flags) && (bs = !0)
}
}
return Os(e, t, n, r, i)
}
function Es(e, t, n) {
var r = t.pendingProps,
i = r.children,
a = null !== e ? e.memoizedState : null;
if ("hidden" === r.mode)
if (0 === (1 & t.mode)) t.memoizedState = {
baseLanes: 0,
cachePool: null,
transitions: null
}, Ii(Dl, Rl), Rl |= n;
else {
if (0 === (1073741824 & n)) return e = null !== a ? a.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = {
baseLanes: e,
cachePool: null,
transitions: null
}, t.updateQueue = null, Ii(Dl, Rl), Rl |= e, null;
t.memoizedState = {
baseLanes: 0,
cachePool: null,
transitions: null
}, r = null !== a ? a.baseLanes : n, Ii(Dl, Rl), Rl |= r
}
else null !== a ? (r = a.baseLanes | n, t.memoizedState = null) : r = n, Ii(Dl, Rl), Rl |= r;
return xs(e, t, i, 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 Os(e, t, n, r, i) {
var a = Ri(n) ? Pi : Ci.current;
return a = Ti(t, a), Sa(t, i), n = So(e, t, n, r, a, i), r = Eo(), null === e || bs ? (ia && r && ea(t), t.flags |= 1, xs(e, t, n, i), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, $s(e, t, i))
}
function Cs(e, t, n, r, i) {
if (Ri(n)) {
var a = !0;
ji(t)
} else a = !1;
if (Sa(t, i), null === t.stateNode) Gs(e, t), Ga(t, n, r), qa(t, n, r, i), 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 = Ea(c) : c = Ti(t, c = Ri(n) ? Pi : Ci.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) && $a(t, o, r, c), Pa = !1;
var p = t.memoizedState;
o.state = p, Ma(t, r, o, i), l = t.memoizedState, s !== r || p !== l || Ai.current || Pa ? ("function" === typeof u && (Ua(t, n, u, r), l = t.memoizedState), (s = Pa || Ba(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, Ra(e, t), s = t.memoizedProps, c = t.type === t.elementType ? s : ga(t.type, s), o.props = c, d = t.pendingProps, p = o.context, "object" === typeof(l = n.contextType) && null !== l ? l = Ea(l) : l = Ti(t, l = Ri(n) ? Pi : Ci.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) && $a(t, o, r, l), Pa = !1, p = t.memoizedState, o.state = p, Ma(t, r, o, i);
var f = t.memoizedState;
s !== d || p !== f || Ai.current || Pa ? ("function" === typeof h && (Ua(t, n, h, r), f = t.memoizedState), (c = Pa || Ba(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 As(e, t, n, r, a, i)
}
function As(e, t, n, r, i, a) {
Is(e, t);
var o = 0 !== (128 & t.flags);
if (!r && !o) return i && Mi(t, n, !1), $s(e, t, a);
r = t.stateNode, _s.current = t;
var s = o && "function" !== typeof n.getDerivedStateFromError ? null : r.render();
return t.flags |= 1, null !== e && o ? (t.child = Qa(t, e.child, null, a), t.child = Qa(t, null, s, a)) : xs(e, t, s, a), t.memoizedState = r.state, i && Mi(t, n, !0), t.child
}
function Ps(e) {
var t = e.stateNode;
t.pendingContext ? Li(0, t.pendingContext, t.pendingContext !== t.context) : t.context && Li(0, t.context, !1), ro(e, t.containerInfo)
}
function Ts(e, t, n, r, i) {
return ha(), fa(i), t.flags |= 256, xs(e, t, n, r), t.child
}
var Rs, Ds, Ls, Ns = {
dehydrated: null,
treeContext: null,
retryLane: 0
};
function js(e) {
return {
baseLanes: e,
cachePool: null,
transitions: null
}
}
function Ms(e, t, n) {
var r, i = 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), Ii(so, 1 & o), null === e) return ca(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 = i.children, e = i.fallback, s ? (i = t.mode, s = t.child, l = {
mode: "hidden",
children: l
}, 0 === (1 & i) && null !== s ? (s.childLanes = 0, s.pendingProps = l) : s = jc(l, i, 0, null), e = Nc(e, i, n, null), s.return = t, e.return = t, s.sibling = e, t.child = s, t.child.memoizedState = js(n), t.memoizedState = Ns, e) : Fs(t, l));
if (null !== (o = e.memoizedState) && null !== (r = o.dehydrated)) return function(e, t, n, r, i, o, s) {
if (n) return 256 & t.flags ? (t.flags &= -257, zs(e, t, s, r = ds(Error(a(422))))) : null !== t.memoizedState ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = jc({
mode: "visible",
children: r.children
}, i, 0, null), (o = Nc(o, i, s, null)).flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, 0 !== (1 & t.mode) && Qa(t, e.child, null, s), t.child.memoizedState = js(s), t.memoizedState = Ns, o);
if (0 === (1 & t.mode)) return zs(e, t, s, null);
if ("$!" === i.data) {
if (r = i.nextSibling && i.nextSibling.dataset) var l = r.dgst;
return r = l, zs(e, t, s, r = ds(o = Error(a(419)), r, void 0))
}
if (l = 0 !== (s & e.childLanes), bs || l) {
if (null !== (r = Al)) {
switch (s & -s) {
case 4:
i = 2;
break;
case 16:
i = 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:
i = 32;
break;
case 536870912:
i = 268435456;
break;
default:
i = 0
}
0 !== (i = 0 !== (i & (r.suspendedLanes | s)) ? 0 : i) && i !== o.retryLane && (o.retryLane = i, Aa(e, i), nc(r, e, i, -1))
}
return mc(), zs(e, t, s, r = ds(Error(a(421))))
}
return "$?" === i.data ? (t.flags |= 128, t.child = e.child, t = Oc.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, ra = ci(i.nextSibling), na = t, ia = !0, aa = null, null !== e && (Hi[Ki++] = Qi, Hi[Ki++] = Zi, Hi[Ki++] = Yi, Qi = e.id, Zi = e.overflow, Yi = t), t = Fs(t, r.children), t.flags |= 4096, t)
}(e, t, l, i, r, o, n);
if (s) {
s = i.fallback, l = t.mode, r = (o = e.child).sibling;
var c = {
mode: "hidden",
children: i.children
};
return 0 === (1 & l) && t.child !== o ? ((i = t.child).childLanes = 0, i.pendingProps = c, t.deletions = null) : (i = Dc(o, c)).subtreeFlags = 14680064 & o.subtreeFlags, null !== r ? s = Dc(r, s) : (s = Nc(s, l, n, null)).flags |= 2, s.return = t, i.return = t, i.sibling = s, t.child = i, i = s, s = t.child, l = null === (l = e.child.memoizedState) ? js(n) : {
baseLanes: l.baseLanes | n,
cachePool: null,
transitions: l.transitions
}, s.memoizedState = l, s.childLanes = e.childLanes & ~n, t.memoizedState = Ns, i
}
return e = (s = e.child).sibling, i = Dc(s, {
mode: "visible",
children: i.children
}), 0 === (1 & t.mode) && (i.lanes = n), i.return = t, i.sibling = null, null !== e && (null === (n = t.deletions) ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = i, t.memoizedState = null, i
}
function Fs(e, t) {
return (t = jc({
mode: "visible",
children: t
}, e.mode, 0, null)).return = e, e.child = t
}
function zs(e, t, n, r) {
return null !== r && fa(r), Qa(t, e.child, null, n), (e = Fs(t, t.pendingProps.children)).flags |= 2, t.memoizedState = null, e
}
function Us(e, t, n) {
e.lanes |= t;
var r = e.alternate;
null !== r && (r.lanes |= t), ka(e.return, t, n)
}
function Vs(e, t, n, r, i) {
var a = e.memoizedState;
null === a ? e.memoizedState = {
isBackwards: t,
rendering: null,
renderingStartTime: 0,
last: r,
tail: n,
tailMode: i
} : (a.isBackwards = t, a.rendering = null, a.renderingStartTime = 0, a.last = r, a.tail = n, a.tailMode = i)
}
function Bs(e, t, n) {
var r = t.pendingProps,
i = r.revealOrder,
a = 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 && Us(e, n, t);
else if (19 === e.tag) Us(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 (Ii(so, r), 0 === (1 & t.mode)) t.memoizedState = null;
else switch (i) {
case "forwards":
for (n = t.child, i = null; null !== n;) null !== (e = n.alternate) && null === lo(e) && (i = n), n = n.sibling;
null === (n = i) ? (i = t.child, t.child = null) : (i = n.sibling, n.sibling = null), Vs(t, !1, i, n, a);
break;
case "backwards":
for (n = null, i = t.child, t.child = null; null !== i;) {
if (null !== (e = i.alternate) && null === lo(e)) {
t.child = i;
break
}
e = i.sibling, i.sibling = n, n = i, i = e
}
Vs(t, !0, n, null, a);
break;
case "together":
Vs(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), jl |= t.lanes, 0 === (n & t.childLanes)) return null;
if (null !== e && t.child !== e.child) throw Error(a(153));
if (null !== t.child) {
for (n = Dc(e = t.child, e.pendingProps), t.child = n, n.return = t; null !== e.sibling;) e = e.sibling, (n = n.sibling = Dc(e, e.pendingProps)).return = t;
n.sibling = null
}
return t.child
}
function qs(e, t) {
if (!ia) 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 i = e.child; null !== i;) n |= i.lanes | i.childLanes, r |= 14680064 & i.subtreeFlags, r |= 14680064 & i.flags, i.return = e, i = i.sibling;
else
for (i = e.child; null !== i;) n |= i.lanes | i.childLanes, r |= i.subtreeFlags, r |= i.flags, i.return = e, i = i.sibling;
return e.subtreeFlags |= r, e.childLanes = n, t
}
function Hs(e, t, n) {
var r = t.pendingProps;
switch (ta(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 Ri(t.type) && Di(), Ws(t), null;
case 3:
return r = t.stateNode, io(), Ei(Ai), Ei(Ci), uo(), r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null), null !== e && null !== e.child || (da(t) ? t.flags |= 4 : null === e || e.memoizedState.isDehydrated && 0 === (256 & t.flags) || (t.flags |= 1024, null !== aa && (oc(aa), aa = null))), Ws(t), null;
case 5:
oo(t);
var i = no(to.current);
if (n = t.type, null !== e && null != t.stateNode) Ds(e, t, n, r), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152);
else {
if (!r) {
if (null === t.stateNode) throw Error(a(166));
return Ws(t), null
}
if (e = no(Ja.current), da(t)) {
r = t.stateNode, n = t.type;
var o = t.memoizedProps;
switch (r[pi] = t, r[hi] = 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 (i = 0; i < Nr.length; i++) zr(Nr[i], 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":
ie(r, o), zr("invalid", r)
}
for (var l in ye(n, o), i = 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), i = ["children", c]) : "number" === typeof c && r.textContent !== "" + c && (!0 !== o.suppressHydrationWarning && Xr(r.textContent, c, e), i = ["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 = i, t.updateQueue = r, null !== r && (t.flags |= 4)
} else {
l = 9 === i.nodeType ? i : i.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[pi] = t, e[hi] = r, Rs(e, t), t.stateNode = e;
e: {
switch (l = _e(n, r), n) {
case "dialog":
zr("cancel", e), zr("close", e), i = r;
break;
case "iframe":
case "object":
case "embed":
zr("load", e), i = r;
break;
case "video":
case "audio":
for (i = 0; i < Nr.length; i++) zr(Nr[i], e);
i = r;
break;
case "source":
zr("error", e), i = r;
break;
case "img":
case "image":
case "link":
zr("error", e), zr("load", e), i = r;
break;
case "details":
zr("toggle", e), i = r;
break;
case "input":
Q(e, r), i = Y(e, r), zr("invalid", e);
break;
case "option":
default:
i = r;
break;
case "select":
e._wrapperState = {
wasMultiple: !!r.multiple
}, i = M({}, r, {
value: void 0
}), zr("invalid", e);
break;
case "textarea":
ie(e, r), i = re(e, r), zr("invalid", e)
}
for (o in ye(n, i), c = i)
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 && _(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 i.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(a(166));
if (n = no(to.current), no(Ja.current), da(t)) {
if (r = t.stateNode, n = t.memoizedProps, r[pi] = t, (o = r.nodeValue !== n) && null !== (e = na)) 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))[pi] = t, t.stateNode = r
}
return Ws(t), null;
case 13:
if (Ei(so), r = t.memoizedState, null === e || null !== e.memoizedState && null !== e.memoizedState.dehydrated) {
if (ia && null !== ra && 0 !== (1 & t.mode) && 0 === (128 & t.flags)) pa(), ha(), t.flags |= 98560, o = !1;
else if (o = da(t), null !== r && null !== r.dehydrated) {
if (null === e) {
if (!o) throw Error(a(318));
if (!(o = null !== (o = t.memoizedState) ? o.dehydrated : null)) throw Error(a(317));
o[pi] = t
} else ha(), 0 === (128 & t.flags) && (t.memoizedState = null), t.flags |= 4;
Ws(t), o = !1
} else null !== aa && (oc(aa), aa = 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 io(), null === e && Br(t.stateNode.containerInfo), Ws(t), null;
case 10:
return wa(t.type._context), Ws(t), null;
case 19:
if (Ei(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 Ii(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 && !ia) 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, Ii(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 & Rl) && (Ws(t), 6 & t.subtreeFlags && (t.flags |= 8192)) : Ws(t), null;
case 24:
case 25:
return null
}
throw Error(a(156, t.tag))
}
function Ks(e, t) {
switch (ta(t), t.tag) {
case 1:
return Ri(t.type) && Di(), 65536 & (e = t.flags) ? (t.flags = -65537 & e | 128, t) : null;
case 3:
return io(), Ei(Ai), Ei(Ci), 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 (Ei(so), null !== (e = t.memoizedState) && null !== e.dehydrated) {
if (null === t.alternate) throw Error(a(340));
ha()
}
return 65536 & (e = t.flags) ? (t.flags = -65537 & e | 128, t) : null;
case 19:
return Ei(so), null;
case 4:
return io(), null;
case 10:
return wa(t.type._context), null;
case 22:
case 23:
return dc(), null;
default:
return null
}
}
Rs = 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
}
}, Ds = function(e, t, n, r) {
var i = e.memoizedProps;
if (i !== r) {
e = t.stateNode, no(Ja.current);
var a, o = null;
switch (n) {
case "input":
i = Y(e, i), r = Y(e, r), o = [];
break;
case "select":
i = M({}, i, {
value: void 0
}), r = M({}, r, {
value: void 0
}), o = [];
break;
case "textarea":
i = re(e, i), r = re(e, r), o = [];
break;
default:
"function" !== typeof i.onClick && "function" === typeof r.onClick && (e.onclick = Jr)
}
for (u in ye(n, r), n = null, i)
if (!r.hasOwnProperty(u) && i.hasOwnProperty(u) && null != i[u])
if ("style" === u) {
var l = i[u];
for (a in l) l.hasOwnProperty(a) && (n || (n = {}), n[a] = "")
} 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 != i ? i[u] : void 0, r.hasOwnProperty(u) && c !== l && (null != c || null != l))
if ("style" === u)
if (l) {
for (a in l) !l.hasOwnProperty(a) || c && c.hasOwnProperty(a) || (n || (n = {}), n[a] = "");
for (a in c) c.hasOwnProperty(a) && l[a] !== c[a] && (n || (n = {}), n[a] = c[a])
} 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 i = r = r.next;
do {
if ((i.tag & e) === e) {
var a = i.destroy;
i.destroy = void 0, void 0 !== a && el(t, n, a)
}
i = i.next
} while (i !== 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 il(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 al(e) {
var t = e.alternate;
null !== t && (e.alternate = null, al(t)), e.child = null, e.deletions = null, e.sibling = null, 5 === e.tag && (null !== (t = e.stateNode) && (delete t[pi], delete t[hi], delete t[mi], delete t[gi], delete t[vi])), 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 (at && "function" === typeof at.onCommitFiberUnmount) try {
at.onCommitFiberUnmount(it, n)
} catch (s) {}
switch (n.tag) {
case 5:
Qs || Js(n, t);
case 6:
var r = ul,
i = dl;
ul = null, pl(e, t, n), dl = i, 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 ? li(e.parentNode, n) : 1 === e.nodeType && li(e, n), Bt(e)) : li(ul, n.stateNode));
break;
case 4:
r = ul, i = dl, ul = n.stateNode.containerInfo, dl = !0, pl(e, t, n), ul = r, dl = i;
break;
case 0:
case 11:
case 14:
case 15:
if (!Qs && (null !== (r = n.updateQueue) && null !== (r = r.lastEffect))) {
i = r = r.next;
do {
var a = i,
o = a.destroy;
a = a.tag, void 0 !== o && (0 !== (2 & a) || 0 !== (4 & a)) && el(n, t, o), i = i.next
} while (i !== 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 = Cc.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 i = 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(a(160));
hl(o, s, i), ul = null, dl = !1;
var c = i.alternate;
null !== c && (c.return = null), i.return = null
} catch (u) {
Sc(i, 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 i = e.stateNode;
try {
pe(i, "")
} catch (g) {
Sc(e, e.return, g)
}
}
if (4 & r && null != (i = 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(i, o), _e(l, s);
var u = _e(l, o);
for (s = 0; s < c.length; s += 2) {
var d = c[s],
p = c[s + 1];
"style" === d ? ge(i, p) : "dangerouslySetInnerHTML" === d ? de(i, p) : "children" === d ? pe(i, p) : _(i, d, p, u)
}
switch (l) {
case "input":
X(i, o);
break;
case "textarea":
ae(i, o);
break;
case "select":
var h = i._wrapperState.wasMultiple;
i._wrapperState.wasMultiple = !!o.multiple;
var f = o.value;
null != f ? ne(i, !!o.multiple, f, !1) : h !== !!o.multiple && (null != o.defaultValue ? ne(i, !!o.multiple, o.defaultValue, !0) : ne(i, !!o.multiple, o.multiple ? [] : "", !1))
}
i[hi] = 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(a(162));
i = e.stateNode, o = e.memoizedProps;
try {
i.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 & (i = e.child).flags && (o = null !== i.memoizedState, i.stateNode.isHidden = o, !o || null !== i.alternate && null !== i.alternate.memoizedState || (Vl = 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 {
i = p.stateNode, u ? "function" === typeof(o = i.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(a(160))
}
switch (r.tag) {
case 5:
var i = r.stateNode;
32 & r.flags && (pe(i, ""), r.flags &= -33), cl(e, sl(e), i);
break;
case 3:
case 4:
var o = r.stateNode.containerInfo;
ll(e, sl(e), o);
break;
default:
throw Error(a(161))
}
}
catch (s) {
Sc(e, e.return, s)
}
e.flags &= -3
}
4096 & t && (e.flags &= -4097)
}
function yl(e, t, n) {
Xs = e, _l(e, t, n)
}
function _l(e, t, n) {
for (var r = 0 !== (1 & e.mode); null !== Xs;) {
var i = Xs,
a = i.child;
if (22 === i.tag && r) {
var o = null !== i.memoizedState || Ys;
if (!o) {
var s = i.alternate,
l = null !== s && null !== s.memoizedState || Qs;
s = Ys;
var c = Qs;
if (Ys = o, (Qs = l) && !c)
for (Xs = i; null !== Xs;) l = (o = Xs).child, 22 === o.tag && null !== o.memoizedState ? wl(i) : null !== l ? (l.return = o, Xs = l) : wl(i);
for (; null !== a;) Xs = a, _l(a, t, n), a = a.sibling;
Xs = i, Ys = s, Qs = c
}
bl(e)
} else 0 !== (8772 & i.subtreeFlags) && null !== a ? (a.return = i, Xs = a) : 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 i = t.elementType === t.type ? n.memoizedProps : ga(t.type, n.memoizedProps);
r.componentDidUpdate(i, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate)
} var o = t.updateQueue;
null !== o && Fa(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
}
Fa(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(a(163))
}
Qs || 512 & t.flags && il(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 i = t.return;
try {
r.componentDidMount()
} catch (l) {
Sc(t, i, l)
}
}
var a = t.return;
try {
il(t)
} catch (l) {
Sc(t, a, l)
}
break;
case 5:
var o = t.return;
try {
il(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,
Ol = b.ReactCurrentBatchConfig,
Cl = 0,
Al = null,
Pl = null,
Tl = 0,
Rl = 0,
Dl = Si(0),
Ll = 0,
Nl = null,
jl = 0,
Ml = 0,
Fl = 0,
zl = null,
Ul = null,
Vl = 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 & Cl) ? Ze() : -1 !== Xl ? Xl : Xl = Ze()
}
function tc(e) {
return 0 === (1 & e.mode) ? 1 : 0 !== (2 & Cl) && 0 !== Tl ? Tl & -Tl : null !== ma.transition ? (0 === Jl && (Jl = mt()), Jl) : 0 !== (e = _t) ? 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(a(185));
vt(e, n, r), 0 !== (2 & Cl) && e === Al || (e === Al && (0 === (2 & Cl) && (Ml |= n), 4 === Ll && sc(e, Tl)), rc(e, r), 1 === n && 0 === Cl && 0 === (1 & t.mode) && (Bl = Ze() + 500, zi && Bi()))
}
function rc(e, t) {
var n = e.callbackNode;
! function(e, t) {
for (var n = e.suspendedLanes, r = e.pingedLanes, i = e.expirationTimes, a = e.pendingLanes; 0 < a;) {
var o = 31 - ot(a),
s = 1 << o,
l = i[o]; - 1 === l ? 0 !== (s & n) && 0 === (s & r) || (i[o] = ht(s, t)) : l <= t && (e.expiredLanes |= s), a &= ~s
}
}(e, t);
var r = pt(e, e === Al ? 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) {
zi = !0, Vi(e)
}(lc.bind(null, e)) : Vi(lc.bind(null, e)), oi((function() {
0 === (6 & Cl) && Bi()
})), 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 = Ac(n, ic.bind(null, e))
}
e.callbackPriority = t, e.callbackNode = n
}
}
function ic(e, t) {
if (Xl = -1, Jl = 0, 0 !== (6 & Cl)) throw Error(a(327));
var n = e.callbackNode;
if (wc() && e.callbackNode !== n) return null;
var r = pt(e, e === Al ? Tl : 0);
if (0 === r) return null;
if (0 !== (30 & r) || 0 !== (r & e.expiredLanes) || t) t = gc(e, r);
else {
t = r;
var i = Cl;
Cl |= 2;
var o = fc();
for (Al === e && Tl === t || (Gl = null, Bl = Ze() + 500, pc(e, t));;) try {
yc();
break
} catch (l) {
hc(e, l)
}
xa(), El.current = o, Cl = i, null !== Pl ? t = 0 : (Al = null, Tl = 0, t = Ll)
}
if (0 !== t) {
if (2 === t && (0 !== (i = ft(e)) && (r = i, t = ac(e, i))), 1 === t) throw n = Nl, pc(e, 0), sc(e, r), rc(e, Ze()), n;
if (6 === t) sc(e, r);
else {
if (i = 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 i = n[r],
a = i.getSnapshot;
i = i.value;
try {
if (!sr(a(), i)) 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
}(i) && (2 === (t = gc(e, r)) && (0 !== (o = ft(e)) && (r = o, t = ac(e, o))), 1 === t)) throw n = Nl, pc(e, 0), sc(e, r), rc(e, Ze()), n;
switch (e.finishedWork = i, e.finishedLanes = r, t) {
case 0:
case 1:
throw Error(a(345));
case 2:
case 5:
xc(e, Ul, Gl);
break;
case 3:
if (sc(e, r), (130023424 & r) === r && 10 < (t = Vl + 500 - Ze())) {
if (0 !== pt(e, 0)) break;
if (((i = e.suspendedLanes) & r) !== r) {
ec(), e.pingedLanes |= e.suspendedLanes & i;
break
}
e.timeoutHandle = ri(xc.bind(null, e, Ul, Gl), t);
break
}
xc(e, Ul, Gl);
break;
case 4:
if (sc(e, r), (4194240 & r) === r) break;
for (t = e.eventTimes, i = -1; 0 < r;) {
var s = 31 - ot(r);
o = 1 << s, (s = t[s]) > i && (i = s), r &= ~o
}
if (r = i, 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 = ri(xc.bind(null, e, Ul, Gl), r);
break
}
xc(e, Ul, Gl);
break;
default:
throw Error(a(329))
}
}
}
return rc(e, Ze()), e.callbackNode === n ? ic.bind(null, e) : null
}
function ac(e, t) {
var n = zl;
return e.current.memoizedState.isDehydrated && (pc(e, t).flags |= 256), 2 !== (e = gc(e, t)) && (t = Ul, Ul = n, null !== t && oc(t)), e
}
function oc(e) {
null === Ul ? Ul = e : Ul.push.apply(Ul, 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 & Cl)) throw Error(a(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 = ac(e, r))
}
if (1 === n) throw n = Nl, pc(e, 0), sc(e, t), rc(e, Ze()), n;
if (6 === n) throw Error(a(345));
return e.finishedWork = e.current.alternate, e.finishedLanes = t, xc(e, Ul, Gl), rc(e, Ze()), null
}
function cc(e, t) {
var n = Cl;
Cl |= 1;
try {
return e(t)
} finally {
0 === (Cl = n) && (Bl = Ze() + 500, zi && Bi())
}
}
function uc(e) {
null !== Kl && 0 === Kl.tag && 0 === (6 & Cl) && wc();
var t = Cl;
Cl |= 1;
var n = Ol.transition,
r = _t;
try {
if (Ol.transition = null, _t = 1, e) return e()
} finally {
_t = r, Ol.transition = n, 0 === (6 & (Cl = t)) && Bi()
}
}
function dc() {
Rl = Dl.current, Ei(Dl)
}
function pc(e, t) {
e.finishedWork = null, e.finishedLanes = 0;
var n = e.timeoutHandle;
if (-1 !== n && (e.timeoutHandle = -1, ii(n)), null !== Pl)
for (n = Pl.return; null !== n;) {
var r = n;
switch (ta(r), r.tag) {
case 1:
null !== (r = r.type.childContextTypes) && void 0 !== r && Di();
break;
case 3:
io(), Ei(Ai), Ei(Ci), uo();
break;
case 5:
oo(r);
break;
case 4:
io();
break;
case 13:
case 19:
Ei(so);
break;
case 10:
wa(r.type._context);
break;
case 22:
case 23:
dc()
}
n = n.return
}
if (Al = e, Pl = e = Dc(e.current, null), Tl = Rl = t, Ll = 0, Nl = null, Fl = Ml = jl = 0, Ul = zl = null, null !== Ia) {
for (t = 0; t < Ia.length; t++)
if (null !== (r = (n = Ia[t]).interleaved)) {
n.interleaved = null;
var i = r.next,
a = n.pending;
if (null !== a) {
var o = a.next;
a.next = i, r.next = o
}
n.pending = r
} Ia = null
}
return e
}
function hc(e, t) {
for (;;) {
var n = Pl;
try {
if (xa(), po.current = os, yo) {
for (var r = mo.memoizedState; null !== r;) {
var i = r.queue;
null !== i && (i.pending = null), r = r.next
}
yo = !1
}
if (fo = 0, vo = go = mo = null, _o = !1, bo = 0, Il.current = null, null === n || null === n.return) {
Ll = 1, Nl = t, Pl = 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, ys(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(a(426))
} else if (ia && 1 & l.mode) {
var v = vs(s);
if (null !== v) {
0 === (65536 & v.flags) && (v.flags |= 256), ys(v, s, l, 0, t), fa(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, ja(o, fs(0, c, t));
break e;
case 1:
l = c;
var y = o.type,
_ = o.stateNode;
if (0 === (128 & o.flags) && ("function" === typeof y.getDerivedStateFromError || null !== _ && "function" === typeof _.componentDidCatch && (null === Wl || !Wl.has(_)))) {
o.flags |= 65536, t &= -t, o.lanes |= t, ja(o, ms(o, l, t));
break e
}
}
o = o.return
} while (null !== o)
}
bc(n)
} catch (b) {
t = b, Pl === n && null !== n && (Pl = 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 === Al || 0 === (268435455 & jl) && 0 === (268435455 & Ml) || sc(Al, Tl)
}
function gc(e, t) {
var n = Cl;
Cl |= 2;
var r = fc();
for (Al === e && Tl === t || (Gl = null, pc(e, t));;) try {
vc();
break
} catch (i) {
hc(e, i)
}
if (xa(), Cl = n, El.current = r, null !== Pl) throw Error(a(261));
return Al = null, Tl = 0, Ll
}
function vc() {
for (; null !== Pl;) _c(Pl)
}
function yc() {
for (; null !== Pl && !Ye();) _c(Pl)
}
function _c(e) {
var t = kl(e.alternate, e, Rl);
e.memoizedProps = e.pendingProps, null === t ? bc(e) : Pl = 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, Rl))) return void(Pl = n)
} else {
if (null !== (n = Ks(n, t))) return n.flags &= 32767, void(Pl = n);
if (null === e) return Ll = 6, void(Pl = null);
e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null
}
if (null !== (t = t.sibling)) return void(Pl = t);
Pl = t = e
} while (null !== t);
0 === Ll && (Ll = 5)
}
function xc(e, t, n) {
var r = _t,
i = Ol.transition;
try {
Ol.transition = null, _t = 1,
function(e, t, n, r) {
do {
wc()
} while (null !== Kl);
if (0 !== (6 & Cl)) throw Error(a(327));
n = e.finishedWork;
var i = e.finishedLanes;
if (null === n) return null;
if (e.finishedWork = null, e.finishedLanes = 0, n === e.current) throw Error(a(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 i = 31 - ot(n),
a = 1 << i;
t[i] = 0, r[i] = -1, e[i] = -1, n &= ~a
}
}(e, o), e === Al && (Pl = Al = null, Tl = 0), 0 === (2064 & n.subtreeFlags) && 0 === (2064 & n.flags) || Hl || (Hl = !0, Ac(tt, (function() {
return wc(), null
}))), o = 0 !== (15990 & n.flags), 0 !== (15990 & n.subtreeFlags) || o) {
o = Ol.transition, Ol.transition = null;
var s = _t;
_t = 1;
var l = Cl;
Cl |= 4, Il.current = null,
function(e, t) {
if (ei = $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 i = 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 !== i && 3 !== p.nodeType || (l = s + i), 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 === i && (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 (ti = {
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,
y = t.stateNode,
_ = y.getSnapshotBeforeUpdate(t.elementType === t.type ? g : ga(t.type, g), v);
y.__reactInternalSnapshotBeforeUpdate = _
}
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(a(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(ti), $t = !!ei, ti = ei = null, e.current = n, yl(n, e, i), Qe(), Cl = l, _t = s, Ol.transition = o
} else e.current = n;
if (Hl && (Hl = !1, Kl = e, Yl = i), o = e.pendingLanes, 0 === o && (Wl = null), function(e) {
if (at && "function" === typeof at.onCommitFiberRoot) try {
at.onCommitFiberRoot(it, 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++) i = t[n], r(i.value, {
componentStack: i.stack,
digest: i.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, Bi()
}(e, t, n, r)
} finally {
Ol.transition = i, _t = r
}
return null
}
function wc() {
if (null !== Kl) {
var e = bt(Yl),
t = Ol.transition,
n = _t;
try {
if (Ol.transition = null, _t = 16 > e ? 16 : e, null === Kl) var r = !1;
else {
if (e = Kl, Kl = null, Yl = 0, 0 !== (6 & Cl)) throw Error(a(331));
var i = Cl;
for (Cl |= 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 (al(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 y = o.sibling;
if (null !== y) {
y.return = o.return, Xs = y;
break e
}
Xs = o.return
}
}
var _ = e.current;
for (Xs = _; null !== Xs;) {
var b = (s = Xs).child;
if (0 !== (2064 & s.subtreeFlags) && null !== b) b.return = s, Xs = b;
else e: for (s = _; 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 (Cl = i, Bi(), at && "function" === typeof at.onPostCommitFiberRoot) try {
at.onPostCommitFiberRoot(it, e)
} catch (w) {}
r = !0
}
return r
} finally {
_t = n, Ol.transition = t
}
}
return !1
}
function kc(e, t, n) {
e = La(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 = La(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, Al === e && (Tl & n) === n && (4 === Ll || 3 === Ll && (130023424 & Tl) === Tl && 500 > Ze() - Vl ? 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 = Aa(e, t)) && (vt(e, t, n), rc(e, n))
}
function Oc(e) {
var t = e.memoizedState,
n = 0;
null !== t && (n = t.retryLane), Ic(e, n)
}
function Cc(e, t) {
var n = 0;
switch (e.tag) {
case 13:
var r = e.stateNode,
i = e.memoizedState;
null !== i && (n = i.retryLane);
break;
case 19:
r = e.stateNode;
break;
default:
throw Error(a(314))
}
null !== r && r.delete(t), Ic(e, n)
}
function Ac(e, t) {
return He(e, t)
}
function Pc(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 Pc(e, t, n, r)
}
function Rc(e) {
return !(!(e = e.prototype) || !e.isReactComponent)
}
function Dc(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, i, o) {
var s = 2;
if (r = e, "function" === typeof e) Rc(e) && (s = 1);
else if ("string" === typeof e) s = 5;
else e: switch (e) {
case k:
return Nc(n.children, i, o, t);
case S:
s = 8, i |= 8;
break;
case E:
return (e = Tc(12, n, t, 2 | i)).elementType = E, e.lanes = o, e;
case A:
return (e = Tc(13, n, t, i)).elementType = A, e.lanes = o, e;
case P:
return (e = Tc(19, n, t, i)).elementType = P, e.lanes = o, e;
case D:
return jc(n, i, o, t);
default:
if ("object" === typeof e && null !== e) switch (e.$$typeof) {
case I:
s = 10;
break e;
case O:
s = 9;
break e;
case C:
s = 11;
break e;
case T:
s = 14;
break e;
case R:
s = 16, r = null;
break e
}
throw Error(a(130, null == e ? e : typeof e, ""))
}
return (t = Tc(s, n, t, i)).elementType = e, t.type = r, t.lanes = o, t
}
function Nc(e, t, n, r) {
return (e = Tc(7, e, r, t)).lanes = n, e
}
function jc(e, t, n, r) {
return (e = Tc(22, e, r, t)).elementType = D, 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, i) {
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 = i, this.mutableSourceEagerHydrationData = null
}
function Uc(e, t, n, r, i, a, o, s, l) {
return e = new zc(e, t, n, s, l), 1 === t ? (t = 1, !0 === a && (t |= 8)) : t = 0, a = Tc(3, null, null, t), e.current = a, a.stateNode = e, a.memoizedState = {
element: r,
isDehydrated: n,
cache: null,
transitions: null,
pendingSuspenseBoundaries: null
}, Ta(a), e
}
function Vc(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 Oi;
e: {
if (Be(e = e._reactInternals) !== e || 1 !== e.tag) throw Error(a(170));
var t = e;do {
switch (t.tag) {
case 3:
t = t.stateNode.context;
break e;
case 1:
if (Ri(t.type)) {
t = t.stateNode.__reactInternalMemoizedMergedChildContext;
break e
}
}
t = t.return
} while (null !== t);
throw Error(a(171))
}
if (1 === e.tag) {
var n = e.type;
if (Ri(n)) return Ni(e, n, t)
}
return t
}
function Gc(e, t, n, r, i, a, o, s, l) {
return (e = Uc(n, r, !0, e, 0, a, 0, s, l)).context = Bc(null), n = e.current, (a = Da(r = ec(), i = tc(n))).callback = void 0 !== t && null !== t ? t : null, La(n, a, i), e.current.lanes = i, vt(e, i, r), rc(e, r), e
}
function $c(e, t, n, r) {
var i = t.current,
a = ec(),
o = tc(i);
return n = Bc(n), null === t.context ? t.context = n : t.pendingContext = n, (t = Da(a, o)).payload = {
element: e
}, null !== (r = void 0 === r ? null : r) && (t.callback = r), null !== (e = La(i, t, o)) && (nc(e, i, o, a), Na(e, i, 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 || Ai.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:
Ps(t), ha();
break;
case 5:
ao(t);
break;
case 1:
Ri(t.type) && ji(t);
break;
case 4:
ro(t, t.stateNode.containerInfo);
break;
case 10:
var r = t.type._context,
i = t.memoizedProps.value;
Ii(va, r._currentValue), r._currentValue = i;
break;
case 13:
if (null !== (r = t.memoizedState)) return null !== r.dehydrated ? (Ii(so, 1 & so.current), t.flags |= 128, null) : 0 !== (n & t.child.childLanes) ? Ms(e, t, n) : (Ii(so, 1 & so.current), null !== (e = $s(e, t, n)) ? e.sibling : null);
Ii(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 !== (i = t.memoizedState) && (i.rendering = null, i.tail = null, i.lastEffect = null), Ii(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, ia && 0 !== (1048576 & t.flags) && Ji(t, Wi, t.index);
switch (t.lanes = 0, t.tag) {
case 2:
var r = t.type;
Gs(e, t), e = t.pendingProps;
var i = Ti(t, Ci.current);
Sa(t, n), i = So(null, t, r, e, i, n);
var o = Eo();
return t.flags |= 1, "object" === typeof i && null !== i && "function" === typeof i.render && void 0 === i.$$typeof ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, Ri(r) ? (o = !0, ji(t)) : o = !1, t.memoizedState = null !== i.state && void 0 !== i.state ? i.state : null, Ta(t), i.updater = Va, t.stateNode = i, i._reactInternals = t, qa(t, r, e, n), t = As(null, t, r, !0, o, n)) : (t.tag = 0, ia && o && ea(t), xs(null, t, i, n), t = t.child), t;
case 16:
r = t.elementType;
e: {
switch (Gs(e, t), e = t.pendingProps, r = (i = r._init)(r._payload), t.type = r, i = t.tag = function(e) {
if ("function" === typeof e) return Rc(e) ? 1 : 0;
if (void 0 !== e && null !== e) {
if ((e = e.$$typeof) === C) return 11;
if (e === T) return 14
}
return 2
}(r), e = ga(r, e), i) {
case 0:
t = Os(null, t, r, e, n);
break e;
case 1:
t = Cs(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, ga(r.type, e), n);
break e
}
throw Error(a(306, r, ""))
}
return t;
case 0:
return r = t.type, i = t.pendingProps, Os(e, t, r, i = t.elementType === r ? i : ga(r, i), n);
case 1:
return r = t.type, i = t.pendingProps, Cs(e, t, r, i = t.elementType === r ? i : ga(r, i), n);
case 3:
e: {
if (Ps(t), null === e) throw Error(a(387));r = t.pendingProps,
i = (o = t.memoizedState).element,
Ra(e, t),
Ma(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, i = us(Error(a(423)), t));
break e
}
if (r !== i) {
t = Ts(e, t, r, n, i = us(Error(a(424)), t));
break e
}
for (ra = ci(t.stateNode.containerInfo.firstChild), na = t, ia = !0, aa = null, n = Za(t, null, r, n), t.child = n; n;) n.flags = -3 & n.flags | 4096, n = n.sibling
} else {
if (ha(), r === i) {
t = $s(e, t, n);
break e
}
xs(e, t, r, n)
}
t = t.child
}
return t;
case 5:
return ao(t), null === e && ca(t), r = t.type, i = t.pendingProps, o = null !== e ? e.memoizedProps : null, s = i.children, ni(r, i) ? s = null : null !== o && ni(r, o) && (t.flags |= 32), Is(e, t), xs(e, t, s, n), t.child;
case 6:
return null === e && ca(t), null;
case 13:
return Ms(e, t, n);
case 4:
return ro(t, t.stateNode.containerInfo), r = t.pendingProps, null === e ? t.child = Qa(t, null, r, n) : xs(e, t, r, n), t.child;
case 11:
return r = t.type, i = t.pendingProps, ws(e, t, r, i = t.elementType === r ? i : ga(r, i), 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, i = t.pendingProps, o = t.memoizedProps, s = i.value, Ii(va, r._currentValue), r._currentValue = s, null !== o)
if (sr(o.value, s)) {
if (o.children === i.children && !Ai.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 = Da(-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), ka(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(a(341));
s.lanes |= n, null !== (l = s.alternate) && (l.lanes |= n), ka(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, i.children, n),
t = t.child
}
return t;
case 9:
return i = t.type, r = t.pendingProps.children, Sa(t, n), r = r(i = Ea(i)), t.flags |= 1, xs(e, t, r, n), t.child;
case 14:
return i = ga(r = t.type, t.pendingProps), ks(e, t, r, i = ga(r.type, i), n);
case 15:
return Ss(e, t, t.type, t.pendingProps, n);
case 17:
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : ga(r, i), Gs(e, t), t.tag = 1, Ri(r) ? (e = !0, ji(t)) : e = !1, Sa(t, n), Ga(t, r, i), qa(t, r, i, n), As(null, t, r, !0, e, n);
case 19:
return Bs(e, t, n);
case 22:
return Es(e, t, n)
}
throw Error(a(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, i) {
var a = n._reactRootContainer;
if (a) {
var o = a;
if ("function" === typeof i) {
var s = i;
i = function() {
var e = qc(o);
s.call(e)
}
}
$c(t, o, e, i)
} else o = function(e, t, n, r, i) {
if (i) {
if ("function" === typeof r) {
var a = r;
r = function() {
var e = qc(o);
a.call(e)
}
}
var o = Gc(t, r, e, 0, null, !1, 0, "", Jc);
return e._reactRootContainer = o, e[fi] = o.current, Br(8 === e.nodeType ? e.parentNode : e), uc(), o
}
for (; i = e.lastChild;) e.removeChild(i);
if ("function" === typeof r) {
var s = r;
r = function() {
var e = qc(l);
s.call(e)
}
}
var l = Uc(e, 0, !1, null, 0, !1, 0, "", Jc);
return e._reactRootContainer = l, e[fi] = l.current, Br(8 === e.nodeType ? e.parentNode : e), uc((function() {
$c(t, l, n, r)
})), l
}(n, t, e, i, r);
return qc(o)
}
Qc.prototype.render = Yc.prototype.render = function(e) {
var t = this._internalRoot;
if (null === t) throw Error(a(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[fi] = null
}
}, Qc.prototype.unstable_scheduleHydration = function(e) {
if (e) {
var t = St();
e = {
blockedOn: null,
target: e,
priority: t
};
for (var n = 0; n < Dt.length && 0 !== t && t < Dt[n].priority; n++);
Dt.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 && (yt(t, 1 | n), rc(t, Ze()), 0 === (6 & Cl) && (Bl = Ze() + 500, Bi()))
}
break;
case 13:
uc((function() {
var t = Aa(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 = Aa(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 = Aa(e, t);
if (null !== n) nc(n, e, t, ec());
Hc(e, t)
}
}, St = function() {
return _t
}, Et = function(e, t) {
var n = _t;
try {
return _t = e, t()
} finally {
_t = 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 i = xi(r);
if (!i) throw Error(a(90));
H(r), X(r, i)
}
}
}
break;
case "textarea":
ae(e, n);
break;
case "select":
null != (t = n.value) && ne(e, !!n.multiple, t, !1)
}
}, Ce = cc, Ae = uc;
var tu = {
usingClientEntryPoint: !1,
Events: [_i, bi, xi, Ie, Oe, cc]
},
nu = {
findFiberByHostInstance: yi,
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 iu = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (!iu.isDisabled && iu.supportsFiber) try {
it = iu.inject(ru), at = iu
} 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(a(200));
return Vc(e, t, null, n)
}, t.createRoot = function(e, t) {
if (!Zc(e)) throw Error(a(299));
var n = !1,
r = "",
i = Kc;
return null !== t && void 0 !== t && (!0 === t.unstable_strictMode && (n = !0), void 0 !== t.identifierPrefix && (r = t.identifierPrefix), void 0 !== t.onRecoverableError && (i = t.onRecoverableError)), t = Uc(e, 1, !1, null, 0, n, 0, r, i), e[fi] = 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(a(188));
throw e = Object.keys(e).join(","), Error(a(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(a(200));
return eu(null, e, t, !0, n)
}, t.hydrateRoot = function(e, t, n) {
if (!Zc(e)) throw Error(a(405));
var r = null != n && n.hydratedSources || null,
i = !1,
o = "",
s = Kc;
if (null !== n && void 0 !== n && (!0 === n.unstable_strictMode && (i = !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, i, 0, o, s), e[fi] = t.current, Br(e), r)
for (e = 0; e < r.length; e++) i = (i = (n = r[e])._getVersion)(n._source), null == t.mutableSourceEagerHydrationData ? t.mutableSourceEagerHydrationData = [n, i] : t.mutableSourceEagerHydrationData.push(n, i);
return new Qc(t)
}, t.render = function(e, t, n) {
if (!Xc(t)) throw Error(a(200));
return eu(null, e, t, !1, n)
}, t.unmountComponentAtNode = function(e) {
if (!Xc(e)) throw Error(a(40));
return !!e._reactRootContainer && (uc((function() {
eu(null, null, e, !1, (function() {
e._reactRootContainer = null, e[fi] = null
}))
})), !0)
}, t.unstable_batchedUpdates = cc, t.unstable_renderSubtreeIntoContainer = function(e, t, n, r) {
if (!Xc(n)) throw Error(a(200));
if (null == e || void 0 === e._reactInternals) throw Error(a(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),
i = Symbol.for("react.element"),
a = 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, a = {},
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) && (a[r] = t[r]);
if (e && e.defaultProps)
for (r in t = e.defaultProps) void 0 === a[r] && (a[r] = t[r]);
return {
$$typeof: i,
type: e,
key: c,
ref: u,
props: a,
_owner: s.current
}
}
t.Fragment = a, t.jsx = c, t.jsxs = c
},
984: (e, t) => {
"use strict";
var n = Symbol.for("react.element"),
r = Symbol.for("react.portal"),
i = Symbol.for("react.fragment"),
a = 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 y() {}
function _(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")
}, y.prototype = v.prototype;
var b = _.prototype = new y;
b.constructor = _, 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 i, a = {},
o = null,
s = null;
if (null != t)
for (i in void 0 !== t.ref && (s = t.ref), void 0 !== t.key && (o = "" + t.key), t) w.call(t, i) && !S.hasOwnProperty(i) && (a[i] = t[i]);
var l = arguments.length - 2;
if (1 === l) a.children = r;
else if (1 < l) {
for (var c = Array(l), u = 0; u < l; u++) c[u] = arguments[u + 2];
a.children = c
}
if (e && e.defaultProps)
for (i in l = e.defaultProps) void 0 === a[i] && (a[i] = l[i]);
return {
$$typeof: n,
type: e,
key: o,
ref: s,
props: a,
_owner: k.current
}
}
function I(e) {
return "object" === typeof e && null !== e && e.$$typeof === n
}
var O = /\/+/g;
function C(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 A(e, t, i, a, 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 = "" === a ? "." + C(l, 0) : a, x(o) ? (i = "", null != e && (i = e.replace(O, "$&/") + "/"), A(o, t, i, "", (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, i + (!o.key || l && l.key === o.key ? "" : ("" + o.key).replace(O, "$&/") + "/") + e)), t.push(o)), 1;
if (l = 0, a = "" === a ? "." : a + ":", x(e))
for (var c = 0; c < e.length; c++) {
var u = a + C(s = e[c], c);
l += A(s, t, i, 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 += A(s = s.value, t, i, u = a + C(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 P(e, t, n) {
if (null == e) return e;
var r = [],
i = 0;
return A(e, r, "", "", (function(e) {
return t.call(n, e, i++)
})), 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 R = {
current: null
},
D = {
transition: null
},
L = {
ReactCurrentDispatcher: R,
ReactCurrentBatchConfig: D,
ReactCurrentOwner: k
};
t.Children = {
map: P,
forEach: function(e, t, n) {
P(e, (function() {
t.apply(this, arguments)
}), n)
},
count: function(e) {
var t = 0;
return P(e, (function() {
t++
})), t
},
toArray: function(e) {
return P(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 = i, t.Profiler = o, t.PureComponent = _, t.StrictMode = a, 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 i = m({}, e.props),
a = 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 && (a = "" + t.key), e.type && e.type.defaultProps) var l = e.type.defaultProps;
for (c in t) w.call(t, c) && !S.hasOwnProperty(c) && (i[c] = void 0 === t[c] && void 0 !== l ? l[c] : t[c])
}
var c = arguments.length - 2;
if (1 === c) i.children = r;
else if (1 < c) {
l = Array(c);
for (var u = 0; u < c; u++) l[u] = arguments[u + 2];
i.children = l
}
return {
$$typeof: n,
type: e.type,
key: a,
ref: o,
props: i,
_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 = D.transition;
D.transition = {};
try {
e()
} finally {
D.transition = t
}
}, t.unstable_act = function() {
throw Error("act(...) is not supported in production builds of React.")
}, t.useCallback = function(e, t) {
return R.current.useCallback(e, t)
}, t.useContext = function(e) {
return R.current.useContext(e)
}, t.useDebugValue = function() {}, t.useDeferredValue = function(e) {
return R.current.useDeferredValue(e)
}, t.useEffect = function(e, t) {
return R.current.useEffect(e, t)
}, t.useId = function() {
return R.current.useId()
}, t.useImperativeHandle = function(e, t, n) {
return R.current.useImperativeHandle(e, t, n)
}, t.useInsertionEffect = function(e, t) {
return R.current.useInsertionEffect(e, t)
}, t.useLayoutEffect = function(e, t) {
return R.current.useLayoutEffect(e, t)
}, t.useMemo = function(e, t) {
return R.current.useMemo(e, t)
}, t.useReducer = function(e, t, n) {
return R.current.useReducer(e, t, n)
}, t.useRef = function(e) {
return R.current.useRef(e)
}, t.useState = function(e) {
return R.current.useState(e)
}, t.useSyncExternalStore = function(e, t, n) {
return R.current.useSyncExternalStore(e, t, n)
}, t.useTransition = function() {
return R.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,
i = e[r];
if (!(0 < a(i, t))) break e;
e[r] = t, e[n] = i, n = r
}
}
function r(e) {
return 0 === e.length ? null : e[0]
}
function i(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, i = e.length, o = i >>> 1; r < o;) {
var s = 2 * (r + 1) - 1,
l = e[s],
c = s + 1,
u = e[c];
if (0 > a(l, n)) c < i && 0 > a(u, l) ? (e[r] = u, e[c] = n, r = c) : (e[r] = l, e[s] = n, r = s);
else {
if (!(c < i && 0 > a(u, n))) break e;
e[r] = u, e[c] = n, r = c
}
}
}
return t
}
function a(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,
y = "function" === typeof clearTimeout ? clearTimeout : null,
_ = "undefined" !== typeof setImmediate ? setImmediate : null;
function b(e) {
for (var t = r(u); null !== t;) {
if (null === t.callback) i(u);
else {
if (!(t.startTime <= e)) break;
i(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, D(w);
else {
var t = r(u);
null !== t && L(x, t.startTime - e)
}
}
function w(e, n) {
m = !1, g && (g = !1, y(I), I = -1), f = !0;
var a = h;
try {
for (b(n), p = r(c); null !== p && (!(p.expirationTime > n) || e && !A());) {
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) && i(c), b(n)
} else i(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 = a, 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,
O = 5,
C = -1;
function A() {
return !(t.unstable_now() - C < O)
}
function P() {
if (null !== E) {
var e = t.unstable_now();
C = e;
var n = !0;
try {
n = E(!0, e)
} finally {
n ? k() : (S = !1, E = null)
}
} else S = !1
}
if ("function" === typeof _) k = function() {
_(P)
};
else if ("undefined" !== typeof MessageChannel) {
var T = new MessageChannel,
R = T.port2;
T.port1.onmessage = P, k = function() {
R.postMessage(null)
}
} else k = function() {
v(P, 0)
};
function D(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, D(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") : O = 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, i, a) {
var o = t.unstable_now();
switch ("object" === typeof a && null !== a ? a = "number" === typeof(a = a.delay) && 0 < a ? o + a : o : a = 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: i,
priorityLevel: e,
startTime: a,
expirationTime: s = a + s,
sortIndex: -1
}, a > o ? (e.sortIndex = a, n(u, e), null === r(c) && e === r(u) && (g ? (y(I), I = -1) : g = !0, L(x, a - o))) : (e.sortIndex = s, n(c, e), m || f || (m = !0, D(w))), e
}, t.unstable_shouldYield = A, 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 a(e, t);
return null
}, e.exports.format = a, 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)
},
i = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
function a(e, i) {
if (!Number.isFinite(e)) return null;
var a = Math.abs(e),
o = i && i.thousandsSeparator || "",
s = i && i.unitSeparator || "",
l = i && void 0 !== i.decimalPlaces ? i.decimalPlaces : 2,
c = Boolean(i && i.fixedDecimals),
u = i && i.unit || "";
u && r[u.toLowerCase()] || (u = a >= r.pb ? "PB" : a >= r.tb ? "TB" : a >= r.gb ? "GB" : a >= r.mb ? "MB" : a >= 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 = i.exec(e),
a = "b";
return n ? (t = parseFloat(n[1]), a = n[4].toLowerCase()) : (t = parseInt(e, 10), a = "b"), isNaN(t) ? null : Math.floor(r[a] * t)
}
},
2110: (e, t, n) => {
"use strict";
var r = n(8309),
i = {
childContextTypes: !0,
contextType: !0,
contextTypes: !0,
defaultProps: !0,
displayName: !0,
getDefaultProps: !0,
getDerivedStateFromError: !0,
getDerivedStateFromProps: !0,
mixins: !0,
propTypes: !0,
type: !0
},
a = {
name: !0,
length: !0,
prototype: !0,
caller: !0,
callee: !0,
arguments: !0,
arity: !0
},
o = {
$$typeof: !0,
compare: !0,
defaultProps: !0,
displayName: !0,
propTypes: !0,
type: !0
},
s = {};
function l(e) {
return r.isMemo(e) ? o : s[e.$$typeof] || i
}
s[r.ForwardRef] = {
$$typeof: !0,
render: !0,
defaultProps: !0,
displayName: !0,
propTypes: !0
}, s[r.Memo] = o;
var c = Object.defineProperty,
u = Object.getOwnPropertyNames,
d = Object.getOwnPropertySymbols,
p = Object.getOwnPropertyDescriptor,
h = Object.getPrototypeOf,
f = Object.prototype;
e.exports = function e(t, n, r) {
if ("string" !== typeof n) {
if (f) {
var i = h(n);
i && i !== f && e(t, i, r)
}
var o = u(n);
d && (o = o.concat(d(n)));
for (var s = l(t), m = l(n), g = 0; g < o.length; ++g) {
var v = o[g];
if (!a[v] && (!r || !r[v]) && (!m || !m[v]) && (!s || !s[v])) {
var y = p(n, v);
try {
c(t, v, y)
} catch (_) {}
}
}
}
return t
}
},
746: (e, t) => {
"use strict";
var n = "function" === typeof Symbol && Symbol.for,
r = n ? Symbol.for("react.element") : 60103,
i = n ? Symbol.for("react.portal") : 60106,
a = n ? Symbol.for("react.fragment") : 60107,
o = n ? Symbol.for("react.strict_mode") : 60108,
s = n ? Symbol.for("react.profiler") : 60114,
l = n ? Symbol.for("react.provider") : 60109,
c = n ? Symbol.for("react.context") : 60110,
u = n ? Symbol.for("react.async_mode") : 60111,
d = n ? Symbol.for("react.concurrent_mode") : 60111,
p = n ? Symbol.for("react.forward_ref") : 60112,
h = n ? Symbol.for("react.suspense") : 60113,
f = n ? Symbol.for("react.suspense_list") : 60120,
m = n ? Symbol.for("react.memo") : 60115,
g = n ? Symbol.for("react.lazy") : 60116,
v = n ? Symbol.for("react.block") : 60121,
y = n ? Symbol.for("react.fundamental") : 60117,
_ = n ? Symbol.for("react.responder") : 60118,
b = n ? Symbol.for("react.scope") : 60119;
function x(e) {
if ("object" === typeof e && null !== e) {
var t = e.$$typeof;
switch (t) {
case r:
switch (e = e.type) {
case u:
case d:
case a:
case s:
case o:
case h:
return e;
default:
switch (e = e && e.$$typeof) {
case c:
case p:
case g:
case m:
case l:
return e;
default:
return t
}
}
case i:
return t
}
}
}
function w(e) {
return x(e) === d
}
t.AsyncMode = u, t.ConcurrentMode = d, t.ContextConsumer = c, t.ContextProvider = l, t.Element = r, t.ForwardRef = p, t.Fragment = a, t.Lazy = g, t.Memo = m, t.Portal = i, t.Profiler = s, t.StrictMode = o, t.Suspense = h, t.isAsyncMode = function(e) {
return w(e) || x(e) === u
}, t.isConcurrentMode = w, t.isContextConsumer = function(e) {
return x(e) === c
}, t.isContextProvider = function(e) {
return x(e) === l
}, t.isElement = function(e) {
return "object" === typeof e && null !== e && e.$$typeof === r
}, t.isForwardRef = function(e) {
return x(e) === p
}, t.isFragment = function(e) {
return x(e) === a
}, t.isLazy = function(e) {
return x(e) === g
}, t.isMemo = function(e) {
return x(e) === m
}, t.isPortal = function(e) {
return x(e) === i
}, t.isProfiler = function(e) {
return x(e) === s
}, t.isStrictMode = function(e) {
return x(e) === o
}, t.isSuspense = function(e) {
return x(e) === h
}, t.isValidElementType = function(e) {
return "string" === typeof e || "function" === typeof e || e === a || e === d || e === s || e === o || e === h || e === f || "object" === typeof e && null !== e && (e.$$typeof === g || e.$$typeof === m || e.$$typeof === l || e.$$typeof === c || e.$$typeof === p || e.$$typeof === y || e.$$typeof === _ || e.$$typeof === b || e.$$typeof === v)
}, t.typeOf = x
},
8309: (e, t, n) => {
"use strict";
e.exports = n(746)
},
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 = "", i = 0, a = -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 (a === s - 1 || 1 === o);
else if (a !== s - 1 && 2 === o) {
if (r.length < 2 || 2 !== i || 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 = "", i = 0) : i = (r = r.slice(0, l)).length - 1 - r.lastIndexOf("/"), a = s, o = 0;
continue
}
} else if (2 === r.length || 1 === r.length) {
r = "", i = 0, a = s, o = 0;
continue
}
t && (r.length > 0 ? r += "/.." : r = "..", i = 2)
} else r.length > 0 ? r += "/" + e.slice(a + 1, s) : r = e.slice(a + 1, s), i = s - a - 1;
a = s, o = 0
} else 46 === n && -1 !== o ? ++o : o = -1
}
return r
}
var r = {
resolve: function() {
for (var e, r = "", i = !1, a = arguments.length - 1; a >= -1 && !i; a--) {
var o;
a >= 0 ? o = arguments[a] : (void 0 === e && (e = process.cwd()), o = e), t(o), 0 !== o.length && (r = o + "/" + r, i = 47 === o.charCodeAt(0))
}
return r = n(r, !i), i ? r.length > 0 ? "/" + r : "/" : r.length > 0 ? r : "."
},
normalize: function(e) {
if (t(e), 0 === e.length) return ".";
var r = 47 === e.charCodeAt(0),
i = 47 === e.charCodeAt(e.length - 1);
return 0 !== (e = n(e, !r)).length || r || (e = "."), e.length > 0 && i && (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 i = arguments[n];
t(i), i.length > 0 && (void 0 === e ? e = i : e += "/" + i)
}
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 i = 1; i < e.length && 47 === e.charCodeAt(i); ++i);
for (var a = e.length, o = a - i, 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(i + d) ? u = d : 0 === d && (u = 0));
break
}
var p = e.charCodeAt(i + d);
if (p !== n.charCodeAt(s + d)) break;
47 === p && (u = d)
}
var h = "";
for (d = i + u + 1; d <= a; ++d) d !== a && 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, i = -1, a = !0, o = e.length - 1; o >= 1; --o)
if (47 === (n = e.charCodeAt(o))) {
if (!a) {
i = o;
break
}
} else a = !1;
return -1 === i ? r ? "/" : "." : r && 1 === i ? "//" : e.slice(0, i)
},
basename: function(e, n) {
if (void 0 !== n && "string" !== typeof n) throw new TypeError('"ext" argument must be a string');
t(e);
var r, i = 0,
a = -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) {
i = r + 1;
break
}
} else - 1 === l && (o = !1, l = r + 1), s >= 0 && (c === n.charCodeAt(s) ? -1 === --s && (a = r) : (s = -1, a = l))
}
return i === a ? a = l : -1 === a && (a = e.length), e.slice(i, a)
}
for (r = e.length - 1; r >= 0; --r)
if (47 === e.charCodeAt(r)) {
if (!o) {
i = r + 1;
break
}
} else - 1 === a && (o = !1, a = r + 1);
return -1 === a ? "" : e.slice(i, a)
},
extname: function(e) {
t(e);
for (var n = -1, r = 0, i = -1, a = !0, o = 0, s = e.length - 1; s >= 0; --s) {
var l = e.charCodeAt(s);
if (47 !== l) - 1 === i && (a = !1, i = s + 1), 46 === l ? -1 === n ? n = s : 1 !== o && (o = 1) : -1 !== n && (o = -1);
else if (!a) {
r = s + 1;
break
}
}
return -1 === n || -1 === i || 0 === o || 1 === o && n === i - 1 && n === r + 1 ? "" : e.slice(n, i)
},
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, i = e.charCodeAt(0),
a = 47 === i;
a ? (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 !== (i = e.charCodeAt(u))) - 1 === l && (c = !1, l = u + 1), 46 === i ? -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 && a ? e.slice(1, l) : e.slice(s, l)) : (0 === s && a ? (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) : a && (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
}
}
};
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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = this && this.__exportStar || function(e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n)
},
a = this && this.__importDefault || function(e) {
return e && e.__esModule ? e : {
default: e
}
};
Object.defineProperty(t, "__esModule", {
value: !0
}), t.configuration = void 0, i(n(375), t), i(n(2335), t);
var o = n(4379);
Object.defineProperty(t, "configuration", {
enumerable: !0,
get: function() {
return a(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(n(9316), t), i(n(6735), t), i(n(2130), t), i(n(2383), t), i(n(8762), t), i(n(2859), t), i(n(7433), t), i(n(8675), t), i(n(5465), t), i(n(7798), t), i(n(8533), t), i(n(6423), t), i(n(3081), t), i(n(712), t), i(n(3621), t), i(n(730), t), i(n(8577), t), i(n(5535), t), i(n(2682), t), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(n(4925), t)
},
4925: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.installer = void 0, t.installer = {
INSTALLER_FIX_PERMISSIONS: "installer@fix-permissions",
INSTALLER_FIX_PERMISSIONS_SUCCESSFUL: "installer@fix-permissions-successful",
INSTALLER_FIX_PERMISSIONS_FAILED: "installer@fix-permissions-failed",
INSTALLER_DOWNLOAD_START: "installer@initial-download-start",
INSTALLER_RETRIEVE_REMOTE_FILE_START: "installer@retrieve-remote-file-list-start",
INSTALLER_UPDATE_FILE_P4K_START: "installer@update-files-inside-p4k-start",
INSTALLER_UPDATE_LOOSE_FILE_START: "installer@update-loose-files-start",
INSTALLER_UPDATE_PK4_START: "installer@update-p4k-structure-start",
INSTALLER_VERIFICATION_START: "installer@p4k-verification-start",
INSTALLER_DOWNLOAD_PROGRESS: "installer@initial-download-progress",
INSTALLER_RETRIEVE_REMOTE_FILE_PROGRESS: "installer@retrieve-remote-file-list-progress",
INSTALLER_UPDATE_FILE_P4K_PROGRESS: "installer@update-files-inside-p4k-progress",
INSTALLER_UPDATE_LOOSE_FILE_PROGRESS: "installer@update-loose-files-progress",
INSTALLER_VERIFICATION_PROGRESS: "installer@p4k-verification-progress",
COMPUTE_FILE_LIST_DIFFERENCE_START: "installer@compute-file-list-difference-start",
COMPUTE_FILE_LIST_DIFFERENCE_END: "installer@compute-file-list-difference-end",
INSTALLER_DOWNLOAD_END: "installer@initial-download-end",
INSTALLER_RETRIEVE_REMOTE_FILE_END: "installer@retrieve-remote-file-list-end",
INSTALLER_UPDATE_FILE_P4K_END: "installer@update-files-inside-p4k-end",
INSTALLER_UPDATE_LOOSE_FILE_END: "installer@update-loose-files-end",
INSTALLER_UPDATE_PK4_END: "installer@update-p4k-structure-end",
INSTALLER_VERIFICATION_END: "installer@p4k-verification-end",
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_CANCEL: "installer@cancel",
INSTALLER_CANCEL_SUCCESSFUL: "installer@cancel-successful",
INSTALLER_CANCEL_FAILED: "installer@cancel-failed",
INSTALLER_SET_OPTIONS: "installer@set-option",
INSTALLER_SET_OPTION_SUCCESSFUL: "installer@set-option-successful",
INSTALLER_INSTALL: "installer@install",
INSTALLER_INSTALL_SUCCESSFUL: "installer@install-successful",
INSTALLER_INSTALL_FAILED: "installer@install-failed",
INSTALLER_INSTALL_PROGRESS: "installer@install-progress",
INSTALLER_UNINSTALL: "installer@uninstall",
INSTALLER_UNINSTALL_SUCCESSFUL: "installer@uninstall-successful",
INSTALLER_UNINSTALL_FAILED: "installer@uninstall-failed"
}
},
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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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_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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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,
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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(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: i = null
}) {
super(e), Object.setPrototypeOf(this, n.prototype), this.code = r, this.payload = i
}
}
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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(n(2700), t), i(n(5320), t), i(n(728), t), i(n(6565), t), i(n(2358), t), i(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),
i = 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_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), i.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_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"
}), i.LauncherSupportErrorsCodes);
class a 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, a.prototype), this.code = n, this.payload = r
}
}
t.InstallerError = a;
class o extends a {
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 a {
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 a {
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 a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NOT_MAPPED_ERRORS,
payload: n
}), Object.setPrototypeOf(this, o.prototype)
}
};
class s extends a {
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 a {
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 a {
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 a {
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 a {
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 a {
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 a {
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 a {
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 a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_DOWNLOAD_UNSUCCESSFULL,
payload: n
}), Object.setPrototypeOf(this, f.prototype)
}
};
class m extends a {
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 a {
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 a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_IO_ERROR,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.P4KError = class extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_P4K_ERROR,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.InvalidArgumentTypeError = class extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_INVALID_ARGUMENT_TYPE,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.ExceptionU00Error = class extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_EXCEPTION_U_00,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.NetworkCouldNotResolveHostError = class extends a {
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 a {
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 a {
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 a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_NETWORK_DEFAULT,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.Error21Error = class extends a {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificInstallerErrorsCodes.ERR_ERROR_21,
payload: n
}), Object.setPrototypeOf(this, g.prototype)
}
};
t.CancelError = class extends a {
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),
i = n(5320);
t.serializerInstallerErrors = e => {
const {
code: t,
message: n,
payload: a
} = e;
switch (t) {
case r.InstallerErrorsNames.ERR_DISK_FULL:
return new r.DiskFullError(n, a);
case r.InstallerErrorsNames.ERR_WRITE_PERMISSION:
return new r.WritePermissionsError(n, a);
case r.InstallerErrorsNames.ERR_FILE_IN_USE:
return new r.FileInUseError(n, a);
case r.InstallerErrorsNames.ERR_RETRIEVE_MANIFEST:
return new r.RetrieveManifestError(n, a);
case r.InstallerErrorsNames.ERR_P4K_CORRUPTED:
return new r.Pk4CorruptedError(n, a);
case r.InstallerErrorsNames.ERR_BASE_P4K_CORRUPTED:
return new r.BasePackP4kCorruptedError(n, a);
case r.InstallerErrorsNames.ERR_UNKNOWN_NETWORK_ERROR:
return new r.PatcherUnknownNetworkError(n, a);
case r.InstallerErrorsNames.ERR_PATCHER_UNKNOWN:
return new r.PatcherGenericError(n, a);
case r.InstallerErrorsNames.ERR_DOWNLOAD_UNSUCCESSFULL:
return new r.DownloadUnsuccessfullError(n, a);
case r.InstallerErrorsNames.ERR_IO_ERROR:
return new r.IOError(n, a);
case r.InstallerErrorsNames.ERR_P4K_ERROR:
return new r.P4KError(n, a);
case r.InstallerErrorsNames.ERR_INVALID_ARGUMENT_TYPE:
return new r.InvalidArgumentTypeError(n, a);
case r.InstallerErrorsNames.ERR_EXCEPTION_U_00:
return new r.ExceptionU00Error(n, a);
case r.InstallerErrorsNames.ERR_NETWORK_COULD_NOT_RESOLVE_HOST:
case r.InstallerErrorsNames.ERR_NETWORK_FAILED_TO_RECEIVE_HANDSHAKE:
return new r.NetworkFailedToRecieveHandshakeError(n, a);
case r.InstallerErrorsNames.ERR_NETWORK_TOO_MANY_FILES_FAILED:
return new r.NetworkTooManyFilesFailedError(n, a);
case r.InstallerErrorsNames.ERR_NETWORK_DEFAULT:
return new r.NetworkDefaultError(n, a);
case r.InstallerErrorsNames.ERR_ERROR_21:
return new r.Error21Error(n, a);
case r.InstallerErrorsNames.ERR_INIT_UNKNOWN:
return new r.BasePackGenericError(n, a);
case r.InstallerErrorsNames.ERR_INVALID_MD_FILE:
return new r.InvalidMDFileError(n, a);
case r.InstallerErrorsNames.ERR_INVALID_MD_FILE_HEADER:
return new r.InvalidMDFileHeaderError(n, a);
case r.InstallerErrorsNames.ERR_MD_FILE_HEADER_NOT_FOUND:
return new r.MDFileHeaderNotFoundError(n, a);
case r.InstallerErrorsNames.ERR_NOT_MAPPED_ERRORS:
return new r.NotMappedError(n, a);
case r.InstallerErrorsNames.ERR_INIT_DISK_FULL:
return new r.DiskFullError(n, a);
case r.InstallerErrorsNames.ERR_LS_PERMISSION:
return new i.LSPermissionError(n, a);
case r.InstallerErrorsNames.ERR_LS_CREATE_DIRECTORY:
return new i.LSCreateDirectoryError(n, a);
case r.InstallerErrorsNames.ERR_LS_FIX_PERMISSION:
return new i.LSFixPermissionError(n, a);
case r.InstallerErrorsNames.ERR_FIX_PERMISSIONS:
return new r.FixPermissionError(n, a);
case r.InstallerErrorsNames.ERR_CANCEL_FAIL:
return new r.CancelError(n, a);
default:
return new r.InstallerError({
code: r.LauncherSpecificInstallerErrorsCodes.ERR_INSTALL_UNKNOWN,
message: n,
payload: a
})
}
}
},
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 i 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, i.prototype), this.code = n, this.payload = r
}
}
t.LaunchError = i;
class a extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_NO_GAME_FILES,
payload: n
}), Object.setPrototypeOf(this, a.prototype)
}
}
t.NoGameFilesError = a;
class o extends i {
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 i {
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: i
} = e;
switch (t) {
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_NO_GAME_FILES:
return new r.NoGameFilesError(n, i);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_EAC:
return new r.EACError(n, i);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_GAME_CRASH:
return new r.GameCrashError(n, i);
case r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN:
default:
return new r.LaunchError({
code: r.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN,
message: n,
payload: i
})
}
}
},
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 i 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, i.prototype), this.code = n, this.payload = r
}
}
t.LauncherSupportError = i;
class a extends i {
constructor(e, n) {
super({
message: e,
code: t.LauncherSupportErrorsCodes.ERR_LS_PERMISSION,
payload: n
}), Object.setPrototypeOf(this, a.prototype)
}
}
t.LSPermissionError = a;
class o extends i {
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 i {
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 i = Object.getOwnPropertyDescriptor(t, n);
i && !("get" in i ? !t.__esModule : i.writable || i.configurable) || (i = {
enumerable: !0,
get: function() {
return t[n]
}
}), Object.defineProperty(e, r, i)
} : function(e, t, n, r) {
void 0 === r && (r = n), e[r] = t[n]
}),
i = 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
}), i(n(6994), t), i(n(8096), t), i(n(7035), t), i(n(2087), t), i(n(5708), t), i(n(4208), t), i(n(7735), t), i(n(3010), t), i(n(4764), t), i(n(9056), t), i(n(4724), t), i(n(6840), t), i(n(9647), t), i(n(4762), t)
},
4208: (e, t) => {
"use strict";
var n, r, i;
Object.defineProperty(t, "__esModule", {
value: !0
}), t.InstallerOptions = t.InstallationStatus = t.InstallationType = void 0,
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"
}(i || (t.InstallerOptions = i = {}))
},
3010: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
})
},
4762: (e, t) => {
"use strict";
var n, r, i;
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"
}(i || (t.LSErrorCodes = i = {}))
},
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.RUNNING = "running", 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, i;
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"
}(i || (t.SystemStatusOrder = i = {}))
},
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: () => a
});
var r = n(8974),
i = n(5391),
a = new class extends r.l {
#e = !0;
#t;
#n;
constructor() {
super(), this.#n = e => {
if (!i.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: () => _,
Ht: () => w,
Kp: () => s,
PN: () => o,
Rm: () => u,
SE: () => a,
VS: () => f,
VX: () => x,
X7: () => c,
Ym: () => d,
ZT: () => i,
_v: () => y,
_x: () => l,
oE: () => b,
sk: () => r,
to: () => p
});
var r = "undefined" === typeof window || "Deno" in window;
function i() {}
function a(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: i,
predicate: a,
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 i || i === t.state.fetchStatus) && !(a && !a(t)))
}
function c(e, t) {
const {
exact: n,
status: r,
predicate: i,
mutationKey: a
} = e;
if (a) {
if (!t.options.mutationKey) return !1;
if (n) {
if (d(t.options.mutationKey) !== d(a)) return !1
} else if (!p(t.options.mutationKey, a)) return !1
}
return (!r || t.state.status === r) && !(i && !i(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,
i = n ? t : Object.keys(t),
a = i.length,
o = n ? [] : {};
let s = 0;
for (let l = 0; l < a; l++) {
const r = n ? l : i[l];
o[r] = h(e[r], t[r]), o[r] === e[r] && s++
}
return r === a && 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 y(e) {
return new Promise((t => {
setTimeout(t, e)
}))
}
function _(e) {
y(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: () => a,
aH: () => o
});
var r = n(1479),
i = r.createContext(void 0),
a = e => {
const t = r.useContext(i);
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(i.Provider, {
value: e
}, t))
}
},
t = {};
function n(r) {
var i = t[r];
if (void 0 !== i) return i.exports;
var a = t[r] = {
exports: {}
};
return e[r].call(a.exports, a, a.exports, n), a.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, i) {
if (1 & i && (r = this(r)), 8 & i) return r;
if ("object" === typeof r && r) {
if (4 & i && r.__esModule) return r;
if (16 & i && "function" === typeof r.then) return r
}
var a = Object.create(null);
n.r(a);
var o = {};
e = e || [null, t({}), t([]), t(t)];
for (var s = 2 & i && 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(a, o), a
}
})(), 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, i, a, o) => {
if (e[r]) e[r].push(i);
else {
var s, l;
if (void 0 !== a)
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 + a) {
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 + a), s.src = r), e[r] = [i];
var p = (t, n) => {
s.onerror = s.onload = null, clearTimeout(h);
var i = e[r];
if (delete e[r], s.parentNode && s.parentNode.removeChild(s), i && i.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 i = n.o(e, t) ? e[t] : void 0;
if (0 !== i)
if (i) r.push(i[2]);
else {
var a = new Promise(((n, r) => i = e[t] = [n, r]));
r.push(i[2] = a);
var o = n.p + n.u(t),
s = new Error;
n.l(o, (r => {
if (n.o(e, t) && (0 !== (i = e[t]) && (e[t] = void 0), i)) {
var a = r && ("load" === r.type ? "missing" : r.type),
o = r && r.target && r.target.src;
s.message = "Loading chunk " + t + " failed.\n(" + a + ": " + o + ")", s.name = "ChunkLoadError", s.type = a, s.request = o, i[1](s)
}
}), "chunk-" + t, t)
}
};
var t = (t, r) => {
var i, a, [o, s, l] = r,
c = 0;
if (o.some((t => 0 !== e[t]))) {
for (i in s) n.o(s, i) && (n.m[i] = s[i]);
if (l) l(n)
}
for (t && t(r); c < o.length; c++) a = o[c], n.o(e, a) && e[a] && e[a][0](), e[a] = 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: "Delete 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_title: "Downloads",
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_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_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}} require 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_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_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 settings 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_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",
settings_games_local_description: "Deleting your local settings will reset the shaders and user folder, this can be useful to troubleshoot any in-game issue you may encounter.",
settings_games_local_button: "DELETE 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: "Delete local settings",
dialog_settings_delete_local_description: "Please choose which files you want to delete."
},
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_title: "T\xe9l\xe9chargements",
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_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_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_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_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: "Param\xe8tres Locaux",
settings_games_local_description: "La suppression de vos param\xe8tres locaux r\xe9initialisera les shaders et les dossiers utilisateur, 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_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_verifying_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_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_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_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_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_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 i(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function a(e) {
var t = function(e, t) {
if ("object" !== r(e) || null === e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var i = n.call(e, t || "default");
if ("object" !== r(i)) return i;
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, a(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 = a(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 y = {
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)
}
},
_ = function() {
function e(t) {
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
i(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 || y, 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 _,
x = function() {
function e() {
i(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 i = [].concat(this.observers[e]);
i.forEach((function(e) {
e.apply(void 0, n)
}))
}
if (this.observers["*"]) {
var a = [].concat(this.observers["*"]);
a.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 i() {
return !e || "string" === typeof e
}
for (var a = "string" !== typeof t ? [].concat(t) : t.split("."); a.length > 1;) {
if (i()) return {};
var o = r(a.shift());
!e[o] && n && (e[o] = new n), e = Object.prototype.hasOwnProperty.call(e, o) ? e[o] : {}
}
return i() ? {} : {
obj: e,
k: r(a.shift())
}
}
function I(e, t, n) {
var r = E(e, t, Object);
r.obj[r.k] = n
}
function O(e, t) {
var n = E(e, t),
r = n.obj,
i = n.k;
if (r) return r[i]
}
function C(e, t, n) {
var r = O(e, n);
return void 0 !== r ? r : O(t, n)
}
function A(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]) : A(e[r], t[r], n) : e[r] = t[r]);
return e
}
function P(e) {
return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
}
var T = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#39;",
"/": "&#x2F;"
};
function R(e) {
return "string" === typeof e ? e.replace(/[&<>"'\/]/g, (function(e) {
return T[e]
})) : e
}
var D = "undefined" !== typeof window && window.navigator && "undefined" === typeof window.navigator.userAgentData && window.navigator.userAgent && window.navigator.userAgent.indexOf("MSIE") > -1,
L = [" ", ",", "?", "!", ";"];
function N(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 j(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? N(Object(n), !0).forEach((function(t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : N(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 i = p(this).constructor;
n = Reflect.construct(r, arguments, i)
} 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), i = e, a = 0; a < r.length; ++a) {
if (!i) return;
if ("string" === typeof i[r[a]] && a + 1 < r.length) return;
if (void 0 === i[r[a]]) {
for (var o = 2, s = r.slice(a, a + o).join(n), l = i[s]; void 0 === l && r.length > a + o;) o++, l = i[s = r.slice(a, a + 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(a + o).join(n);
return c ? F(l, c, n) : void 0
}
i = i[r[a]]
}
return i
}
}
var z = function(e) {
u(n, e);
var t = M(n);
function n(e) {
var r, a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
ns: ["translation"],
defaultNS: "translation"
};
return i(this, n), r = t.call(this), D && x.call(l(r)), r.data = e || {}, r.options = a, 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] : {},
i = void 0 !== r.keySeparator ? r.keySeparator : this.options.keySeparator,
a = 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(i ? n.split(i) : n)), e.indexOf(".") > -1 && (o = e.split("."));
var s = O(this.data, o);
return s || !a || "string" !== typeof n ? s : F(this.data && this.data[e] && this.data[e][t], n, i)
}
}, {
key: "addResource",
value: function(e, t, n, r) {
var i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {
silent: !1
},
a = this.options.keySeparator;
void 0 === a && (a = ".");
var o = [e, t];
n && (o = o.concat(a ? n.split(a) : n)), e.indexOf(".") > -1 && (r = t, t = (o = e.split("."))[1]), this.addNamespaces(t), I(this.data, o, r), i.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 i in n) "string" !== typeof n[i] && "[object Array]" !== Object.prototype.toString.apply(n[i]) || this.addResource(e, t, i, n[i], {
silent: !0
});
r.silent || this.emit("added", e, t, n)
}
}, {
key: "addResourceBundle",
value: function(e, t, n, r, i) {
var a = 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 = O(this.data, o) || {};
r ? A(s, n, i) : s = j(j({}, s), n), I(this.data, o, s), a.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 ? j(j({}, {}), 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),
U = {
processors: {},
addPostProcessor: function(e) {
this.processors[e.name] = e
},
handle: function(e, t, n, r, i) {
var a = this;
return e.forEach((function(e) {
a.processors[e] && (t = a.processors[e].process(t, n, r, i))
})), t
}
};
function V(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 ? V(Object(n), !0).forEach((function(t) {
h(e, t, n[t])
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : V(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 i = p(this).constructor;
n = Reflect.construct(r, arguments, i)
} 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, a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return i(this, n), r = t.call(this), D && x.call(l(r)), S(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], e, l(r)), r.options = a, 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,
i = t.ns || this.options.defaultNS || [],
a = 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 i = new RegExp("(".concat(r.map((function(e) {
return "?" === e ? "\\?" : e
})).join("|"), ")")),
a = !i.test(e);
if (!a) {
var o = e.indexOf(n);
o > 0 && !i.test(e.substring(0, o)) && (a = !0)
}
return a
}(e, n, r);
if (a && !o) {
var s = e.match(this.interpolator.nestingRegexp);
if (s && s.length > 0) return {
key: e,
namespaces: i
};
var l = e.split(n);
(n !== r || n === r && this.options.ns.indexOf(l[0]) > -1) && (i = l.shift()), e = l.join(r)
}
return "string" === typeof i && (i = [i]), {
key: e,
namespaces: i
}
}
}, {
key: "translate",
value: function(e, t, i) {
var a = 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,
y = m && m.exactUsedKey || c,
_ = 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(_) < 0 && ("string" !== typeof x || "[object Array]" !== _)) {
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]" === _,
I = E ? [] : {},
O = E ? y : v;
for (var C in g)
if (Object.prototype.hasOwnProperty.call(g, C)) {
var A = "".concat(O).concat(s).concat(C);
I[C] = this.translate(A, B(B({}, t), {
joinArrays: !1,
ns: u
})), I[C] === A && (I[C] = g[C])
} g = I
}
} else if (w && "string" === typeof x && "[object Array]" === _)(g = g.join(x)) && (g = this.extendTranslation(g, e, t, i));
else {
var P = !1,
T = !1,
R = void 0 !== t.count && "string" !== typeof t.count,
D = n.hasDefaultValue(t),
L = R ? this.pluralResolver.getSuffix(p, t.count, t) : "",
N = t["defaultValue".concat(L)] || t.defaultValue;
!this.isValidLookup(g) && D && (P = !0, g = N), this.isValidLookup(g) || (T = !0, g = c);
var j = t.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey,
M = j && T ? void 0 : g,
F = D && N !== g && this.options.updateMissing;
if (T || P || F) {
if (this.logger.log(F ? "updateKey" : "missingKey", p, d, c, F ? N : 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 U = [],
V = this.languageUtils.getFallbackCodes(this.options.fallbackLng, t.lng || this.language);
if ("fallback" === this.options.saveMissingTo && V && V[0])
for (var G = 0; G < V.length; G++) U.push(V[G]);
else "all" === this.options.saveMissingTo ? U = this.languageUtils.toResolveHierarchy(t.lng || this.language) : U.push(t.lng || this.language);
var $ = function(e, n, r) {
var i = D && r !== g ? r : M;
a.options.missingKeyHandler ? a.options.missingKeyHandler(e, d, n, i, F, t) : a.backendConnector && a.backendConnector.saveMissing && a.backendConnector.saveMissing(e, d, n, i, F, t), a.emit("missingKey", e, d, n, g)
};
this.options.saveMissing && (this.options.saveMissingPlurals && R ? U.forEach((function(e) {
a.pluralResolver.getSuffixes(e, t).forEach((function(n) {
$([e], c + n, t["defaultValue".concat(n)] || N)
}))
})) : $(U, c, N))
}
g = this.extendTranslation(g, e, t, m, i), T && g === c && this.options.appendNamespaceToMissingKey && (g = "".concat(d, ":").concat(c)), (T || P) && this.options.parseMissingKeyHandler && (g = "v1" !== this.options.compatibilityAPI ? this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(d, ":").concat(c) : c, P ? g : void 0) : this.options.parseMissingKeyHandler(g))
}
return o ? (m.res = g, m) : g
}
}, {
key: "extendTranslation",
value: function(e, t, n, r, i) {
var a = 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 i && i[0] === r[0] && !n.context ? (a.logger.warn("It seems you are nesting recursively key: ".concat(r[0], " in key: ").concat(t[0])), null) : a.translate.apply(a, 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 = U.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, i, a, 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) || (a = e, !$["".concat(f[0], "-").concat(e)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(a) && ($["".concat(f[0], "-").concat(e)] = !0, o.logger.warn('key "'.concat(n, '" for languages "').concat(f.join(", "), '" won\'t get resolved as namespace "').concat(a, '" 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)) {
i = n;
var a, 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 (; a = l.pop();) o.isValidLookup(t) || (r = a, t = o.getResource(n, e, a, s))
}
})))
}))
}
})), {
res: t,
usedKey: n,
exactUsedKey: r,
usedLng: i,
usedNS: a
}
}
}, {
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) {
i(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),
i = [],
a = function(e) {
e && (n.isSupportedCode(e) ? i.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 && a(this.formatLanguageCode(e)), "languageOnly" !== this.options.load && "currentOnly" !== this.options.load && a(this.getScriptPartFromCode(e)), "currentOnly" !== this.options.load && a(this.getLanguagePartFromCode(e))) : "string" === typeof e && a(this.formatLanguageCode(e)), r.forEach((function(e) {
i.indexOf(e) < 0 && a(n.formatLanguageCode(e))
})), i
}
}]), 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] : {};
i(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)),
i = e.numbers[r];
this.options.simplifyPluralSuffix && 2 === e.numbers.length && 1 === e.numbers[0] && (2 === i ? i = "plural" : 1 === i && (i = ""));
var a = function() {
return n.options.prepend && i.toString() ? n.options.prepend + i.toString() : i.toString()
};
return "v1" === this.options.compatibilityJSON ? 1 === i ? "" : "number" === typeof i ? "_plural_".concat(i.toString()) : a() : "v2" === this.options.compatibilityJSON || this.options.simplifyPluralSuffix && 2 === e.numbers.length && 1 === e.numbers[0] ? a() : 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] : {};
i(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 : R, this.escapeValue = void 0 === t.escapeValue || t.escapeValue, this.useRawValueToEscape = void 0 !== t.useRawValueToEscape && t.useRawValueToEscape, this.prefix = t.prefix ? P(t.prefix) : t.prefixEscaped || "{{", this.suffix = t.suffix ? P(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 ? P(t.nestingPrefix) : t.nestingPrefixEscaped || P("$t("), this.nestingSuffix = t.nestingSuffix ? P(t.nestingSuffix) : t.nestingSuffixEscaped || P(")"), 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 i, a, 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 i = C(t, l, e);
return s.alwaysFormat ? s.format(i, void 0, n, te(te(te({}, r), t), {}, {
interpolationkey: e
})) : i
}
var a = e.split(s.formatSeparator),
o = a.shift().trim(),
c = a.join(s.formatSeparator).trim();
return s.format(C(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; i = t.regex.exec(e);) {
var n = i[1].trim();
if (void 0 === (a = u(n)))
if ("function" === typeof d) {
var l = d(e, i, r);
a = "string" === typeof l ? l : ""
} else if (r && r.hasOwnProperty(n)) a = "";
else {
if (p) {
a = i[0];
continue
}
s.logger.warn("missed to pass in variable ".concat(n, " for interpolating ").concat(e)), a = ""
} else "string" === typeof a || s.useRawValueToEscape || (a = k(a));
var c = t.safeValue(a);
if (e = e.replace(i[0], c), p ? (t.regex.lastIndex += a.length, t.regex.lastIndex -= i[0].length) : t.regex.lastIndex = 0, ++o >= s.maxReplaces) break
}
})), e
}
}, {
key: "nest",
value: function(e, t) {
var n, r, i, a = 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, "[ ]*{"))),
a = "{".concat(r[1]);
e = r[0];
var o = (a = this.interpolate(a, i)).match(/'/g),
s = a.match(/"/g);
(o && o.length % 2 === 0 && !s || s.length % 2 !== 0) && (a = a.replace(/'/g, '"'));
try {
i = JSON.parse(a), t && (i = te(te({}, t), i))
} catch (l) {
return this.logger.warn("failed parsing options string in nesting for key ".concat(e), l), "".concat(e).concat(n).concat(a)
}
return delete i.defaultValue, e
}
for (; n = this.nestingRegexp.exec(e);) {
var l = [];
(i = (i = te({}, o)).replace && "string" !== typeof i.replace ? i.replace : i).applyPostProcessor = !1, delete i.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(), i), i)) && 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 a.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 ie(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 ae(e) {
var t = {};
return function(n, r, i) {
var a = r + JSON.stringify(i),
o = t[a];
return o || (o = e(r, i), t[a] = o), o(n)
}
}
var oe = function() {
function e() {
var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
i(this, e), this.logger = b.create("formatter"), this.options = t, this.formats = {
number: ae((function(e, t) {
var n = new Intl.NumberFormat(e, t);
return function(e) {
return n.format(e)
}
})),
currency: ae((function(e, t) {
var n = new Intl.NumberFormat(e, ie(ie({}, t), {}, {
style: "currency"
}));
return function(e) {
return n.format(e)
}
})),
datetime: ae((function(e, t) {
var n = new Intl.DateTimeFormat(e, ie({}, t));
return function(e) {
return n.format(e)
}
})),
relativetime: ae((function(e, t) {
var n = new Intl.RelativeTimeFormat(e, ie({}, t));
return function(e) {
return n.format(e, t.range || "day")
}
})),
list: ae((function(e, t) {
var n = new Intl.ListFormat(e, ie({}, 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()] = ae(t)
}
}, {
key: "format",
value: function(e, t, n, r) {
var i = this,
a = t.split(this.formatSeparator).reduce((function(e, t) {
var a = function(e) {
var t = e.toLowerCase().trim(),
n = {};
if (e.indexOf("(") > -1) {
var r = e.split("(");
t = r[0].toLowerCase().trim();
var i = r[1].substring(0, r[1].length - 1);
"currency" === t && i.indexOf(":") < 0 ? n.currency || (n.currency = i.trim()) : "relativetime" === t && i.indexOf(":") < 0 ? n.range || (n.range = i.trim()) : i.split(";").forEach((function(e) {
if (e) {
var t = m(e.split(":")),
r = t[0],
i = t.slice(1).join(":").trim().replace(/^'+|'+$/g, "");
n[r.trim()] || (n[r.trim()] = i), "false" === i && (n[r.trim()] = !1), "true" === i && (n[r.trim()] = !0), isNaN(i) || (n[r.trim()] = parseInt(i, 10))
}
}))
}
return {
formatName: t,
formatOptions: n
}
}(t),
o = a.formatName,
s = a.formatOptions;
if (i.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 = i.formats[o](e, u, ie(ie(ie({}, s), r), c))
} catch (d) {
i.logger.warn(d)
}
return l
}
return i.logger.warn("there was no format function for ".concat(o)), e
}), e);
return a
}
}]), 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 i = p(this).constructor;
n = Reflect.construct(r, arguments, i)
} 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, a) {
var o, s = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
return i(this, n), o = t.call(this), D && x.call(l(o)), o.backend = e, o.store = r, o.services = a, o.languageUtils = a.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(a, s.backend, s), o
}
return s(n, [{
key: "queueLoad",
value: function(e, t, n, r) {
var i = this,
a = {},
o = {},
s = {},
l = {};
return e.forEach((function(e) {
var r = !0;
t.forEach((function(t) {
var s = "".concat(e, "|").concat(t);
!n.reload && i.store.hasResourceBundle(e, t) ? i.state[s] = 2 : i.state[s] < 0 || (1 === i.state[s] ? void 0 === o[s] && (o[s] = !0) : (i.state[s] = 1, r = !1, void 0 === o[s] && (o[s] = !0), void 0 === a[s] && (a[s] = !0), void 0 === l[t] && (l[t] = !0)))
})), r || (s[e] = !0)
})), (Object.keys(a).length || Object.keys(o).length) && this.queue.push({
pending: o,
pendingCount: Object.keys(o).length,
loaded: {},
errors: [],
callback: r
}), {
toLoad: Object.keys(a),
pending: Object.keys(o),
toLoadLanguages: Object.keys(s),
toLoadNamespaces: Object.keys(l)
}
}
}, {
key: "loaded",
value: function(e, t, n) {
var r = e.split("|"),
i = r[0],
a = r[1];
t && this.emit("failedLoading", i, a, t), n && this.store.addResourceBundle(i, a, n), this.state[e] = t ? -1 : 2;
var o = {};
this.queue.forEach((function(n) {
! function(e, t, n, r) {
var i = E(e, t, Object),
a = i.obj,
o = i.k;
a[o] = a[o] || [], r && (a[o] = a[o].concat(n)), r || a[o].push(n)
}(n.loaded, [i], a),
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,
i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
a = 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: i,
wait: a,
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 && i < r.maxRetries ? setTimeout((function() {
r.read.call(r, e, t, n, i + 1, 2 * a, o)
}), a) : 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] : {},
i = 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."), i && i();
"string" === typeof e && (e = this.languageUtils.toResolveHierarchy(e)), "string" === typeof t && (t = [t]);
var a = this.queueLoad(e, t, r, i);
if (!a.toLoad.length) return a.pending.length || i(), null;
a.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("|"),
i = r[0],
a = r[1];
this.read(i, a, "read", void 0, void 0, (function(r, o) {
r && t.logger.warn("".concat(n, "loading namespace ").concat(a, " for language ").concat(i, " failed"), r), !r && o && t.logger.log("".concat(n, "loaded namespace ").concat(a, " for language ").concat(i), o), t.loaded(e, r, o)
}))
}
}, {
key: "saveMissing",
value: function(e, t, n, r, i) {
var a = 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({}, a), {}, {
isUpdate: i
}),
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 i = p(this).constructor;
n = Reflect.construct(r, arguments, i)
} 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 ye = function(e) {
u(n, e);
var t = me(n);
function n() {
var e, r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
a = arguments.length > 1 ? arguments[1] : void 0;
if (i(this, n), e = t.call(this), D && x.call(l(e)), e.options = pe(r), e.services = {}, e.logger = b, e.modules = {
external: []
}, ve(l(e)), a && !e.isInitialized && !r.isClone) {
if (!e.options.initImmediate) return e.init(r, a), d(e, l(e));
setTimeout((function() {
e.init(r, a)
}), 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 i(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 a;
this.modules.logger ? b.init(i(this.modules.logger), this.options) : b.init(null, this.options), this.modules.formatter ? a = this.modules.formatter : "undefined" !== typeof Intl && (a = 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
}), !a || this.options.interpolation.format && this.options.interpolation.format !== r.interpolation.format || (s.formatter = i(a), 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(i(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), i = 1; i < n; i++) r[i - 1] = arguments[i];
e.emit.apply(e, [t].concat(r))
})), this.modules.languageDetector && (s.languageDetector = i(this.modules.languageDetector), s.languageDetector.init && s.languageDetector.init(s, this.options.detection, this.options)), this.modules.i18nFormat && (s.i18nFormat = i(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), i = 1; i < n; i++) r[i - 1] = arguments[i];
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,
i = "string" === typeof e ? e : this.language;
if ("function" === typeof e && (r = e), !this.options.resources || this.options.partialBundledLanguages) {
if (i && "cimode" === i.toLowerCase()) return r();
var a = [],
o = function(e) {
e && t.services.languageUtils.toResolveHierarchy(e).forEach((function(e) {
a.indexOf(e) < 0 && a.push(e)
}))
};
if (i) o(i);
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(a, 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 && U.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 i = function(e) {
n.language = e, n.languages = n.services.languageUtils.toResolveHierarchy(e), n.resolvedLanguage = void 0, n.setResolvedLanguage(e)
},
a = function(a) {
e || a || !n.services.languageDetector || (a = []);
var o = "string" === typeof a ? a : n.services.languageUtils.getBestMatchFromCodes(a);
o && (n.language || i(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, a) {
a ? (i(a), n.translator.changeLanguage(a), n.isLanguageChangingTo = void 0, n.emit("languageChanged", a), n.logger.log("languageChanged", a)) : 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(a) : this.services.languageDetector.detect(a) : a(e) : a(this.services.languageDetector.detect()), r
}
}, {
key: "getFixedT",
value: function(e, t, n) {
var i = this,
a = function e(t, a) {
var o;
if ("object" !== r(a)) {
for (var s = arguments.length, l = new Array(s > 2 ? s - 2 : 0), c = 2; c < s; c++) l[c - 2] = arguments[c];
o = i.options.overloadTranslationOptionHandler([t, a].concat(l))
} else o = fe({}, a);
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 = i.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, i.t(u, o)
};
return "string" === typeof e ? a.lng = e : a.lngs = e, a.ns = t, a.keyPrefix = n, a
}
}, {
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],
i = !!this.options && this.options.fallbackLng,
a = 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) || i && !o(a, 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 || [],
i = e.filter((function(e) {
return r.indexOf(e) < 0
}));
return i.length ? (this.options.preload = r.concat(i), 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,
i = fe(fe(fe({}, this.options), t), {
isClone: !0
}),
a = new n(i);
void 0 === t.debug && void 0 === t.prefix || (a.logger = a.logger.clone(t));
var o = ["store", "services", "language"];
return o.forEach((function(t) {
a[t] = e[t]
})), a.services = fe({}, this.services), a.services.utils = {
hasLoadedNamespace: a.hasLoadedNamespace.bind(a)
}, a.translator = new q(a.services, a.options), a.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];
a.emit.apply(a, [e].concat(n))
})), a.init(i, r), a.translator.options = a.options, a.translator.backendConnector.services.utils = {
hasLoadedNamespace: a.hasLoadedNamespace.bind(a)
}, a
}
}, {
key: "toJSON",
value: function() {
return {
options: this.options,
store: this.store,
language: this.language,
languages: this.languages,
resolvedLanguage: this.resolvedLanguage
}
}
}]), n
}(x);
h(ye, "createInstance", (function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 ? arguments[1] : void 0;
return new ye(e, t)
}));
var _e = ye.createInstance();
_e.createInstance = ye.createInstance;
_e.createInstance, _e.dir, _e.init, _e.loadResources, _e.reloadResources, _e.use, _e.changeLanguage, _e.getFixedT;
var be = _e.t;
_e.exists, _e.setDefaultNamespace, _e.hasLoadedNamespace, _e.loadNamespaces, _e.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, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}
var Ee = n(1479),
Ie = n.t(Ee, 2),
Oe = n(7399),
Ce = n.n(Oe),
Ae = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;
function Pe(e) {
var t = {
type: "tag",
name: "",
voidElement: !1,
attrs: {},
children: []
},
n = e.match(/<\/?([^\s]+?)[/\s>]/);
if (n && (t.name = n[1], (Ce()[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 i = new RegExp(Ae), a = null; null !== (a = i.exec(e));)
if (a[0].trim())
if (a[1]) {
var o = a[1].trim(),
s = [o, ""];
o.indexOf("=") > -1 && (s = o.split("=")), t.attrs[s[0]] = s[1], i.lastIndex--
} else a[2] && (t.attrs[a[2]] = a[3].trim().substring(1, a[3].length - 1));
return t
}
var Te = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,
Re = /^\s*$/,
De = 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 Ne = {
parse: function(e, t) {
t || (t = {}), t.components || (t.components = De);
var n, r = [],
i = [],
a = -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 = Pe(s);
return a < 0 ? (r.push(f), r) : ((c = i[a]).children.push(f), r)
}
if (u && (a++, "tag" === (n = Pe(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 === a && r.push(n), (c = i[a - 1]) && c.children.push(n), i[a] = n), (!u || n.voidElement) && (a > -1 && (n.voidElement || n.name === s.slice(2, -1)) && (a--, n = -1 === a ? r : i[a]), !o && "<" !== h && h)) {
c = -1 === a ? r : i[a].children;
var m = e.indexOf("<", p),
g = e.slice(p, -1 === m ? void 0 : m);
Re.test(g) && (g = " "), (m > -1 && a + 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 je = Ne;
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 Ue(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 Ve(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
r = t.languages[0],
i = !!t.options && t.options.fallbackLng,
a = 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) || i && !o(a, 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
}
}) : Ve(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 it(e) {
return Array.isArray(e) ? e : [e]
}
function at(e, t) {
if (!e) return "";
var n = "",
r = it(e),
i = 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 a = Object.keys(e.props).length,
o = i.indexOf(e.type) > -1,
s = e.props.children;
if (!s && o && 0 === a) n += "<".concat(e.type, "/>");
else if (s || o && 0 === a)
if (e.props.i18nIsDynamicList) n += "<".concat(r, "></").concat(r, ">");
else if (o && 1 === a && "string" === typeof s) n += "<".concat(e.type, ">").concat(s, "</").concat(e.type, ">");
else {
var l = at(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, i, a) {
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) {
it(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 = je.parse("<0>".concat(t, "</0>")),
u = tt(tt({}, l), i);
function d(e, t, n) {
var r = rt(e),
i = 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 === i.length ? r : i
}
function p(e, t, n, r, i) {
e.dummy && (e.children = t), n.push((0, Ee.cloneElement)(e, tt(tt({}, e.props), {}, {
key: r
}), i ? void 0 : t))
}
function h(t, i, l) {
var c = it(t);
return it(i).reduce((function(t, i, f) {
var m = i.children && i.children[0] && i.children[0].content && n.services.interpolator.interpolate(i.children[0].content, u, n.language);
if ("tag" === i.type) {
var g = c[parseInt(i.name, 10)];
!g && 1 === l.length && l[0][i.name] && (g = l[0][i.name]), g || (g = {});
var v = 0 !== Object.keys(i.attrs).length ? function(e, t) {
var n = tt({}, t);
return n.props = Object.assign(e.props, t.props), n
}({
props: i.attrs
}, g) : g,
y = (0, Ee.isValidElement)(v),
_ = y && nt(i, !0) && !i.voidElement,
b = s && "object" === xe(v) && v.dummy && !y,
x = "object" === xe(e) && null !== e && Object.hasOwnProperty.call(e, i.name);
if ("string" === typeof v) {
var w = n.services.interpolator.interpolate(v, u, n.language);
t.push(w)
} else if (nt(v) || _) {
p(v, d(v, i, l), t, f)
} else if (b) {
var k = h(c, i.children, l);
t.push((0, Ee.cloneElement)(v, tt(tt({}, v.props), {}, {
key: f
}), k))
} else if (Number.isNaN(parseFloat(i.name))) {
if (x) p(v, d(v, i, l), t, f, i.voidElement);
else if (r.transSupportBasicHtmlNodes && o.indexOf(i.name) > -1)
if (i.voidElement) t.push((0, Ee.createElement)(i.name, {
key: "".concat(i.name, "-").concat(f)
}));
else {
var S = h(c, i.children, l);
t.push((0, Ee.createElement)(i.name, {
key: "".concat(i.name, "-").concat(f)
}, S))
}
else if (i.voidElement) t.push("<".concat(i.name, " />"));
else {
var E = h(c, i.children, l);
t.push("<".concat(i.name, ">").concat(E, "</").concat(i.name, ">"))
}
} else if ("object" !== xe(v) || y) 1 === i.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 = i.children[0] ? m : null;
I && t.push(I)
}
} else if ("text" === i.type) {
var O = r.transWrapTextNodes,
C = a ? r.unescape(n.services.interpolator.interpolate(i.content, u, n.language)) : n.services.interpolator.interpolate(i.content, u, n.language);
O ? t.push((0, Ee.createElement)(O, {
key: "".concat(i.name, "-").concat(f)
}, C)) : t.push(C)
}
return t
}), [])
}
return rt(h([{
dummy: !0,
children: e || []
}], c, it(e || []))[0])
}
function st(e) {
var t = e.children,
n = e.count,
r = e.parent,
i = e.i18nKey,
a = 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
};
a && (s.context = a);
var y = tt(tt({}, Qe()), g.options && g.options.react),
_ = d || v.ns || g.options && g.options.defaultNS;
_ = "string" === typeof _ ? [_] : _ || ["translation"];
var b = c || at(t, y) || y.transEmptyNodeValue || i,
x = y.hashTransKey,
w = i || (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: _
}),
E = ot(u || t, w ? v(w, S) : b, g, y, S, f),
I = void 0 !== r ? r : y.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,
i = e.i18nKey,
a = 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,
y = g.defaultNS,
_ = p || v || Ze(),
b = h || _ && _.t.bind(_);
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: i,
context: a,
tOptions: s,
values: l,
defaults: c,
components: u,
ns: d || b && b.ns || y || _ && _.options && _.options.defaultNS,
i18n: _,
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, i, a, o, s = [],
l = !0,
c = !1;
try {
if (a = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
l = !1
} else
for (; !(l = (r = a.call(n)).done) && (s.push(r.value), s.length !== t); l = !0);
} catch (u) {
c = !0, i = u
} finally {
try {
if (!l && null != n.return && (o = n.return(), Object(o) !== o)) return
} finally {
if (c) throw i
}
}
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 yt(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 _t = 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) || {},
i = r.i18n,
a = r.defaultNS,
o = n || i || 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 = yt(yt(yt({}, Qe()), o.options.react), t),
u = c.useSuspense,
d = c.keyPrefix,
p = e || a || 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],
y = g[1],
_ = p.join(),
b = _t(_),
x = (0, Ee.useRef)(!0);
(0, Ee.useEffect)((function() {
var e = c.bindI18n,
t = c.bindI18nStore;
function n() {
x.current && y(f)
}
return x.current = !0, h || u || Ue(o, p, (function() {
x.current && y(f)
})), h && b && b !== _ && x.current && y(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, _]);
var w = (0, Ee.useRef)(!0);
(0, Ee.useEffect)((function() {
x.current && !w.current && y(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) {
Ue(o, p, (function() {
e()
}))
}))
}
_e.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 = _e,
wt = "8.34.0",
kt = globalThis;
function St(e, t, n) {
const r = n || kt,
i = r.__SENTRY__ = r.__SENTRY__ || {},
a = i[wt] = i[wt] || {};
return a[e] || (a[e] = t())
}
const Et = "production";
function It() {
return Ot(kt), kt
}
function Ot(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || wt, t[wt] = t[wt] || {}
}
const Ct = Object.prototype.toString;
function At(e) {
switch (Ct.call(e)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
case "[object WebAssembly.Exception]":
return !0;
default:
return zt(e, Error)
}
}
function Pt(e, t) {
return Ct.call(e) === `[object ${t}]`
}
function Tt(e) {
return Pt(e, "ErrorEvent")
}
function Rt(e) {
return Pt(e, "DOMError")
}
function Dt(e) {
return Pt(e, "String")
}
function Lt(e) {
return "object" === typeof e && null !== e && "__sentry_template_string__" in e && "__sentry_template_values__" in e
}
function Nt(e) {
return null === e || Lt(e) || "object" !== typeof e && "function" !== typeof e
}
function jt(e) {
return Pt(e, "Object")
}
function Mt(e) {
return "undefined" !== typeof Event && zt(e, Event)
}
function Ft(e) {
return Boolean(e && e.then && "function" === typeof e.then)
}
function zt(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
function Ut(e) {
return !("object" !== typeof e || null === e || !e.__isVue && !e._isVue)
}
const Vt = kt;
function Bt(e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5,
i = [];
let a = 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 && a++ < r && (c = Gt(n, u), !("html" === c || a > 1 && o + i.length * l + c.length >= d));) i.push(c), o += c.length, n = n.parentNode;
return i.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}
function Gt(e, t) {
const n = e,
r = [];
if (!n || !n.tagName) return "";
if (Vt.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 i = t && t.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (i && i.length) i.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
}));
else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && Dt(e)) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const a = ["aria-label", "type", "name", "title", "alt"];
for (const o of a) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
const $t = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
qt = ["debug", "info", "warn", "error", "log", "assert", "trace"],
Wt = {};
function Ht(e) {
if (!("console" in kt)) return e();
const t = kt.console,
n = {},
r = Object.keys(Wt);
r.forEach((e => {
const r = Wt[e];
n[e] = t[e], t[e] = r
}));
try {
return e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}
const Kt = St("logger", (function() {
let e = !1;
const t = {
enable: () => {
e = !0
},
disable: () => {
e = !1
},
isEnabled: () => e
};
return $t ? qt.forEach((n => {
t[n] = (...t) => {
e && Ht((() => {
kt.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : qt.forEach((e => {
t[e] = () => {}
})), t
}));
function Yt(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0,t)}...`
}
function Qt(e, t) {
if (!Array.isArray(e)) return "";
const n = [];
for (let i = 0; i < e.length; i++) {
const t = e[i];
try {
Ut(t) ? n.push("[VueViewModel]") : n.push(String(t))
} catch (r) {
n.push("[value cannot be serialized]")
}
}
return n.join(t)
}
function Zt(e, t, n = !1) {
return !!Dt(e) && (Pt(t, "RegExp") ? t.test(e) : !!Dt(t) && (n ? e === t : e.includes(t)))
}
function Xt(e, t = [], n = !1) {
return t.some((t => Zt(e, t, n)))
}
function Jt(e, t, n) {
if (!(t in e)) return;
const r = e[t],
i = n(r);
"function" === typeof i && tn(i, r), e[t] = i
}
function en(e, t, n) {
try {
Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
})
} catch (r) {
$t && Kt.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function tn(e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, en(e, "__sentry_original__", t)
} catch (n) {}
}
function nn(e) {
return e.__sentry_original__
}
function rn(e) {
if (At(e)) return {
message: e.message,
name: e.name,
stack: e.stack,
...on(e)
};
if (Mt(e)) {
const t = {
type: e.type,
target: an(e.target),
currentTarget: an(e.currentTarget),
...on(e)
};
return "undefined" !== typeof CustomEvent && zt(e, CustomEvent) && (t.detail = e.detail), t
}
return e
}
function an(e) {
try {
return t = e, "undefined" !== typeof Element && zt(t, Element) ? Bt(e) : Object.prototype.toString.call(e)
} catch (n) {
return "<unknown>"
}
var t
}
function on(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 sn(e) {
return ln(e, new Map)
}
function ln(e, t) {
if (function(e) {
if (!jt(e)) return !1;
try {
const t = Object.getPrototypeOf(e).constructor.name;
return !t || "Object" === t
} catch (t) {
return !0
}
}(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = {};
t.set(e, r);
for (const i of Object.getOwnPropertyNames(e)) "undefined" !== typeof e[i] && (r[i] = ln(e[i], t));
return r
}
if (Array.isArray(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = [];
return t.set(e, r), e.forEach((e => {
r.push(ln(e, t))
})), r
}
return e
}
function cn() {
const e = kt,
t = e.crypto || e.msCrypto;
let n = () => 16 * Math.random();
try {
if (t && t.randomUUID) return t.randomUUID().replace(/-/g, "");
t && t.getRandomValues && (n = () => {
const e = new Uint8Array(1);
return t.getRandomValues(e), e[0]
})
} catch (zM) {}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & n()) >> e / 4).toString(16)))
}
function un(e) {
return e.exception && e.exception.values ? e.exception.values[0] : void 0
}
function dn(e) {
const {
message: t,
event_id: n
} = e;
if (t) return t;
const r = un(e);
return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || n || "<unknown>" : n || "<unknown>"
}
function pn(e, t, n) {
const r = e.exception = e.exception || {},
i = r.values = r.values || [],
a = i[0] = i[0] || {};
a.value || (a.value = t || ""), a.type || (a.type = n || "Error")
}
function hn(e, t) {
const n = un(e);
if (!n) return;
const r = n.mechanism;
if (n.mechanism = {
type: "generic",
handled: !0,
...r,
...t
}, t && "data" in t) {
const e = {
...r && r.data,
...t.data
};
n.mechanism.data = e
}
}
function fn(e) {
if (e && e.__sentry_captured__) return !0;
try {
en(e, "__sentry_captured__", !0)
} catch (t) {}
return !1
}
function mn(e) {
return Array.isArray(e) ? e : [e]
}
function gn() {
return {
traceId: cn(),
spanId: cn().substring(16)
}
}
function vn() {
return Date.now() / 1e3
}
const yn = function() {
const {
performance: e
} = kt;
if (!e || !e.now) return vn;
const t = Date.now() - e.now(),
n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
let _n;
(() => {
const {
performance: e
} = kt;
if (!e || !e.now) return void(_n = "none");
const t = 36e5,
n = e.now(),
r = Date.now(),
i = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
a = i < t,
o = e.timing && e.timing.navigationStart,
s = "number" === typeof o ? Math.abs(o + n - r) : t;
a || s < t ? i <= s ? (_n = "timeOrigin", e.timeOrigin) : _n = "navigationStart" : _n = "dateNow"
})();
function bn(e) {
const t = yn(),
n = {
sid: cn(),
init: !0,
timestamp: t,
started: t,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: !1,
toJSON: () => function(e) {
return sn({
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 && xn(n, e), n
}
function xn(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 || yn(), 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 : cn()), 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)
}
const wn = "_sentrySpan";
function kn(e, t) {
t ? en(e, wn, t) : delete e[wn]
}
function Sn(e) {
return e[wn]
}
class En {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = gn()
}
clone() {
const e = new En;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {
...this._tags
}, e._extra = {
...this._extra
}, e._contexts = {
...this._contexts
}, 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._requestSession = this._requestSession, e._attachments = [...this._attachments], e._sdkProcessingMetadata = {
...this._sdkProcessingMetadata
}, e._propagationContext = {
...this._propagationContext
}, e._client = this._client, e._lastEventId = this._lastEventId, kn(e, Sn(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 && xn(this._session, {
user: e
}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
getRequestSession() {
return this._requestSession
}
setRequestSession(e) {
return this._requestSession = e, this
}
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, r] = t instanceof In ? [t.getScopeData(), t.getRequestSession()] : jt(t) ? [e, e.requestSession] : [],
{
tags: i,
extra: a,
user: o,
contexts: s,
level: l,
fingerprint: c = [],
propagationContext: u
} = n || {};
return this._tags = {
...this._tags,
...i
}, this._extra = {
...this._extra,
...a
}, this._contexts = {
...this._contexts,
...s
}, o && Object.keys(o).length && (this._user = o), l && (this._level = l), c.length && (this._fingerprint = c), u && (this._propagationContext = u), r && (this._requestSession = r), 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._requestSession = void 0, this._session = void 0, kn(this, void 0), this._attachments = [], this._propagationContext = gn(), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {
timestamp: vn(),
...e
},
i = this._breadcrumbs;
return i.push(r), this._breadcrumbs = i.length > n ? i.slice(-n) : i, 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: Sn(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = {
...this._sdkProcessingMetadata,
...e
}, this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t && t.event_id ? t.event_id : cn();
if (!this._client) return Kt.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 && n.event_id ? n.event_id : cn();
if (!this._client) return Kt.warn("No client configured on scope - will not capture message!"), r;
const i = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: i,
...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t && t.event_id ? t.event_id : cn();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (Kt.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)
}
}
const In = En;
class On {
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 Cn() {
const e = Ot(It());
return e.stack = e.stack || new On(St("defaultCurrentScope", (() => new In)), St("defaultIsolationScope", (() => new In)))
}
function An(e) {
return Cn().withScope(e)
}
function Pn(e, t) {
const n = Cn();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function Tn(e) {
return Cn().withScope((() => e(Cn().getIsolationScope())))
}
function Rn(e) {
const t = Ot(e);
return t.acs ? t.acs : {
withIsolationScope: Tn,
withScope: An,
withSetScope: Pn,
withSetIsolationScope: (e, t) => Tn(t),
getCurrentScope: () => Cn().getScope(),
getIsolationScope: () => Cn().getIsolationScope()
}
}
function Dn() {
return Rn(It()).getCurrentScope()
}
function Ln() {
return Rn(It()).getIsolationScope()
}
function Nn(...e) {
const t = Rn(It());
if (2 === e.length) {
const [n, r] = e;
return n ? t.withSetScope(n, r) : t.withScope(r)
}
return t.withScope(e[0])
}
function jn() {
return Dn().getClient()
}
const Mn = "?",
Fn = /\(error: (.*)\)/,
zn = /captureMessage|captureException/;
function Un(...e) {
const t = e.sort(((e, t) => e[0] - t[0])).map((e => e[1]));
return (e, n = 0, r = 0) => {
const i = [],
a = e.split("\n");
for (let o = n; o < a.length; o++) {
const e = a[o];
if (e.length > 1024) continue;
const n = Fn.test(e) ? e.replace(Fn, "$1") : e;
if (!n.match(/\S*Error: /)) {
for (const e of t) {
const t = e(n);
if (t) {
i.push(t);
break
}
}
if (i.length >= 50 + r) break
}
}
return function(e) {
if (!e.length) return [];
const t = Array.from(e);
/sentryWrapped/.test(Vn(t).function || "") && t.pop();
t.reverse(), zn.test(Vn(t).function || "") && (t.pop(), zn.test(Vn(t).function || "") && t.pop());
return t.slice(0, 50).map((e => ({
...e,
filename: e.filename || Vn(t).filename,
function: e.function || Mn
})))
}(i.slice(r))
}
}
function Vn(e) {
return e[e.length - 1] || {}
}
const Bn = "<anonymous>";
function Gn(e) {
try {
return e && "function" === typeof e && e.name || Bn
} catch (t) {
return Bn
}
}
function $n(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 qn(e, t = 100, n = 1 / 0) {
try {
return Hn("", e, t, n)
} catch (r) {
return {
ERROR: `**non-serializable** (${r})`
}
}
}
function Wn(e, t = 3, n = 102400) {
const r = qn(e, t);
return i = r,
function(e) {
return ~-encodeURI(e).split(/%..|./).length
}(JSON.stringify(i)) > n ? Wn(e, t - 1, n) : r;
var i
}
function Hn(e, t, n = 1 / 0, r = 1 / 0, i = function() {
const e = "function" === typeof WeakSet,
t = e ? new WeakSet : [];
return [function(n) {
if (e) return !!t.has(n) || (t.add(n), !1);
for (let e = 0; e < t.length; e++)
if (t[e] === n) return !0;
return t.push(n), !1
}, function(n) {
if (e) t.delete(n);
else
for (let e = 0; e < t.length; e++)
if (t[e] === n) {
t.splice(e, 1);
break
}
}]
}()) {
const [a, o] = i;
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 (Ut(t)) return "[VueViewModel]";
if (jt(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: ${Gn(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 ? 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 (a(t)) return "[Circular ~]";
const c = t;
if (c && "function" === typeof c.toJSON) try {
return Hn("", c.toJSON(), l - 1, r, i)
} catch (h) {}
const u = Array.isArray(t) ? [] : {};
let d = 0;
const p = rn(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] = Hn(f, e, l - 1, r, i), d++
}
return o(t), u
}
var Kn;
function Yn(e) {
return new Zn((t => {
t(e)
}))
}
function Qn(e) {
return new Zn(((t, n) => {
n(e)
}))
}! function(e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(Kn || (Kn = {}));
class Zn {
constructor(e) {
Zn.prototype.__init.call(this), Zn.prototype.__init2.call(this), Zn.prototype.__init3.call(this), Zn.prototype.__init4.call(this), this._state = Kn.PENDING, this._handlers = [];
try {
e(this._resolve, this._reject)
} catch (t) {
this._reject(t)
}
}
then(e, t) {
return new Zn(((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (i) {
r(i)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (i) {
r(i)
} else r(e)
}]), this._executeHandlers()
}))
} catch (e) {
return this.then((e => e), e)
} finally(e) {
return new Zn(((t, n) => {
let r, i;
return this.then((t => {
i = !1, r = t, e && e()
}), (t => {
i = !0, r = t, e && e()
})).then((() => {
i ? n(r) : t(r)
}))
}))
}
__init() {
this._resolve = e => {
this._setResult(Kn.RESOLVED, e)
}
}
__init2() {
this._reject = e => {
this._setResult(Kn.REJECTED, e)
}
}
__init3() {
this._setResult = (e, t) => {
this._state === Kn.PENDING && (Ft(t) ? t.then(this._resolve, this._reject) : (this._state = e, this._value = t, this._executeHandlers()))
}
}
__init4() {
this._executeHandlers = () => {
if (this._state === Kn.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach((e => {
e[0] || (this._state === Kn.RESOLVED && e[1](this._value), this._state === Kn.REJECTED && e[2](this._value), e[0] = !0)
}))
}
}
}
const Xn = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function Jn(e, t, n, r = 0) {
return new Zn(((i, a) => {
const o = e[r];
if (null === t || "function" !== typeof o) i(t);
else {
const s = o({
...t
}, n);
Xn && o.id && null === s && Kt.log(`Event processor "${o.id}" dropped event`), Ft(s) ? s.then((t => Jn(e, t, n, r + 1).then(i))).then(null, a) : Jn(e, s, n, r + 1).then(i).then(null, a)
}
}))
}
const er = "sentry-",
tr = /^sentry-/;
function nr(e) {
const t = function(e) {
if (!e || !Dt(e) && !Array.isArray(e)) return;
if (Array.isArray(e)) return e.reduce(((e, t) => {
const n = rr(t);
return Object.entries(n).forEach((([t, n]) => {
e[t] = n
})), e
}), {});
return rr(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) {
return e.split(",").map((e => e.split("=").map((e => decodeURIComponent(e.trim()))))).reduce(((e, [t, n]) => (t && n && (e[t] = n), e)), {})
}
const ir = "_sentryMetrics";
function ar(e) {
const t = e[ir];
if (!t) return;
const n = {};
for (const [, [r, i]] of t) {
(n[r] || (n[r] = [])).push(sn(i))
}
return n
}
function or(e) {
const {
spanId: t,
traceId: n
} = e.spanContext(), {
parent_span_id: r
} = cr(e);
return sn({
parent_span_id: r,
span_id: t,
trace_id: n
})
}
function sr(e) {
return "number" === typeof e ? lr(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? lr(e.getTime()) : yn()
}
function lr(e) {
return e > 9999999999 ? e / 1e3 : e
}
function cr(e) {
if (function(e) {
return "function" === typeof e.getSpanJSON
}(e)) return e.getSpanJSON();
try {
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: i,
name: a,
endTime: o,
parentSpanId: s,
status: l
} = e;
return sn({
span_id: t,
trace_id: n,
data: r,
description: a,
parent_span_id: s,
start_timestamp: sr(i),
timestamp: sr(o) || void 0,
status: dr(l),
op: r["sentry.op"],
origin: r["sentry.origin"],
_metrics_summary: ar(e)
})
}
return {
span_id: t,
trace_id: n
}
} catch (t) {
return {}
}
}
function ur(e) {
const {
traceFlags: t
} = e.spanContext();
return 1 === t
}
function dr(e) {
if (e && 0 !== e.code) return 1 === e.code ? "ok" : e.message || "unknown_error"
}
const pr = "_sentryRootSpan";
function hr(e) {
return e[pr] || e
}
const fr = "_frozenDsc";
function mr(e, t) {
const n = t.getOptions(),
{
publicKey: r
} = t.getDsn() || {},
i = sn({
environment: n.environment || Et,
release: n.release,
public_key: r,
trace_id: e
});
return t.emit("createDsc", i), i
}
function gr(e) {
const t = jn();
if (!t) return {};
const n = mr(cr(e).trace_id || "", t),
r = hr(e),
i = r[fr];
if (i) return i;
const a = r.spanContext().traceState,
o = a && a.get("sentry.dsc"),
s = o && nr(o);
if (s) return s;
const l = cr(r),
c = l.data || {},
u = c["sentry.sample_rate"];
null != u && (n.sample_rate = `${u}`);
const d = c["sentry.source"],
p = l.description;
return "url" !== d && p && (n.transaction = p),
function(e) {
if ("boolean" === typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = jn(),
n = e || t && t.getOptions();
return !!n && (n.enableTracing || "tracesSampleRate" in n || "tracesSampler" in n)
}() && (n.sampled = String(ur(r))), t.emit("createDsc", n, r), n
}
function vr(e, t) {
const {
fingerprint: n,
span: r,
breadcrumbs: i,
sdkProcessingMetadata: a
} = t;
! function(e, t) {
const {
extra: n,
tags: r,
user: i,
contexts: a,
level: o,
transactionName: s
} = t, l = sn(n);
l && Object.keys(l).length && (e.extra = {
...l,
...e.extra
});
const c = sn(r);
c && Object.keys(c).length && (e.tags = {
...c,
...e.tags
});
const u = sn(i);
u && Object.keys(u).length && (e.user = {
...u,
...e.user
});
const d = sn(a);
d && Object.keys(d).length && (e.contexts = {
...d,
...e.contexts
});
o && (e.level = o);
s && "transaction" !== e.type && (e.transaction = s)
}(e, t), r && function(e, t) {
e.contexts = {
trace: or(t),
...e.contexts
}, e.sdkProcessingMetadata = {
dynamicSamplingContext: gr(t),
...e.sdkProcessingMetadata
};
const n = hr(t),
r = cr(n).description;
r && !e.transaction && "transaction" === e.type && (e.transaction = r)
}(e, r),
function(e, t) {
e.fingerprint = e.fingerprint ? mn(e.fingerprint) : [], t && (e.fingerprint = e.fingerprint.concat(t));
e.fingerprint && !e.fingerprint.length && delete e.fingerprint
}(e, n),
function(e, t) {
const n = [...e.breadcrumbs || [], ...t];
e.breadcrumbs = n.length ? n : void 0
}(e, i),
function(e, t) {
e.sdkProcessingMetadata = {
...e.sdkProcessingMetadata,
...t
}
}(e, a)
}
function yr(e, t) {
const {
extra: n,
tags: r,
user: i,
contexts: a,
level: o,
sdkProcessingMetadata: s,
breadcrumbs: l,
fingerprint: c,
eventProcessors: u,
attachments: d,
propagationContext: p,
transactionName: h,
span: f
} = t;
_r(e, "extra", n), _r(e, "tags", r), _r(e, "user", i), _r(e, "contexts", a), _r(e, "sdkProcessingMetadata", s), 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 _r(e, t, n) {
if (n && Object.keys(n).length) {
e[t] = {
...e[t]
};
for (const r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[t][r] = n[r])
}
}
function br(e, t, n, r, i, a) {
const {
normalizeDepth: o = 3,
normalizeMaxBreadth: s = 1e3
} = e, l = {
...t,
event_id: t.event_id || n.event_id || cn(),
timestamp: t.timestamp || vn()
}, c = n.integrations || e.integrations.map((e => e.name));
! function(e, t) {
const {
environment: n,
release: r,
dist: i,
maxValueLength: a = 250
} = t;
"environment" in e || (e.environment = "environment" in t ? n : Et);
void 0 === e.release && void 0 !== r && (e.release = r);
void 0 === e.dist && void 0 !== i && (e.dist = i);
e.message && (e.message = Yt(e.message, a));
const o = e.exception && e.exception.values && e.exception.values[0];
o && o.value && (o.value = Yt(o.value, a));
const s = e.request;
s && s.url && (s.url = Yt(s.url, a))
}(l, e),
function(e, t) {
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t])
}(l, c), i && i.emit("applyFrameMetadata", t), void 0 === t.type && function(e, t) {
const n = kt._sentryDebugIds;
if (!n) return;
let r;
const i = xr.get(t);
i ? r = i : (r = new Map, xr.set(t, r));
const a = Object.entries(n).reduce(((e, [n, i]) => {
let a;
const o = r.get(n);
o ? a = o : (a = t(n), r.set(n, a));
for (let t = a.length - 1; t >= 0; t--) {
const n = a[t];
if (n.filename) {
e[n.filename] = i;
break
}
}
return e
}), {});
try {
e.exception.values.forEach((e => {
e.stacktrace.frames.forEach((e => {
e.filename && (e.debug_id = a[e.filename])
}))
}))
} catch (o) {}
}(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 && hn(l, n.mechanism);
const d = i ? i.getEventProcessors() : [],
p = St("globalScope", (() => new In)).getScopeData();
if (a) {
yr(p, a.getScopeData())
}
if (u) {
yr(p, u.getScopeData())
}
const h = [...n.attachments || [], ...p.attachments];
h.length && (n.attachments = h), vr(l, p);
return Jn([...d, ...p.eventProcessors], l, n).then((e => (e && function(e) {
const t = {};
try {
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)
}))
}))
} catch (r) {}
if (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: qn(e.data, t, n)
}
})))
},
...e.user && {
user: qn(e.user, t, n)
},
...e.contexts && {
contexts: qn(e.contexts, t, n)
},
...e.extra && {
extra: qn(e.extra, t, n)
}
};
e.contexts && e.contexts.trace && r.contexts && (r.contexts.trace = e.contexts.trace, e.contexts.trace.data && (r.contexts.trace.data = qn(e.contexts.trace.data, t, n)));
e.spans && (r.spans = e.spans.map((e => ({
...e,
...e.data && {
data: qn(e.data, t, n)
}
}))));
return r
}(e, o, s) : e)))
}
const xr = new WeakMap;
function wr(e) {
if (e) return function(e) {
return e instanceof In || "function" === typeof e
}(e) || function(e) {
return Object.keys(e).some((e => kr.includes(e)))
}(e) ? {
captureContext: e
} : e
}
const kr = ["user", "level", "extra", "contexts", "tags", "fingerprint", "requestSession", "propagationContext"];
function Sr(e, t) {
return Dn().captureException(e, wr(t))
}
function Er(e, t) {
return Dn().captureEvent(e, t)
}
function Ir(e) {
const t = jn(),
n = Ln(),
r = Dn(),
{
release: i,
environment: a = Et
} = t && t.getOptions() || {},
{
userAgent: o
} = kt.navigator || {},
s = bn({
release: i,
environment: a,
user: r.getUser() || n.getUser(),
...o && {
userAgent: o
},
...e
}),
l = n.getSession();
return l && "ok" === l.status && xn(l, {
status: "exited"
}), Or(), n.setSession(s), r.setSession(s), s
}
function Or() {
const e = Ln(),
t = Dn(),
n = t.getSession() || e.getSession();
n && function(e, t) {
let n = {};
t ? n = {
status: t
} : "ok" === e.status && (n = {
status: "exited"
}), xn(e, n)
}(n), Cr(), e.setSession(), t.setSession()
}
function Cr() {
const e = Ln(),
t = Dn(),
n = jn(),
r = t.getSession() || e.getSession();
r && n && n.captureSession(r)
}
function Ar(e = !1) {
e ? Or() : Cr()
}
const Pr = [];
function Tr(e) {
const t = e.defaultIntegrations || [],
n = e.integrations;
let r;
t.forEach((e => {
e.isDefaultInstance = !0
})), r = Array.isArray(n) ? [...t, ...n] : "function" === typeof n ? mn(n(t)) : t;
const i = 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),
a = i.findIndex((e => "Debug" === e.name));
if (a > -1) {
const [e] = i.splice(a, 1);
i.push(e)
}
return i
}
function Rr(e, t) {
for (const n of t) n && n.afterAllSetup && n.afterAllSetup(e)
}
function Dr(e, t, n) {
if (n[t.name]) Xn && Kt.log(`Integration skipped because it was already installed: ${t.name}`);
else {
if (n[t.name] = t, -1 === Pr.indexOf(t.name) && "function" === typeof t.setupOnce && (t.setupOnce(), Pr.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)
}
Xn && Kt.log(`Integration installed: ${t.name}`)
}
}
const Lr = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/, "undefined is not an object (evaluating 'a.L')", '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"],
Nr = (e = {}) => ({
name: "InboundFilters",
processEvent(t, n, r) {
const i = r.getOptions(),
a = function(e = {}, t = {}) {
return {
allowUrls: [...e.allowUrls || [], ...t.allowUrls || []],
denyUrls: [...e.denyUrls || [], ...t.denyUrls || []],
ignoreErrors: [...e.ignoreErrors || [], ...t.ignoreErrors || [], ...e.disableErrorDefaults ? [] : Lr],
ignoreTransactions: [...e.ignoreTransactions || [], ...t.ignoreTransactions || []],
ignoreInternal: void 0 === e.ignoreInternal || e.ignoreInternal
}
}(e, i);
return function(e, t) {
if (t.ignoreInternal && function(e) {
try {
return "SentryError" === e.exception.values[0].type
} catch (t) {}
return !1
}(e)) return Xn && Kt.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${dn(e)}`), !0;
if (function(e, t) {
if (e.type || !t || !t.length) return !1;
return function(e) {
const t = [];
e.message && t.push(e.message);
let n;
try {
n = e.exception.values[e.exception.values.length - 1]
} catch (r) {}
n && n.value && (t.push(n.value), n.type && t.push(`${n.type}: ${n.value}`));
return t
}(e).some((e => Xt(e, t)))
}(e, t.ignoreErrors)) return Xn && Kt.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${dn(e)}`), !0;
if (function(e) {
if (e.type) return !1;
if (!e.exception || !e.exception.values || 0 === 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 Xn && Kt.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${dn(e)}`), !0;
if (function(e, t) {
if ("transaction" !== e.type || !t || !t.length) return !1;
const n = e.transaction;
return !!n && Xt(n, t)
}(e, t.ignoreTransactions)) return Xn && Kt.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${dn(e)}`), !0;
if (function(e, t) {
if (!t || !t.length) return !1;
const n = jr(e);
return !!n && Xt(n, t)
}(e, t.denyUrls)) return Xn && Kt.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${dn(e)}.\nUrl: ${jr(e)}`), !0;
if (! function(e, t) {
if (!t || !t.length) return !0;
const n = jr(e);
return !n || Xt(n, t)
}(e, t.allowUrls)) return Xn && Kt.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${dn(e)}.\nUrl: ${jr(e)}`), !0;
return !1
}(t, a) ? null : t
}
});
function jr(e) {
try {
let n;
try {
n = e.exception.values[0].stacktrace.frames
} catch (t) {}
return n ? 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
}(n) : null
} catch (gc) {
return Xn && Kt.error(`Cannot extract url for event ${dn(e)}`), null
}
}
let Mr;
const Fr = new WeakMap,
zr = () => ({
name: "FunctionToString",
setupOnce() {
Mr = Function.prototype.toString;
try {
Function.prototype.toString = function(...e) {
const t = nn(this),
n = Fr.has(jn()) && void 0 !== t ? t : this;
return Mr.apply(n, e)
}
} catch (e) {}
},
setup(e) {
Fr.set(e, !0)
}
}),
Ur = () => {
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 (!Br(e, t)) return !1;
if (!Vr(e, t)) return !1;
return !0
}(e, t)) return !0;
if (function(e, t) {
const n = Gr(t),
r = Gr(e);
if (!n || !r) return !1;
if (n.type !== r.type || n.value !== r.value) return !1;
if (!Br(e, t)) return !1;
if (!Vr(e, t)) return !1;
return !0
}(e, t)) return !0;
return !1
}(t, e)) return Xn && Kt.warn("Event dropped due to being a duplicate of previously captured event."), null
} catch (n) {}
return e = t
}
}
};
function Vr(e, t) {
let n = $n(e),
r = $n(t);
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
if (r.length !== n.length) return !1;
for (let i = 0; i < r.length; i++) {
const e = r[i],
t = n[i];
if (e.filename !== t.filename || e.lineno !== t.lineno || e.colno !== t.colno || e.function !== t.function) return !1
}
return !0
}
function Br(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 (i) {
return !1
}
}
function Gr(e) {
return e.exception && e.exception.values && e.exception.values[0]
}
function $r(e, t) {
!0 === t.debug && (Xn ? Kt.enable() : Ht((() => {
console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")
})));
Dn().update(t.initialScope);
const n = new e(t);
return function(e) {
Dn().setClient(e)
}(n), n.init(), n
}
const qr = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
function Wr(e, t = !1) {
const {
host: n,
path: r,
pass: i,
port: a,
projectId: o,
protocol: s,
publicKey: l
} = e;
return `${s}://${l}${t&&i?`:${i}`:""}@${n}${a?`:${a}`:""}/${r?`${r}/`:r}${o}`
}
function Hr(e) {
return {
protocol: e.protocol,
publicKey: e.publicKey || "",
pass: e.pass || "",
host: e.host,
port: e.port || "",
path: e.path || "",
projectId: e.projectId
}
}
function Kr(e) {
const t = "string" === typeof e ? function(e) {
const t = qr.exec(e);
if (!t) return void Ht((() => {
console.error(`Invalid Sentry Dsn: ${e}`)
}));
const [n, r, i = "", a = "", 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 Hr({
host: a,
pass: i,
path: l,
projectId: c,
port: o,
protocol: n,
publicKey: r
})
}(e) : Hr(e);
if (t && function(e) {
if (!$t) return !0;
const {
port: t,
projectId: n,
protocol: r
} = e;
return !["protocol", "publicKey", "host", "projectId"].find((t => !e[t] && (Kt.error(`Invalid Sentry Dsn: ${t} missing`), !0))) && (n.match(/^\d+$/) ? function(e) {
return "http" === e || "https" === e
}(r) ? !t || !isNaN(parseInt(t, 10)) || (Kt.error(`Invalid Sentry Dsn: Invalid port ${t}`), !1) : (Kt.error(`Invalid Sentry Dsn: Invalid protocol ${r}`), !1) : (Kt.error(`Invalid Sentry Dsn: Invalid projectId ${n}`), !1))
}(t)) return t
}
function Yr(e) {
const t = e.protocol ? `${e.protocol}:` : "",
n = e.port ? `:${e.port}` : "";
return `${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`
}
function Qr(e, t) {
return n = {
sentry_key: e.publicKey,
sentry_version: "7",
...t && {
sentry_client: `${t.name}/${t.version}`
}
}, Object.keys(n).map((e => `${encodeURIComponent(e)}=${encodeURIComponent(n[e])}`)).join("&");
var n
}
function Zr(e, t, n) {
return t || `${function(e){return`${Yr(e)}${e.projectId}/envelope/`}(e)}?${Qr(e,n)}`
}
const Xr = kt;
function Jr() {
if (!("fetch" in Xr)) return !1;
try {
return new Headers, new Request("http://www.example.com"), new Response, !0
} catch (e) {
return !1
}
}
function ei(e) {
return e && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())
}
const ti = {},
ni = {};
function ri(e, t) {
ti[e] = ti[e] || [], ti[e].push(t)
}
function ii(e, t) {
ni[e] || (t(), ni[e] = !0)
}
function ai(e, t) {
const n = e && ti[e];
if (n)
for (const i of n) try {
i(t)
} catch (r) {
$t && Kt.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${Gn(i)}\nError:`, r)
}
}
const oi = kt;
const si = kt;
let li;
function ci(e) {
const t = "history";
ri(t, e), ii(t, ui)
}
function ui() {
if (! function() {
const e = oi.chrome,
t = e && e.app && e.app.runtime,
n = "history" in oi && !!oi.history.pushState && !!oi.history.replaceState;
return !t && n
}()) return;
const e = si.onpopstate;
function t(e) {
return function(...t) {
const n = t.length > 2 ? t[2] : void 0;
if (n) {
const e = li,
t = String(n);
li = t;
ai("history", {
from: e,
to: t
})
}
return e.apply(this, t)
}
}
si.onpopstate = function(...t) {
const n = si.location.href,
r = li;
li = n;
if (ai("history", {
from: r,
to: n
}), e) try {
return e.apply(this, t)
} catch (i) {}
}, Jt(si.history, "pushState", t), Jt(si.history, "replaceState", t)
}
function di(e, t = []) {
return [e, t]
}
function pi(e, t) {
const [n, r] = e;
return [n, [...r, t]]
}
function hi(e, t) {
const n = e[1];
for (const r of n) {
if (t(r, r[0].type)) return !0
}
return !1
}
function fi(e) {
return kt.__SENTRY__ && kt.__SENTRY__.encodePolyfill ? kt.__SENTRY__.encodePolyfill(e) : (new TextEncoder).encode(e)
}
function mi(e) {
const [t, n] = e;
let r = JSON.stringify(t);
function i(e) {
"string" === typeof r ? r = "string" === typeof e ? r + e : [fi(r), e] : r.push("string" === typeof e ? fi(e) : e)
}
for (const o of n) {
const [e, t] = o;
if (i(`\n${JSON.stringify(e)}\n`), "string" === typeof t || t instanceof Uint8Array) i(t);
else {
let e;
try {
e = JSON.stringify(t)
} catch (a) {
e = JSON.stringify(qn(t))
}
i(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 i of e) n.set(i, r), r += i.length;
return n
}(r)
}
function gi(e) {
const t = "string" === typeof e.data ? fi(e.data) : e.data;
return [sn({
type: "attachment",
length: t.length,
filename: e.filename,
content_type: e.contentType,
attachment_type: e.attachmentType
}), t]
}
const vi = {
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",
statsd: "metric_bucket"
};
function yi(e) {
return vi[e]
}
function _i(e) {
if (!e || !e.sdk) return;
const {
name: t,
version: n
} = e.sdk;
return {
name: t,
version: n
}
}
class bi extends Error {
constructor(e, t = "warn") {
super(e), this.message = e, this.name = new.target.prototype.constructor.name, Object.setPrototypeOf(this, new.target.prototype), this.logLevel = t
}
}
function xi(e, t, n, r) {
const i = _i(n),
a = 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 && n.sdk);
const o = function(e, t, n, r) {
const i = e.sdkProcessingMetadata && e.sdkProcessingMetadata.dynamicSamplingContext;
return {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && {
sdk: t
},
...!!n && r && {
dsn: Wr(r)
},
...i && {
trace: sn({
...i
})
}
}
}(e, i, r, t);
delete e.sdkProcessingMetadata;
return di(o, [
[{
type: a
}, e]
])
}
const wi = "Not capturing exception because it's already been captured.";
class ki {
constructor(e) {
if (this._options = e, this._integrations = {}, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], e.dsn ? this._dsn = Kr(e.dsn) : Xn && Kt.warn("No DSN provided, client will not send events."), this._dsn) {
const t = Zr(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 = cn();
if (fn(e)) return Xn && Kt.log(wi), r;
const i = {
event_id: r,
...t
};
return this._process(this.eventFromException(e, i).then((e => this._captureEvent(e, i, n)))), i.event_id
}
captureMessage(e, t, n, r) {
const i = {
event_id: cn(),
...n
},
a = Lt(e) ? e : String(e),
o = Nt(e) ? this.eventFromMessage(a, t, i) : this.eventFromException(e, i);
return this._process(o.then((e => this._captureEvent(e, i, r)))), i.event_id
}
captureEvent(e, t, n) {
const r = cn();
if (t && t.originalException && fn(t.originalException)) return Xn && Kt.log(wi), r;
const i = {
event_id: r,
...t
},
a = (e.sdkProcessingMetadata || {}).capturedSpanScope;
return this._process(this._captureEvent(e, i, a || n)), i.event_id
}
captureSession(e) {
"string" !== typeof e.release ? Xn && Kt.warn("Discarded session because of missing or non-string release") : (this.sendSession(e), xn(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))))) : Yn(!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];
Dr(this, e, this._integrations), t || Rr(this, [e])
}
sendEvent(e, t = {}) {
this.emit("beforeSendEvent", e, t);
let n = xi(e, this._dsn, this._options._metadata, this._options.tunnel);
for (const i of t.attachments || []) n = pi(n, gi(i));
const r = this.sendEnvelope(n);
r && r.then((t => this.emit("afterSendEvent", e, t)), null)
}
sendSession(e) {
const t = function(e, t, n, r) {
const i = _i(n);
return di({
sent_at: (new Date).toISOString(),
...i && {
sdk: i
},
...!!r && t && {
dsn: Wr(t)
}
}, ["aggregates" in e ? [{
type: "sessions"
}, e] : [{
type: "session"
}, e.toJSON()]])
}(e, this._dsn, this._options._metadata, this._options.tunnel);
this.sendEnvelope(t)
}
recordDroppedEvent(e, t, n) {
if (this._options.sendClientReports) {
const r = "number" === typeof n ? n : 1,
i = `${e}:${t}`;
Xn && Kt.log(`Recording outcome: "${i}"${r>1?` (${r} times)`:""}`), this._outcomes[i] = (this._outcomes[i] || 0) + r
}
}
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 => (Xn && Kt.error("Error while sending event:", e), e))) : (Xn && Kt.error("Transport disabled"), Yn({}))
}
_setupIntegrations() {
const {
integrations: e
} = this._options;
this._integrations = function(e, t) {
const n = {};
return t.forEach((t => {
t && Dr(e, t, n)
})), n
}(this, e), Rr(this, e)
}
_updateSessionFromEvent(e, t) {
let n = !1,
r = !1;
const i = t.exception && t.exception.values;
if (i) {
r = !0;
for (const e of i) {
const t = e.mechanism;
if (t && !1 === t.handled) {
n = !0;
break
}
}
}
const a = "ok" === e.status;
(a && 0 === e.errors || a && n) && (xn(e, {
...n && {
status: "crashed"
},
errors: e.errors || Number(r || n)
}), this.captureSession(e))
}
_isClientDoneProcessing(e) {
return new Zn((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 = Ln()) {
const i = this.getOptions(),
a = Object.keys(this._integrations);
return !t.integrations && a.length > 0 && (t.integrations = a), this.emit("preprocessEvent", e, t), e.type || r.setLastEventId(e.event_id || t.event_id), br(i, e, t, n, this, r).then((e => {
if (null === e) return e;
const t = {
...r.getPropagationContext(),
...n ? n.getPropagationContext() : void 0
};
if (!(e.contexts && e.contexts.trace) && t) {
const {
traceId: n,
spanId: r,
parentSpanId: i,
dsc: a
} = t;
e.contexts = {
trace: sn({
trace_id: n,
span_id: r,
parent_span_id: i
}),
...e.contexts
};
const o = a || mr(n, this);
e.sdkProcessingMetadata = {
dynamicSamplingContext: o,
...e.sdkProcessingMetadata
}
}
return e
}))
}
_captureEvent(e, t = {}, n) {
return this._processEvent(e, t, n).then((e => e.event_id), (e => {
if (Xn) {
const t = e;
"log" === t.logLevel ? Kt.log(t.message) : Kt.warn(t)
}
}))
}
_processEvent(e, t, n) {
const r = this.getOptions(),
{
sampleRate: i
} = r,
a = Ei(e),
o = Si(e),
s = e.type || "error",
l = `before send for type \`${s}\``,
c = "undefined" === typeof i ? void 0 : function(e) {
if ("boolean" === typeof e) return Number(e);
const t = "string" === typeof e ? parseFloat(e) : e;
if (!("number" !== typeof t || isNaN(t) || t < 0 || t > 1)) return t;
Xn && Kt.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`)
}(i);
if (o && "number" === typeof c && Math.random() > c) return this.recordDroppedEvent("sample_rate", "error", e), Qn(new bi(`Discarding event because it's not included in the random sample (sampling rate = ${i})`, "log"));
const u = "replay_event" === s ? "replay" : s,
d = (e.sdkProcessingMetadata || {}).capturedSpanIsolationScope;
return this._prepareEvent(e, t, n, d).then((n => {
if (null === n) throw this.recordDroppedEvent("event_processor", u, e), new bi("An event processor returned `null`, will not send event.", "log");
if (t.data && !0 === t.data.__sentry__) return n;
const i = function(e, t, n, r) {
const {
beforeSend: i,
beforeSendTransaction: a,
beforeSendSpan: o
} = t;
if (Si(n) && i) return i(n, r);
if (Ei(n)) {
if (n.spans && o) {
const t = [];
for (const r of n.spans) {
const n = o(r);
n ? t.push(n) : e.recordDroppedEvent("before_send", "span")
}
n.spans = t
}
if (a) {
if (n.spans) {
const e = n.spans.length;
n.sdkProcessingMetadata = {
...n.sdkProcessingMetadata,
spanCountBeforeProcessing: e
}
}
return a(n, r)
}
}
return n
}(this, r, n, t);
return function(e, t) {
const n = `${t} must return \`null\` or a valid event.`;
if (Ft(e)) return e.then((e => {
if (!jt(e) && null !== e) throw new bi(n);
return e
}), (e => {
throw new bi(`${t} rejected with ${e}`)
}));
if (!jt(e) && null !== e) throw new bi(n);
return e
}(i, l)
})).then((r => {
if (null === r) {
if (this.recordDroppedEvent("before_send", u, e), a) {
const t = 1 + (e.spans || []).length;
this.recordDroppedEvent("before_send", "span", t)
}
throw new bi(`${l} returned \`null\`, will not send event.`, "log")
}
const i = n && n.getSession();
if (!a && i && this._updateSessionFromEvent(i, r), a) {
const e = (r.sdkProcessingMetadata && r.sdkProcessingMetadata.spanCountBeforeProcessing || 0) - (r.spans ? r.spans.length : 0);
e > 0 && this.recordDroppedEvent("before_send", "span", e)
}
const o = r.transaction_info;
if (a && o && r.transaction !== e.transaction) {
const e = "custom";
r.transaction_info = {
...o,
source: e
}
}
return this.sendEvent(r, t), r
})).then(null, (e => {
if (e instanceof bi) throw e;
throw this.captureException(e, {
data: {
__sentry__: !0
},
originalException: e
}), new bi(`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() {
Xn && Kt.log("Flushing outcomes...");
const e = this._clearOutcomes();
if (0 === e.length) return void(Xn && Kt.log("No outcomes to send"));
if (!this._dsn) return void(Xn && Kt.log("No dsn provided, will not send outcomes"));
Xn && Kt.log("Sending outcomes:", e);
const t = (n = e, di((r = this._options.tunnel && Wr(this._dsn)) ? {
dsn: r
} : {}, [
[{
type: "client_report"
}, {
timestamp: i || vn(),
discarded_events: n
}]
]));
var n, r, i;
this.sendEnvelope(t)
}
}
function Si(e) {
return void 0 === e.type
}
function Ei(e) {
return "transaction" === e.type
}
function Ii(e, t, n = [t], r = "npm") {
const i = e._metadata || {};
i.sdk || (i.sdk = {
name: `sentry.javascript.${t}`,
packages: n.map((e => ({
name: `${r}:@sentry/${e}`,
version: wt
}))),
version: wt
}), e._metadata = i
}
const Oi = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function Ci(e, t) {
const n = Ti(e, t),
r = {
type: Li(t),
value: Ni(t)
};
return n.length && (r.stacktrace = {
frames: n
}), void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"), r
}
function Ai(e, t, n, r) {
const i = jn(),
a = i && i.getOptions().normalizeDepth,
o = 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),
s = {
__serialized__: Wn(t, a)
};
if (o) return {
exception: {
values: [Ci(e, o)]
},
extra: s
};
const l = {
exception: {
values: [{
type: Mt(t) ? t.constructor.name : r ? "UnhandledRejection" : "Error",
value: Fi(t, {
isUnhandledRejection: r
})
}]
},
extra: s
};
if (n) {
const t = Ti(e, n);
t.length && (l.exception.values[0].stacktrace = {
frames: t
})
}
return l
}
function Pi(e, t) {
return {
exception: {
values: [Ci(e, t)]
}
}
}
function Ti(e, t) {
const n = t.stacktrace || t.stack || "",
r = function(e) {
if (e && Ri.test(e.message)) return 1;
return 0
}(t),
i = function(e) {
if ("number" === typeof e.framesToPop) return e.framesToPop;
return 0
}(t);
try {
return e(n, r, i)
} catch (a) {}
return []
}
const Ri = /Minified React error #\d+;/i;
function Di(e) {
return "undefined" !== typeof WebAssembly && "undefined" !== typeof WebAssembly.Exception && e instanceof WebAssembly.Exception
}
function Li(e) {
const t = e && e.name;
if (!t && Di(e)) {
return e.message && Array.isArray(e.message) && 2 == e.message.length ? e.message[0] : "WebAssembly.Exception"
}
return t
}
function Ni(e) {
const t = e && e.message;
return t ? t.error && "string" === typeof t.error.message ? t.error.message : Di(e) && Array.isArray(e.message) && 2 == e.message.length ? e.message[1] : t : "No error message"
}
function ji(e, t, n, r, i) {
let a;
if (Tt(t) && t.error) {
return Pi(e, t.error)
}
if (Rt(t) || Pt(t, "DOMException")) {
const i = t;
if ("stack" in t) a = Pi(e, t);
else {
const t = i.name || (Rt(i) ? "DOMError" : "DOMException"),
o = i.message ? `${t}: ${i.message}` : t;
a = Mi(e, o, n, r), pn(a, o)
}
return "code" in i && (a.tags = {
...a.tags,
"DOMException.code": `${i.code}`
}), a
}
if (At(t)) return Pi(e, t);
if (jt(t) || Mt(t)) {
return a = Ai(e, t, n, i), hn(a, {
synthetic: !0
}), a
}
return a = Mi(e, t, n, r), pn(a, `${t}`, void 0), hn(a, {
synthetic: !0
}), a
}
function Mi(e, t, n, r) {
const i = {};
if (r && n) {
const r = Ti(e, n);
r.length && (i.exception = {
values: [{
value: t,
stacktrace: {
frames: r
}
}]
})
}
if (Lt(t)) {
const {
__sentry_template_string__: e,
__sentry_template_values__: n
} = t;
return i.logentry = {
message: e,
params: n
}, i
}
return i.message = t, i
}
function Fi(e, {
isUnhandledRejection: t
}) {
const n = function(e, t = 40) {
const n = Object.keys(rn(e));
n.sort();
const r = n[0];
if (!r) return "[object has no keys]";
if (r.length >= t) return Yt(r, t);
for (let i = n.length; i > 0; i--) {
const e = n.slice(0, i).join(", ");
if (!(e.length > t)) return i === n.length ? e : Yt(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}`
}
const zi = kt;
let Ui = 0;
function Vi() {
return Ui > 0
}
function Bi() {
Ui++, setTimeout((() => {
Ui--
}))
}
function Gi(e, t = {}, n) {
if ("function" !== typeof e) return e;
try {
const t = e.__sentry_wrapped__;
if (t) return "function" === typeof t ? t : e;
if (nn(e)) return e
} catch (i) {
return e
}
const r = function() {
const r = Array.prototype.slice.call(arguments);
try {
n && "function" === typeof n && n.apply(this, arguments);
const i = r.map((e => Gi(e, t)));
return e.apply(this, i)
} catch (Yo) {
throw Bi(), Nn((n => {
n.addEventProcessor((e => (t.mechanism && (pn(e, void 0, void 0), hn(e, t.mechanism)), e.extra = {
...e.extra,
arguments: r
}, e))), Sr(Yo)
})), Yo
}
};
try {
for (const t in e) Object.prototype.hasOwnProperty.call(e, t) && (r[t] = e[t])
} catch (a) {}
tn(r, e), en(e, "__sentry_wrapped__", r);
try {
Object.getOwnPropertyDescriptor(r, "name").configurable && Object.defineProperty(r, "name", {
get: () => e.name
})
} catch (a) {}
return r
}
class $i extends ki {
constructor(e) {
const t = {
parentSpanIsAlwaysRootSpan: !0,
...e
};
Ii(t, "browser", ["browser"], zi.SENTRY_SDK_SOURCE || "npm"), super(t), t.sendClientReports && zi.document && zi.document.addEventListener("visibilitychange", (() => {
"hidden" === zi.document.visibilityState && this._flushOutcomes()
}))
}
eventFromException(e, t) {
return function(e, t, n, r) {
const i = ji(e, t, n && n.syntheticException || void 0, r);
return hn(i), i.level = "error", n && n.event_id && (i.event_id = n.event_id), Yn(i)
}(this._options.stackParser, e, t, this._options.attachStacktrace)
}
eventFromMessage(e, t = "info", n) {
return function(e, t, n = "info", r, i) {
const a = Mi(e, t, r && r.syntheticException || void 0, i);
return a.level = n, r && r.event_id && (a.event_id = r.event_id), Yn(a)
}(this._options.stackParser, e, t, n, this._options.attachStacktrace)
}
captureUserFeedback(e) {
if (!this._isEnabled()) return void(Oi && Kt.warn("SDK not enabled, will not capture user feedback."));
const t = function(e, {
metadata: t,
tunnel: n,
dsn: r
}) {
const i = {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && t.sdk && {
sdk: {
name: t.sdk.name,
version: t.sdk.version
}
},
...!!n && !!r && {
dsn: Wr(r)
}
},
a = function(e) {
return [{
type: "user_report"
}, e]
}(e);
return di(i, [a])
}(e, {
metadata: this.getSdkMetadata(),
dsn: this.getDsn(),
tunnel: this.getOptions().tunnel
});
this.sendEnvelope(t)
}
_prepareEvent(e, t, n) {
return e.platform = e.platform || "javascript", super._prepareEvent(e, t, n)
}
}
let qi, Wi, Hi;
function Ki() {
if (!si.document) return;
const e = ai.bind(null, "dom"),
t = Yi(e, !0);
si.document.addEventListener("click", t, !1), si.document.addEventListener("keypress", t, !1), ["EventTarget", "Node"].forEach((t => {
const n = si[t] && si[t].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (Jt(n, "addEventListener", (function(t) {
return function(n, r, i) {
if ("click" === n || "keypress" == n) try {
const r = this,
a = r.__sentry_instrumentation_handlers__ = r.__sentry_instrumentation_handlers__ || {},
o = a[n] = a[n] || {
refCount: 0
};
if (!o.handler) {
const r = Yi(e);
o.handler = r, t.call(this, n, r, i)
}
o.refCount++
} catch (a) {}
return t.call(this, n, r, i)
}
})), Jt(n, "removeEventListener", (function(e) {
return function(t, n, r) {
if ("click" === t || "keypress" == t) try {
const n = this,
i = n.__sentry_instrumentation_handlers__ || {},
a = i[t];
a && (a.refCount--, a.refCount <= 0 && (e.call(this, t, a.handler, r), a.handler = void 0, delete i[t]), 0 === Object.keys(i).length && delete n.__sentry_instrumentation_handlers__)
} catch (i) {}
return e.call(this, t, n, r)
}
})))
}))
}
function Yi(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 || !t.tagName || "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && !t.isContentEditable)
}(n.type, r)) return;
en(n, "_sentryCaptured", !0), r && !r._sentryId && en(r, "_sentryId", cn());
const i = "keypress" === n.type ? "input" : n.type;
if (! function(e) {
if (e.type !== Wi) return !1;
try {
if (!e.target || e.target._sentryId !== Hi) return !1
} catch (t) {}
return !0
}(n)) {
e({
event: n,
name: i,
global: t
}), Wi = n.type, Hi = r ? r._sentryId : void 0
}
clearTimeout(qi), qi = si.setTimeout((() => {
Hi = void 0, Wi = void 0
}), 1e3)
}
}
const Qi = "__sentry_xhr_v3__";
function Zi() {
if (!si.XMLHttpRequest) return;
const e = XMLHttpRequest.prototype;
e.open = new Proxy(e.open, {
apply(e, t, n) {
const r = 1e3 * yn(),
i = Dt(n[0]) ? n[0].toUpperCase() : void 0,
a = function(e) {
if (Dt(e)) return e;
try {
return e.toString()
} catch (Cs) {}
return
}(n[1]);
if (!i || !a) return e.apply(t, n);
t[Qi] = {
method: i,
url: a,
request_headers: {}
}, "POST" === i && a.match(/sentry_key/) && (t.__sentry_own_request__ = !0);
const o = () => {
const e = t[Qi];
if (e && 4 === t.readyState) {
try {
e.status_code = t.status
} catch (n) {}
ai("xhr", {
endTimestamp: 1e3 * yn(),
startTimestamp: r,
xhr: t
})
}
};
return "onreadystatechange" in t && "function" === typeof t.onreadystatechange ? t.onreadystatechange = new Proxy(t.onreadystatechange, {
apply: (e, t, n) => (o(), e.apply(t, n))
}) : t.addEventListener("readystatechange", o), t.setRequestHeader = new Proxy(t.setRequestHeader, {
apply(e, t, n) {
const [r, i] = n, a = t[Qi];
return a && Dt(r) && Dt(i) && (a.request_headers[r.toLowerCase()] = i), e.apply(t, n)
}
}), e.apply(t, n)
}
}), e.send = new Proxy(e.send, {
apply(e, t, n) {
const r = t[Qi];
if (!r) return e.apply(t, n);
void 0 !== n[0] && (r.body = n[0]);
return ai("xhr", {
startTimestamp: 1e3 * yn(),
xhr: t
}), e.apply(t, n)
}
})
}
const Xi = 100;
function Ji(e, t) {
const n = jn(),
r = Ln();
if (!n) return;
const {
beforeBreadcrumb: i = null,
maxBreadcrumbs: a = Xi
} = n.getOptions();
if (a <= 0) return;
const o = {
timestamp: vn(),
...e
},
s = i ? Ht((() => i(o, t))) : o;
null !== s && (n.emit && n.emit("beforeAddBreadcrumb", s, t), r.addBreadcrumb(s, a))
}
function ea() {
"console" in kt && qt.forEach((function(e) {
e in kt.console && Jt(kt.console, e, (function(t) {
return Wt[e] = t,
function(...t) {
ai("console", {
args: t,
level: e
});
const n = Wt[e];
n && n.apply(kt.console, t)
}
}))
}))
}
function ta(e, t = !1) {
t && ! function() {
if ("string" === typeof EdgeRuntime) return !0;
if (!Jr()) return !1;
if (ei(Xr.fetch)) return !0;
let e = !1;
const t = Xr.document;
if (t && "function" === typeof t.createElement) try {
const n = t.createElement("iframe");
n.hidden = !0, t.head.appendChild(n), n.contentWindow && n.contentWindow.fetch && (e = ei(n.contentWindow.fetch)), t.head.removeChild(n)
} catch (n) {
$t && Kt.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", n)
}
return e
}() || Jt(kt, "fetch", (function(t) {
return function(...n) {
const {
method: r,
url: i
} = function(e) {
if (0 === e.length) return {
method: "GET",
url: ""
};
if (2 === e.length) {
const [t, n] = e;
return {
url: ra(t),
method: na(n, "method") ? String(n.method).toUpperCase() : "GET"
}
}
const t = e[0];
return {
url: ra(t),
method: na(t, "method") ? String(t.method).toUpperCase() : "GET"
}
}(n), a = {
args: n,
fetchData: {
method: r,
url: i
},
startTimestamp: 1e3 * yn()
};
e || ai("fetch", {
...a
});
const o = (new Error).stack;
return t.apply(kt, n).then((async t => (e ? e(t) : ai("fetch", {
...a,
endTimestamp: 1e3 * yn(),
response: t
}), t)), (e => {
throw ai("fetch", {
...a,
endTimestamp: 1e3 * yn(),
error: e
}), At(e) && void 0 === e.stack && (e.stack = o, en(e, "framesToPop", 1)), e
}))
}
}))
}
function na(e, t) {
return !!e && "object" === typeof e && !!e[t]
}
function ra(e) {
return "string" === typeof e ? e : e ? na(e, "url") ? e.url : e.toString ? e.toString() : "" : ""
}
const ia = ["fatal", "error", "warning", "log", "info", "debug"];
function aa(e) {
return "warn" === e ? "warning" : ia.includes(e) ? e : "log"
}
function oa(e) {
return void 0 === e ? void 0 : e >= 400 && e < 500 ? "warning" : e >= 500 ? "error" : void 0
}
function sa(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
}
}
const la = 1024,
ca = (e = {}) => {
const t = {
console: !0,
dom: !0,
fetch: !0,
history: !0,
sentry: !0,
xhr: !0,
...e
};
return {
name: "Breadcrumbs",
setup(e) {
var n;
t.console && function(e) {
const t = "console";
ri(t, e), ii(t, ea)
}(function(e) {
return function(t) {
if (jn() !== e) return;
const n = {
category: "console",
data: {
arguments: t.args,
logger: "console"
},
level: aa(t.level),
message: Qt(t.args, " ")
};
if ("assert" === t.level) {
if (!1 !== t.args[0]) return;
n.message = `Assertion failed: ${Qt(t.args.slice(1)," ")||"console.assert"}`, n.data.arguments = t.args.slice(1)
}
Ji(n, {
input: t.args,
level: t.level
})
}
}(e)), t.dom && (n = function(e, t) {
return function(n) {
if (jn() !== e) return;
let r, i, a = "object" === typeof t ? t.serializeAttribute : void 0,
o = "object" === typeof t && "number" === typeof t.maxStringLength ? t.maxStringLength : void 0;
o && o > la && (Oi && Kt.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${o} was configured. Sentry will use 1024 instead.`), o = la), "string" === typeof a && (a = [a]);
try {
const e = n.event,
t = function(e) {
return !!e && !!e.target
}(e) ? e.target : e;
r = Bt(t, {
keyAttrs: a,
maxStringLength: o
}), i = function(e) {
if (!Vt.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
};
i && (s.data = {
"ui.component_name": i
}), Ji(s, {
event: n.event,
name: n.name,
global: n.global
})
}
}(e, t.dom), ri("dom", n), ii("dom", Ki)), t.xhr && function(e) {
ri("xhr", e), ii("xhr", Zi)
}(function(e) {
return function(t) {
if (jn() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t, i = t.xhr[Qi];
if (!n || !r || !i) return;
const {
method: a,
url: o,
status_code: s,
body: l
} = i, c = {
method: a,
url: o,
status_code: s
}, u = {
xhr: t.xhr,
input: l,
startTimestamp: n,
endTimestamp: r
};
Ji({
category: "xhr",
data: c,
type: "http",
level: oa(s)
}, u)
}
}(e)), t.fetch && function(e, t) {
const n = "fetch";
ri(n, e), ii(n, (() => ta(void 0, t)))
}(function(e) {
return function(t) {
if (jn() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t;
if (r && (!t.fetchData.url.match(/sentry_key/) || "POST" !== t.fetchData.method))
if (t.error) {
Ji({
category: "fetch",
data: t.fetchData,
level: "error",
type: "http"
}, {
data: t.error,
input: t.args,
startTimestamp: n,
endTimestamp: r
})
} else {
const e = t.response,
i = {
...t.fetchData,
status_code: e && e.status
},
a = {
input: t.args,
response: e,
startTimestamp: n,
endTimestamp: r
};
Ji({
category: "fetch",
data: i,
type: "http",
level: oa(i.status_code)
}, a)
}
}
}(e)), t.history && ci(function(e) {
return function(t) {
if (jn() !== e) return;
let n = t.from,
r = t.to;
const i = sa(zi.location.href);
let a = n ? sa(n) : void 0;
const o = sa(r);
a && a.path || (a = i), i.protocol === o.protocol && i.host === o.host && (r = o.relative), i.protocol === a.protocol && i.host === a.host && (n = a.relative), Ji({
category: "navigation",
data: {
from: n,
to: r
}
})
}
}(e)), t.sentry && e.on("beforeSendEvent", function(e) {
return function(t) {
jn() === e && Ji({
category: "sentry." + ("transaction" === t.type ? "transaction" : "event"),
event_id: t.event_id,
level: t.level,
message: dn(t)
}, {
event: t
})
}
}(e))
}
}
};
const ua = ["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"],
da = (e = {}) => {
const t = {
XMLHttpRequest: !0,
eventTarget: !0,
requestAnimationFrame: !0,
setInterval: !0,
setTimeout: !0,
...e
};
return {
name: "BrowserApiErrors",
setupOnce() {
t.setTimeout && Jt(zi, "setTimeout", pa), t.setInterval && Jt(zi, "setInterval", pa), t.requestAnimationFrame && Jt(zi, "requestAnimationFrame", ha), t.XMLHttpRequest && "XMLHttpRequest" in zi && Jt(XMLHttpRequest.prototype, "send", fa);
const e = t.eventTarget;
if (e) {
(Array.isArray(e) ? e : ua).forEach(ma)
}
}
}
};
function pa(e) {
return function(...t) {
const n = t[0];
return t[0] = Gi(n, {
mechanism: {
data: {
function: Gn(e)
},
handled: !1,
type: "instrument"
}
}), e.apply(this, t)
}
}
function ha(e) {
return function(t) {
return e.apply(this, [Gi(t, {
mechanism: {
data: {
function: "requestAnimationFrame",
handler: Gn(e)
},
handled: !1,
type: "instrument"
}
})])
}
}
function fa(e) {
return function(...t) {
const n = this;
return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach((e => {
e in n && "function" === typeof n[e] && Jt(n, e, (function(t) {
const n = {
mechanism: {
data: {
function: e,
handler: Gn(t)
},
handled: !1,
type: "instrument"
}
},
r = nn(t);
return r && (n.mechanism.data.handler = Gn(r)), Gi(t, n)
}))
})), e.apply(this, t)
}
}
function ma(e) {
const t = zi,
n = t[e] && t[e].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (Jt(n, "addEventListener", (function(t) {
return function(n, r, i) {
try {
"function" === typeof r.handleEvent && (r.handleEvent = Gi(r.handleEvent, {
mechanism: {
data: {
function: "handleEvent",
handler: Gn(r),
target: e
},
handled: !1,
type: "instrument"
}
}))
} catch (a) {}
return t.apply(this, [n, Gi(r, {
mechanism: {
data: {
function: "addEventListener",
handler: Gn(r),
target: e
},
handled: !1,
type: "instrument"
}
}), i])
}
})), Jt(n, "removeEventListener", (function(e) {
return function(t, n, r) {
const i = n;
try {
const n = i && i.__sentry_wrapped__;
n && e.call(this, t, n, r)
} catch (a) {}
return e.call(this, t, i, r)
}
})))
}
let ga = null;
function va() {
ga = kt.onerror, kt.onerror = function(e, t, n, r, i) {
const a = {
column: r,
error: i,
line: n,
msg: e,
url: t
};
return ai("error", a), !(!ga || ga.__SENTRY_LOADER__) && ga.apply(this, arguments)
}, kt.onerror.__SENTRY_INSTRUMENTED__ = !0
}
let ya = null;
function _a() {
ya = kt.onunhandledrejection, kt.onunhandledrejection = function(e) {
const t = e;
return ai("unhandledrejection", t), !(ya && !ya.__SENTRY_LOADER__) || ya.apply(this, arguments)
}, kt.onunhandledrejection.__SENTRY_INSTRUMENTED__ = !0
}
const ba = (e = {}) => {
const t = {
onerror: !0,
onunhandledrejection: !0,
...e
};
return {
name: "GlobalHandlers",
setupOnce() {
Error.stackTraceLimit = 50
},
setup(e) {
t.onerror && (! function(e) {
! function(e) {
const t = "error";
ri(t, e), ii(t, va)
}((t => {
const {
stackParser: n,
attachStacktrace: r
} = wa();
if (jn() !== e || Vi()) return;
const {
msg: i,
url: a,
line: o,
column: s,
error: l
} = t, c = function(e, t, n, r) {
const i = e.exception = e.exception || {},
a = i.values = i.values || [],
o = a[0] = a[0] || {},
s = o.stacktrace = o.stacktrace || {},
l = s.frames = s.frames || [],
c = isNaN(parseInt(r, 10)) ? void 0 : r,
u = isNaN(parseInt(n, 10)) ? void 0 : n,
d = Dt(t) && t.length > 0 ? t : function() {
try {
return Vt.document.location.href
} catch (gc) {
return ""
}
}();
0 === l.length && l.push({
colno: c,
filename: d,
function: Mn,
in_app: !0,
lineno: u
});
return e
}(ji(n, l || i, void 0, r, !1), a, o, s);
c.level = "error", Er(c, {
originalException: l,
mechanism: {
handled: !1,
type: "onerror"
}
})
}))
}(e), xa("onerror")), t.onunhandledrejection && (! function(e) {
! function(e) {
const t = "unhandledrejection";
ri(t, e), ii(t, _a)
}((t => {
const {
stackParser: n,
attachStacktrace: r
} = wa();
if (jn() !== e || Vi()) return;
const i = function(e) {
if (Nt(e)) return e;
try {
if ("reason" in e) return e.reason;
if ("detail" in e && "reason" in e.detail) return e.detail.reason
} catch (Cs) {}
return e
}(t),
a = Nt(i) ? {
exception: {
values: [{
type: "UnhandledRejection",
value: `Non-Error promise rejection captured with value: ${String(i)}`
}]
}
} : ji(n, i, void 0, r, !0);
a.level = "error", Er(a, {
originalException: i,
mechanism: {
handled: !1,
type: "onunhandledrejection"
}
})
}))
}(e), xa("onunhandledrejection"))
}
}
};
function xa(e) {
Oi && Kt.log(`Global Handler attached: ${e}`)
}
function wa() {
const e = jn();
return e && e.getOptions() || {
stackParser: () => [],
attachStacktrace: !1
}
}
const ka = () => ({
name: "HttpContext",
preprocessEvent(e) {
if (!zi.navigator && !zi.location && !zi.document) return;
const t = e.request && e.request.url || zi.location && zi.location.href,
{
referrer: n
} = zi.document || {},
{
userAgent: r
} = zi.navigator || {},
i = {
...e.request && e.request.headers,
...n && {
Referer: n
},
...r && {
"User-Agent": r
}
},
a = {
...e.request,
...t && {
url: t
},
headers: i
};
e.request = a
}
});
function Sa(e, t, n = 250, r, i, a, o) {
if (!a.exception || !a.exception.values || !o || !zt(o.originalException, Error)) return;
const s = a.exception.values.length > 0 ? a.exception.values[a.exception.values.length - 1] : void 0;
var l, c;
s && (a.exception.values = (l = Ea(e, t, i, o.originalException, r, a.exception.values, s, 0), c = n, l.map((e => (e.value && (e.value = Yt(e.value, c)), e)))))
}
function Ea(e, t, n, r, i, a, o, s) {
if (a.length >= n + 1) return a;
let l = [...a];
if (zt(r[i], Error)) {
Ia(o, s);
const a = e(t, r[i]),
c = l.length;
Oa(a, i, c, s), l = Ea(e, t, n, r[i], i, [a, ...l], a, c)
}
return Array.isArray(r.errors) && r.errors.forEach(((r, a) => {
if (zt(r, Error)) {
Ia(o, s);
const c = e(t, r),
u = l.length;
Oa(c, `errors[${a}]`, u, s), l = Ea(e, t, n, r, i, [c, ...l], c, u)
}
})), l
}
function Ia(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 Oa(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 Ca = (e = {}) => {
const t = e.limit || 5,
n = e.key || "cause";
return {
name: "LinkedErrors",
preprocessEvent(e, r, i) {
const a = i.getOptions();
Sa(Ci, a.stackParser, a.maxValueLength, n, t, e, r)
}
}
};
function Aa(e, t, n, r) {
const i = {
filename: e,
function: "<anonymous>" === t ? Mn : t,
in_app: !0
};
return void 0 !== n && (i.lineno = n), void 0 !== r && (i.colno = r), i
}
const Pa = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,
Ta = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
Ra = /\((\S*)(?::(\d+))(?::(\d+))\)/,
Da = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,
La = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i,
Na = Un(...[
[30, e => {
const t = Pa.exec(e);
if (t) {
const [, e, n, r] = t;
return Aa(e, Mn, +n, +r)
}
const n = Ta.exec(e);
if (n) {
if (n[2] && 0 === n[2].indexOf("eval")) {
const e = Ra.exec(n[2]);
e && (n[2] = e[1], n[3] = e[2], n[4] = e[3])
}
const [e, t] = ja(n[1] || Mn, n[2]);
return Aa(t, e, n[3] ? +n[3] : void 0, n[4] ? +n[4] : void 0)
}
}],
[50, e => {
const t = Da.exec(e);
if (t) {
if (t[3] && t[3].indexOf(" > eval") > -1) {
const e = La.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] || Mn;
return [n, e] = ja(n, e), Aa(e, n, t[4] ? +t[4] : void 0, t[5] ? +t[5] : void 0)
}
}]
]),
ja = (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] : Mn, n ? `safari-extension:${t}` : `safari-web-extension:${t}`] : [e, t]
},
Ma = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
Fa = {};
function za(e) {
const t = Fa[e];
if (t) return t;
let n = si[e];
if (ei(n)) return Fa[e] = n.bind(si);
const r = si.document;
if (r && "function" === typeof r.createElement) try {
const t = r.createElement("iframe");
t.hidden = !0, r.head.appendChild(t);
const i = t.contentWindow;
i && i[e] && (n = i[e]), r.head.removeChild(t)
} catch (i) {
Ma && Kt.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `, i)
}
return n ? Fa[e] = n.bind(si) : n
}
function Ua(e) {
Fa[e] = void 0
}
function Va(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 Qn(new bi("Not adding Promise because buffer limit was reached."));
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 Zn(((n, r) => {
let i = t.length;
if (!i) return n(!0);
const a = setTimeout((() => {
e && e > 0 && n(!1)
}), e);
t.forEach((e => {
Yn(e).then((() => {
--i || (clearTimeout(a), n(!0))
}), r)
}))
}))
}
}
}
function Ba(e, {
statusCode: t,
headers: n
}, r = Date.now()) {
const i = {
...e
},
a = n && n["x-sentry-rate-limits"],
o = n && n["retry-after"];
if (a)
for (const s of a.trim().split(",")) {
const [e, t, , , n] = s.split(":", 5), a = parseInt(e, 10), o = 1e3 * (isNaN(a) ? 60 : a);
if (t)
for (const s of t.split(";")) "metric_bucket" === s && n && !n.split(";").includes("custom") || (i[s] = r + o);
else i.all = r + o
} else o ? i.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 && (i.all = r + 6e4);
return i
}
function Ga(e, t, n = Va(e.bufferSize || 64)) {
let r = {};
return {
send: function(i) {
const a = [];
if (hi(i, ((t, n) => {
const i = yi(n);
if (function(e, t, n = Date.now()) {
return function(e, t) {
return e[t] || e.all || 0
}(e, t) > n
}(r, i)) {
const r = $a(t, n);
e.recordDroppedEvent("ratelimit_backoff", i, r)
} else a.push(t)
})), 0 === a.length) return Yn({});
const o = di(i[0], a),
s = t => {
hi(o, ((n, r) => {
const i = $a(n, r);
e.recordDroppedEvent(t, yi(r), i)
}))
};
return n.add((() => t({
body: mi(o)
}).then((e => (void 0 !== e.statusCode && (e.statusCode < 200 || e.statusCode >= 300) && Xn && Kt.warn(`Sentry responded with status code ${e.statusCode} to sent event.`), r = Ba(r, e), e)), (e => {
throw s("network_error"), e
})))).then((e => e), (e => {
if (e instanceof bi) return Xn && Kt.error("Skipped sending event because buffer is full."), s("queue_overflow"), Yn({});
throw e
}))
},
flush: e => n.drain(e)
}
}
function $a(e, t) {
if ("event" === t || "transaction" === t) return Array.isArray(e) ? e[1] : void 0
}
function qa(e, t = za("fetch")) {
let n = 0,
r = 0;
return Ga(e, (function(i) {
const a = i.body.length;
n += a, r++;
const o = {
body: i.body,
method: "POST",
referrerPolicy: "origin",
headers: e.headers,
keepalive: n <= 6e4 && r < 15,
...e.fetchOptions
};
if (!t) return Ua("fetch"), Qn("No fetch implementation available");
try {
return t(e.url, o).then((e => (n -= a, 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 Ua("fetch"), n -= a, r--, Qn(s)
}
}))
}
function Wa(e = {}) {
const t = function(e = {}) {
const t = {
defaultIntegrations: [Nr(), zr(), da(), ca(), ba(), Ca(), Ur(), ka()],
release: "string" === typeof __SENTRY_RELEASE__ ? __SENTRY_RELEASE__ : zi.SENTRY_RELEASE && zi.SENTRY_RELEASE.id ? zi.SENTRY_RELEASE.id : void 0,
autoSessionTracking: !0,
sendClientReports: !0
};
return null == e.defaultIntegrations && delete e.defaultIntegrations, {
...t,
...e
}
}(e);
if (function() {
const e = "undefined" !== typeof zi.window && zi;
if (!e) return !1;
const t = e[e.chrome ? "chrome" : "browser"],
n = t && t.runtime && t.runtime.id,
r = zi.location && zi.location.href || "",
i = !!n && zi === zi.top && ["chrome-extension:", "moz-extension:", "ms-browser-extension:", "safari-web-extension:"].some((e => r.startsWith(`${e}//`))),
a = "undefined" !== typeof e.nw;
return !!n && !i && !a
}()) return void Ht((() => {
console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")
}));
Oi && (Jr() || Kt.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 || Na, Array.isArray(r) ? Un(...r) : r),
integrations: Tr(t),
transport: t.transport || qa
};
var r;
const i = $r($i, n);
return t.autoSessionTracking && function() {
if ("undefined" === typeof zi.document) return void(Oi && Kt.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));
Ir({
ignoreDuration: !0
}), Ar(), ci((({
from: e,
to: t
}) => {
void 0 !== e && e !== t && (Ir({
ignoreDuration: !0
}), Ar())
}))
}(), i
}
function Ha(e = {}) {
if (!zi.document) return void(Oi && Kt.error("Global document not defined in showReportDialog call"));
const t = Dn(),
n = t.getClient(),
r = n && n.getDsn();
if (!r) return void(Oi && Kt.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 i = zi.document.createElement("script");
i.async = !0, i.crossOrigin = "anonymous", i.src = function(e, t) {
const n = Kr(e);
if (!n) return "";
const r = `${Yr(n)}embed/error-page/`;
let i = `dsn=${Wr(n)}`;
for (const a in t)
if ("dsn" !== a && "onClose" !== a)
if ("user" === a) {
const e = t.user;
if (!e) continue;
e.name && (i += `&name=${encodeURIComponent(e.name)}`), e.email && (i += `&email=${encodeURIComponent(e.email)}`)
} else i += `&${encodeURIComponent(a)}=${encodeURIComponent(t[a])}`;
return `${r}?${i}`
}(r, e), e.onLoad && (i.onload = e.onLoad);
const {
onClose: a
} = e;
if (a) {
const e = t => {
if ("__sentry_reportdialog_closed__" === t.data) try {
a()
} finally {
zi.removeEventListener("message", e)
}
};
zi.addEventListener("message", e)
}
const o = zi.document.head || zi.document.body;
o ? o.appendChild(i) : Oi && Kt.error("Not injecting report dialog. No injection point found in HTML")
}
n(2110);
const Ka = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function Ya(e, {
componentStack: t
}, n) {
if (function(e) {
const t = e.match(/^([^.]+)/);
return null !== t && parseInt(t[0]) >= 17
}(Ee.version) && At(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 Sr(e, {
...n,
captureContext: {
contexts: {
react: {
componentStack: t
}
}
}
})
}
const Qa = {
componentStack: null,
error: null,
eventId: null
};
class Za extends Ee.Component {
constructor(e) {
super(e), Za.prototype.__init.call(this), this.state = Qa, this._openFallbackReportDialog = !0;
const t = jn();
t && e.showDialog && (this._openFallbackReportDialog = !1, this._cleanupHook = t.on("afterSendEvent", (t => {
!t.type && this._lastEventId && t.event_id === this._lastEventId && Ha({
...e.dialogOptions,
eventId: this._lastEventId
})
})))
}
componentDidCatch(e, t) {
const {
componentStack: n
} = t, r = null == n ? void 0 : n, {
beforeCapture: i,
onError: a,
showDialog: o,
dialogOptions: s
} = this.props;
Nn((l => {
i && i(l, e, r);
const c = Ya(e, t, {
mechanism: {
handled: !!this.props.fallback
}
});
a && a(e, r, c), o && (this._lastEventId = c, this._openFallbackReportDialog && Ha({
...s,
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 && r(e, t, n), this._cleanupHook && (this._cleanupHook(), this._cleanupHook = void 0)
}
__init() {
this.resetErrorBoundary = () => {
const {
onReset: e
} = this.props, {
error: t,
componentStack: n,
eventId: r
} = this.state;
e && e(t, n, r), this.setState(Qa)
}
}
render() {
const {
fallback: e,
children: t
} = this.props, n = this.state;
if (n.error) {
let t;
return t = "function" === typeof e ? Ee.createElement(e, {
error: n.error,
componentStack: n.componentStack,
resetError: this.resetErrorBoundary,
eventId: n.eventId
}) : e, Ee.isValidElement(t) ? t : (e && Ka && Kt.warn("fallback did not produce a valid ReactElement"), null)
}
return "function" === typeof t ? t() : t
}
}
var Xa = n(8508),
Ja = n.t(Xa, 2);
function eo(e, t) {
void 0 === t && (t = {});
var n = t.insertAt;
if (e && "undefined" != typeof document) {
var r = document.head || document.getElementsByTagName("head")[0],
i = document.createElement("style");
i.type = "text/css", "top" === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(document.createTextNode(e))
}
}
function to(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
}
eo('@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 no = {
exports: {}
},
ro = {};
no.exports = function() {
if (up) return ro;
up = 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,
i = {
key: !0,
ref: !0,
__self: !0,
__source: !0
};
function a(t, a, o) {
var s, l = {},
c = null,
u = null;
for (s in void 0 !== o && (c = "" + o), void 0 !== a.key && (c = "" + a.key), void 0 !== a.ref && (u = a.ref), a) n.call(a, s) && !i.hasOwnProperty(s) && (l[s] = a[s]);
if (t && t.defaultProps)
for (s in a = t.defaultProps) void 0 === l[s] && (l[s] = a[s]);
return {
$$typeof: e,
type: t,
key: c,
ref: u,
props: l,
_owner: r.current
}
}
return ro.Fragment = t, ro.jsx = a, ro.jsxs = a, ro
}();
var io = no.exports;
eo('@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 ao = (0, Ee.createContext)(null),
oo = () => {
let e = (0, Ee.useContext)(ao);
if (!e) throw Error("Accordion components must be wrapped in <Accordion />");
return e
};
eo('@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 so = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
lo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
co = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
uo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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
}))
},
po = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
ho = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
fo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
mo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
go = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
vo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
yo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
_o = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
bo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
})))
},
xo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
wo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
ko = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
So = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
Eo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
Io = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
Oo = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
Co = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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 Ao() {
for (var e, t, n = 0, r = ""; n < arguments.length;)(e = arguments[n++]) && (t = function e(t) {
var n, r, i = "";
if ("string" == typeof t || "number" == typeof t) i += t;
else if ("object" == typeof t)
if (Array.isArray(t))
for (n = 0; n < t.length; n++) t[n] && (r = e(t[n])) && (i && (i += " "), i += r);
else
for (n in t) t[n] && (i && (i += " "), i += n);
return i
}(e)) && (r && (r += " "), r += t);
return r
}
let Po = e => (0, Ee.forwardRef)(e),
To = (...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)
})),
Ro = (...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],
i = r[e];
"className" === e && "string" == typeof n && "string" == typeof i ? t[e] = [n, i].join(" ").trim() : "style" === e && "object" == typeof n && "object" == typeof i ? t[e] = {
...n,
...i
} : "o" === e[0] && "n" === e[1] && e.charCodeAt(2) >= 65 && 90 >= e.charCodeAt(2) && "function" == typeof n && "function" == typeof i ? t[e] = (...e) => {
n(...e), i(...e)
} : t[e] = "ref" === e ? To(n, i) : i ?? n
}
}
return t
},
Do = (e, t = []) => {
let n = (0, Ee.useRef)(e);
return (0, Ee.useEffect)((() => {
n.current = e
})), (0, Ee.useCallback)(((...e) => n.current?.(...e)), t)
},
Lo = ({
value: e,
defaultValue: t,
onChange: n,
shouldUpdate: r = ((e, t) => e !== t)
}) => {
let i = Do(n, []),
a = Do(r),
[o, s] = (0, Ee.useState)(t),
l = void 0 !== e,
c = l ? e : o,
u = Do((e => {
let t = "function" == typeof e ? e(c) : e;
a(c, t) && (l || s(t), i(t))
}), [l, i, c, a]);
return [c, u, l]
},
No = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function jo(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 Mo(e) {
void 0 === e && (e = {});
var t, n, r, i, a, 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",
i = jo(n, r, "inlineSize"),
a = jo(n, r, "blockSize"),
o = i ? c(i) : void 0,
s = a ? c(a) : 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), (i = (0, Ee.useRef)(null)).current = n, a = (0, Ee.useRef)(null), (0, Ee.useEffect)((function() {
o()
})), o = (0, Ee.useCallback)((function() {
var e = a.current,
n = i.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) {
a.current = e, o()
}), [o]));
return (0, Ee.useMemo)((function() {
return {
ref: g,
width: p.width,
height: p.height
}
}), [g, p.width, p.height])
}
let Fo = ({
content: e,
ref: t
} = {}) => {
let [n, r] = (0, Ee.useState)({
block: !1,
inline: !1
}), i = n.block || n.inline, a = (0, Ee.useRef)(null), o = t || a, s = (0, Ee.useCallback)((() => {
if (o.current) {
let e = window.getComputedStyle(o.current),
t = parseFloat(e.lineHeight),
n = !!e.webkitLineClamp,
i = Math.floor(o.current.scrollHeight / t) > Math.floor(o.current.offsetHeight / t);
r({
block: n ? i : o.current.offsetHeight < o.current.scrollHeight,
inline: o.current.offsetWidth < o.current.scrollWidth
})
}
}), [o]);
return Mo({
ref: o,
onResize: s
}), (0, Ee.useEffect)(s, [e, s]), (0, Ee.useMemo)((() => ({
ref: o,
hasOverflow: i,
...n
})), [i, o, n])
},
zo = e => {
let t = (0, Ee.useId)();
return e ?? t
},
Uo = "loading",
Vo = "loaded",
Bo = "error",
Go = ({
crossOrigin: e,
src: t,
srcSet: n
}) => {
let [r, i] = (0, Ee.useState)(Uo);
return (0, Ee.useEffect)((() => {
if (!t && !n) return void i(Bo);
let r = () => {
i(Vo)
},
a = () => {
i(Bo)
},
o = new Image;
return e && (o.crossOrigin = e), t && (o.src = t), n && (o.srcset = n), o.addEventListener("load", r), o.addEventListener("error", a), () => {
o.removeEventListener("load", r), o.removeEventListener("error", a)
}
}), [e, t, n]), r
},
$o = (0, Ee.createContext)(void 0),
qo = $o.Provider;
var Wo = {
exports: {}
};
lp = Wo.exports, "undefined" != typeof navigator && (Wo.exports = function() {
var e, t, n, r, i, a, 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, i = e.length;
for (n = 0; n < i; n += 1)
for (var a in r = e[n].prototype) Object.prototype.hasOwnProperty.call(r, a) && (t.prototype[a] = r[a])
}
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,
i = [];
switch (e) {
case "int16":
case "uint8c":
n = 1;
break;
default:
n = 1.1
}
for (r = 0; r < t; r += 1) i.push(n);
return i
}
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 y = !0,
_ = null,
b = "",
x = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),
w = Math.pow,
k = Math.sqrt,
S = Math.floor,
E = Math.min,
I = 150,
O = Math.PI / 180;
function C(e, t, n, r) {
this.type = e, this.currentTime = t, this.totalTime = n, this.direction = r < 0 ? -1 : 1
}
function A(e, t) {
this.type = e, this.direction = t < 0 ? -1 : 1
}
function P(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 R(e, t) {
this.type = e, this.target = t
}
function D(e, t) {
this.type = "renderFrameError", this.nativeError = e, this.currentTime = t
}
function L(e) {
this.type = "configError", this.nativeError = e
}
var N = (e = 0, function() {
return b + "__lottie_element_" + (e += 1)
});
function j(e, t, n) {
var r, i, a, 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, i = u, a = l;
break;
case 1:
r = c, i = n, a = l;
break;
case 2:
r = l, i = n, a = u;
break;
case 3:
r = l, i = c, a = n;
break;
case 4:
r = u, i = l, a = n;
break;
case 5:
r = n, i = l, a = c
}
return [r, i, a]
}
function M(e, t, n) {
var r, i = Math.max(e, t, n),
a = Math.min(e, t, n),
o = i - a;
switch (i) {
case a:
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 === i ? 0 : o / i, i / 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), j(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), j(n[0], n[1], n[2])
}
function U(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), j(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 V = function() {
return _
},
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 = [],
i = {
onmessage: function() {},
postMessage: function(t) {
e({
data: t
})
}
},
a = {
postMessage: function(e) {
i.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, i
}((function(e) {
if (a.dataManager || (a.dataManager = function() {
function e(i, a) {
var o, s, l, c, u, d, p = i.length;
for (s = 0; s < p; s += 1)
if ("ks" in (o = i[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, a), e(o.layers, a)) : 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, i, a;
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 (i = 0, a = e[t].ks.k.length; i < a; i += 1) e[t].ks.k[i].s && r(e[t].ks.k[i].s[0]), e[t].ks.k[i].e && r(e[t].ks.k[i].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 i(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 a, 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 (i(e, n.v) && (t(n.layers), n.assets)) {
var r, a = n.assets.length;
for (r = 0; r < a; r += 1) n.assets[r].layers && t(n.assets[r].layers)
}
}
}(),
s = (a = [4, 7, 99], function(e) {
if (e.chars && !i(a, 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 (i(e, n.v) && (t(n.layers), n.assets)) {
var r, a = n.assets.length;
for (r = 0; r < a; 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, i, a = t.length;
for (n = 0; n < a; 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, i = t[n].c.k.length; r < i; 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 (i(e, n.v) && (t(n.layers), n.assets)) {
var r, a = n.assets.length;
for (r = 0; r < a; 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, i, a, o, s = e.length;
for (n = 0; n < s; n += 1) {
if ((t = e[n]).hasMask) {
var l = t.masksProperties;
for (r = 0, i = l.length; r < i; r += 1)
if (l[r].pt.k.i) l[r].pt.k.c = l[r].cl;
else
for (a = 0, o = l[r].pt.k.length; a < o; a += 1) l[r].pt.k[a].s && (l[r].pt.k[a].s[0].c = l[r].cl), l[r].pt.k[a].e && (l[r].pt.k[a].e[0].c = l[r].cl)
}
4 === t.ty && function e(t) {
var n, r, i;
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, i = t[n].ks.k.length; r < i; 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 (i(e, n.v) && (t(n.layers), n.assets)) {
var r, a = n.assets.length;
for (r = 0; r < a; 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 i = 0,
a = n.length;
for (i = 0; i < a; i += 1) 1 === n[i].t && (n[i].data.layers = t(n[i].data.refId, r), e(n[i].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
}()), a.assetLoader || (a.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, i) {
var a, o = new XMLHttpRequest;
try {
o.responseType = "json"
} catch (e) {}
o.onreadystatechange = function() {
if (4 === o.readyState)
if (200 === o.status) r(a = e(o));
else try {
a = e(o), r(a)
} catch (e) {
i && i(e)
}
};
try {
o.open("GET", t, !0)
} catch (e) {
o.open("GET", n + "/" + t, !0)
}
o.send()
}
}
}()), "loadAnimation" === e.data.type) a.assetLoader.load(e.data.path, e.data.fullPath, (function(t) {
a.dataManager.completeData(t), a.postMessage({
id: e.data.id,
payload: t,
status: "success"
})
}), (function() {
a.postMessage({
id: e.data.id,
status: "error"
})
}));
else if ("complete" === e.data.type) {
var t = e.data.animation;
a.dataManager.completeData(t), a.postMessage({
id: e.data.id,
payload: t,
status: "success"
})
} else "loadData" === e.data.type && a.assetLoader.load(e.data.path, e.data.fullPath, (function(t) {
a.postMessage({
id: e.data.id,
payload: t,
status: "success"
})
}), (function() {
a.postMessage({
id: e.data.id,
status: "error"
})
}))
}))).onmessage = function(e) {
var t = e.data,
n = t.id,
i = r[n];
r[n] = null, "success" === t.status ? i.onComplete(t.payload) : i.onError && i.onError()
})
}
function s(e, t) {
var i = "processId_" + (n += 1);
return r[i] = {
onComplete: e,
onError: t
}, i
}
return {
loadAnimation: function(e, n, r) {
o();
var i = s(n, r);
t.postMessage({
type: "loadAnimation",
path: e,
fullPath: window.location.origin + window.location.pathname,
id: i
})
},
loadData: function(e, n, r) {
o();
var i = s(n, r);
t.postMessage({
type: "loadData",
path: e,
fullPath: window.location.origin + window.location.pathname,
id: i
})
},
completeAnimation: function(e, n, r) {
o();
var i = s(n, r);
t.postMessage({
type: "complete",
animation: e,
id: i
})
}
}
}(),
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 i() {
this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
}
function a(e, t, n) {
var r = "";
if (e.e) r = e.p;
else if (t) {
var i = e.p; - 1 !== i.indexOf("images/") && (i = i.split("/")[1]), r = t + i
} 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 = a(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 = i.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 = a(e, this.assetsPath, this.path),
r = h("img");
r.crossOrigin = "anonymous", r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function() {
i.img = n, this._imageLoaded()
}.bind(this), !1), r.src = t;
var i = {
img: r,
assetData: e
};
return i
},
createImageData: function(e) {
var t = a(e, this.assetsPath, this.path),
r = $("image");
x ? this.testImageLoaded(r) : r.addEventListener("load", this._imageLoaded, !1), r.addEventListener("error", function() {
i.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 i = {
img: r,
assetData: e
};
return i
},
imageLoaded: r,
footageLoaded: i,
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 = N(), this.assetsPath = "", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = y, 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 C("drawnFrame", 0, 0, 0), this.expressionsPlugin = V()
};
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 i = 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" === i ? n.loop = !1 : "true" === i ? n.loop = !0 : "" !== i && (n.loop = parseInt(i, 10));
var a = 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" !== a, 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,
i = r.length,
a = e.layers,
o = a.length;
for (n = 0; n < o; n += 1)
for (t = 0; t < i;) {
if (r[t].id === a[n].id) {
r[t] = a[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, i = e.assets.length; t < i; 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 = V();
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],
i = {
time: r.tm,
duration: r.dr
};
try {
i.payload = JSON.parse(e[n].cm)
} catch (t) {
try {
i.payload = function(e) {
for (var t, n = e.split("\r\n"), r = {}, i = 0, a = 0; a < n.length; a += 1) 2 === (t = n[a].split(":")).length && (r[t[0]] = t[1].trim(), i += 1);
if (0 === i) throw Error();
return r
}(e[n].cm)
} catch (t) {
i.payload = {
name: e[n].cm
}
}
}
t.push(i)
}
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 = V();
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 i = this.getMarkerData(e);
i && (i.duration ? this.playSegments([i.time, i.time + i.duration], !0) : this.goToAndStop(i.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 C(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 P(e, this.loop, this.playCount, this.frameMult));
break;
case "complete":
this.triggerEvent(e, new A(e, this.frameMult));
break;
case "segmentStart":
this.triggerEvent(e, new T(e, this.firstFrame, this.totalFrames));
break;
case "destroy":
this.triggerEvent(e, new R(e, this));
break;
default:
this.triggerEvent(e)
}
"enterFrame" === e && this.onEnterFrame && this.onEnterFrame.call(this, new C(e, this.currentFrame, this.totalFrames, this.frameMult)), "loopComplete" === e && this.onLoopComplete && this.onLoopComplete.call(this, new P(e, this.loop, this.playCount, this.frameMult)), "complete" === e && this.onComplete && this.onComplete.call(this, new A(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 R(e, this))
}, X.prototype.triggerRenderFrameError = function(e) {
var t = new D(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,
i = 0,
a = !0,
o = !1;
function s(e) {
for (var n = 0, i = e.target; n < r;) t[n].animation !== i || (t.splice(n, 1), n -= 1, r -= 1, i.isPaused || u()), n += 1
}
function l(e, n) {
if (!e) return null;
for (var i = 0; i < r;) {
if (t[i].elem === e && null !== t[i].elem) return t[i].animation;
i += 1
}
var a = new X;
return d(a, e), a.setData(e, n), a
}
function c() {
i += 1, m()
}
function u() {
i -= 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, i && !o ? window.requestAnimationFrame(p) : a = !0
}
function f(e) {
n = e, window.requestAnimationFrame(p)
}
function m() {
!o && i && a && (window.requestAnimationFrame(f), a = !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 i;
for (i = 0; i < r; i += 1) t[i].animation.setSpeed(e, n)
}, e.setDirection = function(e, n) {
var i;
for (i = 0; i < r; i += 1) t[i].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, i = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin"))),
a = i.length;
for (r = 0; r < a; r += 1) n && i[r].setAttribute("data-bm-type", n), l(i[r], e);
if (t && 0 === a) {
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, i) {
var a;
for (a = 0; a < r; a += 1) t[a].animation.goToAndStop(e, n, i)
}, 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 i;
for (i = 0; i < r; i += 1) t[i].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, i, o) {
var s = o || ("bez_" + e + "_" + n + "_" + r + "_" + i).replace(/\./g, "p");
if (t[s]) return t[s];
var l = new a([e, n, r, i]);
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 i(e, t, n) {
return 3 * (1 - 3 * n + 3 * t) * e * e + 2 * (3 * n - 6 * t) * e + 3 * t
}
function a(e) {
this._p = e, this._mSampleValues = n ? new Float32Array(11) : Array(11), this._precomputed = !1, this.get = this.get.bind(this)
}
return a.prototype = {
get: function(e) {
var t = this._p[0],
n = this._p[1],
i = this._p[2],
a = this._p[3];
return this._precomputed || this._precompute(), t === n && i === a ? e : 0 === e ? 0 : 1 === e ? 1 : r(this._getTForX(e), n, a)
},
_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], a = this._mSampleValues, o = 0, s = 1; 10 !== s && a[s] <= e; ++s) o += .1;
var l = o + (e - a[--s]) / (a[s + 1] - a[s]) * .1,
c = i(l, t, n);
return c >= .001 ? function(e, t, n, a) {
for (var o = 0; o < 4; ++o) {
var s = i(t, n, a);
if (0 === s) break;
t -= (r(t, n, a) - e) / s
}
return t
}(e, l, t, n) : 0 === c ? l : function(e, t, n, i, a) {
var o, s, l = 0;
do {
(o = r(s = t + (n - t) / 2, i, a) - 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,
i = e,
a = v(i);
return {
newElement: function() {
var e;
return r ? e = a[r -= 1] : e = t(), e
},
release: function(e) {
r === i && (a = te(a), i *= 2), n && n(e), a[r] = e, r += 1
}
}
},
re = ne(8, (function() {
return {
addedLength: 0,
percents: g("float32", G()),
lengths: g("float32", G())
}
})),
ie = 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
})),
ae = function() {
var e, t = Math;
function n(e, t, n, r, i, a) {
var o = e * r + t * i + n * a - i * r - a * e - n * t;
return o > -.001 && o < .001
}
var r = function(e, t, n, r) {
var i, a, o, s, l, c, u = G(),
d = 0,
p = [],
h = [],
f = re.newElement();
for (i = 0, o = n.length; i < u; i += 1) {
for (a = 0, l = i / (u - 1), c = 0; a < o; a += 1) s = w(1 - l, 3) * e[a] + 3 * w(1 - l, 2) * l * n[a] + 3 * (1 - l) * w(l, 2) * r[a] + w(l, 3) * t[a], p[a] = s, null !== h[a] && (c += w(p[a] - h[a], 2)), h[a] = p[a];
c && (d += c = k(c)), f.percents[i] = l, f.lengths[i] = d
}
return f.addedLength = d, f
};
function i(e) {
this.segmentLength = 0, this.points = Array(e)
}
function a(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(),
y = 0,
_ = 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 i(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 !== _ && (f += w(m[u] - _[u], 2));
y += f = k(f), b.points[c] = new a(f, m), _ = m
}
b.segmentLength = y, e[l] = b
}
return e[l]
});
function s(e, t) {
var n = t.percents,
r = t.lengths,
i = n.length,
a = S((i - 1) * e),
o = e * t.addedLength,
s = 0;
if (a === i - 1 || 0 === a || o === r[a]) return n[a];
for (var l = r[a] > o ? -1 : 1, c = !0; c;)
if (r[a] <= o && r[a + 1] > o ? (s = (o - r[a]) / (r[a + 1] - r[a]), c = !1) : a += l, a < 0 || a >= i - 1) {
if (a === i - 1) return n[a];
c = !1
} return n[a] + (n[a + 1] - n[a]) * s
}
var l = g("float32", 8);
return {
getSegmentsLength: function(e) {
var t, n = ie.newElement(),
i = e.c,
a = 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(a[t], a[t + 1], o[t], s[t + 1]), u += c[t].addedLength;
return i && l && (c[t] = r(a[t], a[0], o[t], s[0]), u += c[t].addedLength), n.totalLength = u, n
},
getNewSegment: function(e, n, r, i, a, o, c) {
a < 0 ? a = 0 : a > 1 && (a = 1);
var u, d = s(a, 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,
y = d * d * f * 3,
_ = 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,
O = d * p * p,
C = m * m * m,
A = p * m * m + m * p * m + m * m * p,
P = 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] + y * i[u] + _ * n[u])) / 1e3, l[4 * u + 1] = t.round(1e3 * (b * e[u] + x * r[u] + w * i[u] + k * n[u])) / 1e3, l[4 * u + 2] = t.round(1e3 * (S * e[u] + E * r[u] + I * i[u] + O * n[u])) / 1e3, l[4 * u + 3] = t.round(1e3 * (C * e[u] + A * r[u] + P * i[u] + T * n[u])) / 1e3;
return l
},
getPointInSegment: function(e, n, r, i, a, o) {
var l = s(a, 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) * i[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) * i[1] + l * l * l * n[1])) / 1e3]
},
buildBezierData: o,
pointOnLine2D: n,
pointOnLine3D: function(e, r, i, a, o, s, l, c, u) {
if (0 === i && 0 === s && 0 === u) return n(e, r, a, o, l, c);
var d, p = t.sqrt(t.pow(a - e, 2) + t.pow(o - r, 2) + t.pow(s - i, 2)),
h = t.sqrt(t.pow(l - e, 2) + t.pow(c - r, 2) + t.pow(u - i, 2)),
f = t.sqrt(t.pow(l - a, 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, i, a, o, s, l, c, u, d, p, h, f, m, v, y, _, b, x, w, k, S, E, I, C, A, P, T, R = this.offsetTime;
"multidimensional" === this.propType && (V = g("float32", this.pv.length));
for (var D = t.lastIndex, L = D, N = this.keyframes.length - 1, j = !0; j;) {
if (B = this.keyframes[L], G = this.keyframes[L + 1], L === N - 1 && e >= G.t - R) {
B.h && (B = G), D = 0;
break
}
if (G.t - R > e) {
D = L;
break
}
L < N - 1 ? L += 1 : (D = 0, j = !1)
}
$ = this.keyframesMetadata[L] || {};
var M = G.t - R,
F = B.t - R;
if (B.to) {
$.bezierData || ($.bezierData = ae.buildBezierData(B.s, G.s || B.e, B.to, B.ti));
var z = $.bezierData;
if (e >= M || e < F) {
var U = e >= M ? z.points.length - 1 : 0;
for (q = 0, W = z.points[U].point.length; q < W; q += 1) V[q] = z.points[U].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 V, 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, j = !0, K = z.points.length; j;) {
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) V[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) V[q] = z.points[Y].point[q] + (z.points[Y + 1].point[q] - z.points[Y].point[q]) * X;
break
}
Y < K - 1 ? Y += 1 : j = !1
}
t._lastPoint = Y, t._lastAddedLength = te - z.points[Y].partialLength, t._lastKeyframeIndex = L
}
} else if (N = B.s.length, Z = G.s || B.e, this.sh && 1 !== B.h) e >= M ? (V[0] = Z[0], V[1] = Z[1], V[2] = Z[2]) : e <= F ? (V[0] = B.s[0], V[1] = B.s[1], V[2] = B.s[2]) : (b = V, w = (n = le(B.s), r = le(Z), i = (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 * (y = r[2]) + f * (_ = r[3])) < 0 && (o = -o, m = -m, v = -v, y = -y, _ = -_), 1 - o > 1e-6 ? (s = Math.sin(a = Math.acos(o)), l = Math.sin((1 - i) * a) / s, c = Math.sin(i * a) / s) : (l = 1 - i, c = i), u[0] = l * d + c * m, u[1] = l * p + c * v, u[2] = l * h + c * y, u[3] = l * f + c * _, 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) / O, b[1] = Math.asin(2 * w * k + 2 * S * E) / O, b[2] = Math.atan2(2 * w * E - 2 * k * S, 1 - 2 * w * w - 2 * S * S) / O);
else
for (L = 0; L < N; 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], C = void 0 === B.o.y[L] ? B.o.y[0] : B.o.y[L], A = void 0 === B.i.x[L] ? B.i.x[0] : B.i.x[L], P = void 0 === B.i.y[L] ? B.i.y[0] : B.i.y[L], Q = ee.getBezierEasing(I, C, A, P).get, $.__fnct[L] = Q)) : $.__fnct ? Q = $.__fnct : (I = B.o.x, C = B.o.y, A = B.i.x, P = B.i.y, Q = ee.getBezierEasing(I, C, A, P).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 ? V[L] = T : V = T;
return t.lastIndex = D, V
}
function le(e) {
var t = e[0] * O,
n = e[1] * O,
r = e[2] * O,
i = Math.cos(t / 2),
a = 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 + i * a * c, s * a * o + i * l * c, i * l * o - s * a * c, i * a * 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 i, a = t.k.length;
for (i = 0, this.v = g("float32", a), this.pv = g("float32", a), this.vel = g("float32", a); i < a; i += 1) this.v[i] = t.k[i] * this.mult, this.pv[i] = t.k[i];
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 i, a, o, s, l, c = t.k.length;
for (i = 0; i < c - 1; i += 1) t.k[i].to && t.k[i].s && t.k[i + 1] && t.k[i + 1].s && (a = t.k[i].s, o = t.k[i + 1].s, s = t.k[i].to, l = t.k[i].ti, (2 === a.length && !(a[0] === o[0] && a[1] === o[1]) && ae.pointOnLine2D(a[0], a[1], o[0], o[1], a[0] + s[0], a[1] + s[1]) && ae.pointOnLine2D(a[0], a[1], o[0], o[1], o[0] + l[0], o[1] + l[1]) || 3 === a.length && !(a[0] === o[0] && a[1] === o[1] && a[2] === o[2]) && ae.pointOnLine3D(a[0], a[1], a[2], o[0], o[1], o[2], a[0] + s[0], a[1] + s[1], a[2] + s[2]) && ae.pointOnLine3D(a[0], a[1], a[2], o[0], o[1], o[2], o[0] + l[0], o[1] + l[1], o[2] + l[2])) && (t.k[i].to = null, t.k[i].ti = null), a[0] === o[0] && a[1] === o[1] && 0 === s[0] && 0 === s[1] && 0 === l[0] && 0 === l[1] && (2 === a.length || a[2] === o[2] && 0 === s[2] && 0 === l[2]) && (t.k[i].to = null, t.k[i].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 (i = 0, this.v = g("float32", u), this.pv = g("float32", u); i < u; i += 1) this.v[i] = -999999, this.pv[i] = -999999;
this._caching = {
lastFrame: -999999,
lastIndex: 0,
value: g("float32", u)
}, this.addEffect = pe
}
var ve = {
getProp: function(e, t, n, r, i) {
var a;
if (t.sid && (t = e.globalData.slotManager.getProp(t)), t.k.length)
if ("number" == typeof t.k[0]) a = new fe(e, t, r, i);
else switch (n) {
case 0:
a = new me(e, t, r, i);
break;
case 1:
a = new ge(e, t, r, i)
} else a = new he(e, t, r, i);
return a.effectsSequence.length && i.addDynamicProperty(a), a
}
};
function ye() {}
ye.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 _e = 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] = _e.newElement(), this.o[n] = _e.newElement(), this.i[n] = _e.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, i) {
var a;
switch (this._length = Math.max(this._length, r + 1), this._length >= this._maxLength && this.doubleArrayLength(), n) {
case "v":
a = this.v;
break;
case "i":
a = this.i;
break;
case "o":
a = this.o;
break;
default:
a = []
}
a[r] && (!a[r] || i) || (a[r] = _e.newElement()), a[r][0] = e, a[r][1] = t
}, be.prototype.setTripleAt = function(e, t, n, r, i, a, o, s) {
this.setXYAt(e, t, "v", o, s), this.setXYAt(n, r, "o", o, s), this.setXYAt(i, a, "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,
i = this.i,
a = 0;
this.c && (t.setTripleAt(n[0][0], n[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1), a = 1);
var o = this._length - 1,
s = this._length;
for (e = a; e < s; e += 1) t.setTripleAt(n[o][0], n[o][1], i[o][0], i[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) _e.release(e.v[t]), _e.release(e.i[t]), _e.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(),
i = void 0 === e._length ? e.v.length : e._length;
for (r.setLength(i), r.c = e.c, n = 0; n < i; 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, i = v(4), {
newShapeCollection: function() {
var e;
return n ? e = i[n -= 1] : e = new we, e
},
release: function(e) {
var t, a = e._length;
for (t = 0; t < a; t += 1) xe.release(e.shapes[t]);
e._length = 0, n === r && (i = te(i), r *= 2), i[n] = e, n += 1
}
}),
Se = function() {
function e(e, t, n) {
var r = n.lastIndex,
i = this.keyframes;
if (e < i[0].t - this.offsetTime) a = i[0].s[0], s = !0, r = 0;
else if (e >= i[i.length - 1].t - this.offsetTime) a = i[i.length - 1].s ? i[i.length - 1].s[0] : i[i.length - 2].e[0], s = !0;
else {
for (var a, o, s, l, c, u, d, p, h, f, m, g, v, y = r, _ = i.length - 1, b = !0; b && (f = i[y], !((m = i[y + 1]).t - this.offsetTime > e));) y < _ - 1 ? y += 1 : b = !1;
g = this.keyframesMetadata[y] || {}, r = y, (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]), a = f.s[0]
}
for (l = 0, u = t._length, d = a.i[0].length, n.lastIndex = r; l < u; l += 1)
for (c = 0; c < d; c += 1) h = s ? a.i[l][c] : a.i[l][c] + (o.i[l][c] - a.i[l][c]) * p, t.i[l][c] = h, h = s ? a.o[l][c] : a.o[l][c] + (o.o[l][c] - a.o[l][c]) * p, t.o[l][c] = h, h = s ? a.v[l][c] : a.v[l][c] + (o.v[l][c] - a.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 i() {
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 a(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 i = 3 === r ? t.pt.k : t.ks.k;
this.v = xe.clone(i), 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, i) {
this.propType = "shape", this.comp = e.comp, this.elem = e, this.container = e, this.offsetTime = e.data.st, this.keyframes = 3 === i ? r.pt.k : r.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;
var a = this.keyframes[0].s[0].i.length;
this.v = xe.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, a), 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)]
}
a.prototype.interpolateShape = e, a.prototype.getValue = i, a.prototype.setVValue = r, a.prototype.addEffect = o, s.prototype.getValue = i, 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,
i = 3 !== this.d,
a = this.v;
a.v[0][0] = e, a.v[0][1] = t - r, a.v[1][0] = i ? e + n : e - n, a.v[1][1] = t, a.v[2][0] = e, a.v[2][1] = t + r, a.v[3][0] = i ? e - n : e + n, a.v[3][1] = t, a.i[0][0] = i ? e - .5519 * n : e + .5519 * n, a.i[0][1] = t - r, a.i[1][0] = i ? e + n : e - n, a.i[1][1] = t - .5519 * r, a.i[2][0] = i ? e + .5519 * n : e - .5519 * n, a.i[2][1] = t + r, a.i[3][0] = i ? e - n : e + n, a.i[3][1] = t + .5519 * r, a.o[0][0] = i ? e + .5519 * n : e - .5519 * n, a.o[0][1] = t - r, a.o[1][0] = i ? e + n : e - n, a.o[1][1] = t + .5519 * r, a.o[2][0] = i ? e - .5519 * n : e + .5519 * n, a.o[2][1] = t + r, a.o[3][0] = i ? e - n : e + n, a.o[3][1] = t - .5519 * r
}
}, f([ye], 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, O, 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, i = 2 * Math.floor(this.pt.v),
a = 2 * Math.PI / i,
o = !0,
s = this.or.v,
l = this.ir.v,
c = this.os.v,
u = this.is.v,
d = 2 * Math.PI * s / (2 * i),
p = 2 * Math.PI * l / (2 * i),
h = -Math.PI / 2;
h += this.r.v;
var f = 3 === this.data.d ? -1 : 1;
for (e = 0, this.v._length = 0; e < i; 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),
y = 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 - y * r * n * f, m + v * r * n * f, g + y * r * n * f, e, !0), o = !o, h += a * f
}
},
convertPolygonToPath: function() {
var e, t = Math.floor(this.pt.v),
n = 2 * Math.PI / t,
r = this.or.v,
i = this.os.v,
a = 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 * a * i * s, c - d * a * i * s, l + u * a * i * s, c + d * a * i * s, e, !0), o += n * s
}
this.paths.length = 0, this.paths[0] = this.v
}
}, f([ye], 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,
i = E(n, r, this.r.v),
a = .44810000000000005 * i;
this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(e + n, t - r + i, e + n, t - r + i, e + n, t - r + a, 0, !0), this.v.setTripleAt(e + n, t + r - i, e + n, t + r - a, e + n, t + r - i, 1, !0), 0 !== i ? (this.v.setTripleAt(e + n - i, t + r, e + n - i, t + r, e + n - a, t + r, 2, !0), this.v.setTripleAt(e - n + i, t + r, e - n + a, t + r, e - n + i, t + r, 3, !0), this.v.setTripleAt(e - n, t + r - i, e - n, t + r - i, e - n, t + r - a, 4, !0), this.v.setTripleAt(e - n, t - r + i, e - n, t - r + a, e - n, t - r + i, 5, !0), this.v.setTripleAt(e - n + i, t - r, e - n + i, t - r, e - n + a, t - r, 6, !0), this.v.setTripleAt(e + n - i, t - r, e + n - a, t - r, e + n - i, t - r, 7, !0)) : (this.v.setTripleAt(e - n, t + r, e - n + a, t + r, e - n, t + r, 2), this.v.setTripleAt(e - n, t - r, e - n, t - r + a, e - n, t - r, 3))) : (this.v.setTripleAt(e + n, t - r + i, e + n, t - r + a, e + n, t - r + i, 0, !0), 0 !== i ? (this.v.setTripleAt(e + n - i, t - r, e + n - i, t - r, e + n - a, t - r, 1, !0), this.v.setTripleAt(e - n + i, t - r, e - n + a, t - r, e - n + i, t - r, 2, !0), this.v.setTripleAt(e - n, t - r + i, e - n, t - r + i, e - n, t - r + a, 3, !0), this.v.setTripleAt(e - n, t + r - i, e - n, t + r - a, e - n, t + r - i, 4, !0), this.v.setTripleAt(e - n + i, t + r, e - n + i, t + r, e - n + a, t + r, 5, !0), this.v.setTripleAt(e + n - i, t + r, e + n - a, t + r, e + n - i, t + r, 6, !0), this.v.setTripleAt(e + n, t + r - i, e + n, t + r - i, e + n, t + r - a, 7, !0)) : (this.v.setTripleAt(e - n, t - r, e - n + a, t - r, e - n, t - r, 1, !0), this.v.setTripleAt(e - n, t + r, e - n, t + r - a, e - n, t + r, 2, !0), this.v.setTripleAt(e + n, t + r, e + n - a, 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([ye], 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 a(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 a
},
getKeyframedConstructorFunction: function() {
return s
}
};
return d
}(),
Ee = function() {
var e = Math.cos,
t = Math.sin,
n = Math.tan,
r = Math.round;
function i() {
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 a(n) {
if (0 === n) return this;
var r = e(n),
i = t(n);
return this._t(r, -i, 0, 0, i, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}
function o(n) {
if (0 === n) return this;
var r = e(n),
i = t(n);
return this._t(1, 0, 0, 0, 0, r, -i, 0, 0, i, r, 0, 0, 0, 0, 1)
}
function s(n) {
if (0 === n) return this;
var r = e(n),
i = t(n);
return this._t(r, 0, i, 0, 0, 1, 0, 0, -i, 0, r, 0, 0, 0, 0, 1)
}
function l(n) {
if (0 === n) return this;
var r = e(n),
i = t(n);
return this._t(r, -i, 0, 0, i, 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, i) {
var a = e(i),
o = t(i);
return this._t(a, o, 0, 0, -o, a, 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(a, -o, 0, 0, o, a, 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, i, a, 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] = i, this.props[5] = a, 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, i, a, o, s, l, c, u, d, p, h, f, m) {
var g = this.props;
if (1 === e && 0 === t && 0 === n && 0 === r && 0 === i && 1 === a && 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] * a + g[15] * h, g[14] = g[14] * u + g[15] * f, g[15] *= m, this._identityCalculated = !1, this;
var v = g[0],
y = g[1],
_ = g[2],
b = g[3],
x = g[4],
w = g[5],
k = g[6],
S = g[7],
E = g[8],
I = g[9],
O = g[10],
C = g[11],
A = g[12],
P = g[13],
T = g[14],
R = g[15];
return g[0] = v * e + y * i + _ * l + b * p, g[1] = v * t + y * a + _ * c + b * h, g[2] = v * n + y * o + _ * u + b * f, g[3] = v * r + y * s + _ * d + b * m, g[4] = x * e + w * i + k * l + S * p, g[5] = x * t + w * a + 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 * i + O * l + C * p, g[9] = E * t + I * a + O * c + C * h, g[10] = E * n + I * o + O * u + C * f, g[11] = E * r + I * s + O * d + C * m, g[12] = A * e + P * i + T * l + R * p, g[13] = A * t + P * a + T * c + R * h, g[14] = A * n + P * o + T * u + R * f, g[15] = A * r + P * s + T * d + R * 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 y() {
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 _(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,
i = this.props[0] / e,
a = (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] = i, s.props[12] = a, s.props[13] = o, s
}
function O(e) {
return this.getInverseMatrix().applyToPointArray(e[0], e[1], e[2] || 0)
}
function C(e) {
var t, n = e.length,
r = [];
for (t = 0; t < n; t += 1) r[t] = O(e[t]);
return r
}
function A(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 i = this.props[0],
a = this.props[1],
o = this.props[4],
s = this.props[5],
l = this.props[12],
c = this.props[13];
r[0] = e[0] * i + e[1] * o + l, r[1] = e[0] * a + e[1] * s + c, r[2] = t[0] * i + t[1] * o + l, r[3] = t[0] * a + t[1] * s + c, r[4] = n[0] * i + n[1] * o + l, r[5] = n[0] * a + n[1] * s + c
}
return r
}
function P(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 R() {
for (var e = 0, t = this.props, n = "matrix3d("; e < 16;) n += r(1e4 * t[e]) / 1e4 + (15 === e ? ")" : ","), e += 1;
return n
}
function D(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(" + D(e[0]) + "," + D(e[1]) + "," + D(e[4]) + "," + D(e[5]) + "," + D(e[12]) + "," + D(e[13]) + ")"
}
return function() {
this.reset = i, this.rotate = a, 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 = P, this.applyToTriplePoints = A, this.applyToPointStringified = T, this.toCSS = R, this.to2dCSS = L, this.clone = b, this.cloneFromProps = x, this.equals = _, this.inversePoints = C, this.inversePoint = O, this.getInverseMatrix = I, this._t = this.transform, this.isIdentity = y, 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 Oe = {};
function Ce() {
J.searchAnimations()
}
Oe.play = J.play, Oe.pause = J.pause, Oe.setLocationHref = function(e) {
! function(e) {
u = e
}(e)
}, Oe.togglePause = J.togglePause, Oe.setSpeed = J.setSpeed, Oe.setDirection = J.setDirection, Oe.stop = J.stop, Oe.searchAnimations = Ce, Oe.registerAnimation = J.registerAnimation, Oe.loadAnimation = function(e) {
return J.loadAnimation(e)
}, Oe.setSubframeRendering = function(e) {
! function(e) {
y = !!e
}(e)
}, Oe.resize = J.resize, Oe.goToAndStop = J.goToAndStop, Oe.destroy = J.destroy, Oe.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)
}, Oe.inBrowser = function() {
return "undefined" != typeof navigator
}, Oe.installPlugin = function(e, t) {
"expressions" === e && function(e) {
_ = e
}(t)
}, Oe.freeze = J.freeze, Oe.unfreeze = J.unfreeze, Oe.setVolume = J.setVolume, Oe.mute = J.mute, Oe.unmute = J.unmute, Oe.getRegisteredAnimations = J.getRegisteredAnimations, Oe.useWebWorker = function(e) {
d = !!e
}, Oe.setIDPrefix = function(e) {
! function(e) {
b = e
}(e)
}, Oe.__getFactory = function(e) {
switch (e) {
case "propertyFactory":
return ve;
case "shapePropertyFactory":
return Se;
case "matrix":
return Ee;
default:
return null
}
}, Oe.version = "5.12.2";
var Ae = "",
Pe = document.getElementsByTagName("script"),
Te = Pe[Pe.length - 1] || {
src: ""
};
Ae = Te.src ? Te.src.replace(/^[^\?]+\??/, "") : "",
function(e) {
for (var t = Ae.split("&"), n = 0; n < t.length; n += 1) {
var r = t[n].split("=");
if ("renderer" == decodeURIComponent(r[0])) return decodeURIComponent(r[1])
}
}();
var Re = setInterval((function() {
"complete" === document.readyState && (clearInterval(Re), Ce())
}), 100);
try {
"object" !== Ie(lp) && (window.bodymovin = Oe)
} catch (e) {}
var De = (o = {}, (a = {}).registerModifier = function(e, t) {
o[e] || (o[e] = t)
}, a.getModifier = function(e, t, n) {
return new o[e](t, n)
}, a);
function Le() {}
function Ne() {}
function je() {}
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([ye], Le), f([Le], Ne), Ne.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
}, Ne.prototype.addShapeToModifier = function(e) {
e.pathsData = []
}, Ne.prototype.calculateShapeEdges = function(e, t, n, r, i) {
var a, 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 (a = 0; a < c; a += 1)(o = s[a]).e * i < r || o.s * i > r + n || l.push([o.s * i <= r ? 0 : (o.s * i - r) / n, o.e * i >= r + n ? 1 : (o.e * i - r) / n]);
return l.length || l.push([0, 0]), l
}, Ne.prototype.releasePathsData = function(e) {
var t, n = e.length;
for (t = 0; t < n; t += 1) ie.release(e[t]);
return e.length = 0, e
}, Ne.prototype.processShapes = function(e) {
if (this._mdf || e) {
var t = this.o.v % 360 / 360;
if (t < 0 && (t += 1), (a = 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 = a;
a = o, o = n
}
a = 1e-4 * Math.round(1e4 * a), o = 1e-4 * Math.round(1e4 * o), this.sValue = a, this.eValue = o
} else a = this.sValue, o = this.eValue;
var r = this.shapes.length,
i = 0;
if (o === a)
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 === a || 0 === o && 1 === a) {
if (this._mdf)
for (l = 0; l < r; l += 1) this.shapes[l].pathsData.length = 0, this.shapes[l].shape._mdf = !0
} else {
var a, 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 = ae.getSegmentsLength(s.shapes[c]), d.push(p), h += p.totalLength;
f.totalShapeLength = h, f.pathsData = d
}
i += h, f.shape._mdf = !0
} else f.shape.paths = f.localShapeCollection;
var y = a,
_ = 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(a, o, f.totalShapeLength, b, i), b += f.totalShapeLength) : g = [
[y, _]
], u = g.length, c = 0; c < u; c += 1) {
y = g[c][0], _ = g[c][1], v.length = 0, _ <= 1 ? v.push({
s: f.totalShapeLength * y,
e: f.totalShapeLength * _
}) : y >= 1 ? v.push({
s: f.totalShapeLength * (y - 1),
e: f.totalShapeLength * (_ - 1)
}) : (v.push({
s: f.totalShapeLength * y,
e: f.totalShapeLength
}), v.push({
s: 0,
e: f.totalShapeLength * (_ - 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
}
}
}, Ne.prototype.addPaths = function(e, t) {
var n, r = e.length;
for (n = 0; n < r; n += 1) t.addShape(e[n])
}, Ne.prototype.addSegment = function(e, t, n, r, i, a, o) {
i.setXYAt(t[0], t[1], "o", a), i.setXYAt(n[0], n[1], "i", a + 1), o && i.setXYAt(e[0], e[1], "v", a), i.setXYAt(r[0], r[1], "v", a + 1)
}, Ne.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)
}, Ne.prototype.addShapes = function(e, t, n) {
var r, i, a, 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 (i = 1, l = d[r].lengths, n.c = p[r].c, a = p[r].c ? l.length : l.length + 1; i < a; i += 1)
if (f + (o = l[i - 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[i - 1], p[r].o[i - 1], p[r].i[i], p[r].v[i], n, s, g), g = !1) : (c = ae.getNewSegment(p[r].v[i - 1], p[r].v[i], p[r].o[i - 1], p[r].i[i], (t.s - f) / o.addedLength, (t.e - f) / o.addedLength, l[i - 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[i - 1], f <= t.e) {
var v = l[i - 1].addedLength;
t.s <= f && t.e >= f + v ? (this.addSegment(p[r].v[i - 1], p[r].o[i - 1], p[r].i[0], p[r].v[0], n, s, g), g = !1) : (c = ae.getNewSegment(p[r].v[i - 1], p[r].v[0], p[r].o[i - 1], p[r].i[0], (t.s - f) / v, (t.e - f) / v, l[i - 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], je), je.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
}, je.prototype.processPath = function(e, t) {
var n, r, i, a, 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, i = e.o[d][0] + -(c[0] - e.o[d][0]) * l, a = 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, i, a, o, s, d);
return p
}, je.prototype.processShapes = function(e) {
var t, n, r, i, a, o, s = this.shapes.length,
l = this.amount.v;
if (0 !== l)
for (n = 0; n < s; n += 1) {
if (o = (a = this.shapes[n]).localShapeCollection, a.shape._mdf || this._mdf || e)
for (o.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, r = 0; r < i; r += 1) o.addShape(this.processPath(t[r], l));
a.shape.paths = a.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, O, this), this.ry = ve.getProp(e, t.ry, 0, O, this), this.rz = ve.getProp(e, t.rz, 0, O, this), t.or.k[0].ti) {
var r, i = t.or.k.length;
for (r = 0; r < i; r += 1) t.or.k[r].to = null, t.or.k[r].ti = null
}
this.or = ve.getProp(e, t.or, 1, O, this), this.or.sh = !0
} else this.r = ve.getProp(e, t.r || {
k: 0
}, 0, O, this);
t.sk && (this.sk = ve.getProp(e, t.sk, 0, O, this), this.sa = ve.getProp(e, t.sa, 0, O, 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), i = 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), i = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / n, 0)) : (r = this.p.pv, i = 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 = [], i = [];
var r, i, a = this.px,
o = this.py;
a._caching.lastFrame + a.offsetTime <= a.keyframes[0].t ? (r[0] = a.getValueAtTime((a.keyframes[0].t + .01) / n, 0), r[1] = o.getValueAtTime((o.keyframes[0].t + .01) / n, 0), i[0] = a.getValueAtTime(a.keyframes[0].t / n, 0), i[1] = o.getValueAtTime(o.keyframes[0].t / n, 0)) : a._caching.lastFrame + a.offsetTime >= a.keyframes[a.keyframes.length - 1].t ? (r[0] = a.getValueAtTime(a.keyframes[a.keyframes.length - 1].t / n, 0), r[1] = o.getValueAtTime(o.keyframes[o.keyframes.length - 1].t / n, 0), i[0] = a.getValueAtTime((a.keyframes[a.keyframes.length - 1].t - .01) / n, 0), i[1] = o.getValueAtTime((o.keyframes[o.keyframes.length - 1].t - .01) / n, 0)) : (r = [a.pv, o.pv], i[0] = a.getValueAtTime((a._caching.lastFrame + a.offsetTime - .01) / n, a.offsetTime), i[1] = o.getValueAtTime((o._caching.lastFrame + o.offsetTime - .01) / n, o.offsetTime))
} else r = i = e;
this.v.rotate(-Math.atan2(r[1] - i[1], r[0] - i[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([ye], t), t.prototype.addDynamicProperty = function(e) {
this._addDynamicProperty(e), this.elem.addDynamicProperty(e), this._isDirty = !0
}, t.prototype._addDynamicProperty = ye.prototype.addDynamicProperty, {
getTransformProperty: function(e, n, r) {
return new t(e, n, r)
}
}
}();
function Fe() {}
function ze() {}
function Ue(e, t) {
return 1e5 * Math.abs(e - t) <= Math.min(Math.abs(e), Math.abs(t))
}
function Ve(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, i) {
i && Je(e, t) && (t = Be(e, r, 1 / 3)), i && Je(n, r) && (n = Be(e, r, 2 / 3));
var a = Ge(e[0], t[0], n[0], r[0]),
o = Ge(e[1], t[1], n[1], r[1]);
this.a = [a[0], o[0]], this.b = [a[1], o[1]], this.c = [a[2], o[2]], this.d = [a[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 i = r;
r = n, n = i
}
for (var a = function(e, t, n) {
if (0 === e) return [];
var r = t * t - 4 * e * n;
if (r < 0) return [];
var i = -t / (2 * e);
if (0 === r) return [i];
var a = Math.sqrt(r) / (2 * e);
return [i - a, i + a]
}(3 * e.a[t], 2 * e.b[t], e.c[t]), o = 0; o < a.length; o += 1)
if (a[o] > 0 && a[o] < 1) {
var s = e.point(a[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 i = [e[0], e[1], 1],
a = [t[0], t[1], 1],
o = [n[0], n[1], 1],
s = [r[0], r[1], 1],
l = Ye(Ye(i, a), Ye(o, s));
return Ve(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 Ue(e[0], t[0]) && Ue(e[1], t[1])
}
function et() {}
function tt(e, t, n, r, i, a, o) {
var s = n - Math.PI / 2,
l = n + Math.PI / 2,
c = t[0] + Math.cos(n) * r * i,
u = t[1] - Math.sin(n) * r * i;
e.setTripleAt(c, u, c + Math.cos(s) * a, u - Math.sin(s) * a, c + Math.cos(l) * o, u - Math.sin(l) * o, e.length())
}
function nt(e, t, n, r, i, a, 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],
y = 2 === a ? Math.sqrt(Math.pow(m[0] - g[0], 2) + Math.pow(m[1] - g[1], 2)) : 0,
_ = 2 === a ? 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, _ / (2 * (i + 1)), y / (2 * (i + 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 it(e, t) {
n = (l = rt(e.points[0], e.points[1], t))[0], r = l[1], i = (l = rt(e.points[1], e.points[2], t))[0], a = l[1], o = (l = rt(e.points[2], e.points[3], t))[0], s = l[1];
var n, r, i, a, o, s, l, c = Qe(n, r, i, a);
null === c && (c = r);
var u = Qe(o, s, i, a);
return null === u && (u = o), new qe(n, c, u, s)
}
function at(e, t, n, r, i) {
var a = t.points[3],
o = n.points[0];
if (3 === r || Je(a, o)) return a;
if (2 === r) {
var s = -t.tangentAngle(1),
l = -n.tangentAngle(0) + Math.PI,
c = Qe(a, Ze(a, s + Math.PI / 2, 100), o, Ze(o, s + Math.PI / 2, 100)),
u = c ? Xe(c, a) : Xe(a, o) / 2,
d = Ze(a, 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(a, t.points[2]) ? t.points[0] : t.points[2], a, o, Je(o, n.points[1]) ? n.points[3] : n.points[1]);
return p && Xe(p, a) < i ? (e.setTripleAt(p[0], p[1], p[0], p[1], p[0], p[1], e.length()), p) : a
}
function ot(e, t) {
var n = e.intersections(t);
return n.length && Ue(n[0][0], 1) && n.shift(), n.length ? n[0] : null
}
function st(e, t) {
var n = e.slice(),
r = t.slice(),
i = ot(e[e.length - 1], t[0]);
return i && (n[e.length - 1] = e[e.length - 1].split(i[0])[0], r[0] = t[0].split(i[1])[1]), e.length > 1 && t.length > 1 && (i = ot(e[0], t[t.length - 1])) ? [
[e[0].split(i[0])[0]],
[t[t.length - 1].split(i[1])[1]]
] : [n, r]
}
function lt(e, t) {
var n, r, i, a, o = e.inflectionPoints();
if (0 === o.length) return [it(e, t)];
if (1 === o.length || Ue(o[1], 1)) return n = (i = e.split(o[0]))[0], r = i[1], [it(n, t), it(r, t)];
n = (i = e.split(o[0]))[0];
var s = (o[1] - o[0]) / (1 - o[0]);
return a = (i = i[1].split(s))[0], r = i[1], [it(n, t), it(a, t), it(r, t)]
}
function ct() {}
function ut(e) {
for (var t = e.fStyle ? e.fStyle.split(" ") : [], n = "normal", r = "normal", i = t.length, a = 0; a < i; a += 1) switch (t[a].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, i, a) {
var o = a ? -1 : 1,
s = r.s.v[0] + (1 - r.s.v[0]) * (1 - i),
l = r.s.v[1] + (1 - r.s.v[1]) * (1 - i);
e.translate(r.p.v[0] * o * i, r.p.v[1] * o * i, r.p.v[2]), t.translate(-r.a.v[0], -r.a.v[1], r.a.v[2]), t.rotate(-r.r.v * o * i), 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(a ? 1 / s : s, a ? 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, i, a, 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 (i = 0, o = 0; i <= this._groups.length - 1; i += 1) {
if (s = o < u, this._groups[i]._render = s, this.changeGroupRender(this._groups[i].it, s), !s) {
var p = this.elemsData[i].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,
y = this.rMatrix.props,
_ = 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 (i = 1 === this.data.m ? 0 : this._currentCopies - 1, a = 1 === this.data.m ? 1 : -1, o = this._currentCopies; o;) {
if (c = (r = (n = this.elemsData[i].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) * (i / (this._currentCopies - 1)), 0 !== b) {
for ((0 !== i && 1 === a || i !== this._currentCopies - 1 && -1 === a) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), 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(_[0], _[1], _[2], _[3], _[4], _[5], _[6], _[7], _[8], _[9], _[10], _[11], _[12], _[13], _[14], _[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, i += a
}
} else
for (o = this._currentCopies, i = 0, a = 1; o;) r = (n = this.elemsData[i].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, i += a;
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, i, a, 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], a = e.o[n], i = e.i[n], r[0] === a[0] && r[1] === a[1] && r[0] === i[0] && r[1] === i[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], a[0], a[1], i[0], i[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, i, a, o, s = this.shapes.length,
l = this.rd.v;
if (0 !== l)
for (n = 0; n < s; n += 1) {
if (o = (a = this.shapes[n]).localShapeCollection, a.shape._mdf || this._mdf || e)
for (o.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, r = 0; r < i; r += 1) o.addShape(this.processPath(t[r], l));
a.shape.paths = a.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 (Ve(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 Ve(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),
i = Be(t, n, e),
a = Be(n, r, e),
o = Be(i, a, e);
return [new qe(this.points[0], t, i, o, !0), new qe(o, a, 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, i, a, 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 <= i && t.height <= i && n.width <= i && n.height <= i) return void a.push([t.t, n.t]);
var s = Ke(t),
l = Ke(n);
e(s[0], l[0], r + 1, i, a, o), e(s[0], l[1], r + 1, i, a, o), e(s[1], l[0], r + 1, i, a, o), e(s[1], l[1], r + 1, i, a, 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 i = e._length,
a = xe.newElement();
if (a.c = e.c, e.c || (i -= 1), 0 === i) return a;
var o = -1,
s = qe.shapeSegment(e, 0);
nt(a, e, 0, t, n, r, o);
for (var l = 0; l < i; l += 1) o = function(e, t, n, r, i, a) {
for (var o = 0; o < r; o += 1) {
var s = (o + 1) / (r + 1),
l = 2 === i ? 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, a, n, l / (2 * (r + 1)), l / (2 * (r + 1))), a = -a
}
return a
}(a, s, t, n, r, -o), s = l !== i - 1 || e.c ? qe.shapeSegment(e, (l + 1) % i) : null, nt(a, e, l + 1, t, n, r, o);
return a
}, et.prototype.processShapes = function(e) {
var t, n, r, i, a, 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 = (a = this.shapes[n]).localShapeCollection, a.shape._mdf || this._mdf || e)
for (o.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, r = 0; r < i; r += 1) o.addShape(this.processPath(t[r], l, c, u));
a.shape.paths = a.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 i, a, o, s = xe.newElement();
s.c = e.c;
var l = e.length();
e.c || (l -= 1);
var c = [];
for (i = 0; i < l; i += 1) o = qe.shapeSegment(e, i), c.push(lt(o, t));
if (!e.c)
for (i = l - 1; i >= 0; i -= 1) o = qe.shapeSegmentInverted(e, i), 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 (i = 0; i < c.length; i += 1) {
var p = c[i];
for (d && (u = at(s, d, p[0], n, r)), d = p[p.length - 1], a = 0; a < p.length; a += 1) o = p[a], 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 && at(s, d, c[0][0], n, r), s
}, ct.prototype.processShapes = function(e) {
var t, n, r, i, a, 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 = (a = this.shapes[n]).localShapeCollection, a.shape._mdf || this._mdf || e)
for (o.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, r = 0; r < i; r += 1) o.addShape(this.processPath(t[r], l, u, c));
a.shape.paths = a.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 i = r.offsetWidth;
return r.style.fontFamily = function(e) {
var t, n = e.split(","),
r = n.length,
i = [];
for (t = 0; t < r; t += 1) "sans-serif" !== n[t] && "monospace" !== n[t] && i.push(n[t]);
return i.join(",")
}(e) + ", " + t, {
node: r,
w: i,
parent: n
}
}
function i(e, t) {
var n, r = document.body && t ? "svg" : "canvas",
i = ut(e);
if ("svg" === r) {
var a = $("text");
a.style.fontSize = "100px", a.setAttribute("font-family", e.fFamily), a.setAttribute("font-style", i.style), a.setAttribute("font-weight", i.weight), a.textContent = "1", e.fClass ? (a.style.fontFamily = "inherit", a.setAttribute("class", e.fClass)) : a.style.fontFamily = e.fFamily, t.appendChild(a), n = a
} else {
var o = new OffscreenCanvas(500, 500).getContext("2d");
o.font = i.style + " " + i.weight + " 100px " + e.fFamily, n = o
}
return {
measureText: function(e) {
return "svg" === r ? (n.textContent = e, n.getComputedTextLength()) : n.measureText(e).width
}
}
}
function a(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 = a(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 = a(e.substr(t, 2));
if (127988 !== n) return !1;
var r = 0;
for (t += 2; r < 5;) {
if ((n = a(e.substr(t, 2))) < 917601 || n > 917626) return !1;
r += 1, t += 2
}
return 917631 === a(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, i = e.length,
a = this.chars.length;
for (t = 0; t < i; t += 1) {
for (n = 0, r = !1; n < a;) 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]), a += 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 = i(e), e.cache = {}
})), void(this.fonts = e.list);
var n = e.list,
a = n.length,
o = a;
for (s = 0; s < a; 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 = i(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 i = 0, a = this.chars.length; i < a;) {
if (this.chars[i].ch === t && this.chars[i].style === n && this.chars[i].fFamily === r) return this.chars[i];
i += 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 i = r.helper;
if (" " === e) {
var a = i.measureText("|" + e + "|"),
o = i.measureText("||");
r.cache[e] = (a - o) / 100
} else r.cache[e] = i.measureText(e) / 100
}
return r.cache[e] * n
},
checkLoadedFonts: function() {
var e, t, n, r = this.fonts.length,
i = r;
for (e = 0; e < r; e += 1) this.fonts[e].loaded ? i -= 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 ? (i -= 1, this.fonts[e].loaded = !0) : (t = this.fonts[e].sansCase.node, n = this.fonts[e].sansCase.w, t.offsetWidth !== n && (i -= 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 !== i && 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 yt(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, 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, i = e.ef || [];
this.effectElements = [];
var a = i.length;
for (n = 0; n < a; n += 1) r = new St(i[n], t), this.effectElements.push(r)
}
function St(e, t) {
this.init(e, t)
}
function Et() {}
function It() {}
function Ot(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 Ct(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 At() {}
f([ye], St), St.prototype.getValue = St.prototype.iterateDynamicProperties, St.prototype.init = function(e, t) {
this.data = e, this.effectElements = [], this.initDynamicPropertyContainer(t);
var n, r, i = this.data.ef.length,
a = this.data.ef;
for (n = 0; n < i; n += 1) {
switch (r = null, a[n].ty) {
case 0:
r = new mt(a[n], t, this);
break;
case 1:
r = new gt(a[n], t, this);
break;
case 2:
r = new vt(a[n], t, this);
break;
case 3:
r = new yt(a[n], t, this);
break;
case 4:
case 7:
r = new xt(a[n], t, this);
break;
case 10:
r = new _t(a[n], t, this);
break;
case 11:
r = new bt(a[n], t, this);
break;
case 5:
r = new kt(a[n], t);
break;
default:
r = new wt(a[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 = N(), 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)
}
}, Ot.prototype.prepareFrame = function() {}, f([ht, Et, It], Ot), Ot.prototype.getBaseElement = function() {
return null
}, Ot.prototype.renderFrame = function() {}, Ot.prototype.destroy = function() {}, Ot.prototype.initExpressions = function() {}, Ot.prototype.getFootageData = function() {
return this.footageData
}, Ct.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], Ct), Ct.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))
}, Ct.prototype.show = function() {}, Ct.prototype.hide = function() {
this.audio.pause(), this._isPlaying = !1
}, Ct.prototype.pause = function() {
this.audio.pause(), this._isPlaying = !1, this._canPlay = !1
}, Ct.prototype.resume = function() {
this._canPlay = !0
}, Ct.prototype.setRate = function(e) {
this.audio.rate(e)
}, Ct.prototype.volume = function(e) {
this._volumeMultiplier = e, this._previousVolume = e * this._volume, this.audio.volume(this._previousVolume)
}, Ct.prototype.getBaseElement = function() {
return null
}, Ct.prototype.destroy = function() {}, Ct.prototype.sourceRectAtTime = function() {}, Ct.prototype.initExpressions = function() {}, At.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()
}, At.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)
}
}, At.prototype.createCamera = function() {
throw Error("You're using a 3d camera. Try the html renderer.")
}, At.prototype.createAudio = function(e) {
return new Ct(e, this.globalData, this)
}, At.prototype.createFootage = function(e) {
return new Ot(e, this.globalData, this)
}, At.prototype.buildAllItems = function() {
var e, t = this.layers.length;
for (e = 0; e < t; e += 1) this.buildItem(e);
this.checkPendingElements()
}, At.prototype.includeLayers = function(e) {
this.completeLayers = !1;
var t, n, r = e.length,
i = this.layers.length;
for (t = 0; t < r; t += 1)
for (n = 0; n < i;) {
if (this.layers[n].id === e[t].id) {
this.layers[n] = e[t];
break
}
n += 1
}
}, At.prototype.setProjectInterface = function(e) {
this.globalData.projectInterface = e
}, At.prototype.initItems = function() {
this.globalData.progressiveLoad || this.buildAllItems()
}, At.prototype.buildElementParenting = function(e, t, n) {
for (var r = this.elements, i = this.layers, a = 0, o = i.length; a < o;) i[a].ind == t && (r[a] && !0 !== r[a] ? (n.push(r[a]), r[a].setAsParent(), void 0 !== i[a].parent ? this.buildElementParenting(e, i[a].parent, n) : e.setHierarchy(n)) : (this.buildItem(a), this.addPendingElement(e))), a += 1
}, At.prototype.addPendingElement = function(e) {
this.pendingElements.push(e)
}, At.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)
}
}, At.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
}, At.prototype.getElementByPath = function(e) {
var t = e.shift();
if ("number" == typeof t) n = this.elements[t];
else {
var n, r, i = this.elements.length;
for (r = 0; r < i; r += 1)
if (this.elements[r].data.nm === t) {
n = this.elements[r];
break
}
}
return 0 === e.length ? n : n.getElementByPath(e)
}, At.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 Pt = "transformEFfect";
function Tt() {}
function Rt(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,
i = this.masksProperties ? this.masksProperties.length : 0;
this.viewData = v(i), this.solidPath = "";
var a = this.masksProperties,
o = 0,
s = [],
l = N(),
c = "clipPath",
u = "clip-path";
for (d = 0; d < i; d += 1)
if (("a" !== a[d].mode && "n" !== a[d].mode || a[d].inv || 100 !== a[d].o.k || a[d].o.x) && (c = "mask", u = "mask"), "s" !== a[d].mode && "i" !== a[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" === a[d].mode) this.viewData[d] = {
op: ve.getProp(this.element, a[d].o, 0, .01, this.element),
prop: Se.getShapeProp(this.element, a[d], 3),
elem: h,
lastPath: ""
}, r.appendChild(h);
else {
if (o += 1, h.setAttribute("fill", "s" === a[d].mode ? "#000000" : "#ffffff"), h.setAttribute("clip-rule", "nonzero"), 0 !== a[d].x.k ? (c = "mask", u = "mask", b = ve.getProp(this.element, a[d].x, 0, null, this.element), x = N(), (y = $("filter")).setAttribute("id", x), (_ = $("feMorphology")).setAttribute("operator", "erode"), _.setAttribute("in", "SourceGraphic"), _.setAttribute("radius", "0"), y.appendChild(_), r.appendChild(y), h.setAttribute("stroke", "s" === a[d].mode ? "#000000" : "#ffffff")) : (_ = null, b = null), this.storedData[d] = {
elem: h,
x: b,
expan: _,
lastPath: "",
lastOperator: "",
filterId: x,
lastRadius: 0
}, "i" === a[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);
a[d].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[d] = {
elem: h,
lastPath: "",
op: ve.getProp(this.element, a[d].o, 0, .01, this.element),
prop: Se.getShapeProp(this.element, a[d], 3),
invRect: g
}, this.viewData[d].prop.k || this.drawPath(a[d], this.viewData[d].prop.v, this.viewData[d])
} for (d = 0, this.maskElement = $(c), i = s.length; d < i; 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 i = this.finalTransform.localOpacity;
for (e = 0; e < t; e += 1) i *= .01 * this.localTransforms[e].opacity;
this.finalTransform.localOpacity = i
}
}
},
searchEffectTransforms: function() {
if (this.renderableEffectsManager) {
var e = this.renderableEffectsManager.getEffects(Pt);
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 i = !0, a = this.comp; i;) a.finalTransform ? (a.data.hasMask && r.splice(0, 0, a.finalTransform), a = a.comp) : i = !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
}, Rt.prototype.getMaskProperty = function(e) {
return this.viewData[e].prop
}, Rt.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 i = 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 + ")")), i.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))
}
}, Rt.prototype.getMaskelement = function() {
return this.maskElement
}, Rt.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 + " "
}, Rt.prototype.drawPath = function(e, t, n) {
var r, i, a = " M" + t.v[0][0] + "," + t.v[0][1];
for (r = 1, i = t._length; r < i; r += 1) a += " 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 && i > 1 && (a += " 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 !== a) {
var o = "";
n.elem && (t.c && (o = e.inv ? this.solidPath + a : a), n.elem.setAttribute("d", o)), n.lastPath = a
}
}, Rt.prototype.destroy = function() {
this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null
};
var Dt = ((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),
Nt = {},
jt = "filter_result_";
function Mt(e) {
var t, n, r = "SourceGraphic",
i = e.data.ef ? e.data.ef.length : 0,
a = N(),
o = Dt.createFilter(a, !0),
s = 0;
for (t = 0, this.filters = []; t < i; t += 1) {
n = null;
var l = e.data.ef[t].ty;
Nt[l] && (n = new Nt[l].effect(o, e.effectsManager.effectElements[t], e, jt + s, r), r = jt + s, Nt[l].countsAsEffect && (s += 1)), n && this.filters.push(n)
}
s && (e.globalData.defs.appendChild(o), e.layerElement.setAttribute("filter", "url(" + p() + "#" + a + ")")), this.filters.length && e.addRenderableComponent(this)
}
function Ft() {}
function zt() {}
function Ut() {}
function Vt(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 i = N();
if (n.setAttribute("id", i), n.appendChild(r), this.globalData.defs.appendChild(n), this.checkMasks()) {
var a = $("g");
a.setAttribute("clip-path", "url(" + p() + "#" + i + ")"), a.appendChild(this.layerElement), this.transformedElement = a, e ? e.appendChild(this.transformedElement) : this.baseElement = this.transformedElement
} else this.layerElement.setAttribute("clip-path", "url(" + p() + "#" + i + ")")
}
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 Rt(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, i, a = this.layerId + "_" + e;
if (1 === e || 3 === e) {
var o = $("mask");
o.setAttribute("id", a), 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 = N(), n = Dt.createFilter(t), this.globalData.defs.appendChild(n), n.appendChild(Dt.createAlphaToLuminanceFilter()), (i = $("g")).appendChild(r), o.appendChild(i), i.setAttribute("filter", "url(" + p() + "#" + t + ")"))
} else if (2 === e) {
var s = $("mask");
s.setAttribute("id", a), s.setAttribute("mask-type", "alpha");
var l = $("g");
s.appendChild(l), t = N(), n = Dt.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(Dt.createAlphaToLuminanceFilter()), i = $("g"), l.appendChild(d), i.appendChild(this.layerElement), l.appendChild(i)), this.globalData.defs.appendChild(s)
}
this.matteMasks[e] = a
}
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
}()], Ut), f([Et, Tt, Ft, zt, It, Ut], Vt), Vt.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)
}, Vt.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, i = e.length; r < i;) {
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 i, a, o = t.length || 0;
for (i = 0; i < o; i += 1) a = ve.getProp(e, t[i].v, 0, 0, this), this.k = a.k || this.k, this.dataProps[i] = {
n: t[i].n,
p: a
};
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([ye], Kt), f([ye], Yt), f([ye], Qt), f([ye], 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, i = 4 * this.data.p;
for (t = 0; t < i; 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 (i = this.prop.v.length, t = 4 * this.data.p; t < i; 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([ye], 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, O, 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, i, a = N(),
o = $(1 === t.t ? "linearGradient" : "radialGradient");
o.setAttribute("id", a), o.setAttribute("spreadMethod", "pad"), o.setAttribute("gradientUnits", "userSpaceOnUse");
var s = [];
for (r = 0, i = 4 * t.g.p; r < i; r += 4) n = $("stop"), o.appendChild(n), s.push(n);
e.setAttribute("gf" === t.ty ? "fill" : "stroke", "url(" + p() + "#" + a + ")"), this.gf = o, this.cst = s
}, Jt.prototype.setGradientOpacity = function(e, t) {
if (this.g._hasOpacity && !this.g._collapsable) {
var n, r, i, a = $("mask"),
o = $("path");
a.appendChild(o);
var s = N(),
l = N();
a.setAttribute("id", l);
var c = $(1 === e.t ? "linearGradient" : "radialGradient");
c.setAttribute("id", s), c.setAttribute("spreadMethod", "pad"), c.setAttribute("gradientUnits", "userSpaceOnUse"), i = 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 < i; 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 = a, this.ost = u, this.maskId = l, t.msElem = o
}
}, f([ye], Jt), f([Jt, ye], en);
var rn = function(e, t, n, r) {
if (0 === t) return "";
var i, a = e.o,
o = e.i,
s = e.v,
l = " M" + r.applyToPointStringified(s[0][0], s[0][1]);
for (i = 1; i < t; i += 1) l += " C" + r.applyToPointStringified(a[i - 1][0], a[i - 1][1]) + " " + r.applyToPointStringified(o[i][0], o[i][1]) + " " + r.applyToPointStringified(s[i][0], s[i][1]);
return n && t && (l += " C" + r.applyToPointStringified(a[i - 1][0], a[i - 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 i(n, r, i) {
var a, 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 || i, 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 (a = 0, s = ""; a < o; a += 1)(c = d.shapes[a]) && 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 a(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, i, a, 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 (i = 0, a = r.length; i < a; i += 1)(o = r[i]).setAttribute("offset", m[4 * i] + "%"), o.setAttribute("stop-color", "rgb(" + m[4 * i + 1] + "," + m[4 * i + 2] + "," + m[4 * i + 3] + ")")
}
if (c && (t.g._omdf || n)) {
var g = t.g.o;
for (i = 0, a = (r = t.g._collapsable ? t.cst : t.ost).length; i < a; i += 1) o = r[i], t.g._collapsable || o.setAttribute("offset", g[2 * i] + "%"), o.setAttribute("stop-opacity", g[2 * i + 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]),
y = t.h.v;
y >= 1 ? y = .99 : y <= -1 && (y = -.99);
var _ = s * y,
b = Math.cos(v + t.a.v) * _ + u[0],
x = Math.sin(v + t.a.v) * _ + 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,
i = t.d;
i && (i._mdf || n) && i.dashStr && (r.pElem.setAttribute("stroke-dasharray", i.dashStr), r.pElem.setAttribute("stroke-dashoffset", i.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 a;
case "gf":
return s;
case "gs":
return o;
case "st":
return l;
case "sh":
case "el":
case "rc":
case "sr":
return i;
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, i, a) {
this.o = e, this.sw = t, this.sc = n, this.fc = r, this.m = i, this.p = a, 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, Ut], 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, i = this.shapes.length,
a = this.stylesList.length,
o = [],
s = !1;
for (n = 0; n < a; n += 1) {
for (e = 0, r = this.stylesList[n], s = !1, o.length = 0; e < i; 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),
i = 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), i.setAttribute("mask", "url(" + p() + "#" + n.maskId + ")"))) : "no" === e.ty && (n = new Zt(this, e, r)), ("st" === e.ty || "gs" === e.ty) && (i.setAttribute("stroke-linecap", $t[e.lc || 2]), i.setAttribute("stroke-linejoin", qt[e.lj || 2]), i.setAttribute("fill-opacity", "0"), 1 === e.lj && i.setAttribute("stroke-miterlimit", e.ml)), 2 === e.r && i.setAttribute("fill-rule", "evenodd"), e.ln && i.setAttribute("id", e.ln), e.cl && i.setAttribute("class", e.cl), e.bm && (i.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 i = new Wt(t, n, Se.getShapeProp(this, e, r, this));
return this.shapes.push(i), this.addShapeToModifiers(i), this.addToAnimatedContents(e, i), i
}, 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, i, a, o) {
var s, l, c, u, d, p, h = [].concat(a),
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], i), 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, i + 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, i)), 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 = De.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 = De.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, i, a) {
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 !== i && (this.m = i, this._mdf.m = !0, o = !0), a.length && (this.p[0] !== a[0] || this.p[1] !== a[1] || this.p[4] !== a[4] || this.p[5] !== a[5] || this.p[12] !== a[12] || this.p[13] !== a[13]) && (this.p = a, 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 i = this.effectsSequence.length,
a = e || this.data.d.k[this.keysIndex].s;
for (t = 0; t < i; t += 1) a = r !== this.keysIndex ? this.effectsSequence[t](a, a.t) : this.effectsSequence[t](this.currentData, a.t);
n !== a && this.setCurrentData(a), 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 = [], i = 0, a = e.length, o = !1, s = !1, l = ""; i < a;) o = s, s = !1, t = e.charCodeAt(i), l = e.charAt(i), dt.isCombinedCharacter(t) ? o = !0 : t >= 55296 && t <= 56319 ? dt.isRegionalFlag(e, i) ? l = e.substr(i, 14) : (n = e.charCodeAt(i + 1)) >= 56320 && n <= 57343 && (dt.isModifier(t, n) ? (l = e.substr(i, 2), o = !0) : l = dt.isFlagEmoji(e.substr(i, 4)) ? e.substr(i, 4) : e.substr(i, 2)) : t > 56319 ? (n = e.charCodeAt(i + 1), dt.isVariationSelector(t) && (o = !0)) : dt.isZeroWidthJoiner(t) && (o = !0, s = !0), o ? (r[r.length - 1] += l, o = !1) : r.push(l), i += l.length;
return r
}, ln.prototype.completeTextData = function(e) {
e.__complete = !0;
var t = this.elem.globalData.fontManager,
n = this.data,
r = [],
i = 0,
a = 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, O = e.sz[0], C = e.sz[1]; I;) {
S = 0, u = 0, v = (E = this.buildFinalText(e.t)).length, m = e.tr / 1e3 * e.finalSize;
var A = -1;
for (g = 0; g < v; g += 1) k = E[g].charCodeAt(0), y = !1, " " === E[g] ? A = g : (13 === k || 3 === k) && (u = 0, y = !0, S += e.finalLineHeight || 1.2 * e.finalSize), t.chars ? (w = t.getCharData(E[g], p.fStyle, p.fFamily), h = y ? 0 : w.w * e.finalSize / 100) : h = t.measureText(E[g], e.f, e.finalSize), u + h > O && " " !== E[g] ? (-1 === A ? v += 1 : g = A, S += e.finalLineHeight || 1.2 * e.finalSize, E.splice(g, A === g ? 1 : 0, "\r"), A = -1, u = 0) : u += h + m;
S += p.ascent * e.finalSize / 100, this.canResize && e.finalSize > this.minimumFontSize && C < 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 P = 0;
for (g = 0; g < v; g += 1)
if (y = !1, 13 === (k = (D = e.finalText[g]).charCodeAt(0)) || 3 === k ? (P = 0, c.push(u), d = u > d ? u : d, u = -2 * m, _ = "", y = !0, l += 1) : _ = D, t.chars ? (w = t.getCharData(D, p.fStyle, t.getFontByName(e.f).fFamily), h = y ? 0 : w.w * e.finalSize / 100) : h = t.measureText(_, e.f, e.finalSize), " " === D ? P += h + m : (u += h + m + P, P = 0), r.push({
l: h,
an: h,
add: o,
n: y,
anIndexes: [],
val: _,
line: l,
animatorJustifyOffset: 0
}), 2 == a) {
if (o += h, "" === _ || " " === _ || g === v - 1) {
for (("" === _ || " " === _) && (o -= h); s <= g;) r[s].an = o, r[s].ind = i, r[s].extra = h, s += 1;
i += 1, o = 0
}
} else if (3 == a) {
if (o += h, "" === _ || g === v - 1) {
for ("" === _ && (o -= h); s <= g;) r[s].an = o, r[s].ind = i, r[s].extra = h, s += 1;
o = 0, i += 1
}
} else r[i].ind = i, r[i].extra = 0, i += 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 R = [];
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, j = L.s.b, g = 0; g < v; g += 1)(N = r[g]).anIndexes[b] = M, (1 == j && "" !== N.val || 2 == j && "" !== N.val && " " !== N.val || 3 == j && (N.n || " " == N.val || g == v - 1) || 4 == j && (N.n || g == v - 1)) && (1 === L.s.rn && R.push(M), M += 1);
n.a[b].s.totalChars = M;
var D, L, N, j, M, F, z = -1;
if (1 === L.s.rn)
for (g = 0; g < v; g += 1) z != (N = r[g]).anIndexes[b] && (z = N.anIndexes[b], F = R.splice(Math.floor(Math.random() * R.length), 1)[0]), N.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 i = 0,
a = 0,
o = 1,
s = 1;
this.ne.v > 0 ? i = this.ne.v / 100 : a = -this.ne.v / 100, this.xe.v > 0 ? o = 1 - this.xe.v / 100 : s = 1 + this.xe.v / 100;
var l = ee.getBezierEasing(i, a, 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,
i = this.e.v / t + n;
if (r > i) {
var a = r;
r = i, i = a
}
this.finalS = r, this.finalE = i
}
}, f([ye], r), {
getTextSelectorProp: function(e, t, n) {
return new r(e, t)
}
}
}();
function un(e, t, n) {
var r = {
propType: !1
},
i = ve.getProp,
a = t.a;
this.a = {
r: a.r ? i(e, a.r, 0, O, n) : r,
rx: a.rx ? i(e, a.rx, 0, O, n) : r,
ry: a.ry ? i(e, a.ry, 0, O, n) : r,
sk: a.sk ? i(e, a.sk, 0, O, n) : r,
sa: a.sa ? i(e, a.sa, 0, O, n) : r,
s: a.s ? i(e, a.s, 1, .01, n) : r,
a: a.a ? i(e, a.a, 1, 0, n) : r,
o: a.o ? i(e, a.o, 0, .01, n) : r,
p: a.p ? i(e, a.p, 1, 0, n) : r,
sw: a.sw ? i(e, a.sw, 0, 0, n) : r,
sc: a.sc ? i(e, a.sc, 1, 0, n) : r,
fc: a.fc ? i(e, a.fc, 1, 0, n) : r,
fh: a.fh ? i(e, a.fh, 0, 0, n) : r,
fs: a.fs ? i(e, a.fs, 0, .01, n) : r,
fb: a.fb ? i(e, a.fb, 0, .01, n) : r,
t: a.t ? i(e, a.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, i, a, 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, O, C, A, P, T, R, D, L, N, j, M, V, B, G, $, q, W, H, K = W.v;
for (this._pathData.r.v && (K = K.reverse()), P = {
tLength: 0,
segments: []
}, A = K._length - 1, $ = 0, C = 0; C < A; C += 1) H = ae.buildBezierData(K.v[C], K.v[C + 1], [K.o[C][0] - K.v[C][0], K.o[C][1] - K.v[C][1]], [K.i[C + 1][0] - K.v[C + 1][0], K.i[C + 1][1] - K.v[C + 1][1]]), P.tLength += H.segmentLength, P.segments.push(H), $ += H.segmentLength;
C = A, W.v.c && (H = ae.buildBezierData(K.v[C], K.v[0], [K.o[C][0] - K.v[C][0], K.o[C][1] - K.v[C][1]], [K.i[0][0] - K.v[0][0], K.i[0][1] - K.v[0][1]]), P.tLength += H.segmentLength, P.segments.push(H), $ += H.segmentLength), this._pathData.pi = P
}
if (P = this._pathData.pi, T = this._pathData.f.v, j = 0, N = 1, D = 0, L = !0, B = P.segments, T < 0 && W.v.c)
for (P.tLength < Math.abs(T) && (T = -Math.abs(T) % P.tLength), N = (V = B[j = B.length - 1].points).length - 1; T < 0;) T += V[N].partialLength, (N -= 1) < 0 && (N = (V = B[j -= 1].points).length - 1);
M = (V = B[j].points)[N - 1], G = (R = V[N]).partialLength
}
A = E.length, I = 0, O = 0;
var Y = 1.2 * e.finalSize * .714,
Q = !0;
i = b.length;
var Z = -1,
X = T,
J = j,
ee = N,
te = -1,
ne = "",
re = this.defaultPropsArray;
if (2 === e.j || 1 === e.j) {
var ie = 0,
oe = 0,
se = 2 === e.j ? -.5 : -1,
le = 0,
ce = !0;
for (C = 0; C < A; C += 1)
if (E[C].n) {
for (ie && (ie += oe); le < C;) E[le].animatorJustifyOffset = ie, le += 1;
ie = 0, ce = !0
} else {
for (r = 0; r < i; r += 1)(n = b[r].a).t.propType && (ce && 2 === e.j && (oe += n.t.v * se), (o = b[r].s.getMult(E[C].anIndexes[r], x.a[r].s.totalChars)).length ? ie += n.t.v * o[0] * se : ie += n.t.v * o * se);
ce = !1
} for (ie && (ie += oe); le < C;) E[le].animatorJustifyOffset = ie, le += 1
}
for (C = 0; C < A; C += 1) {
if (w.reset(), u = 1, E[C].n) I = 0, O += e.yOffset + (Q ? 1 : 0), T = X, Q = !1, this._hasMaskedPath && (N = ee, M = (V = B[j = J].points)[N - 1], G = (R = V[N]).partialLength, D = 0), ne = "", v = "", m = "", y = "", re = this.defaultPropsArray;
else {
if (this._hasMaskedPath) {
if (te !== E[C].line) {
switch (e.j) {
case 1:
T += $ - e.lineWidths[E[C].line];
break;
case 2:
T += ($ - e.lineWidths[E[C].line]) / 2
}
te = E[C].line
}
Z !== E[C].ind && (E[Z] && (T += E[Z].extra), T += E[C].an / 2, Z = E[C].ind), T += _[0] * E[C].an * .005;
var ue = 0;
for (r = 0; r < i; r += 1)(n = b[r].a).p.propType && ((o = b[r].s.getMult(E[C].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[C].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 / (A - 1) + this._pathData.f.v); L;) D + G >= T + ue || !V ? (q = (T + ue - D) / R.partialLength, l = M.point[0] + (R.point[0] - M.point[0]) * q, c = M.point[1] + (R.point[1] - M.point[1]) * q, w.translate(-_[0] * E[C].an * .005, -_[1] * Y * .01), L = !1) : V && (D += R.partialLength, (N += 1) >= V.length && (N = 0, B[j += 1] ? V = B[j].points : W.v.c ? (N = 0, V = B[j = 0].points) : (D -= R.partialLength, V = null)), V && (M = R, G = (R = V[N]).partialLength));
s = E[C].an / 2 - E[C].add, w.translate(-s, 0, 0)
} else s = E[C].an / 2 - E[C].add, w.translate(-s, 0, 0), w.translate(-_[0] * E[C].an * .005, -_[1] * Y * .01, 0);
for (r = 0; r < i; r += 1)(n = b[r].a).t.propType && (o = b[r].s.getMult(E[C].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 < i; r += 1)(n = b[r].a).a.propType && ((o = b[r].s.getMult(E[C].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 < i; r += 1)(n = b[r].a).s.propType && ((o = b[r].s.getMult(E[C].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 < i; r += 1) {
if (n = b[r].a, o = b[r].s.getMult(E[C].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 ? U(h, n.fh.v * o[0]) : U(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 < i; r += 1)(n = b[r].a).p.propType && (o = b[r].s.getMult(E[C].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, _[1] * Y * .01 + O, 0), this._pathData.p.v) {
var de = 180 * Math.atan((R.point[1] - M.point[1]) / (R.point[0] - M.point[0])) / Math.PI;
R.point[0] < M.point[0] && (de += 180), w.rotate(-de * Math.PI / 180)
}
w.translate(l, c, 0), T -= _[0] * E[C].an * .005, E[C + 1] && Z !== E[C + 1].ind && (T += E[C].an / 2 + .001 * e.tr * e.finalSize)
} else {
switch (w.translate(I, O, 0), e.ps && w.translate(e.ps[0], e.ps[1] + e.ascent, 0), e.j) {
case 1:
w.translate(E[C].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[E[C].line]), 0, 0);
break;
case 2:
w.translate(E[C].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[E[C].line]) / 2, 0, 0)
}
w.translate(0, -e.ls), w.translate(s, 0, 0), w.translate(_[0] * E[C].an * .005, _[1] * Y * .01, 0), I += E[C].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]], y = u
}
S <= C ? (a = new sn(y, m, g, v, ne, re), this.renderedLetters.push(a), S += 1, this.lettersChangedFlag = !0) : (a = this.renderedLetters[C], this.lettersChangedFlag = a.update(y, 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([ye], 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, i = t.length,
a = "";
for (n = 0; n < i; n += 1) "sh" === t[n].ty && (a += rn(r = t[n].ks.k, r.i.length, !0, e));
return a
}, 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, i) {
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, i, 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 yn() {}
function _n(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"),
i = N();
r.setAttribute("id", i), r.textContent = t.title, this.svgElement.appendChild(r), n += i
}
if (t && t.description) {
var a = $("desc"),
o = N();
a.setAttribute("id", o), a.textContent = t.description, this.svgElement.appendChild(a), 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, Ut, 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 = [], i = ""; t < n;) "\r" === e[t] || "\x03" === e[t] ? (r.push(i), i = "") : i += e[t], t += 1;
return r.push(i), 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 i = e.l || [],
a = !!this.globalData.fontManager.chars;
m = i.length;
var o = this.mHelper,
s = this.data.singleShape,
l = 0,
c = 0,
u = !0,
d = .001 * e.tr * e.finalSize;
if (!s || a || 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
}), !a || !s || 0 === f) {
if (g = p > f ? this.textSpans[f].span : $(a ? "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, a) {
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 && (i[f].n && (l = -d, c += e.yOffset + (u ? 1 : 0), u = !1), this.applyTextPropertiesToMatrix(e, o, i[f].line, l, c), l += (i[f].l || 0) + d), a) {
if (1 === (y = this.globalData.fontManager.getCharData(e.finalText[f], t.fStyle, this.globalData.fontManager.getFontByName(e.f).fFamily)).t) _ = new _n(y.data, this.globalData, this);
else {
var f, m, g, y, _, b = hn;
y.data && y.data.shapes && (b = this.buildShapeData(y.data, e.finalSize)), _ = 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 = _, _._debug = !0, _.prepareFrame(0), _.renderFrame(), this.textSpans[f].childSpan.appendChild(_.layerElement), 1 === y.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 = i[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, i, a = this.textAnimator.renderedLetters,
o = this.textProperty.currentData.l;
for (e = 0, t = o.length; e < t; e += 1) !o[e].n && (n = a[e], r = this.textSpans[e].span, (i = this.textSpans[e].glyph) && i.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([Vt], 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([At], 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 Vt(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 i = N();
n.setAttribute("id", i), n.appendChild(r), this.layerElement.setAttribute("clip-path", "url(" + p() + "#" + i + ")"), 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, V() && (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 i = t[r].getMatte(this.layers[e].tt);
n.setMatte(i)
} 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,
i = this.elements[r].getMatte(this.layers[t].tt);
e.setMatte(i);
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 i = 0; i < t;) this.elements[i] && !0 !== this.elements[i] && this.elements[i].getBaseElement() && (n = this.elements[i].getBaseElement()), i += 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, Ut], yn), yn.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()
}, yn.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))
}
}, yn.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()
}, yn.prototype.setElements = function(e) {
this.elements = e
}, yn.prototype.getElements = function() {
return this.elements
}, yn.prototype.destroyElements = function() {
var e, t = this.layers.length;
for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy()
}, yn.prototype.destroy = function() {
this.destroyElements(), this.destroyBaseElement()
}, f([vn, yn, Ft], _n), _n.prototype.createComp = function(e) {
return new _n(e, this.globalData, this)
}, f([vn], bn), bn.prototype.createComp = function(e) {
return new _n(e, this.globalData, this)
}, Q.svg = bn, De.registerModifier("tm", Ne), De.registerModifier("pb", je), De.registerModifier("rp", Fe), De.registerModifier("rd", ze), De.registerModifier("zz", et), De.registerModifier("op", ct), Oe
}());
var Ho = (cp = Wo.exports) && cp.__esModule && Object.prototype.hasOwnProperty.call(cp, "default") ? cp.default : cp;
let Ko = (0, Ee.createContext)(null),
Yo = ({
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)(Ko.Provider, {
value: n
}, e)
},
Qo = () => (0, Ee.useContext)(Ko) ?? {},
Zo = "loading",
Xo = "loaded",
Jo = "error",
es = (e, {
bounce: t,
loop: n = !0,
isPlaying: r = !0,
waitForCompletion: i = !0,
forcePlay: a = !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 = Qo().reduceMotion?.unessentialAnimationsDisabled,
[v, y] = (0, Ee.useState)(Zo),
_ = !e || g && !a || v === Jo;
(0, Ee.useEffect)((() => {
if (!f.current || !e || _) return;
h.current = Ho.loadAnimation({
..."string" == typeof e ? {
path: e
} : {
animationData: e
},
container: f.current,
autoplay: !1,
loop: !1,
rendererSettings: {
focusable: !1,
viewBoxOnly: !0
}
});
let r = () => {
y(Jo), o && o()
},
i = () => {
y(Xo), s && s()
},
a = () => {
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", i), h.current?.addEventListener("data_failed", r), h.current?.addEventListener("complete", a), () => {
h.current?.removeEventListener("DOMLoaded", i), h.current?.removeEventListener("data_failed", r), h.current?.removeEventListener("complete", a), 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 && i ? m.current = !0 : (h.current?.stop(), d && d())
}), [d, i]);
(0, Ee.useEffect)((() => v === Xo && r ? b() : w()), [r, g, b, v, w]);
let k = (0, Ee.useCallback)((({
children: e,
...t
}) => (0, Ee.createElement)("span", {
children: _ ? e : null,
ref: _ ? void 0 : f,
...t
})), [_]);
return (0, Ee.useMemo)((() => Object.assign(k, {
Animation: k,
animation: h,
ref: f,
start: b,
pause: x,
stop: w
})), [k, x, b, w])
},
ts = (...e) => (0, Ee.useMemo)((() => To(...e)), e),
ns = ({
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
}
}), i = (0, Ee.useRef)(null), a = e || i, o = (0, Ee.useCallback)((() => {
let e = a.current;
if (!e) return;
let n = Math.round(Math.abs(e.scrollTop)),
i = 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 >= i,
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, a]);
return Mo({
ref: a,
onResize: o
}), (0, Ee.useEffect)((() => {
let e = a.current;
if (e) return e.addEventListener("scroll", o, {
passive: !0
}), () => e.removeEventListener("scroll", o, !1)
}), [o, a]), (0, Ee.useMemo)((() => ({
ref: a,
...n
})), [a, n])
},
rs = e => {
let {
name: t
} = e, n = (0, Ee.useMemo)((() => ({
"data-sol-theme": t
})), [t]), r = (0, Ee.useCallback)((e => Ro(e, n)), [n]);
return (0, Ee.useMemo)((() => ({
...e,
props: n,
getProps: r
})), [e, n, r])
},
is = (0, Ee.createContext)(null),
as = ({
children: e,
...t
}) => {
let n = null === (0, Ee.useContext)(is),
r = rs(t);
return No((() => {
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)(is.Provider, {
value: r
}, "function" == typeof e ? e(r) : e)
},
os = () => {
let e = rs({});
return (0, Ee.useContext)(is) ?? e
},
ss = (0, Ee.forwardRef)((({
children: e,
disabled: t,
external: n,
href: r,
onClick: i,
...a
}, o) => {
let s = (0, Ee.useContext)($o) ?? "a";
return t ? io.jsx("a", {
"aria-disabled": "true",
ref: o,
role: "link",
...a,
children: e
}) : io.jsx(s, {
href: r,
onClick: i,
ref: o,
rel: n ? "noopener noreferrer" : void 0,
target: n ? "_blank" : void 0,
...a,
children: e
})
})),
ls = (0, Ee.forwardRef)((({
decorative: e,
disabled: t,
disableFocus: n,
loading: r,
...i
}, a) => {
let o = !!r,
s = t ?? o;
if ((e => "href" in e)(i)) return io.jsx(ss, {
"aria-busy": !!o || void 0,
disabled: s,
ref: a,
tabIndex: n ? -1 : void 0,
...i
});
let {
onClick: l,
...c
} = i;
return io.jsx(e ? "span" : "button", {
"aria-busy": !!o || void 0,
"aria-disabled": !!s || void 0,
onClick: s ? void 0 : l,
ref: a,
tabIndex: n || s ? -1 : void 0,
type: e ? void 0 : "button",
...c
})
}));
eo("@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 cs = (0, Ee.forwardRef)((({
isPlaying: e,
source: t,
...n
}, r) => {
let {
ref: i
} = es(t, {
isPlaying: e
});
return io.jsx("span", {
ref: To(i, r),
...n
})
})),
us = (0, Ee.forwardRef)((({
className: e,
color: t,
size: n,
source: r,
style: i,
isPlaying: a = !0,
...o
}, s) => {
let l = {
"aria-hidden": !0,
className: Ao("sol-c-icon", t && `sol-u-color-${t}`, e),
ref: s,
style: {
...n && {
"--sol-c-icon-size": `var(--sol-size-${n})`
},
...i
},
...o
};
return (0, Ee.isValidElement)(r) ? (0, Ee.cloneElement)(r, l) : "function" == typeof r ? io.jsx(r, {
...l
}) : io.jsx(cs, {
isPlaying: a,
source: r,
...l,
ref: s
})
}));
eo("@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 ds = Po((({
align: e,
as: t,
children: n,
className: r,
color: i,
decoration: a,
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 = Ao("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}`, i && `sol-u-color-${i}`, a && `sol-u-text-decoration-${a}`, 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),
y = {
...d && "number" == typeof d && d > 1 && {
"--sol-u-text-truncate": d
},
...s
};
return (0, Ee.createElement)(g, {
className: v,
ref: m,
style: y,
...f
}, n)
})),
ps = "center",
hs = "default",
fs = "medium",
ms = "default",
gs = (0, Ee.forwardRef)((({
align: e = ps,
children: t,
className: n,
color: r = hs,
controlled: i,
disableOffset: a,
endIcon: o,
fullWidth: s,
loading: l,
loadingIcon: c = bo,
loadingIconAnimation: u = !0,
onMouseEnter: d,
onMouseLeave: p,
selected: h,
size: f = fs,
icon: m,
iconAnimation: g = !0,
uppercase: v,
variant: y = ms,
..._
}, 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, O = (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]), C = (0, Ee.useMemo)((() => {
switch (f) {
case "large":
case "medium":
return "button-m";
case "small":
return "button-s"
}
}), [f]), A = Ao("sol-c-button", e && e !== ps && `sol-c-button--align-${e}`, r && r !== hs && `sol-c-button--${r}`, i && "sol-c-button--controlled", s && "sol-c-button--full-width", f && f !== fs && `sol-c-button--${f}`, y && y !== ms && `sol-c-button--${y}`, n);
return io.jsxs(ls, {
"aria-pressed": h,
className: A,
loading: !!l,
onMouseEnter: k,
onMouseLeave: S,
ref: b,
..._,
children: [I && io.jsx(us, {
className: "sol-c-button__icon sol-c-button__icon--start",
isPlaying: O,
source: I
}), E && io.jsx("span", {
className: "sol-u-hide-visually",
role: "status",
children: l
}), t && io.jsx(ds, {
"aria-hidden": E,
as: "span",
className: "sol-c-button__content",
offset: !a,
transform: v || "default" === y ? "uppercase" : void 0,
variant: C,
children: t
}), o && io.jsx(us, {
className: "sol-c-button__icon sol-c-button__icon--end",
source: o
})]
})
})),
vs = e => "object" == typeof e && null != e && 1 === e.nodeType,
ys = (e, t) => (!t || "hidden" !== e) && "visible" !== e && "clip" !== e,
_s = (e, t) => {
if (e.clientHeight < e.scrollHeight || e.clientWidth < e.scrollWidth) {
let n = getComputedStyle(e, null);
return ys(n.overflowY, t) || ys(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
},
bs = (e, t, n, r, i, a, o, s) => a < e && o > t || a > e && o < t ? 0 : a <= e && s <= n || o >= t && s >= n ? a - e - r : o > t && s < n || a < e && s > n ? o - t + i : 0,
xs = e => {
let t = e.parentElement;
return null == t ? e.getRootNode().host || null : t
},
ws = (e, t) => {
var n, r, i, a;
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 (!vs(e)) throw TypeError("Invalid target");
let p = document.scrollingElement || document.documentElement,
h = [],
f = e;
for (; vs(f) && d(f);) {
if ((f = xs(f)) === p) {
h.push(f);
break
}
null != f && f === document.body && _s(f) && !_s(document.documentElement) || null != f && _s(f, u) && h.push(f)
}
let m = null != (r = null == (n = window.visualViewport) ? void 0 : n.width) ? r : innerWidth,
g = null != (a = null == (i = window.visualViewport) ? void 0 : i.height) ? a : innerHeight,
{
scrollX: v,
scrollY: y
} = window,
{
height: _,
width: b,
top: x,
right: w,
bottom: k,
left: S
} = e.getBoundingClientRect(),
{
top: E,
right: I,
bottom: O,
left: C
} = (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),
A = "start" === s || "nearest" === s ? x - E : "end" === s ? k + O : x + _ / 2 - E + O,
P = "center" === l ? S + b / 2 - C + I : "end" === l ? w + I : S - C,
T = [];
for (let R = 0; R < h.length; R++) {
let e = h[R],
{
height: t,
width: n,
top: r,
right: i,
bottom: a,
left: c
} = e.getBoundingClientRect();
if ("if-needed" === o && x >= 0 && S >= 0 && k <= g && w <= m && x >= r && k <= a && S >= c && w <= i) 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),
O = 0,
C = 0,
D = "offsetWidth" in e ? e.offsetWidth - e.clientWidth - d - E : 0,
L = "offsetHeight" in e ? e.offsetHeight - e.clientHeight - f - I : 0,
N = "offsetWidth" in e ? 0 === e.offsetWidth ? 0 : n / e.offsetWidth : 0,
j = "offsetHeight" in e ? 0 === e.offsetHeight ? 0 : t / e.offsetHeight : 0;
if (p === e) O = "start" === s ? A : "end" === s ? A - g : "nearest" === s ? bs(y, y + g, g, f, I, y + A, y + A + _, _) : A - g / 2, C = "start" === l ? P : "center" === l ? P - m / 2 : "end" === l ? P - m : bs(v, v + m, m, d, E, v + P, v + P + b, b), O = Math.max(0, O + y), C = Math.max(0, C + v);
else {
O = "start" === s ? A - r - f : "end" === s ? A - a + I + L : "nearest" === s ? bs(r, a, t, f, I + L, A, A + _, _) : A - (r + t / 2) + L / 2, C = "start" === l ? P - c - d : "center" === l ? P - (c + n / 2) + D / 2 : "end" === l ? P - i + E + D : bs(c, i, n, d, E + D, P, P + b, b);
let {
scrollLeft: o,
scrollTop: u
} = e;
O = 0 === j ? 0 : Math.max(0, Math.min(u + O / j, e.scrollHeight - t / j + L)), C = 0 === N ? 0 : Math.max(0, Math.min(o + C / N, e.scrollWidth - n / N + D)), A += u - O, P += o - C
}
T.push({
el: e,
top: O,
left: C
})
}
return T
},
ks = (0, Ee.forwardRef)((({
children: e,
className: t,
id: n,
keepMounted: r,
open: i,
onOpenChange: a,
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: y,
unregister: _
} = oo(),
b = g(m),
[x, w] = (0, Ee.useState)(!!i);
(0, Ee.useLayoutEffect)((() => (v(m, i), () => _(m))), [m, i, v, _]), (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(ws(e, t));
let r = "boolean" == typeof t || null == t ? void 0 : t.behavior;
for (let {
el: i,
top: a,
left: o
}
of ws(e, (e => !1 === e ? {
block: "end",
inline: "nearest"
} : e === Object(e) && 0 !== Object.keys(e).length ? e : {
block: "start",
inline: "nearest"
})(t))) {
let e = a - n.top + n.bottom,
t = o - n.left + n.right;
i.scroll({
top: e,
left: t,
behavior: r
})
}
}(p.current, {
block: "start",
scrollMode: "if-needed"
})), a?.(b)
}), [b, a, s]);
let k = (0, Ee.useCallback)((() => y(m)), [m, y]),
S = (0, Ee.useCallback)((() => {
y(m, !1), h.current?.focus()
}), [m, y]),
E = (0, Ee.useCallback)((() => {
b || w(!1)
}), [b]),
I = ts(p, d),
O = Ao("sol-c-accordion__item", b && "sol-c-accordion__item--open", t);
return io.jsxs("div", {
className: O,
id: m,
ref: I,
...u,
children: [io.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, io.jsx(ds, {
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, io.jsx(so, {
className: "sol-c-accordion__icon sol-c-accordion__icon--plus"
}), io.jsx(xo, {
className: "sol-c-accordion__icon sol-c-accordion__icon--minus"
})]
}), io.jsx("div", {
"aria-labelledby": m + "-header",
className: "sol-c-accordion__content",
hidden: !b,
id: m + "-content",
role: "region",
onTransitionEnd: E,
children: (r || x) && io.jsx("div", {
className: "sol-c-accordion__wrapper",
children: "function" == typeof e ? e({
close: S,
isOpen: x
}) : e
})
})]
})
})),
Ss = (0, Ee.forwardRef)((({
className: e,
closeAll: t,
children: n,
openAll: r,
...i
}, a) => {
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))), []), i = (0, Ee.useCallback)((t => !!e[t]), [e]), a = (0, Ee.useCallback)(((e, n) => t((t => ({
...t,
[e]: n ?? !t[e]
})))), []), o = (0, Ee.useCallback)((t => Object.entries(e).forEach((([e, n]) => a(e, t ?? !n)))), [e, a]);
return (0, Ee.useMemo)((() => ({
register: n,
unregister: r,
getIsOpen: i,
toggle: a,
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)
})), [i, e, n, a, o, r])
})(),
s = Ao("sol-c-accordion", e);
return io.jsx(ao.Provider, {
value: o,
children: io.jsxs("div", {
className: s,
ref: a,
...i,
children: [o.size > 2 && io.jsxs("div", {
className: "sol-c-accordion__actions",
children: [r && io.jsx(gs, {
className: "sol-c-accordion__action",
disabled: o.allOpen,
onClick: o.openAll,
size: "small",
variant: "plain",
children: r
}), t && io.jsx(gs, {
className: "sol-c-accordion__action",
disabled: o.allClosed,
onClick: o.closeAll,
size: "small",
variant: "plain",
children: t
})]
}), io.jsx("div", {
className: "sol-c-accordion__items",
children: n
})]
})
})
}));
eo("@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)}}"), eo("@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}}");
Po((({
align: e,
as: t = "div",
className: n,
children: r,
fill: i,
...a
}, o) => {
let s = Ao("sol-c-stack__item", e && `sol-c-stack__item--${e}`, i && "sol-c-stack__item--fill", n);
return (0, Ee.createElement)(t, {
className: s,
ref: o,
...a
}, r)
}));
let Es = Po((({
align: e,
as: t = "div",
children: n,
className: r,
gap: i,
justify: a,
reverse: o,
vertical: s,
wrap: l,
...c
}, u) => {
let d = Ao("sol-c-stack", e && `sol-c-stack--align-${e}`, a && `sol-c-stack--justify-${a}`, o && "sol-c-stack--reverse", s && "sol-c-stack--vertical", l && "sol-c-stack--wrap", i && `sol-u-gap-${i}`, r);
return (0, Ee.createElement)(t, {
className: d,
ref: u,
...c
}, n)
})),
Is = (0, Ee.forwardRef)((({
className: e,
...t
}, n) => {
let r = Ao("sol-c-app-header__actions", e);
return io.jsx(Es, {
align: "center",
className: r,
justify: "end",
gap: "050",
ref: n,
...t
})
})),
Os = (0, Ee.forwardRef)((({
alwaysOnTop: e,
children: t,
className: n,
hasAvatar: r,
label: i,
style: a,
...o
}, s) => {
let l = Ao("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)"
},
...a
};
return io.jsx(gs, {
"aria-label": t && i ? i : void 0,
className: l,
disableOffset: !!t,
ref: s,
size: "medium",
style: c,
variant: "plain",
...o,
children: t ?? i
})
})),
Cs = Po((({
as: e = "div",
className: t,
...n
}, r) => {
let i = Ao("sol-c-app-header__separator", t);
return io.jsx(e, {
"aria-hidden": "true",
className: i,
ref: r,
...n
})
})),
As = (0, Ee.forwardRef)((({
actions: e,
children: t,
className: n,
...r
}, i) => {
let a = Ao("sol-c-app-header", n);
return io.jsxs(Es, {
as: "header",
className: a,
gap: "050",
ref: i,
...r,
children: [t, e && io.jsx(Is, {
children: e
})]
})
}));
eo("@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 Ps = (0, Ee.forwardRef)((({
children: e,
className: t,
header: n,
...r
}, i) => {
let a = Ao("sol-c-app-layout", t);
return io.jsxs("div", {
className: a,
ref: i,
...r,
children: [n && (0, Ee.cloneElement)(n, {
className: "sol-c-app-layout__header"
}), io.jsx("main", {
className: "sol-c-app-layout__main",
children: e
})]
})
}));
eo("@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 Ts = Po((({
as: e = "span",
alt: t,
className: n,
src: r,
srcSet: i,
...a
}, o) => {
let s = Go({
src: r,
srcSet: i
}),
l = Ao("sol-c-avatar", n);
return io.jsx(e, {
className: l,
"aria-label": r && s !== Bo ? void 0 : t,
ref: o,
...a,
children: r && s !== Bo && io.jsx("img", {
alt: t ?? "",
className: Ao("sol-c-avatar__image", s === Vo && "sol-c-avatar__image--loaded"),
src: r,
srcSet: i
})
})
}));
eo("@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 Rs = {
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 Ds(e) {
return Ns(e) ? (e.nodeName || "").toLowerCase() : "#document"
}
function Ls(e) {
var t;
return (null == e || null == (t = e.ownerDocument) ? void 0 : t.defaultView) || window
}
function Ns(e) {
return e instanceof Node || e instanceof Ls(e).Node
}
function js(e) {
return e instanceof Element || e instanceof Ls(e).Element
}
function Ms(e) {
return e instanceof HTMLElement || e instanceof Ls(e).HTMLElement
}
function Fs(e) {
return "undefined" != typeof ShadowRoot && (e instanceof ShadowRoot || e instanceof Ls(e).ShadowRoot)
}
function zs(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 Us(e, t) {
if (!e || !t) return !1;
let n = t.getRootNode && t.getRootNode();
if (e.contains(t)) return !0;
if (n && Fs(n)) {
let n = t;
for (; n;) {
if (e === n) return !0;
n = n.parentNode || n.host
}
}
return !1
}
function Vs() {
let e = navigator.userAgentData;
return null != e && e.platform ? e.platform : navigator.platform
}
function Bs(e) {
return 0 === e.mozInputSource && !!e.isTrusted || (qs() && e.pointerType ? "click" === e.type && 1 === e.buttons : 0 === e.detail && !e.pointerType)
}
function Gs(e) {
return !qs() && 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 $s() {
return /apple/i.test(navigator.vendor)
}
function qs() {
let e = /android/i;
return e.test(Vs()) || 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 Ws() {
return Vs().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints
}
function Hs(e, t) {
let n = ["mouse", "pen"];
return t || n.push("", void 0), n.includes(e)
}
function Ks(e) {
return (null == e ? void 0 : e.ownerDocument) || document
}
function Ys(e, t) {
return null != t && ("composedPath" in e ? e.composedPath().includes(t) : null != e.target && t.contains(e.target))
}
function Qs(e) {
return "composedPath" in e ? e.composedPath()[0] : e.target
}
function Zs(e) {
return Ms(e) && e.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")
}
function Xs(e) {
e.preventDefault(), e.stopPropagation()
}
eo("@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 Js = Math.floor,
el = Math.min,
tl = Math.max,
nl = Math.round,
rl = Math.floor,
il = e => ({
x: e,
y: e
}),
al = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
},
ol = {
start: "end",
end: "start"
};
function sl(e, t) {
return "function" == typeof e ? e(t) : e
}
function ll(e) {
return e.split("-")[0]
}
function cl(e) {
return e.split("-")[1]
}
function ul(e) {
return "x" === e ? "y" : "x"
}
function dl(e) {
return "y" === e ? "height" : "width"
}
function pl(e) {
return ["top", "bottom"].includes(ll(e)) ? "y" : "x"
}
function hl(e) {
return e.replace(/start|end/g, (e => ol[e]))
}
function fl(e) {
return e.replace(/left|right|bottom|top/g, (e => al[e]))
}
function ml(e) {
return "number" != typeof e ? {
top: 0,
right: 0,
bottom: 0,
left: 0,
...e
} : {
top: e,
right: e,
bottom: e,
left: e
}
}
function gl(e) {
return {
...e,
top: e.y,
left: e.x,
right: e.x + e.width,
bottom: e.y + e.height
}
}
function vl(e, t, n) {
let r, {
reference: i,
floating: a
} = e,
o = pl(t),
s = ul(pl(t)),
l = dl(s),
c = ll(t),
u = "y" === o,
d = i.x + i.width / 2 - a.width / 2,
p = i.y + i.height / 2 - a.height / 2,
h = i[l] / 2 - a[l] / 2;
switch (c) {
case "top":
r = {
x: d,
y: i.y - a.height
};
break;
case "bottom":
r = {
x: d,
y: i.y + i.height
};
break;
case "right":
r = {
x: i.x + i.width,
y: p
};
break;
case "left":
r = {
x: i.x - a.width,
y: p
};
break;
default:
r = {
x: i.x,
y: i.y
}
}
switch (cl(t)) {
case "start":
r[s] -= h * (n && u ? -1 : 1);
break;
case "end":
r[s] += h * (n && u ? -1 : 1)
}
return r
}
async function yl(e, t) {
var n;
void 0 === t && (t = {});
let {
x: r,
y: i,
platform: a,
rects: o,
elements: s,
strategy: l
} = e, {
boundary: c = "clippingAncestors",
rootBoundary: u = "viewport",
elementContext: d = "floating",
altBoundary: p = !1,
padding: h = 0
} = sl(t, e), f = ml(h), m = s[p ? "floating" === d ? "reference" : "floating" : d], g = gl(await a.getClippingRect({
element: null == (n = await (null == a.isElement ? void 0 : a.isElement(m))) || n ? m : m.contextElement || await (null == a.getDocumentElement ? void 0 : a.getDocumentElement(s.floating)),
boundary: c,
rootBoundary: u,
strategy: l
})), v = "floating" === d ? {
...o.floating,
x: r,
y: i
} : o.reference, y = await (null == a.getOffsetParent ? void 0 : a.getOffsetParent(s.floating)), _ = await (null == a.isElement ? void 0 : a.isElement(y)) && await (null == a.getScale ? void 0 : a.getScale(y)) || {
x: 1,
y: 1
}, b = gl(a.convertOffsetParentRelativeRectToViewportRelativeRect ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({
rect: v,
offsetParent: y,
strategy: l
}) : v);
return {
top: (g.top - b.top + f.top) / _.y,
bottom: (b.bottom - g.bottom + f.bottom) / _.y,
left: (g.left - b.left + f.left) / _.x,
right: (b.right - g.right + f.right) / _.x
}
}
let _l = e => ({
name: "arrow",
options: e,
async fn(t) {
let {
x: n,
y: r,
placement: i,
rects: a,
platform: o,
elements: s
} = t, {
element: l,
padding: c = 0
} = sl(e, t) || {};
if (null == l) return {};
let u = ml(c),
d = {
x: n,
y: r
},
p = ul(pl(i)),
h = dl(p),
f = await o.getDimensions(l),
m = "y" === p,
g = m ? "clientHeight" : "clientWidth",
v = a.reference[h] + a.reference[p] - d[p] - a.floating[h],
y = d[p] - a.reference[p],
_ = await (null == o.getOffsetParent ? void 0 : o.getOffsetParent(l)),
b = _ ? _[g] : 0;
b && await (null == o.isElement ? void 0 : o.isElement(_)) || (b = s.floating[g] || a.floating[h]);
let x = b / 2 - f[h] / 2 - 1,
w = el(u[m ? "top" : "left"], x),
k = el(u[m ? "bottom" : "right"], x),
S = b - f[h] - k,
E = b / 2 - f[h] / 2 + (v / 2 - y / 2),
I = tl(w, el(E, S)),
O = null != cl(i) && E != I && a.reference[h] / 2 - (E < w ? w : k) - f[h] / 2 < 0 ? E < w ? w - E : S - E : 0;
return {
[p]: d[p] - O,
data: {
[p]: I,
centerOffset: E - I + O
}
}
}
});
let bl = function(e) {
return void 0 === e && (e = 0), {
name: "offset",
options: e,
async fn(t) {
let {
x: n,
y: r
} = t, i = await async function(e, t) {
let {
placement: n,
platform: r,
elements: i
} = e, a = await (null == r.isRTL ? void 0 : r.isRTL(i.floating)), o = ll(n), s = cl(n), l = "y" === pl(n), c = ["left", "top"].includes(o) ? -1 : 1, u = a && l ? -1 : 1, d = sl(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 + i.x,
y: r + i.y,
data: i
}
}
}
},
xl = function(e) {
return void 0 === e && (e = {}), {
name: "shift",
options: e,
async fn(t) {
let {
x: n,
y: r,
placement: i
} = t, {
mainAxis: a = !0,
crossAxis: o = !1,
limiter: s = {
fn: e => {
let {
x: t,
y: n
} = e;
return {
x: t,
y: n
}
}
},
...l
} = sl(e, t), c = {
x: n,
y: r
}, u = await yl(t, l), d = pl(ll(i)), p = ul(d), h = c[p], f = c[d];
if (a) {
let e = h + u["y" === p ? "top" : "left"],
t = h - u["y" === p ? "bottom" : "right"];
h = tl(e, el(h, t))
}
if (o) {
let e = "y" === d ? "bottom" : "right",
t = f + u["y" === d ? "top" : "left"],
n = f - u[e];
f = tl(t, el(f, n))
}
let m = s.fn({
...t,
[p]: h,
[d]: f
});
return {
...m,
data: {
x: m.x - n,
y: m.y - r
}
}
}
}
},
wl = function(e) {
return void 0 === e && (e = {}), {
name: "size",
options: e,
async fn(t) {
let n, r, {
placement: i,
rects: a,
platform: o,
elements: s
} = t,
{
apply: l = (() => {}),
...c
} = sl(e, t),
u = await yl(t, c),
d = ll(i),
p = cl(i),
h = "y" === pl(i),
{
width: f,
height: m
} = a.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],
y = !t.middlewareData.shift,
_ = g,
b = v;
if (h) {
let e = f - u.left - u.right;
b = p || y ? el(v, e) : e
} else {
let e = m - u.top - u.bottom;
_ = p || y ? el(g, e) : e
}
if (y && !p) {
let e = tl(u.left, 0),
t = tl(u.right, 0),
n = tl(u.top, 0),
r = tl(u.bottom, 0);
h ? b = f - 2 * (0 !== e || 0 !== t ? e + t : tl(u.left, u.right)) : _ = m - 2 * (0 !== n || 0 !== r ? n + r : tl(u.top, u.bottom))
}
await l({
...t,
availableWidth: b,
availableHeight: _
});
let x = await o.getDimensions(s.floating);
return f !== x.width || m !== x.height ? {
reset: {
rects: !0
}
} : {}
}
}
};
function kl(e) {
return Il(e) ? (e.nodeName || "").toLowerCase() : "#document"
}
function Sl(e) {
var t;
return (null == e || null == (t = e.ownerDocument) ? void 0 : t.defaultView) || window
}
function El(e) {
var t;
return null == (t = (Il(e) ? e.ownerDocument : e.document) || window.document) ? void 0 : t.documentElement
}
function Il(e) {
return e instanceof Node || e instanceof Sl(e).Node
}
function Ol(e) {
return e instanceof Element || e instanceof Sl(e).Element
}
function Cl(e) {
return e instanceof HTMLElement || e instanceof Sl(e).HTMLElement
}
function Al(e) {
return "undefined" != typeof ShadowRoot && (e instanceof ShadowRoot || e instanceof Sl(e).ShadowRoot)
}
function Pl(e) {
let {
overflow: t,
overflowX: n,
overflowY: r,
display: i
} = Ll(e);
return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !["inline", "contents"].includes(i)
}
function Tl(e) {
let t = Rl(),
n = Ll(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 Rl() {
return "undefined" != typeof CSS && !!CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")
}
function Dl(e) {
return ["html", "body", "#document"].includes(kl(e))
}
function Ll(e) {
return Sl(e).getComputedStyle(e)
}
function Nl(e) {
return Ol(e) ? {
scrollLeft: e.scrollLeft,
scrollTop: e.scrollTop
} : {
scrollLeft: e.pageXOffset,
scrollTop: e.pageYOffset
}
}
function jl(e) {
if ("html" === kl(e)) return e;
let t = e.assignedSlot || e.parentNode || Al(e) && e.host || El(e);
return Al(t) ? t.host : t
}
function Ml(e, t) {
var n;
void 0 === t && (t = []);
let r = function e(t) {
let n = jl(t);
return Dl(n) ? t.ownerDocument ? t.ownerDocument.body : t.body : Cl(n) && Pl(n) ? n : e(n)
}(e),
i = r === (null == (n = e.ownerDocument) ? void 0 : n.body),
a = Sl(r);
return i ? t.concat(a, a.visualViewport || [], Pl(r) ? r : []) : t.concat(r, Ml(r))
}
function Fl(e) {
let t = Ll(e),
n = parseFloat(t.width) || 0,
r = parseFloat(t.height) || 0,
i = Cl(e),
a = i ? e.offsetWidth : n,
o = i ? e.offsetHeight : r,
s = nl(n) !== a || nl(r) !== o;
return s && (n = a, r = o), {
width: n,
height: r,
$: s
}
}
function zl(e) {
return Ol(e) ? e : e.contextElement
}
function Ul(e) {
let t = zl(e);
if (!Cl(t)) return il(1);
let n = t.getBoundingClientRect(),
{
width: r,
height: i,
$: a
} = Fl(t),
o = (a ? nl(n.width) : n.width) / r,
s = (a ? nl(n.height) : n.height) / i;
return o && Number.isFinite(o) || (o = 1), s && Number.isFinite(s) || (s = 1), {
x: o,
y: s
}
}
let Vl = il(0);
function Bl(e) {
let t = Sl(e);
return Rl() && t.visualViewport ? {
x: t.visualViewport.offsetLeft,
y: t.visualViewport.offsetTop
} : Vl
}
function Gl(e, t, n, r) {
var i;
void 0 === t && (t = !1), void 0 === n && (n = !1);
let a = e.getBoundingClientRect(),
o = zl(e),
s = il(1);
t && (r ? Ol(r) && (s = Ul(r)) : s = Ul(e));
let l = (void 0 === (i = n) && (i = !1), !r || i && r !== Sl(o) || !i ? il(0) : Bl(o)),
c = (a.left + l.x) / s.x,
u = (a.top + l.y) / s.y,
d = a.width / s.x,
p = a.height / s.y;
if (o) {
let e = Sl(o),
t = r && Ol(r) ? Sl(r) : r,
n = e.frameElement;
for (; n && r && t !== e;) {
let e = Ul(n),
t = n.getBoundingClientRect(),
r = Ll(n),
i = t.left + (n.clientLeft + parseFloat(r.paddingLeft)) * e.x,
a = t.top + (n.clientTop + parseFloat(r.paddingTop)) * e.y;
c *= e.x, u *= e.y, d *= e.x, p *= e.y, c += i, u += a, n = Sl(n).frameElement
}
}
return gl({
width: d,
height: p,
x: c,
y: u
})
}
function $l(e) {
return Gl(El(e)).left + Nl(e).scrollLeft
}
function ql(e, t, n) {
let r;
if ("viewport" === t) r = function(e, t) {
let n = Sl(e),
r = El(e),
i = n.visualViewport,
a = r.clientWidth,
o = r.clientHeight,
s = 0,
l = 0;
if (i) {
a = i.width, o = i.height;
let e = Rl();
(!e || e && "fixed" === t) && (s = i.offsetLeft, l = i.offsetTop)
}
return {
width: a,
height: o,
x: s,
y: l
}
}(e, n);
else if ("document" === t) r = function(e) {
let t = El(e),
n = Nl(e),
r = e.ownerDocument.body,
i = tl(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth),
a = tl(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight),
o = -n.scrollLeft + $l(e),
s = -n.scrollTop;
return "rtl" === Ll(r).direction && (o += tl(t.clientWidth, r.clientWidth) - i), {
width: i,
height: a,
x: o,
y: s
}
}(El(e));
else if (Ol(t)) r = function(e, t) {
let n = Gl(e, !0, "fixed" === t),
r = n.top + e.clientTop,
i = n.left + e.clientLeft,
a = Cl(e) ? Ul(e) : il(1);
return {
width: e.clientWidth * a.x,
height: e.clientHeight * a.y,
x: i * a.x,
y: r * a.y
}
}(t, n);
else {
let n = Bl(e);
r = {
...t,
x: t.x - n.x,
y: t.y - n.y
}
}
return gl(r)
}
function Wl(e, t) {
return Cl(e) && "fixed" !== Ll(e).position ? t ? t(e) : e.offsetParent : null
}
function Hl(e, t) {
let n = Sl(e);
if (!Cl(e)) return n;
let r = Wl(e, t);
for (; r && ["table", "td", "th"].includes(kl(r)) && "static" === Ll(r).position;) r = Wl(r, t);
return r && ("html" === kl(r) || "body" === kl(r) && "static" === Ll(r).position && !Tl(r)) ? n : r || function(e) {
let t = jl(e);
for (; Cl(t) && !Dl(t);) {
if (Tl(t)) return t;
t = jl(t)
}
return null
}(e) || n
}
let Kl = {
convertOffsetParentRelativeRectToViewportRelativeRect: function(e) {
let {
rect: t,
offsetParent: n,
strategy: r
} = e, i = Cl(n), a = El(n);
if (n === a) return t;
let o = {
scrollLeft: 0,
scrollTop: 0
},
s = il(1),
l = il(0);
if ((i || !i && "fixed" !== r) && (("body" !== kl(n) || Pl(a)) && (o = Nl(n)), Cl(n))) {
let e = Gl(n);
s = Ul(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: El,
getClippingRect: function(e) {
let {
element: t,
boundary: n,
rootBoundary: r,
strategy: i
} = e, a = "clippingAncestors" === n ? function(e, t) {
let n = t.get(e);
if (n) return n;
let r = Ml(e).filter((e => Ol(e) && "body" !== kl(e))),
i = null,
a = "fixed" === Ll(e).position,
o = a ? jl(e) : e;
for (; Ol(o) && !Dl(o);) {
let t = Ll(o),
n = Tl(o);
n || "fixed" !== t.position || (i = null);
let s = a ? !n && !i : !n && "static" === t.position && !!i && ["absolute", "fixed"].includes(i.position) || Pl(o) && !n && function e(t, n) {
let r = jl(t);
return !(r === n || !Ol(r) || Dl(r)) && ("fixed" === Ll(r).position || e(r, n))
}(e, o);
s ? r = r.filter((e => e !== o)) : i = t, o = jl(o)
}
return t.set(e, r), r
}(t, this._c) : [].concat(n), o = [...a, r], s = o[0], l = o.reduce(((e, n) => {
let r = ql(t, n, i);
return e.top = tl(r.top, e.top), e.right = el(r.right, e.right), e.bottom = el(r.bottom, e.bottom), e.left = tl(r.left, e.left), e
}), ql(t, s, i));
return {
width: l.right - l.left,
height: l.bottom - l.top,
x: l.left,
y: l.top
}
},
getOffsetParent: Hl,
getElementRects: async function(e) {
let {
reference: t,
floating: n,
strategy: r
} = e, i = this.getOffsetParent || Hl, a = this.getDimensions;
return {
reference: function(e, t, n) {
let r = Cl(t),
i = El(t),
a = "fixed" === n,
o = Gl(e, !0, a, t),
s = {
scrollLeft: 0,
scrollTop: 0
},
l = il(0);
if (r || !r && !a)
if (("body" !== kl(t) || Pl(i)) && (s = Nl(t)), r) {
let e = Gl(t, !0, a, t);
l.x = e.x + t.clientLeft, l.y = e.y + t.clientTop
} else i && (l.x = $l(i));
return {
x: o.left + s.scrollLeft - l.x,
y: o.top + s.scrollTop - l.y,
width: o.width,
height: o.height
}
}(t, await i(n), r),
floating: {
x: 0,
y: 0,
...await a(n)
}
}
},
getClientRects: function(e) {
return Array.from(e.getClientRects())
},
getDimensions: function(e) {
return Fl(e)
},
getScale: Ul,
isElement: Ol,
isRTL: function(e) {
return "rtl" === Ll(e).direction
}
};
function Yl(e, t, n, r) {
let i;
void 0 === r && (r = {});
let {
ancestorScroll: a = !0,
ancestorResize: o = !0,
elementResize: s = "function" == typeof ResizeObserver,
layoutShift: l = "function" == typeof IntersectionObserver,
animationFrame: c = !1
} = r, u = zl(e), d = a || o ? [...u ? Ml(u) : [], ...Ml(t)] : [];
d.forEach((e => {
a && e.addEventListener("scroll", n, {
passive: !0
}), o && e.addEventListener("resize", n)
}));
let p = u && l ? function(e, t) {
let n, r = null,
i = El(e);
function a() {
clearTimeout(n), r && r.disconnect(), r = null
}
return function o(s, l) {
void 0 === s && (s = !1), void 0 === l && (l = 1), a();
let {
left: c,
top: u,
width: d,
height: p
} = e.getBoundingClientRect();
if (s || t(), !d || !p) return;
let h = {
rootMargin: -rl(u) + "px " + -rl(i.clientWidth - (c + d)) + "px " + -rl(i.clientHeight - (u + p)) + "px " + -rl(c) + "px",
threshold: tl(0, el(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: i.ownerDocument
})
} catch (e) {
r = new IntersectionObserver(m, h)
}
r.observe(e)
}(!0), a
}(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 ? Gl(e) : null;
return c && function t() {
let r = Gl(e);
m && (r.x !== m.x || r.y !== m.y || r.width !== m.width || r.height !== m.height) && n(), m = r, i = requestAnimationFrame(t)
}(), n(), () => {
d.forEach((e => {
a && e.removeEventListener("scroll", n), o && e.removeEventListener("resize", n)
})), p && p(), f && f.disconnect(), f = null, c && cancelAnimationFrame(i)
}
}
let Ql = (e, t, n) => {
let r = new Map,
i = {
platform: Kl,
...n
},
a = {
...i.platform,
_c: r
};
return (async (e, t, n) => {
let {
placement: r = "bottom",
strategy: i = "absolute",
middleware: a = [],
platform: o
} = n, s = a.filter(Boolean), l = await (null == o.isRTL ? void 0 : o.isRTL(t)), c = await o.getElementRects({
reference: e,
floating: t,
strategy: i
}), {
x: u,
y: d
} = vl(c, r, l), p = r, h = {}, f = 0;
for (let m = 0; m < s.length; m++) {
let {
name: n,
fn: a
} = s[m], {
x: g,
y: v,
data: y,
reset: _
} = await a({
x: u,
y: d,
initialPlacement: r,
placement: p,
strategy: i,
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 _ && (_.placement && (p = _.placement), _.rects && (c = !0 === _.rects ? await o.getElementRects({
reference: e,
floating: t,
strategy: i
}) : _.rects), ({
x: u,
y: d
} = vl(c, p, l))), m = -1)
}
return {
x: u,
y: d,
placement: p,
strategy: i,
middlewareData: h
}
})(e, t, {
...i,
platform: a
})
},
Zl = 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 _l({
element: n.current,
padding: r
}).fn(t)
} else if (n) return _l({
element: n,
padding: r
}).fn(t);
return {}
}
});
var Xl = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function Jl(e, t) {
let n, r, i;
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 (!Jl(e[r], t[r])) return !1;
return !0
}
if ((n = (i = Object.keys(e)).length) !== Object.keys(t).length) return !1;
for (r = n; 0 != r--;)
if (!{}.hasOwnProperty.call(t, i[r])) return !1;
for (r = n; 0 != r--;) {
let n = i[r];
if (("_owner" !== n || !e.$$typeof) && !Jl(e[n], t[n])) return !1
}
return !0
}
return e != e && t != t
}
function ec(e) {
if ("undefined" == typeof window) return 1;
return (e.ownerDocument.defaultView || window).devicePixelRatio || 1
}
function tc(e, t) {
let n = ec(e);
return Math.round(t * n) / n
}
function nc(e) {
let t = Ee.useRef(e);
return Xl((() => {
t.current = e
})), t
}
var rc = 'input,select,textarea,a[href],button,[tabindex]:not(slot),audio[controls],video[controls],[contenteditable]:not([contenteditable="false"]),details>summary:first-of-type,details',
ic = "undefined" == typeof Element,
ac = ic ? function() {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector,
oc = !ic && Element.prototype.getRootNode ? function(e) {
return e.getRootNode()
} : function(e) {
return e.ownerDocument
},
sc = function e(t, n, r) {
for (var i = [], a = Array.from(t); a.length;) {
var o = a.shift();
if ("SLOT" === o.tagName) {
var s = o.assignedElements(),
l = e(s.length ? s : o.children, !0, r);
r.flatten ? i.push.apply(i, l) : i.push({
scopeParent: o,
candidates: l
})
} else {
ac.call(o, rc) && r.filter(o) && (n || !t.includes(o)) && i.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 ? i.push.apply(i, d) : i.push({
scopeParent: o,
candidates: d
})
} else a.unshift.apply(a, o.children)
}
}
return i
},
lc = 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
},
cc = function(e, t) {
return e.tabIndex === t.tabIndex ? e.documentOrder - t.documentOrder : e.tabIndex - t.tabIndex
},
uc = function(e) {
return "INPUT" === e.tagName
},
dc = function(e) {
var t = e.getBoundingClientRect(),
n = t.width,
r = t.height;
return 0 === n && 0 === r
},
pc = function(e, t) {
var n = t.displayCheck,
r = t.getShadowRoot;
if ("hidden" === getComputedStyle(e).visibility) return !0;
var i = ac.call(e, "details>summary:first-of-type") ? e.parentElement : e;
if (ac.call(i, "details:not([open]) *")) return !0;
if (n && "full" !== n && "legacy-full" !== n) {
if ("non-zero-area" === n) return dc(e)
} else {
if ("function" == typeof r) {
for (var a = e; e;) {
var o = e.parentElement,
s = oc(e);
if (o && !o.shadowRoot && !0 === r(o)) return dc(e);
e = e.assignedSlot ? e.assignedSlot : o || s === e.ownerDocument ? o : s.host
}
e = a
}
if (function(e) {
for (var t, n, r = oc(e).host, i = !!(null !== (t = r) && void 0 !== t && t.ownerDocument.contains(r) || e.ownerDocument.contains(e)); !i && r;) i = !(null === (n = r = oc(r).host) || void 0 === n || !n.ownerDocument.contains(r));
return i
}(e)) return !e.getClientRects().length;
if ("legacy-full" !== n) return !0
}
return !1
},
hc = function(e, t) {
var n, r, i;
return !(uc(n = t) && "radio" === n.type && ! function(e) {
if (!e.name) return !0;
var t, n = e.form || oc(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 i = 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 !i || i === e
}(n) || 0 > lc(t)) && (r = e, !((i = t).disabled || uc(i) && "hidden" === i.type || pc(i, r) || "DETAILS" === i.tagName && Array.prototype.slice.apply(i.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 !!ac.call(t, "fieldset[disabled] *") || !r.contains(e)
}
return !0
}
t = t.parentElement
}
return !1
}(i)))
},
fc = function(e) {
var t = parseInt(e.getAttribute("tabindex"), 10);
return !!isNaN(t) || t >= 0
},
mc = function e(t) {
var n = [],
r = [];
return t.forEach((function(t, i) {
var a = !!t.scopeParent,
o = a ? t.scopeParent : t,
s = lc(o, a),
l = a ? e(t.candidates) : o;
0 === s ? a ? n.push.apply(n, l) : n.push(o) : r.push({
documentOrder: i,
tabIndex: s,
item: t,
isScope: a,
content: l
})
})), r.sort(cc).reduce((function(e, t) {
return t.isScope ? e.push.apply(e, t.content) : e.push(t.content), e
}), []).concat(n)
},
gc = function(e, t) {
return mc((t = t || {}).getShadowRoot ? sc([e], t.includeContainer, {
filter: hc.bind(null, t),
flatten: !1,
getShadowRoot: t.getShadowRoot,
shadowRootFilter: fc
}) : function(e, t, n) {
var r = Array.prototype.slice.apply(e.querySelectorAll(rc));
return t && ac.call(e, rc) && r.unshift(e), r.filter(n)
}(e, t.includeContainer, hc.bind(null, t)))
};
function vc(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 yc = Ie["useInsertionEffect".toString()] || (e => e());
function _c(e) {
let t = Ee.useRef((() => {
0
}));
return yc((() => {
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 bc = "ArrowUp",
xc = "ArrowDown",
wc = "ArrowLeft",
kc = "ArrowRight";
function Sc(e, t, n) {
return Math.floor(e / t) !== n
}
function Ec(e, t) {
return t < 0 || t >= e.current.length
}
function Ic(e, t) {
return Cc(e, {
disabledIndices: t
})
}
function Oc(e, t) {
return Cc(e, {
decrement: !0,
startingIndex: e.current.length,
disabledIndices: t
})
}
function Cc(e, t) {
let {
startingIndex: n = -1,
decrement: r = !1,
disabledIndices: i,
amount: a = 1
} = void 0 === t ? {} : t, o = e.current, s = i ? e => i.includes(e) : e => {
let t = o[e];
return null == t || t.hasAttribute("disabled") || "true" === t.getAttribute("aria-disabled")
}, l = n;
do {
l += r ? -a : a
} while (l >= 0 && l <= o.length - 1 && s(l));
return l
}
let Ac = 0;
function Pc(e, t) {
void 0 === t && (t = {});
let {
preventScroll: n = !1,
cancelPrevious: r = !0,
sync: i = !1
} = t;
r && cancelAnimationFrame(Ac);
let a = () => null == e ? void 0 : e.focus({
preventScroll: n
});
i ? a() : Ac = requestAnimationFrame(a)
}
var Tc = "undefined" != typeof document ? Ee.useLayoutEffect : Ee.useEffect;
function Rc(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 Dc = Ee.createContext({
register: () => {},
unregister: () => {},
map: new Map,
elementsRef: {
current: []
}
});
function Lc(e) {
let {
children: t,
elementsRef: n,
labelsRef: r
} = e, [i, a] = Ee.useState((() => new Map)), o = Ee.useCallback((e => {
a((t => new Map(t).set(e, null)))
}), []), s = Ee.useCallback((e => {
a((t => {
let n = new Map(t);
return n.delete(e), n
}))
}), []);
return Tc((() => {
let e = new Map(i);
Array.from(e.keys()).sort(Rc).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
}(i, e) && a(e)
}), [i]), Ee.createElement(Dc.Provider, {
value: Ee.useMemo((() => ({
register: o,
unregister: s,
map: i,
elementsRef: n,
labelsRef: r
})), [o, s, i, n, r])
}, t)
}
function Nc(e) {
let {
label: t
} = void 0 === e ? {} : e, [n, r] = Ee.useState(null), i = Ee.useRef(null), {
register: a,
unregister: o,
map: s,
elementsRef: l,
labelsRef: c
} = Ee.useContext(Dc), u = Ee.useCallback((e => {
if (i.current = e, null !== n && (l.current[n] = e, c)) {
var r;
let i = void 0 !== t;
c.current[n] = i ? t : null != (r = null == e ? void 0 : e.textContent) ? r : null
}
}), [n, l, c, t]);
return Tc((() => {
let e = i.current;
if (e) return a(e), () => {
o(e)
}
}), [a, o]), Tc((() => {
let e = i.current ? s.get(i.current) : null;
null != e && r(e)
}), [s]), Ee.useMemo((() => ({
ref: u,
index: null == n ? -1 : n
})), [n, u])
}
function jc() {
return (jc = 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 Mc = !1,
Fc = 0,
zc = () => "floating-ui-" + Fc++,
Uc = Ie["useId".toString()] || function() {
let [e, t] = Ee.useState((() => Mc ? zc() : void 0));
return Tc((() => {
null == e && t(zc())
}), []), Ee.useEffect((() => {
Mc || (Mc = !0)
}), []), e
},
Vc = Ee.forwardRef((function(e, t) {
let {
context: {
placement: n,
elements: {
floating: r
},
middlewareData: {
arrow: i
}
},
width: a = 14,
height: o = 7,
tipRadius: s = 0,
strokeWidth: l = 0,
staticOffset: c,
stroke: u,
d: d,
style: {
transform: p,
...h
} = {},
...f
} = e, m = Uc();
if (!r) return null;
l *= 2;
let g = l / 2,
v = a / 2 * (-s / 8 + 1),
y = o / 2 * s / 4,
[_, b] = n.split("-"),
x = Kl.isRTL(r),
w = !!d,
k = c && "end" === b ? "right" : "left";
c && x && (k = "end" === b ? "left" : "right");
let S = null != (null == i ? void 0 : i.x) ? c || i.x : "",
E = null != (null == i ? void 0 : i.y) ? c || i.y : "",
I = d || "M0,0 H" + a + " L" + (a - v) + "," + (o - y) + " Q" + a / 2 + "," + o + " " + v + "," + (o - y) + " Z";
return Ee.createElement("svg", jc({}, f, {
"aria-hidden": !0,
ref: t,
width: w ? a : a + l,
height: a,
viewBox: "0 0 " + a + " " + (o > a ? o : a),
style: {
position: "absolute",
pointerEvents: "none",
[k]: S,
[c && "end" === b ? "bottom" : "top"]: E,
[_]: "top" === _ || "bottom" === _ || 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)"
} [_] + (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: a + l,
height: a
})))
}));
function Bc() {
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 Gc = Ee.createContext(null),
$c = Ee.createContext(null),
qc = () => {
var e;
return (null == (e = Ee.useContext(Gc)) ? void 0 : e.id) || null
},
Wc = () => Ee.useContext($c);
function Hc(e) {
let t = Uc(),
n = Wc(),
r = qc(),
i = e || r;
return Tc((() => {
let e = {
id: t,
parentId: i
};
return null == n || n.addNode(e), () => {
null == n || n.removeNode(e)
}
}), [n, t, i]), t
}
function Kc(e) {
let {
children: t,
id: n
} = e, r = qc();
return Ee.createElement(Gc.Provider, {
value: Ee.useMemo((() => ({
id: n,
parentId: r
})), [n, r])
}, t)
}
function Yc(e) {
let {
children: t
} = e, n = Ee.useRef([]), r = Ee.useCallback((e => {
n.current = [...n.current, e]
}), []), i = Ee.useCallback((e => {
n.current = n.current.filter((t => t !== e))
}), []), a = Ee.useState((() => Bc()))[0];
return Ee.createElement($c.Provider, {
value: Ee.useMemo((() => ({
nodesRef: n,
addNode: r,
removeNode: i,
events: a
})), [n, r, i, a])
}, t)
}
function Qc(e) {
return "data-floating-ui-" + e
}
function Zc(e) {
let t = (0, Ee.useRef)(e);
return Tc((() => {
t.current = e
})), t
}
let Xc = Qc("safe-polygon");
function Jc(e, t, n) {
return n && !Hs(n) ? 0 : "number" == typeof e ? e : null == e ? void 0 : e[t]
}
function eu(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 tu = new WeakMap,
nu = new WeakSet,
ru = {},
iu = 0,
au = e => e && (e.host || au(e.parentNode));
function ou(e, t, n) {
void 0 === t && (t = !1), void 0 === n && (n = !1);
let r = Ks(e[0]).body;
return function(e, t, n, r) {
let i = "data-floating-ui-inert",
a = r ? "inert" : n ? "aria-hidden" : null,
o = ((e, t) => t.map((t => {
if (e.contains(t)) return t;
let n = au(t);
return e.contains(n) ? n : null
})).filter((e => null != e)))(t, e),
s = new Set,
l = new Set(o),
c = [];
ru[i] || (ru[i] = new WeakMap);
let u = ru[i];
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 = a ? t.getAttribute(a) : null,
n = null !== e && "false" !== e,
r = (tu.get(t) || 0) + 1,
o = (u.get(t) || 0) + 1;
tu.set(t, r), u.set(t, o), c.push(t), 1 === r && n && nu.add(t), 1 === o && t.setAttribute(i, ""), !n && a && t.setAttribute(a, "true")
}
}))
}(t), s.clear(), iu++, () => {
c.forEach((e => {
let t = (tu.get(e) || 0) - 1,
n = (u.get(e) || 0) - 1;
tu.set(e, t), u.set(e, n), t || (!nu.has(e) && a && e.removeAttribute(a), nu.delete(e)), n || e.removeAttribute(i)
})), --iu || (tu = new WeakMap, tu = new WeakMap, nu = new WeakSet, ru = {})
}
}(e.concat(Array.from(r.querySelectorAll("[aria-live]"))), r, t, n)
}
let su = () => ({
getShadowRoot: !0,
displayCheck: "function" == typeof ResizeObserver && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
});
function lu(e, t) {
let n = gc(e, su());
"prev" === t && n.reverse();
let r = n.indexOf(zs(Ks(e)));
return n.slice(r + 1)[0]
}
function cu() {
return lu(document.body, "next")
}
function uu() {
return lu(document.body, "prev")
}
function du(e, t) {
let n = t || e.currentTarget,
r = e.relatedTarget;
return !r || !Us(n, r)
}
let pu = {
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 hu(e) {
"Tab" === e.key && (e.target, clearTimeout(undefined))
}
let fu = Ee.forwardRef((function(e, t) {
let [n, r] = Ee.useState();
Tc((() => ($s() && r("button"), document.addEventListener("keydown", hu), () => {
document.removeEventListener("keydown", hu)
})), []);
let i = {
ref: t,
tabIndex: 0,
role: n,
"aria-hidden": !n || void 0,
[Qc("focus-guard")]: "",
style: pu
};
return Ee.createElement("span", jc({}, e, i))
})),
mu = Ee.createContext(null);
function gu(e) {
let {
children: t,
id: n,
root: r = null,
preserveTabOrder: i = !0
} = e, a = function(e) {
let {
id: t,
root: n
} = void 0 === e ? {} : e, [r, i] = Ee.useState(null), a = Uc(), o = vu(), s = Ee.useMemo((() => ({
id: t,
root: n,
portalContext: o,
uniqueId: a
})), [t, n, o, a]), l = Ee.useRef();
return Tc((() => () => {
null == r || r.remove()
}), [r, s]), Tc((() => {
if (l.current === s) return;
l.current = s;
let {
id: e,
root: t,
portalContext: n,
uniqueId: r
} = s, a = e ? document.getElementById(e) : null, o = Qc("portal");
if (a) {
let e = document.createElement("div");
e.id = r, e.setAttribute(o, ""), a.appendChild(e), i(e)
} else {
let a = t || (null == n ? void 0 : n.portalNode);
a && !js(a) && (a = a.current), a = a || document.body;
let s = null;
e && ((s = document.createElement("div")).id = e, a.appendChild(s));
let l = document.createElement("div");
l.id = r, l.setAttribute(o, ""), (a = s || a).appendChild(l), i(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 && i && !(!r && !a);
return Ee.useEffect((() => {
if (a && i && (null == o || !o.modal)) return a.addEventListener("focusin", e, !0), a.addEventListener("focusout", e, !0), () => {
a.removeEventListener("focusin", e, !0), a.removeEventListener("focusout", e, !0)
};
function e(e) {
if (a && du(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) {
gc(e, su()).forEach((e => {
e.dataset.tabindex = e.getAttribute("tabindex") || "", e.setAttribute("tabindex", "-1")
}))
})(a)
}
}
}), [a, i, null == o ? void 0 : o.modal]), Ee.createElement(mu.Provider, {
value: Ee.useMemo((() => ({
preserveTabOrder: i,
beforeOutsideRef: l,
afterOutsideRef: c,
beforeInsideRef: u,
afterInsideRef: d,
portalNode: a,
setFocusManagerState: s
})), [i, a])
}, p && a && Ee.createElement(fu, {
"data-type": "outside",
ref: l,
onFocus: e => {
if (du(e, a)) {
var t;
null == (t = u.current) || t.focus()
} else {
let e = uu() || (null == o ? void 0 : o.refs.domReference.current);
null == e || e.focus()
}
}
}), p && a && Ee.createElement("span", {
"aria-owns": a.id,
style: pu
}), a && (0, Xa.createPortal)(t, a), p && a && Ee.createElement(fu, {
"data-type": "outside",
ref: c,
onFocus: e => {
if (du(e, a)) {
var t;
null == (t = d.current) || t.focus()
} else {
let t = cu() || (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 vu = () => Ee.useContext(mu),
yu = Ee.forwardRef((function(e, t) {
return Ee.createElement("button", jc({}, e, {
type: "button",
ref: t,
tabIndex: -1,
style: pu
}))
}));
function _u(e) {
let {
context: t,
children: n,
disabled: r = !1,
order: i = ["content"],
guards: a = !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: y
}
} = t, _ = "number" == typeof o && o < 0, b = "combobox" === (null == v ? void 0 : v.getAttribute("role")) && Zs(v) && _, x = !b && l, w = !("undefined" != typeof HTMLElement && "inert" in HTMLElement.prototype) || a, k = Zc(i), S = Zc(o), E = Zc(s), I = Wc(), O = vu(), C = Ee.useRef(null), A = Ee.useRef(null), P = Ee.useRef(!1), T = Ee.useRef(null), R = Ee.useRef(!1), D = null != O, L = Ee.useCallback((function(e) {
return void 0 === e && (e = y), e ? gc(e, su()) : []
}), [y]), N = Ee.useCallback((e => {
let t = L(e);
return k.current.map((e => v && "reference" === e ? v : y && "floating" === e ? y : t)).filter(Boolean).flat()
}), [v, y, k, L]);
function j(e) {
return !r && c && x ? Ee.createElement(yu, {
ref: "start" === e ? C : A,
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) {
Us(y, zs(Ks(y))) && 0 === L().length && !b && Xs(e);
let t = N(),
n = Qs(e);
"reference" === k.current[0] && n === v && (Xs(e), e.shiftKey ? Pc(t[t.length - 1]) : Pc(t[1])), "floating" === k.current[1] && n === y && e.shiftKey && (Xs(e), Pc(t[0]))
}
}
let t = Ks(y);
return t.addEventListener("keydown", e), () => {
t.removeEventListener("keydown", e)
}
}), [r, v, y, x, k, p, b, L, N]), Ee.useEffect((() => {
if (!r && u && y && Ms(v)) return v.addEventListener("focusout", t), v.addEventListener("pointerdown", e), x || y.addEventListener("focusout", t), () => {
v.removeEventListener("focusout", t), v.removeEventListener("pointerdown", e), x || y.removeEventListener("focusout", t)
};
function e() {
R.current = !0, setTimeout((() => {
R.current = !1
}))
}
function t(e) {
let t = e.relatedTarget;
queueMicrotask((() => {
let n = !(Us(v, t) || Us(y, t) || Us(t, y) || Us(null == O ? void 0 : O.portalNode, t) || null != t && t.hasAttribute(Qc("focus-guard")) || I && (eu(I.nodesRef.current, h).find((e => {
var n, r;
return Us(null == (n = e.context) ? void 0 : n.elements.floating, t) || Us(null == (r = e.context) ? void 0 : r.elements.domReference, t)
})) || function(e, t) {
var n;
let r = [],
i = null == (n = e.find((e => e.id === t))) ? void 0 : n.parentId;
for (; i;) {
let t = e.find((e => e.id === i));
i = 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 && !R.current && t !== T.current && (P.current = !0, f(!1, e))
}))
}
}), [r, v, y, x, h, I, O, f, u]), Ee.useEffect((() => {
var e;
if (r) return;
let t = Array.from((null == O || null == (e = O.portalNode) ? void 0 : e.querySelectorAll("[" + Qc("portal") + "]")) || []);
if (y) {
let e = [y, ...t, C.current, A.current, k.current.includes("reference") || b ? v : null].filter((e => null != e)),
n = l || b ? ou(e, w, !w) : ou(e);
return () => {
n()
}
}
}), [r, v, y, l, k, O, b, w]), Tc((() => {
if (r || !y) return;
let e = zs(Ks(y));
queueMicrotask((() => {
let t = N(y),
n = S.current,
r = ("number" == typeof n ? t[n] : n.current) || y,
i = Us(y, e);
_ || i || !d || Pc(r, {
preventScroll: r === y
})
}))
}), [r, d, y, _, N, S]), Tc((() => {
if (r || !y) return;
let e = !1,
t = Ks(y),
n = zs(t),
i = g.current;
function a(t) {
let {
reason: n,
event: r,
nested: i
} = t;
"escape-key" === n && p.domReference.current && (T.current = p.domReference.current), "hover" === n && "mouseleave" === r.type && (P.current = !0), "outside-press" === n && (i ? (P.current = !1, e = !0) : P.current = !(Bs(r) || Gs(r)))
}
return T.current = n, m.on("openchange", a), () => {
m.off("openchange", a);
let r = zs(t),
o = Us(y, r) || I && eu(I.nodesRef.current, h).some((e => {
var t;
return Us(null == (t = e.context) ? void 0 : t.elements.floating, r)
}));
(o || i.openEvent && ["click", "mousedown"].includes(i.openEvent.type)) && p.domReference.current && (T.current = p.domReference.current), E.current && Ms(T.current) && !P.current && (n === r || r === t.body || o) && Pc(T.current, {
cancelPrevious: !1,
preventScroll: e
})
}
}), [r, y, E, g, p, m, I, h]), Tc((() => {
if (!r && O) return O.setFocusManagerState({
modal: x,
closeOnFocusOut: u,
open: d,
onOpenChange: f,
refs: p
}), () => {
O.setFocusManagerState(null)
}
}), [r, O, x, d, f, p, u]), Tc((() => {
if (r || !y || "function" != typeof MutationObserver || _) return;
let e = () => {
let e = y.getAttribute("tabindex");
k.current.includes("floating") || zs(Ks(y)) !== p.domReference.current && 0 === L().length ? "0" !== e && y.setAttribute("tabindex", "0") : "-1" !== e && y.setAttribute("tabindex", "-1")
};
e();
let t = new MutationObserver(e);
return t.observe(y, {
childList: !0,
subtree: !0,
attributes: !0
}), () => {
t.disconnect()
}
}), [r, y, p, k, L, _]);
let M = !r && w && (D || x);
return Ee.createElement(Ee.Fragment, null, M && Ee.createElement(fu, {
"data-type": "inside",
ref: null == O ? void 0 : O.beforeInsideRef,
onFocus: e => {
if (x) {
let e = N();
Pc("reference" === i[0] ? e[0] : e[e.length - 1])
} else if (null != O && O.preserveTabOrder && O.portalNode)
if (P.current = !1, du(e, O.portalNode)) {
let e = cu() || v;
null == e || e.focus()
} else {
var t;
null == (t = O.beforeOutsideRef.current) || t.focus()
}
}
}), !b && j("start"), n, j("end"), M && Ee.createElement(fu, {
"data-type": "inside",
ref: null == O ? void 0 : O.afterInsideRef,
onFocus: e => {
if (x) Pc(N()[0]);
else if (null != O && O.preserveTabOrder && O.portalNode)
if (u && (P.current = !0), du(e, O.portalNode)) {
let e = uu() || v;
null == e || e.focus()
} else {
var t;
null == (t = O.afterOutsideRef.current) || t.focus()
}
}
}))
}
let bu = new Set,
xu = Ee.forwardRef((function(e, t) {
let {
lockScroll: n = !1,
...r
} = e, i = Uc();
return Tc((() => {
if (!n) return;
bu.add(i);
let e = /iP(hone|ad|od)|iOS/.test(Vs()),
t = document.body.style,
r = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft ? "paddingLeft" : "paddingRight",
a = 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", a && (t[r] = a + "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 () => {
bu.delete(i), 0 === bu.size && (Object.assign(t, {
overflow: "",
[r]: ""
}), e && (Object.assign(t, {
position: "",
top: "",
left: "",
right: ""
}), window.scrollTo(o, s)))
}
}), [i, n]), Ee.createElement("div", jc({
ref: t
}, r, {
style: {
position: "fixed",
overflow: "auto",
top: 0,
right: 0,
bottom: 0,
left: 0,
...r.style
}
}))
}));
function wu(e) {
return Ms(e.target) && "BUTTON" === e.target.tagName
}
function ku(e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
dataRef: i,
elements: {
domReference: a
}
} = 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 || Hs(d.current, !0) && c || "click" === s || (!n || !l || i.current.openEvent && "mousedown" !== i.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 : Hs(d.current, !0) && c || (!n || !l || i.current.openEvent && "click" !== i.current.openEvent.type ? r(!0, e.nativeEvent, "click") : r(!1, e.nativeEvent, "click"))
},
onKeyDown(e) {
d.current = void 0, e.defaultPrevented || !u || wu(e) || (" " !== e.key || Zs(a) || (e.preventDefault(), p.current = !0), "Enter" === e.key && r(!n || !l, e.nativeEvent, "click"))
},
onKeyUp(e) {
!e.defaultPrevented && u && !wu(e) && !Zs(a) && " " === e.key && p.current && (p.current = !1, r(!n || !l, e.nativeEvent, "click"))
}
}
} : {}), [o, i, s, c, u, a, l, n, r])
}
let Su = {
pointerdown: "onPointerDown",
mousedown: "onMouseDown",
click: "onClick"
},
Eu = {
pointerdown: "onPointerDownCapture",
mousedown: "onMouseDownCapture",
click: "onClickCapture"
},
Iu = 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 Ou(e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
nodeId: i,
elements: {
reference: a,
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, y = Wc(), _ = _c("function" == typeof d ? d : () => !1), b = "function" == typeof d ? _ : d, x = Ee.useRef(!1), w = Ee.useRef(!1), {
escapeKey: k,
outsidePress: S
} = Iu(g), {
escapeKey: E,
outsidePress: I
} = Iu(v), O = _c((e => {
if (!n || !c || !u || "Escape" !== e.key) return;
let t = y ? eu(y.nodesRef.current, i) : [];
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")
})), C = _c((e => {
var t;
let n = () => {
var t;
O(e), null == (t = Qs(e)) || t.removeEventListener("keydown", n)
};
null == (t = Qs(e)) || t.addEventListener("keydown", n)
})), A = _c((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 a = Qs(e),
l = "[" + Qc("inert") + "]",
c = Ks(s).querySelectorAll(l),
u = js(a) ? a : null;
for (; u && !["html", "body", "#document"].includes(Ds(u));) {
let e = function(e) {
var t;
if ("html" === Ds(e)) return e;
let n = e.assignedSlot || e.parentNode || Fs(e) && e.host || (null == (t = (Ns(e) ? e.ownerDocument : e.document) || window.document) ? void 0 : t.documentElement);
return Fs(n) ? n.host : n
}(u);
if (e === Ks(s).body || !js(e)) break;
u = e
}
if (c.length && js(a) && !a.matches("html,body") && !Us(a, s) && Array.from(c).every((e => !Us(u, e)))) return;
if (Ms(a) && s) {
let t = a.clientWidth > 0 && a.scrollWidth > a.clientWidth,
n = a.clientHeight > 0 && a.scrollHeight > a.clientHeight,
r = n && e.offsetX > a.clientWidth;
if (n) {
"rtl" === Ls(a).getComputedStyle(a).direction && (r = e.offsetX <= a.offsetWidth - a.clientWidth)
}
if (r || t && e.offsetY > a.clientHeight) return
}
let d = y && eu(y.nodesRef.current, i).some((t => {
var n;
return Ys(e, null == (n = t.context) ? void 0 : n.elements.floating)
}));
if (Ys(e, s) || Ys(e, o) || d) return;
let h = y ? eu(y.nodesRef.current, i) : [];
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")
})), P = _c((e => {
var t;
let n = () => {
var t;
A(e), null == (t = Qs(e)) || t.removeEventListener(p, n)
};
null == (t = Qs(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 = Ks(s);
u && t.addEventListener("keydown", E ? C : O, E), b && t.addEventListener(p, I ? P : A, I);
let i = [];
return m && (js(o) && (i = Ml(o)), js(s) && (i = i.concat(Ml(s))), !js(a) && a && a.contextElement && (i = i.concat(Ml(a.contextElement)))), (i = i.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 ? C : O, E), b && t.removeEventListener(p, I ? P : A, I), i.forEach((t => {
t.removeEventListener("scroll", e)
}))
}
}), [l, s, o, a, u, b, p, n, r, m, c, k, S, O, E, C, A, I, P]), Ee.useEffect((() => {
x.current = !1
}), [b, p]), Ee.useMemo((() => c ? {
reference: {
onKeyDown: O,
[Su[f]]: e => {
h && r(!1, e.nativeEvent, "reference-press")
}
},
floating: {
onKeyDown: O,
onMouseDown() {
w.current = !0
},
onMouseUp() {
w.current = !0
},
[Eu[p]]: () => {
x.current = !0
}
}
} : {}), [c, h, p, f, r, O])
}
function Cu(e) {
var t;
void 0 === e && (e = {});
let {
open: n = !1,
onOpenChange: r,
nodeId: i
} = e;
let [a, o] = Ee.useState(null), s = (null == (t = e.elements) ? void 0 : t.reference) || a, l = function(e) {
void 0 === e && (e = {});
let {
placement: t = "bottom",
strategy: n = "absolute",
middleware: r = [],
platform: i,
elements: {
reference: a,
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);
Jl(p, r) || h(r);
let [f, m] = Ee.useState(null), [g, v] = Ee.useState(null), y = Ee.useCallback((e => {
e != w.current && (w.current = e, m(e))
}), [m]), _ = Ee.useCallback((e => {
e !== k.current && (k.current = e, v(e))
}), [v]), b = a || f, x = o || g, w = Ee.useRef(null), k = Ee.useRef(null), S = Ee.useRef(u), E = nc(l), I = nc(i), O = Ee.useCallback((() => {
if (!w.current || !k.current) return;
let e = {
placement: t,
strategy: n,
middleware: p
};
I.current && (e.platform = I.current), Ql(w.current, k.current, e).then((e => {
let t = {
...e,
isPositioned: !0
};
C.current && !Jl(S.current, t) && (S.current = t, Xa.flushSync((() => {
d(t)
})))
}))
}), [p, t, n, I]);
Xl((() => {
!1 === c && S.current.isPositioned && (S.current.isPositioned = !1, d((e => ({
...e,
isPositioned: !1
}))))
}), [c]);
let C = Ee.useRef(!1);
Xl((() => (C.current = !0, () => {
C.current = !1
})), []), Xl((() => {
if (b && (w.current = b), x && (k.current = x), b && x) {
if (E.current) return E.current(b, x, O);
O()
}
}), [b, x, O, E]);
let A = Ee.useMemo((() => ({
reference: w,
floating: k,
setReference: y,
setFloating: _
})), [y, _]),
P = Ee.useMemo((() => ({
reference: b,
floating: x
})), [b, x]),
T = Ee.useMemo((() => {
let e = {
position: n,
left: 0,
top: 0
};
if (!P.floating) return e;
let t = tc(P.floating, u.x),
r = tc(P.floating, u.y);
return s ? {
...e,
transform: "translate(" + t + "px, " + r + "px)",
...ec(P.floating) >= 1.5 && {
willChange: "transform"
}
} : {
position: n,
left: t,
top: r
}
}), [n, s, P.floating, u.x, u.y]);
return Ee.useMemo((() => ({
...u,
update: O,
refs: A,
elements: P,
floatingStyles: T
})), [u, O, A, P, T])
}(e), c = Wc(), u = null != qc(), d = _c(((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((() => Bc()))[0], m = Uc(), g = Ee.useCallback((e => {
let t = js(e) ? {
getBoundingClientRect: () => e.getBoundingClientRect(),
contextElement: e
} : e;
l.refs.setReference(t)
}), [l.refs]), v = Ee.useCallback((e => {
(js(e) || null === e) && (p.current = e, o(e)), (js(l.refs.reference.current) || null === l.refs.reference.current || null !== e && !js(e)) && l.refs.setReference(e)
}), [l.refs]), y = Ee.useMemo((() => ({
...l.refs,
setReference: v,
setPositionReference: g,
domReference: p
})), [l.refs, v, g]), _ = Ee.useMemo((() => ({
...l.elements,
domReference: s
})), [l.elements, s]), b = Ee.useMemo((() => ({
...l,
refs: y,
elements: _,
dataRef: h,
nodeId: i,
floatingId: m,
events: f,
open: n,
onOpenChange: d
})), [l, i, m, f, n, d, y, _]);
return Tc((() => {
let e = null == c ? void 0 : c.nodesRef.current.find((e => e.id === i));
e && (e.context = b)
})), Ee.useMemo((() => ({
...l,
context: b,
refs: y,
elements: _
})), [l, y, _, b])
}
function Au(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, i] = t;
var a;
0 === n.indexOf("on") ? (r.has(n) || r.set(n, []), "function" == typeof i && (null == (a = r.get(n)) || a.push(i), e[n] = function() {
for (var e, t = arguments.length, i = Array(t), a = 0; a < t; a++) i[a] = arguments[a];
return null == (e = r.get(n)) ? void 0 : e.map((e => e(...i))).find((e => void 0 !== e))
})) : e[n] = i
})), e)), {})
}
}
function Pu(e) {
void 0 === e && (e = []);
let t = e,
n = Ee.useCallback((t => Au(t, e, "reference")), t),
r = Ee.useCallback((t => Au(t, e, "floating")), t),
i = Ee.useCallback((t => Au(t, e, "item")), e.map((e => null == e ? void 0 : e.item)));
return Ee.useMemo((() => ({
getReferenceProps: n,
getFloatingProps: r,
getItemProps: i
})), [n, r, i])
}
let Tu = !1;
function Ru(e, t, n) {
switch (e) {
case "vertical":
return t;
case "horizontal":
return n;
default:
return t || n
}
}
function Du(e, t) {
return Ru(t, e === bc || e === xc, e === wc || e === kc)
}
function Lu(e, t, n) {
return Ru(t, e === xc, n ? e === wc : e === kc) || "Enter" === e || " " == e || "" === e
}
function Nu(e, t, n) {
return Ru(t, n ? e === kc : e === wc, e === bc)
}
function ju(e, t) {
let {
open: n,
onOpenChange: r,
refs: i,
elements: {
domReference: a,
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: y = !0,
openOnArrowKeyDown: _ = !0,
disabledIndices: b,
orientation: x = "vertical",
cols: w = 1,
scrollItemIntoView: k = !0,
virtualItemRef: S
} = t, E = qc(), I = Wc(), O = _c(c), C = Ee.useRef(v), A = Ee.useRef(null != d ? d : -1), P = Ee.useRef(null), T = Ee.useRef(!0), R = Ee.useRef(O), D = Ee.useRef(!!o), L = Ee.useRef(!1), N = Ee.useRef(!1), j = Zc(b), M = Zc(n), F = Zc(k), [z, U] = Ee.useState(), [V, B] = Ee.useState(), G = _c((function(e, t, n) {
void 0 === n && (n = !1);
let r = e.current[t.current];
r && (g ? (U(r.id), null == I || I.events.emit("virtualfocus", r), S && (S.current = r)) : Pc(r, {
preventScroll: !0,
sync: !(!Ws() || !$s()) && (Tu || 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))
})))
}));
Tc((() => {
document.createElement("div").focus({
get preventScroll() {
return Tu = !0, !1
}
})
}), []), Tc((() => {
u && (n && o ? C.current && null != d && (N.current = !0, O(d)) : D.current && (A.current = -1, R.current(null)))
}), [u, n, o, d, O]), Tc((() => {
if (u && n && o)
if (null == l) {
if (L.current = !1, null == d && (D.current && (A.current = -1, G(s, A)), !D.current && C.current && (null != P.current || !0 === C.current && null == P.current))) {
let e = 0,
t = () => {
if (null == s.current[0]) {
if (e < 2) {
(e ? requestAnimationFrame : queueMicrotask)(t)
}
e++
} else A.current = null == P.current || Lu(P.current, x, m) || f ? Ic(s, j.current) : Oc(s, j.current), P.current = null, O(A.current)
};
t()
}
} else Ec(s, l) || (A.current = l, G(s, A, N.current), N.current = !1)
}), [u, n, o, l, d, f, s, x, m, O, G, j]), Tc((() => {
var e, t;
if (!u || o || !I || g || !D.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,
i = zs(Ks(o)),
a = n.some((e => e.context && Us(e.context.elements.floating, i)));
r && !a && T.current && r.focus({
preventScroll: !0
})
}), [u, o, I, E, g]), Tc((() => {
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]), Tc((() => {
R.current = O, D.current = !!o
})), Tc((() => {
n || (P.current = null)
}), [n]);
let $ = null != l,
q = Ee.useMemo((() => {
function e(e) {
if (!n) return;
let t = s.current.indexOf(e); - 1 !== t && O(t)
}
let t = {
onFocus(t) {
let {
currentTarget: n
} = t;
e(n)
},
onClick: e => {
let {
currentTarget: t
} = e;
return t.focus({
preventScroll: !0
})
},
...y && {
onMouseMove(t) {
let {
currentTarget: n
} = t;
e(n)
},
onPointerLeave(e) {
let {
pointerType: t
} = e;
T.current && "touch" !== t && (A.current = -1, G(s, A), O(null), g || Pc(i.floating.current, {
preventScroll: !0
}))
}
}
};
return t
}), [n, i, G, y, s, O, g]);
return Ee.useMemo((() => {
if (!u) return {};
let e = j.current;
function t(t) {
if (T.current = !1, L.current = !0, !M.current && t.currentTarget === i.floating.current) return;
if (f && Nu(t.key, x, m)) return Xs(t), r(!1, t.nativeEvent, "list-navigation"), void(Ms(a) && !g && a.focus());
let o = A.current,
l = Ic(s, e),
c = Oc(s, e);
if ("Home" === t.key && (Xs(t), A.current = l, O(A.current)), "End" === t.key && (Xs(t), A.current = c, O(A.current)), (!(w > 1) || (A.current = function(e, t) {
let {
event: n,
orientation: r,
loop: i,
cols: a,
disabledIndices: o,
minIndex: s,
maxIndex: l,
prevIndex: c,
stopEvent: u = !1
} = t, d = c;
if (n.key === bc) {
if (u && Xs(n), -1 === c) d = l;
else if (d = Cc(e, {
startingIndex: d,
amount: a,
decrement: !0,
disabledIndices: o
}), i && (c - a < s || d < 0)) {
let e = c % a,
t = l % a,
n = l - (t - e);
d = t === e ? l : t > e ? n : n - a
}
Ec(e, d) && (d = c)
}
if (n.key === xc && (u && Xs(n), -1 === c ? d = s : (d = Cc(e, {
startingIndex: c,
amount: a,
disabledIndices: o
}), i && c + a > l && (d = Cc(e, {
startingIndex: c % a - a,
amount: a,
disabledIndices: o
}))), Ec(e, d) && (d = c)), "both" === r) {
let t = Js(c / a);
n.key === kc && (u && Xs(n), c % a != a - 1 ? (d = Cc(e, {
startingIndex: c,
disabledIndices: o
}), i && Sc(d, a, t) && (d = Cc(e, {
startingIndex: c - c % a - 1,
disabledIndices: o
}))) : i && (d = Cc(e, {
startingIndex: c - c % a - 1,
disabledIndices: o
})), Sc(d, a, t) && (d = c)), n.key === wc && (u && Xs(n), c % a != 0 ? (d = Cc(e, {
startingIndex: c,
disabledIndices: o,
decrement: !0
}), i && Sc(d, a, t) && (d = Cc(e, {
startingIndex: c + (a - c % a),
decrement: !0,
disabledIndices: o
}))) : i && (d = Cc(e, {
startingIndex: c + (a - c % a),
decrement: !0,
disabledIndices: o
})), Sc(d, a, t) && (d = c));
let r = Js(l / a) === t;
Ec(e, d) && (d = i && r ? n.key === wc ? l : Cc(e, {
startingIndex: c - c % a - 1,
disabledIndices: o
}) : c)
}
return d
}(s, {
event: t,
orientation: x,
loop: h,
cols: w,
disabledIndices: e,
minIndex: l,
maxIndex: c,
prevIndex: A.current,
stopEvent: !0
}), O(A.current), "both" !== x)) && Du(t.key, x)) {
if (Xs(t), n && !g && zs(t.currentTarget.ownerDocument) === t.currentTarget) return A.current = Lu(t.key, x, m) ? l : c, void O(A.current);
Lu(t.key, x, m) ? A.current = h ? o >= c ? p && o !== s.current.length ? -1 : l : Cc(s, {
startingIndex: o,
disabledIndices: e
}) : Math.min(c, Cc(s, {
startingIndex: o,
disabledIndices: e
})) : A.current = h ? o <= l ? p && -1 !== o ? s.current.length : c : Cc(s, {
startingIndex: o,
decrement: !0,
disabledIndices: e
}) : Math.max(l, Cc(s, {
startingIndex: o,
decrement: !0,
disabledIndices: e
})), Ec(s, A.current) ? O(null) : O(A.current)
}
}
function o(e) {
"auto" === v && Bs(e.nativeEvent) && (C.current = !0)
}
let l = g && n && $ && {
"aria-activedescendant": V || z
},
c = s.current.find((e => (null == e ? void 0 : e.id) === z));
return {
reference: {
...l,
onKeyDown(i) {
var a, o, l, u, p, h;
T.current = !1;
let v = 0 === i.key.indexOf("Arrow"),
y = (a = i.key, Ru(x, m ? a === wc : a === kc, a === xc)),
b = Nu(i.key, x, m),
w = Du(i.key, x),
k = (f ? y : w) || "Enter" === i.key || "" === i.key.trim();
if (g && n) {
let e, n, r = null == I ? void 0 : I.nodesRef.current.find((e => null == e.parentId)),
a = I && r ? (o = I.nodesRef.current, l = r.id, n = -1, function t(r, i) {
i > n && (e = r, n = i), eu(o, r).forEach((e => {
t(e.id, i + 1)
}))
}(l, 0), o.find((t => t.id === e))) : null;
if (v && a && S) {
let e = new KeyboardEvent("keydown", {
key: i.key,
bubbles: !0
});
if (y || b) {
let t = (null == (u = a.context) ? void 0 : u.elements.domReference) === i.currentTarget,
n = b && !t ? null == (p = a.context) ? void 0 : p.elements.domReference : y ? c : null;
n && (Xs(i), n.dispatchEvent(e), B(void 0))
}
if (w && a.context && a.context.open && a.parentId && i.currentTarget !== a.context.elements.domReference) return Xs(i), void(null == (h = a.context.elements.domReference) || h.dispatchEvent(e))
}
return t(i)
}
if (n || _ || !v) {
if (k && (P.current = f && w ? null : i.key), f) return void(y && (Xs(i), n ? (A.current = Ic(s, e), O(A.current)) : r(!0, i.nativeEvent, "list-navigation")));
w && (null != d && (A.current = d), Xs(i), !n && _ ? r(!0, i.nativeEvent, "list-navigation") : t(i), n && O(A.current))
}
},
onFocus() {
n && O(null)
},
onPointerDown: function(e) {
C.current = v, "auto" === v && Gs(e.nativeEvent) && (C.current = !0)
},
onMouseDown: o,
onClick: o
},
floating: {
"aria-orientation": "both" === x ? void 0 : x,
...l,
onKeyDown: t,
onPointerMove() {
T.current = !0
}
},
item: q
}
}), [a, i, z, V, j, M, s, u, x, m, g, n, $, f, d, _, p, w, h, v, O, r, q, I, S])
}
function Mu(e, t) {
void 0 === t && (t = {});
let {
open: n,
floatingId: r
} = e, {
enabled: i = !0,
role: a = "dialog"
} = t, o = Uc();
return Ee.useMemo((() => {
if (!i) return {};
let e = {
id: r,
..."label" !== a && {
role: a
}
};
return "tooltip" === a || "label" === a ? {
reference: {
["aria-" + ("label" === a ? "labelledby" : "describedby")]: n ? r : void 0
},
floating: e
} : {
reference: {
"aria-expanded": n ? "true" : "false",
"aria-haspopup": "alertdialog" === a ? "dialog" : a,
"aria-controls": n ? r : void 0,
..."listbox" === a && {
role: "combobox"
},
..."menu" === a && {
id: o
}
},
floating: {
...e,
..."menu" === a && {
"aria-labelledby": o
}
}
}
}), [i, a, n, r, o])
}
function Fu(e, t) {
void 0 === t && (t = {});
let {
open: n,
elements: {
floating: r
}
} = e, {
duration: i = 250
} = t, a = ("number" == typeof i ? i : i.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, a);
return Tc((() => {
o && !u && c("unmounted")
}), [o, u]), Tc((() => {
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 zu(e, t) {
var n;
let {
open: r,
dataRef: i
} = e, {
listRef: a,
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), y = _c(s), _ = _c(l), b = Zc(u), x = Zc(p);
return Tc((() => {
r && (clearTimeout(f.current), v.current = null, m.current = "")
}), [r]), Tc((() => {
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 ? i.current.typing || (i.current.typing = e, _(e)) : i.current.typing && (i.current.typing = e, _(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 i = a.current;
if (m.current.length > 0 && " " !== m.current[0] && (-1 === t(i, i, m.current) ? e(!1) : " " === n.key && Xs(n)), null == i || x.current.includes(n.key) || 1 !== n.key.length || n.ctrlKey || n.metaKey || n.altKey) return;
r && " " !== n.key && (Xs(n), e(!0));
let o = i.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(i, [...i.slice((s || 0) + 1), ...i.slice(0, (s || 0) + 1)], m.current); - 1 !== l ? (y(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, i, a, d, x, b, y, _])
}
function Uu(e, t) {
let [n, r] = e, i = !1, a = t.length;
for (let o = 0, s = a - 1; o < a; s = o++) {
let [e, a] = t[o] || [0, 0], [l, c] = t[s] || [0, 0];
a >= r != c >= r && n <= (l - e) * (r - a) / (c - a) + e && (i = !i)
}
return i
}
let Vu = {
none: 0,
small: 8,
medium: 12,
large: 16
},
Bu = (0, Ee.forwardRef)((({
children: e,
className: t,
content: n,
interactive: r = !0,
offset: i = "medium",
placement: a = "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
} = Cu({
open: d,
onOpenChange: p,
placement: a,
whileElementsMounted: Yl,
middleware: [Zl({
element: h
}), {
name: "flip",
options: u = {
fallbackAxisSideDirection: "start",
crossAxis: a.includes("-")
},
async fn(e) {
var t, n, r, i;
let {
placement: a,
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,
...y
} = sl(u, e), _ = ll(a), b = ll(l) === l, x = await (null == c.isRTL ? void 0 : c.isRTL(d.floating)), w = f || (b || !v ? [fl(l)] : function(e) {
let t = fl(e);
return [hl(e), t, hl(t)]
}(l));
f || "none" === g || w.push(... function(e, t, n, r) {
let i = cl(e),
a = function(e, t, n) {
let r = ["left", "right"],
i = ["right", "left"];
switch (e) {
case "top":
case "bottom":
return n ? t ? i : r : t ? r : i;
case "left":
case "right":
return t ? ["top", "bottom"] : ["bottom", "top"];
default:
return []
}
}(ll(e), "start" === n, r);
return i && (a = a.map((e => e + "-" + i)), t && (a = a.concat(a.map(hl)))), a
}(l, v, g, x));
let k = [l, ...w],
S = await yl(e, y),
E = [],
I = (null == (t = o.flip) ? void 0 : t.overflows) || [];
if (p && E.push(S[_]), h) {
let e = function(e, t, n) {
void 0 === n && (n = !1);
let r = cl(e),
i = ul(pl(e)),
a = dl(i),
o = "x" === i ? r === (n ? "end" : "start") ? "right" : "left" : "start" === r ? "bottom" : "top";
return t.reference[a] > t.floating[a] && (o = fl(o)), [o, fl(o)]
}(a, s, x);
E.push(S[e[0]], S[e[1]])
}
if (I = [...I, {
placement: a,
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 == (i = 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 : i[0];
e && (s = e);
break
}
case "initialPlacement":
s = l
}
if (a !== s) return {
reset: {
placement: s
}
}
}
return {}
}
}, bl(Vu[i]), xl({
padding: Vu[i]
})],
transform: !1
}), {
getReferenceProps: y,
getFloatingProps: _
} = Pu([Ou(g), function(e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
events: i,
refs: a,
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 = Ls(s);
function t() {
!n && Ms(s) && s === zs(Ks(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 i.on("openchange", e), () => {
i.off("openchange", e)
};
function e(e) {
let {
reason: t
} = e;
("reference-press" === t || "escape-key" === t) && (u.current = !0)
}
}), [i, l]), Ee.useEffect((() => () => {
clearTimeout(d.current)
}), []), Ee.useMemo((() => l ? {
reference: {
onPointerDown(e) {
Gs(e.nativeEvent) || (p.current = !1)
},
onMouseLeave() {
u.current = !1
},
onFocus(e) {
if (u.current) return;
let t = Qs(e.nativeEvent);
if (c && js(t)) try {
if ($s() && Ws()) throw Error();
if (!t.matches(":focus-visible")) return
} catch (e) {
if (!p.current && !Zs(t)) return
}
r(!0, e.nativeEvent, "focus")
},
onBlur(e) {
u.current = !1;
let t = e.relatedTarget,
n = js(t) && t.hasAttribute(Qc("focus-guard")) && "outside" === t.getAttribute("data-type");
d.current = window.setTimeout((() => {
let i = zs(s ? s.ownerDocument : document);
if (t || i !== s) {
if (Us(a.floating.current, t) || Us(s, t) || n) return;
r(!1, e.nativeEvent, "focus")
}
}))
}
}
} : {}), [l, c, s, a, r])
}(g), function(e, t) {
void 0 === t && (t = {});
let {
open: n,
onOpenChange: r,
dataRef: i,
events: a,
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 = Wc(), g = qc(), v = Zc(d), y = Zc(u), _ = 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 = i.current.openEvent) ? void 0 : e.type;
return (null == t ? void 0 : t.includes("mouse")) && "mousedown" !== t
}), [i]);
Ee.useEffect((() => {
if (c) return a.on("openchange", e), () => {
a.off("openchange", e)
};
function e(e) {
let {
open: t
} = e;
t || (clearTimeout(b.current), clearTimeout(w.current), k.current = !0)
}
}), [c, a]), Ee.useEffect((() => {
if (!c || !v.current || !n) return;
function e(e) {
I() && r(!1, e, "hover")
}
let t = Ks(s).documentElement;
return t.addEventListener("mouseleave", e), () => {
t.removeEventListener("mouseleave", e)
}
}), [s, n, r, c, v, i, I]);
let O = Ee.useCallback((function(e, t, n) {
void 0 === t && (t = !0), void 0 === n && (n = "hover");
let i = Jc(y.current, "close", _.current);
i && !x.current ? (clearTimeout(b.current), b.current = setTimeout((() => r(!1, e, n)), i)) : t && (clearTimeout(b.current), r(!1, e, n))
}), [y, r]),
C = Ee.useCallback((() => {
E.current(), x.current = void 0
}), []),
A = Ee.useCallback((() => {
if (S.current) {
let e = Ks(l.floating.current).body;
e.style.pointerEvents = "", e.removeAttribute(Xc), S.current = !1
}
}), [l]);
return Ee.useEffect((() => {
if (c && js(o)) return n && o.addEventListener("mouseleave", u), null == s || s.addEventListener("mouseleave", u), f && o.addEventListener("mousemove", a, {
once: !0
}), o.addEventListener("mouseenter", a), o.addEventListener("mouseleave", l), () => {
n && o.removeEventListener("mouseleave", u), null == s || s.removeEventListener("mouseleave", u), f && o.removeEventListener("mousemove", a), o.removeEventListener("mouseenter", a), o.removeEventListener("mouseleave", l)
};
function t() {
return !!i.current.openEvent && ["click", "mousedown"].includes(i.current.openEvent.type)
}
function a(e) {
if (clearTimeout(b.current), k.current = !1, p && !Hs(_.current) || h > 0 && 0 === Jc(y.current, "open")) return;
let t = Jc(y.current, "open", _.current);
t ? b.current = setTimeout((() => {
r(!0, e, "hover")
}), t) : r(!0, e, "hover")
}
function l(r) {
if (t()) return;
E.current();
let i = Ks(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() {
A(), C(), O(r, !0, "safe-polygon")
}
});
let t = x.current;
return i.addEventListener("mousemove", t), void(E.current = () => {
i.removeEventListener("mousemove", t)
})
}("touch" !== _.current || !Us(s, r.relatedTarget)) && O(r)
}
function u(n) {
t() || null == v.current || v.current({
...e,
tree: m,
x: n.clientX,
y: n.clientY,
onClose() {
A(), C(), O(n)
}
})(n)
}
}), [o, s, c, e, p, h, f, O, C, A, r, n, m, y, v, i]), Tc((() => {
var e, t, r;
if (c && n && null != (e = v.current) && e.__options.blockPointerEvents && I()) {
let e = Ks(s).body;
if (e.setAttribute(Xc, ""), e.style.pointerEvents = "none", S.current = !0, js(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, i, I]), Tc((() => {
n || (_.current = void 0, C(), A())
}), [n, C, A]), Ee.useEffect((() => () => {
C(), clearTimeout(b.current), clearTimeout(w.current), A()
}), [c, o, C, A]), Ee.useMemo((() => {
if (!c) return {};
function e(e) {
_.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) {
O(e.nativeEvent, !1)
}
}
}
}), [c, h, n, r, O])
}(g, {
move: !1,
handleClose: r ? function(e) {
let t;
void 0 === e && (e = {});
let {
buffer: n = .5,
blockPointerEvents: r = !1,
requireIntent: i = !0
} = e, a = !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, y = [g, v], _ = Qs(e), b = "mouseleave" === e.type, x = Us(d.floating, _), w = Us(d.domReference, _), k = d.domReference.getBoundingClientRect(), S = d.floating.getBoundingClientRect(), E = u.split("-")[0], I = r > S.right - S.width / 2, O = c > S.bottom - S.height / 2, C = y[0] >= k.x && y[0] <= k.x + k.width && y[1] >= k.y && y[1] <= k.y + k.height, A = S.width > k.width, P = S.height > k.height, T = (A ? k : S).left, R = (A ? k : S).right, D = (P ? k : S).top, L = (P ? k : S).bottom;
if (x && (a = !0, !b)) return;
if (w && (a = !1), w && !b) return void(a = !0);
if (b && js(e.relatedTarget) && Us(d.floating, e.relatedTarget) || f && eu(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 N = [];
switch (E) {
case "top":
N = [
[T, k.top + 1],
[T, S.bottom - 1],
[R, S.bottom - 1],
[R, k.top + 1]
];
break;
case "bottom":
N = [
[T, S.top + 1],
[T, k.bottom - 1],
[R, k.bottom - 1],
[R, S.top + 1]
];
break;
case "left":
N = [
[S.right - 1, L],
[S.right - 1, D],
[k.left + 1, D],
[k.left + 1, L]
];
break;
case "right":
N = [
[k.right - 1, L],
[k.right - 1, D],
[S.left + 1, D],
[S.left + 1, L]
]
}
if (!Uu([g, v], N)) {
if (a && !C) return m();
if (!b && i) {
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 i = e - o,
a = t - s;
return o = e, s = t, l = n, Math.sqrt(i * i + a * a) / r
}(e.clientX, e.clientY);
if (null !== t && t < .1) return m()
}
Uu([g, v], function(e) {
let [t, r] = e;
switch (E) {
case "top": {
let e = [
[S.left, I || A ? S.bottom - n : S.top],
[S.right, I ? A ? S.bottom - n : S.top : S.bottom - n]
];
return [
[A ? t + n / 2 : I ? t + 4 * n : t - 4 * n, r + n + 1],
[A ? t - n / 2 : I ? t + 4 * n : t - 4 * n, r + n + 1], ...e
]
}
case "bottom": {
let e = [
[S.left, I || A ? S.top + n : S.bottom],
[S.right, I ? A ? S.top + n : S.bottom : S.top + n]
];
return [
[A ? t + n / 2 : I ? t + 4 * n : t - 4 * n, r - n],
[A ? t - n / 2 : I ? t + 4 * n : t - 4 * n, r - n], ...e
]
}
case "left":
return [...[
[O || P ? S.right - n : S.left, S.top],
[O ? P ? S.right - n : S.left : S.right - n, S.bottom]
],
[t + n + 1, P ? r + n / 2 : O ? r + 4 * n : r - 4 * n],
[t + n + 1, P ? r - n / 2 : O ? r + 4 * n : r - 4 * n]
];
case "right": {
let e = [
[O || P ? S.left + n : S.right, S.top],
[O ? P ? S.left + n : S.right : S.left + n, S.bottom]
];
return [
[t - n, P ? r + n / 2 : O ? r + 4 * n : r - 4 * n],
[t - n, P ? r - n / 2 : O ? r + 4 * n : r - 4 * n], ...e
]
}
}
}([r, c])) ? !a && i && (t = window.setTimeout(m, 40)) : m()
}
}
};
return c.__options = {
blockPointerEvents: r
}, c
}() : null
}), Mu(g, {
role: "tooltip"
})]), {
isMounted: b,
status: x
} = Fu(g), w = e.ref, k = vc([m.setReference, w, c]), {
name: S
} = os(), E = Ao("sol-c-tooltip sol-u-transition-floating", r && "sol-c-tooltip--interactive", t);
return io.jsxs(io.Fragment, {
children: [(0, Ee.cloneElement)(e, y({
ref: k
})), b && io.jsx(gu, {
children: io.jsxs(ds, {
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",
..._(l),
children: [s && io.jsx(ds, {
className: "sol-c-tooltip__title",
color: "foreground",
variant: "emphasis-s",
offset: !0,
children: s
}), n, io.jsx(Vc, {
className: "sol-c-tooltip__arrow",
context: g,
ref: h,
tipRadius: 2
})]
})
})]
})
})),
Gu = (0, Ee.forwardRef)((({
enabled: e = !0,
children: t,
...n
}, r) => e ? io.jsx(Bu, {
ref: r,
...n,
children: t
}) : t)),
$u = Po((({
as: e = "article",
className: t,
excerpt: n,
external: r,
href: i,
icon: a,
id: o,
image: s,
label: l,
onClick: c,
overlay: u,
subtitle: d,
title: p,
isOffline: h,
...f
}, m) => {
let g = Go({
..."string" == typeof s ? {
src: s
} : s
}),
v = Go({
..."string" == typeof u ? {
src: u
} : u
}),
y = (0, Ee.useRef)(null),
_ = zo(o),
{
ref: b,
hasOverflow: x
} = Fo({
content: p
}),
w = (0, Ee.useCallback)((e => {
y.current?.click(), c?.(e)
}), [c]),
k = Ao("sol-c-card", h && "sol-c-card--offline", s && "sol-c-card--wide", t);
return io.jsxs(e, {
className: k,
"data-sol-button-group": !0,
id: o,
onClick: w,
ref: m,
...f,
children: [io.jsxs("div", {
className: "sol-c-card__wrapper",
children: [!h && io.jsxs(io.Fragment, {
children: [io.jsxs(Es, {
className: "sol-c-card__content",
gap: "150",
vertical: !0,
justify: "end",
children: [io.jsxs(Es, {
className: "sol-c-card__heading",
gap: "025",
vertical: !0,
children: [io.jsx(Gu, {
content: p,
placement: "right",
interactive: !1,
enabled: x,
children: io.jsx(ds, {
className: "sol-c-card__title",
color: "foreground",
ref: b,
variant: "heading-xs",
truncate: 3,
children: io.jsx(ss, {
"aria-describedby": l ? _ + "-button" : void 0,
className: "sol-c-card__link",
external: r,
href: i,
ref: y,
children: p
})
})
}), d && io.jsx(ds, {
className: "sol-c-card__subtitle",
color: "foreground-weak",
variant: "body-xxs",
children: d
})]
}), n && io.jsx(ds, {
className: "sol-c-card__excerpt",
color: "foreground-weak",
variant: "body-xs",
truncate: 5,
children: n
}), l && io.jsx(gs, {
"aria-hidden": "true",
className: "sol-c-card__button",
controlled: !0,
decorative: !0,
icon: r ? _o : a,
id: _ + "-button",
size: "small",
variant: "plain",
children: l
})]
}), s && io.jsx("div", {
className: "sol-c-card__media",
children: io.jsx("img", {
className: Ao("sol-c-card__image", g === Vo && "sol-c-card__image--loaded"),
..."string" == typeof s ? {
src: s
} : s,
alt: ""
})
})]
}), h && io.jsx(us, {
source: Rs,
className: "sol-c-card__offline-icon"
})]
}), s && u && !h && io.jsx("div", {
"aria-hidden": "true",
className: "sol-c-card__overlay",
children: io.jsx("img", {
className: Ao("sol-c-card__image", v === Vo && "sol-c-card__image--loaded"),
..."string" == typeof u ? {
src: u
} : u,
alt: ""
})
})]
})
}));
eo('@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}}'), eo("@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 qu = Po((({
children: e,
className: t,
icon: n = mo,
type: r = "informative",
...i
}, a) => {
let o = Ao("sol-c-inline-message", `sol-u-color-status-${r}`, t);
return io.jsxs(Es, {
className: o,
gap: "050",
ref: a,
...i,
children: [n && io.jsx(us, {
className: "sol-c-inline-message__icon",
source: n
}), io.jsx(ds, {
variant: "body-xs",
children: e
})]
})
})),
Wu = (0, Ee.createContext)(null),
Hu = e => (0, Ee.useContext)(Wu)?.getProps(e) ?? e;
eo("@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 Ku = (0, Ee.createContext)(null),
Yu = () => {
let e = (0, Ee.useContext)(Ku);
if (!e) throw Error("FieldGroup components must be wrapped in <FieldGroup />");
return e
},
Qu = (0, Ee.forwardRef)((({
className: e,
id: t,
...n
}, r) => {
let i = zo(t),
{
registerMessage: a,
unregisterMessage: o
} = Yu();
(0, Ee.useLayoutEffect)((() => (a(i), () => o(i))), [i, a, o]);
let s = Ao("sol-c-choice-group__help", e);
return io.jsx(ds, {
className: s,
color: "foreground-weak",
id: i,
ref: r,
variant: "body-xs",
...n
})
})),
Zu = (0, Ee.forwardRef)((({
className: e,
id: t,
...n
}, r) => {
let i = zo(t),
{
registerMessage: a,
unregisterMessage: o
} = Yu();
(0, Ee.useLayoutEffect)((() => (a(i), () => o(i))), [i, a, o]);
let s = Ao("sol-c-choice-group__feedback", e);
return io.jsx(qu, {
"aria-live": "polite",
className: s,
id: i,
ref: r,
type: "negative",
...n
})
})),
Xu = (0, Ee.forwardRef)((({
className: e,
...t
}, n) => io.jsx(Es, {
className: Ao("sol-c-field-group__messages", e),
gap: "100",
ref: n,
vertical: !0,
...t
}))),
Ju = (0, Ee.forwardRef)((({
"aria-describedby": e,
"aria-labelledby": t,
children: n,
className: r,
description: i,
error: a,
information: o,
help: s,
id: l,
title: c,
gap: u = "100",
...d
}, p) => {
let h = zo(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 = Ao("sol-c-field-group", r),
v = (0, Ee.useMemo)((() => {
let t = e ? [e] : [];
return i && t.push(`${h}-description`), m && t.push(...m), t.join(" ")
}), [e, i, m, h]),
y = (0, Ee.useMemo)((() => {
let e = t ? [t] : [];
return c && e.push(`${h}-title`), e.join(" ")
}), [t, h, c]);
return io.jsx(Ku.Provider, {
value: f,
children: io.jsxs(Es, {
align: "start",
"aria-describedby": v,
"aria-labelledby": y,
className: g,
gap: u,
id: h,
ref: p,
role: "group",
vertical: !0,
...d,
children: [(c || i) && io.jsxs(Es, {
className: "sol-c-field-group__header",
gap: "050",
vertical: !0,
children: [c && io.jsx(ds, {
className: "sol-c-field-group__title",
color: "foreground",
id: h + "-title",
variant: "emphasis-s",
children: c
}), i && io.jsx(ds, {
className: "sol-c-field-group__description",
color: "foreground-weak",
id: h + "-description",
variant: "body-m",
children: i
})]
}), n, (a || o || s) && io.jsxs(Xu, {
children: [a && io.jsx(Zu, {
children: a
}), o && io.jsx(Zu, {
type: "informative",
children: o
}), s && io.jsx(Qu, {
children: s
})]
})]
})
})
})),
ed = Po((({
as: e = "div",
className: t,
disabled: n,
required: r,
children: i,
visuallyHiddenLabel: a,
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: y = "checkbox",
inputProps: _ = {},
inputRef: b,
...x
}, w) => {
let k = Ao("sol-c-choice", n && "sol-c-choice--disabled", `sol-c-choice--${y}`, t),
S = (0, Ee.useMemo)((() => io.jsxs(ds, {
as: "span",
className: "sol-c-choice__label",
color: "foreground",
variant: "label-m",
visuallyHidden: a,
children: [i, r && io.jsx("span", {
"aria-hidden": "true",
children: "*"
})]
})), [i, r, a]),
E = !!c && "checkbox" === y,
I = (0, Ee.useRef)(null),
O = (0, Ee.useMemo)((() => v ? io.jsx(qu, {
className: "sol-c-choice__feedback",
type: "negative",
children: v
}) : m ? io.jsx(qu, {
className: "sol-c-choice__feedback",
icon: co,
type: "positive",
children: m
}) : g ? io.jsx(qu, {
className: "sol-c-choice__feedback",
icon: Co,
type: "notice",
children: g
}) : null), [v, m, g]);
return (0, Ee.useLayoutEffect)((() => {
I.current && (I.current.indeterminate = E)
}), [E]), io.jsxs(e, {
className: k,
ref: w,
...x,
children: [io.jsxs("label", {
className: "sol-c-choice__wrapper",
children: [(0, Ee.createElement)("input", Hu(Ro(_, {
"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: To(I, b),
role: "toggle" === y ? "switch" : void 0,
type: "toggle" === y ? "checkbox" : y,
value: d
}))), "radio" !== y && io.jsx(uo, {
className: "sol-c-choice__icon sol-c-choice__icon--check"
}), "checkbox" === y && io.jsx(xo, {
className: "sol-c-choice__icon sol-c-choice__icon--indeterminate"
}), "toggle" === y && io.jsx(ho, {
className: "sol-c-choice__icon sol-c-choice__icon--cross"
}), o ? io.jsxs(Es, {
vertical: !0,
children: [S, io.jsx(ds, {
as: "span",
className: "sol-c-choice__description",
color: "foreground-weak",
variant: "body-xs",
children: o
})]
}) : S]
}), O]
})
})),
td = ({
condition: e,
children: t,
wrap: n
}) => e ? (0, Ee.cloneElement)(n(t)) : t;
eo('@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 nd = (0, Ee.createContext)(null),
rd = () => {
let e = (0, Ee.useContext)(nd);
if (!e) throw Error("Dialog components must be wrapped in <Dialog />");
return e
},
id = (Po((({
as: e = "p",
id: t,
onClick: n,
...r
}, i) => {
let {
setDescriptionId: a
} = rd(), o = (0, Ee.useId)();
return No((() => (a(t ?? o), () => a(void 0))), [t, o, a]), io.jsx(e, {
id: t ?? o,
ref: i,
...r
})
})), ({
actions: e,
children: t,
onScrollToEnd: n,
type: r
}) => {
let {
setIsOpen: i
} = rd(), {
ref: a,
blockStart: o,
blockEnd: s,
once: {
blockEnd: l
}
} = ns({
onScroll({
blockEnd: e
}) {
e && n && n()
}
}), c = (0, Ee.useCallback)((({
close: e,
onClick: t
}) => n => {
n.stopPropagation(), e && i(!1), t && t(n)
}), [i]), u = (0, Ee.useCallback)((() => i(!1)), [i]);
return io.jsxs(io.Fragment, {
children: [t && io.jsx("div", {
className: "sol-c-dialog__wrapper",
"data-sol-scroll-start": o,
"data-sol-scroll-end": s,
children: io.jsx(ds, {
className: "sol-c-dialog__content",
color: "foreground-weak",
multiline: !0,
ref: a,
children: "function" == typeof t ? t({
close: u
}) : t
})
}), e && io.jsx(Es, {
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: i,
onClick: a,
...o
}, s, u) => io.jsx(gs, {
className: Ao("sol-c-dialog__action", e),
color: r,
disabled: n && !l,
onClick: c({
close: t,
onClick: a
}),
size: "medium",
variant: s === u.length - 1 ? "default" : "monochrome",
...o,
children: i
}, s)))
})]
})
}),
ad = (0, Ee.forwardRef)((({
actions: e,
alert: t,
children: n,
className: r,
close: i = true,
defaultOpen: a,
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 [i, a] = (0, Ee.useState)(t), [o, s] = (0, Ee.useState)(), l = n ?? i, c = r ?? a, u = Hc(), d = Cu({
open: l,
onOpenChange: c,
nodeId: u
}), {
context: p
} = d, h = Pu([ku(p), Ou(p, {
bubbles: !1,
enabled: !e
}), Mu(p, {
role: e ? "alertdialog" : "dialog"
})]), f = Fu(p);
return No((() => (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: a,
open: o,
onOpenChange: l
}),
{
refs: v,
context: y,
getReferenceProps: _,
getFloatingProps: b,
isMounted: x,
isOpen: w,
setIsOpen: k,
status: S,
descriptionId: E,
nodeId: I
} = g,
O = vc([v.setReference, ...d ? [d.ref] : [], f]),
{
name: C
} = os(),
A = Ao("sol-c-dialog", e && "sol-c-dialog--has-actions", c && "sol-c-dialog--overlay", r);
return io.jsx(nd.Provider, {
value: g,
children: io.jsxs(Kc, {
id: I,
children: [d && (0, Ee.cloneElement)("function" == typeof d ? d({
isOpen: w
}) : d, _({
ref: O
})), x && io.jsx(gu, {
children: io.jsx(xu, {
className: A,
"data-sol-status": S,
"data-sol-theme": C,
lockScroll: !0,
style: {
overflow: "hidden"
},
children: io.jsx(_u, {
context: y,
children: io.jsxs("div", {
"aria-labelledby": u ? m : void 0,
"aria-describedby": E,
className: "sol-c-dialog__element",
ref: v.setFloating,
...b(h),
children: [(i || u) && io.jsxs(Es, {
className: "sol-c-dialog__header",
gap: "100",
children: [u && io.jsx(ds, {
className: "sol-c-dialog__title",
color: "foreground",
id: m,
offset: !0,
variant: "heading-xs",
children: u
}), i && io.jsx(gs, {
"aria-label": "string" == typeof i ? i : "Close",
className: "sol-c-dialog__close sol-c-dialog__close--wide-click",
icon: ho,
onClick: () => k(!1),
size: "small",
variant: "monochrome"
})]
}), io.jsx(id, {
actions: e,
onScrollToEnd: s,
type: p,
children: n
})]
})
})
})
})]
})
})
})),
od = (0, Ee.forwardRef)(((e, t) => null == qc() ? io.jsx(Yc, {
children: io.jsx(ad, {
ref: t,
...e
})
}) : io.jsx(ad, {
ref: t,
...e
})));
eo("@layer sol.components{.sol-c-divider{block-size:0;border-block-start-width:var(--sol-border-1);color:var(--sol-color-surface-3)}}");
let sd = (0, Ee.forwardRef)((({
className: e,
color: t,
spacing: n,
...r
}, i) => {
let a = Ao("sol-c-divider", t && `sol-u-color-${t}`, n && `sol-u-margin-b-${n}`, e);
return io.jsx("hr", {
className: a,
ref: i,
...r
})
}));
eo('@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)}}'), eo('@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 ld = (0, Ee.forwardRef)((({
className: e,
disabled: t,
max: n = 100,
value: r,
status: i,
...a
}, o) => {
let s = Ao("sol-c-progress", t && "sol-c-progress--disabled", i && `sol-u-color-status-${i}`, e);
return io.jsx("progress", {
className: s,
max: n,
ref: o,
value: r,
...a
})
})),
cd = Po((({
actions: e,
as: t = "div",
state: n = "in-progress",
className: r,
id: i,
progress: a,
stats: o,
subtitle: s,
title: l,
isDraggable: c,
...u
}, d) => {
let p = zo(i),
h = Ao("sol-c-download-progress", c && "sol-c-download-progress--draggable", r),
f = "completed" === n,
m = "error" === n,
g = l || s,
v = o && 0 !== o.length,
y = e && 0 !== e.length,
_ = [l && p + "-title", s && p + "-subtitle"].filter(Boolean).join(" ");
return io.jsxs(t, {
className: h,
id: p,
ref: d,
...u,
children: [c && io.jsx(fo, {
className: "sol-c-download-progress__drag-handle"
}), g && io.jsxs(Es, {
className: "sol-c-download-progress__header",
gap: "050",
justify: "space-between",
children: [l && io.jsx(ds, {
color: "foreground-weak",
className: "sol-c-download-progress__title",
id: p + "-title",
variant: "body-s",
truncate: !0,
children: l
}), s && io.jsx(ds, {
color: "foreground-weak",
className: "sol-c-download-progress__subtitle",
id: p + "-subtitle",
variant: "body-s",
truncate: !0,
children: s
})]
}), io.jsx(ld, {
"aria-labelledby": _,
className: Ao("sol-c-download-progress__bar", (y || g) && "sol-u-margin-bs-050", (y || v) && "sol-u-margin-be-050"),
disabled: "paused" === n,
value: f || m ? 100 : "waiting" === n ? 0 : a,
status: f ? "positive" : m ? "negative" : void 0
}), v && io.jsx(Es, {
as: "ul",
className: "sol-c-download-progress__stats",
gap: "050",
children: o.map((({
fill: e,
label: t,
value: n
}, r) => io.jsxs(ds, {
as: "li",
className: Ao("sol-c-download-progress__stat", e && "sol-c-download-progress__stat--fill"),
color: "foreground-weak",
variant: "body-xxs",
truncate: !0,
children: [io.jsx("strong", {
className: "sol-c-download-progress__label",
children: t
}), ": ", n]
}, r)))
}), y && io.jsx(Es, {
gap: "050",
className: "sol-c-download-progress__actions",
children: e.map((({
className: e,
label: t,
tooltip: n,
...r
}, i) => io.jsx(Gu, {
content: n,
enabled: !!n,
interactive: !1,
children: io.jsx(gs, {
"aria-label": t,
className: Ao("sol-c-download-progress__action", e),
size: "small",
variant: "plain",
...r
})
}, i)))
})]
})
}));
eo("@layer components{.sol-c-download-progress-group .sol-c-download-progress--draggable:not(:first-child){margin-block-start:var(--sol-size-100)}}");
var ud = {
exports: {}
};
function dd(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 pd(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? dd(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)) : dd(Object(n)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}))
}
return e
}
function hd(e) {
return (hd = "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 fd() {
return (fd = 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 md(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 gd(e) {
if ("undefined" != typeof window && window.navigator) return !!navigator.userAgent.match(e)
}
var vd = gd(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),
yd = gd(/Edge/i),
_d = gd(/firefox/i),
bd = gd(/safari/i) && !gd(/chrome/i) && !gd(/android/i),
xd = gd(/iP(ad|od|hone)/i),
wd = gd(/chrome/i) && gd(/android/i),
kd = {
capture: !1,
passive: !1
};
function Sd(e, t, n) {
e.addEventListener(t, n, !vd && kd)
}
function Ed(e, t, n) {
e.removeEventListener(t, n, !vd && kd)
}
function Id(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 Od(e) {
return e.host && e !== document && e.host.nodeType ? e.host : e.parentNode
}
function Cd(e, t, n, r) {
if (e) {
n = n || document;
do {
if (null != t && (">" === t[0] ? e.parentNode === n && Id(e, t) : Id(e, t)) || r && e === n) return e;
if (e === n) break
} while (e = Od(e))
}
return null
}
var Ad = /\s+/g;
function Pd(e, t, n) {
if (e && t)
if (e.classList) e.classList[n ? "add" : "remove"](t);
else {
var r = (" " + e.className + " ").replace(Ad, " ").replace(" " + t + " ", " ");
e.className = (r + (n ? " " + t : "")).replace(Ad, " ")
}
}
function Td(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 Rd(e, t) {
var n = "";
if ("string" == typeof e) n = e;
else
do {
var r = Td(e, "transform");
r && "none" !== r && (n = r + " " + n)
} while (!t && (e = e.parentNode));
var i = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
return i && new i(n)
}
function Dd(e, t, n) {
if (e) {
var r = e.getElementsByTagName(t),
i = 0,
a = r.length;
if (n)
for (; i < a; i++) n(r[i], i);
return r
}
return []
}
function Ld() {
return document.scrollingElement || document.documentElement
}
function Nd(e, t, n, r, i) {
if (e.getBoundingClientRect || e === window) {
if (e !== window && e.parentNode && e !== Ld() ? (o = (a = e.getBoundingClientRect()).top, s = a.left, l = a.bottom, c = a.right, u = a.height, d = a.width) : (o = 0, s = 0, l = window.innerHeight, c = window.innerWidth, u = window.innerHeight, d = window.innerWidth), (t || n) && e !== window && (i = i || e.parentNode, !vd))
do {
if (i && i.getBoundingClientRect && ("none" !== Td(i, "transform") || n && "static" !== Td(i, "position"))) {
var a, o, s, l, c, u, d, p = i.getBoundingClientRect();
o -= p.top + parseInt(Td(i, "border-top-width")), s -= p.left + parseInt(Td(i, "border-left-width")), l = o + a.height, c = s + a.width;
break
}
} while (i = i.parentNode);
if (r && e !== window) {
var h = Rd(i || 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 jd(e, t, n) {
for (var r = Vd(e, !0), i = Nd(e)[t]; r;) {
var a = Nd(r)[n];
if (!("top" === n || "left" === n ? i >= a : i <= a)) return r;
if (r === Ld()) break;
r = Vd(r, !1)
}
return !1
}
function Md(e, t, n, r) {
for (var i = 0, a = 0, o = e.children; a < o.length;) {
if ("none" !== o[a].style.display && o[a] !== th.ghost && (r || o[a] !== th.dragged) && Cd(o[a], n.draggable, e, !1)) {
if (i === t) return o[a];
i++
}
a++
}
return null
}
function Fd(e, t) {
for (var n = e.lastElementChild; n && (n === th.ghost || "none" === Td(n, "display") || t && !Id(n, t));) n = n.previousElementSibling;
return n || null
}
function zd(e, t) {
var n = 0;
if (!e || !e.parentNode) return -1;
for (; e = e.previousElementSibling;) "TEMPLATE" !== e.nodeName.toUpperCase() && e !== th.clone && (!t || Id(e, t)) && n++;
return n
}
function Ud(e) {
var t = 0,
n = 0,
r = Ld();
if (e)
do {
var i = Rd(e),
a = i.a,
o = i.d;
t += e.scrollLeft * a, n += e.scrollTop * o
} while (e !== r && (e = e.parentNode));
return [t, n]
}
function Vd(e, t) {
if (!e || !e.getBoundingClientRect) return Ld();
var n = e,
r = !1;
do {
if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {
var i = Td(n);
if (n.clientWidth < n.scrollWidth && ("auto" == i.overflowX || "scroll" == i.overflowX) || n.clientHeight < n.scrollHeight && ("auto" == i.overflowY || "scroll" == i.overflowY)) {
if (!n.getBoundingClientRect || n === document.body) return Ld();
if (r || t) return n;
r = !0
}
}
} while (n = n.parentNode);
return Ld()
}
function Bd(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 Gd(e, t) {
return function() {
if (!dp) {
var n = arguments;
1 === n.length ? e.call(this, n[0]) : e.apply(this, n), dp = setTimeout((function() {
dp = void 0
}), t)
}
}
}
function $d(e, t, n) {
e.scrollLeft += t, e.scrollTop += n
}
function qd(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 Wd(e, t) {
Td(e, "position", "absolute"), Td(e, "top", t.top), Td(e, "left", t.left), Td(e, "width", t.width), Td(e, "height", t.height)
}
function Hd(e) {
Td(e, "position", ""), Td(e, "top", ""), Td(e, "left", ""), Td(e, "width", ""), Td(e, "height", "")
}
function Kd(e, t, n) {
var r = {};
return Array.from(e.children).forEach((function(i) {
if (Cd(i, t.draggable, e, !1) && !i.animated && i !== n) {
var a, o, s, l, c = Nd(i);
r.left = Math.min(null !== (a = r.left) && void 0 !== a ? a : 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 Yd = "Sortable" + (new Date).getTime(),
Qd = [],
Zd = {
initializeByDefault: !0
},
Xd = {
mount: function(e) {
for (var t in Zd) !Zd.hasOwnProperty(t) || t in e || (e[t] = Zd[t]);
Qd.forEach((function(t) {
if (t.pluginName === e.pluginName) throw "Sortable: Cannot mount plugin ".concat(e.pluginName, " more than once")
})), Qd.push(e)
},
pluginEvent: function(e, t, n) {
var r = this;
this.eventCanceled = !1, n.cancel = function() {
r.eventCanceled = !0
};
var i = e + "Global";
Qd.forEach((function(r) {
t[r.pluginName] && (t[r.pluginName][i] && t[r.pluginName][i](pd({
sortable: t
}, n)), t.options[r.pluginName] && t[r.pluginName][e] && t[r.pluginName][e](pd({
sortable: t
}, n)))
}))
},
initializePlugins: function(e, t, n, r) {
for (var i in Qd.forEach((function(r) {
var i = r.pluginName;
if (e.options[i] || r.initializeByDefault) {
var a = new r(e, t, e.options);
a.sortable = e, a.options = e.options, e[i] = a, fd(n, a.defaults)
}
})), e.options)
if (e.options.hasOwnProperty(i)) {
var a = this.modifyOption(e, i, e.options[i]);
void 0 !== a && (e.options[i] = a)
}
},
getEventProperties: function(e, t) {
var n = {};
return Qd.forEach((function(r) {
"function" == typeof r.eventProperties && fd(n, r.eventProperties.call(t[r.pluginName], e))
})), n
},
modifyOption: function(e, t, n) {
var r;
return Qd.forEach((function(i) {
e[i.pluginName] && i.optionListeners && "function" == typeof i.optionListeners[t] && (r = i.optionListeners[t].call(e[i.pluginName], n))
})), r
}
};
function Jd(e) {
var t = e.sortable,
n = e.rootEl,
r = e.name,
i = e.targetEl,
a = 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[Yd]) {
var m, g = t.options,
v = "on" + r.charAt(0).toUpperCase() + r.substr(1);
!window.CustomEvent || vd || yd ? (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 = i || n, m.clone = a, m.oldIndex = l, m.newIndex = c, m.oldDraggableIndex = u, m.newDraggableIndex = d, m.originalEvent = p, m.pullMode = h ? h.lastPutMode : void 0;
var y = pd(pd({}, f), Xd.getEventProperties(r, t));
for (var _ in y) m[_] = y[_];
n && n.dispatchEvent(m), g[v] && g[v].call(t, m)
}
}
var ep = ["evt"],
tp = function(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
r = n.evt,
i = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(n, ep);
Xd.pluginEvent.bind(th)(e, t, pd({
dragEl: pp,
parentEl: hp,
ghostEl: fp,
rootEl: mp,
nextEl: gp,
lastDownEl: vp,
cloneEl: yp,
cloneHidden: _p,
dragStarted: Rp,
putSortable: Ep,
activeSortable: th.active,
originalEvent: r,
oldIndex: bp,
oldDraggableIndex: wp,
newIndex: xp,
newDraggableIndex: kp,
hideGhostForTarget: Zp,
unhideGhostForTarget: Xp,
cloneNowHidden: function() {
_p = !0
},
cloneNowShown: function() {
_p = !1
},
dispatchSortableEvent: function(e) {
np({
sortable: t,
name: e,
originalEvent: r
})
}
}, i))
};
function np(e) {
Jd(pd({
putSortable: Ep,
cloneEl: yp,
targetEl: pp,
rootEl: mp,
oldIndex: bp,
oldDraggableIndex: wp,
newIndex: xp,
newDraggableIndex: kp
}, e))
}
var rp, ip, ap, op, sp, lp, cp, up, dp, pp, hp, fp, mp, gp, vp, yp, _p, bp, xp, wp, kp, Sp, Ep, Ip, Op, Cp, Ap, Pp, Tp, Rp, Dp, Lp, Np, jp, Mp = !1,
Fp = !1,
zp = [],
Up = !1,
Vp = !1,
Bp = [],
Gp = !1,
$p = [],
qp = "undefined" != typeof document,
Wp = yd || vd ? "cssFloat" : "float",
Hp = qp && !wd && !xd && "draggable" in document.createElement("div"),
Kp = function() {
if (qp) {
if (vd) return !1;
var e = document.createElement("x");
return e.style.cssText = "pointer-events:auto", "auto" === e.style.pointerEvents
}
}(),
Yp = function(e, t) {
var n = Td(e),
r = parseInt(n.width) - parseInt(n.paddingLeft) - parseInt(n.paddingRight) - parseInt(n.borderLeftWidth) - parseInt(n.borderRightWidth),
i = Md(e, 0, t),
a = Md(e, 1, t),
o = i && Td(i),
s = a && Td(a),
l = o && parseInt(o.marginLeft) + parseInt(o.marginRight) + Nd(i).width,
c = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + Nd(a).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 (i && o.float && "none" !== o.float) {
var u = "left" === o.float ? "left" : "right";
return !a || "both" !== s.clear && s.clear !== u ? "horizontal" : "vertical"
}
return i && ("block" === o.display || "flex" === o.display || "table" === o.display || "grid" === o.display || l >= r && "none" === n[Wp] || a && "none" === n[Wp] && l + c > r) ? "vertical" : "horizontal"
},
Qp = function(e) {
function t(e, n) {
return function(r, i, a, o) {
var s = r.options.group.name && i.options.group.name && r.options.group.name === i.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, i, a, o), n)(r, i, a, o);
var l = (n ? r : i).options.group.name;
return !0 === e || "string" == typeof e && e === l || e.join && e.indexOf(l) > -1
}
}
var n = {},
r = e.group;
r && "object" == hd(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
},
Zp = function() {
!Kp && fp && Td(fp, "display", "none")
},
Xp = function() {
!Kp && fp && Td(fp, "display", "")
};
qp && !wd && document.addEventListener("click", (function(e) {
if (Fp) return e.preventDefault(), e.stopPropagation && e.stopPropagation(), e.stopImmediatePropagation && e.stopImmediatePropagation(), Fp = !1, !1
}), !0);
var Jp = function(e) {
if (pp) {
var t = function(e, t) {
var n;
return zp.some((function(r) {
var i = r[Yd].options.emptyInsertThreshold;
if (i && !Fd(r)) {
var a = Nd(r),
o = e >= a.left - i && e <= a.right + i,
s = t >= a.top - i && t <= a.bottom + i;
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[Yd]._onDragOver(n)
}
}
},
eh = function(e) {
pp && pp.parentNode[Yd]._isOutsideThisEl(e.target)
};
function th(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 = fd({}, t), e[Yd] = this;
var n, r, i = {
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 Yp(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 !== th.supportPointer && "PointerEvent" in window && !bd,
emptyInsertThreshold: 5
};
for (var a in Xd.initializePlugins(this, e, i), i) a in t || (t[a] = i[a]);
for (var o in Qp(t), this) "_" === o.charAt(0) && "function" == typeof this[o] && (this[o] = this[o].bind(this));
this.nativeDraggable = !t.forceFallback && Hp, this.nativeDraggable && (this.options.touchStartThreshold = 1), t.supportPointer ? Sd(e, "pointerdown", this._onTapStart) : (Sd(e, "mousedown", this._onTapStart), Sd(e, "touchstart", this._onTapStart)), this.nativeDraggable && (Sd(e, "dragover", this), Sd(e, "dragenter", this)), zp.push(this.el), t.store && t.store.get && this.sort(t.store.get(this) || []), fd(this, (r = [], {
captureAnimationState: function() {
r = [], this.options.animation && [].slice.call(this.el.children).forEach((function(e) {
if ("none" !== Td(e, "display") && e !== th.ghost) {
r.push({
target: e,
rect: Nd(e)
});
var t = pd({}, r[r.length - 1].rect);
if (e.thisAnimationDuration) {
var n = Rd(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 i = !1,
a = 0;
r.forEach((function(e) {
var n, r = 0,
o = e.target,
s = o.fromRect,
l = Nd(o),
c = o.prevFromRect,
u = o.prevToRect,
d = e.rect,
p = Rd(o, !0);
p && (l.top -= p.f, l.left -= p.e), o.toRect = l, o.thisAnimationDuration && Bd(c, l) && !Bd(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), Bd(l, s) || (o.prevFromRect = s, o.prevToRect = l, r || (r = t.options.animation), t.animate(o, d, l, r)), r && (i = !0, a = Math.max(a, 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), i ? n = setTimeout((function() {
"function" == typeof e && e()
}), a) : "function" == typeof e && e(), r = []
},
animate: function(e, t, n, r) {
if (r) {
Td(e, "transition", ""), Td(e, "transform", "");
var i = Rd(this.el),
a = i && i.a,
o = i && i.d,
s = (t.left - n.left) / (a || 1),
l = (t.top - n.top) / (o || 1);
e.animatingX = !!s, e.animatingY = !!l, Td(e, "transform", "translate3d(" + s + "px," + l + "px,0)"), this.forRepaintDummy = e.offsetWidth, Td(e, "transition", "transform " + r + "ms" + (this.options.easing ? " " + this.options.easing : "")), Td(e, "transform", "translate3d(0,0,0)"), "number" == typeof e.animated && clearTimeout(e.animated), e.animated = setTimeout((function() {
Td(e, "transition", ""), Td(e, "transform", ""), e.animated = !1, e.animatingX = !1, e.animatingY = !1
}), r)
}
}
}))
}
function nh(e, t, n, r, i, a, o, s) {
var l, c, u = e[Yd],
d = u.options.onMove;
return !window.CustomEvent || vd || yd ? (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 = i || t, l.relatedRect = a || Nd(t), l.willInsertAfter = s, l.originalEvent = o, e.dispatchEvent(l), d && (c = d.call(u, l, o)), c
}
function rh(e) {
e.draggable = !1
}
function ih() {
Gp = !1
}
function ah(e) {
return setTimeout(e, 0)
}
function oh(e) {
return clearTimeout(e)
}
th.prototype = {
constructor: th,
_isOutsideThisEl: function(e) {
this.el.contains(e) || e === this.el || (Dp = null)
},
_getDirection: function(e, t) {
return "function" == typeof this.options.direction ? this.options.direction.call(this, e, t, pp) : this.options.direction
},
_onTapStart: function(e) {
if (e.cancelable) {
var t = this,
n = this.el,
r = this.options,
i = r.preventOnFilter,
a = 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) {
$p.length = 0;
for (var t = e.getElementsByTagName("input"), n = t.length; n--;) {
var r = t[n];
r.checked && $p.push(r)
}
}(n), !(pp || /mousedown|pointerdown/.test(a) && 0 !== e.button || r.disabled || l.isContentEditable || !this.nativeDraggable && bd && s && "SELECT" === s.tagName.toUpperCase() || (s = Cd(s, r.draggable, n, !1)) && s.animated) && vp !== s) {
if (bp = zd(s), wp = zd(s, r.draggable), "function" == typeof c) {
if (c.call(this, e, s, this)) return np({
sortable: t,
rootEl: l,
name: "filter",
targetEl: s,
toEl: n,
fromEl: n
}), tp("filter", t, {
evt: e
}), void(i && e.cancelable && e.preventDefault())
} else if (c && (c = c.split(",").some((function(r) {
if (r = Cd(l, r.trim(), n, !1)) return np({
sortable: t,
rootEl: r,
name: "filter",
targetEl: s,
fromEl: n,
toEl: n
}), tp("filter", t, {
evt: e
}), !0
})))) return void(i && e.cancelable && e.preventDefault());
(!r.handle || Cd(l, r.handle, n, !1)) && this._prepareDragStart(e, o, s)
}
}
},
_prepareDragStart: function(e, t, n) {
var r, i = this,
a = i.el,
o = i.options,
s = a.ownerDocument;
if (n && !pp && n.parentNode === a) {
var l = Nd(n);
if (mp = a, hp = (pp = n).parentNode, gp = pp.nextSibling, vp = n, Sp = o.group, th.dragged = pp, Pp = (Ip = {
target: pp,
clientX: (t || e).clientX,
clientY: (t || e).clientY
}).clientX - l.left, Tp = Ip.clientY - l.top, this._lastX = (t || e).clientX, this._lastY = (t || e).clientY, pp.style["will-change"] = "all", r = function() {
tp("delayEnded", i, {
evt: e
}), th.eventCanceled ? i._onDrop() : (i._disableDelayedDragEvents(), !_d && i.nativeDraggable && (pp.draggable = !0), i._triggerDragStart(e, t), np({
sortable: i,
name: "choose",
originalEvent: e
}), Pd(pp, o.chosenClass, !0))
}, o.ignore.split(",").forEach((function(e) {
Dd(pp, e.trim(), rh)
})), Sd(s, "dragover", Jp), Sd(s, "mousemove", Jp), Sd(s, "touchmove", Jp), Sd(s, "mouseup", i._onDrop), Sd(s, "touchend", i._onDrop), Sd(s, "touchcancel", i._onDrop), _d && this.nativeDraggable && (this.options.touchStartThreshold = 4, pp.draggable = !0), tp("delayStart", this, {
evt: e
}), !o.delay || o.delayOnTouchOnly && !t || this.nativeDraggable && (yd || vd)) r();
else {
if (th.eventCanceled) return void this._onDrop();
Sd(s, "mouseup", i._disableDelayedDrag), Sd(s, "touchend", i._disableDelayedDrag), Sd(s, "touchcancel", i._disableDelayedDrag), Sd(s, "mousemove", i._delayedDragTouchMoveHandler), Sd(s, "touchmove", i._delayedDragTouchMoveHandler), o.supportPointer && Sd(s, "pointermove", i._delayedDragTouchMoveHandler), i._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() {
pp && rh(pp), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents()
},
_disableDelayedDragEvents: function() {
var e = this.el.ownerDocument;
Ed(e, "mouseup", this._disableDelayedDrag), Ed(e, "touchend", this._disableDelayedDrag), Ed(e, "touchcancel", this._disableDelayedDrag), Ed(e, "mousemove", this._delayedDragTouchMoveHandler), Ed(e, "touchmove", this._delayedDragTouchMoveHandler), Ed(e, "pointermove", this._delayedDragTouchMoveHandler)
},
_triggerDragStart: function(e, t) {
t = t || "touch" == e.pointerType && e, !this.nativeDraggable || t ? this.options.supportPointer ? Sd(document, "pointermove", this._onTouchMove) : Sd(document, t ? "touchmove" : "mousemove", this._onTouchMove) : (Sd(pp, "dragend", this), Sd(mp, "dragstart", this._onDragStart));
try {
document.selection ? ah((function() {
document.selection.empty()
})) : window.getSelection().removeAllRanges()
} catch (e) {}
},
_dragStarted: function(e, t) {
if (Mp = !1, mp && pp) {
tp("dragStarted", this, {
evt: t
}), this.nativeDraggable && Sd(document, "dragover", eh);
var n = this.options;
e || Pd(pp, n.dragClass, !1), Pd(pp, n.ghostClass, !0), th.active = this, e && this._appendGhost(), np({
sortable: this,
name: "start",
originalEvent: t
})
} else this._nulling()
},
_emulateDragOver: function() {
if (Op) {
this._lastX = Op.clientX, this._lastY = Op.clientY, Zp();
for (var e = document.elementFromPoint(Op.clientX, Op.clientY), t = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(Op.clientX, Op.clientY)) !== t;) t = e;
if (pp.parentNode[Yd]._isOutsideThisEl(e), t)
do {
if (t[Yd] && t[Yd]._onDragOver({
clientX: Op.clientX,
clientY: Op.clientY,
target: e,
rootEl: t
}) && !this.options.dragoverBubble) break;
e = t
} while (t = Od(t));
Xp()
}
},
_onTouchMove: function(e) {
if (Ip) {
var t = this.options,
n = t.fallbackTolerance,
r = t.fallbackOffset,
i = e.touches ? e.touches[0] : e,
a = fp && Rd(fp, !0),
o = fp && a && a.a,
s = fp && a && a.d,
l = xd && jp && Ud(jp),
c = (i.clientX - Ip.clientX + r.x) / (o || 1) + (l ? l[0] - Bp[0] : 0) / (o || 1),
u = (i.clientY - Ip.clientY + r.y) / (s || 1) + (l ? l[1] - Bp[1] : 0) / (s || 1);
if (!th.active && !Mp) {
if (n && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < n) return;
this._onDragStart(e, !0)
}
if (fp) {
a ? (a.e += c - (Cp || 0), a.f += u - (Ap || 0)) : a = {
a: 1,
b: 0,
c: 0,
d: 1,
e: c,
f: u
};
var d = "matrix(".concat(a.a, ",").concat(a.b, ",").concat(a.c, ",").concat(a.d, ",").concat(a.e, ",").concat(a.f, ")");
Td(fp, "webkitTransform", d), Td(fp, "mozTransform", d), Td(fp, "msTransform", d), Td(fp, "transform", d), Cp = c, Ap = u, Op = i
}
e.cancelable && e.preventDefault()
}
},
_appendGhost: function() {
if (!fp) {
var e = this.options.fallbackOnBody ? document.body : mp,
t = Nd(pp, !0, xd, !0, e),
n = this.options;
if (xd) {
for (jp = e;
"static" === Td(jp, "position") && "none" === Td(jp, "transform") && jp !== document;) jp = jp.parentNode;
jp !== document.body && jp !== document.documentElement ? (jp === document && (jp = Ld()), t.top += jp.scrollTop, t.left += jp.scrollLeft) : jp = Ld(), Bp = Ud(jp)
}
Pd(fp = pp.cloneNode(!0), n.ghostClass, !1), Pd(fp, n.fallbackClass, !0), Pd(fp, n.dragClass, !0), Td(fp, "transition", ""), Td(fp, "transform", ""), Td(fp, "box-sizing", "border-box"), Td(fp, "margin", 0), Td(fp, "top", t.top), Td(fp, "left", t.left), Td(fp, "width", t.width), Td(fp, "height", t.height), Td(fp, "opacity", "0.8"), Td(fp, "position", xd ? "absolute" : "fixed"), Td(fp, "zIndex", "100000"), Td(fp, "pointerEvents", "none"), th.ghost = fp, e.appendChild(fp), Td(fp, "transform-origin", Pp / parseInt(fp.style.width) * 100 + "% " + Tp / parseInt(fp.style.height) * 100 + "%")
}
},
_onDragStart: function(e, t) {
var n = this,
r = e.dataTransfer,
i = n.options;
tp("dragStart", this, {
evt: e
}), th.eventCanceled ? this._onDrop() : (tp("setupClone", this), th.eventCanceled || ((yp = qd(pp)).removeAttribute("id"), yp.draggable = !1, yp.style["will-change"] = "", this._hideClone(), Pd(yp, this.options.chosenClass, !1), th.clone = yp), n.cloneId = ah((function() {
tp("clone", n), th.eventCanceled || (n.options.removeCloneOnHide || mp.insertBefore(yp, pp), n._hideClone(), np({
sortable: n,
name: "clone"
}))
})), t || Pd(pp, i.dragClass, !0), t ? (Fp = !0, n._loopId = setInterval(n._emulateDragOver, 50)) : (Ed(document, "mouseup", n._onDrop), Ed(document, "touchend", n._onDrop), Ed(document, "touchcancel", n._onDrop), r && (r.effectAllowed = "move", i.setData && i.setData.call(n, r, pp)), Sd(document, "drop", n), Td(pp, "transform", "translateZ(0)")), Mp = !0, n._dragStartId = ah(n._dragStarted.bind(n, t, e)), Sd(document, "selectstart", n), Rp = !0, bd && Td(document.body, "user-select", "none"))
},
_onDragOver: function(e) {
var t, n, r, i, a = this.el,
o = e.target,
s = this.options,
l = s.group,
c = th.active,
u = Sp === l,
d = s.sort,
p = Ep || c,
h = this,
f = !1;
if (!Gp) {
if (void 0 !== e.preventDefault && e.cancelable && e.preventDefault(), o = Cd(o, s.draggable, a, !0), N("dragOver"), th.eventCanceled) return f;
if (pp.contains(e.target) || o.animated && o.animatingX && o.animatingY || h._ignoreWhileAnimating === o) return M(!1);
if (Fp = !1, c && !s.disabled && (u ? d || (r = hp !== mp) : Ep === this || (this.lastPutMode = Sp.checkPull(this, c, pp, e)) && l.checkPut(this, c, pp, e))) {
if (i = "vertical" === this._getDirection(e, o), t = Nd(pp), N("dragOverValid"), th.eventCanceled) return f;
if (r) return hp = mp, j(), this._hideClone(), N("revert"), th.eventCanceled || (gp ? mp.insertBefore(pp, gp) : mp.appendChild(pp)), M(!0);
var m = Fd(a, s.draggable);
if (m && (v = i, y = Nd(Fd(this.el, this.options.draggable)), _ = Kd(this.el, this.options, fp), !(v ? e.clientX > _.right + 10 || e.clientY > y.bottom && e.clientX > y.left : e.clientY > _.bottom + 10 || e.clientX > y.right && e.clientY > y.top) || m.animated)) {
if (m && (b = i, x = Nd(Md(this.el, 0, this.options, !0)), w = Kd(this.el, this.options, fp), 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 = Md(a, 0, s, !0);
if (g === pp) return M(!1);
if (n = Nd(o = g), !1 !== nh(mp, a, pp, t, o, n, e, !1)) return j(), a.insertBefore(pp, g), hp = a, F(), M(!0)
} else if (o.parentNode === a) {
n = Nd(o);
var v, y, _, b, x, w, k, S, E, I = pp.parentNode !== a,
O = ! function(e, t, n) {
var r = n ? e.left : e.top,
i = n ? e.right : e.bottom,
a = 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 || i === s || r + a / 2 === o + l / 2
}(pp.animated && pp.toRect || t, o.animated && o.toRect || n, i),
C = i ? "top" : "left",
A = jd(o, "top", "top") || jd(pp, "top", "top"),
P = A ? A.scrollTop : void 0;
if (Dp !== o && (S = n[C], Up = !1, Vp = !O && s.invertSwap || I), 0 !== (E = function(e, t, n, r, i, a, 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 && Np < c * i) {
if (!Up && (1 === Lp ? l > u + c * a / 2 : l < d - c * a / 2) && (Up = !0), Up) p = !0;
else if (1 === Lp ? l < u + Np : l > d - Np) return -Lp
} else if (l > u + c * (1 - i) / 2 && l < d - c * (1 - i) / 2) return zd(pp) < zd(t) ? 1 : -1;
return (p = p || o) && (l < u + c * a / 2 || l > d - c * a / 2) ? l > u + c / 2 ? 1 : -1 : 0
}(e, o, n, i, O ? 1 : s.swapThreshold, null == s.invertedSwapThreshold ? s.swapThreshold : s.invertedSwapThreshold, Vp, Dp === o))) {
var T = zd(pp);
do {
T -= E, k = hp.children[T]
} while (k && ("none" === Td(k, "display") || k === fp))
}
if (0 === E || k === o) return M(!1);
Dp = o, Lp = E;
var R = o.nextElementSibling,
D = !1,
L = nh(mp, a, pp, t, o, n, e, D = 1 === E);
if (!1 !== L) return (1 === L || -1 === L) && (D = 1 === L), Gp = !0, setTimeout(ih, 30), j(), D && !R ? a.appendChild(pp) : o.parentNode.insertBefore(pp, D ? R : o), A && $d(A, 0, P - A.scrollTop), hp = pp.parentNode, void 0 === S || Vp || (Np = Math.abs(S - Nd(o)[C])), F(), M(!0)
}
} else {
if (m === pp) return M(!1);
if (m && a === e.target && (o = m), o && (n = Nd(o)), !1 !== nh(mp, a, pp, t, o, n, e, !!o)) return j(), m && m.nextSibling ? a.insertBefore(pp, m.nextSibling) : a.appendChild(pp), hp = a, F(), M(!0)
}
if (a.contains(pp)) return M(!1)
}
return !1
}
function N(s, l) {
tp(s, h, pd({
evt: e,
isOwner: u,
axis: i ? "vertical" : "horizontal",
revert: r,
dragRect: t,
targetRect: n,
canSort: d,
fromSortable: p,
target: o,
completed: M,
onMove: function(n, r) {
return nh(mp, a, pp, t, n, Nd(n), e, r)
},
changed: F
}, l))
}
function j() {
N("dragOverAnimationCapture"), h.captureAnimationState(), h !== p && p.captureAnimationState()
}
function M(t) {
return N("dragOverCompleted", {
insertion: t
}), t && (u ? c._hideClone() : c._showClone(h), h !== p && (Pd(pp, Ep ? Ep.options.ghostClass : c.options.ghostClass, !1), Pd(pp, s.ghostClass, !0)), Ep !== h && h !== th.active ? Ep = h : h === th.active && Ep && (Ep = null), p === h && (h._ignoreWhileAnimating = o), h.animateAll((function() {
N("dragOverAnimationComplete"), h._ignoreWhileAnimating = null
})), h !== p && (p.animateAll(), p._ignoreWhileAnimating = null)), (o !== pp || pp.animated) && (o !== a || o.animated) || (Dp = null), s.dragoverBubble || e.rootEl || o === document || (pp.parentNode[Yd]._isOutsideThisEl(e.target), t || Jp(e)), !s.dragoverBubble && e.stopPropagation && e.stopPropagation(), f = !0
}
function F() {
xp = zd(pp), kp = zd(pp, s.draggable), np({
sortable: h,
name: "change",
toEl: a,
newIndex: xp,
newDraggableIndex: kp,
originalEvent: e
})
}
},
_ignoreWhileAnimating: null,
_offMoveEvents: function() {
Ed(document, "mousemove", this._onTouchMove), Ed(document, "touchmove", this._onTouchMove), Ed(document, "pointermove", this._onTouchMove), Ed(document, "dragover", Jp), Ed(document, "mousemove", Jp), Ed(document, "touchmove", Jp)
},
_offUpEvents: function() {
var e = this.el.ownerDocument;
Ed(e, "mouseup", this._onDrop), Ed(e, "touchend", this._onDrop), Ed(e, "pointerup", this._onDrop), Ed(e, "touchcancel", this._onDrop), Ed(document, "selectstart", this)
},
_onDrop: function(e) {
var t = this.el,
n = this.options;
xp = zd(pp), kp = zd(pp, n.draggable), tp("drop", this, {
evt: e
}), hp = pp && pp.parentNode, xp = zd(pp), kp = zd(pp, n.draggable), th.eventCanceled || (Mp = !1, Vp = !1, Up = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), oh(this.cloneId), oh(this._dragStartId), this.nativeDraggable && (Ed(document, "drop", this), Ed(t, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), bd && Td(document.body, "user-select", ""), Td(pp, "transform", ""), e && (Rp && (e.cancelable && e.preventDefault(), n.dropBubble || e.stopPropagation()), fp && fp.parentNode && fp.parentNode.removeChild(fp), (mp === hp || Ep && "clone" !== Ep.lastPutMode) && yp && yp.parentNode && yp.parentNode.removeChild(yp), pp && (this.nativeDraggable && Ed(pp, "dragend", this), rh(pp), pp.style["will-change"] = "", Rp && !Mp && Pd(pp, Ep ? Ep.options.ghostClass : this.options.ghostClass, !1), Pd(pp, this.options.chosenClass, !1), np({
sortable: this,
name: "unchoose",
toEl: hp,
newIndex: null,
newDraggableIndex: null,
originalEvent: e
}), mp !== hp ? (xp >= 0 && (np({
rootEl: hp,
name: "add",
toEl: hp,
fromEl: mp,
originalEvent: e
}), np({
sortable: this,
name: "remove",
toEl: hp,
originalEvent: e
}), np({
rootEl: hp,
name: "sort",
toEl: hp,
fromEl: mp,
originalEvent: e
}), np({
sortable: this,
name: "sort",
toEl: hp,
originalEvent: e
})), Ep && Ep.save()) : xp !== bp && xp >= 0 && (np({
sortable: this,
name: "update",
toEl: hp,
originalEvent: e
}), np({
sortable: this,
name: "sort",
toEl: hp,
originalEvent: e
})), th.active && ((null == xp || -1 === xp) && (xp = bp, kp = wp), np({
sortable: this,
name: "end",
toEl: hp,
originalEvent: e
}), this.save())))), this._nulling()
},
_nulling: function() {
tp("nulling", this), mp = pp = hp = fp = gp = yp = vp = _p = Ip = Op = Rp = xp = kp = bp = wp = Dp = Lp = Ep = Sp = th.dragged = th.ghost = th.clone = th.active = null, $p.forEach((function(e) {
e.checked = !0
})), $p.length = Cp = Ap = 0
},
handleEvent: function(e) {
switch (e.type) {
case "drop":
case "dragend":
this._onDrop(e);
break;
case "dragenter":
case "dragover":
pp && (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, i = n.length, a = this.options; r < i; r++) Cd(e = n[r], a.draggable, this.el, !1) && t.push(e.getAttribute(a.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 i = r.children[t];
Cd(i, this.options.draggable, r, !1) && (n[e] = i)
}), 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 Cd(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 = Xd.modifyOption(this, e, t);
n[e] = void 0 !== r ? r : t, "group" === e && Qp(n)
},
destroy: function() {
tp("destroy", this);
var e = this.el;
e[Yd] = null, Ed(e, "mousedown", this._onTapStart), Ed(e, "touchstart", this._onTapStart), Ed(e, "pointerdown", this._onTapStart), this.nativeDraggable && (Ed(e, "dragover", this), Ed(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), (function(e) {
e.removeAttribute("draggable")
})), this._onDrop(), this._disableDelayedDragEvents(), zp.splice(zp.indexOf(this.el), 1), this.el = null
},
_hideClone: function() {
_p || (tp("hideClone", this), th.eventCanceled || (Td(yp, "display", "none"), this.options.removeCloneOnHide && yp.parentNode && yp.parentNode.removeChild(yp), _p = !0))
},
_showClone: function(e) {
if ("clone" === e.lastPutMode) {
if (_p) {
if (tp("showClone", this), th.eventCanceled) return;
pp.parentNode != mp || this.options.group.revertClone ? gp ? mp.insertBefore(yp, gp) : mp.appendChild(yp) : mp.insertBefore(yp, pp), this.options.group.revertClone && this.animate(pp, yp), Td(yp, "display", ""), _p = !1
}
} else this._hideClone()
}
}, qp && Sd(document, "touchmove", (function(e) {
(th.active || Mp) && e.cancelable && e.preventDefault()
})), th.utils = {
on: Sd,
off: Ed,
css: Td,
find: Dd,
is: function(e, t) {
return !!Cd(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: Gd,
closest: Cd,
toggleClass: Pd,
clone: qd,
index: zd,
nextTick: ah,
cancelNextTick: oh,
detectDirection: Yp,
getChild: Md,
expando: Yd
}, th.get = function(e) {
return e[Yd]
}, th.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 && (th.utils = pd(pd({}, th.utils), e.utils)), Xd.mount(e)
}))
}, th.create = function(e, t) {
return new th(e, t)
}, th.version = "1.15.3";
var sh, lh, ch, uh, dh, ph, hh = [],
fh = !1;
function mh() {
hh.forEach((function(e) {
clearInterval(e.pid)
})), hh = []
}
function gh() {
clearInterval(ph)
}
var vh = Gd((function(e, t, n, r) {
if (t.scroll) {
var i, a = (e.touches ? e.touches[0] : e).clientX,
o = (e.touches ? e.touches[0] : e).clientY,
s = t.scrollSensitivity,
l = t.scrollSpeed,
c = Ld(),
u = !1;
lh !== n && (lh = n, mh(), sh = t.scroll, i = t.scrollFn, !0 === sh && (sh = Vd(n, !0)));
var d = 0,
p = sh;
do {
var h = p,
f = Nd(h),
m = f.top,
g = f.bottom,
v = f.left,
y = f.right,
_ = f.width,
b = f.height,
x = void 0,
w = void 0,
k = h.scrollWidth,
S = h.scrollHeight,
E = Td(h),
I = h.scrollLeft,
O = h.scrollTop;
h === c ? (x = _ < k && ("auto" === E.overflowX || "scroll" === E.overflowX || "visible" === E.overflowX), w = b < S && ("auto" === E.overflowY || "scroll" === E.overflowY || "visible" === E.overflowY)) : (x = _ < k && ("auto" === E.overflowX || "scroll" === E.overflowX), w = b < S && ("auto" === E.overflowY || "scroll" === E.overflowY));
var C = x && (Math.abs(y - a) <= s && I + _ < k) - (Math.abs(v - a) <= s && !!I),
A = w && (Math.abs(g - o) <= s && O + b < S) - (Math.abs(m - o) <= s && !!O);
if (!hh[d])
for (var P = 0; P <= d; P++) hh[P] || (hh[P] = {});
(hh[d].vx != C || hh[d].vy != A || hh[d].el !== h) && (hh[d].el = h, hh[d].vx = C, hh[d].vy = A, clearInterval(hh[d].pid), (0 != C || 0 != A) && (u = !0, hh[d].pid = setInterval(function() {
r && 0 === this.layer && th.active._onTouchMove(dh);
var t = hh[this.layer].vy ? hh[this.layer].vy * l : 0,
n = hh[this.layer].vx ? hh[this.layer].vx * l : 0;
("function" != typeof i || "continue" === i.call(th.dragged.parentNode[Yd], n, t, e, dh, hh[this.layer].el)) && $d(hh[this.layer].el, n, t)
}.bind({
layer: d
}), 24))), d++
} while (t.bubbleScroll && p !== c && (p = Vd(p, !1)));
fh = u
}
}), 30),
yh = function(e) {
var t = e.originalEvent,
n = e.putSortable,
r = e.dragEl,
i = e.activeSortable,
a = e.dispatchSortableEvent,
o = e.hideGhostForTarget,
s = e.unhideGhostForTarget;
if (t) {
var l = n || i;
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) && (a("spill"), this.onSpill({
dragEl: r,
putSortable: n
}))
}
};
function _h() {}
function bh() {}
_h.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 = Md(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: yh
}, fd(_h, {
pluginName: "revertOnSpill"
}), bh.prototype = {
onSpill: function(e) {
var t = e.dragEl,
n = e.putSortable || this.sortable;
n.captureAnimationState(), t.parentNode && t.parentNode.removeChild(t), n.animateAll()
},
drop: yh
}, fd(bh, {
pluginName: "removeOnSpill"
});
var xh, wh, kh, Sh, Eh, Ih, Oh = [],
Ch = [],
Ah = !1,
Ph = !1,
Th = !1;
function Rh(e, t) {
Ch.forEach((function(n, r) {
var i = t.children[n.sortableIndex + (e ? Number(r) : 0)];
i ? t.insertBefore(n, i) : t.appendChild(n)
}))
}
function Dh() {
Oh.forEach((function(e) {
e !== Sh && e.parentNode && e.parentNode.removeChild(e)
}))
}
th.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 ? Sd(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? Sd(document, "pointermove", this._handleFallbackAutoScroll) : t.touches ? Sd(document, "touchmove", this._handleFallbackAutoScroll) : Sd(document, "mousemove", this._handleFallbackAutoScroll)
},
dragOverCompleted: function(e) {
var t = e.originalEvent;
this.options.dragOverBubble || t.rootEl || this._handleAutoScroll(t)
},
drop: function() {
this.sortable.nativeDraggable ? Ed(document, "dragover", this._handleAutoScroll) : (Ed(document, "pointermove", this._handleFallbackAutoScroll), Ed(document, "touchmove", this._handleFallbackAutoScroll), Ed(document, "mousemove", this._handleFallbackAutoScroll)), gh(), mh(), clearTimeout(dp), dp = void 0
},
nulling: function() {
dh = lh = sh = fh = ph = ch = uh = null, hh.length = 0
},
_handleFallbackAutoScroll: function(e) {
this._handleAutoScroll(e, !0)
},
_handleAutoScroll: function(e, t) {
var n = this,
r = (e.touches ? e.touches[0] : e).clientX,
i = (e.touches ? e.touches[0] : e).clientY,
a = document.elementFromPoint(r, i);
if (dh = e, t || this.options.forceAutoScrollFallback || yd || vd || bd) {
vh(e, this.options, a, t);
var o = Vd(a, !0);
fh && (!ph || r !== ch || i !== uh) && (ph && gh(), ph = setInterval((function() {
var a = Vd(document.elementFromPoint(r, i), !0);
a !== o && (o = a, mh()), vh(e, n.options, a, t)
}), 10), ch = r, uh = i)
} else {
if (!this.options.bubbleScroll || Vd(a, !0) === Ld()) return void mh();
vh(e, this.options, Vd(a, !1), !1)
}
}
}, fd(e, {
pluginName: "scroll",
initializeByDefault: !0
})
}), th.mount(bh, _h);
var Lh = to(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 ? Sd(document, "pointerup", this._deselectMultiDrag) : (Sd(document, "mouseup", this._deselectMultiDrag), Sd(document, "touchend", this._deselectMultiDrag))), Sd(document, "keydown", this._checkKeyDown), Sd(document, "keyup", this._checkKeyUp), this.defaults = {
selectedClass: "sortable-selected",
multiDragKey: null,
avoidImplicitDeselect: !1,
setData: function(t, n) {
var r = "";
Oh.length && kh === e ? Oh.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) {
Sh = e.dragEl
},
delayEnded: function() {
this.isMultiDrag = ~Oh.indexOf(Sh)
},
setupClone: function(e) {
var t = e.sortable,
n = e.cancel;
if (this.isMultiDrag) {
for (var r = 0; r < Oh.length; r++) Ch.push(qd(Oh[r])), Ch[r].sortableIndex = Oh[r].sortableIndex, Ch[r].draggable = !1, Ch[r].style["will-change"] = "", Pd(Ch[r], this.options.selectedClass, !1), Oh[r] === Sh && Pd(Ch[r], this.options.chosenClass, !1);
t._hideClone(), n()
}
},
clone: function(e) {
var t = e.sortable,
n = e.rootEl,
r = e.dispatchSortableEvent,
i = e.cancel;
this.isMultiDrag && !this.options.removeCloneOnHide && Oh.length && kh === t && (Rh(!0, n), r("clone"), i())
},
showClone: function(e) {
var t = e.cloneNowShown,
n = e.rootEl,
r = e.cancel;
this.isMultiDrag && (Rh(!1, n), Ch.forEach((function(e) {
Td(e, "display", "")
})), t(), Ih = !1, r())
},
hideClone: function(e) {
var t = this;
e.sortable;
var n = e.cloneNowHidden,
r = e.cancel;
this.isMultiDrag && (Ch.forEach((function(e) {
Td(e, "display", "none"), t.options.removeCloneOnHide && e.parentNode && e.parentNode.removeChild(e)
})), n(), Ih = !0, r())
},
dragStartGlobal: function(e) {
e.sortable, !this.isMultiDrag && kh && kh.multiDrag._deselectMultiDrag(), Oh.forEach((function(e) {
e.sortableIndex = zd(e)
})), Oh = Oh.sort((function(e, t) {
return e.sortableIndex - t.sortableIndex
})), Th = !0
},
dragStarted: function(e) {
var t = this,
n = e.sortable;
if (this.isMultiDrag) {
if (this.options.sort && (n.captureAnimationState(), this.options.animation)) {
Oh.forEach((function(e) {
e !== Sh && Td(e, "position", "absolute")
}));
var r = Nd(Sh, !1, !0, !0);
Oh.forEach((function(e) {
e !== Sh && Wd(e, r)
})), Ph = !0, Ah = !0
}
n.animateAll((function() {
Ph = !1, Ah = !1, t.options.animation && Oh.forEach((function(e) {
Hd(e)
})), t.options.sort && Dh()
}))
}
},
dragOver: function(e) {
var t = e.target,
n = e.completed,
r = e.cancel;
Ph && ~Oh.indexOf(t) && (n(!1), r())
},
revert: function(e) {
var t, n = e.fromSortable,
r = e.rootEl,
i = e.sortable,
a = e.dragRect;
Oh.length > 1 && (Oh.forEach((function(e) {
i.addAnimationState({
target: e,
rect: Ph ? Nd(e) : a
}), Hd(e), e.fromRect = a, n.removeAnimationState(e)
})), Ph = !1, t = !this.options.removeCloneOnHide, Oh.forEach((function(e, n) {
var i = r.children[e.sortableIndex + (t ? Number(n) : 0)];
i ? r.insertBefore(e, i) : r.appendChild(e)
})))
},
dragOverCompleted: function(e) {
var t = e.sortable,
n = e.isOwner,
r = e.insertion,
i = e.activeSortable,
a = e.parentEl,
o = e.putSortable,
s = this.options;
if (r) {
if (n && i._hideClone(), Ah = !1, s.animation && Oh.length > 1 && (Ph || !n && !i.options.sort && !o)) {
var l = Nd(Sh, !1, !0, !0);
Oh.forEach((function(e) {
e !== Sh && (Wd(e, l), a.appendChild(e))
})), Ph = !0
}
if (!n)
if (Ph || Dh(), Oh.length > 1) {
var c = Ih;
i._showClone(t), i.options.animation && !Ih && c && Ch.forEach((function(e) {
i.addAnimationState({
target: e,
rect: Eh
}), e.fromRect = Eh, e.thisAnimationDuration = null
}))
} else i._showClone(t)
}
},
dragOverAnimationCapture: function(e) {
var t = e.dragRect,
n = e.isOwner,
r = e.activeSortable;
if (Oh.forEach((function(e) {
e.thisAnimationDuration = null
})), r.options.animation && !n && r.multiDrag.isMultiDrag) {
Eh = fd({}, t);
var i = Rd(Sh, !0);
Eh.top -= i.f, Eh.left -= i.e
}
},
dragOverAnimationComplete: function() {
Ph && (Ph = !1, Dh())
},
drop: function(e) {
var t = e.originalEvent,
n = e.rootEl,
r = e.parentEl,
i = e.sortable,
a = e.dispatchSortableEvent,
o = e.oldIndex,
s = e.putSortable,
l = s || this.sortable;
if (t) {
var c = this.options,
u = r.children;
if (!Th)
if (c.multiDragKey && !this.multiDragKeyDown && this._deselectMultiDrag(), Pd(Sh, c.selectedClass, !~Oh.indexOf(Sh)), ~Oh.indexOf(Sh)) Oh.splice(Oh.indexOf(Sh), 1), wh = null, Jd({
sortable: i,
rootEl: n,
name: "deselect",
targetEl: Sh,
originalEvent: t
});
else {
if (Oh.push(Sh), Jd({
sortable: i,
rootEl: n,
name: "select",
targetEl: Sh,
originalEvent: t
}), t.shiftKey && wh && i.el.contains(wh)) {
var d, p, h = zd(wh),
f = zd(Sh);
if (~h && ~f && h !== f)
for (f > h ? (p = h, d = f) : (p = f, d = h + 1); p < d; p++) ~Oh.indexOf(u[p]) || (Pd(u[p], c.selectedClass, !0), Oh.push(u[p]), Jd({
sortable: i,
rootEl: n,
name: "select",
targetEl: u[p],
originalEvent: t
}))
} else wh = Sh;
kh = l
} if (Th && this.isMultiDrag) {
if (Ph = !1, (r[Yd].options.sort || r !== n) && Oh.length > 1) {
var m = Nd(Sh),
g = zd(Sh, ":not(." + this.options.selectedClass + ")");
if (!Ah && c.animation && (Sh.thisAnimationDuration = null), l.captureAnimationState(), !Ah && (c.animation && (Sh.fromRect = m, Oh.forEach((function(e) {
if (e.thisAnimationDuration = null, e !== Sh) {
var t = Ph ? Nd(e) : m;
e.fromRect = t, l.addAnimationState({
target: e,
rect: t
})
}
}))), Dh(), Oh.forEach((function(e) {
u[g] ? r.insertBefore(e, u[g]) : r.appendChild(e), g++
})), o === zd(Sh))) {
var v = !1;
Oh.forEach((function(e) {
e.sortableIndex === zd(e) || (v = !0)
})), v && (a("update"), a("sort"))
}
Oh.forEach((function(e) {
Hd(e)
})), l.animateAll()
}
kh = l
}(n === r || s && "clone" !== s.lastPutMode) && Ch.forEach((function(e) {
e.parentNode && e.parentNode.removeChild(e)
}))
}
},
nullingGlobal: function() {
this.isMultiDrag = Th = !1, Ch.length = 0
},
destroyGlobal: function() {
this._deselectMultiDrag(), Ed(document, "pointerup", this._deselectMultiDrag), Ed(document, "mouseup", this._deselectMultiDrag), Ed(document, "touchend", this._deselectMultiDrag), Ed(document, "keydown", this._checkKeyDown), Ed(document, "keyup", this._checkKeyUp)
},
_deselectMultiDrag: function(e) {
if (!(void 0 !== Th && Th || kh !== this.sortable || e && Cd(e.target, this.options.draggable, this.sortable.el, !1)) && (!e || 0 === e.button))
for (; Oh.length;) {
var t = Oh[0];
Pd(t, this.options.selectedClass, !1), Oh.shift(), Jd({
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)
}
}, fd(e, {
pluginName: "multiDrag",
utils: {
select: function(e) {
var t = e.parentNode[Yd];
!t || !t.options.multiDrag || ~Oh.indexOf(e) || (kh && kh !== t && (kh.multiDrag._deselectMultiDrag(), kh = t), Pd(e, t.options.selectedClass, !0), Oh.push(e))
},
deselect: function(e) {
var t = e.parentNode[Yd],
n = Oh.indexOf(e);
t && t.options.multiDrag && ~n && (Pd(e, t.options.selectedClass, !1), Oh.splice(n, 1))
}
},
eventProperties: function() {
var e, t = this,
n = [],
r = [];
return Oh.forEach((function(e) {
var i;
n.push({
multiDragElement: e,
index: e.sortableIndex
}), i = Ph && e !== Sh ? -1 : Ph ? zd(e, ":not(." + t.options.selectedClass + ")") : zd(e), r.push({
multiDragElement: e,
index: i
})
})), {
items: function(e) {
if (Array.isArray(e)) return md(e)
}(e = Oh) || 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 md(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 md(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(Ch),
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: th,
Swap: function() {
function e() {
this.defaults = {
swapClass: "sortable-swap-highlight"
}
}
return e.prototype = {
dragStart: function(e) {
xh = e.dragEl
},
dragOverValid: function(e) {
var t = e.completed,
n = e.target,
r = e.onMove,
i = e.activeSortable,
a = e.changed,
o = e.cancel;
if (i.options.swap) {
var s = this.sortable.el,
l = this.options;
if (n && n !== s) {
var c = xh;
!1 !== r(n) ? (Pd(n, l.swapClass, !0), xh = n) : xh = null, c && c !== xh && Pd(c, l.swapClass, !1)
}
a(), t(!0), o()
}
},
drop: function(e) {
var t, n, r, i, a, o = e.activeSortable,
s = e.putSortable,
l = e.dragEl,
c = s || this.sortable,
u = this.options;
xh && Pd(xh, u.swapClass, !1), xh && (u.swap || s && s.options.swap) && l !== xh && (c.captureAnimationState(), c !== o && o.captureAnimationState(), t = xh, i = l.parentNode, a = t.parentNode, !i || !a || i.isEqualNode(t) || a.isEqualNode(l) || (n = zd(l), r = zd(t), i.isEqualNode(a) && n < r && r++, i.insertBefore(t, i.children[n]), a.insertBefore(l, a.children[r])), c.animateAll(), c !== o && o.animateAll())
},
nulling: function() {
xh = null
}
}, fd(e, {
pluginName: "swap",
eventProperties: function() {
return {
swapItem: xh
}
}
})
},
default: th
})),
Nh = {
exports: {}
};
! function() {
var e = {}.hasOwnProperty;
function t() {
for (var n = [], r = 0; r < arguments.length; r++) {
var i = arguments[r];
if (i) {
var a = typeof i;
if ("string" === a || "number" === a) n.push(i);
else if (Array.isArray(i)) {
if (i.length) {
var o = t.apply(null, i);
o && n.push(o)
}
} else if ("object" === a)
if (i.toString === Object.prototype.toString)
for (var s in i) e.call(i, s) && i[s] && n.push(s);
else n.push(i.toString())
}
}
return n.join(" ")
}
Nh.exports ? (t.default = t, Nh.exports = t) : window.classNames = t
}();
var jh = Nh.exports,
Mh = "Invariant failed",
Fh = to(Object.freeze({
__proto__: null,
default: function(e, t) {
if (!e) throw Error(Mh)
}
}));
! function(e) {
var t, n, r = Ee;
function i(e) {
return e && e.__esModule ? e.default : e
}
function a(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
},
i = [];
switch (n) {
case "normal":
i = [{
element: e.item,
newIndex: e.newIndex,
oldIndex: e.oldIndex,
parentElement: e.from
}];
break;
case "swap":
i = [{
element: e.item,
oldIndex: e.oldIndex,
newIndex: e.newIndex,
...r
}, {
element: e.swapItem,
oldIndex: e.newIndex,
newIndex: e.oldIndex,
...r
}];
break;
case "multidrag":
i = e.oldIndicies.map(((t, n) => ({
element: t.multiDragElement,
oldIndex: t.index,
newIndex: e.newIndicies[n].index,
...r
})))
}
let a = function(e, t) {
return e.map((e => ({
...e,
item: t[e.oldIndex]
}))).sort(((e, t) => e.oldIndex - t.oldIndex))
}(i, t);
return a
}
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 i = [...t];
return e.forEach((e => {
let t = r && n && r(e.item, n);
i.splice(e.newIndex, 0, t || e.item)
})), i
}
function p(e) {
return e.oldIndicies && e.oldIndicies.length > 0 ? "multidrag" : e.swapItem ? "swap" : "normal"
}
a(e.exports, "Sortable", (() => $882b6d93070905b3$re_export$Sortable)), a(e.exports, "Direction", (() => $882b6d93070905b3$re_export$Direction)), a(e.exports, "DOMRect", (() => $882b6d93070905b3$re_export$DOMRect)), a(e.exports, "GroupOptions", (() => $882b6d93070905b3$re_export$GroupOptions)), a(e.exports, "MoveEvent", (() => $882b6d93070905b3$re_export$MoveEvent)), a(e.exports, "Options", (() => $882b6d93070905b3$re_export$Options)), a(e.exports, "PullResult", (() => $882b6d93070905b3$re_export$PullResult)), a(e.exports, "PutResult", (() => $882b6d93070905b3$re_export$PutResult)), a(e.exports, "SortableEvent", (() => $882b6d93070905b3$re_export$SortableEvent)), a(e.exports, "SortableOptions", (() => $882b6d93070905b3$re_export$SortableOptions)), a(e.exports, "Utils", (() => $882b6d93070905b3$re_export$Utils)), a(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), i(Fh)(!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();
i(Lh).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: i
} = this.props, a = e && null !== e ? e : "div";
return (0, r.createElement)(a, {
ref: this.ref,
style: t,
className: n,
id: i
}, this.getChildren())
}
getChildren() {
let {
children: e,
dataIdAttr: t,
selectedClass: n = "sortable-selected",
chosenClass: a = "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 = i(jh)(s, {
[n]: o.selected,
[a]: 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: i,
style: a,
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: y,
onMove: _,
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 i = n(e, t, this.sortable, h);
return void 0 !== i && i
}
}
}
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, i = c(e, [...h.dragging.props.list]);
s(i), n(d(i, 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), a = c(e, t);
l(a);
let o = [...t];
if ("clone" !== e.pullMode) o = u(a, o);
else {
let t = a;
switch (r) {
case "multidrag":
t = a.map(((t, n) => ({
...t,
element: e.clones[n]
})));
break;
case "normal":
t = a.map((t => ({
...t,
element: e.clone
})));
break;
default:
i(Fh)(!0, `mode "${r}" cannot clone. Please remove "props.clone" from <ReactSortable/> when using the "${r}" plugin`)
}
s(t), a.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 i = function(e, t) {
return d(e, u(e, t))
}(r, t);
return n(i, 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]
}
})
}))
}(ud);
var zh = ud.exports;
Po((({
children: e,
className: t,
draggable: n = !1,
items: r,
onManualItemsReorder: i,
...a
}, o) => {
let [s, l] = (0, Ee.useState)(r), [c] = (0, Ee.useState)((() => {
let e = new Image;
return e.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=", e
})), u = Ao("sol-c-download-progress-group", t);
return (0, Ee.useEffect)((() => {
s !== r && i?.(s)
}), [s]), s && io.jsx(zh.ReactSortable, {
list: s,
setList: l,
className: u,
tag: "ul",
animation: 150,
setData: (e, t) => {
e.setData("text/plain", t.id), e.setDragImage(c, 0, 0)
},
handle: ".sol-c-download-progress__drag-handle",
children: s?.map(((e, t) => io.jsxs(io.Fragment, {
children: [!n && 0 !== t && io.jsx(sd, {
spacing: "100",
className: "sol-u-padding-0"
}), (0, Ee.createElement)(cd, {
...e,
key: `DownloadProgress-${t}`,
as: "li",
isDraggable: n
})]
})))
})
}));
eo('@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 Uh = (0, Ee.createContext)(null),
Vh = () => (0, Ee.useContext)(Uh),
Bh = (0, Ee.forwardRef)((({
className: e,
id: t,
...n
}, r) => {
let {
feedbackId: i,
setHasFeedback: a
} = Vh();
(0, Ee.useLayoutEffect)((() => (a(!0, t), () => a(!1))), [t, a]);
let o = Ao("sol-c-field__feedback", e);
return io.jsx(qu, {
"aria-live": "polite",
className: o,
id: i,
ref: r,
type: "negative",
...n
})
})),
Gh = (0, Ee.forwardRef)((({
className: e,
id: t,
...n
}, r) => {
let {
helpId: i,
setHasHelp: a
} = Vh();
(0, Ee.useLayoutEffect)((() => (a(!0, t), () => a(!1))), [t, a]);
let o = Ao("sol-c-field__help", e);
return io.jsx(ds, {
className: o,
color: "foreground-weak",
id: i,
ref: r,
variant: "body-xs",
...n
})
})),
$h = (0, Ee.forwardRef)((({
children: e,
className: t,
id: n,
disabled: r,
invalid: i,
required: a,
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: i,
labelType: a = "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, y] = (0, Ee.useState)(),
[_ = r, b] = (0, Ee.useState)(),
[x, w] = (0, Ee.useState)(!1),
[k, S] = (0, Ee.useState)(!1),
[E, I] = (0, Ee.useState)(null),
[O, C] = (0, Ee.useState)("label"),
A = (0, Ee.useMemo)((() => "label" !== O ? {
id: f,
onClick() {
m || E?.focus()
}
} : {
htmlFor: l
}), [l, E, m, O, f]),
P = E || "floating" !== a ? a : "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]),
R = (0, Ee.useCallback)((e => {
let t = e ? [e] : [];
return "label" !== O && t.push(f, l), t.length ? t.join(" ") : void 0
}), [l, O, f]);
return (0, Ee.useMemo)((() => ({
inputId: l,
feedbackId: u,
helpId: p,
labelId: f,
hasFeedback: x,
hasHelp: k,
isDisabled: m,
isInvalid: v,
isRequired: _,
label: i,
labelElementType: O,
labelProps: A,
labelType: P,
necessityIndicator: o,
setInputId: c,
setInputRef: I,
setLabelElementType: C,
setHasFeedback: (e, t) => {
w(e), d(t)
},
setHasHelp: (e, t) => {
S(e), h(t)
},
setIsDisabled: g,
setIsInvalid: y,
setIsRequired: b,
getDescribedby: T,
getLabelledby: R
})), [l, u, p, f, x, k, m, v, _, i, O, P, A, o, T, R])
})({
id: n,
disabled: r,
invalid: i,
required: a,
label: o,
labelType: s,
necessityIndicator: l
}),
{
isDisabled: v,
isInvalid: y,
isRequired: _,
labelType: b,
labelElementType: x,
labelProps: w
} = g,
k = Ao("sol-c-field", c && "sol-c-field--horizontal", v && "sol-c-field--disabled", y && "sol-c-field--invalid", _ && "sol-c-field--required", t),
S = (0, Ee.useMemo)((() => "floating" !== b && o ? io.jsxs(Es, {
as: x,
align: "baseline",
className: Ao("sol-c-field__label", "hidden" === b && "sol-u-hide-visually"),
gap: "025",
wrap: !0,
...w,
children: [io.jsx(ds, {
as: "span",
color: "foreground-weak",
variant: "label-m",
children: o
}), l && io.jsxs(ds, {
"aria-hidden": !!_ || void 0,
as: "span",
color: "foreground-weak",
variant: "label-s",
transform: "lowercase",
children: ["(", l, ")"]
})]
}) : null), [_, x, o, w, b, l]),
E = (0, Ee.useMemo)((() => u ? io.jsx(Bh, {
children: u
}) : p ? io.jsx(Bh, {
icon: co,
type: "positive",
children: p
}) : h ? io.jsx(Bh, {
icon: Co,
type: "notice",
children: h
}) : null), [u, p, h]);
return io.jsx(Uh.Provider, {
value: g,
children: io.jsxs("div", {
className: k,
id: n,
ref: m,
...f,
children: [S, io.jsx(Es, {
className: "sol-c-field__content",
gap: "100",
children: e
}), E, d && io.jsx(Gh, {
children: d
})]
})
})
}));
eo("@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 qh = (0, Ee.forwardRef)((({
children: e,
className: t,
icon: n,
iconAnimation: r = !0,
loading: i,
loadingIcon: a = bo,
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, y] = (0, Ee.useState)(!1), [_, b] = (0, Ee.useState)(!1), x = (0, Ee.useCallback)((e => {
("Space" === e.code || "Enter" === e.code) && (y(!1), g(!0)), s && s(e)
}), [s]), w = (0, Ee.useCallback)((e => {
("Space" === e.code || "Enter" === e.code) && (y(!0), g(!1)), l && l(e)
}), [l]), k = (0, Ee.useCallback)((e => {
y(!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 => {
y(!0), g(!1), p?.(e)
}), [p]), O = i && a ? a : n, C = (0, Ee.useMemo)((() => {
if (i) switch (o) {
case "hover":
return _;
case "not-hover":
return !_;
default:
return o
}
switch (r) {
case "hover":
return _;
case "not-hover":
return !_;
default:
return r
}
}), [r, _, i, o]), A = Ao("sol-c-game-button", m && "sol-c-game-button--pressed", v && "sol-c-game-button--released", t);
return io.jsxs(ls, {
className: A,
loading: i,
onKeyDown: x,
onKeyUp: w,
onMouseDown: k,
onMouseEnter: S,
onMouseLeave: E,
onMouseUp: I,
ref: f,
...h,
children: [io.jsx("span", {
"aria-hidden": "true",
className: "sol-c-game-button__border"
}), io.jsxs("span", {
className: "sol-c-game-button__wrapper",
children: [O && io.jsx(us, {
className: "sol-c-game-button__icon",
isPlaying: C,
source: O
}), io.jsx("span", {
className: "sol-c-game-button__label",
children: e
})]
}), io.jsx("span", {
"aria-hidden": "true",
className: "sol-c-game-button__holo"
})]
})
}));
eo('@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 Wh = Po((({
children: e,
className: t,
title: n,
...r
}, i) => {
let a = Ao("sol-c-game-page__actions", t);
return io.jsx(Es, {
className: a,
gap: "150",
ref: i,
vertical: !0,
...r,
children: e
})
})),
Hh = Po((({
as: e = "div",
className: t,
image: n,
video: r,
...i
}, a) => {
let o = Ao("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]), io.jsxs(e, {
"aria-hidden": "true",
className: o,
ref: a,
...i,
children: [n && io.jsx("img", {
alt: "",
className: "sol-c-game-page__image",
..."string" == typeof n ? {
src: n
} : n
}), r && io.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) => io.jsx("source", {
...e
}, t)))
})]
})
})),
Kh = Po((({
as: e = "div",
children: t,
className: n,
empty: r,
...i
}, a) => {
let {
ref: o,
inlineStart: s,
inlineEnd: l
} = ns();
(({
ref: e,
scrollSpeed: t = .9,
scrollMomentum: n = 0,
minimumVelocity: r = .05
} = {}) => {
let i = (0, Ee.useRef)(null),
a = e || i,
o = (0, Ee.useRef)({
x: 0,
y: 0
}),
s = (0, Ee.useRef)(null),
l = (0, Ee.useCallback)((() => {
let e = a.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, a, n]),
c = (0, Ee.useCallback)((e => {
let r = a.current;
if (!r) return;
s.current && cancelAnimationFrame(s.current);
let i = Math.round(r.scrollWidth - r.clientWidth) > 0,
c = e.deltaY * t;
i ? (r.scrollBy({
left: c,
behavior: Math.abs(c) > 50 && 0 === n ? "smooth" : "auto"
}), o.current.x = c) : i || 0 === n || (r.scrollTop += c, o.current.y = c), 0 !== n && (s.current = requestAnimationFrame(l))
}), [t, n, l, a]);
Mo({
ref: a,
onResize: c
}), (0, Ee.useEffect)((() => {
let e = a.current;
if (e) return e.addEventListener("wheel", c, {
passive: !1
}), () => e.removeEventListener("wheel", c, !1)
}), [c, a]), (0, Ee.useMemo)((() => ({
ref: a
})), [a])
})({
ref: o,
scrollMomentum: .95,
scrollSpeed: .2
}), (({
decay: e = .85,
isEnabled: t,
minimumVelocity: n = .05,
mouseButton: r = "left",
ref: i,
safeDistance: a = 10
} = {}) => {
let o = (0, Ee.useRef)(null),
s = i || 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);
No((() => {
let r = s.current;
if (!r || !t) return;
let i = () => {
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(i)))
},
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,
i = r.scrollLeft,
o = r.scrollTop;
r.scrollLeft = p.current.left - t, r.scrollTop = p.current.top - n, h.current = {
x: r.scrollLeft - i,
y: r.scrollTop - o
}, !u.current && (Math.abs(t) > a || Math.abs(n) > a) && (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(i))
};
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, a])
})({
isEnabled: !!t,
ref: o
});
let c = Ao("sol-c-game-page__content", n);
return io.jsx(e, {
className: c,
"data-sol-scroll-start": s,
"data-sol-scroll-end": l,
ref: a,
...i,
children: t ? io.jsx("ul", {
className: "sol-c-game-page__cards",
"data-sol-scrollbar-hidden": "true",
ref: o,
children: Ee.Children.map(t, ((e, t) => io.jsx("li", {
className: "sol-c-game-page__card",
children: e
}, t)))
}) : r && io.jsx(ds, {
className: "sol-c-game-page__empty",
variant: "heading-xs",
children: r
})
})
})),
Yh = Po((({
as: e = "div",
animation: t,
playLottie: n = !1,
className: r,
logo: i,
...a
}, o) => {
let s = Ao("sol-c-game-page__header", r),
[l, c] = (0, Ee.useState)(!1);
(0, Ee.useEffect)((() => {
n && c(!0)
}), [n]);
let u = es(t, {
loop: !1,
isPlaying: l
});
return io.jsx(e, {
"aria-hidden": "true",
className: s,
ref: o,
...a,
children: io.jsx(u, {
className: "sol-c-game-page__logo",
children: i && io.jsx("img", {
alt: "Game logo",
src: i
})
})
})
}));
eo("@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 Qh = Po((({
as: e = "p",
children: t,
className: n,
status: r,
...i
}, a) => {
let {
ref: o,
hasOverflow: s
} = Fo(), l = Ao("sol-c-tag", r && `sol-u-background-status-${r}-fill sol-u-color-status-${r}-fill-contrast`, n);
return io.jsx(Gu, {
content: t,
enabled: s,
children: io.jsx(e, {
className: l,
ref: a,
...i,
children: io.jsx(ds, {
as: "span",
className: "sol-c-tag__label",
ref: o,
truncate: !0,
variant: "label-s",
children: t
})
})
})
})),
Zh = Po((({
className: e,
status: t,
title: n,
...r
}, i) => {
let a = Ao("sol-c-game-page__message", e),
o = io.jsx(ds, {
className: a,
ref: i,
color: "foreground-weak",
variant: "body-s",
...r
});
return n ? io.jsxs(Es, {
gap: "050",
vertical: !0,
align: "start",
children: [io.jsx(Qh, {
as: "h2",
status: t,
children: n
}), o]
}) : o
})),
Xh = (0, Ee.forwardRef)((({
active: e,
className: t,
icon: n,
label: r,
...i
}, a) => {
let o = Ao("sol-c-game-page__tab", t),
s = {
[i.href ? "aria-current" : "aria-pressed"]: !!e || void 0,
className: o,
ref: a,
...i
};
return io.jsxs(ls, {
...s,
children: [r && io.jsx(ds, {
as: "span",
variant: "button-m",
children: r
}), n && io.jsx(us, {
source: n
})]
})
}));
var Jh = Object.defineProperty,
ef = {};
((e, t) => {
for (var n in t) Jh(e, n, {
get: t[n],
enumerable: !0
})
})(ef, {
assign: () => Rf,
colors: () => Af,
createStringInterpolator: () => ip,
skipAnimation: () => Pf,
to: () => ap,
willAdvance: () => Tf
});
var tf = yf(),
nf = e => ff(e, tf),
rf = yf();
nf.write = e => ff(e, rf);
var af = yf();
nf.onStart = e => ff(e, af);
var of = yf();
nf.onFrame = e => ff(e, of);
var sf = yf();
nf.onFinish = e => ff(e, sf);
var lf = [];
nf.setTimeout = (e, t) => {
let n = nf.now() + t,
r = () => {
let e = lf.findIndex((e => e.cancel == r));
~e && lf.splice(e, 1), pf -= ~e ? 1 : 0
},
i = {
time: n,
handler: e,
cancel: r
};
return lf.splice(cf(n), 0, i), pf += 1, mf(), i
};
var cf = e => ~(~lf.findIndex((t => t.time > e)) || ~lf.length);
nf.cancel = e => {
af.delete(e), of.delete(e), sf.delete(e), tf.delete(e), rf.delete(e)
}, nf.sync = e => {
hf = !0, nf.batchedUpdates(e), hf = !1
}, nf.throttle = e => {
let t;
function n() {
try {
e(...t)
} finally {
t = null
}
}
function r(...e) {
t = e, nf.onStart(n)
}
return r.handler = e, r.cancel = () => {
af.delete(n), t = null
}, r
};
var uf = "undefined" != typeof window ? window.requestAnimationFrame : () => {};
nf.use = e => uf = e, nf.now = "undefined" != typeof performance ? () => performance.now() : Date.now, nf.batchedUpdates = e => e(), nf.catch = console.error, nf.frameLoop = "always", nf.advance = () => {
"demand" !== nf.frameLoop ? console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand") : vf()
};
var df = -1,
pf = 0,
hf = !1;
function ff(e, t) {
hf ? (t.delete(e), e(0)) : (t.add(e), mf())
}
function mf() {
df < 0 && (df = 0, "demand" !== nf.frameLoop && uf(gf))
}
function gf() {
~df && (uf(gf), nf.batchedUpdates(vf))
}
function vf() {
let e = df;
df = nf.now();
let t = cf(df);
t && (_f(lf.splice(0, t), (e => e.handler())), pf -= t), pf ? (af.flush(), tf.flush(e ? Math.min(64, df - e) : 16.667), of.flush(), rf.flush(), sf.flush()) : df = -1
}
function yf() {
let e = new Set,
t = e;
return {
add(n) {
pf += t != e || e.has(n) ? 0 : 1, e.add(n)
},
delete: n => (pf -= t == e && e.has(n) ? 1 : 0, e.delete(n)),
flush(n) {
t.size && (e = new Set, pf -= t.size, _f(t, (t => t(n) && e.add(t))), pf += e.size, t = e)
}
}
}
function _f(e, t) {
e.forEach((e => {
try {
t(e)
} catch (e) {
nf.catch(e)
}
}))
}
function bf() {}
var xf = {
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 wf(e, t) {
if (xf.arr(e)) {
if (!xf.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 kf = (e, t) => e.forEach(t);
function Sf(e, t, n) {
if (xf.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 Ef = e => xf.und(e) ? [] : xf.arr(e) ? e : [e];
function If(e, t) {
if (e.size) {
let n = Array.from(e);
e.clear(), kf(n, t)
}
}
var Of = (e, ...t) => If(e, (e => e(...t))),
Cf = () => "undefined" == typeof window || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent),
Af = null,
Pf = !1,
Tf = bf,
Rf = e => {
e.to && (ap = e.to), e.now && (nf.now = e.now), void 0 !== e.colors && (Af = e.colors), null != e.skipAnimation && (Pf = e.skipAnimation), e.createStringInterpolator && (ip = e.createStringInterpolator), e.requestAnimationFrame && nf.use(e.requestAnimationFrame), e.batchedUpdates && (nf.batchedUpdates = e.batchedUpdates), e.willAdvance && (Tf = e.willAdvance), e.frameLoop && (nf.frameLoop = e.frameLoop)
},
Df = new Set,
Lf = [],
Nf = [],
jf = 0,
Mf = {
get idle() {
return !Df.size && !Lf.length
},
start(e) {
jf > e.priority ? (Df.add(e), nf.onStart(Ff)) : (zf(e), nf(Vf))
},
advance: Vf,
sort(e) {
if (jf) nf.onFrame((() => Mf.sort(e)));
else {
let t = Lf.indexOf(e);
~t && (Lf.splice(t, 1), Uf(e))
}
},
clear() {
Lf = [], Df.clear()
}
};
function Ff() {
Df.forEach(zf), Df.clear(), nf(Vf)
}
function zf(e) {
Lf.includes(e) || Uf(e)
}
function Uf(e) {
Lf.splice(function(e, t) {
let n = e.findIndex(t);
return n < 0 ? e.length : n
}(Lf, (t => t.priority > e.priority)), 0, e)
}
function Vf(e) {
let t = Nf;
for (let n = 0; n < Lf.length; n++) {
let r = Lf[n];
jf = r.priority, r.idle || (Tf(r), r.advance(e), r.idle || t.push(r))
}
return jf = 0, (Nf = Lf).length = 0, (Lf = t).length > 0
}
var Bf = "[-+]?\\d*\\.?\\d+",
Gf = Bf + "%";
function $f(...e) {
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"
}
var qf = RegExp("rgb" + $f(Bf, Bf, Bf)),
Wf = RegExp("rgba" + $f(Bf, Bf, Bf, Bf)),
Hf = RegExp("hsl" + $f(Bf, Gf, Gf)),
Kf = RegExp("hsla" + $f(Bf, Gf, Gf, Bf)),
Yf = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
Qf = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
Zf = /^#([0-9a-fA-F]{6})$/,
Xf = /^#([0-9a-fA-F]{8})$/;
function Jf(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 em(e, t, n) {
let r = n < .5 ? n * (1 + t) : n + t - n * t,
i = 2 * n - r,
a = Jf(i, r, e + 1 / 3),
o = Jf(i, r, e),
s = Jf(i, r, e - 1 / 3);
return Math.round(255 * a) << 24 | Math.round(255 * o) << 16 | Math.round(255 * s) << 8
}
function tm(e) {
let t = parseInt(e, 10);
return t < 0 ? 0 : t > 255 ? 255 : t
}
function nm(e) {
return (parseFloat(e) % 360 + 360) % 360 / 360
}
function rm(e) {
let t = parseFloat(e);
return t < 0 ? 0 : t > 1 ? 255 : Math.round(255 * t)
}
function im(e) {
let t = parseFloat(e);
return t < 0 ? 0 : t > 100 ? 1 : t / 100
}
function am(e) {
let t, n = "number" == typeof e ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = Zf.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : Af && void 0 !== Af[e] ? Af[e] : (t = qf.exec(e)) ? (tm(t[1]) << 24 | tm(t[2]) << 16 | tm(t[3]) << 8 | 255) >>> 0 : (t = Wf.exec(e)) ? (tm(t[1]) << 24 | tm(t[2]) << 16 | tm(t[3]) << 8 | rm(t[4])) >>> 0 : (t = Yf.exec(e)) ? parseInt(t[1] + t[1] + t[2] + t[2] + t[3] + t[3] + "ff", 16) >>> 0 : (t = Xf.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = Qf.exec(e)) ? parseInt(t[1] + t[1] + t[2] + t[2] + t[3] + t[3] + t[4] + t[4], 16) >>> 0 : (t = Hf.exec(e)) ? (255 | em(nm(t[1]), im(t[2]), im(t[3]))) >>> 0 : (t = Kf.exec(e)) ? (em(nm(t[1]), im(t[2]), im(t[3])) | rm(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 om = (e, t, n) => {
if (xf.fun(e)) return e;
if (xf.arr(e)) return om({
range: e,
output: t,
extrapolate: n
});
if (xf.str(e.output[0])) return ip(e);
let r = e.output,
i = e.range || [0, 1],
a = 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, i);
return function(e, t, n, r, i, a, 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 === i ? r : t === n ? e <= t ? r : i : (t === -1 / 0 ? c = -c : n === 1 / 0 ? c -= t : c = (c - t) / (n - t), c = a(c), r === -1 / 0 ? c = -c : i === 1 / 0 ? c += r : c = c * (i - r) + r, c)
}(t, i[n], i[n + 1], r[n], r[n + 1], s, a, o, e.map)
}
},
sm = Symbol.for("FluidValue.get"),
lm = Symbol.for("FluidValue.observers"),
cm = e => !(!e || !e[sm]),
um = e => e && e[sm] ? e[sm]() : e,
dm = e => e[lm] || null;
function pm(e, t) {
let n = e[lm];
n && n.forEach((e => {
e.eventObserved ? e.eventObserved(t) : e(t)
}))
}
var hm = class {
constructor(e) {
if (!e && !(e = this.get)) throw Error("Unknown getter");
fm(this, e)
}
},
fm = (e, t) => vm(e, sm, t);
function mm(e, t) {
if (e[sm]) {
let n = e[lm];
n || vm(e, lm, n = new Set), !n.has(t) && (n.add(t), e.observerAdded && e.observerAdded(n.size, t))
}
return t
}
function gm(e, t) {
let n = e[lm];
if (n && n.has(t)) {
let r = n.size - 1;
r ? n.delete(t) : e[lm] = null, e.observerRemoved && e.observerRemoved(r, t)
}
}
var vm = (e, t, n) => Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
}),
ym = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
_m = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,
bm = RegExp(`(${ym.source})(%|[a-z]+)`, "i"),
xm = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,
wm = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,
km = e => {
let [t, n] = Sm(e);
if (!t || Cf()) 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 && wm.test(n)) return km(n);
if (n) return n
}
return e
},
Sm = e => {
let t = wm.exec(e);
if (!t) return [, ];
let [, n, r] = t;
return [n, r]
},
Em = (e, t, n, r, i) => `rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(r)}, ${i})`,
Im = e => {
op || (op = Af ? RegExp(`(${Object.keys(Af).join("|")})(?!\\w)`, "g") : /^\b$/);
let t = e.output.map((e => um(e).replace(wm, km).replace(_m, am).replace(op, am))),
n = t.map((e => e.match(ym).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]
})))),
i = r.map((t => om({
...e,
output: t
})));
return e => {
let n = !bm.test(t[0]) && t.find((e => bm.test(e)))?.replace(ym, ""),
r = 0;
return t[0].replace(ym, (() => `${i[r++](e)}${n||""}`)).replace(xm, Em)
}
},
Om = "react-spring: ",
Cm = e => {
let t = !1;
if ("function" != typeof e) throw TypeError(`${Om}once requires a function parameter`);
return (...n) => {
t || (e(...n), t = !0)
}
},
Am = Cm(console.warn),
Pm = Cm(console.warn);
function Tm(e) {
return xf.str(e) && ("#" == e[0] || /\d/.test(e) || !Cf() && wm.test(e) || e in (Af || {}))
}
var Rm = Cf() ? Ee.useEffect : Ee.useLayoutEffect;
function Dm() {
let e = (0, Ee.useState)()[1],
t = (() => {
let e = (0, Ee.useRef)(!1);
return Rm((() => (e.current = !0, () => {
e.current = !1
})), []), e
})();
return () => {
t.current && e(Math.random())
}
}
var Lm = e => (0, Ee.useEffect)(e, Nm),
Nm = [];
function jm(e) {
let t = (0, Ee.useRef)();
return (0, Ee.useEffect)((() => {
t.current = e
})), t.current
}
var Mm = Symbol.for("Animated:node"),
Fm = e => e && e[Mm],
zm = (e, t) => ((e, t, n) => Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
}))(e, Mm, t),
Um = e => e && e[Mm] && e[Mm].getPayload(),
Vm = class {
constructor() {
zm(this, this)
}
getPayload() {
return this.payload || []
}
},
Bm = class extends Vm {
constructor(e) {
super(), this._value = e, this.done = !0, this.durationProgress = 0, xf.num(this._value) && (this.lastPosition = this._value)
}
static create(e) {
return new Bm(e)
}
getPayload() {
return [this]
}
getValue() {
return this._value
}
setValue(e, t) {
return xf.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, xf.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, e && (this.lastVelocity = null), this.v0 = null)
}
},
Gm = class extends Bm {
constructor(e) {
super(0), this._string = null, this._toString = om({
output: [e, e]
})
}
static create(e) {
return new Gm(e)
}
getValue() {
let e = this._string;
return null == e ? this._string = this._toString(this._value) : e
}
setValue(e) {
if (xf.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 = om({
output: [this.getValue(), e]
})), this._value = 0, super.reset()
}
},
$m = {
dependencies: null
},
qm = class extends Vm {
constructor(e) {
super(), this.source = e, this.setValue(e)
}
getValue(e) {
let t = {};
return Sf(this.source, ((n, r) => {
(e => !!e && e[Mm] === e)(n) ? t[r] = n.getValue(e): cm(n) ? t[r] = um(n) : e || (t[r] = n)
})), t
}
setValue(e) {
this.source = e, this.payload = this._makePayload(e)
}
reset() {
this.payload && kf(this.payload, (e => e.reset()))
}
_makePayload(e) {
if (e) {
let t = new Set;
return Sf(e, this._addToPayload, t), Array.from(t)
}
}
_addToPayload(e) {
$m.dependencies && cm(e) && $m.dependencies.add(e);
let t = Um(e);
t && kf(t, (e => this.add(e)))
}
},
Wm = class extends qm {
constructor(e) {
super(e)
}
static create(e) {
return new Wm(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(Hm)), !0)
}
};
function Hm(e) {
return (Tm(e) ? Gm : Bm).create(e)
}
function Km(e) {
let t = Fm(e);
return t ? t.constructor : xf.arr(e) ? Wm : Tm(e) ? Gm : Bm
}
var Ym = (e, t) => {
let n = !xf.fun(e) || e.prototype && e.prototype.isReactComponent;
return (0, Ee.forwardRef)(((r, i) => {
let a = (0, Ee.useRef)(null),
o = n && (0, Ee.useCallback)((e => {
a.current = (i && (xf.fun(i) ? i(e) : i.current = e), e)
}), [i]),
[s, l] = function(e, t) {
let n = new Set;
return $m.dependencies = n, e.style && (e = {
...e,
style: t.createAnimatedStyle(e.style)
}), e = new qm(e), $m.dependencies = null, [e, n]
}(r, t),
c = Dm(),
u = () => {
let e = a.current;
n && !e || !1 === (!!e && t.applyAnimatedValues(e, s.getValue(!0))) && c()
},
d = new Qm(u, l),
p = (0, Ee.useRef)();
Rm((() => (p.current = d, kf(l, (e => mm(e, d))), () => {
p.current && (kf(p.current.deps, (e => gm(e, p.current))), nf.cancel(p.current.update))
}))), (0, Ee.useEffect)(u, []), Lm((() => () => {
let e = p.current;
kf(e.deps, (t => gm(t, e)))
}));
let h = t.getComponentProps(s.getValue());
return Ee.createElement(e, {
...h,
ref: o
})
}))
},
Qm = class {
constructor(e, t) {
this.update = e, this.deps = t
}
eventObserved(e) {
"change" == e.type && nf.write(this.update)
}
},
Zm = Symbol.for("AnimatedComponent"),
Xm = e => xf.str(e) ? e : e && xf.str(e.displayName) ? e.displayName : xf.fun(e) && e.name || null;
function Jm(e, ...t) {
return xf.fun(e) ? e(...t) : e
}
var eg = (e, t) => !0 === e || !!(t && e && (xf.fun(e) ? e(t) : Ef(e).includes(t))),
tg = (e, t) => xf.obj(e) ? t && e[t] : e,
ng = (e, t) => !0 === e.default ? e[t] : e.default ? e.default[t] : void 0,
rg = e => e,
ig = (e, t = rg) => {
let n = ag;
e.default && !0 !== e.default && (n = Object.keys(e = e.default));
let r = {};
for (let i of n) {
let n = t(e[i], i);
xf.und(n) || (r[i] = n)
}
return r
},
ag = ["config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest"],
og = {
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 sg(e) {
let t = function(e) {
let t = {},
n = 0;
if (Sf(e, ((e, r) => {
!og[r] && (t[r] = e, n++)
})), n) return t
}(e);
if (t) {
let n = {
to: t
};
return Sf(e, ((e, r) => r in t || (n[r] = e))), n
}
return {
...e
}
}
function lg(e) {
return e = um(e), xf.arr(e) ? e.map(lg) : Tm(e) ? ef.createStringInterpolator({
range: [0, 1],
output: [e, e]
})(1) : e
}
function cg(e) {
for (let t in e) return !0;
return !1
}
function ug(e) {
return xf.fun(e) || xf.arr(e) && xf.obj(e[0])
}
function dg(e, t) {
e.ref?.delete(e), t?.delete(e)
}
function pg(e, t) {
t && e.ref !== t && (e.ref?.delete(e), t.add(e), e.ref = t)
}
var hg = {
tension: 170,
friction: 26,
mass: 1,
damping: 1,
easing: e => e,
clamp: !1
};
function fg(e, t) {
if (xf.und(t.decay)) {
let n = !xf.und(t.tension) || !xf.und(t.friction);
!n && xf.und(t.frequency) && xf.und(t.damping) && xf.und(t.mass) || (e.duration = void 0, e.decay = void 0), n && (e.frequency = void 0)
} else e.duration = void 0
}
var mg = [];
function gg(e, {
key: t,
props: n,
defaultProps: r,
state: i,
actions: a
}) {
return new Promise(((o, s) => {
let l, c, u = eg(n.cancel ?? r?.cancel, t);
if (u) h();
else {
xf.und(n.pause) || (i.paused = eg(n.pause, t));
let e = r?.pause;
!0 !== e && (e = i.paused || eg(e, t)), l = Jm(n.delay || 0, t), e ? (i.resumeQueue.add(p), a.pause()) : (a.resume(), p())
}
function d() {
i.resumeQueue.add(p), i.timeouts.delete(c), c.cancel(), l = c.time - nf.now()
}
function p() {
l > 0 && !ef.skipAnimation ? (i.delayed = !0, c = nf.setTimeout(h, l), i.pauseQueue.add(d), i.timeouts.add(c)) : h()
}
function h() {
i.delayed && (i.delayed = !1), i.pauseQueue.delete(d), i.timeouts.delete(c), e <= (i.cancelId || 0) && (u = !0);
try {
a.start({
...n,
callId: e,
cancel: u
}, o)
} catch (e) {
s(e)
}
}
}))
}
var vg = (e, t) => 1 == t.length ? t[0] : t.some((e => e.cancelled)) ? bg(e.get()) : t.every((e => e.noop)) ? yg(e.get()) : _g(e.get(), t.every((e => e.finished))),
yg = e => ({
value: e,
noop: !0,
finished: !0,
cancelled: !1
}),
_g = (e, t, n = !1) => ({
value: e,
finished: t,
cancelled: n
}),
bg = e => ({
value: e,
cancelled: !0,
finished: !1
});
function xg(e, t, n, r) {
let {
callId: i,
parentId: a,
onRest: o
} = t, {
asyncTo: s,
promise: l
} = n;
return a || e !== s || t.reset ? n.promise = (async () => {
let c, u, d;
n.asyncId = i, n.asyncTo = e;
let p = ig(t, ((e, t) => "onRest" === t ? void 0 : e)),
h = new Promise(((e, t) => (c = e, u = t))),
f = e => {
let t = i <= (n.cancelId || 0) && bg(r) || i !== n.asyncId && _g(r, !1);
if (t) throw e.result = t, u(e), e
},
m = (e, t) => {
let a = new kg,
o = new Sg;
return (async () => {
if (ef.skipAnimation) throw wg(n), o.result = _g(r, !1), u(o), o;
f(a);
let s = xf.obj(e) ? {
...e
} : {
...t,
to: e
};
s.parentId = i, Sf(p, ((e, t) => {
xf.und(s[t]) && (s[t] = e)
}));
let l = await r.start(s);
return f(a), n.paused && await new Promise((e => {
n.resumeQueue.add(e)
})), l
})()
};
if (ef.skipAnimation) return wg(n), _g(r, !1);
try {
let t;
t = xf.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 = _g(r.get(), !0, !1)
} catch (e) {
if (e instanceof kg) d = e.result;
else {
if (!(e instanceof Sg)) throw e;
d = e.result
}
} finally {
i == n.asyncId && (n.asyncId = a, n.asyncTo = a ? s : void 0, n.promise = a ? l : void 0)
}
return xf.fun(o) && nf.batchedUpdates((() => {
o(d, r, r.item)
})), d
})() : l
}
function wg(e, t) {
If(e.timeouts, (e => e.cancel())), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t)
}
var kg = 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.")
}
},
Sg = class extends Error {
constructor() {
super("SkipAnimationSignal")
}
},
Eg = e => e instanceof Og,
Ig = 1,
Og = class extends hm {
constructor() {
super(...arguments), this.id = Ig++, this._priority = 0
}
get priority() {
return this._priority
}
set priority(e) {
this._priority != e && (this._priority = e, this._onPriorityChange(e))
}
get() {
let e = Fm(this);
return e && e.getValue()
}
to(...e) {
return ef.to(this, e)
}
interpolate(...e) {
return Am(`${Om}The "interpolate" function is deprecated in v9 (use "to" instead)`), ef.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) {
pm(this, {
type: "change",
parent: this,
value: e,
idle: t
})
}
_onPriorityChange(e) {
this.idle || Mf.sort(this), pm(this, {
type: "priority",
parent: this,
priority: e
})
}
},
Cg = Symbol.for("SpringPhase"),
Ag = e => (1 & e[Cg]) > 0,
Pg = e => (2 & e[Cg]) > 0,
Tg = e => (4 & e[Cg]) > 0,
Rg = (e, t) => t ? e[Cg] |= 3 : e[Cg] &= -3,
Dg = (e, t) => t ? e[Cg] |= 4 : e[Cg] &= -5,
Lg = class extends Og {
constructor(e, t) {
if (super(), this.animation = new class {
constructor() {
this.changed = !1, this.values = mg, this.toValues = null, this.fromValues = mg, this.config = new class {
constructor() {
this.velocity = 0, Object.assign(this, hg)
}
}, 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, !xf.und(e) || !xf.und(t)) {
let n = xf.obj(e) ? {
...e
} : {
...t,
from: e
};
xf.und(n.default) && (n.default = !0), this.start(n)
}
}
get idle() {
return !(Pg(this) || this._state.asyncTo) || Tg(this)
}
get goal() {
return um(this.animation.to)
}
get velocity() {
let e = Fm(this);
return e instanceof Bm ? e.lastVelocity || 0 : e.getPayload().map((e => e.lastVelocity || 0))
}
get hasAnimated() {
return Ag(this)
}
get isAnimating() {
return Pg(this)
}
get isPaused() {
return Tg(this)
}
get isDelayed() {
return this._state.delayed
}
advance(e) {
let t = !0,
n = !1,
r = this.animation,
{
toValues: i
} = r,
{
config: a
} = r,
o = Um(r.to);
!o && cm(r.to) && (i = Ef(um(r.to))), r.values.forEach(((s, l) => {
if (s.done) return;
let c = s.constructor == Gm ? 1 : o ? o[l].lastPosition : i[l],
u = r.immediate,
d = c;
if (!u) {
let t;
if (d = s.lastPosition, a.tension <= 0) return void(s.done = !0);
let n = s.elapsedTime += e,
i = r.fromValues[l],
o = null != s.v0 ? s.v0 : s.v0 = xf.arr(a.velocity) ? a.velocity[l] : a.velocity,
p = a.precision || (i == c ? .005 : Math.min(1, .001 * Math.abs(c - i)));
if (xf.und(a.duration))
if (a.decay) {
let e = !0 === a.decay ? .998 : a.decay,
r = Math.exp(-(1 - e) * n);
d = i + 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 = a.restVelocity || p / 10,
r = a.clamp ? 0 : a.bounce,
l = !xf.und(r),
h = i == c ? s.v0 > 0 : i < 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 * a.tension * (d - c) + -.001 * a.friction * t) / a.mass), d += 1 * t
}
}
else {
let r = 1;
a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, s.durationProgress > 0 && (s.elapsedTime = a.duration * s.durationProgress, n = s.elapsedTime += e)), r = (r = (a.progress || 0) + n / this._memoizedDuration) > 1 ? 1 : r < 0 ? 0 : r, s.durationProgress = r), t = ((d = i + a.easing(r) * (c - i)) - 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, a.round) && (n = !0)
}));
let s = Fm(this),
l = s.getValue();
if (t) {
let e = um(r.to);
l === e && !n || a.decay ? n && a.decay && this._onChange(l) : (s.setValue(e), this._onChange(e)), this._stop()
} else n && this._onChange(l)
}
set(e) {
return nf.batchedUpdates((() => {
this._stop(), this._focus(e), this._set(e)
})), this
}
pause() {
this._update({
pause: !0
})
}
resume() {
this._update({
pause: !1
})
}
finish() {
if (Pg(this)) {
let {
to: e,
config: t
} = this.animation;
nf.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 xf.und(e) ? (n = this.queue || [], this.queue = []) : n = [xf.obj(e) ? e : {
...t,
to: e
}], Promise.all(n.map((e => this._update(e)))).then((e => vg(this, e)))
}
stop(e) {
let {
to: t
} = this.animation;
return this._focus(this.get()), wg(this._state, e && this._lastCallId), nf.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 = xf.obj(n) ? n[t] : n) || ug(n)) && (n = void 0), null == (r = xf.obj(r) ? r[t] : r) && (r = void 0);
let i = {
to: n,
from: r
};
return Ag(this) || (e.reverse && ([n, r] = [r, n]), r = um(r), xf.und(r) ? Fm(this) || this._set(n) : this._set(r)), i
}
_update({
...e
}, t) {
let {
key: n,
defaultProps: r
} = this;
e.default && Object.assign(r, ig(e, ((e, t) => /^on/.test(t) ? tg(e, n) : e))), Ug(this, e, "onProps"), Vg(this, "onProps", e, this);
let i = 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 a = this._state;
return gg(++this._lastCallId, {
key: n,
props: e,
defaultProps: r,
state: a,
actions: {
pause: () => {
Tg(this) || (Dg(this, !0), Of(a.pauseQueue), Vg(this, "onPause", _g(this, Ng(this, this.animation.to)), this))
},
resume: () => {
Tg(this) && (Dg(this, !1), Pg(this) && this._resume(), Of(a.resumeQueue), Vg(this, "onResume", _g(this, Ng(this, this.animation.to)), this))
},
start: this._merge.bind(this, i)
}
}).then((n => {
if (e.loop && n.finished && (!t || !n.noop)) {
let t = jg(e);
if (t) return this._update(t, !0)
}
return n
}))
}
_merge(e, t, n) {
if (t.cancel) return this.stop(!0), n(bg(this));
let r = !xf.und(e.to),
i = !xf.und(e.from);
if (r || i) {
if (!(t.callId > this._lastToId)) return n(bg(this));
this._lastToId = t.callId
}
let {
key: a,
defaultProps: o,
animation: s
} = this, {
to: l,
from: c
} = s, {
to: u = l,
from: d = c
} = e;
i && !r && (!t.default || xf.und(u)) && (u = d), t.reverse && ([u, d] = [d, u]);
let p = !wf(d, c);
p && (s.from = d), d = um(d);
let h = !wf(u, l);
h && this._focus(u);
let f = ug(t.to),
{
config: m
} = s,
{
decay: g,
velocity: v
} = m;
(r || i) && (m.velocity = 0), t.config && !f && function(e, t, n) {
for (let o in n && (fg(n = {
...n
}, t), t = {
...n,
...t
}), fg(e, t), Object.assign(e, t), hg) null == e[o] && (e[o] = hg[o]);
let {
frequency: r,
damping: i
} = e, {
mass: a
} = e;
xf.und(r) || (r < .01 && (r = .01), i < 0 && (i = 0), e.tension = Math.pow(2 * Math.PI / r, 2) * a, e.friction = 4 * Math.PI * i * a / r)
}(m, Jm(t.config, a), t.config !== o.config ? Jm(o.config, a) : void 0);
let y = Fm(this);
if (!y || xf.und(u)) return n(_g(this, !0));
let _ = xf.und(t.reset) ? i && !t.default : !xf.und(d) && eg(t.reset, a),
b = _ ? d : this.get(),
x = lg(u),
w = xf.num(x) || xf.arr(x) || Tm(x),
k = !f && (!w || eg(o.immediate || t.immediate, a));
if (h) {
let e = Km(u);
if (e !== y.constructor) {
if (!k) throw Error(`Cannot animate between ${y.constructor.name} and ${e.name}, as the "to" prop suggests`);
y = this._set(x)
}
}
let S = y.constructor,
E = cm(u),
I = !1;
if (!E) {
let e = _ || !Ag(this) && p;
(h || e) && (E = !(I = wf(lg(b), x))), (wf(s.immediate, k) || k) && wf(m.decay, g) && wf(m.velocity, v) || (E = !0)
}
if (I && Pg(this) && (s.changed && !_ ? E = !0 : E || this._stop(l)), !f && ((E || cm(l)) && (s.values = y.getPayload(), s.toValues = cm(u) ? null : S == Gm ? [1] : Ef(x)), s.immediate == k || (s.immediate = k, k || _ || this._set(l)), E)) {
let {
onRest: e
} = s;
kf(zg, (e => Ug(this, t, e)));
let r = _g(this, Ng(this, l));
Of(this._pendingCalls, r), this._pendingCalls.add(n), s.changed && nf.batchedUpdates((() => {
s.changed = !_, e?.(r, this), _ ? Jm(o.onRest, r) : s.onStart?.(r, this)
}))
}
_ && this._set(b), f ? n(xg(t.to, t, this._state, this)) : E ? this._start() : Pg(this) && !h ? this._pendingCalls.add(n) : n(yg(b))
}
_focus(e) {
let t = this.animation;
e !== t.to && (dm(this) && this._detach(), t.to = e, dm(this) && this._attach())
}
_attach() {
let e = 0,
{
to: t
} = this.animation;
cm(t) && (mm(t, this), Eg(t) && (e = t.priority + 1)), this.priority = e
}
_detach() {
let {
to: e
} = this.animation;
cm(e) && gm(e, this)
}
_set(e, t = !0) {
let n = um(e);
if (!xf.und(n)) {
let e = Fm(this);
if (!e || !wf(n, e.getValue())) {
let r = Km(n);
e && e.constructor == r ? e.setValue(n) : zm(this, r.create(n)), e && nf.batchedUpdates((() => {
this._onChange(n, t)
}))
}
}
return Fm(this)
}
_onStart() {
let e = this.animation;
e.changed || (e.changed = !0, Vg(this, "onStart", _g(this, Ng(this, e.to)), this))
}
_onChange(e, t) {
t || (this._onStart(), Jm(this.animation.onChange, e, this)), Jm(this.defaultProps.onChange, e, this), super._onChange(e, t)
}
_start() {
let e = this.animation;
Fm(this).reset(um(e.to)), e.immediate || (e.fromValues = e.values.map((e => e.lastPosition))), Pg(this) || (Rg(this, !0), Tg(this) || this._resume())
}
_resume() {
ef.skipAnimation ? this.finish() : Mf.start(this)
}
_stop(e, t) {
if (Pg(this)) {
Rg(this, !1);
let n = this.animation;
kf(n.values, (e => {
e.done = !0
})), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), pm(this, {
type: "idle",
parent: this
});
let r = t ? bg(this.get()) : _g(this.get(), Ng(this, e ?? n.to));
Of(this._pendingCalls, r), n.changed && (n.changed = !1, Vg(this, "onRest", r, this))
}
}
};
function Ng(e, t) {
let n = lg(t);
return wf(lg(e.get()), n)
}
function jg(e, t = e.loop, n = e.to) {
let r = Jm(t);
if (r) {
let i = !0 !== r && sg(r),
a = (i || e).reverse,
o = !i || i.reset;
return Mg({
...e,
loop: t,
default: !1,
pause: void 0,
to: !a || ug(n) ? n : void 0,
from: o ? e.from : void 0,
reset: o,
...i
})
}
}
function Mg(e) {
let {
to: t,
from: n
} = e = sg(e), r = new Set;
return xf.obj(t) && Fg(t, r), xf.obj(n) && Fg(n, r), e.keys = r.size ? Array.from(r) : null, e
}
function Fg(e, t) {
Sf(e, ((e, n) => null != e && t.add(n)))
}
var zg = ["onStart", "onRest", "onChange", "onPause", "onResume"];
function Ug(e, t, n) {
e.animation[n] = t[n] !== ng(t, n) ? tg(t[n], e.key) : void 0
}
function Vg(e, t, ...n) {
e.animation[t]?.(...n), e.defaultProps[t]?.(...n)
}
var Bg = ["onStart", "onChange", "onRest"],
Gg = 1,
$g = class {
constructor(e, t) {
this.id = Gg++, 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];
xf.und(n) || this.springs[t].set(n)
}
}
update(e) {
return e && this.queue.push(Mg(e)), this
}
start(e) {
let {
queue: t
} = this;
return e ? t = Ef(e).map(Mg) : this.queue = [], this._flush ? this._flush(this, t) : (Zg(this, t), qg(this, t))
}
stop(e, t) {
if (!!e !== e && (t = e), t) {
let n = this.springs;
kf(Ef(t), (t => n[t].stop(!!e)))
} else wg(this._state, this._lastAsyncId), this.each((t => t.stop(!!e)));
return this
}
pause(e) {
if (xf.und(e)) this.start({
pause: !0
});
else {
let t = this.springs;
kf(Ef(e), (e => t[e].pause()))
}
return this
}
resume(e) {
if (xf.und(e)) this.start({
pause: !1
});
else {
let t = this.springs;
kf(Ef(e), (e => t[e].resume()))
}
return this
}
each(e) {
Sf(this.springs, e)
}
_onFrame() {
let {
onStart: e,
onChange: t,
onRest: n
} = this._events, r = this._active.size > 0, i = this._changed.size > 0;
(r && !this._started || i && !this._started) && (this._started = !0, If(e, (([e, t]) => {
t.value = this.get(), e(t, this, this._item)
})));
let a = !r && this._started,
o = i || a && n.size ? this.get() : null;
i && t.size && If(t, (([e, t]) => {
t.value = o, e(t, this, this._item)
})), a && (this._started = !1, If(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)
}
nf.onFrame(this._onFrame)
}
};
function qg(e, t) {
return Promise.all(t.map((t => Wg(e, t)))).then((t => vg(e, t)))
}
async function Wg(e, t, n) {
let {
keys: r,
to: i,
from: a,
loop: o,
onRest: s,
onResolve: l
} = t, c = xf.obj(t.default) && t.default;
o && (t.loop = !1), !1 === i && (t.to = null), !1 === a && (t.from = null);
let u = xf.arr(i) || xf.fun(i) ? i : void 0;
u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : kf(Bg, (n => {
let r = t[n];
if (xf.fun(r)) {
let i = e._events[n];
t[n] = ({
finished: e,
cancelled: t
}) => {
let n = i.get(r);
n ? (e || (n.finished = !1), t && (n.cancelled = !0)) : i.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, Of(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 === ng(t, "cancel");
(u || h && d.asyncId) && p.push(gg(++e._lastAsyncId, {
props: t,
state: d,
actions: {
pause: bf,
resume: bf,
start(t, n) {
h ? (wg(d, e._lastAsyncId), n(bg(e))) : (t.onRest = s, n(xg(u, t, d, e)))
}
}
})), d.paused && await new Promise((e => {
d.resumeQueue.add(e)
}));
let f = vg(e, await Promise.all(p));
if (o && f.finished && (!n || !f.noop)) {
let n = jg(t, o, i);
if (n) return Zg(e, [n]), Wg(e, n, !0)
}
return l && nf.batchedUpdates((() => l(f, e, e.item))), f
}
function Hg(e, t) {
let n = {
...e.springs
};
return t && kf(Ef(t), (e => {
xf.und(e.keys) && (e = Mg(e)), xf.obj(e.to) || (e = {
...e,
to: void 0
}), Qg(n, e, (e => Yg(e)))
})), Kg(e, n), n
}
function Kg(e, t) {
Sf(t, ((t, n) => {
e.springs[n] || (e.springs[n] = t, mm(t, e))
}))
}
function Yg(e, t) {
let n = new Lg;
return n.key = e, t && mm(n, t), n
}
function Qg(e, t, n) {
t.keys && kf(t.keys, (r => {
(e[r] || (e[r] = n(r)))._prepareNode(t)
}))
}
function Zg(e, t) {
kf(t, (t => {
Qg(e.springs, t, (t => Yg(t, e)))
}))
}
var Xg = ({
children: e,
...t
}) => {
let n = (0, Ee.useContext)(Jg),
r = t.pause || !!n.pause,
i = t.immediate || !!n.immediate;
t = function(e, t) {
let [n] = (0, Ee.useState)((() => ({
inputs: t,
result: e()
}))), r = (0, Ee.useRef)(), i = r.current, a = i;
if (a) {
let n = !!(t && a.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, a.inputs));
n || (a = {
inputs: t,
result: e()
})
} else a = n;
return (0, Ee.useEffect)((() => {
r.current = a, i == n && (n.inputs = n.result = void 0)
}), [a]), a.result
}((() => ({
pause: r,
immediate: i
})), [r, i]);
let {
Provider: a
} = Jg;
return Ee.createElement(a, {
value: t
}, e)
},
Jg = (Object.assign(Xg, Ee.createContext({})), Xg.Provider._context = Xg, Xg.Consumer._context = Xg, Xg);
Xg.Provider = Jg.Provider, Xg.Consumer = Jg.Consumer;
var ev = () => {
let e = [],
t = function(t) {
Pm(`${Om}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 kf(e, ((e, i) => {
if (xf.und(t)) r.push(e.start());
else {
let a = n(t, e, i);
a && r.push(e.start(a))
}
})), 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 kf(e, (e => e.pause(...arguments))), this
}, t.resume = function() {
return kf(e, (e => e.resume(...arguments))), this
}, t.set = function(t) {
kf(e, ((e, n) => {
let r = xf.fun(t) ? t(n, e) : t;
r && e.set(r)
}))
}, t.start = function(t) {
let n = [];
return kf(e, ((e, r) => {
if (xf.und(t)) n.push(e.start());
else {
let i = this._getProps(t, e, r);
i && n.push(e.start(i))
}
})), n
}, t.stop = function() {
return kf(e, (e => e.stop(...arguments))), this
}, t.update = function(t) {
return kf(e, ((e, n) => e.update(this._getProps(t, e, n)))), this
};
let n = function(e, t, n) {
return xf.fun(e) ? e(n, t) : e
};
return t._getProps = n, t
};
function tv(e, t) {
let n = xf.fun(e),
[
[r], i
] = function(e, t, n) {
let r = xf.fun(t) && t;
r && !n && (n = []);
let i = (0, Ee.useMemo)((() => r || 3 == arguments.length ? ev() : void 0), []),
a = (0, Ee.useRef)(0),
o = Dm(),
s = (0, Ee.useMemo)((() => ({
ctrls: [],
queue: [],
flush(e, t) {
let n = Hg(e, t),
r = a.current > 0 && !s.queue.length && !Object.keys(n).some((t => !e.springs[t]));
return r ? qg(e, t) : new Promise((r => {
Kg(e, n), s.queue.push((() => {
r(qg(e, t))
})), o()
}))
}
})), []),
l = (0, Ee.useRef)([...s.ctrls]),
c = [],
u = jm(e) || 0;
function d(e, n) {
for (let i = e; i < n; i++) {
let e = l.current[i] || (l.current[i] = new $g(null, s.flush)),
n = r ? r(i, e) : t[i];
n && (c[i] = function(e) {
let t = Mg(e);
return xf.und(t.default) && (t.default = ig(t)), t
}(n))
}
}(0, Ee.useMemo)((() => {
kf(l.current.slice(e, u), (e => {
dg(e, i), 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) => Hg(e, c[t]))),
h = (0, Ee.useContext)(Xg),
f = jm(h),
m = h !== f && cg(h);
Rm((() => {
a.current++, s.ctrls = l.current;
let {
queue: e
} = s;
e.length && (s.queue = [], kf(e, (e => e()))), kf(l.current, ((e, t) => {
i?.add(e), m && e.start({
default: h
});
let n = c[t];
n && (pg(e, n.ref), e.ref ? e.queue.push(n) : e.start(n))
}))
})), Lm((() => () => {
kf(s.ctrls, (e => e.stop(!0)))
}));
let g = p.map((e => ({
...e
})));
return i ? [g, i] : g
}(1, n ? e : [e], n ? t || [] : t);
return n || 2 == arguments.length ? [r, i] : r
}
var nv = 1,
rv = class extends Og {
constructor(e, t) {
super(), this.source = e, this.idle = !0, this._active = new Set, this.calc = om(...t);
let n = this._get(),
r = Km(n);
zm(this, r.create(n))
}
advance(e) {
let t = this._get();
wf(t, this.get()) || (Fm(this).setValue(t), this._onChange(t, this.idle)), !this.idle && av(this._active) && ov(this)
}
_get() {
let e = xf.arr(this.source) ? this.source.map(um) : Ef(um(this.source));
return this.calc(...e)
}
_start() {
this.idle && !av(this._active) && (this.idle = !1, kf(Um(this), (e => {
e.done = !1
})), ef.skipAnimation ? (nf.batchedUpdates((() => this.advance())), ov(this)) : Mf.start(this))
}
_attach() {
let e = 1;
kf(Ef(this.source), (t => {
cm(t) && mm(t, this), Eg(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1))
})), this.priority = e, this._start()
}
_detach() {
kf(Ef(this.source), (e => {
cm(e) && gm(e, this)
})), this._active.clear(), ov(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 = Ef(this.source).reduce(((e, t) => Math.max(e, (Eg(t) ? t.priority : 0) + 1)), 0))
}
};
function iv(e) {
return !1 !== e.idle
}
function av(e) {
return !e.size || Array.from(e).every(iv)
}
function ov(e) {
e.idle || (e.idle = !0, kf(Um(e), (e => {
e.done = !0
})), pm(e, {
type: "idle",
parent: e
}))
}
ef.assign({
createStringInterpolator: Im,
to: (e, t) => new rv(e, t)
});
var sv = /^--/,
lv = {},
cv = {
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
},
uv = ["Webkit", "Ms", "Moz", "O"];
cv = Object.keys(cv).reduce(((e, t) => (uv.forEach((n => e[((e, t) => e + t.charAt(0).toUpperCase() + t.substring(1))(n, t)] = e[t])), e)), cv);
var dv = /^(matrix|translate|scale|rotate|skew)/,
pv = /^(translate)/,
hv = /^(rotate|skew)/,
fv = (e, t) => xf.num(e) && 0 !== e ? e + t : e,
mv = (e, t) => xf.arr(e) ? e.every((e => mv(e, t))) : xf.num(e) ? e === t : parseFloat(e) === t,
gv = class extends qm {
constructor({
x: e,
y: t,
z: n,
...r
}) {
let i = [],
a = [];
(e || t || n) && (i.push([e || 0, t || 0, n || 0]), a.push((e => [`translate3d(${e.map((e=>fv(e,"px"))).join(",")})`, mv(e, 0)]))), Sf(r, ((e, t) => {
if ("transform" === t) i.push([e || ""]), a.push((e => [e, "" === e]));
else if (dv.test(t)) {
if (delete r[t], xf.und(e)) return;
let n = pv.test(t) ? "px" : hv.test(t) ? "deg" : "";
i.push(Ef(e)), a.push("rotate3d" === t ? ([e, t, r, i]) => [`rotate3d(${e},${t},${r},${fv(i,n)})`, mv(i, 0)] : e => [`${t}(${e.map((e=>fv(e,n))).join(",")})`, mv(e, t.startsWith("scale") ? 1 : 0)])
}
})), i.length && (r.transform = new vv(i, a)), super(r)
}
},
vv = class extends hm {
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 kf(this.inputs, ((n, r) => {
let i = um(n[0]),
[a, o] = this.transforms[r](xf.arr(i) ? i : n.map(um));
e += " " + a, t = t && o
})), t ? "none" : e
}
observerAdded(e) {
1 == e && kf(this.inputs, (e => kf(e, (e => cm(e) && mm(e, this)))))
}
observerRemoved(e) {
0 == e && kf(this.inputs, (e => kf(e, (e => cm(e) && gm(e, this)))))
}
eventObserved(e) {
"change" == e.type && (this._value = null), pm(this, e)
}
};
ef.assign({
batchedUpdates: Xa.unstable_batchedUpdates,
createStringInterpolator: Im,
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 yv = ((e, {
applyAnimatedValues: t = (() => !1),
createAnimatedStyle: n = (e => new qm(e)),
getComponentProps: r = (e => e)
} = {}) => {
let i = {
applyAnimatedValues: t,
createAnimatedStyle: n,
getComponentProps: r
},
a = e => {
let t = Xm(e) || "Anonymous";
return (e = xf.str(e) ? a[e] || (a[e] = Ym(e, i)) : e[Zm] || (e[Zm] = Ym(e, i))).displayName = `Animated(${t})`, e
};
return Sf(e, ((t, n) => {
xf.arr(e) && (n = Xm(t)), a[n] = a(t)
})), {
animated: a
}
})(["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: i,
scrollTop: a,
scrollLeft: o,
viewBox: s,
...l
} = t,
c = Object.values(l),
u = Object.keys(l).map((t => n || e.hasAttribute(t) ? t : lv[t] || (lv[t] = t.replace(/([A-Z])/g, (e => "-" + e.toLowerCase())))));
for (let p in void 0 !== i && (e.textContent = i), r)
if (r.hasOwnProperty(p)) {
var d;
let t = null == (d = r[p]) || "boolean" == typeof d || "" === d ? "" : "number" != typeof d || 0 === d || sv.test(p) || cv.hasOwnProperty(p) && cv[p] ? ("" + d).trim() : d + "px";
sv.test(p) ? e.style.setProperty(p, t) : e.style[p] = t
} u.forEach(((t, n) => {
e.setAttribute(t, c[n])
})), void 0 !== a && (e.scrollTop = a), void 0 !== o && (e.scrollLeft = o), void 0 !== s && e.setAttribute("viewBox", s)
},
createAnimatedStyle: e => new gv(e),
getComponentProps: ({
scrollTop: e,
scrollLeft: t,
...n
}) => n
}).animated;
let _v = Po((({
as: e = "nav",
children: t,
className: n,
...r
}, i) => {
let [a, o] = (0, Ee.useState)(!1), s = Ao("sol-c-game-page__tabs", n), l = (0, Ee.useRef)(null), {
unessentialAnimationsDisabled: c
} = Qo().reduceMotion, [u] = tv((() => ({
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"),
i = n("padding-right");
a || (o(!0), await e({
left: t.offsetLeft + r,
width: t.offsetWidth - r - i,
immediate: !0
})), await e({
left: t.offsetLeft + r,
width: t.offsetWidth - r - i
})
} else o(!1);
await e({
opacity: 1,
delay: 1500
})
},
config: {
duration: 100
}
})), [t]);
return io.jsxs(e, {
className: s,
ref: To(l, i),
...r,
children: [t, !c && io.jsx(yv.div, {
"aria-hidden": "true",
className: "sol-c-game-page__tabs-indicator",
style: u
})]
})
})),
bv = Po((({
className: e,
...t
}, n) => {
let r = Ao("sol-c-game-page__title", e);
return io.jsx(ds, {
as: "h1",
className: r,
ref: n,
color: "foreground",
variant: "heading-s",
...t
})
})),
xv = Po((({
as: e = "div",
children: t,
className: n,
navigation: r,
theme: i,
...a
}, o) => {
let s = Ao("sol-c-game-page", n);
return io.jsxs(e, {
className: s,
ref: o,
...a,
children: [r && io.jsx("div", {
className: "sol-c-game-page__navigation",
children: r
}), i ? io.jsx(as, {
name: i,
children: ({
getProps: e
}) => io.jsx("div", {
...e({
className: "sol-c-game-page__wrapper"
}),
children: t
})
}) : io.jsx("div", {
className: "sol-c-game-page__wrapper",
children: t
})]
})
}));
eo("@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 wv = (0, Ee.forwardRef)((({
active: e,
className: t,
logo: n,
name: r,
...i
}, a) => {
let o = Ao("sol-c-game-switcher__item", t),
s = Go({
src: n
});
return io.jsxs(ls, {
"aria-current": e ? "true" : void 0,
className: o,
ref: a,
...i,
style: {
"--sol-c-game-switcher-logo": n && s === Vo ? `url("${n}")` : void 0
},
children: [(!n || s === Bo) && io.jsx(ds, {
"aria-hidden": "true",
className: "sol-c-game-switcher__fallback",
offset: !0,
variant: "heading-l",
children: r.slice(0, 2).toLocaleUpperCase()
}), io.jsx("span", {
className: "sol-u-hide-visually",
children: r
})]
})
})),
kv = Po((({
as: e = "nav",
children: t,
className: n,
id: r,
items: i,
title: a,
...o
}, s) => {
let l = zo(r) + "-label",
c = Ao("sol-c-game-switcher", n),
u = (0, Ee.useRef)(null),
[d, p] = (0, Ee.useState)(!1),
[h] = tv((() => ({
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 io.jsxs(e, {
"aria-labelledby": a ? l : void 0,
className: c,
ref: To(u, s),
...o,
children: [a && io.jsx(ds, {
align: "center",
className: "sol-c-game-switcher__title",
id: l,
variant: "emphasis-s",
transform: "uppercase",
truncate: !0,
children: a
}), i?.map(((e, t) => e.name && io.jsx(wv, {
...e
}, t))), t, io.jsx(yv.div, {
"aria-hidden": "true",
className: "sol-c-game-switcher__indicator",
style: h
})]
})
}));
function Sv() {
return (Sv = 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)
}
eo('@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 Ev = function(e, t) {
"function" != typeof e ? e.current = t : e(t)
},
Iv = function() {},
Ov = ["cacheMeasurements", "maxRows", "minRows", "onChange", "onHeightChange"],
Cv = 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, Ov);
r.value;
var i = function(e, t) {
var n = (0, Ee.useRef)();
return (0, Ee.useCallback)((function(r) {
e.current = r, n.current && Ev(n.current, null), n.current = t, t && Ev(t, r)
}), [t])
}(Ee.useRef(null), t);
return Ee.useRef(0), Ee.useRef(), Ee.createElement("textarea", Sv({}, r, {
onChange: void 0 === n ? Iv : n,
ref: i
}))
}));
let Av = (0, Ee.forwardRef)((({
as: e,
className: t,
id: n,
"aria-describedby": r,
"aria-labelledby": i,
disabled: a,
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
}, y) => {
let _ = (0, Ee.useRef)(null),
b = (0, Ee.useId)(),
x = Vh(),
[w, k] = (0, Ee.useState)(!1),
S = x?.inputId ?? n ?? b,
E = ts(y, _);
(0, Ee.useLayoutEffect)((() => {
x && _.current && (x.setInputRef(_.current), x.setInputId(S), null != a && x.setIsDisabled(a), null != o && x.setIsInvalid(o), null != s && x.setIsRequired(s), "button" === e && x.setLabelElementType("span"))
}), [e, a, x, S, o, s]), (0, Ee.useEffect)((() => {
if ("password" === c && _.current) {
let e = _.current.form,
t = () => k(!1);
return e?.addEventListener("submit", t), () => e?.removeEventListener("submit", t)
}
}), [c]);
let I = x?.isDisabled ?? a,
O = x?.isInvalid ?? o,
C = x?.isRequired ?? s,
A = x?.getDescribedby(r) ?? r,
P = x?.getLabelledby(i) ?? i,
T = (0, Ee.useMemo)((() => x ? io.jsxs(Es, {
align: "baseline",
as: x.labelElementType,
className: "sol-c-input__label",
gap: "025",
...x.labelProps,
children: [io.jsx(ds, {
as: "span",
className: "sol-c-input__label-text",
color: "foreground-weak",
truncate: !0,
children: x.label
}), x.necessityIndicator && io.jsxs(ds, {
"aria-hidden": !!C || void 0,
as: "span",
className: "sol-c-input__label-indicator",
color: "foreground-weak",
transform: "lowercase",
children: ["(", x.necessityIndicator, ")"]
})]
}) : null), [x, C]),
R = (0, Ee.useMemo)((() => "password" === c ? io.jsxs(io.Fragment, {
children: [io.jsx(gs, {
"aria-label": w ? m : f,
color: O ? "negative" : void 0,
icon: w ? So : ko,
onClick: () => k(!w),
size: "small",
variant: "plain"
}), h]
}) : h), [m, O, w, f, h, c]),
D = "select" === e ? vo : u,
L = Ao("sol-c-input", D && "sol-c-input--has-end-icon", d && "sol-c-input--has-start-icon", I && "sol-c-input--disabled", O && "sol-c-input--invalid", C && "sol-c-input--required", g?.className),
N = Ao("sol-c-input__element", t),
j = (0, Ee.createElement)(e ? "textarea" === e ? Cv : e : "input", {
"aria-describedby": A,
"aria-labelledby": P,
"aria-required": !!C || void 0,
"aria-invalid": !!O || void 0,
autoComplete: "password" === c ? "off" : void 0,
className: N,
disabled: I,
id: S,
placeholder: l,
"data-placeholder": l,
ref: E,
type: "password" === c && w ? "text" : c,
...v
});
return io.jsxs("div", {
...g,
className: L,
children: [p && io.jsx(ds, {
className: "sol-c-input__prefix",
color: "foreground-weak",
variant: "label-m",
children: p
}), p && d && io.jsx("span", {
"aria-hidden": !0,
className: "sol-c-input__separator"
}), d && io.jsx(us, {
className: "sol-c-input__icon sol-c-input__icon--start",
source: d
}), x && x.label && "floating" === x.labelType ? io.jsxs("div", {
className: "sol-c-input__floating",
children: [T, j, "textarea" === e && io.jsx(wo, {
className: "sol-c-input__icon sol-c-input__icon--resize"
})]
}) : j, D && io.jsx(us, {
className: "sol-c-input__icon sol-c-input__icon--end",
source: D
}), D && R && io.jsx("span", {
"aria-hidden": !0,
className: "sol-c-input__separator"
}), R && io.jsx(ds, {
className: "sol-c-input__suffix",
color: "foreground-weak",
variant: "label-m",
children: R
})]
})
}));
eo("@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 Pv = Po((({
children: e,
className: t,
external: n,
icon: r,
startIcon: i,
inherit: a,
...o
}, s) => {
let l = Ao("sol-c-link", n && "sol-c-link--external", a && "sol-c-link--inherit", t);
return io.jsxs(ss, {
className: l,
external: n,
ref: s,
...o,
children: [i && io.jsx(us, {
className: "sol-c-link__icon sol-c-link__icon--start",
source: i
}), e, r && io.jsxs("span", {
className: "sol-c-link__orphan",
children: ["\ufeff", io.jsx(us, {
className: "sol-c-link__icon sol-c-link__icon--end",
source: r
})]
})]
})
}));
eo('@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 Tv = {
none: 0,
small: 8,
medium: 12,
large: 16
},
Rv = (0, Ee.createContext)(null),
Dv = () => {
let e = (0, Ee.useContext)(Rv);
if (!e) throw Error("Listbox components must be wrapped in <Listbox />");
return e
},
Lv = ((0, Ee.forwardRef)((({
children: e,
className: t,
label: n,
...r
}, i) => {
let a = (0, Ee.useId)(),
{
isMounted: o
} = Dv();
if (!o) return io.jsx(io.Fragment, {
children: e
});
let s = Ao("sol-c-listbox__group", t);
return io.jsxs("li", {
className: s,
ref: i,
role: "presentation",
...r,
children: [io.jsx(ds, {
id: a,
"aria-hidden": "true",
className: "sol-c-listbox__label",
color: "foreground-highlight",
variant: "body-s-bold",
children: n
}), io.jsx("ul", {
"aria-labelledby": a,
className: "sol-c-listbox__items",
role: "group",
children: e
})]
})
})), (0, Ee.memo)((0, Ee.forwardRef)((({
children: e,
active: t,
disabled: n,
selected: r,
getItemProps: i,
onSelect: a,
...o
}, s) => io.jsxs("li", {
"aria-selected": r,
"aria-disabled": n,
ref: s,
role: "option",
tabIndex: t ? 0 : -1,
...i({
onClick: a,
onKeyDown(e) {
["Enter", "Tab"].includes(e.key) && a(), [" ", "Tab"].includes(e.key) && e.preventDefault()
},
onKeyUp(e) {
" " === e.key && a()
}
}),
...o,
children: [io.jsx(ds, {
as: "span",
className: "sol-c-listbox__content",
color: "foreground",
truncate: !0,
variant: "label-m",
children: e
}), r && io.jsx(us, {
className: "sol-c-listbox__icon",
color: "foreground",
source: lo
})]
}))))),
Nv = (0, Ee.forwardRef)((({
children: e,
className: t,
disabled: n = !1,
id: r,
label: i,
value: a,
...o
}, s) => {
let {
ref: l,
index: c
} = Nc({
label: n ? null : i
}), {
getItemProps: u,
activeIndex: d,
selectedIndex: p,
setSelectedIndex: h,
setIsOpen: f,
value: m,
setValue: g,
setLabel: v,
allowEmpty: y,
isMounted: _
} = Dv();
No((() => {
a === m && c !== p && (h(c), v(e ?? i))
}), [e, c, m, i, p, v, h, a]);
let b = (0, Ee.useCallback)((() => {
n || (c === p && y ? (h(null), g(""), v("")) : (h(c), g(a), v(e ?? i)), f(!1))
}), [y, e, n, c, i, p, v, f, h, g, a]),
x = vc([s, l]);
if (!_) return io.jsx("li", {
ref: x,
children: i
});
let w = !n && c === p,
k = !n && c === d,
S = Ao("sol-c-listbox__item", k && "sol-c-listbox__item--active", t);
return io.jsx(Lv, {
className: S,
ref: x,
active: k,
disabled: n,
selected: w,
getItemProps: u,
onSelect: b,
...o,
children: e ?? i
})
})),
jv = (0, Ee.forwardRef)((({
allowEmpty: e,
anchor: t,
children: n,
className: r,
defaultValue: i = "",
loop: a = !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 y = (({
allowEmpty: e,
anchor: t,
loop: n,
offset: r = "small",
placement: i,
value: a,
defaultValue: o,
onValueChange: s
} = {}) => {
let [l, c] = Lo({
value: a,
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), y = (0, Ee.useRef)([]), _ = (0, Ee.useRef)([]), b = Cu({
open: u,
onOpenChange: d,
placement: i,
whileElementsMounted: Yl,
middleware: [bl({
mainAxis: Tv[r],
alignmentAxis: 0
}), xl({
padding: Tv[r]
}), wl({
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: Tv[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 = Pu([ku(x), Ou(x), Mu(x, {
role: "listbox"
}), ju(x, {
listRef: y,
activeIndex: p,
selectedIndex: f,
onNavigate: h,
loop: n
}), zu(x, {
listRef: _,
activeIndex: p,
selectedIndex: f,
onMatch: h
})]),
S = Fu(x);
return (0, Ee.useMemo)((() => ({
isOpen: u,
setIsOpen: d,
elementsRef: y,
labelsRef: _,
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: i,
loop: a,
offset: s,
onValueChange(e) {
l?.({
target: {
name: o,
value: e
}
}), c?.(e)
},
placement: d,
value: f
}),
{
floatingStyles: _,
refs: b,
context: x,
placement: w,
getReferenceProps: k,
getFloatingProps: S,
isOpen: E,
value: I,
label: O,
isMounted: C,
status: A,
elementsRef: P,
labelsRef: T
} = y,
R = vc([v, b.setReference, h.ref]),
{
name: D
} = os(),
L = Ao("sol-c-listbox", "sol-u-transition-floating", r);
return io.jsx(Lc, {
elementsRef: P,
labelsRef: T,
children: io.jsxs(Rv.Provider, {
value: y,
children: [(0, Ee.cloneElement)("function" == typeof h ? h({
isOpen: E,
label: O,
value: I
}) : h, k({
ref: R
}), h.props?.children || O || m), C ? io.jsx(gu, {
children: io.jsx(td, {
condition: u,
wrap: e => io.jsx(xu, {
"data-sol-listbox-overlay": !0,
children: e
}),
children: io.jsx(_u, {
context: x,
modal: !1,
children: io.jsx("ul", {
className: L,
"data-sol-placement": w,
"data-sol-status": A,
"data-sol-theme": D,
ref: b.setFloating,
role: "listbox",
style: {
..._,
...p
},
...S(g),
children: n
})
})
})
}) : io.jsx("ul", {
hidden: !0,
children: n
}), o && io.jsx("input", {
type: "hidden",
name: o,
value: I
})]
})
})
}));
eo("@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 Mv = (0, Ee.forwardRef)((({
path: e,
children: t,
className: n,
...r
}, i) => io.jsxs("div", {
ref: i,
className: "sol-c-library",
...r,
children: [io.jsx(ds, {
className: "sol-c-library__path",
color: "foreground-weak",
variant: "body-s",
children: e
}), io.jsx("div", {
children: io.jsx(Es, {
className: "sol-c-library__children",
gap: "100",
align: "center",
children: t
})
})]
})));
eo("@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 Fv = {
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 zv = Po((({
as: e = "div",
children: t,
handleAnimWipeTrigger: n,
className: r,
...i
}, a) => {
let o = Ao("sol-c-loading", r);
n?.();
let s = es(Fv, {
loop: !1,
forcePlay: !0
});
return io.jsxs(Es, {
align: "center",
className: o,
gap: "150",
justify: "center",
vertical: !0,
ref: a,
...i,
children: [io.jsx(s, {
className: "sol-c-loading__animation"
}), t && io.jsx(ds, {
align: "center",
className: "sol-c-loading__text",
variant: "body-l",
children: t
})]
})
}));
eo("@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 Uv = {
none: 0,
small: 8,
medium: 12,
large: 16
},
Vv = (0, Ee.createContext)(null),
Bv = () => {
let e = (0, Ee.useContext)(Vv);
if (!e) throw Error("Menu components must be wrapped in <Menu />");
return e
},
Gv = (0, Ee.forwardRef)((({
className: e,
close: t = !0,
disabled: n,
label: r,
onClick: i,
...a
}, o) => {
let {
ref: s,
index: l
} = Nc({
label: n ? null : r
}), {
getItemProps: c,
activeIndex: u,
setIsOpen: d
} = Bv(), p = Ao("sol-c-menu__item", e), h = (0, Ee.useCallback)((e => {
t && d(!1), i && i(e)
}), [t, i, d]);
return io.jsx(gs, {
align: "start",
className: p,
disabled: n,
fullWidth: !0,
ref: vc([s, o]),
role: "menuitem",
tabIndex: n || l !== u ? -1 : 0,
variant: "plain",
...a,
...c({
onClick: h
}),
children: r
})
})),
$v = Po((({
className: e,
close: t = !1,
onClick: n,
subtitle: r,
title: i,
...a
}, o) => {
let s = Ao("sol-c-menu__title", e),
{
setIsOpen: l
} = Bv(),
c = (0, Ee.useCallback)((e => {
t && l(!1), n && n(e)
}), [t, n, l]);
return io.jsxs(Es, {
"aria-disabled": "true",
className: s,
onClick: c,
ref: o,
vertical: !0,
...a,
children: [io.jsx(ds, {
offset: !0,
variant: "emphasis-m",
truncate: 1,
children: i
}), r && io.jsx(ds, {
color: "foreground-weak",
variant: "body-xs",
children: r
})]
})
})),
qv = (0, Ee.forwardRef)((({
anchor: e,
children: t,
className: n,
offset: r = "small",
overlay: i = !1,
placement: a = "bottom-start",
loop: o = !0,
style: s,
trigger: l,
...c
}, u) => {
let d = (({
anchor: e,
loop: t,
offset: n = "small",
placement: r
} = {}) => {
let [i, a] = (0, Ee.useState)(null), [o, s] = (0, Ee.useState)(!1), l = (0, Ee.useRef)([]), c = (0, Ee.useRef)([]), u = Cu({
open: o,
onOpenChange: s,
placement: r,
whileElementsMounted: Yl,
middleware: [bl({
mainAxis: Uv[n],
alignmentAxis: 0
}), wl({
apply({
availableWidth: e,
availableHeight: t,
elements: n
}) {
Object.assign(n.floating.style, {
maxInlineSize: `${e}px`,
maxBlockSize: `${t}px`
})
},
padding: Uv[n]
})],
transform: !1
}), {
context: d,
refs: {
setPositionReference: p
}
} = u;
(0, Ee.useEffect)((() => {
e && p(e)
}), [e, p]);
let h = Pu([ku(d), Ou(d), ju(d, {
activeIndex: i,
listRef: l,
loop: t,
onNavigate: a
}), zu(d, {
activeIndex: i,
enabled: o,
listRef: c,
onMatch: a
}), Mu(d, {
role: "menu"
})]),
f = Fu(d);
return (0, Ee.useMemo)((() => ({
isOpen: o,
setIsOpen: s,
elementsRef: l,
labelsRef: c,
activeIndex: i,
...u,
...h,
...f
})), [o, s, i, u, h, f])
})({
anchor: e,
loop: o,
offset: r,
placement: a
}),
{
floatingStyles: p,
refs: h,
context: f,
placement: m,
getReferenceProps: g,
getFloatingProps: v,
isOpen: y,
isMounted: _,
status: b,
elementsRef: x,
labelsRef: w
} = d,
k = vc([h.setReference, l.ref, u]),
{
name: S
} = os(),
E = Ao("sol-c-menu sol-u-transition-floating", n);
return io.jsx(Lc, {
elementsRef: x,
labelsRef: w,
children: io.jsxs(Vv.Provider, {
value: d,
children: [(0, Ee.cloneElement)("function" == typeof l ? l({
isOpen: y
}) : l, g({
ref: k
})), _ && io.jsx(gu, {
children: io.jsx(td, {
condition: i,
wrap: e => io.jsx(xu, {
"data-sol-menu-overlay": !0,
children: e
}),
children: io.jsx(_u, {
context: f,
visuallyHiddenDismiss: !0,
initialFocus: -1,
modal: !1,
children: io.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
})
})
})
})]
})
})
}));
eo("@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 Wv = {
none: 0,
small: 8,
medium: 12,
large: 16
},
Hv = (0, Ee.createContext)(null),
Kv = () => {
let e = (0, Ee.useContext)(Hv);
if (!e) throw Error("Popover components must be wrapped in <Popover />");
return e
},
Yv = (Po((({
as: e = "p",
id: t,
onClick: n,
...r
}, i) => {
let {
setDescriptionId: a
} = Kv(), o = zo(t);
return No((() => (a(o), () => a(void 0))), [o, a]), io.jsx(e, {
id: o,
ref: i,
...r
})
})), Po((({
as: e = "p",
id: t,
onClick: n,
...r
}, i) => {
let {
setLabelId: a
} = Kv(), o = zo(t);
return No((() => (a(o), () => a(void 0))), [o, a]), io.jsx(e, {
id: o,
ref: i,
...r
})
}))),
Qv = (0, Ee.forwardRef)((({
anchor: e,
children: t,
className: n,
close: r,
defaultOpen: i,
footer: a,
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 y = (({
anchor: e,
defaultOpen: t,
offset: n = "small",
open: r,
onOpenChange: i,
placement: a
} = {}) => {
let [o, s] = (0, Ee.useState)(t), [l, c] = (0, Ee.useState)(), [u, d] = (0, Ee.useState)(), p = r ?? o, h = i ?? s, f = Hc(), m = Cu({
open: p,
onOpenChange: h,
nodeId: f,
placement: a,
whileElementsMounted: Yl,
middleware: [bl({
mainAxis: Wv[n],
alignmentAxis: 0
}), xl({
padding: Wv[n]
}), wl({
apply({
availableHeight: e,
elements: t
}) {
Object.assign(t.floating.style, {
maxBlockSize: `${e}px`
})
},
padding: Wv[n]
})],
transform: !1
}), {
context: g,
refs: {
setPositionReference: v
}
} = m;
(0, Ee.useEffect)((() => {
e && v(e)
}), [e, v]);
let y = Pu([ku(g), Ou(g, {
bubbles: !1,
outsidePress: e => !e.target.closest("[data-sol-popover-ignore]")
}), Mu(g)]),
_ = Fu(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: i,
offset: l,
open: c,
onOpenChange: u,
placement: p
}),
{
floatingStyles: _,
refs: b,
context: x,
placement: w,
getReferenceProps: k,
getFloatingProps: S,
isMounted: E,
isOpen: I,
setIsOpen: O,
status: C,
labelId: A,
descriptionId: P,
nodeId: T
} = y,
R = vc([b.setReference, (m ?? t).ref, v]),
{
name: D
} = os(),
L = Ao("sol-c-popover sol-u-transition-floating", o && "sol-c-popover--full-width", n);
return io.jsx(Hv.Provider, {
value: y,
children: io.jsxs(Kc, {
id: T,
children: [(0, Ee.cloneElement)("function" == typeof m ? m({
isOpen: I
}) : m, k({
ref: R
})), E && io.jsx(gu, {
children: io.jsx(td, {
condition: d,
wrap: e => io.jsx(xu, {
"data-sol-popover-overlay": !0,
children: e
}),
children: io.jsx(_u, {
context: x,
modal: s,
children: io.jsxs("div", {
"aria-labelledby": A,
"aria-describedby": P,
className: L,
"data-sol-placement": w,
"data-sol-status": C,
"data-sol-theme": D,
ref: b.setFloating,
style: {
..._,
...h
},
...S(g),
children: [(r || f) && io.jsxs(Es, {
align: "start",
className: "sol-c-popover__header",
gap: "050",
justify: "end",
children: [f && io.jsx(ds, {
as: Yv,
className: "sol-c-popover__title",
color: "foreground",
offset: !0,
variant: "emphasis-m",
children: f
}), r && io.jsx(gs, {
"aria-label": "string" == typeof r ? r : "Close",
className: "sol-c-popover__close",
icon: ho,
onClick: () => O(!1),
size: "small",
variant: "monochrome"
})]
}), io.jsx(ds, {
className: "sol-c-popover__content",
color: "foreground-weak",
variant: "body-s",
multiline: !0,
children: t
}), a && io.jsx(Es, {
align: "center",
className: "sol-c-popover__footer",
gap: "100",
justify: "space-between",
children: a
})]
})
})
})
})]
})
})
})),
Zv = (0, Ee.forwardRef)(((e, t) => null == qc() ? io.jsx(Yc, {
children: io.jsx(Qv, {
ref: t,
...e
})
}) : io.jsx(Qv, {
ref: t,
...e
})));
eo("@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 Xv = ({
className: e,
...t
}) => {
let n = Ao("sol-c-rsi-logo", e);
return io.jsxs("svg", {
className: n,
xmlns: "http://www.w3.org/2000/svg",
height: "16",
fill: "currentColor",
viewBox: "0 0 216 80",
...t,
children: [io.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"
}), io.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"
})]
})
};
eo("@layer sol.components{.sol-c-select{cursor:var(--sol-cursor-interactive)}}");
let Jv = (0, Ee.forwardRef)((({
children: e,
description: t,
label: n,
...r
}, i) => io.jsx(Nv, {
label: n,
ref: i,
...r,
children: t ? io.jsxs(Es, {
as: "span",
vertical: !0,
children: [io.jsx(ds, {
as: "span",
color: "foreground",
variant: "label-m",
truncate: !0,
children: e ?? n
}), t && io.jsx(ds, {
as: "span",
color: "foreground-weak",
variant: "body-xs",
truncate: !0,
children: t
})]
}) : e ?? n
}))),
ey = (0, Ee.forwardRef)((({
allowEmpty: e,
children: t,
className: n,
defaultValue: r,
empty: i,
listboxProps: a,
name: o,
onChange: s,
onValueChange: l,
value: c,
wrapperProps: u,
...d
}, p) => {
let h = Ao("sol-c-select", n),
[f, m] = (0, Ee.useState)(null);
return io.jsx(jv, {
trigger: ({
isOpen: e
}) => io.jsx(Av, {
as: "button",
className: h,
type: "button",
endIcon: e ? go : vo,
wrapperProps: Ro({
ref: m
}, u),
...d
}),
...Ro({
anchor: f,
allowEmpty: e,
defaultValue: r,
empty: i,
name: o,
onChange: s,
onValueChange: l,
ref: p,
value: c
}, a),
children: t
})
}));
eo('@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 ty = (0, Ee.forwardRef)((({
children: e,
className: t,
title: n,
...r
}, i) => {
let a = Ao("sol-c-settings__content", t);
return io.jsxs("div", {
className: a,
ref: i,
...r,
children: [n && io.jsx(ds, {
as: "h1",
className: "sol-c-settings__title",
variant: "heading-m",
children: n
}), e]
})
})),
ny = (0, Ee.forwardRef)((({
back: e,
children: t,
className: n,
title: r,
backCallback: i,
...a
}, o) => {
let s = Ao("sol-c-settings__navigation", n);
return io.jsxs("div", {
className: s,
ref: o,
...a,
children: [(e || r) && io.jsxs("div", {
className: "sol-c-settings__header",
children: [e && io.jsx(gs, {
"aria-label": e.label,
className: "sol-c-settings__back",
icon: po,
size: "large",
variant: "monochrome",
onClick: e => {
e.preventDefault(), i?.()
},
...e
}), r && io.jsx(ds, {
className: "sol-c-settings__label",
offset: !0,
variant: "heading-s",
children: r
})]
}), t]
})
})),
ry = (0, Ee.forwardRef)((({
children: e,
className: t,
active: n,
...r
}, i) => {
let a = Ao("sol-c-settings__item", t);
return io.jsx(gs, {
"aria-current": n ? "true" : void 0,
className: a,
fullWidth: !0,
align: "start",
ref: i,
selected: n,
size: "medium",
variant: "plain",
...r,
children: e
})
})),
iy = Po((({
as: e = "div",
children: t,
className: n,
...r
}, i) => {
let a = Ao("sol-c-settings", n),
[o, s] = (0, Ee.useState)(!0);
return (0, Ee.useEffect)((() => {
let e = setTimeout((() => s(!1)), 2e3);
return () => clearTimeout(e)
}), []), io.jsx(e, {
className: a,
"data-animation-fade": o,
ref: i,
...r,
children: t
})
}));
eo('@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 ay = Po((({
as: e = "div",
children: t,
className: n,
footer: r,
subtitle: i,
title: a,
...o
}, s) => {
let l = Ao("sol-c-sign-in__content", r && "sol-c-sign-in__content--has-footer", n),
c = (0, Ee.useRef)(null),
{
blockEnd: u
} = ns({
ref: c
});
return io.jsxs(e, {
className: l,
ref: s,
...o,
children: [io.jsx("div", {
className: "sol-c-sign-in__wrapper",
"data-sol-scroll-end": u,
children: io.jsxs(Es, {
className: "sol-c-sign-in__container",
gap: "150",
ref: c,
vertical: !0,
children: [(a || i) && io.jsxs(Es, {
className: "sol-c-sign-in__header",
gap: "050",
vertical: !0,
children: [a && io.jsx(ds, {
as: "h1",
className: "sol-c-sign-in__title",
color: "foreground",
variant: "heading-s",
children: a
}), i && io.jsx(ds, {
className: "sol-c-sign-in__subtitle",
color: "foreground-weak",
variant: "body-m",
children: i
})]
}), t]
})
}), r && io.jsx(Es, {
align: "center",
justify: "space-between",
className: "sol-c-sign-in__footer",
children: r
})]
})
})),
oy = Po((({
as: e = "div",
children: t,
className: n,
...r
}, i) => {
let a = Ao("sol-c-sign-in", n);
return io.jsxs(e, {
className: a,
ref: i,
...r,
children: [io.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: io.jsxs("g", {
fill: "#BCBEC0",
children: [io.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"
}), io.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"
}), io.jsx("path", {
d: "M32.669 124.984v-8.778h6.926v1.517h-5.141v1.914h3.002v1.534h-3.002v2.132h5.2v1.681h-6.986Z"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.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"
}), io.jsx("path", {
d: "m214.709.057.014-.059 25.338.06-26.905 106.526h-25.62L214.608.057h.104-.003Z"
})]
})
}), io.jsx("div", {
className: "sol-c-sign-in__content-wrapper",
children: t
})]
})
}));
eo('@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 sy = (e, t) => t < e ? e : e + (t - e) / 2,
ly = (0, Ee.forwardRef)((({
className: e,
defaultValue: t,
max: n = 100,
min: r = 0,
style: i,
onChange: a,
onValueChange: o,
showProgress: s = !1,
value: l,
...c
}, u) => {
let [d, p] = Lo({
value: l,
defaultValue: t ?? sy(r, n),
onChange: o
}), h = (0, Ee.useCallback)((e => {
p(parseFloat(e.target.value)), a && a(e)
}), [a, p]), f = (d - r) / (n - r) * 100, m = Ao("sol-c-slider", e), g = {
...s && {
"--sol-c-slider-progress": `${f}%`
},
...i
};
return io.jsx("input", {
className: m,
max: n,
min: r,
onChange: h,
ref: u,
style: g,
type: "range",
value: d,
...c
})
}));
eo("@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 cy = "informative",
uy = (0, Ee.forwardRef)((({
actions: e,
children: t,
className: n,
close: r = true,
closeOnClick: i = true,
closeOnEsc: a = true,
duration: o = 4e3,
icon: s,
id: l,
onClick: c,
onClose: u,
pauseOnBlur: d = true,
title: p,
type: h = cy,
...f
}, m) => {
let g = (0, Ee.useId)(),
v = l ?? g,
y = v + "-label",
_ = v + "-description",
{
pause: b,
resume: x,
clear: w
} = ((e, t = 1 / 0, n = !0) => {
let r = Do(e),
i = (0, Ee.useRef)(null),
a = (0, Ee.useRef)(null),
o = (0, Ee.useRef)(t),
s = (0, Ee.useCallback)((() => {
i.current && (clearTimeout(i.current), i.current = null)
}), []),
l = (0, Ee.useCallback)((() => {
s(), null !== a.current && (o.current -= Date.now() - a.current, a.current = null)
}), [s]),
c = (0, Ee.useCallback)((() => {
i.current || t === 1 / 0 || (a.current = Date.now(), i.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 (a && u) {
let e = e => {
("Escape" === e.key || "Esc" === e.key) && k()
};
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e)
}
}), [k, a, v, u]);
let S = (0, Ee.useCallback)((e => {
c && c(e), i && k()
}), [k, i, c]),
E = (0, Ee.useCallback)((e => {
e.stopPropagation(), k()
}), [k]),
I = (0, Ee.useCallback)((() => {
b()
}), [b]),
O = (0, Ee.useCallback)((() => {
x()
}), [x]),
C = (0, Ee.useCallback)((({
close: e,
onClick: t
}) => n => {
n.stopPropagation(), e && k(), t && t(n)
}), [k]),
A = Ao("sol-c-toast", h && h !== cy && `sol-c-toast--${h}`, n),
P = p || !p && t,
T = t && p;
return io.jsxs("div", {
"aria-describedby": T ? _ : void 0,
"aria-labelledby": P ? y : void 0,
className: A,
id: v,
ref: m,
onClick: S,
onMouseEnter: I,
onMouseLeave: O,
...f,
children: [s && io.jsx(us, {
className: "sol-c-toast__icon",
size: "150",
source: s
}), (p || t || e) && io.jsxs(Es, {
className: "sol-c-toast__container",
gap: "075",
vertical: !0,
children: [(p || t) && io.jsxs(Es, {
gap: "025",
vertical: !0,
children: [P && io.jsx(ds, {
className: "sol-c-toast__title",
color: "foreground",
id: y,
offset: !0,
variant: "emphasis-m",
children: p ?? t
}), T && io.jsx(ds, {
className: "sol-c-toast__content",
color: "foreground-weak",
id: _,
variant: "body-s",
children: t
})]
}), e && io.jsx(Es, {
align: "center",
className: "sol-c-toast__actions",
gap: "050",
wrap: !0,
children: e.map((({
close: e = !0,
label: t,
onClick: n,
...r
}, i) => io.jsx(gs, {
color: "informative" !== h ? h : "default",
size: "medium",
variant: i > 0 ? "monochrome" : "default",
...r,
className: Ao("sol-c-toast__action", r.className),
onClick: C({
close: e,
onClick: n
}),
children: t
}, i)))
})]
}), r && io.jsx(gs, {
"aria-label": "string" == typeof r ? r : "Close",
className: "sol-c-toast__close",
icon: ho,
onClick: E,
size: "small",
variant: "monochrome"
})]
})
}));
eo('@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 dy = (0, Ee.forwardRef)((({
className: e,
style: t,
toasts: n,
component: r = uy,
...i
}, a) => {
let o = (0, Ee.useMemo)((() => new WeakMap), []),
[s, l] = (0, Ee.useState)(0);
No((() => l(document.querySelector(".sol-c-app-header")?.clientHeight ?? 0)), []);
let c = function(e, t, n) {
let r = xf.fun(t) && t,
{
reset: i,
sort: a,
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 ? ev() : void 0), []),
h = Ef(e),
f = [],
m = (0, Ee.useRef)(null),
g = i ? null : m.current;
Rm((() => {
m.current = f
})), Lm((() => (kf(f, (e => {
p?.add(e.ctrl), e.ctrl.ref = p
})), () => {
kf(m.current, (e => {
e.expired && clearTimeout(e.expirationId), dg(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) : nv++
}))
}
return xf.und(n) ? e : xf.fun(n) ? e.map(n) : Ef(n)
}(h, r ? r() : t, g),
y = i && m.current || [];
Rm((() => kf(y, (({
ctrl: e,
item: t,
key: n
}) => {
dg(e, p), Jm(c, t, n)
}))));
let _ = [];
if (g && kf(g, ((e, t) => {
e.expired ? (clearTimeout(e.expirationId), y.push(e)) : ~(t = _[t] = v.indexOf(e.key)) && (f[t] = e)
})), kf(h, ((e, t) => {
f[t] || (f[t] = {
key: v[t],
item: e,
phase: "mount",
ctrl: new $g
}, f[t].ctrl.item = e)
})), _.length) {
let e = -1,
{
leave: n
} = r ? r() : t;
kf(_, ((t, r) => {
let i = g[r];
~t ? (e = f.indexOf(i), f[e] = {
...i,
item: h[t]
}) : n && f.splice(++e, 0, i)
}))
}
xf.fun(a) && f.sort(((e, t) => a(e.item, t.item)));
let b = -o,
x = Dm(),
w = ig(t),
k = new Map,
S = (0, Ee.useRef)(new Map),
E = (0, Ee.useRef)(!1);
kf(f, ((e, n) => {
let i, a, c = e.key,
p = e.phase,
h = r ? r() : t,
f = Jm(h.delay || 0, c);
if ("mount" == p) i = h.enter, a = "enter";
else {
let e = 0 > v.indexOf(c);
if ("leave" != p)
if (e) i = h.leave, a = "leave";
else {
if (!(i = h.update)) return;
a = "update"
}
else {
if (e) return;
i = h.enter, a = "enter"
}
}
if (i = Jm(i, e.item, n), !(i = xf.obj(i) ? sg(i) : {
to: i
}).config) {
let t = d || w.config;
i.config = Jm(t, e.item, n, a)
}
b += o;
let y = {
...w,
delay: f + b,
ref: u,
immediate: h.immediate,
reset: !1,
...i
};
if ("enter" == a && xf.und(y.from)) {
let i = r ? r() : t,
a = xf.und(i.initial) || g ? i.from : i.initial;
y.from = Jm(a, e.item, n)
}
let {
onResolve: _
} = y;
y.onResolve = e => {
Jm(_, 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 = Jm(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 = Hg(e.ctrl, y);
"leave" === a && l ? S.current.set(e, {
phase: a,
springs: I,
payload: y
}) : k.set(e, {
phase: a,
springs: I,
payload: y
})
}));
let I = (0, Ee.useContext)(Xg),
O = jm(I),
C = I !== O && cg(I);
Rm((() => {
C && kf(f, (e => {
e.ctrl.start({
default: I
})
}))
}), [I]), kf(k, ((e, t) => {
if (S.current.size) {
let e = f.findIndex((e => e.key === t.key));
f.splice(e, 1)
}
})), Rm((() => {
kf(S.current.size ? S.current : k, (({
phase: e,
payload: t
}, n) => {
let {
ctrl: r
} = n;
n.phase = e, p?.add(r), C && "enter" == e && r.start({
default: I
}), t && (pg(r, t.ref), !r.ref && !p || E.current ? (r.start(t), E.current && (E.current = !1)) : r.update(t))
}))
}), void 0);
let A = e => Ee.createElement(Ee.Fragment, null, f.map(((t, n) => {
let {
springs: r
} = k.get(t) || t.ctrl, i = e({
...r
}, t.item, t, n);
return i && i.type ? Ee.createElement(i.type, {
...i.props,
key: xf.str(t.key) || xf.num(t.key) ? t.key : t.ctrl.id,
ref: i.ref
}) : i
})));
return p ? [A, p] : A
}(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 = Ao("sol-c-toasts", e),
d = {
...t,
top: s
};
return io.jsx("ul", {
"aria-live": "polite",
className: u,
ref: a,
style: d,
...i,
children: c(((e, t) => io.jsx(yv.li, {
className: "sol-c-toasts__wrapper",
ref: e => e && o.set(t, e),
style: e,
children: io.jsx(r, {
role: "status",
...t
})
})))
})
}));
eo("@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 py = ({
targetInfo: e,
disableMaskInteraction: t,
padding: n,
radius: r,
tourRoot: i,
close: a,
disableCloseOnClick: o,
maskId: s
}) => {
let {
width: l,
height: c
} = Mo({
ref: i
}), u = `clip-path-${s}`, d = (0, Ee.useMemo)((() => {
if (!e) return "";
let {
dims: {
height: t,
width: i
},
coords: {
x: a,
y: o
}
} = e, s = o - n, u = a - n, d = a + i + 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 io.jsxs("svg", {
style: {
height: c,
width: l,
pointerEvents: t ? "auto" : "none"
},
children: [e && io.jsx("defs", {
children: io.jsx("clipPath", {
id: u,
children: io.jsx("path", {
d: d
})
})
}), io.jsx("rect", {
onClick: o ? void 0 : a,
x: 0,
y: 0,
width: l,
height: c,
pointerEvents: "auto",
clipPath: e ? `url(#${u})` : void 0,
fill: "currentColor"
})]
})
},
hy = ({
allSteps: e,
close: t,
counterSeparator: n,
doneLabel: r,
next: i,
nextLabel: a,
skipLabel: o,
stepContent: {
title: s,
description: l
},
stepIndex: c
}) => {
let u = c === e.length - 1;
return io.jsxs(Es, {
className: "sol-c-tutorial",
vertical: !0,
gap: "050",
children: [io.jsxs(Es, {
className: "sol-c-tutorial__content",
gap: "025",
vertical: !0,
children: [io.jsx(ds, {
as: "h2",
color: "foreground",
variant: "emphasis-m",
children: s
}), l && io.jsx(ds, {
color: "foreground-weak",
className: "sol-u-margin-bs-050",
variant: "body-s",
children: l
})]
}), io.jsxs(Es, {
align: "center",
className: "sol-c-tutorial__footer",
gap: "050",
children: [io.jsxs(ds, {
className: "sol-c-tutorial__counter sol-u-margin-ie-auto",
color: "foreground-weak",
variant: "body-xs",
children: [c + 1, n, e.length]
}), !u && io.jsx(gs, {
onClick: () => t(),
variant: "plain",
children: o
}), io.jsx(gs, {
onClick: () => {
u ? t() : i()
},
children: u ? r : a
})]
})]
})
},
fy = '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 my(e) {
return {
x: e.scrollLeft,
y: e.scrollTop
}
}
function gy(e, t) {
let n = my(e);
return {
x: t.x + n.x,
y: t.y + n.y
}
}
function vy(e, t) {
if (t && e) {
if (Cy(e)) return gy(e, t);
{
let n = Iy(e);
return gy(e, {
x: t.x - n.x,
y: t.y - n.y
})
}
}
}
function yy(e, t, n) {
return {
x: e.x + t.width / 2 - n.width / 2,
y: e.y + t.height / 2 - n.height / 2
}
}
function _y(e, t, n, r, i) {
if (!e || !t || !n) return;
let a = r || Iy(t),
o = i || Iy(n),
s = Oy(t),
l = Oy(n),
{
coords: c,
dims: u
} = Ay(a, s, o, l);
return yy(c, u, Ly(e))
}
function by(e, t, n) {
if (!e) return;
return yy(n || jy(e), Ly(e), t ? Oy(t) : {
height: 0,
width: 0
})
}
function xy(e, t, n, r) {
let i = by(e, t),
a = i,
o = a => !r || zy(e, n) && zy(e, t, a, !0) ? i : by(e, t, Uy(e, _y(e, t, n, a)));
return (e, t, n, r) => {
if (t.orientation === sp.CENTER) return n === r.length - 1 && void 0 === e ? t : e;
if (void 0 === e) return a = o(t.coords), t;
{
let n = o(t.coords);
return Ey(n, t.coords) > Ey(a, e.coords) ? e : (a = n, t)
}
}
}
function wy(e) {
let {
target: t,
tooltip: n,
padding: r,
tooltipSeparation: i,
orientationPreferences: a,
getPositionFromCandidates: o,
root: s,
disableAutoScroll: l,
allowForeignTarget: c,
selector: u
} = e, d = t ? by(s, n, Uy(s, function(e, t) {
let n = Oy(t);
return yy(Iy(t), n, Ly(e))
}(s, t))) : by(s, n), p = vy(s, d);
if (!n || !s) return;
if (!t) return {
orientation: null,
coords: p
};
let h = c && Dy(s, u),
f = l || h,
m = function(e, t, n, r, i) {
let a;
if (!e || !t) return;
let o = Oy(t),
s = Iy(e),
l = Oy(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 = yy(s, l, o),
g = [{
orientation: sp.EAST,
coords: {
x: d,
y: u
}
}, {
orientation: sp.SOUTH,
coords: {
x: c,
y: p
}
}, {
orientation: sp.WEST,
coords: {
x: h,
y: u
}
}, {
orientation: sp.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,
i = s.y - n;
a = [{
orientation: sp.EASTNORTH,
coords: {
x: d,
y: i
}
}, {
orientation: sp.EASTSOUTH,
coords: {
x: d,
y: t
}
}, {
orientation: sp.SOUTHEAST,
coords: {
x: e,
y: p
}
}, {
orientation: sp.SOUTHWEST,
coords: {
x: r,
y: p
}
}, {
orientation: sp.WESTSOUTH,
coords: {
x: h,
y: t
}
}, {
orientation: sp.WESTNORTH,
coords: {
x: h,
y: i
}
}, {
orientation: sp.NORTHWEST,
coords: {
x: r,
y: f
}
}, {
orientation: sp.NORTHEAST,
coords: {
x: e,
y: f
}
}]
}
return [...g, ...a, {
orientation: sp.CENTER,
coords: m
}]
}(t, n, r, i),
g = o || (e => function(e, t, n, r, i) {
if (1 === e.length) return e[0];
{
if (i) return e.reduce(xy(t, n, r, !1), void 0);
let a = Ly(t),
o = My(t),
s = jy(t),
l = Fy(t),
c = Oy(n),
u = Oy(r),
d = Iy(r),
p = e => Ay(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 Py(n, a)
})),
m = f.filter((e => {
let t = e.coords,
{
dims: n,
coords: r
} = p(t);
return Ty(n, a, r, s)
})),
g = m.length > 0 ? m : f;
return (g.length > 0 ? g : h).reduce(xy(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, a));
if (!v) return {
orientation: sp.CENTER,
coords: p
};
let y = {
orientation: v.orientation,
coords: vy(s, v.coords)
};
return h ? {
orientation: y.orientation,
coords: function(e, t, n, r) {
if (!e) return t;
let i = my(e),
a = Ly(e),
o = i.x + a.width,
s = i.y + a.height,
l = i.x + r,
c = i.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, y.coords, Oy(n), r + i)
} : y
}
function ky(e) {
return !!e && (!!e.x || 0 === e.x) && (!!e.y || 0 === e.y)
}
function Sy(e) {
return !!e && (!!e.height || 0 === e.height) && (!!e.width || 0 === e.height) && !(e.height < 0) && !(e.width < 0)
}
function Ey(e, t) {
if (ky(e) && ky(t)) return Math.sqrt(Math.pow(Math.abs(e.x - t.x), 2) + Math.pow(Math.abs(e.y - t.y), 2))
}
function Iy(e) {
if (!e) return;
let t = e.getBoundingClientRect();
return {
x: t.left,
y: t.top
}
}
function Oy(e) {
if (!e) return;
let t = e.getBoundingClientRect();
return {
width: t.width,
height: t.height
}
}
function Cy(e) {
return e.isSameNode(document.body) || e.isSameNode(document.scrollingElement) || e.isSameNode(document.documentElement)
}
function Ay(e, t, n, r) {
let i = (e, t) => ({
left: e.x,
right: e.x + t.width,
top: e.y,
bottom: e.y + t.height
}),
a = (e, t, n) => e > t ? n ? e : t : n ? t : e,
o = i(e, t),
s = i(n, r),
l = a(o.left, s.left, !1),
c = a(o.right, s.right, !0),
u = a(o.top, s.top, !1);
return {
coords: {
x: l,
y: u
},
dims: {
height: a(o.bottom, s.bottom, !0) - u,
width: c - l
}
}
}
function Py(e, t) {
return !(!Sy(e) || !Sy(t)) && e.height <= t.height && e.width <= t.width
}
function Ty(e, t, n, r) {
if (!Sy(e) || !Sy(t)) return !1;
let i = ky(n) ? n : {
x: 0,
y: 0
},
a = ky(r) ? r : {
x: 0,
y: 0
},
o = Py(e, t),
s = i.x >= a.x && i.x + e.width <= a.x + t.width,
l = i.y >= a.y && i.y + e.height <= a.y + t.height;
return o && s && l
}
function Ry(e, t, n) {
if (t) {
let e = function(e, t) {
let n = e.querySelectorAll(fy),
r = [];
return t && e.matches(fy) && 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 Dy(e, t) {
return !e.querySelector(t)
}
function Ly(e) {
return {
width: e.clientWidth,
height: e.clientHeight
}
}
function Ny(e) {
return {
width: e.scrollWidth,
height: e.scrollHeight
}
}
function jy(e) {
return Cy(e) ? {
x: 0,
y: 0
} : Iy(e)
}
function My(e) {
let t = my(e),
n = jy(e);
return {
x: n.x - t.x,
y: n.y - t.y
}
}
function Fy(e) {
let t = My(e),
{
width: n,
height: r
} = Ny(e);
return {
x: t.x + n,
y: t.y + r
}
}
function zy(e, t, n, r) {
if (!e || !t) return !1;
let i = n && (r ? vy(e, n) : n) || vy(e, Iy(t)),
a = Oy(t),
o = vy(e, jy(e));
return Ty(a, Ly(e), i, o)
}
function Uy(e, t) {
let n = Ly(e),
r = My(e),
i = Fy(e),
a = i.x - n.width,
o = i.y - n.height;
return t.x < r.x ? t.x = r.x : t.x > a ? t.x = a : t.x = t.x, t.y < r.y ? t.y = r.y : t.y > o ? t.y = o : t.y = t.y, t
}
function Vy(e) {
let {
targetInfo: t,
disableMaskInteraction: n,
padding: r,
radius: i,
tourRoot: a,
close: o,
disableCloseOnClick: s,
maskId: l
} = e, {
width: c,
height: u
} = Ny(a), d = `clip-path-${l}`;
return io.jsxs("svg", {
style: {
height: u,
width: c,
pointerEvents: n ? "auto" : "none"
},
children: [t && io.jsx("defs", {
children: io.jsx("clipPath", {
id: d,
children: io.jsx("path", {
d: (e => {
if (!e) return "";
let {
dims: t,
coords: n
} = e, a = n.y - r, o = n.x - r, s = n.x + t.width + r, l = n.y + t.height + r;
return i > 0 ? `M 0, 0\n L 0, ${u}\n L ${o}, ${u}\n L ${o}, ${a+i}\n Q ${o}, ${a}, ${o+i}, ${a}\n L ${s-i}, ${a}\n Q ${s}, ${a}, ${s}, ${a+i}\n L ${s}, ${l-i}\n Q ${s}, ${l}, ${s-i}, ${l}\n L ${o+i}, ${l}\n Q ${o}, ${l}, ${o}, ${l-i}\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}, ${a}\n L ${s}, ${a}\n L ${s}, ${l}\n L ${o}, ${l}\n L ${o}, ${u}\n L ${c}, ${u}\n L ${c}, 0`
})(t)
})
})
}), io.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
})]
})
}(rp = sp || (sp = {})).EAST = "east", rp.SOUTH = "south", rp.WEST = "west", rp.NORTH = "north", rp.CENTER = "center", rp.EASTNORTH = "east-north", rp.EASTSOUTH = "east-south", rp.SOUTHEAST = "south-east", rp.SOUTHWEST = "south-west", rp.WESTSOUTH = "west-south", rp.WESTNORTH = "west-north", rp.NORTHWEST = "north-west", rp.NORTHEAST = "north-east";
let By = {
cursor: "pointer",
padding: "4px 16px",
textAlign: "center",
border: 0,
borderRadius: 3,
backgroundColor: "#0084ff",
color: "#fff",
fontSize: 14,
margin: 4
},
Gy = {
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: {
...By,
backgroundColor: "#0084ff",
color: "#ffffff"
},
secondaryButton: {
...By,
backgroundColor: "#8400ff",
color: "#fff",
border: "solid 1px #8400ff"
},
tertiaryButton: {
...By,
marginRight: "auto",
backgroundColor: "transparent",
color: "#025c53",
border: "solid 1px #025c53"
},
disabledButton: {
...By,
backgroundColor: "#bebebe",
color: "#989898",
cursor: "default"
}
};
function $y(e) {
let {
next: t,
prev: n,
close: r,
stepContent: {
title: i,
description: a,
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: Gy,
...e
}, y = {
...v.tooltip
}, _ = void 0 !== d ? d : 0 === m, b = void 0 !== u ? u : m + 1 === g.length;
return io.jsxs("div", {
style: y,
children: [o ? o(i, e) : i && io.jsx("div", {
style: v.title,
children: i
}), s ? s(a, e) : io.jsx("div", {
style: v.description,
children: a
}), l ? l(e) : io.jsxs("div", {
style: v.footer,
children: [io.jsx("button", {
onClick: () => r(),
style: {
...v.tertiaryButton,
...c && v.disabledButton
},
disabled: c,
children: f || "close"
}), io.jsx("button", {
onClick: n,
disabled: _,
style: {
...v.secondaryButton,
..._ && v.disabledButton
},
children: h || "prev"
}), io.jsx("button", {
onClick: () => t(),
disabled: b,
style: {
...v.primaryButton,
...b && v.disabledButton
},
children: p || "next"
})]
})]
})
}
function qy(e, t) {
return `${e}${t?`-${t}`:""}`
}
function Wy(e) {
let {
start: t,
end: n,
beforeStart: r,
afterEnd: i,
lightningRod: a
} = 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 === a && (e.preventDefault(), t.focus()) : (e.preventDefault(), i ? i.focus() : t.focus()))
}
}
function Hy(e) {
let {
root: t,
tooltip: n,
target: r,
disableAutoScroll: i,
allowForeignTarget: a,
selector: o
} = e;
return !!t && !!n && !!r && !i && (a && o ? !Dy(t, o) : function(e) {
let {
root: t,
tooltip: n,
tooltipPosition: r,
target: i
} = e;
return !zy(t, n, r) || !zy(t, i) && Py(Oy(i), Ly(t))
}({
...e
}))
}
let Ky = {
maskPadding: 5,
maskRadius: 0,
tooltipSeparation: 10,
transition: "top 300ms ease, left 300ms ease",
disableMaskInteraction: !1,
disableCloseOnClick: !1,
zIndex: 9999,
renderTolerance: 2,
updateInterval: 500
},
Yy = e => {
let {
steps: t,
initialStepIndex: n,
isOpen: r
} = e, i = void 0 !== r, [a, 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), y = (0, Ee.useRef)(void 0), _ = (0, Ee.useRef)(void 0), b = t[d], x = i ? r : a, w = {
...Ky,
...e,
...b
}, {
selector: k,
maskPadding: S,
maskRadius: E,
disableMaskInteraction: I,
disableCloseOnClick: O,
tooltipSeparation: C,
transition: A,
orientationPreferences: P,
customTooltipRenderer: T,
zIndex: R,
rootSelector: D,
customNextFunc: L,
customPrevFunc: N,
customCloseFunc: j,
disableClose: M,
disableNext: F,
disablePrev: z,
disableAutoScroll: U,
identifier: V,
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)((() => ie), []), (0, Ee.useEffect)((() => {
let e;
D && (e = document.querySelector(D)), e || (e = function e(t) {
let n = (e, t) => getComputedStyle(e, null).getPropertyValue(t);
return !t || Cy(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)
}), [D, v.current, x]), (0, Ee.useEffect)((() => {
Z && console.log(`walktour debug (${V?`${V}, `:""}${d}):`, {
"options:": w,
"tour logic:": oe,
"previous state/vars:": {
isOpenState: a,
tourRoot: h,
target: s,
tooltipPosition: c,
targetPosition: y,
currentStepIndex: d,
targetSize: _
}
}), g.current && x ? (g.current.focus(), ne()) : ie()
}), [d, b, x, h, g.current]);
let ne = () => {
ie();
let e = g.current;
if (!h || !e) return l(null), u(null), y.current = null, void(_.current = null);
let t = X ? document : h,
n = () => t.querySelector(k),
r = n(),
i = vy(h, Iy(r)),
a = Oy(r),
o = W ? 0 : S,
s = wy({
target: r,
tooltip: e,
padding: o,
tooltipSeparation: C,
orientationPreferences: P,
root: h,
getPositionFromCandidates: B,
disableAutoScroll: U,
allowForeignTarget: X,
selector: k
});
l(r), u(s), y.current = i, _.current = a;
let c = ((e, t, n) => {
let r, i, a;
if (!e) return;
let {
start: o,
end: s
} = Ry(e, e), {
start: l,
end: c
} = Ry(void 0, t, !0);
t && !n && l && c && (i = l, r = c, a = Wy({
start: l,
end: c,
beforeStart: s,
afterEnd: o
}), t.addEventListener("keydown", a));
let u = Wy({
start: o,
end: s,
beforeStart: r,
afterEnd: i,
lightningRod: e
});
return e.addEventListener("keydown", u), () => {
t && t.removeEventListener("keydown", a), e.removeEventListener("keydown", u)
}
})(e, r, I);
if (m.current.push(c), Hy({
disableAutoScroll: U,
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, _y(h, e, r, s.coords, i), 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: i,
rerenderTolerance: a
} = e;
if (!n && !r && !i) return !1;
if (!n && r && i || n && !r && !i) return !0;
let o = Oy(n),
s = vy(t, Iy(n)),
l = function(e, t) {
if (Sy(e) && Sy(t)) return Math.abs(e.height * e.width - t.height * t.width)
}(o, i) > a,
c = Ey(s, r) > a;
return l || c
}({
...e
}) || Hy({
...e
}) || function(e) {
let {
target: t,
root: n,
tooltip: r,
tooltipPosition: i
} = e;
return !(t || !n || !r) && 0 !== Ey(wy({
...e
}).coords, i)
}({
...e
}))
})({
root: h,
tooltipPosition: s.coords,
tooltip: e,
target: t,
disableAutoScroll: U,
rerenderTolerance: $,
targetCoords: y.current,
targetDims: _.current,
allowForeignTarget: X,
selector: k,
getPositionFromCandidates: B,
orientationPreferences: P,
padding: o,
tooltipSeparation: C
}) && ne()
},
i = function(e) {
let {
update: t,
customSetListener: n,
customRemoveListener: r,
event: i
} = {
event: "resize",
...e
};
return n && r ? (n(t), () => r(t)) : (window.addEventListener(i, t), () => window.removeEventListener(i, 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(i), 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)
},
ie = () => {
m.current.forEach((e => e())), m.current = []
},
ae = {
next: () => re(d + 1),
prev: () => re(d - 1),
close: e => (e => {
e && re(0), i || o(!1), ie(), s && s.focus()
})(e),
goToStep: re,
stepContent: {
...w
},
stepIndex: d,
allSteps: t,
tooltipPosition: c
},
oe = {
...ae,
...L && {
next: e => L(ae, e)
},
...N && {
prev: () => N(ae)
},
...j && {
close: () => j(ae)
}
},
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: R,
visibility: c ? "visible" : "hidden",
pointerEvents: "none"
},
ce = {
position: "absolute",
top: c?.coords?.y,
left: c?.coords?.x,
transition: A,
pointerEvents: "auto"
},
ue = te || Vy,
de = () => io.jsx("div", {
ref: e => v.current = e,
id: qy("walktour-portal", V),
style: le,
children: h && io.jsxs(io.Fragment, {
children: [!W && io.jsx(ue, {
maskId: qy("walktour-mask", V),
targetInfo: function(e, t) {
if (!e || !t) return;
let n = Oy(t);
return {
coords: vy(e, Iy(t)),
dims: n
}
}(h, s),
disableMaskInteraction: I,
disableCloseOnClick: O,
padding: S,
radius: E,
tourRoot: h,
close: oe.close
}), io.jsx("div", {
ref: e => g.current = e,
id: qy("walktour-tooltip-container", V),
style: ce,
onKeyDown: se,
tabIndex: 0,
children: T ? T(oe) : io.jsx($y, {
...oe
})
})]
})
});
return h ? (0, Xa.createPortal)(de(), Cy(h) ? document.body : h) : de()
},
Qy = (e, t) => (t ? {
bottom: sp.SOUTH,
"bottom-end": sp.SOUTHWEST,
"bottom-start": sp.SOUTHEAST,
left: sp.EAST,
"left-end": sp.EASTSOUTH,
"left-start": sp.EASTNORTH,
right: sp.WEST,
"right-end": sp.WESTSOUTH,
"right-start": sp.WESTNORTH,
top: sp.NORTH,
"top-end": sp.NORTHWEST,
"top-start": sp.NORTHEAST
} : {
bottom: sp.SOUTH,
"bottom-end": sp.SOUTHEAST,
"bottom-start": sp.SOUTHWEST,
left: sp.WEST,
"left-end": sp.WESTSOUTH,
"left-start": sp.WESTNORTH,
right: sp.EAST,
"right-end": sp.EASTSOUTH,
"right-start": sp.EASTNORTH,
top: sp.NORTH,
"top-end": sp.NORTHEAST,
"top-start": sp.NORTHWEST
})[e],
Zy = (e, t) => e.map((({
selector: e,
title: n,
description: r,
placement: i = "bottom-start",
padding: a = 4
}) => ({
selector: e ?? "sol-tutorial-fullscreen",
title: n,
description: r,
maskPadding: a,
orientationPreferences: [Qy(i, t)]
}))),
Xy = ({
children: e,
counterSeparator: t = " of ",
doneLabel: n = "Done",
nextLabel: r = "Next",
onOpenChange: i,
open: a = !1,
skipLabel: o = "Skip",
steps: s
}) => {
let {
direction: l = "ltr"
} = Qo(), [c, u] = Lo({
value: a,
onChange: i
}), d = {
counterSeparator: t,
doneLabel: n,
nextLabel: r,
skipLabel: o
};
return io.jsxs(io.Fragment, {
children: [io.jsx(Yy, {
customTooltipRenderer: e => io.jsx(hy, {
...d,
...e
}),
disableMaskInteraction: !0,
disableCloseOnClick: !0,
maskRadius: 4,
renderMask: e => io.jsx(py, {
...e
}),
isOpen: c,
customCloseFunc: ({
close: e
}) => {
e(!0), u(!1), i?.(!1)
},
tooltipSeparation: 4,
steps: Zy(s, "rtl" === l)
}), e]
})
},
Jy = Po((({
buttonRef: e,
className: t,
disabled: n,
label: r = "Volume",
muteLabel: i = "Mute",
onChange: a,
sliderRef: o,
unmuteLabel: s = "Unmute",
value: l = 0,
...c
}, u) => {
let d = (0, Ee.useId)(),
[p, h] = Lo({
value: l,
onChange: a
}),
[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]),
y = (0, Ee.useMemo)((() => {
switch (!0) {
case p >= 50:
return Oo;
case p >= 25:
return Io;
case p >= 1:
return Eo;
default:
return yo
}
}), [p]),
_ = Ao("sol-c-volume-slider", t);
return io.jsxs(Es, {
align: "center",
className: _,
gap: "025",
ref: u,
...c,
children: [io.jsx(gs, {
"aria-controls": d,
"aria-label": 0 === p ? s : i,
className: "sol-c-volume-slider__button",
disabled: n,
onClick: v,
ref: e,
size: "small",
icon: y,
variant: "plain"
}), io.jsx(ly, {
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 e_ = Object.prototype.toString;
function t_(e) {
switch (e_.call(e)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
return !0;
default:
return d_(e, Error)
}
}
function n_(e, t) {
return e_.call(e) === `[object ${t}]`
}
function r_(e) {
return n_(e, "ErrorEvent")
}
function i_(e) {
return n_(e, "DOMError")
}
function a_(e) {
return n_(e, "String")
}
function o_(e) {
return "object" === typeof e && null !== e && "__sentry_template_string__" in e && "__sentry_template_values__" in e
}
function s_(e) {
return null === e || o_(e) || "object" !== typeof e && "function" !== typeof e
}
function l_(e) {
return n_(e, "Object")
}
function c_(e) {
return "undefined" !== typeof Event && d_(e, Event)
}
function u_(e) {
return Boolean(e && e.then && "function" === typeof e.then)
}
function d_(e, t) {
try {
return e instanceof t
} catch (n) {
return !1
}
}
function p_(e) {
return !("object" !== typeof e || null === e || !e.__isVue && !e._isVue)
}
const h_ = "8.33.1",
f_ = globalThis;
function m_(e, t, n) {
const r = n || f_,
i = r.__SENTRY__ = r.__SENTRY__ || {},
a = i[h_] = i[h_] || {};
return a[e] || (a[e] = t())
}
const g_ = f_;
function v_(e, t = {}) {
if (!e) return "<unknown>";
try {
let n = e;
const r = 5,
i = [];
let a = 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 && a++ < r && (c = y_(n, u), !("html" === c || a > 1 && o + i.length * l + c.length >= d));) i.push(c), o += c.length, n = n.parentNode;
return i.reverse().join(s)
} catch (n) {
return "<unknown>"
}
}
function y_(e, t) {
const n = e,
r = [];
if (!n || !n.tagName) return "";
if (g_.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 i = t && t.length ? t.filter((e => n.getAttribute(e))).map((e => [e, n.getAttribute(e)])) : null;
if (i && i.length) i.forEach((e => {
r.push(`[${e[0]}="${e[1]}"]`)
}));
else {
n.id && r.push(`#${n.id}`);
const e = n.className;
if (e && a_(e)) {
const t = e.split(/\s+/);
for (const e of t) r.push(`.${e}`)
}
}
const a = ["aria-label", "type", "name", "title", "alt"];
for (const o of a) {
const e = n.getAttribute(o);
e && r.push(`[${o}="${e}"]`)
}
return r.join("")
}
function __() {
try {
return g_.document.location.href
} catch (gc) {
return ""
}
}
function b_(e) {
if (!g_.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
}
const x_ = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
w_ = ["debug", "info", "warn", "error", "log", "assert", "trace"],
k_ = {};
function S_(e) {
if (!("console" in f_)) return e();
const t = f_.console,
n = {},
r = Object.keys(k_);
r.forEach((e => {
const r = k_[e];
n[e] = t[e], t[e] = r
}));
try {
return e()
} finally {
r.forEach((e => {
t[e] = n[e]
}))
}
}
const E_ = m_("logger", (function() {
let e = !1;
const t = {
enable: () => {
e = !0
},
disable: () => {
e = !1
},
isEnabled: () => e
};
return x_ ? w_.forEach((n => {
t[n] = (...t) => {
e && S_((() => {
f_.console[n](`Sentry Logger [${n}]:`, ...t)
}))
}
})) : w_.forEach((e => {
t[e] = () => {}
})), t
}));
function I_(e, t = 0) {
return "string" !== typeof e || 0 === t || e.length <= t ? e : `${e.slice(0,t)}...`
}
function O_(e, t) {
if (!Array.isArray(e)) return "";
const n = [];
for (let i = 0; i < e.length; i++) {
const t = e[i];
try {
p_(t) ? n.push("[VueViewModel]") : n.push(String(t))
} catch (r) {
n.push("[value cannot be serialized]")
}
}
return n.join(t)
}
function C_(e, t, n = !1) {
return !!a_(e) && (n_(t, "RegExp") ? t.test(e) : !!a_(t) && (n ? e === t : e.includes(t)))
}
function A_(e, t = [], n = !1) {
return t.some((t => C_(e, t, n)))
}
function P_(e, t, n) {
if (!(t in e)) return;
const r = e[t],
i = n(r);
"function" === typeof i && R_(i, r), e[t] = i
}
function T_(e, t, n) {
try {
Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
})
} catch (r) {
x_ && E_.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function R_(e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, T_(e, "__sentry_original__", t)
} catch (n) {}
}
function D_(e) {
return e.__sentry_original__
}
function L_(e) {
if (t_(e)) return {
message: e.message,
name: e.name,
stack: e.stack,
...j_(e)
};
if (c_(e)) {
const t = {
type: e.type,
target: N_(e.target),
currentTarget: N_(e.currentTarget),
...j_(e)
};
return "undefined" !== typeof CustomEvent && d_(e, CustomEvent) && (t.detail = e.detail), t
}
return e
}
function N_(e) {
try {
return t = e, "undefined" !== typeof Element && d_(t, Element) ? v_(e) : Object.prototype.toString.call(e)
} catch (n) {
return "<unknown>"
}
var t
}
function j_(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 M_(e) {
return F_(e, new Map)
}
function F_(e, t) {
if (function(e) {
if (!l_(e)) return !1;
try {
const t = Object.getPrototypeOf(e).constructor.name;
return !t || "Object" === t
} catch (t) {
return !0
}
}(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = {};
t.set(e, r);
for (const i of Object.getOwnPropertyNames(e)) "undefined" !== typeof e[i] && (r[i] = F_(e[i], t));
return r
}
if (Array.isArray(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = [];
return t.set(e, r), e.forEach((e => {
r.push(F_(e, t))
})), r
}
return e
}
const z_ = "baggage",
U_ = "sentry-",
V_ = /^sentry-/;
function B_(e) {
const t = function(e) {
if (!e || !a_(e) && !Array.isArray(e)) return;
if (Array.isArray(e)) return e.reduce(((e, t) => {
const n = $_(t);
return Object.entries(n).forEach((([t, n]) => {
e[t] = n
})), e
}), {});
return $_(e)
}(e);
if (!t) return;
const n = Object.entries(t).reduce(((e, [t, n]) => {
if (t.match(V_)) {
e[t.slice(U_.length)] = n
}
return e
}), {});
return Object.keys(n).length > 0 ? n : void 0
}
function G_(e) {
if (!e) return;
return function(e) {
if (0 === Object.keys(e).length) return;
return Object.entries(e).reduce(((e, [t, n], r) => {
const i = `${encodeURIComponent(t)}=${encodeURIComponent(n)}`,
a = 0 === r ? i : `${e},${i}`;
return a.length > 8192 ? (x_ && E_.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`), e) : a
}), "")
}(Object.entries(e).reduce(((e, [t, n]) => (n && (e[`${U_}${t}`] = n), e)), {}))
}
function $_(e) {
return e.split(",").map((e => e.split("=").map((e => decodeURIComponent(e.trim()))))).reduce(((e, [t, n]) => (t && n && (e[t] = n), e)), {})
}
function q_() {
const e = f_,
t = e.crypto || e.msCrypto;
let n = () => 16 * Math.random();
try {
if (t && t.randomUUID) return t.randomUUID().replace(/-/g, "");
t && t.getRandomValues && (n = () => {
const e = new Uint8Array(1);
return t.getRandomValues(e), e[0]
})
} catch (zM) {}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, (e => (e ^ (15 & n()) >> e / 4).toString(16)))
}
function W_(e) {
return e.exception && e.exception.values ? e.exception.values[0] : void 0
}
function H_(e) {
const {
message: t,
event_id: n
} = e;
if (t) return t;
const r = W_(e);
return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || n || "<unknown>" : n || "<unknown>"
}
function K_(e, t, n) {
const r = e.exception = e.exception || {},
i = r.values = r.values || [],
a = i[0] = i[0] || {};
a.value || (a.value = t || ""), a.type || (a.type = n || "Error")
}
function Y_(e, t) {
const n = W_(e);
if (!n) return;
const r = n.mechanism;
if (n.mechanism = {
type: "generic",
handled: !0,
...r,
...t
}, t && "data" in t) {
const e = {
...r && r.data,
...t.data
};
n.mechanism.data = e
}
}
function Q_(e) {
if (e && e.__sentry_captured__) return !0;
try {
T_(e, "__sentry_captured__", !0)
} catch (t) {}
return !1
}
function Z_(e) {
return Array.isArray(e) ? e : [e]
}
const X_ = new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");
function J_(e, t) {
const n = function(e) {
if (!e) return;
const t = e.match(X_);
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 = B_(t),
{
traceId: i,
parentSpanId: a,
parentSampled: o
} = n || {};
return n ? {
traceId: i || q_(),
parentSpanId: a || q_().substring(16),
spanId: q_().substring(16),
sampled: o,
dsc: r || {}
} : {
traceId: i || q_(),
spanId: q_().substring(16)
}
}
function eb(e = q_(), t = q_().substring(16), n) {
let r = "";
return void 0 !== n && (r = n ? "-1" : "-0"), `${e}-${t}${r}`
}
function tb() {
return Date.now() / 1e3
}
const nb = function() {
const {
performance: e
} = f_;
if (!e || !e.now) return tb;
const t = Date.now() - e.now(),
n = void 0 == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / 1e3
}();
let rb;
const ib = (() => {
const {
performance: e
} = f_;
if (!e || !e.now) return void(rb = "none");
const t = 36e5,
n = e.now(),
r = Date.now(),
i = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
a = i < t,
o = e.timing && e.timing.navigationStart,
s = "number" === typeof o ? Math.abs(o + n - r) : t;
return a || s < t ? i <= s ? (rb = "timeOrigin", e.timeOrigin) : (rb = "navigationStart", o) : (rb = "dateNow", r)
})();
function ab() {
return ob(f_), f_
}
function ob(e) {
const t = e.__SENTRY__ = e.__SENTRY__ || {};
return t.version = t.version || h_, t[h_] = t[h_] || {}
}
function sb() {
return {
traceId: q_(),
spanId: q_().substring(16)
}
}
function lb(e) {
const t = nb(),
n = {
sid: q_(),
init: !0,
timestamp: t,
started: t,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: !1,
toJSON: () => function(e) {
return M_({
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 && cb(n, e), n
}
function cb(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 || nb(), 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 : q_()), 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)
}
const ub = "_sentrySpan";
function db(e, t) {
t ? T_(e, ub, t) : delete e[ub]
}
function pb(e) {
return e[ub]
}
class hb {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = sb()
}
clone() {
const e = new hb;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {
...this._tags
}, e._extra = {
...this._extra
}, e._contexts = {
...this._contexts
}, 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._requestSession = this._requestSession, e._attachments = [...this._attachments], e._sdkProcessingMetadata = {
...this._sdkProcessingMetadata
}, e._propagationContext = {
...this._propagationContext
}, e._client = this._client, e._lastEventId = this._lastEventId, db(e, pb(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 && cb(this._session, {
user: e
}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
getRequestSession() {
return this._requestSession
}
setRequestSession(e) {
return this._requestSession = e, this
}
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, r] = t instanceof fb ? [t.getScopeData(), t.getRequestSession()] : l_(t) ? [e, e.requestSession] : [],
{
tags: i,
extra: a,
user: o,
contexts: s,
level: l,
fingerprint: c = [],
propagationContext: u
} = n || {};
return this._tags = {
...this._tags,
...i
}, this._extra = {
...this._extra,
...a
}, this._contexts = {
...this._contexts,
...s
}, o && Object.keys(o).length && (this._user = o), l && (this._level = l), c.length && (this._fingerprint = c), u && (this._propagationContext = u), r && (this._requestSession = r), 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._requestSession = void 0, this._session = void 0, db(this, void 0), this._attachments = [], this._propagationContext = sb(), this._notifyScopeListeners(), this
}
addBreadcrumb(e, t) {
const n = "number" === typeof t ? t : 100;
if (n <= 0) return this;
const r = {
timestamp: tb(),
...e
},
i = this._breadcrumbs;
return i.push(r), this._breadcrumbs = i.length > n ? i.slice(-n) : i, 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: pb(this)
}
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = {
...this._sdkProcessingMetadata,
...e
}, this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t && t.event_id ? t.event_id : q_();
if (!this._client) return E_.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 && n.event_id ? n.event_id : q_();
if (!this._client) return E_.warn("No client configured on scope - will not capture message!"), r;
const i = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: i,
...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t && t.event_id ? t.event_id : q_();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (E_.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)
}
}
const fb = hb;
class mb {
constructor(e, t) {
let n, r;
n = e || new fb, r = t || new fb, 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 u_(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 gb() {
const e = ob(ab());
return e.stack = e.stack || new mb(m_("defaultCurrentScope", (() => new fb)), m_("defaultIsolationScope", (() => new fb)))
}
function vb(e) {
return gb().withScope(e)
}
function yb(e, t) {
const n = gb();
return n.withScope((() => (n.getStackTop().scope = e, t(e))))
}
function _b(e) {
return gb().withScope((() => e(gb().getIsolationScope())))
}
function bb(e) {
const t = ob(e);
return t.acs ? t.acs : {
withIsolationScope: _b,
withScope: vb,
withSetScope: yb,
withSetIsolationScope: (e, t) => _b(t),
getCurrentScope: () => gb().getScope(),
getIsolationScope: () => gb().getIsolationScope()
}
}
function xb() {
return bb(ab()).getCurrentScope()
}
function wb() {
return bb(ab()).getIsolationScope()
}
function kb(...e) {
const t = bb(ab());
if (2 === e.length) {
const [n, r] = e;
return n ? t.withSetScope(n, r) : t.withScope(r)
}
return t.withScope(e[0])
}
function Sb() {
return xb().getClient()
}
const Eb = "_sentryMetrics";
function Ib(e) {
const t = e[Eb];
if (!t) return;
const n = {};
for (const [, [r, i]] of t) {
(n[r] || (n[r] = [])).push(M_(i))
}
return n
}
const Ob = "sentry.source",
Cb = "sentry.sample_rate",
Ab = "sentry.op",
Pb = "sentry.origin",
Tb = "sentry.idle_span_finish_reason",
Rb = "sentry.measurement_unit",
Db = "sentry.measurement_value",
Lb = "sentry.exclusive_time";
function Nb(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)
}
function jb(e) {
const {
spanId: t,
traceId: n
} = e.spanContext(), {
data: r,
op: i,
parent_span_id: a,
status: o,
origin: s
} = Vb(e);
return M_({
parent_span_id: a,
span_id: t,
trace_id: n,
data: r,
op: i,
status: o,
origin: s
})
}
function Mb(e) {
const {
spanId: t,
traceId: n
} = e.spanContext(), {
parent_span_id: r
} = Vb(e);
return M_({
parent_span_id: r,
span_id: t,
trace_id: n
})
}
function Fb(e) {
const {
traceId: t,
spanId: n
} = e.spanContext();
return eb(t, n, Bb(e))
}
function zb(e) {
return "number" === typeof e ? Ub(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? Ub(e.getTime()) : nb()
}
function Ub(e) {
return e > 9999999999 ? e / 1e3 : e
}
function Vb(e) {
if (function(e) {
return "function" === typeof e.getSpanJSON
}(e)) return e.getSpanJSON();
try {
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: i,
name: a,
endTime: o,
parentSpanId: s,
status: l
} = e;
return M_({
span_id: t,
trace_id: n,
data: r,
description: a,
parent_span_id: s,
start_timestamp: zb(i),
timestamp: zb(o) || void 0,
status: Gb(l),
op: r[Ab],
origin: r[Pb],
_metrics_summary: Ib(e)
})
}
return {
span_id: t,
trace_id: n
}
} catch (t) {
return {}
}
}
function Bb(e) {
const {
traceFlags: t
} = e.spanContext();
return 1 === t
}
function Gb(e) {
if (e && 0 !== e.code) return 1 === e.code ? "ok" : e.message || "unknown_error"
}
const $b = "_sentryChildSpans",
qb = "_sentryRootSpan";
function Wb(e, t) {
const n = e[qb] || e;
T_(t, qb, n), e[$b] ? e[$b].add(t) : T_(e, $b, new Set([t]))
}
function Hb(e) {
const t = new Set;
return function e(n) {
if (!t.has(n) && Bb(n)) {
t.add(n);
const r = n[$b] ? Array.from(n[$b]) : [];
for (const t of r) e(t)
}
}(e), Array.from(t)
}
function Kb(e) {
return e[qb] || e
}
function Yb() {
const e = bb(ab());
return e.getActiveSpan ? e.getActiveSpan() : pb(xb())
}
function Qb(e) {
if ("boolean" === typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = Sb(),
n = e || t && t.getOptions();
return !!n && (n.enableTracing || "tracesSampleRate" in n || "tracesSampler" in n)
}
const Zb = "production",
Xb = "_frozenDsc";
function Jb(e, t) {
T_(e, Xb, t)
}
function ex(e, t) {
const n = t.getOptions(),
{
publicKey: r
} = t.getDsn() || {},
i = M_({
environment: n.environment || Zb,
release: n.release,
public_key: r,
trace_id: e
});
return t.emit("createDsc", i), i
}
function tx(e) {
const t = Sb();
if (!t) return {};
const n = ex(Vb(e).trace_id || "", t),
r = Kb(e),
i = r[Xb];
if (i) return i;
const a = r.spanContext().traceState,
o = a && a.get("sentry.dsc"),
s = o && B_(o);
if (s) return s;
const l = Vb(r),
c = l.data || {},
u = c[Cb];
null != u && (n.sample_rate = `${u}`);
const d = c[Ob],
p = l.description;
return "url" !== d && p && (n.transaction = p), Qb() && (n.sampled = String(Bb(r))), t.emit("createDsc", n, r), n
}
const nx = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function rx(e) {
if ("boolean" === typeof e) return Number(e);
const t = "string" === typeof e ? parseFloat(e) : e;
if (!("number" !== typeof t || isNaN(t) || t < 0 || t > 1)) return t;
nx && E_.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`)
}
class ix {
constructor(e = {}) {
this._traceId = e.traceId || q_(), this._spanId = e.spanId || q_().substring(16)
}
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 ax = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
function ox(e, t = !1) {
const {
host: n,
path: r,
pass: i,
port: a,
projectId: o,
protocol: s,
publicKey: l
} = e;
return `${s}://${l}${t&&i?`:${i}`:""}@${n}${a?`:${a}`:""}/${r?`${r}/`:r}${o}`
}
function sx(e) {
return {
protocol: e.protocol,
publicKey: e.publicKey || "",
pass: e.pass || "",
host: e.host,
port: e.port || "",
path: e.path || "",
projectId: e.projectId
}
}
function lx(e) {
const t = "string" === typeof e ? function(e) {
const t = ax.exec(e);
if (!t) return void S_((() => {
console.error(`Invalid Sentry Dsn: ${e}`)
}));
const [n, r, i = "", a = "", 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 sx({
host: a,
pass: i,
path: l,
projectId: c,
port: o,
protocol: n,
publicKey: r
})
}(e) : sx(e);
if (t && function(e) {
if (!x_) return !0;
const {
port: t,
projectId: n,
protocol: r
} = e;
return !["protocol", "publicKey", "host", "projectId"].find((t => !e[t] && (E_.error(`Invalid Sentry Dsn: ${t} missing`), !0))) && (n.match(/^\d+$/) ? function(e) {
return "http" === e || "https" === e
}(r) ? !t || !isNaN(parseInt(t, 10)) || (E_.error(`Invalid Sentry Dsn: Invalid port ${t}`), !1) : (E_.error(`Invalid Sentry Dsn: Invalid protocol ${r}`), !1) : (E_.error(`Invalid Sentry Dsn: Invalid projectId ${n}`), !1))
}(t)) return t
}
const cx = "?",
ux = /\(error: (.*)\)/,
dx = /captureMessage|captureException/;
function px(...e) {
const t = e.sort(((e, t) => e[0] - t[0])).map((e => e[1]));
return (e, n = 0, r = 0) => {
const i = [],
a = e.split("\n");
for (let o = n; o < a.length; o++) {
const e = a[o];
if (e.length > 1024) continue;
const n = ux.test(e) ? e.replace(ux, "$1") : e;
if (!n.match(/\S*Error: /)) {
for (const e of t) {
const t = e(n);
if (t) {
i.push(t);
break
}
}
if (i.length >= 50 + r) break
}
}
return hx(i.slice(r))
}
}
function hx(e) {
if (!e.length) return [];
const t = Array.from(e);
return /sentryWrapped/.test(fx(t).function || "") && t.pop(), t.reverse(), dx.test(fx(t).function || "") && (t.pop(), dx.test(fx(t).function || "") && t.pop()), t.slice(0, 50).map((e => ({
...e,
filename: e.filename || fx(t).filename,
function: e.function || cx
})))
}
function fx(e) {
return e[e.length - 1] || {}
}
const mx = "<anonymous>";
function gx(e) {
try {
return e && "function" === typeof e && e.name || mx
} catch (t) {
return mx
}
}
function vx(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 yx(e, t = 100, n = 1 / 0) {
try {
return bx("", e, t, n)
} catch (r) {
return {
ERROR: `**non-serializable** (${r})`
}
}
}
function _x(e, t = 3, n = 102400) {
const r = yx(e, t);
return i = r,
function(e) {
return ~-encodeURI(e).split(/%..|./).length
}(JSON.stringify(i)) > n ? _x(e, t - 1, n) : r;
var i
}
function bx(e, t, n = 1 / 0, r = 1 / 0, i = function() {
const e = "function" === typeof WeakSet,
t = e ? new WeakSet : [];
return [function(n) {
if (e) return !!t.has(n) || (t.add(n), !1);
for (let e = 0; e < t.length; e++)
if (t[e] === n) return !0;
return t.push(n), !1
}, function(n) {
if (e) t.delete(n);
else
for (let e = 0; e < t.length; e++)
if (t[e] === n) {
t.splice(e, 1);
break
}
}]
}()) {
const [a, o] = i;
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 (p_(t)) return "[VueViewModel]";
if (l_(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: ${gx(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 ? 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 (a(t)) return "[Circular ~]";
const c = t;
if (c && "function" === typeof c.toJSON) try {
return bx("", c.toJSON(), l - 1, r, i)
} catch (h) {}
const u = Array.isArray(t) ? [] : {};
let d = 0;
const p = L_(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] = bx(f, e, l - 1, r, i), d++
}
return o(t), u
}
function xx(e, t = []) {
return [e, t]
}
function wx(e, t) {
const [n, r] = e;
return [n, [...r, t]]
}
function kx(e, t) {
const n = e[1];
for (const r of n) {
if (t(r, r[0].type)) return !0
}
return !1
}
function Sx(e) {
return f_.__SENTRY__ && f_.__SENTRY__.encodePolyfill ? f_.__SENTRY__.encodePolyfill(e) : (new TextEncoder).encode(e)
}
function Ex(e) {
const [t, n] = e;
let r = JSON.stringify(t);
function i(e) {
"string" === typeof r ? r = "string" === typeof e ? r + e : [Sx(r), e] : r.push("string" === typeof e ? Sx(e) : e)
}
for (const o of n) {
const [e, t] = o;
if (i(`\n${JSON.stringify(e)}\n`), "string" === typeof t || t instanceof Uint8Array) i(t);
else {
let e;
try {
e = JSON.stringify(t)
} catch (a) {
e = JSON.stringify(yx(t))
}
i(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 i of e) n.set(i, r), r += i.length;
return n
}(r)
}
function Ix(e) {
return [{
type: "span"
}, e]
}
function Ox(e) {
const t = "string" === typeof e.data ? Sx(e.data) : e.data;
return [M_({
type: "attachment",
length: t.length,
filename: e.filename,
content_type: e.contentType,
attachment_type: e.attachmentType
}), t]
}
const Cx = {
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",
statsd: "metric_bucket"
};
function Ax(e) {
return Cx[e]
}
function Px(e) {
if (!e || !e.sdk) return;
const {
name: t,
version: n
} = e.sdk;
return {
name: t,
version: n
}
}
function Tx(e, t, n, r) {
const i = e.sdkProcessingMetadata && e.sdkProcessingMetadata.dynamicSamplingContext;
return {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && {
sdk: t
},
...!!n && r && {
dsn: ox(r)
},
...i && {
trace: M_({
...i
})
}
}
}
function Rx(e) {
if (!e || 0 === e.length) return;
const t = {};
return e.forEach((e => {
const n = e.attributes || {},
r = n[Rb],
i = n[Db];
"string" === typeof r && "number" === typeof i && (t[e.name] = {
value: i,
unit: r
})
})), t
}
const Dx = "_sentryScope",
Lx = "_sentryIsolationScope";
function Nx(e) {
return {
scope: e[Dx],
isolationScope: e[Lx]
}
}
class jx {
constructor(e = {}) {
this._traceId = e.traceId || q_(), this._spanId = e.spanId || q_().substring(16), this._startTime = e.startTimestamp || nb(), this._attributes = {}, this.setAttributes({
[Pb]: "manual",
[Ab]: 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
}
addLinks(e) {
return 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 = zb(e)
}
setStatus(e) {
return this._status = e, this
}
updateName(e) {
return this._name = e, this
}
end(e) {
this._endTime || (this._endTime = zb(e), function(e) {
if (!nx) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >"
} = Vb(e), {
spanId: r
} = e.spanContext(), i = `[Tracing] Finishing "${n}" ${Kb(e)===e?"root ":""}span "${t}" with ID ${r}`;
E_.log(i)
}(this), this._onSpanEnded())
}
getSpanJSON() {
return M_({
data: this._attributes,
description: this._name,
op: this._attributes[Ab],
parent_span_id: this._parentSpanId,
span_id: this._spanId,
start_timestamp: this._startTime,
status: Gb(this._status),
timestamp: this._endTime,
trace_id: this._traceId,
origin: this._attributes[Pb],
_metrics_summary: Ib(this),
profile_id: this._attributes["sentry.profile_id"],
exclusive_time: this._attributes[Lb],
measurements: Rx(this._events),
is_segment: this._isStandaloneSpan && Kb(this) === this || void 0,
segment_id: this._isStandaloneSpan ? Kb(this).spanContext().spanId : void 0
})
}
isRecording() {
return !this._endTime && !!this._sampled
}
addEvent(e, t, n) {
nx && E_.log("[Tracing] Adding an event to span:", e);
const r = Mx(t) ? t : n || nb(),
i = Mx(t) ? {} : t || {},
a = {
name: e,
time: zb(r),
attributes: i
};
return this._events.push(a), this
}
isStandaloneSpan() {
return !!this._isStandaloneSpan
}
_onSpanEnded() {
const e = Sb();
e && e.emit("spanEnd", this);
if (!(this._isStandaloneSpan || this === Kb(this))) return;
if (this._isStandaloneSpan) return void(this._sampled ? function(e) {
const t = Sb();
if (!t) return;
const n = e[1];
if (!n || 0 === n.length) return void t.recordDroppedEvent("before_send", "span");
const r = t.getTransport();
r && r.send(e).then(null, (e => {
nx && E_.error("Error while sending span:", e)
}))
}(function(e, t) {
const n = tx(e[0]),
r = t && t.getDsn(),
i = t && t.getOptions().tunnel,
a = {
sent_at: (new Date).toISOString(),
... function(e) {
return !!e.trace_id && !!e.public_key
}(n) && {
trace: n
},
...!!i && r && {
dsn: ox(r)
}
},
o = t && t.getOptions().beforeSendSpan,
s = o ? e => o(Vb(e)) : e => Vb(e),
l = [];
for (const c of e) {
const e = s(c);
e && l.push(Ix(e))
}
return xx(a, l)
}([this], e)) : (nx && E_.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) {
(Nx(this).scope || xb()).captureEvent(t)
}
}
_convertSpanToTransaction() {
if (!Fx(Vb(this))) return;
this._name || (nx && E_.warn("Transaction has no name, falling back to `<unlabeled transaction>`."), this._name = "<unlabeled transaction>");
const {
scope: e,
isolationScope: t
} = Nx(this), n = (e || xb()).getClient() || Sb();
if (!0 !== this._sampled) return nx && E_.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."), void(n && n.recordDroppedEvent("sample_rate", "transaction"));
const r = Hb(this).filter((e => e !== this && ! function(e) {
return e instanceof jx && e.isStandaloneSpan()
}(e))).map((e => Vb(e))).filter(Fx),
i = this._attributes[Ob],
a = {
contexts: {
trace: jb(this)
},
spans: r.length > 1e3 ? r.sort(((e, t) => e.start_timestamp - t.start_timestamp)).slice(0, 1e3) : r,
start_timestamp: this._startTime,
timestamp: this._endTime,
transaction: this._name,
type: "transaction",
sdkProcessingMetadata: {
capturedSpanScope: e,
capturedSpanIsolationScope: t,
...M_({
dynamicSamplingContext: tx(this)
})
},
_metrics_summary: Ib(this),
...i && {
transaction_info: {
source: i
}
}
},
o = Rx(this._events);
return o && Object.keys(o).length && (nx && E_.log("[Measurements] Adding measurements to transaction event", JSON.stringify(o, void 0, 2)), a.measurements = o), a
}
}
function Mx(e) {
return e && "number" === typeof e || e instanceof Date || Array.isArray(e)
}
function Fx(e) {
return !!e.start_timestamp && !!e.timestamp && !!e.span_id && !!e.trace_id
}
const zx = "__SENTRY_SUPPRESS_TRACING__";
function Ux(e) {
const t = $x();
if (t.startInactiveSpan) return t.startInactiveSpan(e);
const n = Gx(e),
{
forceTransaction: r,
parentSpan: i
} = e;
return (e.scope ? t => kb(e.scope, t) : void 0 !== i ? e => Vx(i, e) : e => e())((() => {
const t = xb(),
i = Wx(t);
return e.onlyIfParent && !i ? new ix : Bx({
parentSpan: i,
spanArguments: n,
forceTransaction: r,
scope: t
})
}))
}
function Vx(e, t) {
const n = $x();
return n.withActiveSpan ? n.withActiveSpan(e, t) : kb((n => (db(n, e || void 0), t(n))))
}
function Bx({
parentSpan: e,
spanArguments: t,
forceTransaction: n,
scope: r
}) {
if (!Qb()) return new ix;
const i = wb();
let a;
if (e && !n) a = function(e, t, n) {
const {
spanId: r,
traceId: i
} = e.spanContext(), a = !t.getScopeData().sdkProcessingMetadata[zx] && Bb(e), o = a ? new jx({
...n,
parentSpanId: r,
traceId: i,
sampled: a
}) : new ix({
traceId: i
});
Wb(e, o);
const s = Sb();
s && (s.emit("spanStart", o), n.endTimestamp && s.emit("spanEnd", o));
return o
}(e, r, t), Wb(e, a);
else if (e) {
const n = tx(e),
{
traceId: i,
spanId: o
} = e.spanContext(),
s = Bb(e);
a = qx({
traceId: i,
parentSpanId: o,
...t
}, r, s), Jb(a, n)
} else {
const {
traceId: e,
dsc: n,
parentSpanId: o,
sampled: s
} = {
...i.getPropagationContext(),
...r.getPropagationContext()
};
a = qx({
traceId: e,
parentSpanId: o,
...t
}, r, s), n && Jb(a, n)
}
return function(e) {
if (!nx) return;
const {
description: t = "< unknown name >",
op: n = "< unknown op >",
parent_span_id: r
} = Vb(e), {
spanId: i
} = e.spanContext(), a = Bb(e), o = Kb(e), s = o === e, l = `[Tracing] Starting ${a?"sampled":"unsampled"} ${s?"root ":""}span`, c = [`op: ${n}`, `name: ${t}`, `ID: ${i}`];
if (r && c.push(`parent ID: ${r}`), !s) {
const {
op: e,
description: t
} = Vb(o);
c.push(`root ID: ${o.spanContext().spanId}`), e && c.push(`root op: ${e}`), t && c.push(`root description: ${t}`)
}
E_.log(`${l}\n ${c.join("\n ")}`)
}(a),
function(e, t, n) {
e && (T_(e, Lx, n), T_(e, Dx, t))
}(a, r, i), a
}
function Gx(e) {
const t = {
isStandalone: (e.experimental || {}).standalone,
...e
};
if (e.startTime) {
const n = {
...t
};
return n.startTimestamp = zb(e.startTime), delete n.startTime, n
}
return t
}
function $x() {
return bb(ab())
}
function qx(e, t, n) {
const r = Sb(),
i = r && r.getOptions() || {},
{
name: a = "",
attributes: o
} = e,
[s, l] = t.getScopeData().sdkProcessingMetadata[zx] ? [!1] : function(e, t) {
if (!Qb(e)) return [!1];
let n;
n = "function" === typeof e.tracesSampler ? e.tracesSampler(t) : void 0 !== t.parentSampled ? t.parentSampled : "undefined" !== typeof e.tracesSampleRate ? e.tracesSampleRate : 1;
const r = rx(n);
return void 0 === r ? (nx && E_.warn("[Tracing] Discarding transaction because of invalid sample rate."), [!1]) : r ? Math.random() < r ? [!0, r] : (nx && E_.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(n)})`), [!1, r]) : (nx && E_.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, r])
}(i, {
name: a,
parentSampled: n,
attributes: o,
transactionContext: {
name: a,
parentSampled: n
}
}),
c = new jx({
...e,
attributes: {
[Ob]: "custom",
...e.attributes
},
sampled: s
});
return void 0 !== l && c.setAttribute(Cb, l), r && r.emit("spanStart", c), c
}
function Wx(e) {
const t = pb(e);
if (!t) return;
const n = Sb();
return (n ? n.getOptions() : {}).parentSpanIsAlwaysRootSpan ? Kb(t) : t
}
function Hx(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
}
}
const Kx = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
Yx = f_;
function Qx(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
const Zx = (e, t, n, r) => {
let i, a;
return o => {
t.value >= 0 && (o || r) && (a = t.value - (i || 0), (a || void 0 === i) && (i = t.value, t.delta = a, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)))
}
},
Xx = () => Yx.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0],
Jx = () => {
const e = Xx();
return e && e.activationStart || 0
},
ew = (e, t) => {
const n = Xx();
let r = "navigate";
n && (Yx.document && Yx.document.prerendering || Jx() > 0 ? r = "prerender" : Yx.document && Yx.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: `v3-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,
navigationType: r
}
},
tw = (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) {}
},
nw = e => {
const t = t => {
("pagehide" === t.type || Yx.document && "hidden" === Yx.document.visibilityState) && e(t)
};
Yx.document && (addEventListener("visibilitychange", t, !0), addEventListener("pagehide", t, !0))
},
rw = e => {
let t = !1;
return n => {
t || (e(n), t = !0)
}
};
let iw = -1;
const aw = e => {
"hidden" === Yx.document.visibilityState && iw > -1 && (iw = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("visibilitychange", aw, !0), removeEventListener("prerenderingchange", aw, !0))
},
ow = () => (Yx.document && iw < 0 && (iw = "hidden" !== Yx.document.visibilityState || Yx.document.prerendering ? 1 / 0 : 0, addEventListener("visibilitychange", aw, !0), addEventListener("prerenderingchange", aw, !0)), {
get firstHiddenTime() {
return iw
}
}),
sw = e => {
Yx.document && Yx.document.prerendering ? addEventListener("prerenderingchange", (() => e()), !0) : e()
},
lw = [1800, 3e3],
cw = [.1, .25],
uw = (e, t = {}) => {
((e, t = {}) => {
sw((() => {
const n = ow(),
r = ew("FCP");
let i;
const a = tw("paint", (e => {
e.forEach((e => {
"first-contentful-paint" === e.name && (a.disconnect(), e.startTime < n.firstHiddenTime && (r.value = Math.max(e.startTime - Jx(), 0), r.entries.push(e), i(!0)))
}))
}));
a && (i = Zx(e, r, lw, t.reportAllChanges))
}))
})(rw((() => {
const n = ew("CLS", 0);
let r, i = 0,
a = [];
const o = e => {
e.forEach((e => {
if (!e.hadRecentInput) {
const t = a[0],
n = a[a.length - 1];
i && t && n && e.startTime - n.startTime < 1e3 && e.startTime - t.startTime < 5e3 ? (i += e.value, a.push(e)) : (i = e.value, a = [e])
}
})), i > n.value && (n.value = i, n.entries = a, r())
},
s = tw("layout-shift", o);
s && (r = Zx(e, n, cw, t.reportAllChanges), nw((() => {
o(s.takeRecords()), r(!0)
})), setTimeout(r, 0))
})))
},
dw = [100, 300];
let pw = 0,
hw = 1 / 0,
fw = 0;
const mw = e => {
e.forEach((e => {
e.interactionId && (hw = Math.min(hw, e.interactionId), fw = Math.max(fw, e.interactionId), pw = fw ? (fw - hw) / 7 + 1 : 0)
}))
};
let gw;
const vw = () => {
"interactionCount" in performance || gw || (gw = tw("event", mw, {
type: "event",
buffered: !0,
durationThreshold: 0
}))
},
yw = [200, 500],
_w = () => (gw ? pw : performance.interactionCount || 0) - 0,
bw = [],
xw = {},
ww = e => {
const t = bw[bw.length - 1],
n = xw[e.interactionId];
if (n || bw.length < 10 || t && e.duration > t.latency) {
if (n) n.entries.push(e), n.latency = Math.max(n.latency, e.duration);
else {
const t = {
id: e.interactionId,
latency: e.duration,
entries: [e]
};
xw[t.id] = t, bw.push(t)
}
bw.sort(((e, t) => t.latency - e.latency)), bw.splice(10).forEach((e => {
delete xw[e.id]
}))
}
},
kw = (e, t = {}) => {
sw((() => {
vw();
const n = ew("INP");
let r;
const i = e => {
e.forEach((e => {
if (e.interactionId && ww(e), "first-input" === e.entryType) {
!bw.some((t => t.entries.some((t => e.duration === t.duration && e.startTime === t.startTime)))) && ww(e)
}
}));
const t = (() => {
const e = Math.min(bw.length - 1, Math.floor(_w() / 50));
return bw[e]
})();
t && t.latency !== n.value && (n.value = t.latency, n.entries = t.entries, r())
},
a = tw("event", i, {
durationThreshold: null != t.durationThreshold ? t.durationThreshold : 40
});
r = Zx(e, n, yw, t.reportAllChanges), a && ("PerformanceEventTiming" in Yx && "interactionId" in PerformanceEventTiming.prototype && a.observe({
type: "first-input",
buffered: !0
}), nw((() => {
i(a.takeRecords()), n.value < 0 && _w() > 0 && (n.value = 0, n.entries = []), r(!0)
})))
}))
},
Sw = [2500, 4e3],
Ew = {},
Iw = [800, 1800],
Ow = e => {
Yx.document && Yx.document.prerendering ? sw((() => Ow(e))) : Yx.document && "complete" !== Yx.document.readyState ? addEventListener("load", (() => Ow(e)), !0) : setTimeout(e, 0)
},
Cw = {},
Aw = {};
let Pw, Tw, Rw, Dw, Lw;
function Nw(e, t = !1) {
return Ww("cls", e, Vw, Pw, t)
}
function jw(e, t = !1) {
return Ww("lcp", e, Gw, Rw, t)
}
function Mw(e) {
return Ww("fid", e, Bw, Tw)
}
function Fw(e) {
return Ww("inp", e, qw, Lw)
}
function zw(e, t) {
return Hw(e, t), Aw[e] || (! function(e) {
const t = {};
"event" === e && (t.durationThreshold = 0);
tw(e, (t => {
Uw(e, {
entries: t
})
}), t)
}(e), Aw[e] = !0), Kw(e, t)
}
function Uw(e, t) {
const n = Cw[e];
if (n && n.length)
for (const i of n) try {
i(t)
} catch (r) {
Kx && E_.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${gx(i)}\nError:`, r)
}
}
function Vw() {
return uw((e => {
Uw("cls", {
metric: e
}), Pw = e
}), {
reportAllChanges: !0
})
}
function Bw() {
return ((e, t = {}) => {
sw((() => {
const n = ow(),
r = ew("FID");
let i;
const a = e => {
e.startTime < n.firstHiddenTime && (r.value = e.processingStart - e.startTime, r.entries.push(e), i(!0))
},
o = e => {
e.forEach(a)
},
s = tw("first-input", o);
i = Zx(e, r, dw, t.reportAllChanges), s && nw(rw((() => {
o(s.takeRecords()), s.disconnect()
})))
}))
})((e => {
Uw("fid", {
metric: e
}), Tw = e
}))
}
function Gw() {
return ((e, t = {}) => {
sw((() => {
const n = ow(),
r = ew("LCP");
let i;
const a = e => {
const t = e[e.length - 1];
t && t.startTime < n.firstHiddenTime && (r.value = Math.max(t.startTime - Jx(), 0), r.entries = [t], i())
},
o = tw("largest-contentful-paint", a);
if (o) {
i = Zx(e, r, Sw, t.reportAllChanges);
const n = rw((() => {
Ew[r.id] || (a(o.takeRecords()), o.disconnect(), Ew[r.id] = !0, i(!0))
}));
["keydown", "click"].forEach((e => {
Yx.document && addEventListener(e, (() => setTimeout(n, 0)), !0)
})), nw(n)
}
}))
})((e => {
Uw("lcp", {
metric: e
}), Rw = e
}), {
reportAllChanges: !0
})
}
function $w() {
return ((e, t = {}) => {
const n = ew("TTFB"),
r = Zx(e, n, Iw, t.reportAllChanges);
Ow((() => {
const e = Xx();
if (e) {
const t = e.responseStart;
if (t <= 0 || t > performance.now()) return;
n.value = Math.max(t - Jx(), 0), n.entries = [e], r(!0)
}
}))
})((e => {
Uw("ttfb", {
metric: e
}), Dw = e
}))
}
function qw() {
return kw((e => {
Uw("inp", {
metric: e
}), Lw = e
}))
}
function Ww(e, t, n, r, i = !1) {
let a;
return Hw(e, t), Aw[e] || (a = n(), Aw[e] = !0), r && t({
metric: r
}), Kw(e, t, i ? a : void 0)
}
function Hw(e, t) {
Cw[e] = Cw[e] || [], Cw[e].push(t)
}
function Kw(e, t, n) {
return () => {
n && n();
const r = Cw[e];
if (!r) return;
const i = r.indexOf(t); - 1 !== i && r.splice(i, 1)
}
}
function Yw(e) {
return "number" === typeof e && isFinite(e)
}
function Qw(e, t, n, {
...r
}) {
const i = Vb(e).start_timestamp;
return i && i > t && "function" === typeof e.updateStartTime && e.updateStartTime(t), Vx(e, (() => {
const e = Ux({
startTime: t,
...r
});
return e && e.end(n), e
}))
}
function Zw(e) {
const t = Sb();
if (!t) return;
const {
name: n,
transaction: r,
attributes: i,
startTime: a
} = e, {
release: o,
environment: s
} = t.getOptions(), l = t.getIntegrationByName("Replay"), c = l && l.getReplayId(), u = xb(), 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 (f) {}
return Ux({
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": Yx.navigator && Yx.navigator.userAgent,
...i
},
startTime: a,
experimental: {
standalone: !0
}
})
}
function Xw() {
return Yx && Yx.addEventListener && Yx.performance
}
function Jw(e) {
return e / 1e3
}
function ek() {
let e, t, n = 0;
if (! function() {
try {
return Qx([PerformanceObserver, "access", e => e.supportedEntryTypes, "optionalAccess", e => e.includes, "call", e => e("layout-shift")])
} catch (e) {
return !1
}
}()) return;
let r = !1;
function i() {
r || (r = !0, t && function(e, t, n) {
Kx && E_.log(`Sending CLS span (${e})`);
const r = Jw((ib || 0) + (Qx([t, "optionalAccess", e => e.startTime]) || 0)),
i = xb().getScopeData().transactionName,
a = t ? v_(Qx([t, "access", e => e.sources, "access", e => e[0], "optionalAccess", e => e.node])) : "Layout shift",
o = M_({
[Pb]: "auto.http.browser.cls",
[Ab]: "ui.webvital.cls",
[Lb]: Qx([t, "optionalAccess", e => e.duration]) || 0,
"sentry.pageload.span_id": n
}),
s = Zw({
name: a,
transaction: i,
attributes: o,
startTime: r
});
Qx([s, "optionalAccess", e => e.addEvent, "call", t => t("cls", {
[Rb]: "",
[Db]: e
})]), Qx([s, "optionalAccess", e => e.end, "call", e => e(r)])
}(n, e, t), a())
}
const a = Nw((({
metric: t
}) => {
const r = t.entries[t.entries.length - 1];
r && (n = t.value, e = r)
}), !0);
nw((() => {
i()
})), setTimeout((() => {
const e = Qx([Sb(), "optionalAccess", e => e.on, "call", t => t("startNavigationSpan", (() => {
i(), e && e()
}))]),
n = Yb(),
r = n && Kb(n),
a = r && Vb(r);
a && "pageload" === a.op && (t = r.spanContext().spanId)
}), 0)
}
let tk, nk, rk = 0,
ik = {};
function ak({
recordClsStandaloneSpans: e
}) {
const t = Xw();
if (t && ib) {
t.mark && Yx.performance.mark("sentry-tracing-init");
const n = Mw((({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
if (!t) return;
const n = Jw(ib),
r = Jw(t.startTime);
Kx && E_.log("[Measurements] Adding FID"), ik.fid = {
value: e.value,
unit: "millisecond"
}, ik["mark.fid"] = {
value: n + r,
unit: "second"
}
})),
r = jw((({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
t && (Kx && E_.log("[Measurements] Adding LCP"), ik.lcp = {
value: e.value,
unit: "millisecond"
}, tk = t)
}), !0),
i = function() {
return e = ({
metric: e
}) => {
e.entries[e.entries.length - 1] && (Kx && E_.log("[Measurements] Adding TTFB"), ik.ttfb = {
value: e.value,
unit: "millisecond"
})
}, Ww("ttfb", e, $w, Dw);
var e
}(),
a = e ? ek() : Nw((({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
t && (Kx && E_.log(`[Measurements] Adding CLS ${e.value}`), ik.cls = {
value: e.value,
unit: ""
}, nk = t)
}), !0);
return () => {
n(), r(), i(), a && a()
}
}
return () => {}
}
function ok(e, t) {
const n = Xw();
if (!n || !Yx.performance.getEntries || !ib) return;
Kx && E_.log("[Tracing] Adding & adjusting spans using Performance API");
const r = Jw(ib),
i = n.getEntries(),
{
op: a,
start_timestamp: o
} = Vb(e);
if (i.slice(rk).forEach((t => {
const n = Jw(t.startTime),
i = Jw(Math.max(0, t.duration));
if (!("navigation" === a && o && r + n < o)) switch (t.entryType) {
case "navigation":
! function(e, t, n) {
["unloadEvent", "redirect", "domContentLoadedEvent", "loadEvent", "connect"].forEach((r => {
sk(e, t, r, n)
})), sk(e, t, "secureConnection", n, "TLS/SSL", "connectEnd"), sk(e, t, "fetch", n, "cache", "domainLookupStart"), sk(e, t, "domainLookup", n, "DNS"),
function(e, t, n) {
const r = n + Jw(t.requestStart),
i = n + Jw(t.responseEnd),
a = n + Jw(t.responseStart);
t.responseEnd && (Qw(e, r, i, {
op: "browser.request",
name: t.name,
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
}), Qw(e, a, i, {
op: "browser.response",
name: t.name,
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
}))
}(e, t, n)
}(e, t, r);
break;
case "mark":
case "paint":
case "measure": {
! function(e, t, n, r, i) {
const a = Xx(),
o = Jw(a ? a.requestStart : 0),
s = i + Math.max(n, o),
l = i + n,
c = l + r,
u = {
[Pb]: "auto.resource.browser.metrics"
};
s !== l && (u["sentry.browser.measure_happened_before_request"] = !0, u["sentry.browser.measure_start_time"] = s);
Qw(e, s, c, {
name: t.name,
op: t.entryType,
attributes: u
})
}(e, t, n, i, r);
const a = ow(),
o = t.startTime < a.firstHiddenTime;
"first-paint" === t.name && o && (Kx && E_.log("[Measurements] Adding FP"), ik.fp = {
value: t.startTime,
unit: "millisecond"
}), "first-contentful-paint" === t.name && o && (Kx && E_.log("[Measurements] Adding FCP"), ik.fcp = {
value: t.startTime,
unit: "millisecond"
});
break
}
case "resource":
! function(e, t, n, r, i, a) {
if ("xmlhttprequest" === t.initiatorType || "fetch" === t.initiatorType) return;
const o = Hx(n),
s = {
[Pb]: "auto.resource.browser.metrics"
};
lk(s, t, "transferSize", "http.response_transfer_size"), lk(s, t, "encodedBodySize", "http.response_content_length"), lk(s, t, "decodedBodySize", "http.decoded_response_content_length"), "renderBlockingStatus" in t && (s["resource.render_blocking_status"] = t.renderBlockingStatus);
o.protocol && (s["url.scheme"] = o.protocol.split(":").pop());
o.host && (s["server.address"] = o.host);
s["url.same_origin"] = n.includes(Yx.location.origin);
const l = a + r,
c = l + i;
Qw(e, l, c, {
name: n.replace(Yx.location.origin, ""),
op: t.initiatorType ? `resource.${t.initiatorType}` : "resource.other",
attributes: s
})
}(e, t, t.name, n, i, r)
}
})), rk = Math.max(i.length - 1, 0), function(e) {
const t = Yx.navigator;
if (!t) return;
const n = t.connection;
n && (n.effectiveType && e.setAttribute("effectiveConnectionType", n.effectiveType), n.type && e.setAttribute("connectionType", n.type), Yw(n.rtt) && (ik["connection.rtt"] = {
value: n.rtt,
unit: "millisecond"
}));
Yw(t.deviceMemory) && e.setAttribute("deviceMemory", `${t.deviceMemory} GB`);
Yw(t.hardwareConcurrency) && e.setAttribute("hardwareConcurrency", String(t.hardwareConcurrency))
}(e), "pageload" === a) {
! function(e) {
const t = Xx();
if (!t) return;
const {
responseStart: n,
requestStart: r
} = t;
r <= n && (Kx && E_.log("[Measurements] Adding TTFB Request Time"), e["ttfb.requestTime"] = {
value: n - r,
unit: "millisecond"
})
}(ik);
const n = ik["mark.fid"];
n && ik.fid && (Qw(e, n.value, n.value + Jw(ik.fid.value), {
name: "first input delay",
op: "ui.action",
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
}), delete ik["mark.fid"]), "fcp" in ik && t.recordClsOnPageloadSpan || delete ik.cls, Object.entries(ik).forEach((([e, t]) => {
! function(e, t, n, r = Yb()) {
const i = r && Kb(r);
i && i.addEvent(e, {
[Db]: t,
[Rb]: n
})
}(e, t.value, t.unit)
})), e.setAttribute("performance.timeOrigin", r), e.setAttribute("performance.activationStart", Jx()),
function(e) {
tk && (Kx && E_.log("[Measurements] Adding LCP Data"), tk.element && e.setAttribute("lcp.element", v_(tk.element)), tk.id && e.setAttribute("lcp.id", tk.id), tk.url && e.setAttribute("lcp.url", tk.url.trim().slice(0, 200)), e.setAttribute("lcp.size", tk.size));
nk && nk.sources && (Kx && E_.log("[Measurements] Adding CLS Data"), nk.sources.forEach(((t, n) => e.setAttribute(`cls.source.${n+1}`, v_(t.node)))))
}(e)
}
tk = void 0, nk = void 0, ik = {}
}
function sk(e, t, n, r, i, a) {
const o = a ? t[a] : t[`${n}End`],
s = t[`${n}Start`];
s && o && Qw(e, r + Jw(s), r + Jw(o), {
op: `browser.${i||n}`,
name: t.name,
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
})
}
function lk(e, t, n, r) {
const i = t[n];
null != i && i < 2147483647 && (e[r] = i)
}
const ck = [],
uk = new Map;
function dk() {
if (Xw() && ib) {
const e = Fw((({
metric: e
}) => {
if (void 0 == e.value) return;
const t = e.entries.find((t => t.duration === e.value && pk[t.name]));
if (!t) return;
const {
interactionId: n
} = t, r = pk[t.name], i = Jw(ib + t.startTime), a = Jw(e.value), o = Yb(), s = o ? Kb(o) : void 0, l = (null != n ? uk.get(n) : void 0) || s, c = l ? Vb(l).description : xb().getScopeData().transactionName, u = Zw({
name: v_(t.target),
transaction: c,
attributes: M_({
[Pb]: "auto.http.browser.inp",
[Ab]: `ui.interaction.${r}`,
[Lb]: t.duration
}),
startTime: i
});
Qx([u, "optionalAccess", e => e.addEvent, "call", t => t("inp", {
[Rb]: "millisecond",
[Db]: e.value
})]), Qx([u, "optionalAccess", e => e.end, "call", e => e(i + a)])
}));
return () => {
e()
}
}
return () => {}
}
const pk = {
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 hk = {},
fk = {};
function mk(e, t) {
hk[e] = hk[e] || [], hk[e].push(t)
}
function gk(e, t) {
fk[e] || (t(), fk[e] = !0)
}
function vk(e, t) {
const n = e && hk[e];
if (n)
for (const i of n) try {
i(t)
} catch (r) {
x_ && E_.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${gx(i)}\nError:`, r)
}
}
const yk = f_;
let _k;
function bk(e) {
const t = "history";
mk(t, e), gk(t, xk)
}
function xk() {
if (! function() {
const e = yk.chrome,
t = e && e.app && e.app.runtime,
n = "history" in yk && !!yk.history.pushState && !!yk.history.replaceState;
return !t && n
}()) return;
const e = Yx.onpopstate;
function t(e) {
return function(...t) {
const n = t.length > 2 ? t[2] : void 0;
if (n) {
const e = _k,
t = String(n);
_k = t;
vk("history", {
from: e,
to: t
})
}
return e.apply(this, t)
}
}
Yx.onpopstate = function(...t) {
const n = Yx.location.href,
r = _k;
_k = n;
if (vk("history", {
from: r,
to: n
}), e) try {
return e.apply(this, t)
} catch (i) {}
}, P_(Yx.history, "pushState", t), P_(Yx.history, "replaceState", t)
}
const wk = {
idleTimeout: 1e3,
finalTimeout: 3e4,
childSpanTimeout: 15e3
};
function kk(e, t = {}) {
const n = new Map;
let r, i = !1,
a = "externalFinish",
o = !t.disableAutoFinish;
const s = [],
{
idleTimeout: l = wk.idleTimeout,
finalTimeout: c = wk.finalTimeout,
childSpanTimeout: u = wk.childSpanTimeout,
beforeSpanEnd: d
} = t,
p = Sb();
if (!p || !Qb()) return new ix;
const h = xb(),
f = Yb(),
m = function(e) {
const t = Ux(e);
return db(xb(), t), nx && E_.log("[Tracing] Started span is an idle span"), t
}(e);
function g() {
r && (clearTimeout(r), r = void 0)
}
function v(e) {
g(), r = setTimeout((() => {
!i && 0 === n.size && o && (a = "idleTimeout", m.end(e))
}), l)
}
function y(e) {
r = setTimeout((() => {
!i && o && (a = "heartbeatFailed", m.end(e))
}), u)
}
function _(e) {
i = !0, n.clear(), s.forEach((e => e())), db(h, f);
const t = Vb(m),
{
start_timestamp: r
} = t;
if (!r) return;
(t.data || {})[Tb] || m.setAttribute(Tb, a), E_.log(`[Tracing] Idle span "${t.op}" finished`);
const o = Hb(m).filter((e => e !== m));
let u = 0;
o.forEach((t => {
t.isRecording() && (t.setStatus({
code: 2,
message: "cancelled"
}), t.end(e), nx && E_.log("[Tracing] Cancelling span since span ended early", JSON.stringify(t, void 0, 2)));
const n = Vb(t),
{
timestamp: r = 0,
start_timestamp: i = 0
} = n,
a = i <= e,
o = r - i <= (c + l) / 1e3;
if (nx) {
const e = JSON.stringify(t, void 0, 2);
a ? o || E_.log("[Tracing] Discarding span since it finished after idle span final timeout", e) : E_.log("[Tracing] Discarding span since it happened after idle span was finished", e)
}
o && a || (! function(e, t) {
e[$b] && e[$b].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) {
d && d(m);
const [r, ...i] = n, a = zb(r || nb()), o = Hb(m).filter((e => e !== m));
if (!o.length) return _(a), Reflect.apply(e, t, [a, ...i]);
const s = o.map((e => Vb(e).timestamp)).filter((e => !!e)),
l = s.length ? Math.max(...s) : void 0,
u = Vb(m).start_timestamp,
p = Math.min(u ? u + c / 1e3 : 1 / 0, Math.max(u || -1 / 0, Math.min(a, l || 1 / 0)));
return _(p), Reflect.apply(e, t, [p, ...i])
}
}), s.push(p.on("spanStart", (e => {
if (i || e === m || Vb(e).timestamp) return;
var t;
Hb(m).includes(e) && (t = e.spanContext().spanId, g(), n.set(t, !0), y(nb() + u / 1e3))
}))), s.push(p.on("spanEnd", (e => {
var t;
i || (t = e.spanContext().spanId, n.has(t) && n.delete(t), 0 === n.size && v(nb() + l / 1e3))
}))), s.push(p.on("idleSpanEnableAutoFinish", (e => {
e === m && (o = !0, v(), n.size && y())
}))), t.disableAutoFinish || v(), setTimeout((() => {
i || (m.setStatus({
code: 2,
message: "deadline_exceeded"
}), a = "finalTimeout", m.end())
}), c), m
}
let Sk = null;
function Ek(e) {
const t = "error";
mk(t, e), gk(t, Ik)
}
function Ik() {
Sk = f_.onerror, f_.onerror = function(e, t, n, r, i) {
const a = {
column: r,
error: i,
line: n,
msg: e,
url: t
};
return vk("error", a), !(!Sk || Sk.__SENTRY_LOADER__) && Sk.apply(this, arguments)
}, f_.onerror.__SENTRY_INSTRUMENTED__ = !0
}
let Ok = null;
function Ck(e) {
const t = "unhandledrejection";
mk(t, e), gk(t, Ak)
}
function Ak() {
Ok = f_.onunhandledrejection, f_.onunhandledrejection = function(e) {
const t = e;
return vk("unhandledrejection", t), !(Ok && !Ok.__SENTRY_LOADER__) || Ok.apply(this, arguments)
}, f_.onunhandledrejection.__SENTRY_INSTRUMENTED__ = !0
}
let Pk = !1;
function Tk() {
const e = Yb(),
t = e && Kb(e);
if (t) {
const e = "internal_error";
nx && E_.log(`[Tracing] Root span: ${e} -> Global error occured`), t.setStatus({
code: 2,
message: e
})
}
}
Tk.tag = "sentry_tracingErrorCallback";
const Rk = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
var Dk;
function Lk(e) {
return new jk((t => {
t(e)
}))
}
function Nk(e) {
return new jk(((t, n) => {
n(e)
}))
}! function(e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(Dk || (Dk = {}));
class jk {
constructor(e) {
jk.prototype.__init.call(this), jk.prototype.__init2.call(this), jk.prototype.__init3.call(this), jk.prototype.__init4.call(this), this._state = Dk.PENDING, this._handlers = [];
try {
e(this._resolve, this._reject)
} catch (t) {
this._reject(t)
}
}
then(e, t) {
return new jk(((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (i) {
r(i)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (i) {
r(i)
} else r(e)
}]), this._executeHandlers()
}))
} catch (e) {
return this.then((e => e), e)
} finally(e) {
return new jk(((t, n) => {
let r, i;
return this.then((t => {
i = !1, r = t, e && e()
}), (t => {
i = !0, r = t, e && e()
})).then((() => {
i ? n(r) : t(r)
}))
}))
}
__init() {
this._resolve = e => {
this._setResult(Dk.RESOLVED, e)
}
}
__init2() {
this._reject = e => {
this._setResult(Dk.REJECTED, e)
}
}
__init3() {
this._setResult = (e, t) => {
this._state === Dk.PENDING && (u_(t) ? t.then(this._resolve, this._reject) : (this._state = e, this._value = t, this._executeHandlers()))
}
}
__init4() {
this._executeHandlers = () => {
if (this._state === Dk.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach((e => {
e[0] || (this._state === Dk.RESOLVED && e[1](this._value), this._state === Dk.REJECTED && e[2](this._value), e[0] = !0)
}))
}
}
}
function Mk(e, t, n, r = 0) {
return new jk(((i, a) => {
const o = e[r];
if (null === t || "function" !== typeof o) i(t);
else {
const s = o({
...t
}, n);
nx && o.id && null === s && E_.log(`Event processor "${o.id}" dropped event`), u_(s) ? s.then((t => Mk(e, t, n, r + 1).then(i))).then(null, a) : Mk(e, s, n, r + 1).then(i).then(null, a)
}
}))
}
function Fk(e, t) {
const {
fingerprint: n,
span: r,
breadcrumbs: i,
sdkProcessingMetadata: a
} = t;
! function(e, t) {
const {
extra: n,
tags: r,
user: i,
contexts: a,
level: o,
transactionName: s
} = t, l = M_(n);
l && Object.keys(l).length && (e.extra = {
...l,
...e.extra
});
const c = M_(r);
c && Object.keys(c).length && (e.tags = {
...c,
...e.tags
});
const u = M_(i);
u && Object.keys(u).length && (e.user = {
...u,
...e.user
});
const d = M_(a);
d && Object.keys(d).length && (e.contexts = {
...d,
...e.contexts
});
o && (e.level = o);
s && "transaction" !== e.type && (e.transaction = s)
}(e, t), r && function(e, t) {
e.contexts = {
trace: Mb(t),
...e.contexts
}, e.sdkProcessingMetadata = {
dynamicSamplingContext: tx(t),
...e.sdkProcessingMetadata
};
const n = Kb(t),
r = Vb(n).description;
r && !e.transaction && "transaction" === e.type && (e.transaction = r)
}(e, r),
function(e, t) {
e.fingerprint = e.fingerprint ? Z_(e.fingerprint) : [], t && (e.fingerprint = e.fingerprint.concat(t));
e.fingerprint && !e.fingerprint.length && delete e.fingerprint
}(e, n),
function(e, t) {
const n = [...e.breadcrumbs || [], ...t];
e.breadcrumbs = n.length ? n : void 0
}(e, i),
function(e, t) {
e.sdkProcessingMetadata = {
...e.sdkProcessingMetadata,
...t
}
}(e, a)
}
function zk(e, t) {
const {
extra: n,
tags: r,
user: i,
contexts: a,
level: o,
sdkProcessingMetadata: s,
breadcrumbs: l,
fingerprint: c,
eventProcessors: u,
attachments: d,
propagationContext: p,
transactionName: h,
span: f
} = t;
Uk(e, "extra", n), Uk(e, "tags", r), Uk(e, "user", i), Uk(e, "contexts", a), Uk(e, "sdkProcessingMetadata", s), 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 Uk(e, t, n) {
if (n && Object.keys(n).length) {
e[t] = {
...e[t]
};
for (const r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[t][r] = n[r])
}
}
function Vk(e, t, n, r, i, a) {
const {
normalizeDepth: o = 3,
normalizeMaxBreadth: s = 1e3
} = e, l = {
...t,
event_id: t.event_id || n.event_id || q_(),
timestamp: t.timestamp || tb()
}, c = n.integrations || e.integrations.map((e => e.name));
! function(e, t) {
const {
environment: n,
release: r,
dist: i,
maxValueLength: a = 250
} = t;
"environment" in e || (e.environment = "environment" in t ? n : Zb);
void 0 === e.release && void 0 !== r && (e.release = r);
void 0 === e.dist && void 0 !== i && (e.dist = i);
e.message && (e.message = I_(e.message, a));
const o = e.exception && e.exception.values && e.exception.values[0];
o && o.value && (o.value = I_(o.value, a));
const s = e.request;
s && s.url && (s.url = I_(s.url, a))
}(l, e),
function(e, t) {
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t])
}(l, c), i && i.emit("applyFrameMetadata", t), void 0 === t.type && function(e, t) {
const n = f_._sentryDebugIds;
if (!n) return;
let r;
const i = Bk.get(t);
i ? r = i : (r = new Map, Bk.set(t, r));
const a = Object.entries(n).reduce(((e, [n, i]) => {
let a;
const o = r.get(n);
o ? a = o : (a = t(n), r.set(n, a));
for (let t = a.length - 1; t >= 0; t--) {
const n = a[t];
if (n.filename) {
e[n.filename] = i;
break
}
}
return e
}), {});
try {
e.exception.values.forEach((e => {
e.stacktrace.frames.forEach((e => {
e.filename && (e.debug_id = a[e.filename])
}))
}))
} catch (o) {}
}(l, e.stackParser);
const u = function(e, t) {
if (!t) return e;
const n = e ? e.clone() : new fb;
return n.update(t), n
}(r, n.captureContext);
n.mechanism && Y_(l, n.mechanism);
const d = i ? i.getEventProcessors() : [],
p = m_("globalScope", (() => new fb)).getScopeData();
if (a) {
zk(p, a.getScopeData())
}
if (u) {
zk(p, u.getScopeData())
}
const h = [...n.attachments || [], ...p.attachments];
h.length && (n.attachments = h), Fk(l, p);
return Mk([...d, ...p.eventProcessors], l, n).then((e => (e && function(e) {
const t = {};
try {
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)
}))
}))
} catch (r) {}
if (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: yx(e.data, t, n)
}
})))
},
...e.user && {
user: yx(e.user, t, n)
},
...e.contexts && {
contexts: yx(e.contexts, t, n)
},
...e.extra && {
extra: yx(e.extra, t, n)
}
};
e.contexts && e.contexts.trace && r.contexts && (r.contexts.trace = e.contexts.trace, e.contexts.trace.data && (r.contexts.trace.data = yx(e.contexts.trace.data, t, n)));
e.spans && (r.spans = e.spans.map((e => ({
...e,
...e.data && {
data: yx(e.data, t, n)
}
}))));
return r
}(e, o, s) : e)))
}
const Bk = new WeakMap;
function Gk(e) {
if (e) return function(e) {
return e instanceof fb || "function" === typeof e
}(e) || function(e) {
return Object.keys(e).some((e => $k.includes(e)))
}(e) ? {
captureContext: e
} : e
}
const $k = ["user", "level", "extra", "contexts", "tags", "fingerprint", "requestSession", "propagationContext"];
function qk(e, t) {
return xb().captureException(e, Gk(t))
}
function Wk(e, t) {
return xb().captureEvent(e, t)
}
function Hk(e) {
const t = Sb(),
n = wb(),
r = xb(),
{
release: i,
environment: a = Zb
} = t && t.getOptions() || {},
{
userAgent: o
} = f_.navigator || {},
s = lb({
release: i,
environment: a,
user: r.getUser() || n.getUser(),
...o && {
userAgent: o
},
...e
}),
l = n.getSession();
return l && "ok" === l.status && cb(l, {
status: "exited"
}), Kk(), n.setSession(s), r.setSession(s), s
}
function Kk() {
const e = wb(),
t = xb(),
n = t.getSession() || e.getSession();
n && function(e, t) {
let n = {};
t ? n = {
status: t
} : "ok" === e.status && (n = {
status: "exited"
}), cb(e, n)
}(n), Yk(), e.setSession(), t.setSession()
}
function Yk() {
const e = wb(),
t = xb(),
n = Sb(),
r = t.getSession() || e.getSession();
r && n && n.captureSession(r)
}
function Qk(e = !1) {
e ? Kk() : Yk()
}
const Zk = f_;
let Xk = 0;
function Jk() {
return Xk > 0
}
function eS() {
Xk++, setTimeout((() => {
Xk--
}))
}
function tS(e, t = {}, n) {
if ("function" !== typeof e) return e;
try {
const t = e.__sentry_wrapped__;
if (t) return "function" === typeof t ? t : e;
if (D_(e)) return e
} catch (i) {
return e
}
const r = function() {
const r = Array.prototype.slice.call(arguments);
try {
n && "function" === typeof n && n.apply(this, arguments);
const i = r.map((e => tS(e, t)));
return e.apply(this, i)
} catch (Yo) {
throw eS(), kb((n => {
n.addEventProcessor((e => (t.mechanism && (K_(e, void 0, void 0), Y_(e, t.mechanism)), e.extra = {
...e.extra,
arguments: r
}, e))), qk(Yo)
})), Yo
}
};
try {
for (const t in e) Object.prototype.hasOwnProperty.call(e, t) && (r[t] = e[t])
} catch (a) {}
R_(r, e), T_(e, "__sentry_wrapped__", r);
try {
Object.getOwnPropertyDescriptor(r, "name").configurable && Object.defineProperty(r, "name", {
get: () => e.name
})
} catch (a) {}
return r
}
const nS = "__sentry_xhr_v3__";
function rS(e) {
mk("xhr", e), gk("xhr", iS)
}
function iS() {
if (!Yx.XMLHttpRequest) return;
const e = XMLHttpRequest.prototype;
e.open = new Proxy(e.open, {
apply(e, t, n) {
const r = 1e3 * nb(),
i = a_(n[0]) ? n[0].toUpperCase() : void 0,
a = function(e) {
if (a_(e)) return e;
try {
return e.toString()
} catch (Cs) {}
return
}(n[1]);
if (!i || !a) return e.apply(t, n);
t[nS] = {
method: i,
url: a,
request_headers: {}
}, "POST" === i && a.match(/sentry_key/) && (t.__sentry_own_request__ = !0);
const o = () => {
const e = t[nS];
if (e && 4 === t.readyState) {
try {
e.status_code = t.status
} catch (n) {}
vk("xhr", {
endTimestamp: 1e3 * nb(),
startTimestamp: r,
xhr: t
})
}
};
return "onreadystatechange" in t && "function" === typeof t.onreadystatechange ? t.onreadystatechange = new Proxy(t.onreadystatechange, {
apply: (e, t, n) => (o(), e.apply(t, n))
}) : t.addEventListener("readystatechange", o), t.setRequestHeader = new Proxy(t.setRequestHeader, {
apply(e, t, n) {
const [r, i] = n, a = t[nS];
return a && a_(r) && a_(i) && (a.request_headers[r.toLowerCase()] = i), e.apply(t, n)
}
}), e.apply(t, n)
}
}), e.send = new Proxy(e.send, {
apply(e, t, n) {
const r = t[nS];
if (!r) return e.apply(t, n);
void 0 !== n[0] && (r.body = n[0]);
return vk("xhr", {
startTimestamp: 1e3 * nb(),
xhr: t
}), e.apply(t, n)
}
})
}
function aS(e, t, n, r, i = "auto.http.browser") {
if (!e.fetchData) return;
const a = Qb() && t(e.fetchData.url);
if (e.endTimestamp && a) {
const t = e.fetchData.__span;
if (!t) return;
const n = r[t];
return void(n && (! function(e, t) {
if (t.response) {
Nb(e, t.response.status);
const n = t.response && 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 o = xb(),
s = Sb(),
{
method: l,
url: c
} = e.fetchData,
u = function(e) {
try {
return new URL(e).href
} catch (t) {
return
}
}(c),
d = u ? Hx(u).host : void 0,
p = !!Yb(),
h = a && p ? Ux({
name: `${l} ${c}`,
attributes: {
url: c,
type: "fetch",
"http.method": l,
"http.url": u,
"server.address": d,
[Pb]: i,
[Ab]: "http.client"
}
}) : new ix;
if (e.fetchData.__span = h.spanContext().spanId, r[h.spanContext().spanId] = h, n(e.fetchData.url) && s) {
const t = e.args[0];
e.args[1] = e.args[1] || {};
const n = e.args[1];
n.headers = function(e, t, n, r, i) {
const a = wb(),
{
traceId: o,
spanId: s,
sampled: l,
dsc: c
} = {
...a.getPropagationContext(),
...n.getPropagationContext()
},
u = i ? Fb(i) : eb(o, s, l),
d = G_(c || (i ? tx(i) : ex(o, t))),
p = r.headers || ("undefined" !== typeof Request && d_(e, Request) ? e.headers : void 0);
if (p) {
if ("undefined" !== typeof Headers && d_(p, Headers)) {
const e = new Headers(p);
return e.append("sentry-trace", u), d && e.append(z_, d), e
}
if (Array.isArray(p)) {
const e = [...p, ["sentry-trace", u]];
return d && e.push([z_, d]), e
} {
const e = "baggage" in p ? p.baggage : void 0,
t = [];
return Array.isArray(e) ? t.push(...e) : e && t.push(e), d && t.push(d), {
...p,
"sentry-trace": u,
baggage: t.length > 0 ? t.join(",") : void 0
}
}
}
return {
"sentry-trace": u,
baggage: d
}
}(t, s, o, n, Qb() && p ? h : void 0)
}
return h
}
const oS = f_;
function sS() {
if (!("fetch" in oS)) return !1;
try {
return new Headers, new Request("http://www.example.com"), new Response, !0
} catch (e) {
return !1
}
}
function lS(e) {
return e && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())
}
function cS(e, t) {
const n = "fetch";
mk(n, e), gk(n, (() => uS(void 0, t)))
}
function uS(e, t = !1) {
t && ! function() {
if ("string" === typeof EdgeRuntime) return !0;
if (!sS()) return !1;
if (lS(oS.fetch)) return !0;
let e = !1;
const t = oS.document;
if (t && "function" === typeof t.createElement) try {
const n = t.createElement("iframe");
n.hidden = !0, t.head.appendChild(n), n.contentWindow && n.contentWindow.fetch && (e = lS(n.contentWindow.fetch)), t.head.removeChild(n)
} catch (n) {
x_ && E_.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", n)
}
return e
}() || P_(f_, "fetch", (function(t) {
return function(...n) {
const {
method: r,
url: i
} = function(e) {
if (0 === e.length) return {
method: "GET",
url: ""
};
if (2 === e.length) {
const [t, n] = e;
return {
url: hS(t),
method: pS(n, "method") ? String(n.method).toUpperCase() : "GET"
}
}
const t = e[0];
return {
url: hS(t),
method: pS(t, "method") ? String(t.method).toUpperCase() : "GET"
}
}(n), a = {
args: n,
fetchData: {
method: r,
url: i
},
startTimestamp: 1e3 * nb()
};
e || vk("fetch", {
...a
});
const o = (new Error).stack;
return t.apply(f_, n).then((async t => (e ? e(t) : vk("fetch", {
...a,
endTimestamp: 1e3 * nb(),
response: t
}), t)), (e => {
throw vk("fetch", {
...a,
endTimestamp: 1e3 * nb(),
error: e
}), t_(e) && void 0 === e.stack && (e.stack = o, T_(e, "framesToPop", 1)), e
}))
}
}))
}
function dS(e) {
let t;
try {
t = e.clone()
} catch (n) {
return
}!async function(e, t) {
if (e && e.body) {
const r = e.body,
i = r.getReader(),
a = 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 i.read();
clearTimeout(e), n && (t(), o = !1)
} catch (n) {
o = !1
} finally {
clearTimeout(e)
}
}
clearTimeout(a), i.releaseLock(), r.cancel().then(null, (() => {}))
}
}(t, (() => {
vk("fetch-body-resolved", {
endTimestamp: 1e3 * nb(),
response: e
})
}))
}
function pS(e, t) {
return !!e && "object" === typeof e && !!e[t]
}
function hS(e) {
return "string" === typeof e ? e : e ? pS(e, "url") ? e.url : e.toString ? e.toString() : "" : ""
}
const fS = new WeakMap,
mS = new Map,
gS = {
traceFetch: !0,
traceXHR: !0,
enableHTTPTimings: !0
};
function vS(e, t) {
const {
traceFetch: n,
traceXHR: r,
shouldCreateSpanForRequest: i,
enableHTTPTimings: a,
tracePropagationTargets: o
} = {
traceFetch: gS.traceFetch,
traceXHR: gS.traceXHR,
...t
}, s = "function" === typeof i ? i : e => !0, l = e => function(e, t) {
const n = Zk.location && Zk.location.href;
if (n) {
let i, a;
try {
i = new URL(e, n), a = new URL(n).origin
} catch (r) {
return !1
}
const o = i.origin === a;
return t ? A_(i.toString(), t) || o && A_(i.pathname, t) : o
} {
const n = !!e.match(/^\/(?!\/)/);
return t ? A_(e, t) : n
}
}(e, o), c = {};
n && (e.addEventProcessor((e => ("transaction" === e.type && e.spans && e.spans.forEach((e => {
if ("http.client" === e.op) {
const t = mS.get(e.span_id);
t && (e.timestamp = t / 1e3, mS.delete(e.span_id))
}
})), e))), function(e) {
const t = "fetch-body-resolved";
mk(t, e), gk(t, (() => uS(dS)))
}((e => {
if (e.response) {
const t = fS.get(e.response);
t && e.endTimestamp && mS.set(t, e.endTimestamp)
}
})), cS((e => {
const t = aS(e, s, l, c);
if (e.response && e.fetchData.__span && fS.set(e.response, e.fetchData.__span), t) {
const n = bS(e.fetchData.url),
r = n ? Hx(n).host : void 0;
t.setAttributes({
"http.url": n,
"server.address": r
})
}
a && t && yS(t)
}))), r && rS((e => {
const t = function(e, t, n, r) {
const i = e.xhr,
a = i && i[nS];
if (!i || i.__sentry_own_request__ || !a) return;
const o = Qb() && t(a.url);
if (e.endTimestamp && o) {
const e = i.__sentry_xhr_span_id__;
if (!e) return;
const t = r[e];
return void(t && void 0 !== a.status_code && (Nb(t, a.status_code), t.end(), delete r[e]))
}
const s = bS(a.url),
l = s ? Hx(s).host : void 0,
c = !!Yb(),
u = o && c ? Ux({
name: `${a.method} ${a.url}`,
attributes: {
type: "xhr",
"http.method": a.method,
"http.url": s,
url: a.url,
"server.address": l,
[Pb]: "auto.http.browser",
[Ab]: "http.client"
}
}) : new ix;
i.__sentry_xhr_span_id__ = u.spanContext().spanId, r[i.__sentry_xhr_span_id__] = u;
const d = Sb();
i.setRequestHeader && n(a.url) && d && function(e, t, n) {
const r = xb(),
i = wb(),
{
traceId: a,
spanId: o,
sampled: s,
dsc: l
} = {
...i.getPropagationContext(),
...r.getPropagationContext()
},
c = n && Qb() ? Fb(n) : eb(a, o, s),
u = G_(l || (n ? tx(n) : ex(a, t)));
! function(e, t, n) {
try {
e.setRequestHeader("sentry-trace", t), n && e.setRequestHeader(z_, n)
} catch (zM) {}
}(e, c, u)
}(i, d, Qb() && c ? u : void 0);
return u
}(e, s, l, c);
a && t && yS(t)
}))
}
function yS(e) {
const {
url: t
} = Vb(e).data || {};
if (!t || "string" !== typeof t) return;
const n = zw("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
} = function(e) {
let t = "unknown",
n = "unknown",
r = "";
for (const i of e) {
if ("/" === i) {
[t, n] = e.split("/");
break
}
if (!isNaN(Number(i))) {
t = "h" === r ? "http" : r, n = e.split(r)[1];
break
}
r += i
}
r === e && (t = r);
return {
name: t,
version: n
}
}(e.nextHopProtocol), r = [];
if (r.push(["network.protocol.version", n], ["network.protocol.name", t]), !ib) return r;
return [...r, ["http.request.redirect_start", _S(e.redirectStart)],
["http.request.fetch_start", _S(e.fetchStart)],
["http.request.domain_lookup_start", _S(e.domainLookupStart)],
["http.request.domain_lookup_end", _S(e.domainLookupEnd)],
["http.request.connect_start", _S(e.connectStart)],
["http.request.secure_connection_start", _S(e.secureConnectionStart)],
["http.request.connection_end", _S(e.connectEnd)],
["http.request.request_start", _S(e.requestStart)],
["http.request.response_start", _S(e.responseStart)],
["http.request.response_end", _S(e.responseEnd)]
]
})(r).forEach((t => e.setAttribute(...t))), setTimeout(n)
}
}))
}))
}
function _S(e = 0) {
return ((ib || performance.timeOrigin) + e) / 1e3
}
function bS(e) {
try {
return new URL(e, Zk.location.origin).href
} catch (Cs) {
return
}
}
const xS = {
...wk,
instrumentNavigation: !0,
instrumentPageLoad: !0,
markBackgroundSpan: !0,
enableLongTask: !0,
enableLongAnimationFrame: !0,
enableInp: !0,
_experiments: {},
...gS
};
function wS(e) {
const t = (n = `meta[name=${e}]`, g_.document && g_.document.querySelector ? g_.document.querySelector(n) : null);
var n;
return t ? t.getAttribute("content") : void 0
}
const kS = 100;
function SS(e, t) {
const n = Sb(),
r = wb();
if (!n) return;
const {
beforeBreadcrumb: i = null,
maxBreadcrumbs: a = kS
} = n.getOptions();
if (a <= 0) return;
const o = {
timestamp: tb(),
...e
},
s = i ? S_((() => i(o, t))) : o;
null !== s && (n.emit && n.emit("beforeAddBreadcrumb", s, t), r.addBreadcrumb(s, a))
}
function ES(e, t) {
const n = t && t.getDsn(),
r = t && t.getOptions().tunnel;
return function(e, t) {
return !!t && e.includes(t.host)
}(e, n) || function(e, t) {
if (!t) return !1;
return IS(e) === IS(t)
}(e, r)
}
function IS(e) {
return "/" === e[e.length - 1] ? e.slice(0, -1) : e
}
const OS = ["fatal", "error", "warning", "log", "info", "debug"];
function CS(e) {
return "warn" === e ? "warning" : OS.includes(e) ? e : "log"
}
function AS(e, t, n = Date.now()) {
return function(e, t) {
return e[t] || e.all || 0
}(e, t) > n
}
function PS(e, {
statusCode: t,
headers: n
}, r = Date.now()) {
const i = {
...e
},
a = n && n["x-sentry-rate-limits"],
o = n && n["retry-after"];
if (a)
for (const s of a.trim().split(",")) {
const [e, t, , , n] = s.split(":", 5), a = parseInt(e, 10), o = 1e3 * (isNaN(a) ? 60 : a);
if (t)
for (const s of t.split(";")) "metric_bucket" === s && n && !n.split(";").includes("custom") || (i[s] = r + o);
else i.all = r + o
} else o ? i.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 && (i.all = r + 6e4);
return i
}
function TS() {
return !("undefined" !== typeof __SENTRY_BROWSER_BUNDLE__ && __SENTRY_BROWSER_BUNDLE__) && "[object process]" === Object.prototype.toString.call("undefined" !== typeof process ? process : 0)
}
function RS() {
return "undefined" !== typeof window && (!TS() || void 0 !== f_.process && "renderer" === f_.process.type)
}
const DS = {};
function LS(e) {
const t = DS[e];
if (t) return t;
let n = Yx[e];
if (lS(n)) return DS[e] = n.bind(Yx);
const r = Yx.document;
if (r && "function" === typeof r.createElement) try {
const t = r.createElement("iframe");
t.hidden = !0, r.head.appendChild(t);
const i = t.contentWindow;
i && i[e] && (n = i[e]), r.head.removeChild(t)
} catch (i) {
Kx && E_.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `, i)
}
return n ? DS[e] = n.bind(Yx) : n
}
function NS(e) {
DS[e] = void 0
}
function jS(...e) {
return LS("setTimeout")(...e)
}
let MS, FS, zS;
function US(e) {
mk("dom", e), gk("dom", VS)
}
function VS() {
if (!Yx.document) return;
const e = vk.bind(null, "dom"),
t = BS(e, !0);
Yx.document.addEventListener("click", t, !1), Yx.document.addEventListener("keypress", t, !1), ["EventTarget", "Node"].forEach((t => {
const n = Yx[t] && Yx[t].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (P_(n, "addEventListener", (function(t) {
return function(n, r, i) {
if ("click" === n || "keypress" == n) try {
const r = this,
a = r.__sentry_instrumentation_handlers__ = r.__sentry_instrumentation_handlers__ || {},
o = a[n] = a[n] || {
refCount: 0
};
if (!o.handler) {
const r = BS(e);
o.handler = r, t.call(this, n, r, i)
}
o.refCount++
} catch (a) {}
return t.call(this, n, r, i)
}
})), P_(n, "removeEventListener", (function(e) {
return function(t, n, r) {
if ("click" === t || "keypress" == t) try {
const n = this,
i = n.__sentry_instrumentation_handlers__ || {},
a = i[t];
a && (a.refCount--, a.refCount <= 0 && (e.call(this, t, a.handler, r), a.handler = void 0, delete i[t]), 0 === Object.keys(i).length && delete n.__sentry_instrumentation_handlers__)
} catch (i) {}
return e.call(this, t, n, r)
}
})))
}))
}
function BS(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 || !t.tagName || "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && !t.isContentEditable)
}(n.type, r)) return;
T_(n, "_sentryCaptured", !0), r && !r._sentryId && T_(r, "_sentryId", q_());
const i = "keypress" === n.type ? "input" : n.type;
if (! function(e) {
if (e.type !== FS) return !1;
try {
if (!e.target || e.target._sentryId !== zS) return !1
} catch (t) {}
return !0
}(n)) {
e({
event: n,
name: i,
global: t
}), FS = n.type, zS = r ? r._sentryId : void 0
}
clearTimeout(MS), MS = Yx.setTimeout((() => {
zS = void 0, FS = void 0
}), 1e3)
}
}
const GS = f_,
$S = "sentryReplaySession",
qS = "Unable to send Replay",
WS = 15e4,
HS = 5e3,
KS = 2e7,
YS = 36e5;
function QS(e, t) {
return null != e ? e : t()
}
function ZS(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
var XS;
function JS(e) {
const t = ZS([e, "optionalAccess", e => e.host]);
return Boolean(ZS([t, "optionalAccess", e => e.shadowRoot]) === e)
}
function eE(e) {
return "[object ShadowRoot]" === Object.prototype.toString.call(e)
}
function tE(e) {
try {
const n = e.rules || e.cssRules;
return n ? ((t = Array.from(n, nE).join("")).includes(" background-clip: text;") && !t.includes(" -webkit-background-clip: text;") && (t = t.replace(" background-clip: text;", " -webkit-background-clip: text; background-clip: text;")), t) : null
} catch (n) {
return null
}
var t
}
function nE(e) {
let t;
if (function(e) {
return "styleSheet" in e
}(e)) try {
t = tE(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) && e.selectorText.includes(":")) return function(e) {
const t = /(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;
return e.replace(t, "$1\\$2")
}(e.cssText);
return t || e.cssText
}! function(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"
}(XS || (XS = {}));
class rE {
constructor() {
this.idNodeMap = new Map, this.nodeMetaMap = new WeakMap
}
getId(e) {
if (!e) return -1;
return QS(ZS([this, "access", e => e.getMeta, "call", t => t(e), "optionalAccess", e => e.id]), (() => -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 iE({
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 aE({
isMasked: e,
element: t,
value: n,
maskInputFn: r
}) {
let i = n || "";
return e ? (r && (i = r(i, t)), "*".repeat(i.length)) : i
}
function oE(e) {
return e.toLowerCase()
}
function sE(e) {
return e.toUpperCase()
}
const lE = "__rrweb_original__";
function cE(e) {
const t = e.type;
return e.hasAttribute("data-rr-is-password") ? "password" : t ? oE(t) : null
}
function uE(e, t, n) {
return "INPUT" !== t || "radio" !== n && "checkbox" !== n ? e.value : e.getAttribute("value") || ""
}
function dE(e, t) {
let n;
try {
n = new URL(e, QS(t, (() => window.location.href)))
} catch (r) {
return null
}
return QS(ZS([n.pathname.match(/\.([0-9a-z]+)(?:$)/i), "optionalAccess", e => e[1]]), (() => null))
}
const pE = {};
function hE(e) {
const t = pE[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 i = t.contentWindow;
i && i[e] && (r = i[e]), n.head.removeChild(t)
} catch (i) {}
return pE[e] = r.bind(window)
}
function fE(...e) {
return hE("setTimeout")(...e)
}
function mE(...e) {
return hE("clearTimeout")(...e)
}
let gE = 1;
const vE = new RegExp("[^a-z0-9-_:]");
function yE() {
return gE++
}
let _E, bE;
const xE = /url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,
wE = /^(?:[a-z+]+:)?\/\//i,
kE = /^www\..*/i,
SE = /^(data:)([^,]*),(.*)/i;
function EE(e, t) {
return (e || "").replace(xE, ((e, n, r, i, a, o) => {
const s = r || a || o,
l = n || i || "";
if (!s) return e;
if (wE.test(s) || kE.test(s)) return `url(${l}${s}${l})`;
if (SE.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 IE = /^[^ \t\n\r\u000c]+/,
OE = /^[, \t\n\r\u000c]+/;
function CE(e, t) {
if (!t || "" === t.trim()) return t;
const n = e.createElement("a");
return n.href = t, n.href
}
function AE(e) {
return Boolean("svg" === e.tagName || e.ownerSVGElement)
}
function PE() {
const e = document.createElement("a");
return e.href = "", e.href
}
function TE(e, t, n, r, i, a) {
return r ? "src" === n || "href" === n && ("use" !== t || "#" !== r[0]) || "xlink:href" === n && "#" !== r[0] ? CE(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 i = e.exec(t.substring(n));
return i ? (r = i[0], n += r.length, r) : ""
}
const i = [];
for (; r(OE), !(n >= t.length);) {
let a = r(IE);
if ("," === a.slice(-1)) a = CE(e, a.substring(0, a.length - 1)), i.push(a);
else {
let r = "";
a = CE(e, a);
let o = !1;
for (;;) {
const e = t.charAt(n);
if ("" === e) {
i.push((a + r).trim());
break
}
if (o) ")" === e && (o = !1);
else {
if ("," === e) {
n += 1, i.push((a + r).trim());
break
}
"(" === e && (o = !0)
}
r += e, n += 1
}
}
}
return i.join(", ")
}(e, r) : "style" === n ? EE(r, PE()) : "object" === t && "data" === n ? CE(e, r) : "function" === typeof a ? a(n, r, i) : r : CE(e, r) : r
}
function RE(e, t, n) {
return ("video" === e || "audio" === e) && "autoplay" === t
}
function DE(e, t, n = 1 / 0, r = 0) {
return e ? e.nodeType !== e.ELEMENT_NODE || r > n ? -1 : t(e) ? r : DE(e.parentNode, t, n, r + 1) : -1
}
function LE(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 (Cs) {
return !1
}
}
}
function NE(e, t, n, r, i, a) {
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 (a) {
if (l = DE(o, LE(r, i)), l < 0) return !0;
s = DE(o, LE(t, n), l >= 0 ? l : 1 / 0)
} else {
if (s = DE(o, LE(t, n)), s < 0) return !1;
l = DE(o, LE(r, i), s >= 0 ? s : 1 / 0)
}
return s >= 0 ? !(l >= 0) || s <= l : !(l >= 0) && !!a
} catch (o) {}
return !!a
}
function jE(e, t) {
const {
doc: n,
mirror: r,
blockClass: i,
blockSelector: a,
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: y,
recordCanvas: _,
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: XS.Document,
childNodes: [],
compatMode: e.compatMode
} : {
type: XS.Document,
childNodes: []
};
case e.DOCUMENT_TYPE_NODE:
return {
type: XS.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: i,
unblockSelector: a,
inlineStylesheet: o,
maskInputOptions: s = {},
maskAttributeFn: l,
maskInputFn: c,
dataURLOptions: u = {},
inlineImages: d,
recordCanvas: p,
keepIframeSrcFn: h,
newlyAddedElement: f = !1,
rootId: m,
maskAllText: g,
maskTextClass: v,
unmaskTextClass: y,
maskTextSelector: _,
unmaskTextSelector: b
} = t, x = function(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 (i) {}
return !1
}(e, r, i, a), w = function(e) {
if (e instanceof HTMLFormElement) return "form";
const t = oE(e.tagName);
return vE.test(t) ? "div" : t
}(e);
let k = {};
const S = e.attributes.length;
for (let O = 0; O < S; O++) {
const t = e.attributes[O];
t.name && !RE(w, t.name, t.value) && (k[t.name] = TE(n, w, oE(t.name), t.value, e, l))
}
if ("link" === w && o) {
const t = Array.from(n.styleSheets).find((t => t.href === e.href));
let r = null;
t && (r = tE(t)), r && (delete k.rel, delete k.href, k._cssText = EE(r, t.href))
}
if ("style" === w && e.sheet && !(e.innerText || e.textContent || "").trim().length) {
const t = tE(e.sheet);
t && (k._cssText = EE(t, PE()))
}
if ("input" === w || "textarea" === w || "select" === w || "option" === w) {
const t = e,
n = cE(t),
r = uE(t, sE(w), n),
i = t.checked;
if ("submit" !== n && "button" !== n && r) {
const e = NE(t, v, _, y, b, iE({
type: n,
tagName: sE(w),
maskInputOptions: s
}));
k.value = aE({
isMasked: e,
element: t,
value: r,
maskInputFn: c
})
}
i && (k.checked = i)
}
"option" === w && (e.selected && !s.select ? k.selected = !0 : delete k.selected);
if ("canvas" === w && 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 i = t.getImageData,
a = lE in i ? i[lE] : i;
if (new Uint32Array(a.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) || (k.rr_dataURL = e.toDataURL(u.type, u.quality));
else if (!("__context" in e)) {
const t = e.toDataURL(u.type, u.quality),
n = document.createElement("canvas");
n.width = e.width, n.height = e.height;
t !== n.toDataURL(u.type, u.quality) && (k.rr_dataURL = t)
}
if ("img" === w && d) {
_E || (_E = n.createElement("canvas"), bE = _E.getContext("2d"));
const t = e,
r = t.crossOrigin;
t.crossOrigin = "anonymous";
const i = () => {
t.removeEventListener("load", i);
try {
_E.width = t.naturalWidth, _E.height = t.naturalHeight, bE.drawImage(t, 0, 0), k.rr_dataURL = _E.toDataURL(u.type, u.quality)
} catch (e) {
console.warn(`Cannot inline img src=${t.currentSrc}! Error: ${e}`)
}
r ? k.crossOrigin = r : t.removeAttribute("crossorigin")
};
t.complete && 0 !== t.naturalWidth ? i() : t.addEventListener("load", i)
}
"audio" !== w && "video" !== w || (k.rr_mediaState = e.paused ? "paused" : "played", k.rr_mediaCurrentTime = e.currentTime);
f || (e.scrollLeft && (k.rr_scrollLeft = e.scrollLeft), e.scrollTop && (k.rr_scrollTop = e.scrollTop));
if (x) {
const {
width: t,
height: n
} = e.getBoundingClientRect();
k = {
class: k.class,
rr_width: `${t}px`,
rr_height: `${n}px`
}
}
"iframe" !== w || h(k.src) || (x || e.contentDocument || (k.rr_src = k.src), delete k.src);
let E;
try {
customElements.get(w) && (E = !0)
} catch (I) {}
return {
type: XS.Element,
tagName: w,
attributes: k,
childNodes: [],
isSVG: AE(e) || void 0,
needBlock: x,
rootId: m,
isCustom: E
}
}(e, {
doc: n,
blockClass: i,
blockSelector: a,
unblockSelector: o,
inlineStylesheet: h,
maskAttributeFn: l,
maskInputOptions: f,
maskInputFn: g,
dataURLOptions: v,
inlineImages: y,
recordCanvas: _,
keepIframeSrcFn: b,
newlyAddedElement: x,
rootId: w,
maskAllText: s,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: d,
unmaskTextSelector: p
});
case e.TEXT_NODE:
return function(e, t) {
const {
maskAllText: n,
maskTextClass: r,
unmaskTextClass: i,
maskTextSelector: a,
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 || ZS([e, "access", e => e.parentNode, "access", e => e.sheet, "optionalAccess", e => e.cssRules]) && (p = tE(e.parentNode.sheet))
} catch (v) {
console.warn(`Cannot get CSS styles from text's parentNode. Error: ${v}`, e)
}
p = EE(p, PE())
}
f && (p = "SCRIPT_PLACEHOLDER");
const g = NE(e, r, a, i, 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 = aE({
isMasked: NE(e, r, a, i, o, iE({
type: null,
tagName: d,
maskInputOptions: l
})),
element: e,
value: p,
maskInputFn: c
})
}
return {
type: XS.Text,
textContent: p || "",
isStyle: h,
rootId: u
}
}(e, {
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: XS.CDATA, textContent: "", rootId: w
};
case e.COMMENT_NODE:
return {
type: XS.Comment, textContent: e.textContent || "", rootId: w
};
default:
return !1
}
}
function ME(e) {
return void 0 === e || null === e ? "" : e.toLowerCase()
}
function FE(e, t) {
const {
doc: n,
mirror: r,
blockClass: i,
blockSelector: a,
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: y,
dataURLOptions: _ = {},
inlineImages: b = !1,
recordCanvas: x = !1,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S = 5e3,
onStylesheetLoad: E,
stylesheetLoadTimeout: I = 5e3,
keepIframeSrcFn: O = (() => !1),
newlyAddedElement: C = !1
} = t;
let {
preserveWhiteSpace: A = !0
} = t;
const P = jE(e, {
doc: n,
mirror: r,
blockClass: i,
blockSelector: a,
maskAllText: s,
unblockSelector: o,
maskTextClass: l,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: d,
inlineStylesheet: h,
maskInputOptions: f,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: v,
dataURLOptions: _,
inlineImages: b,
recordCanvas: x,
keepIframeSrcFn: O,
newlyAddedElement: C
});
if (!P) return console.warn(e, "not serialized"), null;
let T;
T = r.hasNode(e) ? r.getId(e) : ! function(e, t) {
if (t.comment && e.type === XS.Comment) return !0;
if (e.type === XS.Element) {
if (t.script && ("script" === e.tagName || "link" === e.tagName && ("preload" === e.attributes.rel || "modulepreload" === e.attributes.rel) && "script" === e.attributes.as || "link" === e.tagName && "prefetch" === e.attributes.rel && "string" === typeof e.attributes.href && "js" === dE(e.attributes.href))) return !0;
if (t.headFavicon && ("link" === e.tagName && "shortcut icon" === e.attributes.rel || "meta" === e.tagName && (ME(e.attributes.name).match(/^msapplication-tile(image|color)$/) || "application-name" === ME(e.attributes.name) || "icon" === ME(e.attributes.rel) || "apple-touch-icon" === ME(e.attributes.rel) || "shortcut icon" === ME(e.attributes.rel)))) return !0;
if ("meta" === e.tagName) {
if (t.headMetaDescKeywords && ME(e.attributes.name).match(/^description|keywords$/)) return !0;
if (t.headMetaSocial && (ME(e.attributes.property).match(/^(og|twitter|fb):/) || ME(e.attributes.name).match(/^(og|twitter):/) || "pinterest" === ME(e.attributes.name))) return !0;
if (t.headMetaRobots && ("robots" === ME(e.attributes.name) || "googlebot" === ME(e.attributes.name) || "bingbot" === ME(e.attributes.name))) return !0;
if (t.headMetaHttpEquiv && void 0 !== e.attributes["http-equiv"]) return !0;
if (t.headMetaAuthorship && ("author" === ME(e.attributes.name) || "generator" === ME(e.attributes.name) || "framework" === ME(e.attributes.name) || "publisher" === ME(e.attributes.name) || "progid" === ME(e.attributes.name) || ME(e.attributes.property).match(/^article:/) || ME(e.attributes.property).match(/^product:/))) return !0;
if (t.headMetaVerification && ("google-site-verification" === ME(e.attributes.name) || "yandex-verification" === ME(e.attributes.name) || "csrf-token" === ME(e.attributes.name) || "p:domain_verify" === ME(e.attributes.name) || "verify-v1" === ME(e.attributes.name) || "verification" === ME(e.attributes.name) || "shopify-checkout-api-token" === ME(e.attributes.name))) return !0
}
}
return !1
}(P, y) && (A || P.type !== XS.Text || P.isStyle || P.textContent.replace(/^\s+|\s+$/gm, "").length) ? yE() : -2;
const R = Object.assign(P, {
id: T
});
if (r.add(e, R), -2 === T) return null;
w && w(e);
let D = !p;
if (R.type === XS.Element) {
D = D && !R.needBlock, delete R.needBlock;
const t = e.shadowRoot;
t && eE(t) && (R.isShadowHost = !0)
}
if ((R.type === XS.Document || R.type === XS.Element) && D) {
y.headWhitespace && R.type === XS.Element && "head" === R.tagName && (A = !1);
const t = {
doc: n,
mirror: r,
blockClass: i,
blockSelector: a,
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: y,
dataURLOptions: _,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: A,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: O
};
for (const n of Array.from(e.childNodes)) {
const e = FE(n, t);
e && R.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 = FE(n, t);
r && (eE(e.shadowRoot) && (r.isShadow = !0), R.childNodes.push(r))
}
}
return e.parentNode && JS(e.parentNode) && eE(e.parentNode) && (R.isShadow = !0), R.type === XS.Element && "iframe" === R.tagName && function(e, t, n) {
const r = e.contentWindow;
if (!r) return;
let i, a = !1;
try {
i = r.document.readyState
} catch (s) {
return
}
if ("complete" !== i) {
const r = fE((() => {
a || (t(), a = !0)
}), n);
return void e.addEventListener("load", (() => {
mE(r), a = !0, t()
}))
}
const o = "about:blank";
if (r.location.href !== o || e.src === o || "" === e.src) return fE(t, 0), e.addEventListener("load", t);
e.addEventListener("load", t)
}(e, (() => {
const t = e.contentDocument;
if (t && k) {
const n = FE(t, {
doc: t,
mirror: r,
blockClass: i,
blockSelector: a,
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: y,
dataURLOptions: _,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: A,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: O
});
n && k(e, n)
}
}), S), R.type === XS.Element && "link" === R.tagName && "string" === typeof R.attributes.rel && ("stylesheet" === R.attributes.rel || "preload" === R.attributes.rel && "string" === typeof R.attributes.href && "css" === dE(R.attributes.href)) && function(e, t, n) {
let r, i = !1;
try {
r = e.sheet
} catch (o) {
return
}
if (r) return;
const a = fE((() => {
i || (t(), i = !0)
}), n);
e.addEventListener("load", (() => {
mE(a), i = !0, t()
}))
}(e, (() => {
if (E) {
const t = FE(e, {
doc: n,
mirror: r,
blockClass: i,
blockSelector: a,
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: y,
dataURLOptions: _,
inlineImages: b,
recordCanvas: x,
preserveWhiteSpace: A,
onSerialize: w,
onIframeLoad: k,
iframeLoadTimeout: S,
onStylesheetLoad: E,
stylesheetLoadTimeout: I,
keepIframeSrcFn: O
});
t && E(e, t)
}
}), I), R
}
function zE(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
function UE(e, t, n = document) {
const r = {
capture: !0,
passive: !0
};
return n.addEventListener(e, t, r), () => n.removeEventListener(e, t, r)
}
const VE = "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 BE = {
map: {},
getId: () => (console.error(VE), -1),
getNode: () => (console.error(VE), null),
removeNodeFromMap() {
console.error(VE)
},
has: () => (console.error(VE), !1),
reset() {
console.error(VE)
}
};
function GE(e, t, n = {}) {
let r = null,
i = 0;
return function(...a) {
const o = Date.now();
i || !1 !== n.leading || (i = o);
const s = t - (o - i),
l = this;
s <= 0 || s > t ? (r && (! function(...e) {
cI("clearTimeout")(...e)
}(r), r = null), i = o, e.apply(l, a)) : r || !1 === n.trailing || (r = uI((() => {
i = !1 === n.leading ? 0 : Date.now(), r = null, e.apply(l, a)
}), s))
}
}
function $E(e, t, n, r, i = window) {
const a = i.Object.getOwnPropertyDescriptor(e, t);
return i.Object.defineProperty(e, t, r ? n : {
set(e) {
uI((() => {
n.set.call(this, e)
}), 0), a && a.set && a.set.call(this, e)
}
}), () => $E(e, t, a || {}, !0)
}
function qE(e, t, n) {
try {
if (!(t in e)) return () => {};
const r = e[t],
i = n(r);
return "function" === typeof i && (i.prototype = i.prototype || {}, Object.defineProperties(i, {
__rrweb_original__: {
enumerable: !1,
value: r
}
})), e[t] = i, () => {
e[t] = r
}
} catch (Cs) {
return () => {}
}
}
"undefined" !== typeof window && window.Proxy && window.Reflect && (BE = new Proxy(BE, {
get: (e, t, n) => ("map" === t && console.error(VE), Reflect.get(e, t, n))
}));
let WE = Date.now;
function HE(e) {
const t = e.document;
return {
left: t.scrollingElement ? t.scrollingElement.scrollLeft : void 0 !== e.pageXOffset ? e.pageXOffset : zE([t, "optionalAccess", e => e.documentElement, "access", e => e.scrollLeft]) || zE([t, "optionalAccess", e => e.body, "optionalAccess", e => e.parentElement, "optionalAccess", e => e.scrollLeft]) || zE([t, "optionalAccess", e => e.body, "optionalAccess", e => e.scrollLeft]) || 0,
top: t.scrollingElement ? t.scrollingElement.scrollTop : void 0 !== e.pageYOffset ? e.pageYOffset : zE([t, "optionalAccess", e => e.documentElement, "access", e => e.scrollTop]) || zE([t, "optionalAccess", e => e.body, "optionalAccess", e => e.parentElement, "optionalAccess", e => e.scrollTop]) || zE([t, "optionalAccess", e => e.body, "optionalAccess", e => e.scrollTop]) || 0
}
}
function KE() {
return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight
}
function YE() {
return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth
}
function QE(e) {
if (!e) return null;
return e.nodeType === e.ELEMENT_NODE ? e : e.parentElement
}
function ZE(e, t, n, r, i) {
if (!e) return !1;
const a = QE(e);
if (!a) return !1;
const o = LE(t, n);
if (!i) {
const e = r && a.matches(r);
return o(a) && !e
}
const s = DE(a, o);
let l = -1;
return !(s < 0) && (r && (l = DE(a, LE(null, r))), s > -1 && l < 0 || s < l)
}
function XE(e, t) {
return -2 === t.getId(e)
}
function JE(e, t) {
if (JS(e)) return !1;
const n = t.getId(e);
return !t.has(n) || (!e.parentNode || e.parentNode.nodeType !== e.DOCUMENT_NODE) && (!e.parentNode || JE(e.parentNode, t))
}
function eI(e) {
return Boolean(e.changedTouches)
}
function tI(e, t) {
return Boolean("IFRAME" === e.nodeName && t.getMeta(e))
}
function nI(e, t) {
return Boolean("LINK" === e.nodeName && e.nodeType === e.ELEMENT_NODE && e.getAttribute && "stylesheet" === e.getAttribute("rel") && t.getMeta(e))
}
function rI(e) {
return Boolean(zE([e, "optionalAccess", e => e.shadowRoot]))
}
/[1-9][0-9]{12}/.test(Date.now().toString()) || (WE = () => (new Date).getTime());
class iI {
constructor() {
this.id = 1, this.styleIDMap = new WeakMap, this.idStyleMap = new Map
}
getId(e) {
return t = this.styleIDMap.get(e), n = () => -1, null != t ? t : n();
var t, n
}
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 aI(e) {
let t = null;
return zE([e, "access", e => e.getRootNode, "optionalCall", e => e(), "optionalAccess", e => e.nodeType]) === Node.DOCUMENT_FRAGMENT_NODE && e.getRootNode().host && (t = e.getRootNode().host), t
}
function oI(e) {
const t = e.ownerDocument;
if (!t) return !1;
const n = function(e) {
let t, n = e;
for (; t = aI(n);) n = t;
return n
}(e);
return t.contains(n)
}
function sI(e) {
const t = e.ownerDocument;
return !!t && (t.contains(e) || oI(e))
}
const lI = {};
function cI(e) {
const t = lI[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 i = t.contentWindow;
i && i[e] && (r = i[e]), n.head.removeChild(t)
} catch (i) {}
return lI[e] = r.bind(window)
}
function uI(...e) {
return cI("setTimeout")(...e)
}
var dI = (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))(dI || {}),
pI = (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))(pI || {}),
hI = (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))(hI || {}),
fI = (e => (e[e.Mouse = 0] = "Mouse", e[e.Pen = 1] = "Pen", e[e.Touch = 2] = "Touch", e))(fI || {});
function mI(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
function gI(e) {
return "__ln" in e
}
class vI {
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 = mI([t, "optionalAccess", e => e.next]) || null;
return t
}
addNode(e) {
const t = {
value: e,
previous: null,
next: null
};
if (e.__ln = t, e.previousSibling && gI(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 && gI(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 yI = (e, t) => `${e}@${t}`;
class _I {
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 vI,
r = e => {
let t = e,
n = -2;
for (; - 2 === n;) t = t && t.nextSibling, n = t && this.mirror.getId(t);
return n
},
i = i => {
if (!i.parentNode || !sI(i)) return;
const a = JS(i.parentNode) ? this.mirror.getId(aI(i)) : this.mirror.getId(i.parentNode),
o = r(i);
if (-1 === a || -1 === o) return n.addNode(i);
const s = FE(i, {
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 => {
tI(e, this.mirror) && !ZE(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) && this.iframeManager.addIframe(e), nI(e, this.mirror) && this.stylesheetManager.trackLinkElement(e), rI(i) && this.shadowDomManager.addShadowRoot(i.shadowRoot, this.doc)
},
onIframeLoad: (e, t) => {
ZE(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: a,
nextId: o,
node: s
}), t.add(s.id))
};
for (; this.mapRemoves.length;) this.mirror.removeNodeFromMap(this.mapRemoves.shift());
for (const s of this.movedSet) xI(this.removes, s, this.mirror) && !this.movedSet.has(s.parentNode) || i(s);
for (const s of this.addedSet) kI(this.droppedSet, s) || xI(this.removes, s, this.mirror) ? kI(this.movedSet, s) ? i(s) : this.droppedSet.add(s) : i(s);
let a = null;
for (; n.length;) {
let e = null;
if (a) {
const t = this.mirror.getId(a.value.parentNode),
n = r(a.value); - 1 !== t && -1 !== n && (e = a)
}
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
}
a = e.previous, n.removeNode(e.value), i(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 (!XE(e.target, this.mirror)) switch (e.type) {
case "characterData": {
const t = e.target.textContent;
ZE(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || t === e.oldValue || this.texts.push({
value: NE(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, this.maskAllText) && t ? this.maskTextFn ? this.maskTextFn(t, QE(e.target)) : t.replace(/[\S]/g, "*") : t,
node: e.target
});
break
}
case "attributes": {
const n = e.target;
let r = e.attributeName,
i = e.target.getAttribute(r);
if ("value" === r) {
const t = cE(n),
r = n.tagName;
i = uE(n, r, t);
const a = iE({
maskInputOptions: this.maskInputOptions,
tagName: r,
type: t
});
i = aE({
isMasked: NE(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, a),
element: n,
value: i,
maskInputFn: this.maskInputFn
})
}
if (ZE(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || i === e.oldValue) return;
let a = this.attributeMap.get(e.target);
if ("IFRAME" === n.tagName && "src" === r && !this.keepIframeSrcFn(i)) {
if (n.contentDocument) return;
r = "rr_src"
}
if (a || (a = {
node: e.target,
attributes: {},
styleDiff: {},
_unchangedStyles: {}
}, this.attributes.push(a), this.attributeMap.set(e.target, a)), "type" === r && "INPUT" === n.tagName && "password" === (e.oldValue || "").toLowerCase() && n.setAttribute("data-rr-is-password", "true"), !RE(n.tagName, r) && (a.attributes[r] = TE(this.doc, oE(n.tagName), oE(r), i, n, this.maskAttributeFn), "style" === r)) {
if (!this.unattachedDoc) try {
this.unattachedDoc = document.implementation.createHTMLDocument()
} catch (t) {
this.unattachedDoc = this.doc
}
const r = this.unattachedDoc.createElement("span");
e.oldValue && r.setAttribute("style", e.oldValue);
for (const e of Array.from(n.style)) {
const t = n.style.getPropertyValue(e),
i = n.style.getPropertyPriority(e);
t !== r.style.getPropertyValue(e) || i !== r.style.getPropertyPriority(e) ? a.styleDiff[e] = "" === i ? t : [t, i] : a._unchangedStyles[e] = [t, i]
}
for (const e of Array.from(r.style)) "" === n.style.getPropertyValue(e) && (a.styleDiff[e] = !1)
}
break
}
case "childList":
if (ZE(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 = JS(e.target) ? this.mirror.getId(e.target.host) : this.mirror.getId(e.target);
ZE(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || XE(t, this.mirror) || ! function(e, t) {
return -1 !== t.getId(e)
}(t, this.mirror) || (this.addedSet.has(t) ? (bI(this.addedSet, t), this.droppedSet.add(t)) : this.addedSet.has(e.target) && -1 === n || JE(e.target, this.mirror) || (this.movedSet.has(t) && this.movedMap[yI(n, r)] ? bI(this.movedSet, t) : this.removes.push({
parentId: r,
id: n,
isShadow: !(!JS(e.target) || !eE(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 (XE(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[yI(this.mirror.getId(e), n)] = !0)
} else this.addedSet.add(e), this.droppedSet.delete(e);
ZE(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) || (e.childNodes.forEach((e => this.genAdds(e))), rI(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 bI(e, t) {
e.delete(t), t.childNodes.forEach((t => bI(e, t)))
}
function xI(e, t, n) {
return 0 !== e.length && wI(e, t, n)
}
function wI(e, t, n) {
const {
parentNode: r
} = t;
if (!r) return !1;
const i = n.getId(r);
return !!e.some((e => e.id === i)) || wI(e, r, n)
}
function kI(e, t) {
return 0 !== e.size && SI(e, t)
}
function SI(e, t) {
const {
parentNode: n
} = t;
return !!n && (!!e.has(n) || SI(e, n))
}
let EI;
function II(e) {
EI = e
}
function OI() {
EI = void 0
}
const CI = e => {
if (!EI) return e;
return (...t) => {
try {
return e(...t)
} catch (n) {
if (EI && !0 === EI(n)) return () => {};
throw n
}
}
};
function AI(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
const PI = [];
function TI(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 (Cs) {}
return e && e.target
}
function RI(e, t) {
const n = new _I;
PI.push(n), n.init(e);
let r = window.MutationObserver || window.__rrMutationObserver;
const i = AI([window, "optionalAccess", e => e.Zone, "optionalAccess", e => e.__symbol__, "optionalCall", e => e("MutationObserver")]);
i && window[i] && (r = window[i]);
const a = new r(CI((t => {
e.onMutation && !1 === e.onMutation(t) || n.processMutations.bind(n)(t)
})));
return a.observe(t, {
attributes: !0,
attributeOldValue: !0,
characterData: !0,
characterDataOldValue: !0,
childList: !0,
subtree: !0
}), a
}
function DI({
mouseInteractionCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: i,
unblockSelector: a,
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(hI).filter((e => Number.isNaN(Number(e)) && !e.endsWith("_Departed") && !1 !== s[e])).forEach((o => {
let s = oE(o);
const u = (t => o => {
const s = TI(o);
if (ZE(s, r, i, a, !0)) return;
let l = null,
u = t;
if ("pointerType" in o) {
switch (o.pointerType) {
case "mouse":
l = fI.Mouse;
break;
case "touch":
l = fI.Touch;
break;
case "pen":
l = fI.Pen
}
l === fI.Touch ? hI[t] === hI.MouseDown ? u = "TouchStart" : hI[t] === hI.MouseUp && (u = "TouchEnd") : fI.Pen
} else eI(o) && (l = fI.Touch);
null !== l ? (c = l, (u.startsWith("Touch") && l === fI.Touch || u.startsWith("Mouse") && l === fI.Mouse) && (l = null)) : hI[t] === hI.Click && (l = c, c = null);
const d = eI(o) ? o.changedTouches[0] : o;
if (!d) return;
const p = n.getId(s),
{
clientX: h,
clientY: f
} = d;
CI(e)({
type: hI[u],
id: p,
x: h,
y: f,
...null !== l && {
pointerType: l
}
})
})(o);
if (window.PointerEvent) switch (hI[o]) {
case hI.MouseDown:
case hI.MouseUp:
s = s.replace("mouse", "pointer");
break;
case hI.TouchStart:
case hI.TouchEnd:
return
}
l.push(UE(s, u, t))
})), CI((() => {
l.forEach((e => e()))
}))
}
function LI({
scrollCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: i,
unblockSelector: a,
sampling: o
}) {
const s = CI(GE(CI((o => {
const s = TI(o);
if (!s || ZE(s, r, i, a, !0)) return;
const l = n.getId(s);
if (s === t && t.defaultView) {
const n = HE(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 UE("scroll", s, t)
}
const NI = ["INPUT", "TEXTAREA", "SELECT"],
jI = new WeakMap;
function MI({
inputCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: i,
unblockSelector: a,
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 = TI(e);
const u = e.isTrusted,
g = n && sE(n.tagName);
if ("OPTION" === g && (n = n.parentElement), !n || !g || NI.indexOf(g) < 0 || ZE(n, r, i, a, !0)) return;
const y = n;
if (y.classList.contains(o) || s && y.matches(s)) return;
const _ = cE(n);
let b = uE(y, g, _),
x = !1;
const w = iE({
maskInputOptions: l,
tagName: g,
type: _
}),
k = NE(n, p, f, h, m, w);
"radio" !== _ && "checkbox" !== _ || (x = n.checked), b = aE({
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" === _ && S && x && t.querySelectorAll(`input[type="radio"][name="${S}"]`).forEach((e => {
if (e !== n) {
const t = aE({
isMasked: k,
element: e,
value: uE(e, g, _),
maskInputFn: c
});
v(e, d ? {
text: t,
isChecked: !x,
userTriggered: !1
} : {
text: t,
isChecked: !x
})
}
}))
}
function v(t, r) {
const i = jI.get(t);
if (!i || i.text !== r.text || i.isChecked !== r.isChecked) {
jI.set(t, r);
const i = n.getId(t);
CI(e)({
...r,
id: i
})
}
}
const y = ("last" === u.input ? ["change"] : ["input", "change"]).map((e => UE(e, CI(g), t))),
_ = t.defaultView;
if (!_) return () => {
y.forEach((e => e()))
};
const b = _.Object.getOwnPropertyDescriptor(_.HTMLInputElement.prototype, "value"),
x = [
[_.HTMLInputElement.prototype, "value"],
[_.HTMLInputElement.prototype, "checked"],
[_.HTMLSelectElement.prototype, "value"],
[_.HTMLTextAreaElement.prototype, "value"],
[_.HTMLSelectElement.prototype, "selectedIndex"],
[_.HTMLOptionElement.prototype, "selected"]
];
return b && b.set && y.push(...x.map((e => $E(e[0], e[1], {
set() {
CI(g)({
target: this,
isTrusted: !1
})
}
}, !1, _)))), CI((() => {
y.forEach((e => e()))
}))
}
function FI(e) {
return function(e, t) {
if (BI("CSSGroupingRule") && e.parentRule instanceof CSSGroupingRule || BI("CSSMediaRule") && e.parentRule instanceof CSSMediaRule || BI("CSSSupportsRule") && e.parentRule instanceof CSSSupportsRule || BI("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 zI(e, t, n) {
let r, i;
return e ? (e.ownerNode ? r = t.getId(e.ownerNode) : i = n.getId(e), {
styleId: i,
id: r
}) : {}
}
function UI({
mirror: e,
stylesheetManager: t
}, n) {
let r = null;
r = "#document" === n.nodeName ? e.getId(n) : e.getId(n.host);
const i = "#document" === n.nodeName ? AI([n, "access", e => e.defaultView, "optionalAccess", e => e.Document]) : AI([n, "access", e => e.ownerDocument, "optionalAccess", e => e.defaultView, "optionalAccess", e => e.ShadowRoot]),
a = AI([i, "optionalAccess", e => e.prototype]) ? Object.getOwnPropertyDescriptor(AI([i, "optionalAccess", e => e.prototype]), "adoptedStyleSheets") : void 0;
return null !== r && -1 !== r && i && a ? (Object.defineProperty(n, "adoptedStyleSheets", {
configurable: a.configurable,
enumerable: a.enumerable,
get() {
return AI([a, "access", e => e.get, "optionalAccess", e => e.call, "call", e => e(this)])
},
set(e) {
const n = AI([a, "access", e => e.set, "optionalAccess", e => e.call, "call", t => t(this, e)]);
if (null !== r && -1 !== r) try {
t.adoptStyleSheets(e, r)
} catch (i) {}
return n
}
}), CI((() => {
Object.defineProperty(n, "adoptedStyleSheets", {
configurable: a.configurable,
enumerable: a.enumerable,
get: a.get,
set: a.set
})
}))) : () => {}
}
function VI(e, t = {}) {
const n = e.doc.defaultView;
if (!n) return () => {};
let r;
e.recordDOM && (r = RI(e, e.doc));
const i = function({
mousemoveCb: e,
sampling: t,
doc: n,
mirror: r
}) {
if (!1 === t.mousemove) return () => {};
const i = "number" === typeof t.mousemove ? t.mousemove : 50,
a = "number" === typeof t.mousemoveCallback ? t.mousemoveCallback : 500;
let o, s = [];
const l = GE(CI((t => {
const n = Date.now() - o;
e(s.map((e => (e.timeOffset -= n, e))), t), s = [], o = null
})), a),
c = CI(GE(CI((e => {
const t = TI(e),
{
clientX: n,
clientY: i
} = eI(e) ? e.changedTouches[0] : e;
o || (o = WE()), s.push({
x: n,
y: i,
id: r.getId(t),
timeOffset: WE() - o
}), l("undefined" !== typeof DragEvent && e instanceof DragEvent ? pI.Drag : e instanceof MouseEvent ? pI.MouseMove : pI.TouchMove)
})), i, {
trailing: !1
})),
u = [UE("mousemove", c, n), UE("touchmove", c, n), UE("drag", c, n)];
return CI((() => {
u.forEach((e => e()))
}))
}(e),
a = DI(e),
o = LI(e),
s = function({
viewportResizeCb: e
}, {
win: t
}) {
let n = -1,
r = -1;
return UE("resize", CI(GE(CI((() => {
const t = KE(),
i = YE();
n === t && r === i || (e({
width: Number(i),
height: Number(t)
}), n = t, r = i)
})), 200)), t)
}(e, {
win: n
}),
l = MI(e),
c = function({
mediaInteractionCb: e,
blockClass: t,
blockSelector: n,
unblockSelector: r,
mirror: i,
sampling: a,
doc: o
}) {
const s = CI((o => GE(CI((a => {
const s = TI(a);
if (!s || ZE(s, t, n, r, !0)) return;
const {
currentTime: l,
volume: c,
muted: u,
playbackRate: d
} = s;
e({
type: o,
id: i.getId(s),
currentTime: l,
volume: c,
muted: u,
playbackRate: d
})
})), a.media || 500))),
l = [UE("play", s(0), o), UE("pause", s(1), o), UE("seeked", s(2), o), UE("volumechange", s(3), o), UE("ratechange", s(4), o)];
return CI((() => {
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 i = r.CSSStyleSheet.prototype.insertRule;
r.CSSStyleSheet.prototype.insertRule = new Proxy(i, {
apply: CI(((r, i, a) => {
const [o, s] = a, {
id: l,
styleId: c
} = zI(i, t, n.styleMirror);
return (l && -1 !== l || c && -1 !== c) && e({
id: l,
styleId: c,
adds: [{
rule: o,
index: s
}]
}), r.apply(i, a)
}))
});
const a = r.CSSStyleSheet.prototype.deleteRule;
let o, s;
r.CSSStyleSheet.prototype.deleteRule = new Proxy(a, {
apply: CI(((r, i, a) => {
const [o] = a, {
id: s,
styleId: l
} = zI(i, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
removes: [{
index: o
}]
}), r.apply(i, a)
}))
}), r.CSSStyleSheet.prototype.replace && (o = r.CSSStyleSheet.prototype.replace, r.CSSStyleSheet.prototype.replace = new Proxy(o, {
apply: CI(((r, i, a) => {
const [o] = a, {
id: s,
styleId: l
} = zI(i, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
replace: o
}), r.apply(i, a)
}))
})), r.CSSStyleSheet.prototype.replaceSync && (s = r.CSSStyleSheet.prototype.replaceSync, r.CSSStyleSheet.prototype.replaceSync = new Proxy(s, {
apply: CI(((r, i, a) => {
const [o] = a, {
id: s,
styleId: l
} = zI(i, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
replaceSync: o
}), r.apply(i, a)
}))
}));
const l = {};
GI("CSSGroupingRule") ? l.CSSGroupingRule = r.CSSGroupingRule : (GI("CSSMediaRule") && (l.CSSMediaRule = r.CSSMediaRule), GI("CSSConditionRule") && (l.CSSConditionRule = r.CSSConditionRule), GI("CSSSupportsRule") && (l.CSSSupportsRule = r.CSSSupportsRule));
const c = {};
return Object.entries(l).forEach((([r, i]) => {
c[r] = {
insertRule: i.prototype.insertRule,
deleteRule: i.prototype.deleteRule
}, i.prototype.insertRule = new Proxy(c[r].insertRule, {
apply: CI(((r, i, a) => {
const [o, s] = a, {
id: l,
styleId: c
} = zI(i.parentStyleSheet, t, n.styleMirror);
return (l && -1 !== l || c && -1 !== c) && e({
id: l,
styleId: c,
adds: [{
rule: o,
index: [...FI(i), s || 0]
}]
}), r.apply(i, a)
}))
}), i.prototype.deleteRule = new Proxy(c[r].deleteRule, {
apply: CI(((r, i, a) => {
const [o] = a, {
id: s,
styleId: l
} = zI(i.parentStyleSheet, t, n.styleMirror);
return (s && -1 !== s || l && -1 !== l) && e({
id: s,
styleId: l,
removes: [{
index: [...FI(i), o]
}]
}), r.apply(i, a)
}))
})
})), CI((() => {
r.CSSStyleSheet.prototype.insertRule = i, r.CSSStyleSheet.prototype.deleteRule = a, 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 = UI(e, e.doc), p = function({
styleDeclarationCb: e,
mirror: t,
ignoreCSSAttributes: n,
stylesheetManager: r
}, {
win: i
}) {
const a = i.CSSStyleDeclaration.prototype.setProperty;
i.CSSStyleDeclaration.prototype.setProperty = new Proxy(a, {
apply: CI(((i, o, s) => {
const [l, c, u] = s;
if (n.has(l)) return a.apply(o, [l, c, u]);
const {
id: d,
styleId: p
} = zI(AI([o, "access", e => e.parentRule, "optionalAccess", e => e.parentStyleSheet]), t, r.styleMirror);
return (d && -1 !== d || p && -1 !== p) && e({
id: d,
styleId: p,
set: {
property: l,
value: c,
priority: u
},
index: FI(o.parentRule)
}), i.apply(o, s)
}))
});
const o = i.CSSStyleDeclaration.prototype.removeProperty;
return i.CSSStyleDeclaration.prototype.removeProperty = new Proxy(o, {
apply: CI(((i, a, s) => {
const [l] = s;
if (n.has(l)) return o.apply(a, [l]);
const {
id: c,
styleId: u
} = zI(AI([a, "access", e => e.parentRule, "optionalAccess", e => e.parentStyleSheet]), t, r.styleMirror);
return (c && -1 !== c || u && -1 !== u) && e({
id: c,
styleId: u,
remove: {
property: l
},
index: FI(a.parentRule)
}), i.apply(a, s)
}))
}), CI((() => {
i.CSSStyleDeclaration.prototype.setProperty = a, i.CSSStyleDeclaration.prototype.removeProperty = o
}))
}(e, {
win: n
}), e.collectFonts && (h = function({
fontCb: e,
doc: t
}) {
const n = t.defaultView;
if (!n) return () => {};
const r = [],
i = new WeakMap,
a = n.FontFace;
n.FontFace = function(e, t, n) {
const r = new a(e, t, n);
return i.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 = qE(t.fonts, "add", (function(t) {
return function(n) {
return uI(CI((() => {
const t = i.get(n);
t && (e(t), i.delete(n))
})), 0), t.apply(this, [n])
}
}));
return r.push((() => {
n.FontFace = a
})), r.push(o), CI((() => {
r.forEach((e => e()))
}))
}(e)));
const f = function(e) {
const {
doc: t,
mirror: n,
blockClass: r,
blockSelector: i,
unblockSelector: a,
selectionCb: o
} = e;
let s = !0;
const l = CI((() => {
const e = t.getSelection();
if (!e || s && AI([e, "optionalAccess", e => 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;
ZE(s, r, i, a, !0) || ZE(u, r, i, a, !0) || l.push({
start: n.getId(s),
startOffset: c,
end: n.getId(u),
endOffset: d
})
}
o({
ranges: l
})
}));
return l(), UE("selectionchange", l)
}(e),
m = function({
doc: e,
customElementCb: t
}) {
const n = e.defaultView;
return n && n.customElements ? qE(n.customElements, "define", (function(e) {
return function(n, r, i) {
try {
t({
define: {
name: n
}
})
} catch (a) {}
return e.apply(this, [n, r, i])
}
})) : () => {}
}(e),
g = [];
for (const v of e.plugins) g.push(v.observer(v.callback, n, v.options));
return CI((() => {
PI.forEach((e => e.reset())), AI([r, "optionalAccess", e => e.disconnect, "call", e => e()]), i(), a(), o(), s(), l(), c(), u(), d(), p(), h(), f(), m(), g.forEach((e => e()))
}))
}
function BI(e) {
return "undefined" !== typeof window[e]
}
function GI(e) {
return Boolean("undefined" !== typeof window[e] && window[e].prototype && "insertRule" in window[e].prototype && "deleteRule" in window[e].prototype)
}
class $I {
constructor(e) {
this.generateIdFn = e, this.iframeIdToRemoteIdMap = new WeakMap, this.iframeRemoteIdToIdMap = new WeakMap
}
getId(e, t, n, r) {
const i = n || this.getIdToRemoteIdMap(e),
a = r || this.getRemoteIdToIdMap(e);
let o = i.get(t);
return o || (o = this.generateIdFn(), i.set(t, o), a.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 i = r.get(t);
return i || -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
}
}
function qI(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const i = e[r],
a = e[r + 1];
if (r += 2, ("optionalAccess" === i || "optionalCall" === i) && null == n) return;
"access" === i || "optionalAccess" === i ? (t = n, n = a(n)) : "call" !== i && "optionalCall" !== i || (n = a(((...e) => n.call(t, ...e))), t = void 0)
}
return n
}
class WI {
constructor() {
this.crossOriginIframeMirror = new $I(yE), this.crossOriginIframeRootIdMap = new WeakMap
}
addIframe() {}
addLoadListener() {}
attachIframe() {}
}
class HI {
constructor(e) {
this.iframes = new WeakMap, this.crossOriginIframeMap = new WeakMap, this.crossOriginIframeMirror = new $I(yE), this.crossOriginIframeRootIdMap = new WeakMap, this.mutationCb = e.mutationCb, this.wrappedEmit = e.wrappedEmit, this.stylesheetManager = e.stylesheetManager, this.recordCrossOriginIframes = e.recordCrossOriginIframes, this.crossOriginIframeStyleMirror = new $I(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
}), qI([this, "access", e => e.loadListener, "optionalCall", t => t(e)]), e.contentDocument && e.contentDocument.adoptedStyleSheets && e.contentDocument.adoptedStyleSheets.length > 0 && this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets, this.mirror.getId(e.contentDocument))
}
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 dI.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: dI.IncrementalSnapshot,
data: {
source: pI.Mutation,
adds: [{
parentId: this.mirror.getId(e),
nextId: null,
node: t.data.node
}],
removes: [],
texts: [],
attributes: [],
isAttachIframe: !0
}
}
}
case dI.Meta:
case dI.Load:
case dI.DomContentLoaded:
return !1;
case dI.Plugin:
return t;
case dI.Custom:
return this.replaceIds(t.data.payload, e, ["id", "parentId", "previousId", "nextId"]), t;
case dI.IncrementalSnapshot:
switch (t.data.source) {
case pI.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 pI.Drag:
case pI.TouchMove:
case pI.MouseMove:
return t.data.positions.forEach((t => {
this.replaceIds(t, e, ["id"])
})), t;
case pI.ViewportResize:
return !1;
case pI.MediaInteraction:
case pI.MouseInteraction:
case pI.Scroll:
case pI.CanvasMutation:
case pI.Input:
return this.replaceIds(t.data, e, ["id"]), t;
case pI.StyleSheetRule:
case pI.StyleDeclaration:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleId"]), t;
case pI.Font:
return t;
case pI.Selection:
return t.data.ranges.forEach((t => {
this.replaceIds(t, e, ["start", "end"])
})), t;
case pI.AdoptedStyleSheet:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleIds"]), qI([t, "access", e => e.data, "access", e => e.styles, "optionalAccess", e => e.forEach, "call", t => t((t => {
this.replaceStyleIds(t, e, ["styleId"])
}))]), t
}
}
return !1
}
replace(e, t, n, r) {
for (const i of r)(Array.isArray(t[i]) || "number" === typeof t[i]) && (Array.isArray(t[i]) ? t[i] = e.getIds(n, t[i]) : t[i] = e.getId(n, t[i]));
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 === XS.Document || e.rootId || (e.rootId = t), "childNodes" in e && e.childNodes.forEach((e => {
this.patchRootIdOnNode(e, t)
}))
}
}
class KI {
init() {}
addShadowRoot() {}
observeAttachShadow() {}
reset() {}
}
class YI {
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 (!eE(e)) return;
if (this.shadowDoms.has(e)) return;
this.shadowDoms.add(e), this.bypassOptions.canvasManager.addShadowRoot(e);
const n = RI({
...this.bypassOptions,
doc: t,
mutationCb: this.mutationCb,
mirror: this.mirror,
shadowDomManager: this
}, e);
this.restoreHandlers.push((() => n.disconnect())), this.restoreHandlers.push(LI({
...this.bypassOptions,
scrollCb: this.scrollCb,
doc: e,
mirror: this.mirror
})), uI((() => {
e.adoptedStyleSheets && e.adoptedStyleSheets.length > 0 && this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets, this.mirror.getId(e.host)), this.restoreHandlers.push(UI({
mirror: this.mirror,
stylesheetManager: this.bypassOptions.stylesheetManager
}, e))
}), 0)
}
observeAttachShadow(e) {
e.contentWindow && e.contentDocument && this.patchAttachShadow(e.contentWindow.Element, e.contentDocument)
}
patchAttachShadow(e, t) {
const n = this;
this.restoreHandlers.push(qE(e.prototype, "attachShadow", (function(e) {
return function(r) {
const i = e.call(this, r);
return this.shadowRoot && sI(this) && n.addShadowRoot(this.shadowRoot, t), i
}
})))
}
reset() {
this.restoreHandlers.forEach((e => {
try {
e()
} catch (t) {}
})), this.restoreHandlers = [], this.shadowDoms = new WeakSet, this.bypassOptions.canvasManager.resetShadowRoots()
}
}
class QI {
reset() {}
freeze() {}
unfreeze() {}
lock() {}
unlock() {}
snapshot() {}
addWindow() {}
addShadowRoot() {}
resetShadowRoots() {}
}
class ZI {
constructor(e) {
this.trackedLinkElements = new WeakSet, this.styleMirror = new iI, 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 i of e) {
let e;
this.styleMirror.has(i) ? e = this.styleMirror.getId(i) : (e = this.styleMirror.add(i), r.push({
styleId: e,
rules: Array.from(i.rules || CSSRule, ((e, t) => ({
rule: nE(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 XI {
constructor() {
this.nodeMap = new WeakMap, this.loop = !0, this.periodicallyClear()
}
periodicallyClear() {
! function(...e) {
cI("requestAnimationFrame")(...e)
}((() => {
this.clear(), this.loop && this.periodicallyClear()
}))
}
inOtherBuffer(e, t) {
const n = this.nodeMap.get(e);
return n && Array.from(n).some((e => e !== t))
}
add(e, t) {
this.nodeMap.set(e, (this.nodeMap.get(e) || new Set).add(t))
}
clear() {
this.nodeMap = new WeakMap
}
destroy() {
this.loop = !1
}
}
let JI, eO;
try {
if (2 !== Array.from([1], (e => 2 * e))[0]) {
const e = document.createElement("iframe");
document.body.appendChild(e), Array.from = Qx([e, "access", e => e.contentWindow, "optionalAccess", e => e.Array, "access", e => e.from]) || Array.from, document.body.removeChild(e)
}
} catch ($U) {
console.debug("Unable to override Array.from", $U)
}
const tO = new rE;
function nO(e = {}) {
const {
emit: t,
checkoutEveryNms: n,
checkoutEveryNth: r,
blockClass: i = "rr-block",
blockSelector: a = 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: y,
maskInputFn: _,
maskTextFn: b,
maxCanvasSize: x = null,
packFn: w,
sampling: k = {},
dataURLOptions: S = {},
mousemoveWait: E,
recordDOM: I = !0,
recordCanvas: O = !1,
recordCrossOriginIframes: C = !1,
recordAfter: A = ("DOMContentLoaded" === e.recordAfter ? e.recordAfter : "load"),
userTriggeredOnInput: P = !1,
collectFonts: T = !1,
inlineImages: R = !1,
plugins: D,
keepIframeSrcFn: L = (() => !1),
ignoreCSSAttributes: N = new Set([]),
errorHandler: j,
onMutation: M,
getCanvasManager: F
} = e;
II(j);
const z = !C || window.parent === window;
let U = !1;
if (!z) try {
window.parent.document && (U = !1)
} catch (te) {
U = !0
}
if (z && !t) throw new Error("emit function is required");
void 0 !== E && void 0 === k.mousemove && (k.mousemove = E), tO.reset();
const V = !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 D || []) t.eventProcessor && (e = t.eventProcessor(e));
return w && !U && (e = w(e)), e
};
JI = (e, i) => {
const a = e;
if (a.timestamp = WE(), !Qx([PI, "access", e => e[0], "optionalAccess", e => e.isFrozen, "call", e => e()]) || a.type === dI.FullSnapshot || a.type === dI.IncrementalSnapshot && a.data.source === pI.Mutation || PI.forEach((e => e.unfreeze())), z) Qx([t, "optionalCall", e => e(q(a), i)]);
else if (U) {
const e = {
type: "rrweb",
event: q(a),
origin: window.location.origin,
isCheckout: i
};
window.parent.postMessage(e, "*")
}
if (a.type === dI.FullSnapshot) G = a, $ = 0;
else if (a.type === dI.IncrementalSnapshot) {
if (a.data.source === pI.Mutation && a.data.isAttachIframe) return;
$++;
const e = r && $ >= r,
t = n && G && a.timestamp - G.timestamp > n;
(e || t) && ee(!0)
}
};
const W = e => {
JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.Mutation,
...e
}
})
},
H = e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.Scroll,
...e
}
}),
K = e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.CanvasMutation,
...e
}
}),
Y = new ZI({
mutationCb: W,
adoptedStyleSheetCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.AdoptedStyleSheet,
...e
}
})
}),
Q = "boolean" === typeof __RRWEB_EXCLUDE_IFRAME__ && __RRWEB_EXCLUDE_IFRAME__ ? new WI : new HI({
mirror: tO,
mutationCb: W,
stylesheetManager: Y,
recordCrossOriginIframes: C,
wrappedEmit: JI
});
for (const re of D || []) re.getMirror && re.getMirror({
nodeMirror: tO,
crossOriginIframeMirror: Q.crossOriginIframeMirror,
crossOriginIframeStyleMirror: Q.crossOriginIframeStyleMirror
});
const Z = new XI,
X = function(e, t) {
try {
return e ? e(t) : new QI
} catch (Cs) {
return console.warn("Unable to initialize CanvasManager"), new QI
}
}(F, {
mirror: tO,
win: window,
mutationCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.CanvasMutation,
...e
}
}),
recordCanvas: O,
blockClass: i,
blockSelector: a,
unblockSelector: o,
maxCanvasSize: x,
sampling: k.canvas,
dataURLOptions: S,
errorHandler: j
}),
J = "boolean" === typeof __RRWEB_EXCLUDE_SHADOW_DOM__ && __RRWEB_EXCLUDE_SHADOW_DOM__ ? new KI : new YI({
mutationCb: W,
scrollCb: H,
bypassOptions: {
onMutation: M,
blockClass: i,
blockSelector: a,
unblockSelector: o,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
inlineStylesheet: f,
maskInputOptions: V,
dataURLOptions: S,
maskAttributeFn: y,
maskTextFn: b,
maskInputFn: _,
recordCanvas: O,
inlineImages: R,
sampling: k,
slimDOMOptions: B,
iframeManager: Q,
stylesheetManager: Y,
canvasManager: X,
keepIframeSrcFn: L,
processedNodeManager: Z
},
mirror: tO
}),
ee = (e = !1) => {
if (!I) return;
JI({
type: dI.Meta,
data: {
href: window.location.href,
width: YE(),
height: KE()
}
}, e), Y.reset(), J.init(), PI.forEach((e => e.lock()));
const t = function(e, t) {
const {
mirror: n = new rE,
blockClass: r = "rr-block",
blockSelector: i = null,
unblockSelector: a = 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: y = !1,
dataURLOptions: _,
preserveWhiteSpace: b,
onSerialize: x,
onIframeLoad: w,
iframeLoadTimeout: k,
onStylesheetLoad: S,
stylesheetLoadTimeout: E,
keepIframeSrcFn: I = (() => !1)
} = t || {};
return FE(e, {
doc: e,
mirror: n,
blockClass: r,
blockSelector: i,
unblockSelector: a,
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 === y || "all" === y ? {
script: !0,
comment: !0,
headFavicon: !0,
headWhitespace: !0,
headMetaDescKeywords: "all" === y,
headMetaSocial: !0,
headMetaRobots: !0,
headMetaHttpEquiv: !0,
headMetaAuthorship: !0,
headMetaVerification: !0
} : !1 === y ? {} : y,
dataURLOptions: _,
inlineImages: p,
recordCanvas: h,
preserveWhiteSpace: b,
onSerialize: x,
onIframeLoad: w,
iframeLoadTimeout: k,
onStylesheetLoad: S,
stylesheetLoadTimeout: E,
keepIframeSrcFn: I,
newlyAddedElement: !1
})
}(document, {
mirror: tO,
blockClass: i,
blockSelector: a,
unblockSelector: o,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
inlineStylesheet: f,
maskAllInputs: V,
maskAttributeFn: y,
maskInputFn: _,
maskTextFn: b,
slimDOM: B,
dataURLOptions: S,
recordCanvas: O,
inlineImages: R,
onSerialize: e => {
tI(e, tO) && Q.addIframe(e), nI(e, tO) && Y.trackLinkElement(e), rI(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");
JI({
type: dI.FullSnapshot,
data: {
node: t,
initialOffset: HE(window)
}
}), PI.forEach((e => e.unlock())), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && Y.adoptStyleSheets(document.adoptedStyleSheets, tO.getId(document))
};
eO = ee;
try {
const e = [],
t = e => CI(VI)({
onMutation: M,
mutationCb: W,
mousemoveCb: (e, t) => JI({
type: dI.IncrementalSnapshot,
data: {
source: t,
positions: e
}
}),
mouseInteractionCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.MouseInteraction,
...e
}
}),
scrollCb: H,
viewportResizeCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.ViewportResize,
...e
}
}),
inputCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.Input,
...e
}
}),
mediaInteractionCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.MediaInteraction,
...e
}
}),
styleSheetRuleCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.StyleSheetRule,
...e
}
}),
styleDeclarationCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.StyleDeclaration,
...e
}
}),
canvasMutationCb: K,
fontCb: e => JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.Font,
...e
}
}),
selectionCb: e => {
JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.Selection,
...e
}
})
},
customElementCb: e => {
JI({
type: dI.IncrementalSnapshot,
data: {
source: pI.CustomElement,
...e
}
})
},
blockClass: i,
ignoreClass: s,
ignoreSelector: l,
maskAllText: c,
maskTextClass: u,
unmaskTextClass: d,
maskTextSelector: p,
unmaskTextSelector: h,
maskInputOptions: V,
inlineStylesheet: f,
sampling: k,
recordDOM: I,
recordCanvas: O,
inlineImages: R,
userTriggeredOnInput: P,
collectFonts: T,
doc: e,
maskAttributeFn: y,
maskInputFn: _,
maskTextFn: b,
keepIframeSrcFn: L,
blockSelector: a,
unblockSelector: o,
slimDOMOptions: B,
dataURLOptions: S,
mirror: tO,
iframeManager: Q,
stylesheetManager: Y,
shadowDomManager: J,
processedNodeManager: Z,
canvasManager: X,
ignoreCSSAttributes: N,
plugins: Qx([D, "optionalAccess", e => e.filter, "call", e => e((e => e.observer)), "optionalAccess", e => e.map, "call", e => e((e => ({
observer: e.observer,
options: e.options,
callback: t => JI({
type: dI.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(UE("DOMContentLoaded", (() => {
JI({
type: dI.DomContentLoaded,
data: {}
}), "DOMContentLoaded" === A && n()
}))), e.push(UE("load", (() => {
JI({
type: dI.Load,
data: {}
}), "load" === A && n()
}), window))), () => {
e.forEach((e => e())), Z.destroy(), eO = void 0, OI()
}
} catch (ne) {
console.warn(ne)
}
}
nO.mirror = tO, nO.takeFullSnapshot = function(e) {
if (!eO) throw new Error("please take full snapshot after start recording");
eO(e)
};
const rO = "undefined" === typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
iO = ["info", "warn", "error", "log"],
aO = "[Replay] ";
function oO(e, t = "info") {
SS({
category: "console",
data: {
logger: "replay"
},
level: t,
message: `${aO}${e}`
}, {
level: t
})
}
const sO = function() {
let e = !1,
t = !1;
const n = {
exception: () => {},
infoTick: () => {},
setConfig: n => {
e = n.captureExceptions, t = n.traceInternals
}
};
return rO ? (iO.forEach((e => {
n[e] = (...n) => {
E_[e](aO, ...n), t && oO(n.join(""), CS(e))
}
})), n.exception = (r, ...i) => {
i.length && n.error && n.error(...i), E_.error(aO, r), e ? qk(r) : t && oO(r, "error")
}, n.infoTick = (...e) => {
E_.info(aO, ...e), t && setTimeout((() => oO(e[0])), 0)
}) : iO.forEach((e => {
n[e] = () => {}
})), n
}();
function lO(e) {
return e > 9999999999 ? e : 1e3 * e
}
function cO(e) {
return e > 9999999999 ? e / 1e3 : e
}
function uO(e, t) {
"sentry.transaction" !== t.category && (["ui.click", "ui.input"].includes(t.category) ? e.triggerUserActivity() : e.checkAndHandleExpiredSession(), e.addUpdate((() => (e.throttledAddEvent({
type: dI.Custom,
timestamp: 1e3 * (t.timestamp || 0),
data: {
tag: "breadcrumb",
payload: yx(t, 10, 1e3)
}
}), "console" === t.category))))
}
function dO(e) {
return e.closest("button,a") || e
}
function pO(e) {
const t = hO(e);
return t && t instanceof Element ? dO(t) : t
}
function hO(e) {
return function(e) {
return "object" === typeof e && !!e && "target" in e
}(e) ? e.target : e
}
let fO;
function mO(e) {
return fO || (fO = [], P_(GS, "open", (function(e) {
return function(...t) {
if (fO) try {
fO.forEach((e => e()))
} catch (n) {}
return e.apply(GS, t)
}
}))), fO.push(e), () => {
const t = fO ? fO.indexOf(e) : -1;
t > -1 && fO.splice(t, 1)
}
}
const gO = new Set([pI.Mutation, pI.StyleSheetRule, pI.StyleDeclaration, pI.AdoptedStyleSheet, pI.CanvasMutation, pI.Selection, pI.MediaInteraction]);
class vO {
constructor(e, t, n = uO) {
this._lastMutation = 0, this._lastScroll = 0, this._clicks = [], this._timeout = t.timeout / 1e3, this._threshold = t.threshold / 1e3, this._scollTimeout = t.scrollTimeout / 1e3, this._replay = e, this._ignoreSelector = t.ignoreSelector, this._addBreadcrumbEvent = n
}
addListeners() {
const e = mO((() => {
this._lastMutation = _O()
}));
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 (!yO.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: cO(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 = cO(e)
}
registerScroll(e = Date.now()) {
this._lastScroll = cO(e)
}
registerClick(e) {
const t = dO(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 = _O();
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._scollTimeout,
r = e.mutationAfter && e.mutationAfter <= this._threshold,
i = !n && !r,
{
clickCount: a,
clickBreadcrumb: o
} = e;
if (i) {
const n = 1e3 * Math.min(e.mutationAfter || this._timeout, this._timeout),
r = n < 1e3 * this._timeout ? "mutation" : "timeout",
i = {
type: "default",
message: o.message,
timestamp: o.timestamp,
category: "ui.slowClickDetected",
data: {
...o.data,
url: GS.location.href,
route: t.getCurrentRoute(),
timeAfterClickMs: n,
endReason: r,
clickCount: a || 1
}
};
this._addBreadcrumbEvent(t, i)
} else if (a > 1) {
const e = {
type: "default",
message: o.message,
timestamp: o.timestamp,
category: "ui.multiClick",
data: {
...o.data,
url: GS.location.href,
route: t.getCurrentRoute(),
clickCount: a,
metric: !0
}
};
this._addBreadcrumbEvent(t, e)
}
}
_scheduleCheckClicks() {
this._checkClickTimeout && clearTimeout(this._checkClickTimeout), this._checkClickTimeout = jS((() => this._checkClicks()), 1e3)
}
}
const yO = ["A", "BUTTON", "INPUT"];
function _O() {
return Date.now() / 1e3
}
function bO(e, t) {
try {
if (! function(e) {
return 3 === e.type
}(t)) return;
const {
source: n
} = t.data;
if (gO.has(n) && e.registerMutation(t.timestamp), n === pI.Scroll && e.registerScroll(t.timestamp), function(e) {
return e.data.source === pI.MouseInteraction
}(t)) {
const {
type: n,
id: r
} = t.data, i = nO.mirror.getNode(r);
i instanceof HTMLElement && n === hI.Click && e.registerClick(i)
}
} catch (n) {}
}
function xO(e) {
return {
timestamp: Date.now() / 1e3,
type: "default",
...e
}
}
var wO;
! function(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"
}(wO || (wO = {}));
const kO = new Set(["id", "class", "aria-label", "role", "name", "alt", "title", "data-test-id", "data-testid", "disabled", "aria-disabled", "data-sentry-component"]);
function SO(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 (kO.has(n)) {
let r = n;
"data-testid" !== n && "data-test-id" !== n || (r = "testId"), t[r] = e[n]
} return t
}
const EO = 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 ? pO(e.event) : hO(e.event), n = v_(r, {
maxStringLength: 200
}) || "<unknown>"
} catch (i) {
n = "<unknown>"
}
return {
target: r,
message: n
}
}(e);
return xO({
category: `ui.${e.name}`,
...IO(t, n)
})
}(t);
if (!n) return;
const r = "click" === t.name,
i = r ? t.event : void 0;
!(r && e.clickDetector && i && i.target) || i.altKey || i.metaKey || i.ctrlKey || i.shiftKey || function(e, t, n) {
e.handleClick(t, n)
}(e.clickDetector, n, pO(t.event)), uO(e, n)
};
function IO(e, t) {
const n = nO.mirror.getId(e),
r = n && nO.mirror.getNode(n),
i = r && nO.mirror.getMeta(r),
a = i && function(e) {
return e.type === wO.Element
}(i) ? i : null;
return {
message: t,
data: a ? {
nodeId: n,
node: {
id: n,
tagName: a.tagName,
textContent: Array.from(a.childNodes).map((e => e.type === wO.Text && e.textContent)).filter(Boolean).map((e => e.trim())).join(""),
attributes: SO(a.attributes)
}
} : {}
}
}
function OO(e, t) {
if (!e.isEnabled()) return;
e.updateUserActivity();
const n = function(e) {
const {
metaKey: t,
shiftKey: n,
ctrlKey: r,
altKey: i,
key: a,
target: o
} = e;
if (!o || function(e) {
return "INPUT" === e.tagName || "TEXTAREA" === e.tagName || e.isContentEditable
}(o) || !a) return null;
const s = t || r || i,
l = 1 === a.length;
if (!s && l) return null;
const c = v_(o, {
maxStringLength: 200
}) || "<unknown>",
u = IO(o, c);
return xO({
category: "ui.keyDown",
message: c,
data: {
...u.data,
metaKey: t,
shiftKey: n,
ctrlKey: r,
altKey: i,
key: a
}
})
}(t);
n && uO(e, n)
}
const CO = {
resource: function(e) {
const {
entryType: t,
initiatorType: n,
name: r,
responseEnd: i,
startTime: a,
decodedBodySize: o,
encodedBodySize: s,
responseStatus: l,
transferSize: c
} = e;
if (["fetch", "xmlhttprequest"].includes(n)) return null;
return {
type: `${t}.${n}`,
start: TO(a),
end: TO(i),
name: r,
data: {
size: c,
statusCode: l,
decodedBodySize: o,
encodedBodySize: s
}
}
},
paint: function(e) {
const {
duration: t,
entryType: n,
name: r,
startTime: i
} = e, a = TO(i);
return {
type: n,
name: r,
start: a,
end: a + t,
data: void 0
}
},
navigation: function(e) {
const {
entryType: t,
name: n,
decodedBodySize: r,
duration: i,
domComplete: a,
encodedBodySize: o,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: l,
domInteractive: c,
loadEventStart: u,
loadEventEnd: d,
redirectCount: p,
startTime: h,
transferSize: f,
type: m
} = e;
if (0 === i) return null;
return {
type: `${t}.${m}`,
start: TO(h),
end: TO(a),
name: n,
data: {
size: f,
decodedBodySize: r,
encodedBodySize: o,
duration: i,
domInteractive: c,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: l,
loadEventStart: u,
loadEventEnd: d,
domComplete: a,
redirectCount: p
}
}
}
};
function AO(e, t) {
return ({
metric: n
}) => {
t.replayPerformanceEntries.push(e(n))
}
}
function PO(e) {
const t = CO[e.entryType];
return t ? t(e) : null
}
function TO(e) {
return ((ib || GS.performance.timeOrigin) + e) / 1e3
}
function RO(e) {
const t = e.entries[e.entries.length - 1];
return MO(e, "largest-contentful-paint", t && t.element ? [t.element] : void 0)
}
function DO(e) {
return void 0 !== e.sources
}
function LO(e) {
const t = [],
n = [];
for (const r of e.entries)
if (DO(r)) {
const e = [];
for (const t of r.sources)
if (t.node) {
n.push(t.node);
const r = nO.mirror.getId(t.node);
r && e.push(r)
} t.push({
value: r.value,
nodeIds: e.length ? e : void 0
})
} return MO(e, "cumulative-layout-shift", n, t)
}
function NO(e) {
const t = e.entries[e.entries.length - 1];
return MO(e, "first-input-delay", t && t.target ? [t.target] : void 0)
}
function jO(e) {
const t = e.entries[e.entries.length - 1];
return MO(e, "interaction-to-next-paint", t && t.target ? [t.target] : void 0)
}
function MO(e, t, n, r) {
const i = e.value,
a = e.rating,
o = TO(i);
return {
type: "web-vital",
name: t,
start: o,
end: o,
data: {
value: i,
size: i,
rating: a,
nodeIds: n ? n.map((e => nO.mirror.getId(e))) : void 0,
attributions: r
}
}
}
class FO extends Error {
constructor() {
super("Event buffer exceeded maximum size of 20000000.")
}
}
class zO {
constructor() {
this.events = [], this._totalSize = 0, this.hasCheckout = !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 > KS) throw new FO;
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 ? lO(e) : null
}
}
class UO {
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() {
rO && sO.info("Destroying compression worker"), this._worker.terminate()
}
postMessage(e, t) {
const n = this._getAndIncrementId();
return new Promise(((r, i) => {
const a = ({
data: t
}) => {
const o = t;
if (o.method === e && o.id === n) {
if (this._worker.removeEventListener("message", a), !o.success) return rO && sO.error("Error in compression worker: ", o.response), void i(new Error("Error in compression worker"));
r(o.response)
}
};
this._worker.addEventListener("message", a), this._worker.postMessage({
id: n,
method: e,
arg: t
})
}))
}
_getAndIncrementId() {
return this._id++
}
}
class VO {
constructor(e) {
this._worker = new UO(e), this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1
}
get hasEvents() {
return !!this._earliestTimestamp
}
get type() {
return "worker"
}
ensureReady() {
return this._worker.ensureReady()
}
destroy() {
this._worker.destroy()
}
addEvent(e) {
const t = lO(e.timestamp);
(!this._earliestTimestamp || t < this._earliestTimestamp) && (this._earliestTimestamp = t);
const n = JSON.stringify(e);
return this._totalSize += n.length, this._totalSize > KS ? Promise.reject(new FO) : this._sendEventToWorker(n)
}
finish() {
return this._finishRequest()
}
clear() {
this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1, this._worker.postMessage("clear").then(null, (e => {
rO && sO.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 BO {
constructor(e) {
this._fallback = new zO, this._compression = new VO(e), this._used = this._fallback, this._ensureWorkerIsLoadedPromise = this._ensureWorkerIsLoaded()
}
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
}
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(rO && sO.exception(e, "Failed to load the compression worker, falling back to simple buffer"))
}
await this._switchToCompressionWorker()
}
async _switchToCompressionWorker() {
const {
events: e,
hasCheckout: t
} = this._fallback, n = [];
for (const i of e) n.push(this._compression.addEvent(i));
this._compression.hasCheckout = t, this._used = this._compression;
try {
await Promise.all(n)
} catch (r) {
rO && sO.exception(r, "Failed to add events when switching buffers.")
}
}
}
function GO({
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]),a=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=function(t,e){for(var i=new n(31),a=0;a<31;++a)i[a]=e+=1<<t[a-1];var s=new r(i[30]);for(a=1;a<30;++a)for(var o=i[a];o<i[a+1];++o)s[o]=o-i[a]<<5|a;return{b:i,r:s}},o=s(e,2),f=o.b,h=o.r;f[28]=258,h[258]=28;for(var l=s(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,a=0,s=new n(r);a<i;++a)t[a]&&++s[t[a]-1];var o,f=new n(r);for(a=1;a<r;++a)f[a]=f[a-1]+s[a-1]<<1;if(e){o=new n(1<<r);var h=15-r;for(a=0;a<i;++a)if(t[a])for(var l=a<<4|t[a],c=r-t[a],v=f[t[a]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>h]=l}else for(o=new n(i),a=0;a<i;++a)t[a]&&(o[a]=u[f[t[a]-1]++]>>15-t[a]);return o},g=new t(288);for(c=0;c<144;++c)g[c]=8;for(c=144;c<256;++c)g[c]=9;for(c=256;c<280;++c)g[c]=7;for(c=280;c<288;++c)g[c]=8;var w=new t(32);for(c=0;c<32;++c)w[c]=5;var p=d(g,9,0),y=d(w,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==r||r<0)&&(r=0),(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},A=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},_=function(r,e){for(var i=[],a=0;a<r.length;++a)r[a]&&i.push({s:a,f:r[a]});var s=i.length,o=i.slice();if(!s)return{t:F,l:0};if(1==s){var f=new t(i[0].s+1);return f[i[0].s]=1,{t:f,l:1}}i.sort((function(t,n){return t.f-n.f})),i.push({s:-1,f:25001});var h=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:h.f+l.f,l:h,r:l};c!=s-1;)h=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:h.f+l.f,l:h,r:l};var d=o[0].s;for(a=1;a<s;++a)o[a].s>d&&(d=o[a].s);var g=new n(d+1),w=x(i[c-1],g,0);if(w>e){a=0;var p=0,y=w-e,m=1<<y;for(o.sort((function(t,n){return g[n.s]-g[t.s]||t.f-n.f}));a<s;++a){var b=o[a].s;if(!(g[b]>e))break;p+=m-(1<<w-g[b]),g[b]=e}for(p>>=y;p>0;){var M=o[a].s;g[M]<e?p-=1<<e-g[M]++-1:++a}for(;a>=0&&p;--a){var E=o[a].s;g[E]==e&&(--g[E],++p)}w=e}return{t:new t(g),l:w}},x=function(t,n,r){return-1==t.s?Math.max(x(t.l,n,r+1),x(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,a=t[0],s=1,o=function(t){e[i++]=t},f=1;f<=r;++f)if(t[f]==a&&f!=r)++s;else{if(!a&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(a),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(a);s=1,a=t[f]}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 a=0;a<e;++a)t[i+a+4]=r[a];return 8*(i+4+e)},C=function(t,r,s,o,f,h,l,u,c,v,m){z(r,m++,s),++f[256];for(var b=_(f,15),M=b.t,E=b.l,x=_(h,15),C=x.t,U=x.l,F=D(M),I=F.c,S=F.n,L=D(C),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=_(q,7),H=G.t,J=G.l,K=19;K>4&&!H[a[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(f,g)+T(h,w)+l,X=T(f,M)+T(h,C)+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(C,U,0),R=C;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[a[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=p,P=g,Q=y,R=w;for(B=0;B<u;++B){var rt=o[B];if(rt>255){A(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;A(r,m,Q[et]),m+=R[et],et>3&&(A(r,m,rt>>5&8191),m+=i[et])}else A(r,m,N[rt]),m+=P[rt]}return A(r,m,N[256]),m+P[256]},U=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,a=0|r.length,s=0;s!=a;){for(var o=Math.min(s+2655,a);s<o;++s)i+=e+=r[s];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(a,s,o,f,u){if(!u&&(u={l:1},s.dictionary)){var c=s.dictionary.subarray(-32768),v=new t(c.length+a.length);v.set(c),v.set(a,c.length),a=v,u.w=c.length}return function(a,s,o,f,u,c){var v=c.z||a.length,d=new t(f+v+5*(1+Math.ceil(v/7e3))+u),g=d.subarray(f,d.length-u),w=c.l,p=7&(c.r||0);if(s){p&&(g[0]=c.r>>3);for(var y=U[s-1],M=y>>13,E=8191&y,z=(1<<o)-1,A=c.p||new n(32768),_=c.h||new n(z+1),x=Math.ceil(o/3),D=2*x,T=function(t){return(a[t]^a[t+1]<<x^a[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=_[H];if(A[J]=K,_[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!w)){p=C(a,g,0,F,I,S,O,q,G,j-G,p),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(a[j+Q]==a[j+Q-W]){for(var $=0;$<Z&&a[j+$]==a[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-A[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=A[J])&32767}if(R){F[q++]=268435456|h[Q]<<18|l[R];var it=31&h[Q],at=31&l[R];O+=e[it]+i[at],++I[257+it],++S[at],B=j+Q,++L}else F[q++]=a[j],++I[a[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=a[j],++I[a[j]];p=C(a,g,w,F,I,S,O,q,G,j-G,p),w||(c.r=7&p|g[p/8|0]<<3,p-=7,c.h=_,c.p=A,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+w;j+=65535){var st=j+65535;st>=v&&(g[p/8|0]=w,st=v),p=k(g,p+1,a.subarray(j,st))}c.i=v}return b(d,0,f+m(p)+u)}(a,null==s.level?6:s.level,null==s.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(a.length)))):12+s.mem,o,f,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 a=this.b.length-this.s.z;a&&(this.b.set(n.subarray(0,a),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(a),32768),this.s.z=n.length-a+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}();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}(),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(r){for(var e=new t(n.length),i=0;i<n.length;++i)e[i]=n.charCodeAt(i);return e}if(J)return J.encode(n);var a=n.length,s=new t(n.length+(n.length>>1)),o=0,f=function(t){s[o++]=t};for(i=0;i<a;++i){if(o+5>s.length){var h=new t(o+8+(a-i<<1));h.set(s),s=h}var l=n.charCodeAt(i);l<128||r?f(l):l<2048?(f(192|l>>6),f(128|63&l)):l>55295&&l<57344?(f(240|(l=65536+(1047552&l)|1023&n.charCodeAt(++i))>>18),f(128|l>>12&63),f(128|l>>6&63),f(128|63&l)):(f(224|l>>12),f(128|l>>6&63),f(128|63&l))}return b(s,0,o)}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),a=i.length;return q(i,n),j(i,a-8,r.d()),j(i,a-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;
rO && sO.info("Using compression worker" + (e ? ` from ${e}` : ""));
const n = new Worker(t);
return new BO(n)
} catch (t) {
rO && sO.exception(t, "Failed to create compression worker")
}
}(t);
if (e) return e
}
return rO && sO.info("Using simple buffer"), new zO
}
function $O() {
try {
return "sessionStorage" in GS && !!GS.sessionStorage
} catch (e) {
return !1
}
}
function qO(e) {
! function() {
if (!$O()) return;
try {
GS.sessionStorage.removeItem($S)
} catch (e) {}
}(), e.session = void 0
}
function WO(e) {
return void 0 !== e && Math.random() < e
}
function HO(e) {
const t = Date.now();
return {
id: e.id || q_(),
started: e.started || t,
lastActivity: e.lastActivity || t,
segmentId: e.segmentId || 0,
sampled: e.sampled,
previousSessionId: e.previousSessionId
}
}
function KO(e) {
if ($O()) try {
GS.sessionStorage.setItem($S, JSON.stringify(e))
} catch (t) {}
}
function YO({
sessionSampleRate: e,
allowBuffering: t,
stickySession: n = !1
}, {
previousSessionId: r
} = {}) {
const i = function(e, t) {
return WO(e) ? "session" : !!t && "buffer"
}(e, t),
a = HO({
sampled: i,
previousSessionId: r
});
return n && KO(a), a
}
function QO(e, t, n = +new Date) {
return null === e || void 0 === t || t < 0 || 0 !== t && e + t <= n
}
function ZO(e, {
maxReplayDuration: t,
sessionIdleExpire: n,
targetTime: r = Date.now()
}) {
return QO(e.started, t, r) || QO(e.lastActivity, n, r)
}
function XO(e, {
sessionIdleExpire: t,
maxReplayDuration: n
}) {
return !!ZO(e, {
sessionIdleExpire: t,
maxReplayDuration: n
}) && ("buffer" !== e.sampled || 0 !== e.segmentId)
}
function JO({
sessionIdleExpire: e,
maxReplayDuration: t,
previousSessionId: n
}, r) {
const i = r.stickySession && function() {
if (!$O()) return null;
try {
const e = GS.sessionStorage.getItem($S);
if (!e) return null;
const t = JSON.parse(e);
return rO && sO.infoTick("Loading existing session"), HO(t)
} catch (e) {
return null
}
}();
return i ? XO(i, {
sessionIdleExpire: e,
maxReplayDuration: t
}) ? (rO && sO.infoTick("Session in sessionStorage is expired, creating new one..."), YO(r, {
previousSessionId: i.id
})) : i : (rO && sO.infoTick("Creating new session"), YO(r, {
previousSessionId: n
}))
}
function eC(e, t, n) {
return !!nC(e, t) && (tC(e, t, n), !0)
}
async function tC(e, t, n) {
if (!e.eventBuffer) return null;
try {
n && "buffer" === e.recordingMode && e.eventBuffer.clear(), n && (e.eventBuffer.hasCheckout = !0);
const r = function(e, t) {
try {
if ("function" === typeof t && function(e) {
return e.type === dI.Custom
}(e)) return t(e)
} catch (n) {
return rO && sO.exception(n, "An error occured in the `beforeAddRecordingEvent` callback, skipping the event..."), null
}
return e
}(t, e.getOptions().beforeAddRecordingEvent);
if (!r) return;
return await e.eventBuffer.addEvent(r)
} catch (r) {
const t = r && r instanceof FO ? "addEventSizeExceeded" : "addEvent";
e.handleException(r), await e.stop({
reason: t
});
const n = Sb();
n && n.recordDroppedEvent("internal_sdk_error", "replay")
}
}
function nC(e, t) {
if (!e.eventBuffer || e.isPaused() || !e.isEnabled()) return !1;
const n = lO(t.timestamp);
return !(n + e.timeouts.sessionIdlePause < Date.now()) && (!(n > e.getContext().initialTimestamp + e.getOptions().maxReplayDuration) || (rO && sO.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`), !1))
}
function rC(e) {
return !e.type
}
function iC(e) {
return "transaction" === e.type
}
function aC(e) {
return "feedback" === e.type
}
function oC(e) {
return (t, n) => {
if (!e.isEnabled() || !rC(t) && !iC(t)) return;
const r = n && n.statusCode;
!r || r < 200 || r >= 300 || (iC(t) ? function(e, t) {
const n = e.getContext();
t.contexts && t.contexts.trace && 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;
jS((() => {
e.sendBufferedReplayOrFlush()
}))
}(e, t))
}
}
function sC(e) {
return t => {
e.isEnabled() && rC(t) && function(e, t) {
const n = t.exception && t.exception.values && t.exception.values[0] && 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)) {
uO(e, xO({
category: "replay.hydrate-error",
data: {
url: __()
}
}))
}
}(e, t)
}
}
function lC(e) {
const t = Sb();
t && t.on("beforeAddBreadcrumb", (t => function(e, t) {
if (!e.isEnabled() || !cC(t)) return;
const n = function(e) {
if (!cC(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 && e.data.arguments;
if (!Array.isArray(t) || 0 === t.length) return xO(e);
let n = !1;
const r = t.map((e => {
if (!e) return e;
if ("string" === typeof e) return e.length > HS ? (n = !0, `${e.slice(0,HS)}\u2026`) : e;
if ("object" === typeof e) try {
const t = yx(e, 7);
return JSON.stringify(t).length > HS ? (n = !0, `${JSON.stringify(t,null,2).slice(0,HS)}\u2026`) : t
} catch (t) {}
return e
}));
return xO({
...e,
data: {
...e.data,
arguments: r,
...n ? {
_meta: {
warnings: ["CONSOLE_ARG_TRUNCATED"]
}
} : {}
}
})
}(e);
return xO(e)
}(t);
n && uO(e, n)
}(e, t)))
}
function cC(e) {
return !!e.category
}
function uC(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 (!rC(t) && !iC(t) && !aC(t)) return t;
if (!e.checkAndHandleExpiredSession()) return t;
if (aC(t)) return e.flush(), t.contexts.feedback.replay_id = e.getSessionId(),
function(e, t) {
e.triggerUserActivity(), e.addUpdate((() => !t.timestamp || (e.throttledAddEvent({
type: dI.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 || !t.originalException.__rrweb__)
}(t, n) && !e.getOptions()._experiments.captureExceptions) return rO && sO.log("Ignoring error from rrweb internals", t), null;
const r = function(e, t) {
return "buffer" === e.recordingMode && t.message !== qS && !(!t.exception || t.type) && WO(e.getOptions().errorSampleRate)
}(e, t);
return (r || "session" === e.recordingMode) && (t.tags = {
...t.tags,
replayId: e.getSessionId()
}), t
}), {
id: "Replay"
})
}
function dC(e, t) {
return t.map((({
type: t,
start: n,
end: r,
name: i,
data: a
}) => {
const o = e.throttledAddEvent({
type: dI.Custom,
timestamp: n,
data: {
tag: "performanceSpan",
payload: {
op: t,
description: i,
startTimestamp: n,
endTimestamp: r,
data: a
}
}
});
return "string" === typeof o ? Promise.resolve(null) : o
}))
}
function pC(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((() => (dC(e, [n]), !1))))
}
}
function hC(e, t) {
e.isEnabled() && null !== t && (function(e, t) {
return (!rO || !e.getOptions()._experiments.traceInternals) && ES(t, Sb())
}(e, t.name) || e.addUpdate((() => (dC(e, [t]), !0))))
}
function fC(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 = wC(e);
return t.encode(n).length
}
if (e instanceof Blob) return e.size;
if (e instanceof ArrayBuffer) return e.byteLength
} catch (n) {}
}
function mC(e) {
if (!e) return;
const t = parseInt(e, 10);
return isNaN(t) ? void 0 : t
}
function gC(e) {
try {
if ("string" === typeof e) return [e];
if (e instanceof URLSearchParams) return [e.toString()];
if (e instanceof FormData) return [wC(e)];
if (!e) return [void 0]
} catch (t) {
return rO && sO.exception(t, "Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return rO && sO.info("Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}
function vC(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 yC(e, t) {
if (!t) return null;
const {
startTimestamp: n,
endTimestamp: r,
url: i,
method: a,
statusCode: o,
request: s,
response: l
} = t;
return {
type: e,
start: n / 1e3,
end: r / 1e3,
name: i,
data: M_({
method: a,
statusCode: o,
request: s,
response: l
})
}
}
function _C(e) {
return {
headers: {},
size: e,
_meta: {
warnings: ["URL_SKIPPED"]
}
}
}
function bC(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: i,
warnings: a
} = function(e) {
if (!e || "string" !== typeof e) return {
body: e
};
const t = e.length > WS,
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, WS);
return n ? {
body: t,
warnings: ["MAYBE_JSON_TRUNCATED"]
} : {
body: `${t}\u2026`,
warnings: ["TEXT_TRUNCATED"]
}
}
if (n) try {
return {
body: JSON.parse(e)
}
} catch (Cs) {}
return {
body: e
}
}(n);
return r.body = i, a && a.length > 0 && (r._meta = {
warnings: a
}), r
}
function xC(e, t) {
return Object.entries(e).reduce(((n, [r, i]) => {
const a = r.toLowerCase();
return t.includes(a) && e[r] && (n[a] = i), n
}), {})
}
function wC(e) {
return new URLSearchParams(e).toString()
}
function kC(e, t) {
const n = function(e, t = GS.document.baseURI) {
if (e.startsWith("http://") || e.startsWith("https://") || e.startsWith(GS.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 A_(n, t)
}
async function SC(e, t, n) {
try {
const r = await async function(e, t, n) {
const r = Date.now(),
{
startTimestamp: i = r,
endTimestamp: a = r
} = t,
{
url: o,
method: s,
status_code: l = 0,
request_body_size: c,
response_body_size: u
} = e.data,
d = kC(o, n.networkDetailAllowUrls) && !kC(o, n.networkDetailDenyUrls),
p = d ? function({
networkCaptureBodies: e,
networkRequestHeaders: t
}, n, r) {
const i = n ? function(e, t) {
if (1 === e.length && "string" !== typeof e[0]) return OC(e[0], t);
if (2 === e.length) return OC(e[1], t);
return {}
}(n, t) : {};
if (!e) return bC(i, r, void 0);
const a = EC(n),
[o, s] = gC(a),
l = bC(i, r, o);
if (s) return vC(l, s);
return l
}(n, t.input, c) : _C(c),
h = await async function(e, {
networkCaptureBodies: t,
networkResponseHeaders: n
}, r, i) {
if (!e && void 0 !== i) return _C(i);
const a = r ? IC(r.headers, n) : {};
if (!r || !t && void 0 !== i) return bC(a, i, void 0);
const [o, s] = await async function(e) {
const t = function(e) {
try {
return e.clone()
} catch (t) {
rO && sO.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 = jS((() => 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 rO && sO.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: i
}) {
try {
const a = e && e.length && void 0 === n ? fC(e) : n;
return r ? bC(i, a, t ? e : void 0) : _C(a)
} catch (a) {
return rO && sO.exception(a, "Failed to serialize response body"), bC(i, n, void 0)
}
}(o, {
networkCaptureBodies: t,
responseBodySize: i,
captureDetails: e,
headers: a
});
if (s) return vC(l, s);
return l
}(d, n, t.response, u);
return {
startTimestamp: i,
endTimestamp: a,
url: o,
method: s,
statusCode: l,
request: p,
response: h
}
}(e, t, n), i = yC("resource.fetch", r);
hC(n.replay, i)
} catch (r) {
rO && sO.exception(r, "Failed to capture fetch breadcrumb")
}
}
function EC(e = []) {
if (2 === e.length && "object" === typeof e[1]) return e[1].body
}
function IC(e, t) {
const n = {};
return t.forEach((t => {
e.get(t) && (n[t] = e.get(t))
})), n
}
function OC(e, t) {
if (!e) return {};
const n = e.headers;
return n ? n instanceof Headers ? IC(n, t) : Array.isArray(n) ? {} : xC(n, t) : {}
}
async function CC(e, t, n) {
try {
const r = function(e, t, n) {
const r = Date.now(),
{
startTimestamp: i = r,
endTimestamp: a = 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 || !kC(l, n.networkDetailAllowUrls) || kC(l, n.networkDetailDenyUrls)) {
return {
startTimestamp: i,
endTimestamp: a,
url: l,
method: c,
statusCode: u,
request: _C(d),
response: _C(p)
}
}
const h = s[nS],
f = h ? xC(h.request_headers, n.networkRequestHeaders) : {},
m = xC(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 ? gC(o) : [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 rO && sO.exception(n, "Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return rO && sO.info("Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}(e.response, e.responseType)
} catch (n) {
t.push(n)
}
return rO && sO.warn("Failed to get xhr response body", ...t), [void 0]
}(s) : [void 0],
b = bC(f, d, g),
x = bC(m, p, y);
return {
startTimestamp: i,
endTimestamp: a,
url: l,
method: c,
statusCode: u,
request: v ? vC(b, v) : b,
response: _ ? vC(x, _) : x
}
}(e, t, n),
i = yC("resource.xhr", r);
hC(n.replay, i)
} catch (r) {
rO && sO.exception(r, "Failed to capture xhr breadcrumb")
}
}
function AC(e, t) {
const {
xhr: n,
input: r
} = t;
if (!n) return;
const i = fC(r),
a = n.getResponseHeader("content-length") ? mC(n.getResponseHeader("content-length")) : function(e, t) {
try {
return fC("json" === t && e && "object" === typeof e ? JSON.stringify(e) : e)
} catch (Cs) {
return
}
}(n.response, n.responseType);
void 0 !== i && (e.data.request_body_size = i), void 0 !== a && (e.data.response_body_size = a)
}
function PC(e) {
const t = Sb();
try {
const {
networkDetailAllowUrls: n,
networkDetailDenyUrls: r,
networkCaptureBodies: i,
networkRequestHeaders: a,
networkResponseHeaders: o
} = e.getOptions(), s = {
replay: e,
networkDetailAllowUrls: n,
networkDetailDenyUrls: r,
networkCaptureBodies: i,
networkRequestHeaders: a,
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 && e.xhr
}(n) && (AC(t, n), CC(t, n, e)),
function(e) {
return "fetch" === e.category
}(t) && function(e) {
return e && e.response
}(n) && (! function(e, t) {
const {
input: n,
response: r
} = t, i = fC(n ? EC(n) : void 0), a = r ? mC(r.headers.get("content-length")) : void 0;
void 0 !== i && (e.data.request_body_size = i), void 0 !== a && (e.data.response_body_size = a)
}(t, n), SC(t, n, e))
} catch (r) {
rO && sO.exception(r, "Error when enriching network breadcrumb")
}
}(s, e, t)))
} catch (Cs) {}
}
function TC(e) {
const t = Sb();
US(EO(e)), bk(pC(e)), lC(e), PC(e);
const n = uC(e);
var r;
r = n, wb().addEventProcessor(r), t && (t.on("beforeSendEvent", sC(e)), t.on("afterSendEvent", oC(e)), t.on("createDsc", (t => {
const n = e.getSessionId();
if (n && e.isEnabled() && "session" === e.recordingMode) {
e.checkAndHandleExpiredSession() && (t.replay_id = n)
}
})), t.on("spanStart", (t => {
e.lastActiveSpan = t
})), t.on("spanEnd", (t => {
e.lastActiveSpan = t
})), t.on("beforeSendFeedback", ((t, n) => {
const r = e.getSessionId();
n && n.includeReplay && e.isEnabled() && r && t.contexts && t.contexts.feedback && (t.contexts.feedback.replay_id = r)
})))
}
function RC(e) {
const {
jsHeapSizeLimit: t,
totalJSHeapSize: n,
usedJSHeapSize: r
} = e, i = Date.now() / 1e3;
return {
type: "memory",
name: "memory",
start: i,
end: i,
data: {
memory: {
jsHeapSizeLimit: t,
totalJSHeapSize: n,
usedJSHeapSize: r
}
}
}
}
function DC(e) {
let t = !1;
return (n, r) => {
if (!e.checkAndHandleExpiredSession()) return void(rO && sO.warn("Received replay event after session expired."));
const i = r || !t;
t = !0, e.clickDetector && bO(e.clickDetector, n), e.addUpdate((() => {
if ("buffer" === e.recordingMode && i && e.setInitialState(), !eC(e, n, i)) return !0;
if (!i) return !1;
const t = e.session;
if (function(e, t) {
if (!t || !e.session || 0 !== e.session.segmentId) return;
eC(e, function(e) {
const t = e.getOptions();
return {
type: dI.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, i), t && t.previousSessionId) return !0;
if ("buffer" === e.recordingMode && t && e.eventBuffer) {
const n = e.eventBuffer.getEarliestTimestamp();
n && (rO && sO.info(`Updating session start time to earliest event in buffer to ${new Date(n)}`), t.started = n, e.getOptions().stickySession && KO(t))
}
return "session" === e.recordingMode && e.flush(), !0
}))
}
}
async function LC({
recordingData: e,
replayId: t,
segmentId: n,
eventContext: r,
timestamp: i,
session: a
}) {
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 = Sb(),
p = xb(),
h = d && d.getTransport(),
f = d && d.getDsn();
if (!d || !h || !f || !a.sampled) return Lk({});
const m = {
type: "replay_event",
replay_start_timestamp: u / 1e3,
timestamp: i / 1e3,
error_ids: l,
trace_ids: c,
urls: s,
replay_id: t,
segment_id: n,
replay_type: a.sampled
},
g = await async function({
client: e,
scope: t,
replayId: n,
event: r
}) {
const i = {
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, i);
const a = await Vk(e.getOptions(), r, i, t, e, wb());
if (!a) return null;
a.platform = a.platform || "javascript";
const o = e.getSdkMetadata(),
{
name: s,
version: l
} = o && o.sdk || {};
return a.sdk = {
...a.sdk,
name: s || "sentry.javascript.unknown",
version: l || "0.0.0"
}, a
}({
scope: p,
client: d,
replayId: t,
event: m
});
if (!g) return d.recordDroppedEvent("event_processor", "replay", m), rO && sO.info("An event processor returned `null`, will not send event."), Lk({});
delete g.sdkProcessingMetadata;
const v = function(e, t, n, r) {
return xx(Tx(e, Px(e), r, n), [
[{
type: "replay_event"
}, e],
[{
type: "replay_recording",
length: "string" === typeof t ? (new TextEncoder).encode(t).length : t.length
}, t]
])
}(g, o, f, d.getOptions().tunnel);
let y;
try {
y = await h.send(v)
} catch ($U) {
const t = new Error(qS);
try {
t.cause = $U
} catch (b) {}
throw t
}
if ("number" === typeof y.statusCode && (y.statusCode < 200 || y.statusCode >= 300)) throw new NC(y.statusCode);
const _ = PS({}, y);
if (AS(_, "replay")) throw new jC(_);
return y
}
class NC extends Error {
constructor(e) {
super(`Transport returned status code ${e}`)
}
}
class jC extends Error {
constructor(e) {
super("Rate limit hit"), this.rateLimits = e
}
}
async function MC(e, t = {
count: 0,
interval: 5e3
}) {
const {
recordingData: n,
onError: r
} = e;
var i, a;
if (n.length) try {
return await LC(e), !0
} catch ($U) {
if ($U instanceof NC || $U instanceof jC) throw $U;
if (i = "Replays", a = {
_retryCount: t.count
}, wb().setContext(i, a), r && r($U), t.count >= 3) {
const e = new Error(`${qS} - max retries exceeded`);
try {
e.cause = $U
} catch (o) {}
throw e
}
return t.interval *= ++t.count, new Promise(((r, i) => {
jS((async () => {
try {
await MC(e, t), r(!0)
} catch (n) {
i(n)
}
}), t.interval)
}))
}
}
const FC = "__THROTTLED";
function zC(e, t, n) {
const r = new Map;
let i = !1;
return (...a) => {
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 = i;
return i = !0, e ? "__SKIPPED" : FC
}
i = !1;
const s = r.get(o) || 0;
return r.set(o, s + 1), e(...a)
}
}
class UC {
constructor({
options: e,
recordingOptions: t
}) {
UC.prototype.__init.call(this), UC.prototype.__init2.call(this), UC.prototype.__init3.call(this), UC.prototype.__init4.call(this), UC.prototype.__init5.call(this), UC.prototype.__init6.call(this), 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, i, a;
const o = n && n.maxWait ? Math.max(n.maxWait, t) : 0;
function s() {
return l(), r = e(), r
}
function l() {
void 0 !== i && clearTimeout(i), void 0 !== a && clearTimeout(a), i = a = void 0
}
function c() {
return i && clearTimeout(i), i = jS(s, t), o && void 0 === a && (a = jS(s, o)), r
}
return c.cancel = l, c.flush = function() {
return void 0 !== i || void 0 !== a ? s() : r
}, c
}((() => this._flush()), this._options.flushMinDelay, {
maxWait: this._options.flushMaxDelay
}), this._throttledAddEvent = zC(((e, t) => function(e, t, n) {
return nC(e, t) ? tC(e, t, n) : Promise.resolve(null)
}(this, e, t)), 300, 5);
const {
slowClickTimeout: n,
slowClickIgnoreSelectors: r
} = this.getOptions(), i = n ? {
threshold: Math.min(3e3, n),
timeout: n,
scrollTimeout: 300,
ignoreSelector: r ? r.join(",") : ""
} : void 0;
if (i && (this.clickDetector = new vO(this, i)), rO) {
const t = e._experiments;
sO.setConfig({
captureExceptions: !!t.captureExceptions,
traceInternals: !!t.traceInternals
})
}
}
getContext() {
return this._context
}
isEnabled() {
return this._isEnabled
}
isPaused() {
return this._isPaused
}
isRecordingCanvas() {
return Boolean(this._canvas)
}
getOptions() {
return this._options
}
handleException(e) {
rO && sO.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", rO && sO.infoTick(`Starting replay in ${this.recordingMode} mode`), this._initializeRecording()) : rO && sO.exception(new Error("Unable to initialize and create session")))
}
start() {
if (this._isEnabled && "session" === this.recordingMode) return void(rO && sO.info("Recording is already in progress"));
if (this._isEnabled && "buffer" === this.recordingMode) return void(rO && sO.info("Buffering is in progress, call `flush()` to save the replay"));
rO && sO.infoTick("Starting replay in session mode"), this._updateUserActivity();
const e = JO({
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(rO && sO.info("Buffering is in progress, call `flush()` to save the replay"));
rO && sO.infoTick("Starting replay in buffer mode");
const e = JO({
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 = nO({
...this._recordingOptions,
..."buffer" === this.recordingMode ? {
checkoutEveryNms: 6e4
} : this._options._experiments.continuousCheckout && {
checkoutEveryNms: Math.max(36e4, this._options._experiments.continuousCheckout)
},
emit: DC(this),
onMutation: this._onMutationHandler,
...e ? {
recordCanvas: e.recordCanvas,
getCanvasManager: e.getCanvasManager,
sampling: e.sampling,
dataURLOptions: e.dataURLOptions
} : {}
})
} catch ($U) {
this.handleException($U)
}
}
stopRecording() {
try {
return this._stopRecording && (this._stopRecording(), this._stopRecording = void 0), !0
} catch ($U) {
return this.handleException($U), !1
}
}
async stop({
forceFlush: e = !1,
reason: t
} = {}) {
if (this._isEnabled) {
this._isEnabled = !1;
try {
rO && sO.info("Stopping Replay" + (t ? ` triggered by ${t}` : "")), this._removeListeners(), this.stopRecording(), this._debouncedFlush.cancel(), e && await this._flush({
force: !0
}), this.eventBuffer && this.eventBuffer.destroy(), this.eventBuffer = null, qO(this)
} catch ($U) {
this.handleException($U)
}
}
}
pause() {
this._isPaused || (this._isPaused = !0, this.stopRecording(), rO && sO.info("Pausing replay"))
}
resume() {
this._isPaused && this._checkSession() && (this._isPaused = !1, this.startRecording(), rO && sO.info("Resuming replay"))
}
async sendBufferedReplayOrFlush({
continueRecording: e = !0
} = {}) {
if ("session" === this.recordingMode) return this.flushImmediate();
const t = Date.now();
rO && sO.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 && this.session.id
}
checkAndHandleExpiredSession() {
if (!(this._lastActivity && QO(this._lastActivity, this.timeouts.sessionIdlePause) && this.session && "session" === this.session.sampled)) return !!this._checkSession();
this.pause()
}
setInitialState() {
const e = `${GS.location.pathname}${GS.location.hash}${GS.location.search}`,
t = `${GS.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 === FC) {
const e = xO({
category: "replay.throttled"
});
this.addUpdate((() => !eC(this, {
type: 5,
timestamp: e.timestamp || 0,
data: {
tag: "breadcrumb",
payload: e,
metric: !0
}
})))
}
return n
}
getCurrentRoute() {
const e = this.lastActiveSpan || Yb(),
t = e && Kb(e),
n = (t && Vb(t).data || {})[Ob];
if (t && n && ["route", "custom"].includes(n)) return Vb(t).description
}
_initializeRecording() {
this.setInitialState(), this._updateSessionActivity(), this.eventBuffer = GO({
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 = JO({
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 !XO(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 {
GS.document.addEventListener("visibilitychange", this._handleVisibilityChange), GS.addEventListener("blur", this._handleWindowBlur), GS.addEventListener("focus", this._handleWindowFocus), GS.addEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.addListeners(), this._hasInitializedCoreListeners || (TC(this), this._hasInitializedCoreListeners = !0)
} catch ($U) {
this.handleException($U)
}
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(zw(e, n))
})), r.push(jw(AO(RO, e)), Nw(AO(LO, e)), Mw(AO(NO, e)), Fw(AO(jO, e))), () => {
r.forEach((e => e()))
}
}(this)
}
_removeListeners() {
try {
GS.document.removeEventListener("visibilitychange", this._handleVisibilityChange), GS.removeEventListener("blur", this._handleWindowBlur), GS.removeEventListener("focus", this._handleWindowFocus), GS.removeEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.removeListeners(), this._performanceCleanupCallback && this._performanceCleanupCallback()
} catch ($U) {
this.handleException($U)
}
}
__init() {
this._handleVisibilityChange = () => {
"visible" === GS.document.visibilityState ? this._doChangeToForegroundTasks() : this._doChangeToBackgroundTasks()
}
}
__init2() {
this._handleWindowBlur = () => {
const e = xO({
category: "ui.blur"
});
this._doChangeToBackgroundTasks(e)
}
}
__init3() {
this._handleWindowFocus = () => {
const e = xO({
category: "ui.focus"
});
this._doChangeToForegroundTasks(e)
}
}
__init4() {
this._handleKeyboardEvent = e => {
OO(this, e)
}
}
_doChangeToBackgroundTasks(e) {
if (!this.session) return;
ZO(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) : rO && sO.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: dI.Custom,
timestamp: e.timestamp || 0,
data: {
tag: "breadcrumb",
payload: e
}
})
}))
}
_addPerformanceEntries() {
const e = (t = this.performanceEntries, t.map(PO).filter(Boolean)).concat(this.replayPerformanceEntries);
var t;
return this.performanceEntries = [], this.replayPerformanceEntries = [], Promise.all(dC(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 && this.eventBuffer.hasEvents && (await async function(e) {
try {
return Promise.all(dC(e, [RC(GS.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 i = await this.eventBuffer.finish();
await MC({
replayId: e,
recordingData: i,
segmentId: r,
eventContext: n,
session: this.session,
timestamp: t,
onError: e => this.handleException(e)
})
} catch ($U) {
this.handleException($U), this.stop({
reason: "sendReplay"
});
const t = Sb();
if (t) {
const n = $U instanceof jC ? "ratelimit_backoff" : "send_error";
t.recordDroppedEvent(n, "replay")
}
}
} else rO && sO.error("No session or eventBuffer found to flush.")
}
__init5() {
this._flush = async ({
force: e = !1
} = {}) => {
if (!this._isEnabled && !e) return;
if (!this.checkAndHandleExpiredSession()) return void(rO && sO.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,
i = n > this._options.maxReplayDuration + 5e3;
if (r || i) return rO && sO.info(`Session duration (${Math.floor(n/1e3)}s) is too ${r?"short":"long"}, not sending replay.`), void(r && this._debouncedFlush());
const a = this.eventBuffer;
a && 0 === this.session.segmentId && !a.hasCheckout && rO && sO.info("Flushing initial segment without checkout.");
const o = !!this._flushLock;
this._flushLock || (this._flushLock = this._runFlush());
try {
await this._flushLock
} catch ($U) {
this.handleException($U)
} finally {
this._flushLock = void 0, o && this._debouncedFlush()
}
}
}
_maybeSaveSession() {
this.session && this._options.stickySession && KO(this.session)
}
__init6() {
this._onMutationHandler = e => {
const t = e.length,
n = this._options.mutationLimit,
r = n && t > n;
if (t > this._options.mutationBreadcrumbLimit || r) {
const e = xO({
category: "replay.mutations",
data: {
count: t,
limit: r
}
});
this._createCustomBreadcrumb(e)
}
return !r || (this.stop({
reason: "mutationLimit",
forceFlush: "session" === this.recordingMode
}), !1)
}
}
}
function VC(e, t) {
return [...e, ...t].join(",")
}
const BC = 'img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',
GC = ["content-length", "content-type", "accept"];
let $C = !1;
class qC {
static __initStatic() {
this.id = "Replay"
}
constructor({
flushMinDelay: e = 5e3,
flushMaxDelay: t = 5500,
minReplayDuration: n = 4999,
maxReplayDuration: r = 36e5,
stickySession: i = !0,
useCompression: a = !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: y = [],
networkResponseHeaders: _ = [],
mask: b = [],
maskAttributes: x = ["title", "placeholder"],
unmask: w = [],
block: k = [],
unblock: S = [],
ignore: E = [],
maskFn: I,
beforeAddRecordingEvent: O,
beforeErrorSampling: C
} = {}) {
this.name = qC.id;
const A = function({
mask: e,
unmask: t,
block: n,
unblock: r,
ignore: i
}) {
return {
maskTextSelector: VC(e, [".sentry-mask", "[data-sentry-mask]"]),
unmaskTextSelector: VC(t, []),
blockSelector: VC(n, [".sentry-block", "[data-sentry-block]", 'base[href="/"]']),
unblockSelector: VC(r, []),
ignoreSelector: VC(i, [".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: i,
value: a
}) {
return r ? i.unmaskTextSelector && e.matches(i.unmaskTextSelector) ? a : n.includes(t) || "value" === t && "INPUT" === e.tagName && ["submit", "button"].includes(e.getAttribute("type") || "") ? a.replace(/[\S]/g, "*") : a : a
}({
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) {}
}
}, this._initialOptions = {
flushMinDelay: e,
flushMaxDelay: t,
minReplayDuration: Math.min(n, 15e3),
maxReplayDuration: Math.min(r, YS),
stickySession: i,
useCompression: a,
workerUrl: o,
blockAllMedia: u,
maskAllInputs: c,
maskAllText: l,
mutationBreadcrumbLimit: d,
mutationLimit: p,
slowClickTimeout: h,
slowClickIgnoreSelectors: f,
networkDetailAllowUrls: m,
networkDetailDenyUrls: g,
networkCaptureBodies: v,
networkRequestHeaders: WC(y),
networkResponseHeaders: WC(_),
beforeAddRecordingEvent: O,
beforeErrorSampling: C,
_experiments: s
}, this._initialOptions.blockAllMedia && (this._recordingOptions.blockSelector = this._recordingOptions.blockSelector ? `${this._recordingOptions.blockSelector},${BC}` : BC), this._isInitialized && RS()) throw new Error("Multiple Sentry Session Replay instances are not supported");
this._isInitialized = !0
}
get _isInitialized() {
return $C
}
set _isInitialized(e) {
$C = e
}
afterAllSetup(e) {
RS() && !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 && this._replay.isEnabled()) return this._replay.getSessionId()
}
_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,
...M_(e)
},
i = rx(n.replaysSessionSampleRate),
a = rx(n.replaysOnErrorSampleRate);
null == i && null == a && S_((() => {
console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")
}));
null != i && (r.sessionSampleRate = i);
null != a && (r.errorSampleRate = a);
return r
}(this._initialOptions, e);
this._replay = new UC({
options: t,
recordingOptions: this._recordingOptions
})
}
_maybeLoadFromReplayCanvasIntegration(e) {
try {
const t = e.getIntegrationByName("ReplayCanvas");
if (!t) return;
this._replay._canvas = t.getOptions()
} catch (t) {}
}
}
function WC(e) {
return [...GC, ...e.map((e => e.toLowerCase()))]
}
qC.__initStatic();
const HC = [];
function KC(e) {
const t = e.defaultIntegrations || [],
n = e.integrations;
let r;
t.forEach((e => {
e.isDefaultInstance = !0
})), r = Array.isArray(n) ? [...t, ...n] : "function" === typeof n ? Z_(n(t)) : t;
const i = 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),
a = i.findIndex((e => "Debug" === e.name));
if (a > -1) {
const [e] = i.splice(a, 1);
i.push(e)
}
return i
}
function YC(e, t) {
for (const n of t) n && n.afterAllSetup && n.afterAllSetup(e)
}
function QC(e, t, n) {
if (n[t.name]) nx && E_.log(`Integration skipped because it was already installed: ${t.name}`);
else {
if (n[t.name] = t, -1 === HC.indexOf(t.name) && "function" === typeof t.setupOnce && (t.setupOnce(), HC.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)
}
nx && E_.log(`Integration installed: ${t.name}`)
}
}
function ZC() {
const e = wb().getScopeData();
return zk(e, xb().getScopeData()), e.eventProcessors = [], e
}
var XC;
! function(e) {
e[e.Classic = 1] = "Classic", e[e.Protocol = 2] = "Protocol", e[e.Both = 3] = "Both"
}(XC || (XC = {}));
var JC;
! function(e) {
e.RENDERER_START = "sentry-electron.renderer-start", e.EVENT = "sentry-electron.event", e.SCOPE = "sentry-electron.scope", e.ENVELOPE = "sentry-electron.envelope", e.STATUS = "sentry-electron.status", e.ADD_METRIC = "sentry-electron.add-metric"
}(JC || (JC = {}));
function eA(e) {
return `sentry-ipc://${e}/sentry_key`
}
let tA;
function nA() {
return tA || (tA = function() {
if (window.__SENTRY_IPC__) return window.__SENTRY_IPC__;
{
E_.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__ = q_()
};
return {
sendRendererStart: () => {
fetch(eA(JC.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(eA(JC.SCOPE), {
method: "POST",
body: t,
headers: e
}).catch((() => {}))
},
sendEvent: t => {
fetch(eA(JC.EVENT), {
method: "POST",
body: t,
headers: e
}).catch((() => {}))
},
sendEnvelope: t => {
fetch(eA(JC.ENVELOPE), {
method: "POST",
body: t,
headers: e
}).catch((() => {}))
},
sendStatus: t => {
fetch(eA(JC.STATUS), {
method: "POST",
body: JSON.stringify({
status: t
}),
headers: e
}).catch((() => {}))
},
sendAddMetric: t => {
fetch(eA(JC.ADD_METRIC), {
method: "POST",
body: JSON.stringify(t),
headers: e
}).catch((() => {}))
}
}
}
}(), tA.sendRendererStart()), tA
}
const rA = () => ({
name: "ScopeToMain",
setup() {
const e = nA();
var t;
t = (t, n) => {
e.sendScope(JSON.stringify(yx(t, 20, 2e3))), n.clearBreadcrumbs(), n.clearAttachments()
}, wb().addScopeListener((e => {
const n = ZC();
t(n, e)
})), xb().addScopeListener((e => {
const n = ZC();
t(n, e)
}))
}
});
class iA extends Error {
constructor(e, t = "warn") {
super(e), this.message = e, this.name = new.target.prototype.constructor.name, Object.setPrototypeOf(this, new.target.prototype), this.logLevel = t
}
}
function aA(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 Nk(new iA("Not adding Promise because buffer limit was reached."));
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 jk(((n, r) => {
let i = t.length;
if (!i) return n(!0);
const a = setTimeout((() => {
e && e > 0 && n(!1)
}), e);
t.forEach((e => {
Lk(e).then((() => {
--i || (clearTimeout(a), n(!0))
}), r)
}))
}))
}
}
}
function oA(e, t, n = aA(e.bufferSize || 64)) {
let r = {};
return {
send: function(i) {
const a = [];
if (kx(i, ((t, n) => {
const i = Ax(n);
if (AS(r, i)) {
const r = sA(t, n);
e.recordDroppedEvent("ratelimit_backoff", i, r)
} else a.push(t)
})), 0 === a.length) return Lk({});
const o = xx(i[0], a),
s = t => {
kx(o, ((n, r) => {
const i = sA(n, r);
e.recordDroppedEvent(t, Ax(r), i)
}))
};
return n.add((() => t({
body: Ex(o)
}).then((e => (void 0 !== e.statusCode && (e.statusCode < 200 || e.statusCode >= 300) && nx && E_.warn(`Sentry responded with status code ${e.statusCode} to sent event.`), r = PS(r, e), e)), (e => {
throw s("network_error"), e
})))).then((e => e), (e => {
if (e instanceof iA) return nx && E_.error("Skipped sending event because buffer is full."), s("queue_overflow"), Lk({});
throw e
}))
},
flush: e => n.drain(e)
}
}
function sA(e, t) {
if ("event" === t || "transaction" === t) return Array.isArray(e) ? e[1] : void 0
}
function lA(e) {
const t = nA();
return oA(e, (async e => (t.sendEnvelope(e.body), {
statusCode: 200
})))
}
const cA = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/, "undefined is not an object (evaluating 'a.L')", '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"],
uA = (e = {}) => ({
name: "InboundFilters",
processEvent(t, n, r) {
const i = r.getOptions(),
a = function(e = {}, t = {}) {
return {
allowUrls: [...e.allowUrls || [], ...t.allowUrls || []],
denyUrls: [...e.denyUrls || [], ...t.denyUrls || []],
ignoreErrors: [...e.ignoreErrors || [], ...t.ignoreErrors || [], ...e.disableErrorDefaults ? [] : cA],
ignoreTransactions: [...e.ignoreTransactions || [], ...t.ignoreTransactions || []],
ignoreInternal: void 0 === e.ignoreInternal || e.ignoreInternal
}
}(e, i);
return function(e, t) {
if (t.ignoreInternal && function(e) {
try {
return "SentryError" === e.exception.values[0].type
} catch (t) {}
return !1
}(e)) return nx && E_.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${H_(e)}`), !0;
if (function(e, t) {
if (e.type || !t || !t.length) return !1;
return function(e) {
const t = [];
e.message && t.push(e.message);
let n;
try {
n = e.exception.values[e.exception.values.length - 1]
} catch (r) {}
n && n.value && (t.push(n.value), n.type && t.push(`${n.type}: ${n.value}`));
return t
}(e).some((e => A_(e, t)))
}(e, t.ignoreErrors)) return nx && E_.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${H_(e)}`), !0;
if (function(e) {
if (e.type) return !1;
if (!e.exception || !e.exception.values || 0 === 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 nx && E_.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${H_(e)}`), !0;
if (function(e, t) {
if ("transaction" !== e.type || !t || !t.length) return !1;
const n = e.transaction;
return !!n && A_(n, t)
}(e, t.ignoreTransactions)) return nx && E_.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${H_(e)}`), !0;
if (function(e, t) {
if (!t || !t.length) return !1;
const n = dA(e);
return !!n && A_(n, t)
}(e, t.denyUrls)) return nx && E_.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${H_(e)}.\nUrl: ${dA(e)}`), !0;
if (! function(e, t) {
if (!t || !t.length) return !0;
const n = dA(e);
return !n || A_(n, t)
}(e, t.allowUrls)) return nx && E_.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${H_(e)}.\nUrl: ${dA(e)}`), !0;
return !1
}(t, a) ? null : t
}
});
function dA(e) {
try {
let n;
try {
n = e.exception.values[0].stacktrace.frames
} catch (t) {}
return n ? 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
}(n) : null
} catch (gc) {
return nx && E_.error(`Cannot extract url for event ${H_(e)}`), null
}
}
let pA;
const hA = new WeakMap,
fA = () => ({
name: "FunctionToString",
setupOnce() {
pA = Function.prototype.toString;
try {
Function.prototype.toString = function(...e) {
const t = D_(this),
n = hA.has(Sb()) && void 0 !== t ? t : this;
return pA.apply(n, e)
}
} catch (e) {}
},
setup(e) {
hA.set(e, !0)
}
}),
mA = () => {
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 (!vA(e, t)) return !1;
if (!gA(e, t)) return !1;
return !0
}(e, t)) return !0;
if (function(e, t) {
const n = yA(t),
r = yA(e);
if (!n || !r) return !1;
if (n.type !== r.type || n.value !== r.value) return !1;
if (!vA(e, t)) return !1;
if (!gA(e, t)) return !1;
return !0
}(e, t)) return !0;
return !1
}(t, e)) return nx && E_.warn("Event dropped due to being a duplicate of previously captured event."), null
} catch (n) {}
return e = t
}
}
};
function gA(e, t) {
let n = vx(e),
r = vx(t);
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
if (r.length !== n.length) return !1;
for (let i = 0; i < r.length; i++) {
const e = r[i],
t = n[i];
if (e.filename !== t.filename || e.lineno !== t.lineno || e.colno !== t.colno || e.function !== t.function) return !1
}
return !0
}
function vA(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 (i) {
return !1
}
}
function yA(e) {
return e.exception && e.exception.values && e.exception.values[0]
}
function _A(e, t) {
!0 === t.debug && (nx ? E_.enable() : S_((() => {
console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")
})));
xb().update(t.initialScope);
const n = new e(t);
return function(e) {
xb().setClient(e)
}(n), n.init(), n
}
function bA(e) {
const t = e.protocol ? `${e.protocol}:` : "",
n = e.port ? `:${e.port}` : "";
return `${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`
}
function xA(e, t) {
return n = {
sentry_key: e.publicKey,
sentry_version: "7",
...t && {
sentry_client: `${t.name}/${t.version}`
}
}, Object.keys(n).map((e => `${encodeURIComponent(e)}=${encodeURIComponent(n[e])}`)).join("&");
var n
}
function wA(e, t, n) {
return t || `${function(e){return`${bA(e)}${e.projectId}/envelope/`}(e)}?${xA(e,n)}`
}
const kA = "Not capturing exception because it's already been captured.";
class SA {
constructor(e) {
if (this._options = e, this._integrations = {}, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], e.dsn ? this._dsn = lx(e.dsn) : nx && E_.warn("No DSN provided, client will not send events."), this._dsn) {
const t = wA(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 = q_();
if (Q_(e)) return nx && E_.log(kA), r;
const i = {
event_id: r,
...t
};
return this._process(this.eventFromException(e, i).then((e => this._captureEvent(e, i, n)))), i.event_id
}
captureMessage(e, t, n, r) {
const i = {
event_id: q_(),
...n
},
a = o_(e) ? e : String(e),
o = s_(e) ? this.eventFromMessage(a, t, i) : this.eventFromException(e, i);
return this._process(o.then((e => this._captureEvent(e, i, r)))), i.event_id
}
captureEvent(e, t, n) {
const r = q_();
if (t && t.originalException && Q_(t.originalException)) return nx && E_.log(kA), r;
const i = {
event_id: r,
...t
},
a = (e.sdkProcessingMetadata || {}).capturedSpanScope;
return this._process(this._captureEvent(e, i, a || n)), i.event_id
}
captureSession(e) {
"string" !== typeof e.release ? nx && E_.warn("Discarded session because of missing or non-string release") : (this.sendSession(e), cb(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))))) : Lk(!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];
QC(this, e, this._integrations), t || YC(this, [e])
}
sendEvent(e, t = {}) {
this.emit("beforeSendEvent", e, t);
let n = function(e, t, n, r) {
const i = Px(n),
a = 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 && n.sdk);
const o = Tx(e, i, r, t);
return delete e.sdkProcessingMetadata, xx(o, [
[{
type: a
}, e]
])
}(e, this._dsn, this._options._metadata, this._options.tunnel);
for (const i of t.attachments || []) n = wx(n, Ox(i));
const r = this.sendEnvelope(n);
r && r.then((t => this.emit("afterSendEvent", e, t)), null)
}
sendSession(e) {
const t = function(e, t, n, r) {
const i = Px(n);
return xx({
sent_at: (new Date).toISOString(),
...i && {
sdk: i
},
...!!r && t && {
dsn: ox(t)
}
}, ["aggregates" in e ? [{
type: "sessions"
}, e] : [{
type: "session"
}, e.toJSON()]])
}(e, this._dsn, this._options._metadata, this._options.tunnel);
this.sendEnvelope(t)
}
recordDroppedEvent(e, t, n) {
if (this._options.sendClientReports) {
const r = "number" === typeof n ? n : 1,
i = `${e}:${t}`;
nx && E_.log(`Recording outcome: "${i}"${r>1?` (${r} times)`:""}`), this._outcomes[i] = (this._outcomes[i] || 0) + r
}
}
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 => (nx && E_.error("Error while sending event:", e), e))) : (nx && E_.error("Transport disabled"), Lk({}))
}
_setupIntegrations() {
const {
integrations: e
} = this._options;
this._integrations = function(e, t) {
const n = {};
return t.forEach((t => {
t && QC(e, t, n)
})), n
}(this, e), YC(this, e)
}
_updateSessionFromEvent(e, t) {
let n = !1,
r = !1;
const i = t.exception && t.exception.values;
if (i) {
r = !0;
for (const e of i) {
const t = e.mechanism;
if (t && !1 === t.handled) {
n = !0;
break
}
}
}
const a = "ok" === e.status;
(a && 0 === e.errors || a && n) && (cb(e, {
...n && {
status: "crashed"
},
errors: e.errors || Number(r || n)
}), this.captureSession(e))
}
_isClientDoneProcessing(e) {
return new jk((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 = wb()) {
const i = this.getOptions(),
a = Object.keys(this._integrations);
return !t.integrations && a.length > 0 && (t.integrations = a), this.emit("preprocessEvent", e, t), e.type || r.setLastEventId(e.event_id || t.event_id), Vk(i, e, t, n, this, r).then((e => {
if (null === e) return e;
const t = {
...r.getPropagationContext(),
...n ? n.getPropagationContext() : void 0
};
if (!(e.contexts && e.contexts.trace) && t) {
const {
traceId: n,
spanId: r,
parentSpanId: i,
dsc: a
} = t;
e.contexts = {
trace: M_({
trace_id: n,
span_id: r,
parent_span_id: i
}),
...e.contexts
};
const o = a || ex(n, this);
e.sdkProcessingMetadata = {
dynamicSamplingContext: o,
...e.sdkProcessingMetadata
}
}
return e
}))
}
_captureEvent(e, t = {}, n) {
return this._processEvent(e, t, n).then((e => e.event_id), (e => {
if (nx) {
const t = e;
"log" === t.logLevel ? E_.log(t.message) : E_.warn(t)
}
}))
}
_processEvent(e, t, n) {
const r = this.getOptions(),
{
sampleRate: i
} = r,
a = IA(e),
o = EA(e),
s = e.type || "error",
l = `before send for type \`${s}\``,
c = "undefined" === typeof i ? void 0 : rx(i);
if (o && "number" === typeof c && Math.random() > c) return this.recordDroppedEvent("sample_rate", "error", e), Nk(new iA(`Discarding event because it's not included in the random sample (sampling rate = ${i})`, "log"));
const u = "replay_event" === s ? "replay" : s,
d = (e.sdkProcessingMetadata || {}).capturedSpanIsolationScope;
return this._prepareEvent(e, t, n, d).then((n => {
if (null === n) throw this.recordDroppedEvent("event_processor", u, e), new iA("An event processor returned `null`, will not send event.", "log");
if (t.data && !0 === t.data.__sentry__) return n;
const i = function(e, t, n, r) {
const {
beforeSend: i,
beforeSendTransaction: a,
beforeSendSpan: o
} = t;
if (EA(n) && i) return i(n, r);
if (IA(n)) {
if (n.spans && o) {
const t = [];
for (const r of n.spans) {
const n = o(r);
n ? t.push(n) : e.recordDroppedEvent("before_send", "span")
}
n.spans = t
}
if (a) {
if (n.spans) {
const e = n.spans.length;
n.sdkProcessingMetadata = {
...n.sdkProcessingMetadata,
spanCountBeforeProcessing: e
}
}
return a(n, r)
}
}
return n
}(this, r, n, t);
return function(e, t) {
const n = `${t} must return \`null\` or a valid event.`;
if (u_(e)) return e.then((e => {
if (!l_(e) && null !== e) throw new iA(n);
return e
}), (e => {
throw new iA(`${t} rejected with ${e}`)
}));
if (!l_(e) && null !== e) throw new iA(n);
return e
}(i, l)
})).then((r => {
if (null === r) {
if (this.recordDroppedEvent("before_send", u, e), a) {
const t = 1 + (e.spans || []).length;
this.recordDroppedEvent("before_send", "span", t)
}
throw new iA(`${l} returned \`null\`, will not send event.`, "log")
}
const i = n && n.getSession();
if (!a && i && this._updateSessionFromEvent(i, r), a) {
const e = (r.sdkProcessingMetadata && r.sdkProcessingMetadata.spanCountBeforeProcessing || 0) - (r.spans ? r.spans.length : 0);
e > 0 && this.recordDroppedEvent("before_send", "span", e)
}
const o = r.transaction_info;
if (a && o && r.transaction !== e.transaction) {
const e = "custom";
r.transaction_info = {
...o,
source: e
}
}
return this.sendEvent(r, t), r
})).then(null, (e => {
if (e instanceof iA) throw e;
throw this.captureException(e, {
data: {
__sentry__: !0
},
originalException: e
}), new iA(`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() {
nx && E_.log("Flushing outcomes...");
const e = this._clearOutcomes();
if (0 === e.length) return void(nx && E_.log("No outcomes to send"));
if (!this._dsn) return void(nx && E_.log("No dsn provided, will not send outcomes"));
nx && E_.log("Sending outcomes:", e);
const t = (n = e, xx((r = this._options.tunnel && ox(this._dsn)) ? {
dsn: r
} : {}, [
[{
type: "client_report"
}, {
timestamp: i || tb(),
discarded_events: n
}]
]));
var n, r, i;
this.sendEnvelope(t)
}
}
function EA(e) {
return void 0 === e.type
}
function IA(e) {
return "transaction" === e.type
}
function OA(e, t) {
const n = PA(e, t),
r = {
type: t && t.name,
value: RA(t)
};
return n.length && (r.stacktrace = {
frames: n
}), void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"), r
}
function CA(e, t, n, r) {
const i = Sb(),
a = i && i.getOptions().normalizeDepth,
o = 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),
s = {
__serialized__: _x(t, a)
};
if (o) return {
exception: {
values: [OA(e, o)]
},
extra: s
};
const l = {
exception: {
values: [{
type: c_(t) ? t.constructor.name : r ? "UnhandledRejection" : "Error",
value: NA(t, {
isUnhandledRejection: r
})
}]
},
extra: s
};
if (n) {
const t = PA(e, n);
t.length && (l.exception.values[0].stacktrace = {
frames: t
})
}
return l
}
function AA(e, t) {
return {
exception: {
values: [OA(e, t)]
}
}
}
function PA(e, t) {
const n = t.stacktrace || t.stack || "",
r = function(e) {
if (e && TA.test(e.message)) return 1;
return 0
}(t),
i = function(e) {
if ("number" === typeof e.framesToPop) return e.framesToPop;
return 0
}(t);
try {
return e(n, r, i)
} catch (a) {}
return []
}
const TA = /Minified React error #\d+;/i;
function RA(e) {
const t = e && e.message;
return t ? t.error && "string" === typeof t.error.message ? t.error.message : t : "No error message"
}
function DA(e, t, n, r, i) {
let a;
if (r_(t) && t.error) {
return AA(e, t.error)
}
if (i_(t) || n_(t, "DOMException")) {
const i = t;
if ("stack" in t) a = AA(e, t);
else {
const t = i.name || (i_(i) ? "DOMError" : "DOMException"),
o = i.message ? `${t}: ${i.message}` : t;
a = LA(e, o, n, r), K_(a, o)
}
return "code" in i && (a.tags = {
...a.tags,
"DOMException.code": `${i.code}`
}), a
}
if (t_(t)) return AA(e, t);
if (l_(t) || c_(t)) {
return a = CA(e, t, n, i), Y_(a, {
synthetic: !0
}), a
}
return a = LA(e, t, n, r), K_(a, `${t}`, void 0), Y_(a, {
synthetic: !0
}), a
}
function LA(e, t, n, r) {
const i = {};
if (r && n) {
const r = PA(e, n);
r.length && (i.exception = {
values: [{
value: t,
stacktrace: {
frames: r
}
}]
})
}
if (o_(t)) {
const {
__sentry_template_string__: e,
__sentry_template_values__: n
} = t;
return i.logentry = {
message: e,
params: n
}, i
}
return i.message = t, i
}
function NA(e, {
isUnhandledRejection: t
}) {
const n = function(e, t = 40) {
const n = Object.keys(L_(e));
n.sort();
const r = n[0];
if (!r) return "[object has no keys]";
if (r.length >= t) return I_(r, t);
for (let i = n.length; i > 0; i--) {
const e = n.slice(0, i).join(", ");
if (!(e.length > t)) return i === n.length ? e : I_(e, t)
}
return ""
}(e),
r = t ? "promise rejection" : "exception";
if (r_(e)) return `Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``;
if (c_(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 jA extends SA {
constructor(e) {
const t = {
parentSpanIsAlwaysRootSpan: !0,
...e
};
! function(e, t, n = [t], r = "npm") {
const i = e._metadata || {};
i.sdk || (i.sdk = {
name: `sentry.javascript.${t}`,
packages: n.map((e => ({
name: `${r}:@sentry/${e}`,
version: h_
}))),
version: h_
}), e._metadata = i
}(t, "browser", ["browser"], Zk.SENTRY_SDK_SOURCE || "npm"), super(t), t.sendClientReports && Zk.document && Zk.document.addEventListener("visibilitychange", (() => {
"hidden" === Zk.document.visibilityState && this._flushOutcomes()
}))
}
eventFromException(e, t) {
return function(e, t, n, r) {
const i = DA(e, t, n && n.syntheticException || void 0, r);
return Y_(i), i.level = "error", n && n.event_id && (i.event_id = n.event_id), Lk(i)
}(this._options.stackParser, e, t, this._options.attachStacktrace)
}
eventFromMessage(e, t = "info", n) {
return function(e, t, n = "info", r, i) {
const a = LA(e, t, r && r.syntheticException || void 0, i);
return a.level = n, r && r.event_id && (a.event_id = r.event_id), Lk(a)
}(this._options.stackParser, e, t, n, this._options.attachStacktrace)
}
captureUserFeedback(e) {
if (!this._isEnabled()) return void(Rk && E_.warn("SDK not enabled, will not capture user feedback."));
const t = function(e, {
metadata: t,
tunnel: n,
dsn: r
}) {
const i = {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && t.sdk && {
sdk: {
name: t.sdk.name,
version: t.sdk.version
}
},
...!!n && !!r && {
dsn: ox(r)
}
},
a = function(e) {
return [{
type: "user_report"
}, e]
}(e);
return xx(i, [a])
}(e, {
metadata: this.getSdkMetadata(),
dsn: this.getDsn(),
tunnel: this.getOptions().tunnel
});
this.sendEnvelope(t)
}
_prepareEvent(e, t, n) {
return e.platform = e.platform || "javascript", super._prepareEvent(e, t, n)
}
}
function MA() {
"console" in f_ && w_.forEach((function(e) {
e in f_.console && P_(f_.console, e, (function(t) {
return k_[e] = t,
function(...t) {
vk("console", {
args: t,
level: e
});
const n = k_[e];
n && n.apply(f_.console, t)
}
}))
}))
}
function FA(e) {
return void 0 === e ? void 0 : e >= 400 && e < 500 ? "warning" : e >= 500 ? "error" : void 0
}
const zA = 1024,
UA = (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";
mk(t, e), gk(t, MA)
}(function(e) {
return function(t) {
if (Sb() !== e) return;
const n = {
category: "console",
data: {
arguments: t.args,
logger: "console"
},
level: CS(t.level),
message: O_(t.args, " ")
};
if ("assert" === t.level) {
if (!1 !== t.args[0]) return;
n.message = `Assertion failed: ${O_(t.args.slice(1)," ")||"console.assert"}`, n.data.arguments = t.args.slice(1)
}
SS(n, {
input: t.args,
level: t.level
})
}
}(e)), t.dom && US(function(e, t) {
return function(n) {
if (Sb() !== e) return;
let r, i, a = "object" === typeof t ? t.serializeAttribute : void 0,
o = "object" === typeof t && "number" === typeof t.maxStringLength ? t.maxStringLength : void 0;
o && o > zA && (Rk && E_.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${o} was configured. Sentry will use 1024 instead.`), o = zA), "string" === typeof a && (a = [a]);
try {
const e = n.event,
t = function(e) {
return !!e && !!e.target
}(e) ? e.target : e;
r = v_(t, {
keyAttrs: a,
maxStringLength: o
}), i = b_(t)
} catch (l) {
r = "<unknown>"
}
if (0 === r.length) return;
const s = {
category: `ui.${n.name}`,
message: r
};
i && (s.data = {
"ui.component_name": i
}), SS(s, {
event: n.event,
name: n.name,
global: n.global
})
}
}(e, t.dom)), t.xhr && rS(function(e) {
return function(t) {
if (Sb() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t, i = t.xhr[nS];
if (!n || !r || !i) return;
const {
method: a,
url: o,
status_code: s,
body: l
} = i, c = {
method: a,
url: o,
status_code: s
}, u = {
xhr: t.xhr,
input: l,
startTimestamp: n,
endTimestamp: r
};
SS({
category: "xhr",
data: c,
type: "http",
level: FA(s)
}, u)
}
}(e)), t.fetch && cS(function(e) {
return function(t) {
if (Sb() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t;
if (r && (!t.fetchData.url.match(/sentry_key/) || "POST" !== t.fetchData.method))
if (t.error) {
SS({
category: "fetch",
data: t.fetchData,
level: "error",
type: "http"
}, {
data: t.error,
input: t.args,
startTimestamp: n,
endTimestamp: r
})
} else {
const e = t.response,
i = {
...t.fetchData,
status_code: e && e.status
},
a = {
input: t.args,
response: e,
startTimestamp: n,
endTimestamp: r
};
SS({
category: "fetch",
data: i,
type: "http",
level: FA(i.status_code)
}, a)
}
}
}(e)), t.history && bk(function(e) {
return function(t) {
if (Sb() !== e) return;
let n = t.from,
r = t.to;
const i = Hx(Zk.location.href);
let a = n ? Hx(n) : void 0;
const o = Hx(r);
a && a.path || (a = i), i.protocol === o.protocol && i.host === o.host && (r = o.relative), i.protocol === a.protocol && i.host === a.host && (n = a.relative), SS({
category: "navigation",
data: {
from: n,
to: r
}
})
}
}(e)), t.sentry && e.on("beforeSendEvent", function(e) {
return function(t) {
Sb() === e && SS({
category: "sentry." + ("transaction" === t.type ? "transaction" : "event"),
event_id: t.event_id,
level: t.level,
message: H_(t)
}, {
event: t
})
}
}(e))
}
}
};
const VA = ["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"],
BA = (e = {}) => {
const t = {
XMLHttpRequest: !0,
eventTarget: !0,
requestAnimationFrame: !0,
setInterval: !0,
setTimeout: !0,
...e
};
return {
name: "BrowserApiErrors",
setupOnce() {
t.setTimeout && P_(Zk, "setTimeout", GA), t.setInterval && P_(Zk, "setInterval", GA), t.requestAnimationFrame && P_(Zk, "requestAnimationFrame", $A), t.XMLHttpRequest && "XMLHttpRequest" in Zk && P_(XMLHttpRequest.prototype, "send", qA);
const e = t.eventTarget;
if (e) {
(Array.isArray(e) ? e : VA).forEach(WA)
}
}
}
};
function GA(e) {
return function(...t) {
const n = t[0];
return t[0] = tS(n, {
mechanism: {
data: {
function: gx(e)
},
handled: !1,
type: "instrument"
}
}), e.apply(this, t)
}
}
function $A(e) {
return function(t) {
return e.apply(this, [tS(t, {
mechanism: {
data: {
function: "requestAnimationFrame",
handler: gx(e)
},
handled: !1,
type: "instrument"
}
})])
}
}
function qA(e) {
return function(...t) {
const n = this;
return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach((e => {
e in n && "function" === typeof n[e] && P_(n, e, (function(t) {
const n = {
mechanism: {
data: {
function: e,
handler: gx(t)
},
handled: !1,
type: "instrument"
}
},
r = D_(t);
return r && (n.mechanism.data.handler = gx(r)), tS(t, n)
}))
})), e.apply(this, t)
}
}
function WA(e) {
const t = Zk,
n = t[e] && t[e].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (P_(n, "addEventListener", (function(t) {
return function(n, r, i) {
try {
"function" === typeof r.handleEvent && (r.handleEvent = tS(r.handleEvent, {
mechanism: {
data: {
function: "handleEvent",
handler: gx(r),
target: e
},
handled: !1,
type: "instrument"
}
}))
} catch ($U) {}
return t.apply(this, [n, tS(r, {
mechanism: {
data: {
function: "addEventListener",
handler: gx(r),
target: e
},
handled: !1,
type: "instrument"
}
}), i])
}
})), P_(n, "removeEventListener", (function(e) {
return function(t, n, r) {
const i = n;
try {
const n = i && i.__sentry_wrapped__;
n && e.call(this, t, n, r)
} catch (a) {}
return e.call(this, t, i, r)
}
})))
}
const HA = (e = {}) => {
const t = {
onerror: !0,
onunhandledrejection: !0,
...e
};
return {
name: "GlobalHandlers",
setupOnce() {
Error.stackTraceLimit = 50
},
setup(e) {
t.onerror && (! function(e) {
Ek((t => {
const {
stackParser: n,
attachStacktrace: r
} = YA();
if (Sb() !== e || Jk()) return;
const {
msg: i,
url: a,
line: o,
column: s,
error: l
} = t, c = function(e, t, n, r) {
const i = e.exception = e.exception || {},
a = i.values = i.values || [],
o = a[0] = a[0] || {},
s = o.stacktrace = o.stacktrace || {},
l = s.frames = s.frames || [],
c = isNaN(parseInt(r, 10)) ? void 0 : r,
u = isNaN(parseInt(n, 10)) ? void 0 : n,
d = a_(t) && t.length > 0 ? t : __();
0 === l.length && l.push({
colno: c,
filename: d,
function: cx,
in_app: !0,
lineno: u
});
return e
}(DA(n, l || i, void 0, r, !1), a, o, s);
c.level = "error", Wk(c, {
originalException: l,
mechanism: {
handled: !1,
type: "onerror"
}
})
}))
}(e), KA("onerror")), t.onunhandledrejection && (! function(e) {
Ck((t => {
const {
stackParser: n,
attachStacktrace: r
} = YA();
if (Sb() !== e || Jk()) return;
const i = function(e) {
if (s_(e)) return e;
try {
if ("reason" in e) return e.reason;
if ("detail" in e && "reason" in e.detail) return e.detail.reason
} catch (Cs) {}
return e
}(t),
a = s_(i) ? {
exception: {
values: [{
type: "UnhandledRejection",
value: `Non-Error promise rejection captured with value: ${String(i)}`
}]
}
} : DA(n, i, void 0, r, !0);
a.level = "error", Wk(a, {
originalException: i,
mechanism: {
handled: !1,
type: "onunhandledrejection"
}
})
}))
}(e), KA("onunhandledrejection"))
}
}
};
function KA(e) {
Rk && E_.log(`Global Handler attached: ${e}`)
}
function YA() {
const e = Sb();
return e && e.getOptions() || {
stackParser: () => [],
attachStacktrace: !1
}
}
const QA = () => ({
name: "HttpContext",
preprocessEvent(e) {
if (!Zk.navigator && !Zk.location && !Zk.document) return;
const t = e.request && e.request.url || Zk.location && Zk.location.href,
{
referrer: n
} = Zk.document || {},
{
userAgent: r
} = Zk.navigator || {},
i = {
...e.request && e.request.headers,
...n && {
Referer: n
},
...r && {
"User-Agent": r
}
},
a = {
...e.request,
...t && {
url: t
},
headers: i
};
e.request = a
}
});
function ZA(e, t, n = 250, r, i, a, o) {
if (!a.exception || !a.exception.values || !o || !d_(o.originalException, Error)) return;
const s = a.exception.values.length > 0 ? a.exception.values[a.exception.values.length - 1] : void 0;
var l, c;
s && (a.exception.values = (l = XA(e, t, i, o.originalException, r, a.exception.values, s, 0), c = n, l.map((e => (e.value && (e.value = I_(e.value, c)), e)))))
}
function XA(e, t, n, r, i, a, o, s) {
if (a.length >= n + 1) return a;
let l = [...a];
if (d_(r[i], Error)) {
JA(o, s);
const a = e(t, r[i]),
c = l.length;
eP(a, i, c, s), l = XA(e, t, n, r[i], i, [a, ...l], a, c)
}
return Array.isArray(r.errors) && r.errors.forEach(((r, a) => {
if (d_(r, Error)) {
JA(o, s);
const c = e(t, r),
u = l.length;
eP(c, `errors[${a}]`, u, s), l = XA(e, t, n, r, i, [c, ...l], c, u)
}
})), l
}
function JA(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 eP(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 tP = (e = {}) => {
const t = e.limit || 5,
n = e.key || "cause";
return {
name: "LinkedErrors",
preprocessEvent(e, r, i) {
const a = i.getOptions();
ZA(OA, a.stackParser, a.maxValueLength, n, t, e, r)
}
}
};
function nP(e, t, n, r) {
const i = {
filename: e,
function: "<anonymous>" === t ? cx : t,
in_app: !0
};
return void 0 !== n && (i.lineno = n), void 0 !== r && (i.colno = r), i
}
const rP = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,
iP = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
aP = /\((\S*)(?::(\d+))(?::(\d+))\)/,
oP = [30, e => {
const t = rP.exec(e);
if (t) {
const [, e, n, r] = t;
return nP(e, cx, +n, +r)
}
const n = iP.exec(e);
if (n) {
if (n[2] && 0 === n[2].indexOf("eval")) {
const e = aP.exec(n[2]);
e && (n[2] = e[1], n[3] = e[2], n[4] = e[3])
}
const [e, t] = uP(n[1] || cx, n[2]);
return nP(t, e, n[3] ? +n[3] : void 0, n[4] ? +n[4] : void 0)
}
}],
sP = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,
lP = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i,
cP = px(...[oP, [50, e => {
const t = sP.exec(e);
if (t) {
if (t[3] && t[3].indexOf(" > eval") > -1) {
const e = lP.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] || cx;
return [n, e] = uP(n, e), nP(e, n, t[4] ? +t[4] : void 0, t[5] ? +t[5] : void 0)
}
}]]),
uP = (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] : cx, n ? `safari-extension:${t}` : `safari-web-extension:${t}`] : [e, t]
};
function dP(e, t = LS("fetch")) {
let n = 0,
r = 0;
return oA(e, (function(i) {
const a = i.body.length;
n += a, r++;
const o = {
body: i.body,
method: "POST",
referrerPolicy: "origin",
headers: e.headers,
keepalive: n <= 6e4 && r < 15,
...e.fetchOptions
};
if (!t) return NS("fetch"), Nk("No fetch implementation available");
try {
return t(e.url, o).then((e => (n -= a, 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 NS("fetch"), n -= a, r--, Nk(s)
}
}))
}
function pP(e) {
return [uA(), fA(), BA(), UA(), HA(), tP(), mA(), QA()]
}
function hP(e = {}) {
const t = function(e = {}) {
const t = {
defaultIntegrations: pP(),
release: "string" === typeof __SENTRY_RELEASE__ ? __SENTRY_RELEASE__ : Zk.SENTRY_RELEASE && Zk.SENTRY_RELEASE.id ? Zk.SENTRY_RELEASE.id : void 0,
autoSessionTracking: !0,
sendClientReports: !0
};
return null == e.defaultIntegrations && delete e.defaultIntegrations, {
...t,
...e
}
}(e);
if (function() {
const e = "undefined" !== typeof Zk.window && Zk;
if (!e) return !1;
const t = e[e.chrome ? "chrome" : "browser"],
n = t && t.runtime && t.runtime.id,
r = Zk.location && Zk.location.href || "",
i = !!n && Zk === Zk.top && ["chrome-extension:", "moz-extension:", "ms-browser-extension:", "safari-web-extension:"].some((e => r.startsWith(`${e}//`))),
a = "undefined" !== typeof e.nw;
return !!n && !i && !a
}()) return void S_((() => {
console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")
}));
Rk && (sS() || E_.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 || cP, Array.isArray(r) ? px(...r) : r),
integrations: KC(t),
transport: t.transport || dP
};
var r;
const i = _A(jA, n);
return t.autoSessionTracking && function() {
if ("undefined" === typeof Zk.document) return void(Rk && E_.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));
Hk({
ignoreDuration: !0
}), Qk(), bk((({
from: e,
to: t
}) => {
void 0 !== e && e !== t && (Hk({
ignoreDuration: !0
}), Qk())
}))
}(), i
}
function fP(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 mP(e) {
const t = /^\s*[-]{4,}$/,
n = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
return r => {
const i = r.match(n);
if (i) {
let t, n, r, a, o;
if (i[1]) {
r = i[1];
let e = r.lastIndexOf(".");
if ("." === r[e - 1] && e--, e > 0) {
t = r.slice(0, e), n = r.slice(e + 1);
const i = t.indexOf(".Module");
i > 0 && (r = r.slice(i + 1), t = t.slice(0, i))
}
a = void 0
}
n && (a = t, o = n), "<anonymous>" === n && (o = void 0, r = void 0), void 0 === r && (o = o || cx, r = a ? `${a}.${o}` : o);
let s = i[2] && i[2].startsWith("file://") ? i[2].slice(7) : i[2];
const l = "native" === i[5];
return s && s.match(/\/[A-Z]:/) && (s = s.slice(1)), s || !i[5] || l || (s = i[5]), {
filename: s,
module: e ? e(s) : void 0,
function: r,
lineno: gP(i[3]),
colno: gP(i[4]),
in_app: fP(s || "", l)
}
}
if (r.match(t)) return {
filename: r
}
}
}
function gP(e) {
return parseInt(e || "", 10) || void 0
}
const [, vP] = oP, [, yP] = [90, mP(_P)];
var _P;
const bP = (e, t = 0) => {
const n = [];
for (const r of e.split("\n").slice(t)) {
const e = vP(r),
t = yP(r);
if (e && !1 !== t?.in_app ? n.push(e) : t && n.push(M_(t)), n.length >= 50) break
}
return hx(n)
};
var xP = n(2222);
const wP = "1000",
kP = "1001",
SP = "1002",
EP = "1003",
IP = "1004",
OP = "1005",
CP = "1006",
AP = "1007",
PP = "1008",
TP = "1009",
RP = "1010",
DP = "1011",
LP = "1012",
NP = "1013",
jP = "1014",
MP = "1015",
FP = "1016",
zP = "1017",
UP = "1018",
VP = "1019",
BP = "1020",
GP = "1021",
$P = "1022",
qP = "ErrWrongPassword_email",
WP = "ErrMultiStepRequired",
HP = "ErrMultiStepWrongCode",
KP = "ErrNotAuthenticated",
YP = "ErrClaimsInvalid",
QP = "ErrMaxThrottleLogin",
ZP = "errAuthExpired",
XP = "ErrCaptchaRequiredLauncher",
JP = "ErrInvalidChallengeCode",
eT = "ErrDeprecatedApi",
tT = "ErrAgreementsRequired",
nT = "ErrExpiredToken",
rT = "ErrToken",
iT = "ErrNoGamePackage",
aT = "ErrValidationFailed",
oT = "ErrAccountNotFound";
class sT extends Error {
constructor({
message: e = "Unknown Error",
code: t = wP,
payload: n = null,
environment: r
}) {
super(e), this.code = void 0, this.payload = void 0, this.environment = void 0, Object.setPrototypeOf(this, sT.prototype), this.code = t, this.payload = n, this.environment = r
}
}
class lT extends sT {
constructor(e, t, n) {
super({
message: e,
code: EP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, lT.prototype)
}
}
class cT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: IP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, cT.prototype)
}
}
class uT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: TP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, uT.prototype)
}
}
class dT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: AP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, dT.prototype)
}
}
class pT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: CP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, pT.prototype)
}
}
class hT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: PP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, hT.prototype)
}
}
class fT extends sT {
constructor(e, t, n) {
super({
message: e,
code: RP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, fT.prototype)
}
}
class mT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: DP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, mT.prototype)
}
}
class gT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: NP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, gT.prototype)
}
}
class vT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: jP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, vT.prototype)
}
}
class yT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: MP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, yT.prototype)
}
}
class _T extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: FP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, _T.prototype)
}
}
class bT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: SP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, bT.prototype)
}
}
class xT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: GP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, xT.prototype)
}
}
class wT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: $P,
payload: t,
environment: n
}), Object.setPrototypeOf(this, wT.prototype)
}
}
class kT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: zP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, kT.prototype)
}
}
class ST extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: UP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, ST.prototype)
}
}
class ET extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: VP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, ET.prototype)
}
}
class IT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: LP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, IT.prototype)
}
}
class OT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: BP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, OT.prototype)
}
}
class CT extends sT {
constructor(e, t = null, n) {
super({
message: e,
code: OP,
payload: t,
environment: n
}), Object.setPrototypeOf(this, CT.prototype)
}
}
class AT {
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 ST(xt.t("error_api_too_many_requests_content", {
ns: "errors"
}), e, null);
if (503 === e.status) throw new ET(xt.t("error_api_unavailable", {
ns: "errors"
}), e, null);
if (e.status >= 500 && e.status < 600) throw new OT(xt.t("error_api_internal_server_error", {
ns: "errors"
}), e, null);
if (403 === e.status || 401 === e.status) throw new kT(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, i) {
const a = 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,
...i
};
let l;
"GET" !== t && (s.body = JSON.stringify(n));
try {
l = await fetch(a, s)
} catch ($U) {
throw new CT("Could not connect to server", $U, 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 PT = ({
rsiApiResult: e,
environment: t
}) => {
switch (e.code) {
case KP:
return new pT(xt.t("error_not_authenticated", {
ns: "errors"
}), e, t);
case QP:
return new hT(xt.t("error_max_login_attempt", {
ns: "errors"
}), e, t);
case YP:
return new dT(xt.t("error_invalid_claims", {
ns: "errors"
}), e, t);
case WP:
return new lT(xt.t("error_authentication_mfa", {
ns: "errors"
}), e, t);
case HP:
return new cT(xt.t("error_wrong_mfa_code", {
ns: "errors"
}), e, t);
case XP:
return new fT(xt.t("error_captcha_required", {
ns: "errors"
}), e, t);
case JP:
return new mT(xt.t("error_captcha_invalid", {
ns: "errors"
}), e, t);
case ZP:
return new uT(xt.t("error_session_expired", {
ns: "errors"
}), e, t);
case tT:
return new gT(e.msg, e, t);
case nT:
return new vT(e.msg, e, t);
case rT:
return new yT(e.msg, e, t);
case iT:
return new _T(e.msg, e, t);
case qP:
return new bT(xt.t("error_wrong_credentials", {
ns: "errors"
}), e, t);
case aT:
return new xT(xt.t("error_api_validation_failed", {
ns: "errors"
}), e, t);
case oT:
return new wT(xt.t("error_api_validation_failed", {
ns: "errors"
}), e, t);
default:
return new sT({
message: e.msg,
code: e.code,
payload: e,
environment: t
})
}
},
TT = {
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",
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"
},
RT = {
STATUS_PAGE: "index"
};
class DT extends AT {
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(DT.BASE_URL), this._platformEnv = null, this._session = null, this._device = null, this._endpoints = void 0, this._endpoints = TT, 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 DT.instance || (DT.instance = new DT), DT.instance
}
async call({
platformId: e = this._platformEnv,
endpoint: t,
payload: n,
session: r = this._session,
device: i = this._device,
options: a
}) {
const o = this.handleSession(r, i);
this.handleUrl(e);
try {
const r = await this.post(t, n, o, a);
if (r.code === eT) throw new IT("Launcher update required.", eT, e);
if (r.success) return r;
throw PT({
rsiApiResult: r,
environment: e
})
} catch ($U) {
throw $U instanceof uT && (this._session = null, this._device = null), $U
}
}
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 = `${DT.BASE_URL}${e?`+${e}`:""}`
}
async callImage({
endpoint: e,
payload: t = {},
session: n = this._session,
device: r = this._device,
options: i
}) {
try {
const a = this.handleSession(n, r),
o = await this.post(e, t, a, i),
s = await o.arrayBuffer();
return window.btoa(String.fromCharCode(...new Uint8Array(s)))
} catch ($U) {
throw $U
}
}
}
DT.instance = void 0, DT.BASE_URL = "rsi";
class LT {
constructor() {
this.retryCount = 3
}
async operationWithBasicRetry(e, t) {
let n = 0;
for (console.log("[ApiRequester] retry mode enabled");;) {
try {
return await e()
} catch (i) {
var r;
if (console.error(`[ApiRequester] request number ${n} failed`, i), n++, (i instanceof vT || i instanceof yT) && null !== t && void 0 !== t && t.refreshClaims && (console.error("[ApiRequester] claims expired - refresh engaged", i), await t.refreshClaims()), n > (null !== (r = null === t || void 0 === t ? void 0 : t.numberOfRetry) && void 0 !== r ? r : this.retryCount) || this.isUnsafeError(i)) throw i
}
await this.delay(500 * n)
}
}
delay(e) {
return new Promise((t => setTimeout(t, e)))
}
isUnsafeError(e) {
return e instanceof ST || e instanceof kT || e instanceof IT || e instanceof CT
}
}
class NT extends LT {
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 jT;
! function(e) {
e.SESSION = "session", e.DAY = "day", e.WEEK = "week", e.MONTH = "month", e.YEAR = "year"
}(jT || (jT = {}));
const MT = {
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 FT, zT;
function UT(e) {
return Object.keys(MT).find((t => MT[t] === e))
}
function VT({
badges: e
}, t) {
const n = Object.values(e).map(UT).filter((e => void 0 !== e));
for (const r of t) {
const e = UT(r);
if (void 0 === e || !n.includes(e)) return !1
}
return !0
}
function BT({
badges: e
}, t) {
const n = Object.values(e).map(UT).filter((e => void 0 !== e));
for (const r of t) {
const e = UT(r);
if (void 0 !== e && n.includes(e)) return !0
}
return !1
}! function(e) {
e.COMM_LINKS = "Comm-Links", e.PATCH_NOTES = "Patch-Notes"
}(FT || (FT = {})),
function(e) {
e.EULA = "eula", e.TOS = "tos", e.DISCLAIMER = "disclaimer"
}(zT || (zT = {}));
const GT = {
year: 31536e6,
month: 2628e6,
day: 864e5,
hour: 36e5,
minute: 6e4,
second: 1e3
},
$T = (e, t) => e + (Math.floor(Math.random() * t) + 1),
qT = ({
session_name: e,
session_id: t
}) => ({
cookie: e,
key: `X-${e}`,
value: t
}),
WT = (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, BT(n, ["Staff", "QA", "Game Master", "EAC_BYPASS"]))
};
var n
},
HT = ({
device_header: e,
device_id: t,
duration: n
}) => {
const r = KT(n);
return {
cookie: "_rsi_device",
key: e,
value: t,
duration: n,
expires: r ? Date.now() + r : void 0
}
},
KT = e => ({
[jT.SESSION]: void 0,
[jT.DAY]: GT.day,
[jT.WEEK]: 7 * GT.day,
[jT.MONTH]: GT.month,
[jT.YEAR]: GT.year
} [e]);
class YT {
constructor(e) {
this.success = void 0, this.message = void 0, this.success = e.success, this.message = e.message || null
}
static success() {
return new YT({
success: !0
})
}
static fail(e) {
return new YT({
success: !1,
message: e
})
}
}
class QT extends Error {
constructor(e, t) {
super(e), this.result = void 0, Object.defineProperty(this, "name", {
value: "AuthorizationError",
writable: !0
}), Error.captureStackTrace(this, QT), this.result = t
}
}
class ZT extends LT {
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: i
}) {
try {
const a = await this.client.call({
endpoint: this.client.endpoints.SIGN_IN,
payload: {
username: e,
password: t,
captcha: n,
remember: r,
launcherVersion: i
}
});
if (a.success) {
await this.verifyPolicy(a.data);
const t = WT(a.data, e),
n = qT(a.data);
return this.client.session = n, {
identity: t,
session: n
}
}
throw PT({
rsiApiResult: a,
environment: this.client.platformEnv
})
} catch (a) {
throw a instanceof fT && (this.client.session = qT(a.payload.data)), a instanceof lT && (this.client.session = qT(a.payload.data), this.client.device = HT(a.payload.data)), a instanceof QT && (this.client.session = null, this.client.device = null), a
}
}
async signInMfa({
username: e,
codeMfa: t,
deviceName: n,
duration: r
}) {
const i = await this.client.call({
endpoint: this.client.endpoints.SIGN_IN_MULTISTEP,
payload: {
code: t,
device_name: n,
duration: r,
device_type: "computer"
}
});
if (i.success) {
var a, o;
await this.verifyPolicy(i.data);
const t = WT(i.data, e),
n = qT(i.data),
s = HT({
device_id: null === (a = this.client.device) || void 0 === a ? void 0 : a.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 PT({
rsiApiResult: i,
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 qT(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 XT extends LT {
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, i] = await Promise.all([this.getCommLinks(e, t), this.getPatchNotes(e, t), this.getLauncherCards(e, t)]);
return {
commLinks: n,
patchNotes: r,
launcherCards: i
}
}
}
class JT extends LT {
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: i
} = e, a = Object.values(i).map((({
id: e,
name: t,
version: n,
versionLabel: r,
platformId: i,
servicesEndpoint: a,
nid: o,
network: s,
installDir: l,
weight: c
}) => ({
id: e,
name: null !== t && void 0 !== t ? t : e,
version: n,
versionLabel: r,
platformId: i,
servicesEndpoint: a,
nid: o,
network: s,
installDir: l,
status: xP.GameChannelStatus.AVAILABLE,
weight: Number(c || 0)
})));
return {
id: t,
name: n,
weight: Number(r || 0),
channels: a
}
}));
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 eR extends AT {
constructor() {
super(eR.BASE_URL), this._endpoints = void 0, this._endpoints = RT
}
async getStatus() {
return await this.get(this._endpoints.STATUS_PAGE)
}
}
eR.BASE_URL = "status";
class tR {
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 a of this.handlers) {
const r = await a.evaluate(e, t);
n.push({
handlerName: a.name,
result: r
})
}
const r = n.find((e => e.result.success));
if (r) return r.result;
const i = n.map((e => `[${e.handlerName}] ${e.result.message}`)).join("\n");
return YT.fail(`At least one permission evaluator must succeed. Evaluation results:\n${i}`)
}
}
class nR {
constructor() {
this.name = "IsStaffPermissionEvaluator"
}
evaluate(e) {
return e.badges && function(e) {
return VT(e, ["Staff"])
}(e) ? YT.success() : YT.fail()
}
}
class rR {
constructor() {
this.name = "IsQAPermissionEvaluator"
}
evaluate(e) {
return e.badges && function(e) {
return VT(e, ["QA"])
}(e) ? YT.success() : YT.fail()
}
}
class iR {
constructor() {
this.name = "IsEvocatiPermissionEvaluator"
}
evaluate(e) {
return e.badges && function(e) {
return VT(e, ["Evocati Test Flight"])
}(e) ? YT.success() : YT.fail()
}
}
class aR {
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 QT(`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 oR = 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.rsi = DT.getInstance(), this.content = new XT(this.rsi), this.policy = function() {
const e = new nR,
t = new rR,
n = new iR,
r = new tR(e, t),
i = new Map([
["signin:release-candidate", new tR(r, n)]
]);
return new aR(i)
}(), this.authentication = new ZT(this.rsi, this.policy), this.games = new JT(this.rsi), this.agreements = new NT(this.rsi), this.status = new eR
}
};
class sR {
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),
i = this.audioContext.createGain();
i.gain.setValueAtTime(.01, 0), i.gain.linearRampToValueAtTime(1, 5), i.connect(this.gainNode), n.connect(i), this.currentBgTrack = {
trackTitle: r,
audioNode: e,
fadeNode: i
}, 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 lR;
! function(e) {
e.DISPLAY_WARNING_DIALOG = "displayWarningDialog", e.DISPLAY_ACKNOWLEDGE_DIALOG = "displayAcknowledgeDialog", e.DISPLAY_INLINE_MESSAGE = "displayInlineMessage", e.EXECUTE_CALLBACK = "executeCallback"
}(lR || (lR = {}));
const cR = async e => {
const t = Vz.getState().dialog,
n = Array.isArray(e) ? e : [e];
for (const {
handler: r,
error: i
}
of n) {
if (r.skip) return;
switch (r.type) {
case lR.DISPLAY_WARNING_DIALOG:
return void await t.actions.showWarningDialogErrorOccured(r.args);
case lR.DISPLAY_ACKNOWLEDGE_DIALOG:
return void await t.actions.showAcknowledgeDialogErrorOccured(r.args);
case lR.EXECUTE_CALLBACK:
return void await r.args.callback();
default:
console.error("error", i.message)
}
}
}, uR = e => {
switch (e.code) {
case xP.errorsCodes.ERR_LOGOUT_FAILED:
return {
handler: {
type: lR.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 xP.errorsCodes.ERR_DISPLAY_AGREEMENT:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
content: xt.t("agreement_fetch_info_error", {
ns: "agreements"
})
}
}, error: e
};
default:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {}
}, error: e
}
}
};
var dR = n(1438),
pR = n.n(dR);
const hR = e => {
switch (e.phase) {
case xP.ipcEvents.installer.INSTALLER_DOWNLOAD_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_UPDATE_LOOSE_FILE_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_UPDATE_FILE_P4K_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_VERIFICATION_PROGRESS:
return !0;
default:
return !1
}
},
fR = (e, t) => e.find((e => e.game.gameId === t.gameId && e.game.channelId === t.channelId)),
mR = (e, t) => e.find((e => e.gameId === t.gameId && e.channelId === t.channelId)),
gR = e => e.find((e => e.status === xP.InstallationStatus.IN_PROGRESS || e.status === xP.InstallationStatus.PAUSED || e.status === xP.InstallationStatus.CANCELLING)),
vR = e => e.find((e => e.status === xP.InstallationStatus.CANCELLING)),
yR = (e, t) => `${e.gameId}-${e.channelId}` === `${t.gameId}-${t.channelId}`,
_R = (e, t) => e.filter((e => !yR(e.game, t))),
bR = (e, t, n, r) => e.map((e => yR(e.game, t) ? {
...e,
status: n,
options: null !== r && void 0 !== r ? r : e.options
} : e)),
xR = (e, t) => ({
installer: {
installations: [],
uninstallations: [],
requirementsValidated: !1,
actions: {
initialize: async () => {
e((e => ({
installer: {
...e.installer,
installations: [],
uninstallations: [],
requirementsValidated: !1
}
})))
},
setInstallations: t => {
e((e => ({
installer: {
...e.installer,
installations: t
}
})))
},
setRequirementsValidated: t => {
e((e => ({
installer: {
...e.installer,
requirementsValidated: t
}
})))
},
setUninstallations: t => {
e((e => ({
installer: {
...e.installer,
uninstallations: t
}
})))
},
setProgress: t => {
e((e => ({
installer: {
...e.installer,
progress: t
}
})))
}
}
}
}),
wR = e => ({
...e,
media: void 0
}),
kR = e => ({
...e,
publish_start: void 0,
time_created: void 0
}),
SR = (e, t) => {
const n = new Date(e.publish_start || 0).getTime();
return new Date(t.publish_start || 0).getTime() - n
},
ER = (e, t) => (e.weight || 0) - (t.weight || 0),
IR = (e, t) => e.weight - t.weight,
OR = e => ({
...e,
publish_start: e.publish_start ? e.publish_start + " UTC" : void 0,
time_created: e.time_created ? e.time_created + " UTC" : void 0
}),
CR = (e, t = "div") => (0, Ee.createElement)(t, {
dangerouslySetInnerHTML: {
__html: e
}
}),
AR = (e, t = "short", {
showTime: n = !0,
...r
} = {}) => {
const i = new Date(e);
switch (t) {
case "short":
case "long":
return new Intl.DateTimeFormat("default", {
dateStyle: t,
...r,
...n && {
timeStyle: "short"
}
}).format(i);
case "relative":
return ((e, t = new Date, n = {}) => {
const r = e.getTime() - t.getTime();
for (const [i, a] of Object.entries(GT))
if (Math.abs(r) > a || "second" === i) return new Intl.RelativeTimeFormat("default", {
numeric: "auto",
localeMatcher: "lookup",
...n
}).format(Math.round(r / a), i)
})(i, new Date, r)
}
},
PR = 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 PR(t)
}
if ("function" === typeof e.type) {
const t = e.type(e.props);
return PR(t)
}
const {
children: t
} = e.props;
return Array.isArray(t) ? t.map((e => PR(e))).join("") : PR(t)
},
TR = () => window.launcherAPI,
RR = (e, t) => t.find((({
id: t
}) => t === e)),
DR = e => {
let t = e;
return t.includes("\\\\") && (t = t.replace("\\\\", "\\")), t.endsWith("\\") || (t = `${t}\\`), t
};
var LR = n(5982),
NR = n.n(LR);
const jR = 2e3,
MR = {
[xP.RSISystemStatus.MAJOR]: "negative",
[xP.RSISystemStatus.PARTIAL]: "notice",
[xP.RSISystemStatus.DEGRADED]: "highlight",
[xP.RSISystemStatus.MAINTENANCE]: "neutral",
[xP.RSISystemStatus.OPERATIONAL]: "positive"
},
FR = e => MR[e],
zR = window.envVars.reviewAppRootUrl,
UR = e => {
var t;
const n = xP.configuration.env,
r = Vz.getState().application.platformMaster;
return ("reviewapp" === r ? zR : null !== (t = n[r].rootUrl) && void 0 !== t ? t : xP.configuration.rootUrl) + e
},
VR = e => e / 1e3;
var BR = n(4499);
const GR = (0, Ee.createContext)({}),
$R = ({
children: e
}) => {
const {
window: {
onSetHideWindowSuccessFul: t,
onSetShowWindowSuccessFul: n
}
} = window.launcherAPI, r = Vz.getState().application, [i, a] = (0, Ee.useState)(!1);
return (0, Ee.useEffect)((() => {
const e = t((() => {
a(!0), r.actions.setWindowMinimized(!0)
})),
i = n((() => {
a(!1), r.actions.setWindowMinimized(!1)
}));
return () => {
e(), i()
}
}), [r.actions, t, n]), (0, BR.jsx)(GR.Provider, {
value: {
isMinimized: i
},
children: e
})
};
function qR() {
return qR = 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
}, qR.apply(this, arguments)
}
var WR;
! function(e) {
e.Pop = "POP", e.Push = "PUSH", e.Replace = "REPLACE"
}(WR || (WR = {}));
const HR = "popstate";
function KR(e, t) {
if (!1 === e || null === e || "undefined" === typeof e) throw new Error(t)
}
function YR(e, t) {
if (!e) {
"undefined" !== typeof console && console.warn(t);
try {
throw new Error(t)
} catch (n) {}
}
}
function QR(e, t) {
return {
usr: e.state,
key: e.key,
idx: t
}
}
function ZR(e, t, n, r) {
return void 0 === n && (n = null), qR({
pathname: "string" === typeof e ? e : e.pathname,
search: "",
hash: ""
}, "string" === typeof t ? JR(t) : t, {
state: n,
key: t && t.key || r || Math.random().toString(36).substr(2, 8)
})
}
function XR(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 JR(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 eD(e, t, n, r) {
void 0 === r && (r = {});
let {
window: i = document.defaultView,
v5Compat: a = !1
} = r, o = i.history, s = WR.Pop, l = null, c = u();
function u() {
return (o.state || {
idx: null
}).idx
}
function d() {
s = WR.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" !== i.location.origin ? i.location.origin : i.location.href,
n = "string" === typeof e ? e : XR(e);
return KR(t, "No window.location.(origin|href) available to create URL for href: " + n), new URL(n, t)
}
null == c && (c = 0, o.replaceState(qR({}, o.state, {
idx: c
}), ""));
let h = {
get action() {
return s
},
get location() {
return e(i, o)
},
listen(e) {
if (l) throw new Error("A history only accepts one active listener");
return i.addEventListener(HR, d), l = e, () => {
i.removeEventListener(HR, d), l = null
}
},
createHref: e => t(i, e),
createURL: p,
encodeLocation(e) {
let t = p(e);
return {
pathname: t.pathname,
search: t.search,
hash: t.hash
}
},
push: function(e, t) {
s = WR.Push;
let r = ZR(h.location, e, t);
n && n(r, e), c = u() + 1;
let d = QR(r, c),
p = h.createHref(r);
try {
o.pushState(d, "", p)
} catch (f) {
if (f instanceof DOMException && "DataCloneError" === f.name) throw f;
i.location.assign(p)
}
a && l && l({
action: s,
location: h.location,
delta: 1
})
},
replace: function(e, t) {
s = WR.Replace;
let r = ZR(h.location, e, t);
n && n(r, e), c = u();
let i = QR(r, c),
d = h.createHref(r);
o.replaceState(i, "", d), a && l && l({
action: s,
location: h.location,
delta: 0
})
},
go: e => o.go(e)
};
return h
}
var tD;
! function(e) {
e.data = "data", e.deferred = "deferred", e.redirect = "redirect", e.error = "error"
}(tD || (tD = {}));
const nD = new Set(["lazy", "caseSensitive", "path", "id", "index", "children"]);
function rD(e, t, n, r) {
return void 0 === n && (n = []), void 0 === r && (r = {}), e.map(((e, i) => {
let a = [...n, i],
o = "string" === typeof e.id ? e.id : a.join("-");
if (KR(!0 !== e.index || !e.children, "Cannot specify children on an index route"), KR(!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 = qR({}, e, t(e), {
id: o
});
return r[o] = n, n
} {
let n = qR({}, e, t(e), {
id: o,
children: void 0
});
return r[o] = n, e.children && (n.children = rD(e.children, t, a, r)), n
}
}))
}
function iD(e, t, n) {
void 0 === n && (n = "/");
let r = fD(("string" === typeof t ? JR(t) : t).pathname || "/", n);
if (null == r) return null;
let i = aD(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)))))
}(i);
let a = null;
for (let o = 0; null == a && o < i.length; ++o) a = uD(i[o], hD(r));
return a
}
function aD(e, t, n, r) {
void 0 === t && (t = []), void 0 === n && (n = []), void 0 === r && (r = "");
let i = (e, i, a) => {
let o = {
relativePath: void 0 === a ? e.path || "" : a,
caseSensitive: !0 === e.caseSensitive,
childrenIndex: i,
route: e
};
o.relativePath.startsWith("/") && (KR(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 = yD([r, o.relativePath]),
l = n.concat(o);
e.children && e.children.length > 0 && (KR(!0 !== e.index, 'Index routes must not have child routes. Please remove all child routes from route path "' + s + '".'), aD(e.children, t, l, s)), (null != e.path || e.index) && t.push({
path: s,
score: cD(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 oD(e.path)) i(e, t, r);
else i(e, t)
})), t
}
function oD(e) {
let t = e.split("/");
if (0 === t.length) return [];
let [n, ...r] = t, i = n.endsWith("?"), a = n.replace(/\?$/, "");
if (0 === r.length) return i ? [a, ""] : [a];
let o = oD(r.join("/")),
s = [];
return s.push(...o.map((e => "" === e ? a : [a, e].join("/")))), i && s.push(...o), s.map((t => e.startsWith("/") && "" === t ? "/" : t))
}
const sD = /^:\w+$/,
lD = e => "*" === e;
function cD(e, t) {
let n = e.split("/"),
r = n.length;
return n.some(lD) && (r += -2), t && (r += 2), n.filter((e => !lD(e))).reduce(((e, t) => e + (sD.test(t) ? 3 : "" === t ? 1 : 10)), r)
}
function uD(e, t) {
let {
routesMeta: n
} = e, r = {}, i = "/", a = [];
for (let o = 0; o < n.length; ++o) {
let e = n[o],
s = o === n.length - 1,
l = "/" === i ? t : t.slice(i.length) || "/",
c = pD({
path: e.relativePath,
caseSensitive: e.caseSensitive,
end: s
}, l);
if (!c) return null;
Object.assign(r, c.params);
let u = e.route;
a.push({
params: r,
pathname: yD([i, c.pathname]),
pathnameBase: _D(yD([i, c.pathnameBase])),
route: u
}), "/" !== c.pathnameBase && (i = yD([i, c.pathnameBase]))
}
return a
}
function dD(e, t) {
void 0 === t && (t = {});
let n = e;
n.endsWith("*") && "*" !== n && !n.endsWith("/*") && (YR(!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("/") ? "/" : "",
i = e => null == e ? "" : "string" === typeof e ? e : String(e);
return r + n.split(/\/+/).map(((e, n, r) => {
if (n === r.length - 1 && "*" === e) {
return i(t["*"])
}
const a = e.match(/^:(\w+)(\??)$/);
if (a) {
const [, e, n] = a;
let r = t[e];
return KR("?" === n || null != r, 'Missing ":' + e + '" param'), i(r)
}
return e.replace(/\?$/g, "")
})).filter((e => !!e)).join("/")
}
function pD(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);
YR("*" === 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 = [],
i = "^" + e.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(/\/:(\w+)(\?)?/g, ((e, t, n) => (r.push({
paramName: t,
isOptional: null != n
}), n ? "/?([^\\/]+)?" : "/([^\\/]+)")));
e.endsWith("*") ? (r.push({
paramName: "*"
}), i += "*" === e || "/*" === e ? "(.*)$" : "(?:\\/(.+)|\\/*)$") : n ? i += "\\/*$" : "" !== e && "/" !== e && (i += "(?:(?=\\/|$))");
let a = new RegExp(i, t ? void 0 : "i");
return [a, r]
}(e.path, e.caseSensitive, e.end), i = t.match(n);
if (!i) return null;
let a = i[0],
o = a.replace(/(.)\/+$/, "$1"),
s = i.slice(1);
return {
params: r.reduce(((e, t, n) => {
let {
paramName: r,
isOptional: i
} = t;
if ("*" === r) {
let e = s[n] || "";
o = a.slice(0, a.length - e.length).replace(/(.)\/+$/, "$1")
}
const l = s[n];
return e[r] = i && !l ? void 0 : function(e, t) {
try {
return decodeURIComponent(e)
} catch (n) {
return YR(!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: a,
pathnameBase: o,
pattern: e
}
}
function hD(e) {
try {
return decodeURI(e)
} catch (t) {
return YR(!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 fD(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 mD(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 gD(e) {
return e.filter(((e, t) => 0 === t || e.route.path && e.route.path.length > 0))
}
function vD(e, t, n, r) {
let i;
void 0 === r && (r = !1), "string" === typeof e ? i = JR(e) : (i = qR({}, e), KR(!i.pathname || !i.pathname.includes("?"), mD("?", "pathname", "search", i)), KR(!i.pathname || !i.pathname.includes("#"), mD("#", "pathname", "hash", i)), KR(!i.search || !i.search.includes("#"), mD("#", "search", "hash", i)));
let a, o = "" === e || "" === i.pathname,
s = o ? "/" : i.pathname;
if (null == s) a = 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();
i.pathname = t.join("/")
}
a = "/" + e.join("/")
} else {
let e = t.length - 1;
if (s.startsWith("..")) {
let t = s.split("/");
for (;
".." === t[0];) t.shift(), e -= 1;
i.pathname = t.join("/")
}
a = e >= 0 ? t[e] : "/"
}
let l = function(e, t) {
void 0 === t && (t = "/");
let {
pathname: n,
search: r = "",
hash: i = ""
} = "string" === typeof e ? JR(e) : e, a = 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: a,
search: bD(r),
hash: xD(i)
}
}(i, a),
c = s && "/" !== s && s.endsWith("/"),
u = (o || "." === s) && n.endsWith("/");
return l.pathname.endsWith("/") || !c && !u || (l.pathname += "/"), l
}
const yD = e => e.join("/").replace(/\/\/+/g, "/"),
_D = e => e.replace(/\/+$/, "").replace(/^\/*/, "/"),
bD = e => e && "?" !== e ? e.startsWith("?") ? e : "?" + e : "",
xD = e => e && "#" !== e ? e.startsWith("#") ? e : "#" + e : "";
class wD extends Error {}
const kD = 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, qR({}, n, {
headers: r
}))
};
class SD {
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 ED(e) {
return null != e && "number" === typeof e.status && "string" === typeof e.statusText && "boolean" === typeof e.internal && "data" in e
}
const ID = ["post", "put", "patch", "delete"],
OD = new Set(ID),
CD = ["get", ...ID],
AD = new Set(CD),
PD = new Set([301, 302, 303, 307, 308]),
TD = new Set([307, 308]),
RD = {
state: "idle",
location: void 0,
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0
},
DD = {
state: "idle",
data: void 0,
formMethod: void 0,
formAction: void 0,
formEncType: void 0,
formData: void 0,
json: void 0,
text: void 0
},
LD = {
state: "unblocked",
proceed: void 0,
reset: void 0,
location: void 0
},
ND = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,
jD = e => ({
hasErrorBoundary: Boolean(e.hasErrorBoundary)
}),
MD = "remix-router-transitions";
function FD(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 i;
if (KR(e.routes.length > 0, "You must provide a non-empty routes array to createRouter"), e.mapRouteProperties) i = e.mapRouteProperties;
else if (e.detectErrorBoundary) {
let t = e.detectErrorBoundary;
i = e => ({
hasErrorBoundary: t(e)
})
} else i = jD;
let a, o = {},
s = rD(e.routes, i, void 0, o),
l = e.basename || "/",
c = qR({
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 = iD(s, e.history.location, l),
v = null;
if (null == g) {
let t = tL(404, {
pathname: e.history.location.pathname
}),
{
matches: n,
route: r
} = eL(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: RD,
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 = WR.Pop,
k = !1,
S = !1,
E = new Map,
I = null,
O = !1,
C = !1,
A = [],
P = [],
T = new Map,
R = 0,
D = -1,
L = new Map,
N = new Set,
j = new Map,
M = new Map,
F = new Set,
z = new Map,
U = new Map,
V = !1;
function B(e, t) {
void 0 === t && (t = {}), x = qR({}, 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 i, o;
let l, {
flushSync: c
} = void 0 === r ? {} : r,
u = null != x.actionData && null != x.navigation.formMethod && cL(x.navigation.formMethod) && "loading" === x.navigation.state && !0 !== (null == (i = t.state) ? void 0 : i._isRedirect);
l = n.actionData ? Object.keys(n.actionData).length > 0 ? n.actionData : null : u ? x.actionData : null;
let d = n.loaderData ? XD(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, LD))));
let h, f = !0 === k || null != x.navigation.formMethod && cL(x.navigation.formMethod) && !0 !== (null == (o = t.state) ? void 0 : o._isRedirect);
if (a && (s = a, a = void 0), O || w === WR.Pop || (w === WR.Push ? e.history.push(t, t.state) : w === WR.Replace && e.history.replace(t, t.state)), w === WR.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(qR({}, n, {
actionData: l,
loaderData: d,
historyAction: w,
location: t,
initialized: !0,
navigation: RD,
revalidation: "idle",
restoreScrollPosition: se(t, n.matches || x.matches),
preventScrollReset: f,
blockers: p
}), {
viewTransitionOpts: h,
flushSync: !0 === c
}), w = WR.Pop, k = !1, S = !1, O = !1, C = !1, A = [], P = []
}
async function $(t, n, r) {
_ && _.abort(), _ = null, w = t, O = !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 = a || s,
u = r && r.overrideNavigation,
d = iD(c, n, l),
h = !0 === (r && r.flushSync);
if (!d) {
let e = tL(404, {
pathname: n.pathname
}),
{
matches: t,
route: r
} = eL(c);
return ae(), void G(n, {
matches: t,
loaderData: {},
errors: {
[r.id]: e
}
}, {
flushSync: h
})
}
if (x.initialized && !C && 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 && cL(r.submission.formMethod))) return void G(n, {
matches: d
}, {
flushSync: h
});
_ = new AbortController;
let m, g, v = HD(e.history, n, _.signal, r && r.submission);
if (r && r.pendingError) g = {
[JD(d).route.id]: r.pendingError
};
else if (r && r.submission && cL(r.submission.formMethod)) {
let e = await async function(e, t, n, r, a) {
void 0 === a && (a = {});
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 === a.flushSync
});
let u = hL(r, t);
if (u.route.action || u.route.lazy) {
if (s = await WD("action", e, u, r, o, i, l), e.signal.aborted) return {
shortCircuited: !0
}
} else s = {
type: tD.error,
error: tL(405, {
method: e.method,
pathname: t.pathname,
routeId: u.route.id
})
};
if (oL(s)) {
let e;
return e = a && null != a.replace ? a.replace : s.location === x.location.pathname + x.location.search, await q(x, s, {
submission: n,
replace: e
}), {
shortCircuited: !0
}
}
if (aL(s)) {
let e = JD(r, u.route.id);
return !0 !== (a && a.replace) && (w = WR.Push), {
pendingActionData: {},
pendingActionError: {
[e.route.id]: s.error
}
}
}
if (iL(s)) throw tL(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 = mL(n, r.submission), h = !1, v = new Request(v.url, {
signal: v.signal
})
}
let {
shortCircuited: y,
loaderData: b,
errors: E
} = await async function(t, n, r, i, o, c, u, d, p, h) {
let f = i || mL(n, o),
m = o || c || fL(f),
g = a || s,
[v, y] = BD(e.history, x, r, m, n, C, A, P, F, j, N, g, l, p, h);
if (ae((e => !(r && r.some((t => t.route.id === e))) || v && v.some((t => t.route.id === e)))), D = ++R, 0 === v.length && 0 === y.length) {
let e = ee();
return G(n, qR({
matches: r,
loaderData: {},
errors: h || null
}, p ? {
actionData: p
} : {}, e ? {
fetchers: new Map(x.fetchers)
} : {}), {
flushSync: d
}), {
shortCircuited: !0
}
}
if (!O) {
y.forEach((e => {
let t = x.fetchers.get(e.key),
n = gL(void 0, t ? t.data : void 0);
x.fetchers.set(e.key, n)
}));
let e = p || x.actionData;
B(qR({
navigation: f
}, e ? 0 === Object.keys(e).length ? {
actionData: null
} : {
actionData: e
} : {}, y.length > 0 ? {
fetchers: new Map(x.fetchers)
} : {}), {
flushSync: d
})
}
y.forEach((e => {
T.has(e.key) && X(e.key), e.controller && T.set(e.key, e.controller)
}));
let b = () => y.forEach((e => X(e.key)));
_ && _.signal.addEventListener("abort", b);
let {
results: w,
loaderResults: k,
fetcherResults: S
} = await W(x.matches, r, v, y, t);
if (t.signal.aborted) return {
shortCircuited: !0
};
_ && _.signal.removeEventListener("abort", b);
y.forEach((e => T.delete(e.key)));
let E = nL(w);
if (E) {
if (E.idx >= v.length) {
let e = y[E.idx - v.length].key;
N.add(e)
}
return await q(x, E.result, {
replace: u
}), {
shortCircuited: !0
}
}
let {
loaderData: I,
errors: L
} = ZD(x, r, v, k, h, y, S, z);
z.forEach(((e, t) => {
e.subscribe((n => {
(n || e.done) && z.delete(t)
}))
}));
let M = ee(),
U = te(D),
V = M || U || y.length > 0;
return qR({
loaderData: I,
errors: L
}, V ? {
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, qR({
matches: d
}, m ? {
actionData: m
} : {}, {
loaderData: b,
errors: E
})))
}
async function q(r, i, a) {
let {
submission: o,
fetcherSubmission: s,
replace: c
} = void 0 === a ? {} : a;
i.revalidate && (C = !0);
let u = ZR(r.location, i.location, {
_isRedirect: !0
});
if (KR(u, "Expected a location on the redirect navigation"), n) {
let n = !1;
if (i.reloadDocument) n = !0;
else if (ND.test(i.location)) {
const r = e.history.createURL(i.location);
n = r.origin !== t.location.origin || null == fD(r.pathname, l)
}
if (n) return void(c ? t.location.replace(i.location) : t.location.assign(i.location))
}
_ = null;
let d = !0 === c ? WR.Replace : WR.Push,
{
formMethod: p,
formAction: h,
formEncType: f
} = r.navigation;
!o && !s && p && h && f && (o = fL(r.navigation));
let m = o || s;
if (TD.has(i.status) && m && cL(m.formMethod)) await $(d, u, {
submission: qR({}, m, {
formAction: i.location
}),
preventScrollReset: k
});
else {
let e = mL(u, o);
await $(d, u, {
overrideNavigation: e,
fetcherSubmission: s,
preventScrollReset: k
})
}
}
async function W(t, n, r, a, s) {
let c = await Promise.all([...r.map((e => WD("loader", s, e, n, o, i, l))), ...a.map((t => {
if (t.matches && t.match && t.controller) return WD("loader", HD(e.history, t.path, t.controller.signal), t.match, t.matches, o, i, l);
return {
type: tD.error,
error: tL(404, {
pathname: t.path
})
}
}))]),
u = c.slice(0, r.length),
d = c.slice(r.length);
return await Promise.all([uL(t, r, u, u.map((() => s.signal)), !1, x.loaderData), uL(t, a.map((e => e.match)), d, a.map((e => e.controller ? e.controller.signal : null)), !0)]), {
results: c,
loaderResults: u,
fetcherResults: d
}
}
function H() {
C = !0, A.push(...ae()), j.forEach(((e, t) => {
T.has(t) && (P.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 i = JD(x.matches, t);
Z(e), B({
errors: {
[i.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) || DD
}
function Z(e) {
let t = x.fetchers.get(e);
!T.has(e) || t && "loading" === t.state && L.has(e) || X(e), j.delete(e), L.delete(e), N.delete(e), F.delete(e), x.fetchers.delete(e)
}
function X(e) {
let t = T.get(e);
KR(t, "Expected fetch controller: " + e), t.abort(), T.delete(e)
}
function J(e) {
for (let t of e) {
let e = vL(Q(t).data);
x.fetchers.set(t, e)
}
}
function ee() {
let e = [],
t = !1;
for (let n of N) {
let r = x.fetchers.get(n);
KR(r, "Expected fetcher: " + n), "loading" === r.state && (N.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);
KR(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), U.delete(e)
}
function re(e, t) {
let n = x.blockers.get(e) || LD;
KR("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 ie(e) {
let {
currentLocation: t,
nextLocation: n,
historyAction: r
} = e;
if (0 === U.size) return;
U.size > 1 && YR(!1, "A router only supports one blocker at a time");
let i = Array.from(U.entries()),
[a, o] = i[i.length - 1],
s = x.blockers.get(a);
return s && "proceeding" === s.state ? void 0 : o({
currentLocation: t,
nextLocation: n,
historyAction: r
}) ? a : void 0
}
function ae(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: i
} = e;
return {
id: n.id,
pathname: r,
params: i,
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 y = {
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: i
} = t;
if (V) return void(V = !1);
YR(0 === U.size || null != i, "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 a = ie({
currentLocation: x.location,
nextLocation: r,
historyAction: n
});
return a && null != i ? (V = !0, e.history.go(-1 * i), void re(a, {
state: "blocked",
location: r,
proceed() {
re(a, {
state: "proceeding",
proceed: void 0,
reset: void 0,
location: r
}), e.history.go(i)
},
reset() {
let e = new Map(x.blockers);
e.set(a, LD), B({
blockers: e
})
}
})) : $(n, r)
})), n) {
! function(e, t) {
try {
let n = e.sessionStorage.getItem(MD);
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(MD, JSON.stringify(r))
} catch (n) {
YR(!1, "Failed to save applied view transitions in sessionStorage (" + n + ").")
}
}
}(t, E);
t.addEventListener("pagehide", e), I = () => t.removeEventListener("pagehide", e)
}
return x.initialized || $(WR.Pop, x.location), y
},
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 === RD) {
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 i = zD(x.location, x.matches, l, c.v7_prependBasename, n, null == r ? void 0 : r.fromRouteId, null == r ? void 0 : r.relative),
{
path: a,
submission: o,
error: s
} = UD(c.v7_normalizeFormMethod, !1, i, r),
u = x.location,
d = ZR(x.location, a, r && r.state);
d = qR({}, d, e.history.encodeLocation(d));
let p = r && null != r.replace ? r.replace : void 0,
h = WR.Push;
!0 === p ? h = WR.Replace : !1 === p || null != o && cL(o.formMethod) && o.formAction === x.location.pathname + x.location.search && (h = WR.Replace);
let f = r && "preventScrollReset" in r ? !0 === r.preventScrollReset : void 0,
m = !0 === (r && r.unstable_flushSync),
g = ie({
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, LD), 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 = a || s,
f = zD(x.location, x.matches, l, c.v7_prependBasename, u, n, null == d ? void 0 : d.relative),
m = iD(h, f, l);
if (!m) return void Y(t, n, tL(404, {
pathname: f
}), {
flushSync: p
});
let {
path: g,
submission: v,
error: y
} = UD(c.v7_normalizeFormMethod, !0, f, d);
if (y) return void Y(t, n, y, {
flushSync: p
});
let b = hL(m, g);
k = !0 === (d && d.preventScrollReset), v && cL(v.formMethod) ? async function(t, n, r, c, u, d, p) {
if (H(), j.delete(t), !c.route.action && !c.route.lazy) {
let e = tL(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 = HD(e.history, r, f.signal, p);
T.set(t, f);
let g = R,
v = await WD("action", m, c, u, o, i, l);
if (m.signal.aborted) return void(T.get(t) === f && T.delete(t));
if (F.has(t)) return void K(t, vL(void 0));
if (oL(v)) return T.delete(t), D > g ? void K(t, vL(void 0)) : (N.add(t), K(t, gL(p)), q(x, v, {
fetcherSubmission: p
}));
if (aL(v)) return void Y(t, n, v.error);
if (iL(v)) throw tL(400, {
type: "defer-action"
});
let y = x.navigation.location || x.location,
b = HD(e.history, y, f.signal),
k = a || s,
S = "idle" !== x.navigation.state ? iD(k, x.navigation.location, l) : x.matches;
KR(S, "Didn't find any matches after fetcher action");
let E = ++R;
L.set(t, E);
let I = gL(p, v.data);
x.fetchers.set(t, I);
let [O, M] = BD(e.history, x, S, p, y, C, A, P, F, j, N, 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 = gL(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 U = () => M.forEach((e => X(e.key)));
f.signal.addEventListener("abort", U);
let {
results: V,
loaderResults: $,
fetcherResults: Q
} = await W(x.matches, S, O, M, b);
if (f.signal.aborted) return;
f.signal.removeEventListener("abort", U), L.delete(t), T.delete(t), M.forEach((e => T.delete(e.key)));
let Z = nL(V);
if (Z) {
if (Z.idx >= O.length) {
let e = M[Z.idx - O.length].key;
N.add(e)
}
return q(x, Z.result)
}
let {
loaderData: J,
errors: ee
} = ZD(x, x.matches, O, $, void 0, M, Q, z);
if (x.fetchers.has(t)) {
let e = vL(v.data);
x.fetchers.set(t, e)
}
te(E), "loading" === x.navigation.state && E > D ? (KR(w, "Expected pending action"), _ && _.abort(), G(x.navigation.location, {
matches: S,
loaderData: J,
errors: ee,
fetchers: new Map(x.fetchers)
})) : (B({
errors: ee,
loaderData: XD(x.loaderData, J, S, ee),
fetchers: new Map(x.fetchers)
}), C = !1)
}(t, n, g, b, m, p, v): (j.set(t, {
routeId: n,
path: g
}), async function(t, n, r, a, s, c, u) {
let d = x.fetchers.get(t);
K(t, gL(u, d ? d.data : void 0), {
flushSync: c
});
let p = new AbortController,
h = HD(e.history, r, p.signal);
T.set(t, p);
let f = R,
m = await WD("loader", h, a, s, o, i, l);
iL(m) && (m = await dL(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, vL(void 0));
if (oL(m)) return D > f ? void K(t, vL(void 0)) : (N.add(t), void await q(x, m));
if (aL(m)) return void Y(t, n, m.error);
KR(!iL(m), "Unhandled fetcher deferred data"), K(t, vL(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(), _ && _.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) || LD;
return U.get(e) !== t && U.set(e, t), n
},
deleteBlocker: ne,
_internalFetchControllers: T,
_internalActiveDeferreds: z,
_internalSetRoutes: function(e) {
o = {}, a = rD(e, i, void 0, o)
}
}, y
}
Symbol("deferred");
function zD(e, t, n, r, i, a, o) {
let s, l;
if (a) {
s = [];
for (let e of t)
if (s.push(e), e.route.id === a) {
l = e;
break
}
} else s = t, l = t[t.length - 1];
let c = vD(i || ".", gD(s).map((e => e.pathnameBase)), fD(e.pathname, n) || e.pathname, "path" === o);
return null == i && (c.search = e.search, c.hash = e.hash), null != i && "" !== i && "." !== i || !l || !l.route.index || pL(c.search) || (c.search = c.search ? c.search.replace(/^\?/, "?index&") : "?index"), r && "/" !== n && (c.pathname = "/" === c.pathname ? n : yD([n, c.pathname])), XR(c)
}
function UD(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 && !lL(r.formMethod)) return {
path: n,
error: tL(405, {
method: r.formMethod
})
};
let i, a, o = () => ({
path: n,
error: tL(400, {
type: "invalid-body"
})
}),
s = r.formMethod || "get",
l = e ? s.toUpperCase() : s.toLowerCase(),
c = rL(n);
if (void 0 !== r.body) {
if ("text/plain" === r.formEncType) {
if (!cL(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 (!cL(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 (KR("function" === typeof FormData, "FormData is not available in this environment"), r.formData) i = KD(r.formData), a = r.formData;
else if (r.body instanceof FormData) i = KD(r.body), a = r.body;
else if (r.body instanceof URLSearchParams) i = r.body, a = YD(i);
else if (null == r.body) i = new URLSearchParams, a = new FormData;
else try {
i = new URLSearchParams(r.body), a = YD(i)
} catch (p) {
return o()
}
let u = {
formMethod: l,
formAction: c,
formEncType: r && r.formEncType || "application/x-www-form-urlencoded",
formData: a,
json: void 0,
text: void 0
};
if (cL(u.formMethod)) return {
path: n,
submission: u
};
let d = JR(n);
return t && d.search && pL(d.search) && i.append("index", ""), d.search = "?" + i, {
path: XR(d),
submission: u
}
}
function VD(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 BD(e, t, n, r, i, a, 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(i),
y = f ? Object.keys(f)[0] : void 0,
_ = VD(n, y).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,
i = void 0 === e[n.route.id];
return r || i
}(t.loaderData, t.matches[n], e) || o.some((t => t === e.route.id))) return !0;
let i = t.matches[n],
s = e;
return $D(e, qR({
currentUrl: g,
currentParams: i.params,
nextUrl: v,
nextParams: s.params
}, r, {
actionResult: m,
defaultShouldRevalidate: a || g.pathname + g.search === v.pathname + v.search || g.search !== v.search || GD(i, s)
}))
})),
b = [];
return c.forEach(((e, i) => {
if (!n.some((t => t.route.id === e.routeId)) || l.has(i)) return;
let o = iD(d, e.path, p);
if (!o) return void b.push({
key: i,
routeId: e.routeId,
path: e.path,
matches: null,
match: null,
controller: null
});
let c = t.fetchers.get(i),
h = hL(o, e.path),
f = !1;
f = !u.has(i) && (!!s.includes(i) || (c && "idle" !== c.state && void 0 === c.data ? a : $D(h, qR({
currentUrl: g,
currentParams: t.matches[t.matches.length - 1].params,
nextUrl: v,
nextParams: n[n.length - 1].params
}, r, {
actionResult: m,
defaultShouldRevalidate: a
})))), f && b.push({
key: i,
routeId: e.routeId,
path: e.path,
matches: o,
match: h,
controller: new AbortController
})
})), [_, b]
}
function GD(e, t) {
let n = e.route.path;
return e.pathname !== t.pathname || null != n && n.endsWith("*") && e.params["*"] !== t.params["*"]
}
function $D(e, t) {
if (e.route.shouldRevalidate) {
let n = e.route.shouldRevalidate(t);
if ("boolean" === typeof n) return n
}
return t.defaultShouldRevalidate
}
async function qD(e, t, n) {
if (!e.lazy) return;
let r = await e.lazy();
if (!e.lazy) return;
let i = n[e.id];
KR(i, "No route found in manifest");
let a = {};
for (let o in r) {
let e = void 0 !== i[o] && "hasErrorBoundary" !== o;
YR(!e, 'Route "' + i.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 || nD.has(o) || (a[o] = r[o])
}
Object.assign(i, a), Object.assign(i, qR({}, t(i), {
lazy: void 0
}))
}
async function WD(e, t, n, r, i, a, o, s) {
let l, c, u;
void 0 === s && (s = {});
let d = e => {
let r, i = 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
}), i])
};
try {
let r = n.route[e];
if (n.route.lazy)
if (r) {
let e, t = await Promise.all([d(r).catch((t => {
e = t
})), qD(n.route, a, i)]);
if (e) throw e;
c = t[0]
} else {
if (await qD(n.route, a, i), r = n.route[e], !r) {
if ("action" === e) {
let e = new URL(t.url),
r = e.pathname + e.search;
throw tL(405, {
method: t.method,
pathname: r,
routeId: n.route.id
})
}
return {
type: tD.data,
data: void 0
}
}
c = await d(r)
}
else {
if (!r) {
let e = new URL(t.url);
throw tL(404, {
pathname: e.pathname + e.search
})
}
c = await d(r)
}
KR(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 = tD.error, c = f
} finally {
u && t.signal.removeEventListener("abort", u)
}
if (sL(c)) {
let e, i = c.status;
if (PD.has(i)) {
let e = c.headers.get("Location");
if (KR(e, "Redirects returned/thrown from loaders/actions must have a Location header"), ND.test(e)) {
if (!s.isStaticRequest) {
let n = new URL(t.url),
r = e.startsWith("//") ? new URL(n.protocol + e) : new URL(e),
i = null != fD(r.pathname, o);
r.origin === n.origin && i && (e = r.pathname + r.search + r.hash)
}
} else e = zD(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: tD.redirect,
status: i,
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 === tD.error ? tD.error : tD.data,
response: c
}
}
let a = c.headers.get("Content-Type");
return e = a && /\bapplication\/json\b/.test(a) ? await c.json() : await c.text(), l === tD.error ? {
type: l,
error: new SD(i, c.statusText, e),
headers: c.headers
} : {
type: tD.data,
data: e,
statusCode: c.status,
headers: c.headers
}
}
return l === tD.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: tD.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: tD.data,
data: c
};
var p, h
}
function HD(e, t, n, r) {
let i = e.createURL(rL(t)).toString(),
a = {
signal: n
};
if (r && cL(r.formMethod)) {
let {
formMethod: e,
formEncType: t
} = r;
a.method = e.toUpperCase(), "application/json" === t ? (a.headers = new Headers({
"Content-Type": t
}), a.body = JSON.stringify(r.json)) : "text/plain" === t ? a.body = r.text : "application/x-www-form-urlencoded" === t && r.formData ? a.body = KD(r.formData) : a.body = r.formData
}
return new Request(i, a)
}
function KD(e) {
let t = new URLSearchParams;
for (let [n, r] of e.entries()) t.append(n, "string" === typeof r ? r : r.name);
return t
}
function YD(e) {
let t = new FormData;
for (let [n, r] of e.entries()) t.append(n, r);
return t
}
function QD(e, t, n, r, i) {
let a, o = {},
s = null,
l = !1,
c = {};
return n.forEach(((n, u) => {
let d = t[u].route.id;
if (KR(!oL(n), "Cannot handle redirect results in processLoaderData"), aL(n)) {
let t = JD(e, d),
i = n.error;
r && (i = Object.values(r)[0], r = void 0), s = s || {}, null == s[t.route.id] && (s[t.route.id] = i), o[d] = void 0, l || (l = !0, a = ED(n.error) ? n.error.status : 500), n.headers && (c[d] = n.headers)
} else iL(n) ? (i.set(d, n.deferredData), o[d] = n.deferredData.data) : o[d] = n.data, null == n.statusCode || 200 === n.statusCode || l || (a = n.statusCode), n.headers && (c[d] = n.headers)
})), r && (s = r, o[Object.keys(r)[0]] = void 0), {
loaderData: o,
errors: s,
statusCode: a || 200,
loaderHeaders: c
}
}
function ZD(e, t, n, r, i, a, o, s) {
let {
loaderData: l,
errors: c
} = QD(t, n, r, i, s);
for (let u = 0; u < a.length; u++) {
let {
key: t,
match: n,
controller: r
} = a[u];
KR(void 0 !== o && void 0 !== o[u], "Did not find corresponding fetcher result");
let i = o[u];
if (!r || !r.signal.aborted)
if (aL(i)) {
let r = JD(e.matches, null == n ? void 0 : n.route.id);
c && c[r.route.id] || (c = qR({}, c, {
[r.route.id]: i.error
})), e.fetchers.delete(t)
} else if (oL(i)) KR(!1, "Unhandled fetcher revalidation redirect");
else if (iL(i)) KR(!1, "Unhandled fetcher deferred data");
else {
let n = vL(i.data);
e.fetchers.set(t, n)
}
}
return {
loaderData: l,
errors: c
}
}
function XD(e, t, n, r) {
let i = qR({}, t);
for (let a of n) {
let n = a.route.id;
if (t.hasOwnProperty(n) ? void 0 !== t[n] && (i[n] = t[n]) : void 0 !== e[n] && a.route.loader && (i[n] = e[n]), r && r.hasOwnProperty(n)) break
}
return i
}
function JD(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 eL(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 tL(e, t) {
let {
pathname: n,
routeId: r,
method: i,
type: a
} = void 0 === t ? {} : t, o = "Unknown Server Error", s = "Unknown @remix-run/router error";
return 400 === e ? (o = "Bad Request", i && n && r ? s = "You made a " + i + ' request to "' + n + '" but did not provide a `loader` for route "' + r + '", so there is no way to handle the request.' : "defer-action" === a ? s = "defer() is not supported in actions" : "invalid-body" === a && (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", i && n && r ? s = "You made a " + i.toUpperCase() + ' request to "' + n + '" but did not provide an `action` for route "' + r + '", so there is no way to handle the request.' : i && (s = 'Invalid request method "' + i.toUpperCase() + '"')), new SD(e || 500, o, new Error(s), !0)
}
function nL(e) {
for (let t = e.length - 1; t >= 0; t--) {
let n = e[t];
if (oL(n)) return {
result: n,
idx: t
}
}
}
function rL(e) {
return XR(qR({}, "string" === typeof e ? JR(e) : e, {
hash: ""
}))
}
function iL(e) {
return e.type === tD.deferred
}
function aL(e) {
return e.type === tD.error
}
function oL(e) {
return (e && e.type) === tD.redirect
}
function sL(e) {
return null != e && "number" === typeof e.status && "string" === typeof e.statusText && "object" === typeof e.headers && "undefined" !== typeof e.body
}
function lL(e) {
return AD.has(e.toLowerCase())
}
function cL(e) {
return OD.has(e.toLowerCase())
}
async function uL(e, t, n, r, i, a) {
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 && !GD(c, l) && void 0 !== (a && a[l.route.id]);
if (iL(s) && (i || u)) {
let e = r[o];
KR(e, "Expected an AbortSignal for revalidating fetcher deferred result"), await dL(s, e, i).then((e => {
e && (n[o] = e || n[o])
}))
}
}
}
async function dL(e, t, n) {
if (void 0 === n && (n = !1), !await e.deferredData.resolveData(t)) {
if (n) try {
return {
type: tD.data,
data: e.deferredData.unwrappedData
}
} catch (r) {
return {
type: tD.error,
error: r
}
}
return {
type: tD.data,
data: e.deferredData.data
}
}
}
function pL(e) {
return new URLSearchParams(e).getAll("index").some((e => "" === e))
}
function hL(e, t) {
let n = "string" === typeof t ? JR(t).search : t.search;
if (e[e.length - 1].route.index && pL(n || "")) return e[e.length - 1];
let r = gD(e);
return r[r.length - 1]
}
function fL(e) {
let {
formMethod: t,
formAction: n,
formEncType: r,
text: i,
formData: a,
json: o
} = e;
if (t && n && r) return null != i ? {
formMethod: t,
formAction: n,
formEncType: r,
formData: void 0,
json: void 0,
text: i
} : null != a ? {
formMethod: t,
formAction: n,
formEncType: r,
formData: a,
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 mL(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 gL(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 vL(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 yL() {
return yL = 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
}, yL.apply(this, arguments)
}
const _L = Ee.createContext(null);
const bL = Ee.createContext(null);
const xL = Ee.createContext(null);
const wL = Ee.createContext(null);
const kL = Ee.createContext({
outlet: null,
matches: [],
isDataRoute: !1
});
const SL = Ee.createContext(null);
function EL() {
return null != Ee.useContext(wL)
}
function IL() {
return EL() || KR(!1), Ee.useContext(wL).location
}
function OL(e) {
Ee.useContext(xL).static || Ee.useLayoutEffect(e)
}
function CL() {
let {
isDataRoute: e
} = Ee.useContext(kL);
return e ? function() {
let {
router: e
} = UL(FL.UseNavigateStable), t = BL(zL.UseNavigateStable), n = Ee.useRef(!1);
OL((() => {
n.current = !0
}));
let r = Ee.useCallback((function(r, i) {
void 0 === i && (i = {}), n.current && ("number" === typeof r ? e.navigate(r) : e.navigate(r, yL({
fromRouteId: t
}, i)))
}), [e, t]);
return r
}() : function() {
EL() || KR(!1);
let e = Ee.useContext(_L),
{
basename: t,
navigator: n
} = Ee.useContext(xL),
{
matches: r
} = Ee.useContext(kL),
{
pathname: i
} = IL(),
a = JSON.stringify(gD(r).map((e => e.pathnameBase))),
o = Ee.useRef(!1);
OL((() => {
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 = vD(r, JSON.parse(a), i, "path" === s.relative);
null == e && "/" !== t && (l.pathname = "/" === l.pathname ? t : yD([t, l.pathname])), (s.replace ? n.replace : n.push)(l, s.state, s)
}), [t, n, a, i, e]);
return s
}()
}
const AL = Ee.createContext(null);
function PL() {
let {
matches: e
} = Ee.useContext(kL), t = e[e.length - 1];
return t ? t.params : {}
}
function TL(e, t) {
let {
relative: n
} = void 0 === t ? {} : t, {
matches: r
} = Ee.useContext(kL), {
pathname: i
} = IL(), a = JSON.stringify(gD(r).map((e => e.pathnameBase)));
return Ee.useMemo((() => vD(e, JSON.parse(a), i, "path" === n)), [e, a, i, n])
}
function RL(e, t, n) {
EL() || KR(!1);
let {
navigator: r
} = Ee.useContext(xL), {
matches: i
} = Ee.useContext(kL), a = i[i.length - 1], o = a ? a.params : {}, s = (a && a.pathname, a ? a.pathnameBase : "/");
a && a.route;
let l, c = IL();
if (t) {
var u;
let e = "string" === typeof t ? JR(t) : t;
"/" === s || (null == (u = e.pathname) ? void 0 : u.startsWith(s)) || KR(!1), l = e
} else l = c;
let d = l.pathname || "/",
p = iD(e, {
pathname: "/" === s ? d : d.slice(s.length) || "/"
});
let h = ML(p && p.map((e => Object.assign({}, e, {
params: Object.assign({}, o, e.params),
pathname: yD([s, r.encodeLocation ? r.encodeLocation(e.pathname).pathname : e.pathname]),
pathnameBase: "/" === e.pathnameBase ? s : yD([s, r.encodeLocation ? r.encodeLocation(e.pathnameBase).pathname : e.pathnameBase])
}))), i, n);
return t && h ? Ee.createElement(wL.Provider, {
value: {
location: yL({
pathname: "/",
search: "",
hash: "",
state: null,
key: "default"
}, l),
navigationType: WR.Pop
}
}, h) : h
}
function DL() {
let e = function() {
var e;
let t = Ee.useContext(SL),
n = VL(zL.UseRouteError),
r = BL(zL.UseRouteError);
if (t) return t;
return null == (e = n.errors) ? void 0 : e[r]
}(),
t = ED(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)",
i = {
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: i
}, n) : null, null)
}
const LL = Ee.createElement(DL, null);
class NL 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(kL.Provider, {
value: this.props.routeContext
}, Ee.createElement(SL.Provider, {
value: this.state.error,
children: this.props.component
})) : this.props.children
}
}
function jL(e) {
let {
routeContext: t,
match: n,
children: r
} = e, i = Ee.useContext(_L);
return i && i.static && i.staticContext && (n.route.errorElement || n.route.ErrorBoundary) && (i.staticContext._deepestRenderedBoundaryId = n.route.id), Ee.createElement(kL.Provider, {
value: t
}, r)
}
function ML(e, t, n) {
var r;
if (void 0 === t && (t = []), void 0 === n && (n = null), null == e) {
var i;
if (null == (i = n) || !i.errors) return null;
e = n.matches
}
let a = e,
o = null == (r = n) ? void 0 : r.errors;
if (null != o) {
let e = a.findIndex((e => e.route.id && (null == o ? void 0 : o[e.route.id])));
e >= 0 || KR(!1), a = a.slice(0, Math.min(a.length, e + 1))
}
return a.reduceRight(((e, r, i) => {
let s = r.route.id ? null == o ? void 0 : o[r.route.id] : null,
l = null;
n && (l = r.route.errorElement || LL);
let c = t.concat(a.slice(0, i + 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(jL, {
match: r,
routeContext: {
outlet: e,
matches: c,
isDataRoute: null != n
},
children: t
})
};
return n && (r.route.ErrorBoundary || r.route.errorElement || 0 === i) ? Ee.createElement(NL, {
location: n.location,
revalidation: n.revalidation,
component: l,
error: s,
children: u(),
routeContext: {
outlet: null,
matches: c,
isDataRoute: !0
}
}) : u()
}), null)
}
var FL = function(e) {
return e.UseBlocker = "useBlocker", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e
}(FL || {}),
zL = 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
}(zL || {});
function UL(e) {
let t = Ee.useContext(_L);
return t || KR(!1), t
}
function VL(e) {
let t = Ee.useContext(bL);
return t || KR(!1), t
}
function BL(e) {
let t = function(e) {
let t = Ee.useContext(kL);
return t || KR(!1), t
}(),
n = t.matches[t.matches.length - 1];
return n.route.id || KR(!1), n.route.id
}
Ie.startTransition;
function GL(e) {
let {
to: t,
replace: n,
state: r,
relative: i
} = e;
EL() || KR(!1);
let {
matches: a
} = Ee.useContext(kL), {
pathname: o
} = IL(), s = CL(), l = vD(t, gD(a).map((e => e.pathnameBase)), o, "path" === i), c = JSON.stringify(l);
return Ee.useEffect((() => s(JSON.parse(c), {
replace: n,
state: r,
relative: i
})), [s, c, i, n, r]), null
}
function $L(e) {
return function(e) {
let t = Ee.useContext(kL).outlet;
return t ? Ee.createElement(AL.Provider, {
value: e
}, t) : t
}(e.context)
}
function qL(e) {
let {
basename: t = "/",
children: n = null,
location: r,
navigationType: i = WR.Pop,
navigator: a,
static: o = !1
} = e;
EL() && KR(!1);
let s = t.replace(/^\/*/, "/"),
l = Ee.useMemo((() => ({
basename: s,
navigator: a,
static: o
})), [s, a, o]);
"string" === typeof r && (r = JR(r));
let {
pathname: c = "/",
search: u = "",
hash: d = "",
state: p = null,
key: h = "default"
} = r, f = Ee.useMemo((() => {
let e = fD(c, s);
return null == e ? null : {
location: {
pathname: e,
search: u,
hash: d,
state: p,
key: h
},
navigationType: i
}
}), [s, c, u, d, p, h, i]);
return null == f ? null : Ee.createElement(xL.Provider, {
value: l
}, Ee.createElement(wL.Provider, {
children: n,
value: f
}))
}
new Promise((() => {}));
class WL 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, i = 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 (i === AwaitRenderStatus.error && r._error instanceof AbortedDeferredError) throw neverSettledPromise;
if (i === AwaitRenderStatus.error && !t) throw r._error;
if (i === AwaitRenderStatus.error) return React.createElement(AwaitContext.Provider, {
value: r,
children: t
});
if (i === AwaitRenderStatus.success) return React.createElement(AwaitContext.Provider, {
value: r,
children: e
});
throw r
}
}
function HL(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 KL = e => "checkbox" === e.type,
YL = e => e instanceof Date,
QL = e => null == e;
const ZL = e => "object" === typeof e;
var XL = e => !QL(e) && !Array.isArray(e) && ZL(e) && !YL(e),
JL = e => XL(e) && e.target ? KL(e.target) ? e.target.checked : e.target.value : e,
eN = (e, t) => e.has((e => e.substring(0, e.search(/\.\d+(\.|$)/)) || e)(t)),
tN = e => Array.isArray(e) ? e.filter(Boolean) : [],
nN = e => void 0 === e,
rN = (e, t, n) => {
if (!t || !XL(e)) return n;
const r = tN(t.split(/[,[\].]+?/)).reduce(((e, t) => QL(e) ? e : e[t]), e);
return nN(r) || r === e ? nN(e[t]) ? n : e[t] : r
};
const iN = "blur",
aN = "focusout",
oN = "change",
sN = "onBlur",
lN = "onChange",
cN = "onSubmit",
uN = "onTouched",
dN = "all",
pN = "max",
hN = "min",
fN = "maxLength",
mN = "minLength",
gN = "pattern",
vN = "required",
yN = "validate",
_N = Ee.createContext(null),
bN = () => Ee.useContext(_N);
var xN = (e, t, n, r = !0) => {
const i = {
defaultValues: t._defaultValues
};
for (const a in e) Object.defineProperty(i, a, {
get: () => {
const i = a;
return t._proxyFormState[i] !== dN && (t._proxyFormState[i] = !r || dN), n && (n[i] = !0), e[i]
}
});
return i
},
wN = e => XL(e) && !Object.keys(e).length,
kN = (e, t, n, r) => {
n(e);
const {
name: i,
...a
} = e;
return wN(a) || Object.keys(a).length >= Object.keys(t).length || Object.keys(a).find((e => t[e] === (!r || dN)))
},
SN = e => Array.isArray(e) ? e : [e],
EN = (e, t, n) => n && t ? e === t : !e || !t || e === t || SN(e).some((e => e && (e.startsWith(t) || t.startsWith(e))));
function IN(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 ON = e => "string" === typeof e,
CN = (e, t, n, r, i) => ON(e) ? (r && t.watch.add(e), rN(n, e, i)) : Array.isArray(e) ? e.map((e => (r && t.watch.add(e), rN(n, e)))) : (r && (t.watchAll = !0), n),
AN = "undefined" !== typeof window && "undefined" !== typeof window.HTMLElement && "undefined" !== typeof document;
function PN(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 (AN && (e instanceof Blob || e instanceof FileList) || !n && !XL(e)) return e;
if (t = n ? [] : {}, Array.isArray(e) || (e => {
const t = e.constructor && e.constructor.prototype;
return XL(t) && t.hasOwnProperty("isPrototypeOf")
})(e))
for (const n in e) t[n] = PN(e[n]);
else t = e
}
return t
}
function TN(e) {
const t = bN(),
{
name: n,
control: r = t.control,
shouldUnregister: i
} = e,
a = eN(r._names.array, n),
o = function(e) {
const t = bN(),
{
control: n = t.control,
name: r,
defaultValue: i,
disabled: a,
exact: o
} = e || {},
s = Ee.useRef(r);
s.current = r, IN({
disabled: a,
subject: n._subjects.watch,
next: e => {
EN(s.current, e.name, o) && c(PN(CN(s.current, n._names, e.values || n._formValues, !1, i)))
}
});
const [l, c] = Ee.useState(n._getWatch(r, i));
return Ee.useEffect((() => n._removeUnmounted())), l
}({
control: r,
name: n,
defaultValue: rN(r._formValues, n, rN(r._defaultValues, n, e.defaultValue)),
exact: !0
}),
s = function(e) {
const t = bN(),
{
control: n = t.control,
disabled: r,
name: i,
exact: a
} = 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(i);
return u.current = i, IN({
disabled: r,
next: e => l.current && EN(u.current, e.name, a) && kN(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]), xN(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 = rN(r._fields, e);
n && (n._f.mount = t)
};
return e(n, !0), () => {
const t = r._options.shouldUnregister || i;
(a ? t && !r._stateFlags.action : t) ? r.unregister(n): e(n, !1)
}
}), [n, r, a, i]), {
field: {
name: n,
value: o,
onChange: Ee.useCallback((e => l.current.onChange({
target: {
value: JL(e),
name: n
},
type: oN
})), [n]),
onBlur: Ee.useCallback((() => l.current.onBlur({
target: {
value: rN(r._formValues, n),
name: n
},
type: iN
})), [n, r]),
ref: e => {
const t = rN(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: () => !!rN(s.errors, n)
},
isDirty: {
enumerable: !0,
get: () => !!rN(s.dirtyFields, n)
},
isTouched: {
enumerable: !0,
get: () => !!rN(s.touchedFields, n)
},
error: {
enumerable: !0,
get: () => rN(s.errors, n)
}
})
}
}
var RN = (e, t, n, r, i) => t ? {
...n[e],
types: {
...n[e] && n[e].types ? n[e].types : {},
[r]: i || !0
}
} : {},
DN = e => /^\w*$/.test(e),
LN = e => tN(e.replace(/["|']|\]/g, "").split(/\.|\[/));
function NN(e, t, n) {
let r = -1;
const i = DN(t) ? [t] : LN(t),
a = i.length,
o = a - 1;
for (; ++r < a;) {
const t = i[r];
let a = n;
if (r !== o) {
const n = e[t];
a = XL(n) || Array.isArray(n) ? n : isNaN(+i[r + 1]) ? {} : []
}
e[t] = a, e = e[t]
}
return e
}
const jN = (e, t, n) => {
for (const r of n || Object.keys(e)) {
const n = rN(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 XL(r) && jN(r, t)
}
}
};
var MN = e => ({
isOnSubmit: !e || e === cN,
isOnBlur: e === sN,
isOnChange: e === lN,
isOnAll: e === dN,
isOnTouch: e === uN
}),
FN = (e, t, n) => !n && (t.watchAll || t.watch.has(e) || [...t.watch].some((t => e.startsWith(t) && /^\.\w+/.test(e.slice(t.length))))),
zN = (e, t, n) => {
const r = tN(rN(e, n));
return NN(r, "root", t[n]), NN(e, n, r), e
},
UN = e => "boolean" === typeof e,
VN = e => "file" === e.type,
BN = e => "function" === typeof e,
GN = e => {
if (!AN) return !1;
const t = e ? e.ownerDocument : 0;
return e instanceof(t && t.defaultView ? t.defaultView.HTMLElement : HTMLElement)
},
$N = e => ON(e) || Ee.isValidElement(e),
qN = e => "radio" === e.type,
WN = e => e instanceof RegExp;
const HN = {
value: !1,
isValid: !1
},
KN = {
value: !0,
isValid: !0
};
var YN = 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 && !nN(e[0].attributes.value) ? nN(e[0].value) || "" === e[0].value ? KN : {
value: e[0].value,
isValid: !0
} : KN : HN
}
return HN
};
const QN = {
isValid: !1,
value: null
};
var ZN = e => Array.isArray(e) ? e.reduce(((e, t) => t && t.checked && !t.disabled ? {
isValid: !0,
value: t.value
} : e), QN) : QN;
function XN(e, t, n = "validate") {
if ($N(e) || Array.isArray(e) && e.every($N) || UN(e) && !e) return {
type: n,
message: $N(e) ? e : "",
ref: t
}
}
var JN = e => XL(e) && !WN(e) ? e : {
value: e,
message: ""
},
ej = async (e, t, n, r, i) => {
const {
ref: a,
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, y = rN(t, f);
if (!g || v) return {};
const _ = o ? o[0] : a,
b = e => {
r && _.reportValidity && (_.setCustomValidity(UN(e) ? "" : e || ""), _.reportValidity())
},
x = {},
w = qN(a),
k = KL(a),
S = w || k,
E = (m || VN(a)) && nN(a.value) && nN(y) || GN(a) && "" === a.value || "" === y || Array.isArray(y) && !y.length,
I = RN.bind(null, f, n, x),
O = (e, t, n, r = fN, i = mN) => {
const o = e ? t : n;
x[f] = {
type: e ? r : i,
message: o,
ref: a,
...I(e ? r : i, o)
}
};
if (i ? !Array.isArray(y) || !y.length : s && (!S && (E || QL(y)) || UN(y) && !y || k && !YN(o).isValid || w && !ZN(o).isValid)) {
const {
value: e,
message: t
} = $N(s) ? {
value: !!s,
message: s
} : JN(s);
if (e && (x[f] = {
type: vN,
message: t,
ref: _,
...I(vN, t)
}, !n)) return b(t), x
}
if (!E && (!QL(u) || !QL(d))) {
let e, t;
const r = JN(d),
i = JN(u);
if (QL(y) || isNaN(y)) {
const n = a.valueAsDate || new Date(y),
o = e => new Date((new Date).toDateString() + " " + e),
s = "time" == a.type,
l = "week" == a.type;
ON(r.value) && y && (e = s ? o(y) > o(r.value) : l ? y > r.value : n > new Date(r.value)), ON(i.value) && y && (t = s ? o(y) < o(i.value) : l ? y < i.value : n < new Date(i.value))
} else {
const n = a.valueAsNumber || (y ? +y : y);
QL(r.value) || (e = n > r.value), QL(i.value) || (t = n < i.value)
}
if ((e || t) && (O(!!e, r.message, i.message, pN, hN), !n)) return b(x[f].message), x
}
if ((l || c) && !E && (ON(y) || i && Array.isArray(y))) {
const e = JN(l),
t = JN(c),
r = !QL(e.value) && y.length > e.value,
i = !QL(t.value) && y.length < t.value;
if ((r || i) && (O(r, e.message, t.message), !n)) return b(x[f].message), x
}
if (p && !E && ON(y)) {
const {
value: e,
message: t
} = JN(p);
if (WN(e) && !y.match(e) && (x[f] = {
type: gN,
message: t,
ref: a,
...I(gN, t)
}, !n)) return b(t), x
}
if (h)
if (BN(h)) {
const e = XN(await h(y, t), _);
if (e && (x[f] = {
...e,
...I(yN, e.message)
}, !n)) return b(e.message), x
} else if (XL(h)) {
let e = {};
for (const r in h) {
if (!wN(e) && !n) break;
const i = XN(await h[r](y, t), _, r);
i && (e = {
...i,
...I(r, i.message)
}, b(i.message), n && (x[f] = e))
}
if (!wN(e) && (x[f] = {
ref: _,
...e
}, !n)) return x
}
return b(!0), x
};
function tj(e, t) {
const n = Array.isArray(t) ? t : DN(t) ? [t] : LN(t),
r = 1 === n.length ? e : function(e, t) {
const n = t.slice(0, -1).length;
let r = 0;
for (; r < n;) e = nN(e) ? r++ : e[t[r++]];
return e
}(e, n),
i = n.length - 1,
a = n[i];
return r && delete r[a], 0 !== i && (XL(r) && wN(r) || Array.isArray(r) && function(e) {
for (const t in e)
if (!nN(e[t])) return !1;
return !0
}(r)) && tj(e, n.slice(0, -1)), e
}
function nj() {
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 rj = e => QL(e) || !ZL(e);
function ij(e, t) {
if (rj(e) || rj(t)) return e === t;
if (YL(e) && YL(t)) return e.getTime() === t.getTime();
const n = Object.keys(e),
r = Object.keys(t);
if (n.length !== r.length) return !1;
for (const i of n) {
const n = e[i];
if (!r.includes(i)) return !1;
if ("ref" !== i) {
const e = t[i];
if (YL(n) && YL(e) || XL(n) && XL(e) || Array.isArray(n) && Array.isArray(e) ? !ij(n, e) : n !== e) return !1
}
}
return !0
}
var aj = e => "select-multiple" === e.type,
oj = e => GN(e) && e.isConnected,
sj = e => {
for (const t in e)
if (BN(e[t])) return !0;
return !1
};
function lj(e, t = {}) {
const n = Array.isArray(e);
if (XL(e) || n)
for (const r in e) Array.isArray(e[r]) || XL(e[r]) && !sj(e[r]) ? (t[r] = Array.isArray(e[r]) ? [] : {}, lj(e[r], t[r])) : QL(e[r]) || (t[r] = !0);
return t
}
function cj(e, t, n) {
const r = Array.isArray(e);
if (XL(e) || r)
for (const i in e) Array.isArray(e[i]) || XL(e[i]) && !sj(e[i]) ? nN(t) || rj(n[i]) ? n[i] = Array.isArray(e[i]) ? lj(e[i], []) : {
...lj(e[i])
} : cj(e[i], QL(t) ? {} : t[i], n[i]) : ij(e[i], t[i]) ? delete n[i] : n[i] = !0;
return n
}
var uj = (e, t) => cj(e, t, lj(t)),
dj = (e, {
valueAsNumber: t,
valueAsDate: n,
setValueAs: r
}) => nN(e) ? e : t ? "" === e ? NaN : e ? +e : e : n && ON(e) ? new Date(e) : r ? r(e) : e;
function pj(e) {
const t = e.ref;
if (!(e.refs ? e.refs.every((e => e.disabled)) : t.disabled)) return VN(t) ? t.files : qN(t) ? ZN(e.refs).value : aj(t) ? [...t.selectedOptions].map((({
value: e
}) => e)) : KL(t) ? YN(e.refs).value : dj(nN(t.value) ? e.ref.value : t.value, e)
}
var hj = e => nN(e) ? e : WN(e) ? e.source : XL(e) ? WN(e.value) ? e.value.source : e.value : e;
function fj(e, t, n) {
const r = rN(e, n);
if (r || DN(n)) return {
error: r,
name: n
};
const i = n.split(".");
for (; i.length;) {
const r = i.join("."),
a = rN(t, r),
o = rN(e, r);
if (a && !Array.isArray(a) && n !== r) return {
name: n
};
if (o && o.type) return {
name: r,
error: o
};
i.pop()
}
return {
name: n
}
}
const mj = {
mode: cN,
reValidateMode: lN,
shouldFocusError: !0
};
function gj(e = {}, t) {
let n = {
...mj,
...e
};
const r = e.resetOptions && e.resetOptions.keepDirtyValues;
let i, a = {
submitCount: 0,
isDirty: !1,
isLoading: !0,
isValidating: !1,
isSubmitted: !1,
isSubmitting: !1,
isSubmitSuccessful: !1,
isValid: !1,
touchedFields: {},
dirtyFields: {},
errors: {}
},
o = {},
s = XL(n.defaultValues) && PN(n.defaultValues) || {},
l = n.shouldUnregister ? {} : PN(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: nj(),
array: nj(),
state: nj()
},
f = MN(n.mode),
m = MN(n.reValidateMode),
g = n.criteriaMode === dN,
v = async e => {
if (p.isValid || e) {
const e = n.resolver ? wN((await w()).errors) : await k(o, !0);
e !== a.isValid && (a.isValid = e, h.state.next({
isValid: e
}))
}
}, y = e => p.isValidating && h.state.next({
isValidating: e
}), _ = (e, t, n, r) => {
const i = rN(o, e);
if (i) {
const a = rN(l, e, nN(n) ? rN(s, e) : n);
nN(a) || r && r.defaultChecked || t ? NN(l, e, t ? a : pj(i._f)) : I(e, a), c.mount && v()
}
}, b = (e, t, n, r, i) => {
let o = !1,
l = !1;
const c = {
name: e
};
if (!n || r) {
p.isDirty && (l = a.isDirty, a.isDirty = c.isDirty = S(), o = l !== c.isDirty);
const n = ij(rN(s, e), t);
l = rN(a.dirtyFields, e), n ? tj(a.dirtyFields, e) : NN(a.dirtyFields, e, !0), c.dirtyFields = a.dirtyFields, o = o || p.dirtyFields && l !== !n
}
if (n) {
const t = rN(a.touchedFields, e);
t || (NN(a.touchedFields, e, n), c.touchedFields = a.touchedFields, o = o || p.touchedFields && t !== n)
}
return o && i && h.state.next(c), o ? c : {}
}, x = (t, n, r, o) => {
const s = rN(a.errors, t),
l = p.isValid && UN(n) && a.isValid !== n;
var c;
if (e.delayError && r ? (c = () => ((e, t) => {
NN(a.errors, e, t), h.state.next({
errors: a.errors
})
})(t, r), i = e => {
clearTimeout(d), d = window.setTimeout(c, e)
}, i(e.delayError)) : (clearTimeout(d), i = null, r ? NN(a.errors, t, r) : tj(a.errors, t)), (r ? !ij(s, r) : s) || !wN(o) || l) {
const e = {
...o,
...l && UN(n) ? {
isValid: n
} : {},
errors: a.errors,
name: t
};
a = {
...a,
...e
}, h.state.next(e)
}
y(!1)
}, w = async e => await n.resolver(l, n.context, ((e, t, n, r) => {
const i = {};
for (const a of e) {
const e = rN(t, a);
e && NN(i, a, e._f)
}
return {
criteriaMode: n,
names: [...e],
fields: i,
shouldUseNativeValidation: r
}
})(e || u.mount, o, n.criteriaMode, n.shouldUseNativeValidation)), k = async (e, t, r = {
valid: !0
}) => {
for (const i in e) {
const o = e[i];
if (o) {
const {
_f: e,
...i
} = o;
if (e) {
const i = u.array.has(e.name),
s = await ej(o, l, g, n.shouldUseNativeValidation, i);
if (s[e.name] && (r.valid = !1, t)) break;
!t && (rN(s, e.name) ? i ? zN(a.errors, s, e.name) : NN(a.errors, e.name, s[e.name]) : tj(a.errors, e.name))
}
i && await k(i, t, r)
}
}
return r.valid
}, S = (e, t) => (e && t && NN(l, e, t), !ij(T(), s)), E = (e, t, n) => CN(e, u, {
...c.mount ? l : nN(t) ? s : ON(e) ? {
[e]: t
} : t
}, n, t), I = (e, t, n = {}) => {
const r = rN(o, e);
let i = t;
if (r) {
const n = r._f;
n && (!n.disabled && NN(l, e, dj(t, n)), i = GN(n.ref) && QL(t) ? "" : t, aj(n.ref) ? [...n.ref.options].forEach((e => e.selected = i.includes(e.value))) : n.refs ? KL(n.ref) ? n.refs.length > 1 ? n.refs.forEach((e => (!e.defaultChecked || !e.disabled) && (e.checked = Array.isArray(i) ? !!i.find((t => t === e.value)) : i === e.value))) : n.refs[0] && (n.refs[0].checked = !!i) : n.refs.forEach((e => e.checked = e.value === i)) : VN(n.ref) ? n.ref.value = "" : (n.ref.value = i, n.ref.type || h.watch.next({
name: e
})))
}(n.shouldDirty || n.shouldTouch) && b(e, i, n.shouldTouch, n.shouldDirty, !0), n.shouldValidate && P(e)
}, O = (e, t, n) => {
for (const r in t) {
const i = t[r],
a = `${e}.${r}`,
s = rN(o, a);
!u.array.has(e) && rj(i) && (!s || s._f) || YL(i) ? I(a, i, n) : O(a, i, n)
}
}, C = (e, n, r = {}) => {
const i = rN(o, e),
d = u.array.has(e),
f = PN(n);
NN(l, e, f), d ? (h.array.next({
name: e,
values: l
}), (p.isDirty || p.dirtyFields) && r.shouldDirty && (a.dirtyFields = uj(s, l), h.state.next({
name: e,
dirtyFields: a.dirtyFields,
isDirty: S(e, f)
}))) : !i || i._f || QL(f) ? I(e, f, r) : O(e, f, r), FN(e, u) && h.state.next({}), h.watch.next({
name: e
}), !c.mount && t()
}, A = async e => {
const t = e.target;
let r = t.name;
const s = rN(o, r);
if (s) {
let d, _;
const S = t.type ? pj(s._f) : JL(e),
E = e.type === iN || e.type === aN,
I = !((c = s._f).mount && (c.required || c.min || c.max || c.maxLength || c.minLength || c.pattern || c.validate)) && !n.resolver && !rN(a.errors, r) && !s._f.deps || ((e, t, n, r, i) => !i.isOnAll && (!n && i.isOnTouch ? !(t || e) : (n ? r.isOnBlur : i.isOnBlur) ? !e : !(n ? r.isOnChange : i.isOnChange) || e))(E, rN(a.touchedFields, r), a.isSubmitted, m, f),
O = FN(r, u, E);
NN(l, r, S), E ? (s._f.onBlur && s._f.onBlur(e), i && i(0)) : s._f.onChange && s._f.onChange(e);
const C = b(r, S, E, !1),
A = !wN(C) || O;
if (!E && h.watch.next({
name: r,
type: e.type
}), I) return p.isValid && v(), A && h.state.next({
name: r,
...O ? {} : C
});
if (!E && O && h.state.next({}), y(!0), n.resolver) {
const {
errors: e
} = await w([r]), t = fj(a.errors, o, r), n = fj(e, o, t.name || r);
d = n.error, r = n.name, _ = wN(e)
} else d = (await ej(s, l, g, n.shouldUseNativeValidation))[r], d ? _ = !1 : p.isValid && (_ = await k(o, !0));
s._f.deps && P(s._f.deps), x(r, _, d, C)
}
var c
}, P = async (e, t = {}) => {
let r, i;
const s = SN(e);
if (y(!0), n.resolver) {
const t = await (async e => {
const {
errors: t
} = await w();
if (e)
for (const n of e) {
const e = rN(t, n);
e ? NN(a.errors, n, e) : tj(a.errors, n)
} else a.errors = t;
return t
})(nN(e) ? e : s);
r = wN(t), i = e ? !s.some((e => rN(t, e))) : r
} else e ? (i = (await Promise.all(s.map((async e => {
const t = rN(o, e);
return await k(t && t._f ? {
[e]: t
} : t)
})))).every(Boolean), (i || a.isValid) && v()) : i = r = await k(o);
return h.state.next({
...!ON(e) || p.isValid && r !== a.isValid ? {} : {
name: e
},
...n.resolver || !e ? {
isValid: r
} : {},
errors: a.errors,
isValidating: !1
}), t.shouldFocus && !i && jN(o, (e => e && rN(a.errors, e)), e ? s : u.mount), i
}, T = e => {
const t = {
...s,
...c.mount ? l : {}
};
return nN(e) ? t : ON(e) ? rN(t, e) : e.map((e => rN(t, e)))
}, R = (e, t) => ({
invalid: !!rN((t || a).errors, e),
isDirty: !!rN((t || a).dirtyFields, e),
isTouched: !!rN((t || a).touchedFields, e),
error: rN((t || a).errors, e)
}), D = (e, t = {}) => {
for (const r of e ? SN(e) : u.mount) u.mount.delete(r), u.array.delete(r), rN(o, r) && (t.keepValue || (tj(o, r), tj(l, r)), !t.keepError && tj(a.errors, r), !t.keepDirty && tj(a.dirtyFields, r), !t.keepTouched && tj(a.touchedFields, r), !n.shouldUnregister && !t.keepDefaultValue && tj(s, r));
h.watch.next({}), h.state.next({
...a,
...t.keepDirty ? {
isDirty: S()
} : {}
}), !t.keepIsValid && v()
}, L = (e, t = {}) => {
let r = rN(o, e);
const i = UN(t.disabled);
return NN(o, e, {
...r || {},
_f: {
...r && r._f ? r._f : {
ref: {
name: e
}
},
name: e,
mount: !0,
...t
}
}), u.mount.add(e), r ? i && NN(l, e, t.disabled ? void 0 : rN(l, e, pj(r._f))) : _(e, !0, t.value), {
...i ? {
disabled: t.disabled
} : {},
...n.shouldUseNativeValidation ? {
required: !!t.required,
min: hj(t.min),
max: hj(t.max),
minLength: hj(t.minLength),
maxLength: hj(t.maxLength),
pattern: hj(t.pattern)
} : {},
name: e,
onChange: A,
onBlur: A,
ref: i => {
if (i) {
L(e, t), r = rN(o, e);
const n = nN(i.value) && i.querySelectorAll && i.querySelectorAll("input,select,textarea")[0] || i,
a = (e => qN(e) || KL(e))(n),
l = r._f.refs || [];
if (a ? l.find((e => e === n)) : n === r._f.ref) return;
NN(o, e, {
_f: {
...r._f,
...a ? {
refs: [...l.filter(oj), n, ...Array.isArray(rN(s, e)) ? [{}] : []],
ref: {
type: n.type,
name: e
}
} : {
ref: n
}
}
}), _(e, !1, void 0, n)
} else r = rN(o, e, {}), r._f && (r._f.mount = !1), (n.shouldUnregister || t.shouldUnregister) && (!eN(u.array, e) || !c.action) && u.unMount.add(e)
}
}
}, N = () => n.shouldFocusError && jN(o, (e => e && rN(a.errors, e)), u.mount), j = (n, i = {}) => {
const d = n || s,
f = PN(d),
m = n && !wN(n) ? f : s;
if (i.keepDefaultValues || (s = d), !i.keepValues) {
if (i.keepDirtyValues || r)
for (const e of u.mount) rN(a.dirtyFields, e) ? NN(m, e, rN(l, e)) : C(e, rN(m, e));
else {
if (AN && nN(n))
for (const e of u.mount) {
const t = rN(o, e);
if (t && t._f) {
const e = Array.isArray(t._f.refs) ? t._f.refs[0] : t._f.ref;
if (GN(e)) {
const t = e.closest("form");
if (t) {
t.reset();
break
}
}
}
}
o = {}
}
l = e.shouldUnregister ? i.keepDefaultValues ? PN(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 || !!i.keepIsValid, c.watch = !!e.shouldUnregister, h.state.next({
submitCount: i.keepSubmitCount ? a.submitCount : 0,
isDirty: i.keepDirty || i.keepDirtyValues ? a.isDirty : !(!i.keepDefaultValues || ij(n, s)),
isSubmitted: !!i.keepIsSubmitted && a.isSubmitted,
dirtyFields: i.keepDirty || i.keepDirtyValues ? a.dirtyFields : i.keepDefaultValues && n ? uj(s, n) : {},
touchedFields: i.keepTouched ? a.touchedFields : {},
errors: i.keepErrors ? a.errors : {},
isSubmitting: !1,
isSubmitSuccessful: !1
})
}, M = (e, t) => j(BN(e) ? e(l) : e, t);
return BN(n.defaultValues) && n.defaultValues().then((e => {
M(e, n.resetOptions), h.state.next({
isLoading: !1
})
})), {
control: {
register: L,
unregister: D,
getFieldState: R,
_executeSchema: w,
_focusError: N,
_getWatch: E,
_getDirty: S,
_updateValid: v,
_removeUnmounted: () => {
for (const e of u.unMount) {
const t = rN(o, e);
t && (t._f.refs ? t._f.refs.every((e => !oj(e))) : !oj(t._f.ref)) && D(e)
}
u.unMount = new Set
},
_updateFieldArray: (e, t = [], n, r, i = !0, u = !0) => {
if (r && n) {
if (c.action = !0, u && Array.isArray(rN(o, e))) {
const t = n(rN(o, e), r.argA, r.argB);
i && NN(o, e, t)
}
if (u && Array.isArray(rN(a.errors, e))) {
const t = n(rN(a.errors, e), r.argA, r.argB);
i && NN(a.errors, e, t), ((e, t) => {
!tN(rN(e, t)).length && tj(e, t)
})(a.errors, e)
}
if (p.touchedFields && u && Array.isArray(rN(a.touchedFields, e))) {
const t = n(rN(a.touchedFields, e), r.argA, r.argB);
i && NN(a.touchedFields, e, t)
}
p.dirtyFields && (a.dirtyFields = uj(s, l)), h.state.next({
name: e,
isDirty: S(e, t),
dirtyFields: a.dirtyFields,
errors: a.errors,
isValid: a.isValid
})
} else NN(l, e, t)
},
_getFieldArray: t => tN(rN(c.mount ? l : s, t, e.shouldUnregister ? rN(s, t, []) : [])),
_reset: j,
_updateFormState: e => {
a = {
...a,
...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 a
},
set _formState(e) {
a = e
},
get _options() {
return n
},
set _options(e) {
n = {
...n,
...e
}
}
},
trigger: P,
register: L,
handleSubmit: (e, t) => async r => {
r && (r.preventDefault && r.preventDefault(), r.persist && r.persist());
let i = PN(l);
if (h.state.next({
isSubmitting: !0
}), n.resolver) {
const {
errors: e,
values: t
} = await w();
a.errors = e, i = t
} else await k(o);
wN(a.errors) ? (h.state.next({
errors: {}
}), await e(i, r)) : (t && await t({
...a.errors
}, r), N()), h.state.next({
isSubmitted: !0,
isSubmitting: !1,
isSubmitSuccessful: wN(a.errors),
submitCount: a.submitCount + 1,
errors: a.errors
})
},
watch: (e, t) => BN(e) ? h.watch.subscribe({
next: n => e(E(void 0, t), n)
}) : E(e, t, !0),
setValue: C,
getValues: T,
reset: M,
resetField: (e, t = {}) => {
rN(o, e) && (nN(t.defaultValue) ? C(e, rN(s, e)) : (C(e, t.defaultValue), NN(s, e, t.defaultValue)), t.keepTouched || tj(a.touchedFields, e), t.keepDirty || (tj(a.dirtyFields, e), a.isDirty = t.defaultValue ? S(e, rN(s, e)) : S()), t.keepError || (tj(a.errors, e), p.isValid && v()), h.state.next({
...a
}))
},
clearErrors: e => {
e ? SN(e).forEach((e => tj(a.errors, e))) : a.errors = {}, h.state.next({
errors: a.errors
})
},
unregister: D,
setError: (e, t, n) => {
const r = (rN(o, e, {
_f: {}
})._f || {}).ref;
NN(a.errors, e, {
...t,
ref: r
}), h.state.next({
name: e,
errors: a.errors,
isValid: !1
}), n && n.shouldFocus && r && r.focus && r.focus()
},
setFocus: (e, t = {}) => {
const n = rN(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: R
}
}
function vj(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: BN(e.defaultValues) ? void 0 : e.defaultValues
});
t.current || (t.current = {
...gj(e, (() => r((e => ({
...e
}))))),
formState: n
});
const i = t.current.control;
return i._options = e, IN({
subject: i._subjects.state,
next: e => {
kN(e, i._proxyFormState, i._updateFormState, !0) && r({
...i._formState
})
}
}), Ee.useEffect((() => {
i._stateFlags.mount || (i._updateValid(), i._stateFlags.mount = !0), i._stateFlags.watch && (i._stateFlags.watch = !1, i._subjects.state.next({})), i._removeUnmounted()
})), Ee.useEffect((() => {
e.values && !ij(e.values, i._defaultValues) && i._reset(e.values, i._options.resetOptions)
}), [e.values, i]), Ee.useEffect((() => {
n.submitCount && i._focusError()
}), [i, n.submitCount]), t.current.formState = xN(n, i), t.current
}
var yj = n(5391);
var _j = function() {
let e = [],
t = 0,
n = e => {
e()
},
r = e => {
e()
};
const i = r => {
t ? e.push(r) : (0, yj.A4)((() => {
n(r)
}))
},
a = () => {
const t = e;
e = [], t.length && (0, yj.A4)((() => {
r((() => {
t.forEach((e => {
n(e)
}))
}))
}))
};
return {
batch: e => {
let n;
t++;
try {
n = e()
} finally {
t--, t || a()
}
return n
},
batchCalls: e => (...t) => {
i((() => {
e(...t)
}))
},
schedule: i,
setNotifyFunction: e => {
n = e
},
setBatchNotifyFunction: e => {
r = e
}
}
}(),
bj = class {
#r;
destroy() {
this.clearGcTimeout()
}
scheduleGc() {
this.clearGcTimeout(), (0, yj.PN)(this.gcTime) && (this.#r = setTimeout((() => {
this.optionalRemove()
}), this.gcTime))
}
updateGcTime(e) {
this.gcTime = Math.max(this.gcTime || 0, e ?? (yj.sk ? 1 / 0 : 3e5))
}
clearGcTimeout() {
this.#r && (clearTimeout(this.#r), this.#r = void 0)
}
},
xj = n(8974),
wj = new class extends xj.l {
#i;
#t;
#n;
constructor() {
super(), this.#n = e => {
if (!yj.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.#i !== e && (this.#i = e, this.onFocus())
}
onFocus() {
this.listeners.forEach((e => {
e()
}))
}
isFocused() {
return "boolean" === typeof this.#i ? this.#i : "hidden" !== globalThis.document?.visibilityState
}
},
kj = n(1901);
function Sj(e) {
return Math.min(1e3 * 2 ** e, 3e4)
}
function Ej(e) {
return "online" !== (e ?? "online") || kj.N.isOnline()
}
var Ij = class {
constructor(e) {
this.revert = e?.revert, this.silent = e?.silent
}
};
function Oj(e) {
return e instanceof Ij
}
function Cj(e) {
let t, n, r, i = !1,
a = 0,
o = !1;
const s = new Promise(((e, t) => {
n = e, r = t
})),
l = () => !wj.isFocused() || "always" !== e.networkMode && !kj.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 ?? (yj.sk ? 0 : 3),
r = e.retryDelay ?? Sj,
s = "function" === typeof r ? r(a, t) : r,
c = !0 === n || "number" === typeof n && a < n || "function" === typeof n && n(a, t);
!i && c ? (a++, e.onFail?.(a, t), (0, yj._v)(s).then((() => {
if (l()) return d()
})).then((() => {
i ? u(t) : p()
}))) : u(t)
}))
};
return Ej(e.networkMode) ? p() : d().then(p), {
promise: s,
cancel: t => {
o || (u(new Ij(t)), e.abort?.())
},
continue: () => {
const e = t?.();
return e ? s : Promise.resolve()
},
cancelRetry: () => {
i = !0
},
continueRetry: () => {
i = !1
}
}
}
var Aj = class extends bj {
constructor(e) {
super(), this.mutationId = e.mutationId, this.#a = 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;
#a;
#o;
#l;
setOptions(e) {
this.options = {
...this.#a,
...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 = Cj({
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: !Ej(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), _j.batch((() => {
this.#s.forEach((t => {
t.onMutationUpdate(e)
})), this.#o.notify({
mutation: this,
type: "updated",
action: e
})
}))
}
};
var Pj = class extends xj.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, yj.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) {
_j.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)
}))
}))
}
},
Tj = n(3713);
function Rj(e, t) {
return "function" === typeof e ? e(...t) : !!e
}
function Dj(e, t) {
const n = (0, Tj.NL)(t),
[r] = Ee.useState((() => new Pj(n, e)));
Ee.useEffect((() => {
r.setOptions(e)
}), [r, e]);
const i = Ee.useSyncExternalStore(Ee.useCallback((e => r.subscribe(_j.batchCalls(e))), [r]), (() => r.getCurrentResult()), (() => r.getCurrentResult())),
a = Ee.useCallback(((e, t) => {
r.mutate(e, t).catch(Lj)
}), [r]);
if (i.error && Rj(r.options.throwOnError, [i.error])) throw i.error;
return {
...i,
mutate: a,
mutateAsync: i.mutate
}
}
function Lj() {}
const Nj = (e = null, t = null, n = {}) => ({
identity: e,
device: t,
sessions: n
}),
jj = (e, t) => ({
user: {
...Nj(),
actions: {
initialize: async () => {
const {
environment: t
} = await window.launcherAPI.game.getGlobalConfig(), n = await window.launcherAPI.user.getIdentity(), r = await window.launcherAPI.user.getDevice(), i = await window.launcherAPI.user.getSession(), a = Nj(n, r, i ? {
[t]: i
} : {});
var o, s, l;
n && TR().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,
...a
}
})))
},
setSession: (n, r, i) => {
const {
application: a
} = t(), o = null !== r && void 0 !== r ? r : a.platformMaster;
i && o === a.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,
...Nj(),
device: t ? null : e.user.device
}
})))
},
clearSession: t => {
e((e => ({
user: {
...e.user,
sessions: {
...e.user.sessions,
[t]: {}
}
}
})))
}
}
}
}),
Mj = () => ({
queryKey: ["library"],
queryFn: async () => oR.games.getLibrary(),
staleTime: GT.minute
}),
Fj = (e, t) => ({
queryKey: ["games", e, t],
queryFn: async () => oR.games.getRelease({
gameId: e,
channelId: t
})
}),
zj = (e, t) => ({
queryKey: [`platformContent-${e}-${t}`],
queryFn: async () => oR.content.getContent(e, t),
enabled: !Vz.getState().application.isWindowMinimized || !Vz.getState().application.actions.isOffline(),
select: e => ({
commLinks: e.commLinks.map(OR),
patchNotes: e.patchNotes.map(OR),
launcherCards: e.launcherCards.map(OR)
}),
refetchInterval: $T(xP.configuration.requestPollingInterval.gamePageContent.base, xP.configuration.requestPollingInterval.gamePageContent.window),
refetchOnWindowFocus: !1,
staleTime: 0,
gcTime: 0
});
var Uj = class extends bj {
constructor(e) {
super(), this.#g = !1, this.#a = e.defaultOptions, this.#v(e.options), this.#s = [], this.#y = e.cache, this.queryKey = e.queryKey, this.queryHash = e.queryHash, this.#_ = 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.#_, this.scheduleGc()
}
#_;
#b;
#y;
#x;
#l;
#s;
#a;
#g;
get meta() {
return this.options.meta
}
#v(e) {
this.options = {
...this.#a,
...e
}, this.updateGcTime(this.options.gcTime)
}
optionalRemove() {
this.#s.length || "idle" !== this.state.fetchStatus || this.#y.remove(this)
}
setData(e, t) {
const n = (0, yj.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(yj.ZT).catch(yj.ZT) : Promise.resolve()
}
destroy() {
super.destroy(), this.cancel({
silent: !0
})
}
reset() {
this.destroy(), this.setState(this.#_)
}
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, yj.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.#y.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.#y.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
},
i = e => {
Object.defineProperty(e, "signal", {
enumerable: !0,
get: () => (this.#g = !0, n.signal)
})
};
i(r);
const a = {
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}'`))
};
i(a), this.options.behavior?.onFetch(a, this), this.#b = this.state, "idle" !== this.state.fetchStatus && this.state.fetchMeta === a.fetchOptions?.meta || this.#c({
type: "fetch",
meta: a.fetchOptions?.meta
});
const o = e => {
Oj(e) && e.silent || this.#c({
type: "error",
error: e
}), Oj(e) || (this.#y.config.onError?.(e, this), this.#y.config.onSettled?.(this.state.data, e, this)), this.isFetchingOptimistic || this.scheduleGc(), this.isFetchingOptimistic = !1
};
return this.#l = Cj({
fn: a.fetchFn,
abort: n.abort.bind(n),
onSuccess: e => {
"undefined" !== typeof e ? (this.setData(e), this.#y.config.onSuccess?.(e, this), this.#y.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: a.options.retry,
retryDelay: a.options.retryDelay,
networkMode: a.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: Ej(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 Oj(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), _j.batch((() => {
this.#s.forEach((e => {
e.onQueryUpdate()
})), this.#y.notify({
query: this,
type: "updated",
action: e
})
}))
}
};
var Vj = class extends xj.l {
constructor(e = {}) {
super(), this.config = e, this.#w = new Map
}
#w;
build(e, t, n) {
const r = t.queryKey,
i = t.queryHash ?? (0, yj.Rm)(r, t);
let a = this.get(i);
return a || (a = new Uj({
cache: this,
queryKey: r,
queryHash: i,
options: e.defaultQueryOptions(t),
state: n,
defaultOptions: e.getQueryDefaults(r)
}), this.add(a)), a
}
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() {
_j.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, yj._x)(t, e)))
}
findAll(e = {}) {
const t = this.getAll();
return Object.keys(e).length > 0 ? t.filter((t => (0, yj._x)(e, t))) : t
}
notify(e) {
_j.batch((() => {
this.listeners.forEach((t => {
t(e)
}))
}))
}
onFocus() {
_j.batch((() => {
this.getAll().forEach((e => {
e.onFocus()
}))
}))
}
onOnline() {
_j.batch((() => {
this.getAll().forEach((e => {
e.onOnline()
}))
}))
}
},
Bj = class extends xj.l {
constructor(e = {}) {
super(), this.config = e, this.#k = [], this.#S = 0
}
#k;
#S;
#E;
build(e, t, n) {
const r = new Aj({
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() {
_j.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, yj.X7)(t, e)))
}
findAll(e = {}) {
return this.#k.filter((t => (0, yj.X7)(e, t)))
}
notify(e) {
_j.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 _j.batch((() => e.reduce(((e, t) => e.then((() => t.continue().catch(yj.ZT)))), Promise.resolve())))
})).then((() => {
this.#E = void 0
})), this.#E
}
};
function Gj(e) {
return {
onFetch: (t, n) => {
const r = async () => {
const n = t.options,
r = t.fetchOptions?.meta?.fetchMore?.direction,
i = t.state.data?.pages || [],
a = 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 i = {
queryKey: t.queryKey,
pageParam: n,
direction: r ? "backward" : "forward",
meta: t.options.meta
};
var a;
a = i, Object.defineProperty(a, "signal", {
enumerable: !0,
get: () => (t.signal.aborted ? s = !0 : t.signal.addEventListener("abort", (() => {
s = !0
})), t.signal)
});
const o = await l(i),
{
maxPages: c
} = t.options,
u = r ? yj.Ht : yj.VX;
return {
pages: u(e.pages, o, c),
pageParams: u(e.pageParams, n, c)
}
};
let u;
if (r && i.length) {
const e = "backward" === r,
t = {
pages: i,
pageParams: a
},
o = (e ? qj : $j)(n, t);
u = await c(t, o, e)
} else {
u = await c(o, a[0] ?? n.initialPageParam);
const t = e ?? i.length;
for (let e = 1; e < t; e++) {
const e = $j(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 $j(e, {
pages: t,
pageParams: n
}) {
const r = t.length - 1;
return e.getNextPageParam(t[r], t, n[r], n)
}
function qj(e, {
pages: t,
pageParams: n
}) {
return e.getPreviousPageParam?.(t[0], t, n[0], n)
}
const Wj = async e => {
var t;
if (!(e instanceof sT || e instanceof QT)) return;
if (!Hj(e)) return;
const {
application: {
platformMaster: n
},
user: {
identity: r
}
} = Vz.getState(), i = e instanceof QT ? kP : e.code, a = e instanceof QT ? n : null !== (t = e.environment) && void 0 !== t ? t : n;
window.launcherAPI.analytics.setAnalyticsEvent(xP.AnalyticsEventName.APP_API_ERROR, {
ErrorCode: i,
ErrorMessage: e.message,
...r,
Environment: a
})
}, Hj = e => {
if (e instanceof kT || e instanceof ST || e instanceof uT || e instanceof _T || e instanceof QT) return !0;
const {
application: {
connection: t
}
} = Vz.getState();
return e instanceof CT && t.mode === xP.ConnectionMode.ONLINE
}, Kj = async e => {
switch (!0) {
case e instanceof kT:
await uM.logOutCurrentUser(), await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_denied_request_title", {
ns: "errors"
}),
content: e.message
});
break;
case e instanceof ST:
await uM.logOutCurrentUser(), await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_too_many_requests_title", {
ns: "errors"
}),
content: e.message
});
break;
case e instanceof CT:
const {
application: {
connection: t,
actions: n
}
} = Vz.getState();
if (t.mode === xP.ConnectionMode.NO_CONNECTION) return;
n.checkConnection();
break;
case e instanceof uT:
await uM.logOutCurrentUser(), await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_api_auth_expired_title", {
ns: "errors"
}),
content: e.message
});
break;
case e instanceof vT:
case e instanceof bT:
case e instanceof lT:
case e instanceof _T:
case e instanceof QT:
case e instanceof cT:
case e instanceof fT:
case e instanceof mT:
break;
case e instanceof pT:
await uM.logOutCurrentUser(), await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_generic_title", {
ns: "errors"
}),
content: e.message
});
break;
case e instanceof hT:
case e instanceof gT:
break;
default:
await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_generic_title", {
ns: "errors"
}),
content: e.message
})
}
}, Yj = new class {
#I;
#o;
#a;
#O;
#C;
#A;
#P;
#T;
constructor(e = {}) {
this.#I = e.queryCache || new Vj, this.#o = e.mutationCache || new Bj, this.#a = e.defaultOptions || {}, this.#O = new Map, this.#C = new Map, this.#A = 0
}
mount() {
this.#A++, 1 === this.#A && (this.#P = wj.subscribe((() => {
wj.isFocused() && (this.resumePausedMutations(), this.#I.onFocus())
})), this.#T = kj.N.subscribe((() => {
kj.N.isOnline() && (this.resumePausedMutations(), this.#I.onOnline())
})))
}
unmount() {
this.#A--, 0 === this.#A && (this.#P?.(), this.#P = 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,
i = (0, yj.SE)(t, r);
if ("undefined" === typeof i) return;
const a = this.defaultQueryOptions({
queryKey: e
});
return this.#I.build(this, a).setData(i, {
...n,
manual: !0
})
}
setQueriesData(e, t, n) {
return _j.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;
_j.batch((() => {
t.findAll(e).forEach((e => {
t.remove(e)
}))
}))
}
resetQueries(e, t) {
const n = this.#I,
r = {
type: "active",
...e
};
return _j.batch((() => (n.findAll(e).forEach((e => {
e.reset()
})), this.refetchQueries(r, t))))
}
cancelQueries(e = {}, t = {}) {
const n = {
revert: !0,
...t
},
r = _j.batch((() => this.#I.findAll(e).map((e => e.cancel(n)))));
return Promise.all(r).then(yj.ZT).catch(yj.ZT)
}
invalidateQueries(e = {}, t = {}) {
return _j.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 = _j.batch((() => this.#I.findAll(e).filter((e => !e.isDisabled())).map((e => {
let t = e.fetch(void 0, n);
return n.throwOnError || (t = t.catch(yj.ZT)), "paused" === e.state.fetchStatus ? Promise.resolve() : t
}))));
return Promise.all(r).then(yj.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(yj.ZT).catch(yj.ZT)
}
fetchInfiniteQuery(e) {
return e.behavior = Gj(e.pages), this.fetchQuery(e)
}
prefetchInfiniteQuery(e) {
return this.fetchInfiniteQuery(e).then(yj.ZT).catch(yj.ZT)
}
resumePausedMutations() {
return this.#o.resumePausedMutations()
}
getQueryCache() {
return this.#I
}
getMutationCache() {
return this.#o
}
getDefaultOptions() {
return this.#a
}
setDefaultOptions(e) {
this.#a = e
}
setQueryDefaults(e, t) {
this.#O.set((0, yj.Ym)(e), {
queryKey: e,
defaultOptions: t
})
}
getQueryDefaults(e) {
const t = [...this.#O.values()];
let n = {};
return t.forEach((t => {
(0, yj.to)(e, t.queryKey) && (n = {
...n,
...t.defaultOptions
})
})), n
}
setMutationDefaults(e, t) {
this.#C.set((0, yj.Ym)(e), {
mutationKey: e,
defaultOptions: t
})
}
getMutationDefaults(e) {
const t = [...this.#C.values()];
let n = {};
return t.forEach((t => {
(0, yj.to)(e, t.mutationKey) && (n = {
...n,
...t.defaultOptions
})
})), n
}
defaultQueryOptions(e) {
if (e?._defaulted) return e;
const t = {
...this.#a.queries,
...e?.queryKey && this.getQueryDefaults(e.queryKey),
...e,
_defaulted: !0
};
return t.queryHash || (t.queryHash = (0, yj.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.#a.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 Bj({
onError: async e => {
await Wj(e), await Kj(e), window.launcherAPI.log.error(`[Mutation] Error: ${e.message}`)
}
}),
queryCache: new Vj({
onError: async e => {
await Wj(e), await Kj(e), window.launcherAPI.log.error(`[Query] Error: ${e.message}`)
}
})
});
class Qj extends Error {}
const Zj = async (e, t, n = !0) => {
const r = Vz.getState().user;
if (!r.identity) throw new Error("Identification of the user cannot be retrieved");
try {
const n = await uM.getSession(e),
i = await Yj.fetchQuery(((e, t, n) => ({
queryKey: [`gameToken-${e}-${t}-${n.value}`],
queryFn: async () => oR.games.getGameToken(e, t, n),
staleTime: GT.day
}))(e, t, n));
return {
username: r.identity.username,
heapAccountId: r.identity.heapAccountId,
sessionToken: n,
gameToken: i
}
} catch (i) {
if (i instanceof uT && n) return uM.clearSession(e), Zj(e, t, !1);
throw i
}
}, Xj = (e, t, n) => {
const r = e.find((({
id: e
}) => e === t.gameId)),
i = null === r || void 0 === r ? void 0 : r.channels.find((({
id: e
}) => e === t.channelId));
if (!r || !i) return e;
const a = r.channels.filter((e => e.id !== t.channelId)),
o = {
...r,
channels: [...a, {
...i,
status: n
}]
};
return [...e.filter((e => e.id !== t.gameId)), o]
}, Jj = e => ({
...e,
logo: void 0,
logoWide: void 0,
logoAnimation: void 0,
bgImage: void 0,
bgVideo: void 0
}), eM = async e => {
try {
var t, n, r, i, a, o, s, l, c, u, d;
const {
storage: p,
settings: h,
library: f
} = Vz.getState(), {
gameId: m,
channelId: g,
gameName: v,
channelName: y,
platformId: _
} = e, b = f.actions.getInstalledChannel(e), x = await Yj.fetchQuery(Fj(m, g)), w = await h.actions.getChannelGameSettings({
platformId: _,
gameId: m,
gameName: v,
channelId: g,
channelName: y
});
return {
...x,
gameId: m,
gameName: v,
channelId: g,
channelName: y,
platformId: _,
libraryFolder: null !== (t = null !== (n = null === b || void 0 === b ? void 0 : b.libraryFolder) && void 0 !== n ? n : null === w || void 0 === w ? void 0 : w.libraryFolder) && void 0 !== t ? t : p.defaultLibraryFolder,
servicesEndpoint: null !== (r = null === w || void 0 === w ? void 0 : w.servicesEndpoint) && void 0 !== r ? r : x.servicesEndpoint,
installDir: null !== (i = null === w || void 0 === w ? void 0 : w.installDir) && void 0 !== i ? i : x.installDir,
eacSandbox: null !== (a = null === w || void 0 === w ? void 0 : w.eacSandbox) && void 0 !== a && a,
network: null !== (o = null === w || void 0 === w ? void 0 : w.network) && void 0 !== o ? o : x.network,
port: null !== (s = null !== (l = null === w || void 0 === w ? void 0 : w.port) && void 0 !== l ? l : x.universePort) && void 0 !== s ? s : 8e3,
hostname: null !== (c = null === w || void 0 === w ? void 0 : w.hostname) && void 0 !== c ? c : x.universeHost,
executable: null !== (u = null === w || void 0 === w ? void 0 : w.executable) && void 0 !== u ? u : x.executable,
launchOptions: null !== (d = null === w || void 0 === w ? void 0 : w.launchOptions) && void 0 !== d ? d : x.launchOptions
}
} catch (p) {
throw new Qj("We could not get any information about the game")
}
}, tM = (e, t) => t > e, nM = {
LIVE: 20,
PTU: 19,
SHADOW: 18,
QA: 17,
DEV: 16,
EPTU: 15,
KOSMODROM: 14,
CANAVERAL: 13,
THE_OCHO: 12,
STARBASE: 11,
SQ42: 10
}, rM = (e, t) => (nM[t] || 0) - (nM[e] || 0), iM = (e, t) => e.weight - t.weight, aM = (e, t) => e.weight - t.weight, oM = "LIVE", sM = {
platformId: "prod",
gameId: "SC",
gameName: "Star Citizen",
channelId: oM,
channelName: "Live Release"
}, lM = (e = [], t = []) => ({
availableGames: t,
installedGames: e,
gameSelected: sM.gameId,
channelSelected: sM
}), cM = (e, t) => ({
library: {
...lM(),
actions: {
initializeLibrary: async () => {
const t = await window.launcherAPI.store.getValueFromStore("library.installed"),
n = await window.launcherAPI.store.getValueFromStore("library.available");
e((e => ({
library: {
...e.library,
...lM(t, n)
}
})))
},
setAvailableGames: t => {
var n;
const r = null !== (n = xP.configuration.assets.games) && void 0 !== n ? n : [],
i = xP.configuration.assets.directory,
a = t.map((e => {
const t = r.find((t => t.id === e.id));
return {
...e,
logo: i + (null === t || void 0 === t ? void 0 : t.logo),
logoWide: i + (null === t || void 0 === t ? void 0 : t.logoWide),
logoAnimation: i + (null === t || void 0 === t ? void 0 : t.logoAnimation),
bgImage: i + (null === t || void 0 === t ? void 0 : t.bgImage),
bgVideo: i + (null === t || void 0 === t ? void 0 : t.bgVideo)
}
}));
e((e => ({
library: {
...e.library,
availableGames: a
}
}))), window.launcherAPI.store.setValueToStore("library.available", a)
},
setGameSelected: t => e((e => ({
library: {
...e.library,
gameSelected: t
}
}))),
setGameChannelSelected: async t => {
e((e => ({
library: {
...e.library,
channelSelected: t
}
})));
const n = (await window.launcherAPI.store.getValueFromStore("library.defaults")).filter((e => e.gameId !== t.gameId));
window.launcherAPI.store.setValueToStore("library.defaults", [...n, t])
},
getAvailableChannelsSorted: e => {
var n;
const {
availableGames: r
} = t().library, i = r.find((t => t.id === e));
return (null !== (n = null === i || void 0 === i ? void 0 : i.channels) && void 0 !== n ? n : []).sort(aM)
},
getInstalledChannelsSorted: e => {
var n;
const {
installedGames: r
} = t().library, i = r.find((t => t.id === e));
return (null !== (n = null === i || void 0 === i ? void 0 : i.channels) && void 0 !== n ? n : []).sort(aM)
},
getAvailableGamesChannelsWeightSorted: () => {
const {
availableGames: e
} = t().library;
return e.sort(iM).map((e => {
const t = e.channels.sort(aM);
return {
...e,
channels: t
}
}))
},
getAvailableChannel: e => {
const {
actions: n
} = t().library;
return n.getAvailableChannelsSorted(e.gameId).find((t => t.id === e.channelId))
},
getInstalledChannel: e => {
const {
actions: n
} = t().library;
return n.getInstalledChannelsSorted(e.gameId).find((t => t.id === e.channelId))
},
getChannels: e => t().library.actions.getAvailableChannelsSorted(e).map((e => ({
label: e.id,
description: e.versionLabel,
value: e.id
}))),
addInstalledGameChannel: async n => {
var r, i, a, o;
const {
library: s
} = t(), {
libraryFolder: l
} = await eM(n), c = null !== (r = s.availableGames.find((({
id: e
}) => e === n.gameId))) && void 0 !== r ? r : null, u = null === c || void 0 === c ? void 0 : c.channels.find((({
id: e,
platformId: t
}) => e === n.channelId && t === n.platformId));
if (!u || !c) return;
const d = null !== (i = s.installedGames.find((({
id: e
}) => e === n.gameId))) && void 0 !== i ? i : null,
p = null !== (a = null === d || void 0 === d ? void 0 : d.channels.find((({
id: e
}) => e === n.channelId))) && void 0 !== a ? a : null;
if (p) return;
const h = {
...null !== d && void 0 !== d ? d : c,
channels: [...null !== (o = null === d || void 0 === d ? void 0 : d.channels) && void 0 !== o ? o : [], {
...u,
libraryFolder: l,
status: xP.GameChannelStatus.AVAILABLE
}]
};
e((e => ({
library: {
...e.library,
installedGames: [...e.library.installedGames.filter((e => e.id !== h.id)), h]
}
})))
},
saveInstalledGameChannel: async n => {
const {
library: r
} = t(), i = Xj(r.installedGames, n, xP.GameChannelStatus.INSTALLED);
e((e => ({
library: {
...e.library,
installedGames: i
}
}))), window.launcherAPI.store.setValueToStore("library.installed", i.map(Jj))
},
removeInstalledGameChannel: n => {
var r, i;
const {
library: a
} = t(), o = null !== (r = a.installedGames.find((({
id: e
}) => e === n.gameId))) && void 0 !== r ? r : null, s = null !== (i = null === o || void 0 === o ? void 0 : o.channels.find((({
id: e
}) => e === n.channelId))) && void 0 !== i ? i : null;
if (!o || !s) return;
const l = {
...o,
channels: o.channels.filter((e => e.id !== n.channelId))
},
c = [...a.installedGames.filter((e => e.id !== l.id)), l];
e((e => ({
library: {
...e.library,
installedGames: c
}
}))), window.launcherAPI.store.setValueToStore("library.installed", c)
},
launchGame: async n => {
const {
library: r,
soundSystem: i,
dialog: a
} = t(), o = r.actions.getInstalledChannel(n);
if (!RR(r.channelSelected.gameId, r.availableGames) || !o) return;
if (await window.launcherAPI.game.isGameProcessRunning()) await t().dialog.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 t = await eM(n);
if (tM(o.version, t.version)) {
const t = Xj(r.installedGames, n, xP.GameChannelStatus.UPDATE_AVAILABLE);
return e((e => ({
library: {
...e.library,
installedGames: t
}
}))), window.launcherAPI.store.setValueToStore("library.installed", t), void await a.actions.showGameChannelUpdateAvailableDialog(n)
}
if (!await mM.validateRequirements()) return;
const s = await Zj(n.platformId, n.gameId),
l = TR(),
c = {
...t,
libraryFolder: t.libraryFolder,
nickname: s.username,
token: s.sessionToken.value,
authToken: s.gameToken.token
};
i.actions.changeVolume(0, 2e3), l.window.setMinimizeWindow(), l.game.launchGame(c)
} catch (s) {
if (window.launcherAPI.log.error(`[Library Slice] Not able to launch the game : ${s}`), s instanceof wT) return void await a.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_account_not_found_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_account_not_found_content",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.copyPTUAccountSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: s.code,
ns: "errors"
})
})]
})
});
if (s instanceof Qj) return void await a.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_check_update_unavailable_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_launch_check_update_unavailable_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: "6004",
ns: "errors"
})
})]
})
});
await Vz.getState().dialog.actions.showAcknowledgeDialogErrorOccured({
title: xt.t("error_launch_unknown_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_unknown_content",
t: xt.t,
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: xP.LauncherSpecificLaunchErrorCodes.ERR_LAUNCH_UNKNOWN,
ns: "errors"
})
})]
})
})
}
},
setLaunchGameSuccessfull(t) {
e((e => ({
agreements: {
...e.agreements,
warningHasBeenAccepted: !1
},
application: {
...e.application,
isGameRunning: t.isGameRunning
},
library: {
...e.library,
installedGames: Xj(e.library.installedGames, t, xP.GameChannelStatus.RUNNING)
}
})))
},
async setLaunchGameFailed(n) {
const {
soundSystem: r
} = t(), {
payload: i
} = n, a = {
gameId: i.gameId,
channelId: i.channelId,
platformId: i.platformId,
gameName: i.gameName,
channelName: i.channelName
};
e((e => ({
application: {
...e.application,
isGameRunning: !1
},
library: {
...e.library,
installedGames: Xj(e.library.installedGames, a, xP.GameChannelStatus.INSTALLED)
}
}))), r.actions.unmute(), window.launcherAPI.window.setRestoreWindow();
const o = (0, xP.serializerLaunchErrors)(n);
await cR(vM(o))
},
async setLaunchGameStopped(n) {
const {
soundSystem: r
} = t();
e((e => ({
application: {
...e.application,
isGameRunning: !1
},
library: {
...e.library,
installedGames: Xj(e.library.installedGames, n, xP.GameChannelStatus.INSTALLED)
}
}))), r.actions.unmute(), window.launcherAPI.window.setRestoreWindow()
},
checkForGameChannelsUpdates: async () => {
try {
const {
library: n
} = t(), r = await Yj.fetchQuery(Mj());
n.actions.setAvailableGames(r);
const i = e => e.channels.map((t => {
const n = null === r || void 0 === r ? void 0 : r.find((({
id: t
}) => t === e.id)),
i = null === n || void 0 === n ? void 0 : n.channels.find((({
id: e
}) => e === t.id));
return i && tM(t.version, i.version) ? {
...t,
versionLabel: i.versionLabel,
version: i.version,
status: xP.GameChannelStatus.UPDATE_AVAILABLE
} : t
})),
a = n.installedGames.map((e => ({
...e,
channels: i(e)
})));
e((e => ({
library: {
...e.library,
installedGames: a
}
})));
const o = n.installedGames.map((e => ({
...e,
channels: i(e).map((e => ({
...e,
status: e.status === xP.GameChannelStatus.RUNNING ? xP.GameChannelStatus.INSTALLED : e.status
})))
})));
window.launcherAPI.store.setValueToStore("library.installed", o)
} catch ($U) {
throw new Qj
}
},
checkForGameChannelUpdates: async n => {
try {
const {
library: r,
toasts: i
} = t(), a = await Yj.fetchQuery(Mj());
r.actions.setAvailableGames(a);
let o = !1;
const s = e => e.channels.map((t => {
const r = null === a || void 0 === a ? void 0 : a.find((({
id: t
}) => t === e.id)),
i = null === r || void 0 === r ? void 0 : r.channels.find((({
id: e
}) => e === t.id)),
s = void 0 !== i && tM(t.version, i.version);
return n.gameId === e.id && n.channelId === t.id && (o = s), s ? {
...t,
versionLabel: i.versionLabel,
version: i.version,
status: xP.GameChannelStatus.UPDATE_AVAILABLE
} : t
})),
l = r.installedGames.map((e => ({
...e,
channels: s(e)
})));
e((e => ({
library: {
...e.library,
installedGames: l
}
})));
const c = r.installedGames.map((e => ({
...e,
channels: s(e).map((e => ({
...e,
status: e.status === xP.GameChannelStatus.RUNNING ? xP.GameChannelStatus.INSTALLED : e.status
})))
})));
return window.launcherAPI.store.setValueToStore("library.installed", c), i.actions.add({
title: xt.t(o ? "game_page_settings_check_update_toast_yes" : "game_page_settings_check_update_toast_no", {
ns: "gamePage",
game: n.gameName,
channel: n.channelName
}),
type: o ? "positive" : "informative"
}), o
} catch ($U) {
throw new Qj
}
},
prepInstalledChannelForRemoval: async e => {
const {
library: n
} = t(), r = e.id, i = e.name;
await Promise.all(e.channels.map((async e => {
const t = {
gameId: r,
gameName: i,
platformId: e.platformId,
channelId: e.id,
channelName: e.name
};
await n.actions.removeInstalledGameChannel(t)
})))
}
}
}
});
const uM = new class {
async getSession(e) {
const {
application: t,
user: n
} = Vz.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 i = await Yj.fetchQuery((a = e, {
queryKey: [`signinSession-${a}`],
queryFn: async () => oR.authentication.getSignInSession(a)
}));
var a;
if (!i) throw new sT({
message: `Not able to log-in to ${e} platform.`,
code: wP,
payload: null,
environment: e
});
return n.actions.setSession(i, e), i
}
setSession({
session: e,
platform: t,
remember: n = !1
}) {
const {
user: r
} = Vz.getState();
r.actions.setSession(e, t, n)
}
clearSession(e) {
const {
user: t
} = Vz.getState();
t.actions.clearSession(e)
}
setIdentity({
identity: e,
remember: t = !1
}) {
const {
user: n
} = Vz.getState();
n.actions.setIdentity(e, t)
}
setDevice({
device: e,
remember: t = !1
}) {
const {
user: n
} = Vz.getState();
n.actions.setDevice(e, t)
}
isLoggedIn(e, t) {
var n, r;
const {
application: i,
user: a
} = Vz.getState(), o = null !== (n = a.sessions[i.platformMaster]) && void 0 !== n ? n : e, s = null !== (r = a.identity) && void 0 !== r ? r : t;
return !!o && !!s
}
resetUser({
clearDevice: e
}) {
const {
user: t
} = Vz.getState();
t.actions.resetUser(e)
}
async logOutCurrentUser(e = {
clearDevice: !1
}) {
var t;
const {
application: n,
authentication: r,
user: i
} = Vz.getState(), a = (null === (t = i.device) || void 0 === t ? void 0 : t.duration) === jT.SESSION || (null === e || void 0 === e ? void 0 : e.clearDevice);
try {
(i.sessions[n.platformMaster] && Object.keys(i.sessions[n.platformMaster] || {}).length > 0 ? i.sessions[n.platformMaster] : null) && (oR.games.clearClaims(), await oR.authentication.signOut({
clearDevice: a
}))
} catch (o) {
if (o instanceof Error && !n.actions.isOffline()) {
const e = new xP.GenericError({
code: xP.errorsNames.ERR_LOGOUT_FAILED,
message: `[Logout] Error: Failed ${o}`,
payload: null
});
throw await cR(uR(e)), o
}
} finally {
Yj.clear(), r.actions.resetAuthentication(), n.actions.resetApplication(), uM.resetUser(e), TR().authentication.setSignOut()
}
}
},
dM = {
cancelOnUnmount: !0,
cancelOnConditionChange: !0
},
pM = (e, t, n, r = dM) => {
const i = {
...dM,
...r || {}
},
a = (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)((() => {
a.current && (clearTimeout(a.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 && (a.current = setTimeout((() => {
o.current()
}), t))
}), [n, t]), (0, Ee.useEffect)((() => {
c && n !== c && i.cancelOnConditionChange && u()
}), [n, r]), (0, Ee.useEffect)((() => () => {
i.cancelOnUnmount && u()
}), []), [s, u]
},
hM = [{
id: "website",
action: () => window.open(xP.configuration.websiteUrl, "_blank")
}, {
id: "report_bug",
action: () => window.open(xP.configuration.issueCouncilUrl, "_blank")
}, {
id: "spectrum",
action: () => window.open(xP.configuration.spectrumUrl, "_blank")
}, {
id: "community_hub",
action: () => window.open(xP.configuration.communityHubUrl, "_blank")
}, {
id: "support",
action: () => window.open(xP.configuration.supportUrl, "_blank")
}],
fM = () => {
const {
t: e
} = bt("tray"), {
tray: {
onMenuItemClicked: t,
updateMenu: n
}
} = TR(), {
isMinimized: r
} = (() => {
const e = (0, Ee.useContext)(GR);
if (!e) throw new Error("useTheme must be used within a ThemeProvider");
return e
})(), {
exitLauncher: i,
logoutLauncher: a
} = Vz((e => e.window.actions)), {
identity: o
} = Vz((e => e.user)), {
volume: s,
actions: {
mute: l,
unmute: c
}
} = Vz((e => e.soundSystem)), u = 0 === s, d = !!o, p = (0, Ee.useMemo)((() => [...hM, {
id: "logout",
action: a,
visible: d
}, {
id: "mute",
action: l,
visible: !u && !r
}, {
id: "unmute",
action: c,
visible: u && !r
}, {
id: "quit",
action: i
}]), [i, r, u, d, a, 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])
};
const mM = new class {
constructor() {
this.listeners = []
}
registerEventListener() {
const e = TR();
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
} = Vz.getState(), n = TR();
if (!gR(t.installations)) 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 ? pR().format(e.info.speed, {
decimalPlaces: 1
}) : "0"
};
switch (e.phase) {
case xP.ipcEvents.installer.INSTALLER_RETRIEVE_REMOTE_FILE_START:
n = {
...n,
phaseLabel: xt.t("download_update_manifest", {
ns: "download"
})
};
break;
case xP.ipcEvents.installer.INSTALLER_RETRIEVE_REMOTE_FILE_PROGRESS: {
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 xP.ipcEvents.installer.INSTALLER_RETRIEVE_REMOTE_FILE_END:
n = {
...n,
phaseLabel: xt.t("downloaded_update_manifest", {
ns: "download"
})
};
break;
case xP.ipcEvents.installer.COMPUTE_FILE_LIST_DIFFERENCE_START:
n = {
...n,
phaseLabel: xt.t("download_analysing_install", {
ns: "download"
})
};
break;
case xP.ipcEvents.installer.INSTALLER_UPDATE_PK4_START:
n = {
...n,
showProgress: !1,
progressUndeterminate: !0,
percentage: 4.48,
phaseLabel: xt.t("download_checking_files", {
ns: "download"
})
};
break;
case xP.ipcEvents.installer.INSTALLER_UPDATE_PK4_END:
n = {
...n,
showProgress: !1,
progressUndeterminate: !1
};
break;
case xP.ipcEvents.installer.INSTALLER_DOWNLOAD_PROGRESS: {
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 xP.ipcEvents.installer.INSTALLER_UPDATE_LOOSE_FILE_PROGRESS: {
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 xP.ipcEvents.installer.INSTALLER_UPDATE_FILE_P4K_END:
n = {
...n
};
break;
case xP.ipcEvents.installer.INSTALLER_UPDATE_FILE_P4K_PROGRESS: {
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 xP.ipcEvents.installer.INSTALLER_VERIFICATION_START:
case xP.ipcEvents.installer.INSTALLER_VERIFICATION_END:
n = {
...n,
phaseLabel: xt.t("download_verifying_game_content", {
ns: "download"
})
};
break;
case xP.ipcEvents.installer.INSTALLER_VERIFICATION_PROGRESS: {
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.progress);
t.actions.setProgress(r)
}
async setInstallationSuccess(e) {
const {
installer: t,
library: n,
settings: r
} = Vz.getState(), i = TR();
if (!t.progress) return void i.log.warn(`[Installer Service] We could not end the installation because the event is strange ${e}`);
const a = {
gameId: e.gameId,
gameName: e.gameName,
channelId: e.channelId,
channelName: e.channelName,
platformId: e.platformId
},
o = fR(t.installations, a);
if (!o) return void i.log.warn("[Installer Service] We could not end the installation because the game is not in the queue");
if (e.isInitialDownload) return t.actions.setProgress(void 0), void this.installChannel(o.game, {
skipRequirements: !0,
skipAnalitics: !0
});
const s = bR(t.installations, a, xP.InstallationStatus.COMPLETED);
t.actions.setInstallations(s), t.actions.setProgress(void 0), n.actions.saveInstalledGameChannel(a);
const l = {
...o.game,
installDir: o.release.installDir,
libraryFolder: o.release.libraryFolder
};
await r.actions.saveChannelGameSettings(l), await this.processInstallationQueue();
const c = {
[xP.InstallationType.INSTALL]: xP.AnalyticsEventName.APP_INSTALL_SUCCESS,
[xP.InstallationType.VERIFY]: xP.AnalyticsEventName.APP_VERIFY_SUCCESS,
[xP.InstallationType.UPDATE]: xP.AnalyticsEventName.APP_UPDATE_SUCCESS
} [o.type];
i.analytics.setAnalyticsEvent(c, {
Game: o.game.gameId,
Channel: o.game.channelId,
Environment: o.game.platformId
}), this.setInstallSuccessToast(o.game)
}
async setInstallationFailed(e) {
const {
installer: t,
application: n
} = Vz.getState(), r = TR(), i = fR(t.installations, e.payload);
if (!i) return void r.log.warn("[Installer Service] We could not clear the installation because the game is not in the queue");
n.actions.setDownloadPopoverOpened(!1);
const a = bR(t.installations, i.game, xP.InstallationStatus.ERROR);
t.actions.setInstallations(a), t.actions.setProgress(void 0);
const o = (0, xP.serializerInstallerErrors)(e);
await cR(gM(o)), n.actions.setDownloadPopoverOpened(!0), await this.processInstallationQueue();
const s = {
[xP.InstallationType.INSTALL]: xP.AnalyticsEventName.APP_INSTALL_ERROR,
[xP.InstallationType.VERIFY]: xP.AnalyticsEventName.APP_VERIFY_ERROR,
[xP.InstallationType.UPDATE]: xP.AnalyticsEventName.APP_UPDATE_ERROR
} [i.type];
r.analytics.setAnalyticsEvent(s, {
Game: i.game.gameId,
Channel: i.game.channelId,
Environment: i.game.platformId,
ErrorCode: o.code,
ErrorMessage: o.message
})
}
async setCancelationSuccess() {
const {
installer: e,
library: t
} = Vz.getState(), n = TR(), r = vR(e.installations);
if (!r) return void n.log.warn("[Installer Service] We could not succed to cancel the installation because there wasn't any channel cancelling.");
const i = _R(e.installations, r.game);
e.actions.setInstallations(i), e.actions.setProgress(void 0), r.type === xP.InstallationType.INSTALL && t.actions.removeInstalledGameChannel(r.game);
const a = {
[xP.InstallationType.INSTALL]: xP.AnalyticsEventName.APP_INSTALL_STOP,
[xP.InstallationType.VERIFY]: xP.AnalyticsEventName.APP_VERIFY_STOP,
[xP.InstallationType.UPDATE]: xP.AnalyticsEventName.APP_UPDATE_STOP
} [r.type];
n.analytics.setAnalyticsEvent(a, {
Game: r.game.gameId,
Channel: r.game.channelId,
Environment: r.game.platformId
}), this.setCancelSuccessToast(r), await this.processInstallationQueue()
}
async setCancelationFailed(e) {
const {
installer: t
} = Vz.getState(), n = vR(t.installations);
if (n) {
const e = _R(t.installations, n.game);
t.actions.setInstallations(e), t.actions.setProgress(void 0)
}
await this.processInstallationQueue()
}
async setUninstallationSuccess(e) {
const {
installer: t,
library: n,
settings: r
} = Vz.getState(), i = TR();
if (!mR(t.uninstallations, e)) return void i.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), n.actions.removeInstalledGameChannel(e), await r.actions.resetChannelGameSettings(e), i.analytics.setAnalyticsEvent(xP.AnalyticsEventName.APP_UNINSTALL_SUCCESS, {
Game: e.gameId,
Channel: e.channelId,
Environment: e.platformId
}), this.setUninstallSuccessToast(e)
}
setUninstallationFailed(e) {
const {
installer: t
} = Vz.getState(), n = TR(), {
payload: r
} = e, i = mR(t.uninstallations, r);
if (!i) return void n.log.warn("[Installer Service] We could not clear the uninstallation because the game is not in the queue");
const a = t.uninstallations.filter((e => e.channelId !== r.channelId && e.gameId !== r.gameId));
t.actions.setUninstallations(a), n.analytics.setAnalyticsEvent(xP.AnalyticsEventName.APP_UNINSTALL_ERROR, {
Game: i.gameId,
Channel: i.channelId,
Environment: i.platformId,
ErrorCode: e.code,
ErrorMessage: e.message
}), this.setUninstallFailToast(r)
}
setInstallSuccessToast(e) {
const {
installer: t,
toasts: n
} = Vz.getState(), r = TR(), i = fR(t.installations, e);
if (!i || i.status !== xP.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 (i.type) {
case xP.InstallationType.INSTALL:
return xt.t("download_toast_install_success", {
ns: "download"
});
case xP.InstallationType.VERIFY:
return xt.t("download_toast_verify_success", {
ns: "download"
});
case xP.InstallationType.UPDATE:
return xt.t("download_toast_update_success", {
ns: "download"
})
}
})(),
type: "positive",
closeOnClick: !1
})
}
setUninstallSuccessToast(e) {
const {
toasts: t
} = Vz.getState();
return t.actions.add({
title: xt.t("download_toast_uninstall_success", {
ns: "download",
game: e.gameName,
channel: e.channelName
}),
type: "positive",
closeOnClick: !1
})
}
setCancelSuccessToast(e) {
const {
toasts: t
} = Vz.getState();
t.actions.add({
type: "informative",
title: (() => {
switch (e.type) {
case xP.InstallationType.INSTALL:
return xt.t("download_toast_cancel_install_success", {
ns: "download"
});
case xP.InstallationType.VERIFY:
return xt.t("download_toast_cancel_verify_success", {
ns: "download"
});
case xP.InstallationType.UPDATE:
return xt.t("download_toast_cancel_update_success", {
ns: "download"
})
}
})()
})
}
setUninstallFailToast(e) {
const {
toasts: t
} = Vz.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
} = Vz.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
} = Vz.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,
library: i,
settings: a,
storage: o
} = Vz.getState(), s = TR();
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)
}
const l = gR(n.installations);
if (l && !yR(l.game, e)) return void s.log.warn(`[Installer Service] Cannot start the installation of ${e} since the installer is already running`);
const c = fR(n.installations, e);
if (c) try {
var u;
const l = await eM(e),
d = n.installations.map((t => yR(t.game, e) ? {
...t,
status: xP.InstallationStatus.IN_PROGRESS,
release: l
} : t));
n.actions.setInstallations(d), r.actions.setDownloadPopoverOpened(!0);
const p = (null === (u = a.gamesSettings.find((({
channelId: t
}) => t === e.channelId))) || void 0 === u ? void 0 : u.libraryFolder) || o.defaultLibraryFolder,
h = {
...l,
gameName: e.gameName,
channelName: e.channelName,
libraryFolder: p,
forcePatcher: a.appSettings.download.forceDataPatcher,
verify: c.type === xP.InstallationType.VERIFY
};
if (s.installer.setInstall(h), i.actions.addInstalledGameChannel(e), t && !t.skipAnalitics) {
const e = {
[xP.InstallationType.INSTALL]: xP.AnalyticsEventName.APP_INSTALL_START,
[xP.InstallationType.VERIFY]: xP.AnalyticsEventName.APP_VERIFY_START,
[xP.InstallationType.UPDATE]: xP.AnalyticsEventName.APP_UPDATE_START
} [c.type];
s.analytics.setAnalyticsEvent(e, {
Game: c.game.gameId,
Channel: c.game.channelId,
Environment: c.game.platformId
})
}
} catch (d) {
s.log.error(`[Installer Service] Error during installation : ${d}`)
} else s.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
} = Vz.getState(), r = TR(), i = await eM(e), a = await t.actions.showWarningUninstallDialog(i);
if (!a.resolved) return;
r.log.info(`[Installer Service] Uninstallation process started ("${i.libraryFolder}" | ${e} | ${a}`);
const o = void 0 !== a.results.keepUserFolder;
r.installer.setUninstall(i, {
keepUserFolder: o
});
const s = [...n.uninstallations, e];
n.actions.setUninstallations(s)
}
pauseInstallation(e) {
const {
installer: t
} = Vz.getState(), n = TR(), r = fR(t.installations, e);
if (!r || r.status === xP.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.progress || !hR(t.progress)) return void n.log.warn("[Installer Service] We could not pause the installation because the current phase is not pausable");
const i = t.progress ? {
...t.progress,
speed: "0"
} : void 0;
t.actions.setProgress(i);
const a = bR(t.installations, e, xP.InstallationStatus.PAUSED);
t.actions.setInstallations(a), n.installer.setInstallPause()
}
resumeInstallation(e) {
const {
installer: t
} = Vz.getState(), n = TR(), r = fR(t.installations, e);
if (!r || r.status !== xP.InstallationStatus.PAUSED) return void n.log.warn("[Installer Service] We could not resume the installation because the game is not in the queue");
const i = bR(t.installations, e, xP.InstallationStatus.IN_PROGRESS);
t.actions.setInstallations(i), n.installer.setInstallResume()
}
clearCompletedInstallations() {
const {
installer: e
} = Vz.getState(), t = e.installations.filter((e => e.status !== xP.InstallationStatus.COMPLETED && e.status !== xP.InstallationStatus.ERROR));
e.actions.setInstallations(t)
}
async cancelInstallation(e) {
const {
application: t,
installer: n,
dialog: r
} = Vz.getState(), i = TR(), a = fR(n.installations, e);
if (a)
if (a.status !== xP.InstallationStatus.COMPLETED && a.status !== xP.InstallationStatus.WAITING && a.status !== xP.InstallationStatus.ERROR) t.actions.setDownloadPopoverOpened(!1), await r.actions.showGameCancelInstallationDialog(a);
else {
const t = _R(n.installations, e);
n.actions.setInstallations(t)
}
else i.log.warn("[Installer Service] We could not clear the installation because the game is not in the queue")
}
removeInstallation(e) {
var t, n;
const {
installer: r
} = Vz.getState(), i = TR(), a = fR(r.installations, e);
if (!a || !a.release) return void i.log.warn("[Installer Service] We could not remove the installation because the game is not in the queue");
const o = {
...a.release,
gameName: a.game.gameName,
channelName: a.game.channelName,
libraryFolder: a.release.libraryFolder,
forcePatcher: !1,
verify: a.type === xP.InstallationType.VERIFY
},
s = a.type !== xP.InstallationType.INSTALL || null !== (t = null === (n = a.options) || void 0 === n ? void 0 : n.keepFilesOnCancel) && void 0 !== t && t;
i.installer.setInstallCancel(o, {
keepFiles: s
});
const l = bR(r.installations, e, xP.InstallationStatus.CANCELLING);
r.actions.setProgress(void 0), r.actions.setInstallations(l)
}
retryFailedInstallation(e) {
var t, n, r;
const {
installer: i
} = Vz.getState(), a = TR(), o = fR(i.installations, e);
if (!o || o.status !== xP.InstallationStatus.ERROR) return void a.log.warn("[Installer Service] We could not resume the installation because the game is not in the queue");
if (0 === (null === (t = o.options) || void 0 === t ? void 0 : t.numberOfRetriesLeft)) return;
const s = bR(i.installations, e, xP.InstallationStatus.WAITING, {
...o.options,
numberOfRetriesLeft: (null !== (n = null === (r = o.options) || void 0 === r ? void 0 : r.numberOfRetriesLeft) && void 0 !== n ? n : 3) - 1
});
i.actions.setInstallations(s)
}
setInstallationOptions(e, t) {
const {
installer: n
} = Vz.getState(), r = TR();
if (!fR(n.installations, e)) return void r.log.warn("[Installer Service] We could not set options to the installation because the game is not in the queue");
const i = n.installations.map((n => yR(n.game, e) ? {
...n,
options: t
} : n));
n.actions.setInstallations(i)
}
addInstallationToQueue(e, t) {
const {
installer: n,
application: r
} = Vz.getState();
if (!fR(n.installations, e)) {
const i = [...n.installations, {
game: e,
status: xP.InstallationStatus.WAITING,
type: t
}];
n.actions.setInstallations(i), r.actions.setDownloadPopoverOpened(!0), this.processInstallationQueue()
}
}
async setPermissions(e) {
const t = TR();
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
} = Vz.getState(), n = TR(), r = await e.actions.isMinimumWindowsVersion(), i = await e.actions.isRespectingCPUCapabilites();
n.log.info(`[Requirement] OS check : ${r}`), n.log.info(`[Requirement] CPU check : ${i}`);
return !!await t.actions.checkAgreements()
}
async processInstallationQueue() {
const {
installer: e
} = Vz.getState(), t = TR();
if (gR(e.installations)) return void t.log.info("[Installer Service] Nothing to process in queue since there is already an installation in progress");
const n = e.installations.filter((e => e.status === xP.InstallationStatus.WAITING));
if (0 === n.length) return;
const r = n[0];
await this.installChannel(r.game, {
skipRequirements: !0,
skipAnalitics: !1
})
}
},
gM = e => {
var t, n, r, i;
const a = Vz.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 = fR(a.installations, d);
switch (!0) {
case e instanceof xP.LSPermissionError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_support_permission_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_support_permission_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_installer_more_info_content",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.LSCreateDirectoryError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_create_directory_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_create_directory_content_1", {
ns: "errors"
})
}), (0, BR.jsxs)(ds, {
children: [xt.t("error_installer_create_directory_content_2", {
ns: "errors"
}), (0, BR.jsxs)(ds, {
children: [null === p || void 0 === p || null === (t = p.release) || void 0 === t ? void 0 : t.libraryFolder, (0, BR.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, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_installer_more_info_content",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.InvalidMDFileError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_basepack_invalid_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_basepack_invalid_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.InvalidMDFileHeaderError:
case e instanceof xP.NotMappedError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_init_download_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_generic_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.DiskFullError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_disc_full_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_disc_full_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.WritePermissionsError:
return {
handler: {
type: lR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_installer_permissions_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_permissions_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
p && await mM.setPermissions(p)
},
primaryLabel: xt.t("error_installer_permissions_action", {
ns: "errors"
})
}
}, error: e
};
case e instanceof xP.FileInUseError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_file_in_use_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_file_in_use_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.Pk4CorruptedError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_pk4_corrupted_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_pk4_corrupted_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.RetrieveManifestError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_retrieve_manifest_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_retrieve_manifest_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.PatcherUnknownNetworkError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_unknown_network_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_unknown_network_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.BasePackP4kCorruptedError:
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: xt.t("error_installer_base_p4k_corrupted_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_base_p4k_corrupted_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
})
}
}, error: e
};
case e instanceof xP.DownloadUnsuccessfullError:
return [{
handler: {
type: lR.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 === (i = p.options) || void 0 === i ? void 0 : i.numberOfRetriesLeft) > 0,
args: {
title: xt.t("error_installer_base_p4k_corrupted_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_base_p4k_corrupted_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
mM.addInstallationToQueue(d, xP.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {
ns: "dialog"
})
}
},
error: e
}];
default:
const a = () => e.code === xP.InitialDownloadErrorsNames.ERR_INIT_UNKNOWN ? xt.t("error_installer_init_download_title", {
ns: "errors"
}) : e.code === xP.PatcherErrorsNames.ERR_PATCHER_UNKNOWN ? xt.t("error_installer_patcher_title", {
ns: "errors"
}) : xt.t("error_installer_title", {
ns: "errors"
}),
o = () => e.code === xP.PatcherErrorsNames.ERR_PATCHER_UNKNOWN ? (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_installer_patcher_generic_content",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.installerErrorKnowledgeDatabaseUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}) : (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_installer_generic_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
});
return {
handler: {
type: lR.DISPLAY_ACKNOWLEDGE_DIALOG,
args: {
title: a(),
content: o()
}
}, error: e
}
}
},
vM = e => {
const {
gameId: t,
platformId: n,
channelId: r,
gameName: i,
channelName: a
} = e.payload, o = {
gameId: t,
platformId: n,
channelId: r,
gameName: i,
channelName: a
};
switch (!0) {
case e instanceof xP.NoGameFilesError:
return {
handler: {
type: lR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_no_game_files_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_no_game_files_content",
t: xt.t,
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
mM.addInstallationToQueue(o, xP.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {
ns: "dialog"
})
}
}, error: e
};
case e instanceof xP.EACError:
return {
handler: {
type: lR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_EAC_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_EAC_content",
t: xt.t,
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_installer_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
mM.addInstallationToQueue(o, xP.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {
ns: "dialog"
})
}
}, error: e
};
case e instanceof xP.GameCrashError:
return {
handler: {
type: lR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_game_crash_title", {
game: i,
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_game_crash_content_1",
t: xt.t,
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_launch_game_crash_content_2",
t: xt.t,
ns: "errors"
})
})]
}), (0, BR.jsx)(ds, {
children: xt.t("error_game_error_code", {
code: e.message,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
mM.addInstallationToQueue(o, xP.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {
ns: "dialog"
})
}
}, error: e
};
default:
return {
handler: {
type: lR.DISPLAY_WARNING_DIALOG,
args: {
title: xt.t("error_launch_unknown_title", {
ns: "errors"
}),
content: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
children: xt.t("error_launch_unknown_content", {
ns: "errors"
})
}), (0, BR.jsx)(ds, {
children: (0, BR.jsx)(ft, {
i18nKey: "error_report_bug",
t: xt.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})]
})
}), (0, BR.jsx)(ds, {
children: xt.t("error_launch_error_code", {
code: e.code,
ns: "errors"
})
})]
}),
primaryCallback: async () => {
mM.addInstallationToQueue(o, xP.InstallationType.VERIFY)
},
primaryLabel: xt.t("dialog_action_verify", {
ns: "dialog"
})
}
}, error: e
}
}
},
yM = (e, t) => ({
agreements: {
warningHasBeenAccepted: !1,
actions: {
checkWarnings: async () => {
const n = t();
try {
const t = await Yj.fetchQuery({
queryKey: ["warnings"],
queryFn: async () => oR.agreements.getWarnings()
}),
r = t ? t[0] : null;
if (!(r && r.id && !n.agreements.warningHasBeenAccepted)) return !0;
const i = await Yj.fetchQuery((e => ({
queryKey: ["warningInfo"],
queryFn: async () => oR.agreements.getWarningInfo(e)
}))(r.id)),
{
title: a,
body: o
} = i,
s = await n.dialog.actions.showWarningsDialog(a, 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 Yj.fetchQuery({
queryKey: ["agreements"],
queryFn: async () => oR.agreements.checkAgreements()
});
return t.auth ? await e.agreements.actions.checkWarnings() : t.auth
} catch (n) {
return n instanceof gT && e.agreements.actions.checkAgreementsFailure(n)
}
},
checkAgreementsFailure: async e => {
var n;
const r = null !== (n = e.payload.data.agreements) && void 0 !== n ? n : [],
i = t();
try {
const e = [zT.EULA, zT.TOS, zT.DISCLAIMER].map((e => r.filter((t => t.type === e)))).reduce(((e, t) => e.concat(t)), []);
return await i.agreements.actions.displayAgreement(e)
} catch (a) {
return console.error("[Agreements] - error", a), !1
}
},
displayAgreement: async n => {
const r = t(),
[i, ...a] = n;
e((e => ({
installer: {
...e.installer,
isDownloadPopoverOpened: !1
}
})));
try {
const e = await Yj.fetchQuery(((e, t) => ({
queryKey: ["agreementInfo"],
queryFn: async () => oR.agreements.getAgreementInfo(e, t)
}))(i.id, i.type)),
{
title: t,
subtitle: n,
body: o
} = e,
s = await r.dialog.actions.showAgreementsDialog(t, n, o);
if (s.resolved) {
await Yj.fetchQuery(((e, t) => ({
queryKey: ["agreementAccept"],
queryFn: async () => oR.agreements.acceptAgreement(e, t)
}))(i.id, i.type));
const e = a;
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 xP.GenericError({
code: xP.errorsNames.ERR_DISPLAY_AGREEMENT,
message: `[Agreement] displaying agreements error ${o}`,
payload: {
error: o
}
});
await cR(uR(e))
}
return console.error("[Agreements] - error displaying agreements", o), !1
}
}
}
}
});
let _M = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
bM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
xM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
wM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
kM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
SM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
EM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
IM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
OM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
CM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
AM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
PM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
TM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
RM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
DM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
LM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
NM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
jM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
})))
},
MM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
FM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
zM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
UM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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"
}))
},
VM = e => {
var {
title: t,
titleId: n
} = e, r = function(e, t) {
if (null == e) return {};
var n, r, i = function(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}(e, t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(e);
for (r = 0; r < a.length; r++) n = a[r], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])
}
return i
}(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 BM = ({
launcherVersion: e = "unknown",
patcherVersion: t = "unknown",
platformMaster: n = "prod",
isGameRunning: r = !1,
isAppInitialized: i = !1,
isWindowMinimized: a = !1,
isDiscoverStarted: o = !1,
isDownloadPopoverOpened: s = !1,
isStatusPopoverOpened: l = !1,
isConnectionPopoverOpened: c = !1,
nonOperationalStatus: u,
connection: d = {
mode: navigator.onLine ? xP.ConnectionMode.ONLINE : xP.ConnectionMode.NO_CONNECTION,
needToBeCheck: !1
},
animations: p = {
appLayoutWipe: {
isAnimating: !0,
animType: "out"
},
gamePageEntering: {
isAnimating: !1,
animState: ""
}
}
}) => ({
launcherVersion: e,
patcherVersion: t,
platformMaster: n,
isAppInitialized: i,
isWindowMinimized: a,
isDiscoverStarted: o,
isGameRunning: r,
isDownloadPopoverOpened: s,
isStatusPopoverOpened: l,
isConnectionPopoverOpened: c,
nonOperationalStatus: u,
connection: d,
animations: p
}),
GM = (e, t) => ({
application: {
...BM({}),
actions: {
initializeApplication: async () => {
const {
launcherVersion: t,
patcherVersion: n,
environment: r
} = await window.launcherAPI.game.getGlobalConfig(), i = await window.launcherAPI.game.isGameProcessRunning(), a = await window.launcherAPI.store.getValueFromStore("application.connection.lastTimeOnline"), o = BM({
launcherVersion: t,
patcherVersion: n,
platformMaster: r,
isGameRunning: i,
isAppInitialized: !0,
connection: {
mode: a ? xP.ConnectionMode.NO_CONNECTION : xP.ConnectionMode.ONLINE,
lastTimeOnline: a,
needToBeCheck: !0
}
});
e((e => ({
application: {
...e.application,
...o
}
})))
},
toggleDownloadPopoverOpened: () => {
const {
application: e
} = t();
e.actions.setDownloadPopoverOpened(!e.isDownloadPopoverOpened)
},
setDownloadPopoverOpened: t => {
t || mM.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 === xP.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,
...BM({}),
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 || (await e.dialog.actions.showOsRequirementsDialog(e.library.channelSelected), !1)
},
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 !== xP.ConnectionMode.ONLINE
},
isOfflineSessionValid: () => {
const {
application: {
connection: {
lastTimeOnline: e
}
}
} = t();
return (null !== e && void 0 !== e ? e : -1) + xP.configuration.authenticationExpiry > Date.now()
},
getRemainingTimeOfOfflineSession: () => {
const {
application: {
connection: {
lastTimeOnline: e
}
},
user: {
device: n
}
} = t();
if (!(n && (void 0 !== n.expires || n.duration !== jT.SESSION)) || void 0 === e) return;
const r = e + xP.configuration.authenticationExpiry,
i = n.expires;
return AR(new Date(i < r ? i : 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 !== xP.ConnectionMode.ONLINE && n.mode !== xP.ConnectionMode.OFFLINE && (e((e => ({
application: {
...e.application,
connection: {
mode: xP.ConnectionMode.ONLINE,
lastTimeOnline: void 0,
needToBeCheck: !1
}
}
}))), window.launcherAPI.store.setValueToStore("application.connection.lastTimeOnline", null), r.actions.add({
type: "positive",
title: _e.t("connection_toast_connection_available", {
ns: "connection"
})
}))
},
setConnectionUnavailable: async () => {
var n;
const {
application: {
actions: r,
connection: i
}
} = t();
if (i.mode === xP.ConnectionMode.NO_CONNECTION && !i.needToBeCheck) return;
if (i.mode === xP.ConnectionMode.OFFLINE) return;
const a = null !== (n = i.lastTimeOnline) && void 0 !== n ? n : Date.now();
e((e => ({
application: {
...e.application,
connection: {
mode: xP.ConnectionMode.NO_CONNECTION,
lastTimeOnline: a,
needToBeCheck: !1
}
}
}))), window.launcherAPI.store.setValueToStore("application.connection.lastTimeOnline", a), uM.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: AM,
title: _e.t("connection_toast_warning_lost_connection_title", {
ns: "connection"
}),
children: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(ds, {
as: "span",
children: _e.t("connection_toast_warning_lost_connection_content", {
ns: "connection"
})
}), r && (0, BR.jsxs)(ds, {
as: "span",
children: [_e.t("connection_toast_warning_lost_connection_remaining", {
ns: "connection"
}), (0, BR.jsx)(ds, {
as: "span",
variant: "body-m-bold",
children: " " + e.getRemainingTimeOfOfflineSession()
})]
})]
}),
actions: [{
close: !0,
label: _e.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
}
}
})))
}
}
}
}),
$M = (e, t) => ({
authentication: {
captcha: null,
actions: {
initializeAuthentication: async () => {
e((e => ({
authentication: {
...e.authentication,
captcha: null
}
})))
},
fetchCaptcha: async () => {
const t = await oR.authentication.getCaptcha();
e((e => ({
authentication: {
...e.authentication,
captcha: t
}
})))
},
resetAuthentication: () => e((e => ({
authentication: {
...e.authentication,
captcha: null
}
})))
}
}
}),
qM = "autoUpdate",
WM = (e, t = {}) => xt.t(e, {
ns: qM,
...t
}),
HM = (e, t) => {
var n;
const {
closeDialog: r
} = e.autoUpdate.actions, i = null === (n = window.launcherAPI.autoUpdate) || void 0 === n ? void 0 : n.updateAndRestart, a = {
open: !0,
alert: !0,
close: WM("auto_update_dialog_close"),
title: WM("auto_update_dialog_title"),
onOpenChange: () => {
r()
}
};
switch (t.state) {
case xP.AutoUpdateDialogStates.AVAILABLE:
return {
...a, children: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(ds, {
variant: "emphasis-s",
as: "h4",
children: WM("auto_update_dialog_sub_title", {
version: t.updateInfo.version
})
}), (0, BR.jsx)(ft, {
i18nKey: "auto_update_dialog_update_available_content",
t: xt.t,
ns: qM,
components: [(0, BR.jsx)("br", {})]
})]
}), actions: [{
label: WM("auto_update_dialog_update_available_action_secondary_label")
}, {
label: WM("auto_update_dialog_update_available_action_primary_label"),
onClick: () => i()
}]
};
case xP.AutoUpdateDialogStates.ERROR:
return {
...a, type: "negative", children: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(ds, {
variant: "emphasis-s",
as: "h4",
children: WM("auto_update_dialog_sub_title", {
version: t.updateInfo.version
})
}), (0, BR.jsx)(ft, {
i18nKey: "auto_update_dialog_update_install_failed_content",
t: xt.t,
ns: qM,
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.supportUrl,
external: !0
})]
})]
}), actions: [{
label: WM("auto_update_dialog_update_install_failed_action_secondary_label")
}, {
label: WM("auto_update_dialog_update_install_failed_action_primary_label"),
onClick: () => i()
}]
};
case xP.AutoUpdateDialogStates.QUIT_GAME:
return {
...a, type: "negative", children: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(ds, {
variant: "emphasis-s",
as: "h4",
children: WM("auto_update_dialog_sub_title", {
version: t.updateInfo.version
})
}), WM("auto_update_dialog_update_quit_game_content")]
}), actions: [{
label: WM("auto_update_dialog_update_quit_game_action_secondary_label")
}, {
label: WM("auto_update_dialog_update_quit_game_action_primary_label"),
onClick: () => i(!0)
}]
};
default:
return {
...a, children: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(ds, {
variant: "emphasis-s",
as: "h4",
children: WM("auto_update_dialog_sub_title", {
version: t.updateInfo.version
})
}), (0, BR.jsx)(ft, {
i18nKey: "auto_update_dialog_no_update_content",
t: xt.t,
ns: qM,
components: [(0, BR.jsx)("br", {})]
})]
}), actions: [{
label: WM("auto_update_dialog_no_update_action_primary_label")
}]
}
}
},
KM = {
dialog: {}
},
YM = (e, t) => ({
autoUpdate: {
...KM,
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: HM(r, n)
}
})
}
}
}
}),
QM = ({
children: e
}) => {
const t = Vz((e => e.application)),
n = Vz((e => e.settings)),
r = Vz((e => e.window)),
{
t: i
} = bt("discover"),
a = uM.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 && a) {
const e = setTimeout((() => {
r.actions.openDiscover()
}), s);
return () => clearTimeout(e)
}
}), [a]), (0, BR.jsx)(BR.Fragment, {
children: (0, BR.jsx)(Xy, {
open: o,
onOpenChange: e => {
e || (t.actions.setDiscoverStarted(!1), n.actions.saveApplicationSettings({
name: "isDiscoverDone",
value: !0
}))
},
doneLabel: i("step_done_label"),
steps: [{
selector: '[data-sol-discover="menu"]',
title: i("step_menu_title"),
description: i("step_menu_description")
}, {
selector: '[data-sol-discover="status"]',
title: i("step_status_title"),
description: i("step_status_description"),
placement: "bottom-end"
}, {
selector: '[data-sol-discover="download"]',
title: i("step_download_title"),
description: i("step_download_description"),
placement: "bottom-end"
}, {
selector: '[data-sol-discover="user-profile"]',
title: i("step_user-profile_title"),
description: i("step_user-profile_description"),
placement: "bottom-end"
}, {
title: i("step_last_title"),
description: i("step_last_description")
}],
children: e
})
})
},
ZM = 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":[]}'),
XM = () => {
const {
t: e
} = bt("connection"), t = Vz((e => e.application)), {
reduceMotion: {
unessentialAnimationsDisabled: n
}
} = Qo();
return (0, BR.jsx)(Zv, {
title: e("connection_title"),
offset: "large",
placement: "bottom-end",
trigger: (0, BR.jsx)(Os, {
"data-test-id": "connection",
icon: (0, BR.jsx)(us, {
source: n ? VM : ZM
})
}),
open: t.isConnectionPopoverOpened,
onOpenChange: e => {
t.actions.setConnectionPopoverOpened(e)
},
footer: (0, BR.jsx)(BR.Fragment, {
children: t.connection.mode === xP.ConnectionMode.NO_CONNECTION && (0, BR.jsx)(gs, {
size: "small",
variant: "plain",
loading: !0,
disabled: !0,
children: e("connection_offline_trying_to_reconnect")
})
}),
children: (0, BR.jsx)(Es, {
vertical: !0,
gap: "100",
children: e("connection_offline_information")
})
})
},
JM = 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":[]}'),
eF = ({
labelItem: e
}) => {
const [t, n] = (0, Ee.useState)(!1), {
t: r
} = bt("download"), i = CL(), a = Vz((e => e.installer)), o = Vz((e => e.application)), {
reduceMotion: {
wipeAnimationsDisabled: s,
unessentialAnimationsDisabled: l
}
} = Qo(), c = (0, Ee.useMemo)((() => a.installations.find((e => e.status === xP.InstallationStatus.IN_PROGRESS || e.status === xP.InstallationStatus.PAUSED))), [a.installations]), {
isOffline: u
} = (0, Ee.useMemo)((() => ({
isOffline: o.connection.mode !== xP.ConnectionMode.ONLINE
})), [o.connection]), d = e => {
o.actions.setDownloadPopoverOpened(e)
}, p = (0, Ee.useCallback)((e => {
var t, n, i, o;
if (e.status === xP.InstallationStatus.COMPLETED) return [{
label: r("download_status"),
value: r("download_completed")
}];
if (e.status === xP.InstallationStatus.WAITING) return [{
label: r("download_status"),
value: r("download_waiting")
}];
if (e.status === xP.InstallationStatus.CANCELLING) return [{
label: r("download_status"),
value: r("download_cancelling")
}];
if (e.status === xP.InstallationStatus.ERROR) return [{
label: r("download_status"),
value: r("download_error")
}];
if (!a.progress || e.status !== xP.InstallationStatus.IN_PROGRESS && e.status !== xP.InstallationStatus.PAUSED) return [];
if (a.progress.progressUndeterminate) return [{
label: r("download_phase"),
value: a.progress.phaseLabel
}];
const s = [{
fill: !0,
label: r("download_phase"),
value: a.progress.phaseLabel
}],
l = Math.max((null !== (t = a.progress.total) && void 0 !== t ? t : 0) - (null !== (n = a.progress.downloaded) && void 0 !== n ? n : 0), 0);
return a.progress.speed && s.push({
label: r("download_speed"),
value: `${a.progress.speed}/s`
}), s.push({
label: r("download_left"),
value: pR()(l)
}, {
label: r("download_files_left"),
value: Math.max((null !== (i = a.progress.filesTotal) && void 0 !== i ? i : 0) - (null !== (o = a.progress.filesDone) && void 0 !== o ? o : 0), 0)
}), s
}), [r, a.progress]), h = (0, Ee.useCallback)((e => {
if (e.status === xP.InstallationStatus.WAITING || e.status === xP.InstallationStatus.COMPLETED || e.status === xP.InstallationStatus.ERROR) return [{
icon: EM,
label: r("download_remove"),
tooltip: r("download_remove"),
onClick: () => mM.cancelInstallation(e.game)
}];
const t = a.progress && hR(a.progress),
n = a.progress && (e => {
switch (e.phase) {
case xP.ipcEvents.installer.INSTALLER_DOWNLOAD_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_UPDATE_LOOSE_FILE_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_UPDATE_FILE_P4K_PROGRESS:
case xP.ipcEvents.installer.INSTALLER_VERIFICATION_PROGRESS:
return !0;
default:
return !1
}
})(a.progress),
i = [];
return i.push({
disabled: e.status === xP.InstallationStatus.CANCELLING || u || !t,
icon: e.status === xP.InstallationStatus.PAUSED ? NM : LM,
label: e.status === xP.InstallationStatus.PAUSED ? r("download_resume") : r("download_pause"),
tooltip: e.status === xP.InstallationStatus.PAUSED ? r("download_resume") : r("download_pause"),
onClick: e.status === xP.InstallationStatus.PAUSED ? () => mM.resumeInstallation(e.game) : () => mM.pauseInstallation(e.game)
}), i.push({
disabled: e.status === xP.InstallationStatus.CANCELLING || !n,
icon: SM,
label: r("download_cancel"),
tooltip: r("download_cancel"),
onClick: () => mM.cancelInstallation(e.game)
}), i
}), [a.progress, u, r]);
return (0, BR.jsx)(Zv, {
title: r("download_title"),
offset: "large",
placement: "bottom-end",
footer: (0, BR.jsx)(gs, {
size: "small",
variant: "plain",
icon: FM,
onClick: () => (() => {
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
if (d(!1), s) return void i(`${NU.SETTINGS}/${NU.SETTINGS_DOWNLOAD}`);
o.actions.setAnimatingAppLayoutWipe("full", !0);
const t = setTimeout((() => {
i(`${NU.SETTINGS}/${NU.SETTINGS_DOWNLOAD}`)
}), e / 2);
return () => clearTimeout(t)
})(),
children: r("download_settings")
}),
fullWidth: !0,
trigger: (0, BR.jsx)(Os, {
"data-test-id": "download",
"data-sol-discover": "download",
icon: (0, BR.jsx)(us, {
source: l ? OM : JM,
isPlaying: void 0 !== c && !o.isDownloadPopoverOpened && !t
}),
label: e,
onMouseEnter: () => n(!0),
onMouseLeave: () => n(!1)
}),
open: o.isDownloadPopoverOpened,
onOpenChange: e => d(e),
children: a.installations.length > 0 ? a.installations.map(((e, t) => ((e, t) => {
var n;
return (0, BR.jsxs)(BR.Fragment, {
children: [0 !== e && (0, BR.jsx)(sd, {
spacing: "100"
}), (0, BR.jsx)(cd, {
title: `${t.game.gameName} - ${t.release?t.release.versionLabel+" - ":""}${t.game.channelId}`,
subtitle: r(`download_type_${t.type}`),
state: t.status,
actions: h(t),
progress: t.status === xP.InstallationStatus.IN_PROGRESS && null !== (n = a.progress) && void 0 !== n && n.showProgress ? a.progress.percentage : void 0,
stats: p(t)
}, `${t.game.gameId}-${t.game.channelId}`)]
})
})(t, e))) : r("download_empty")
})
},
tF = ({
title: e,
status: t,
label: n
}) => (0, BR.jsxs)(Es, {
as: "dl",
align: "center",
gap: "100",
justify: "space-between",
children: [(0, BR.jsx)(ds, {
as: "dt",
color: "foreground-weak",
variant: "body-m",
children: e
}), (0, BR.jsx)(Qh, {
as: "dd",
status: FR(t),
children: null !== n && void 0 !== n ? n : "-"
})]
}),
nF = 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 (!Vz.getState().status.intervalId) {
await rF();
const e = setInterval(rF, $T(xP.configuration.requestPollingInterval.status.base, xP.configuration.requestPollingInterval.status.window));
Vz.setState({
status: {
...Vz.getState().status,
intervalId: e
}
})
}
}
}
}
}),
rF = async () => {
const {
application: e,
status: t
} = Vz.getState();
if (uM.isLoggedIn() || iF(t.intervalId), !e.isWindowMinimized) {
if (e.actions.isOffline()) return e.actions.setNonOperationalStatus(void 0), void Vz.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 Yj.fetchQuery({
queryKey: ["rsiStatus"],
queryFn: async () => oR.status.getStatus(),
staleTime: 0
}),
n = null === t || void 0 === t ? void 0 : t.systems.filter((e => (e.name === xP.RSISystemName.PERSISTENTE_UNIVERSE || e.name === xP.RSISystemName.ARENA_COMMANDER) && e.status !== xP.RSISystemStatus.OPERATIONAL)).sort(((e, t) => xP.SystemStatusOrder[e.status.toUpperCase()] - xP.SystemStatusOrder[t.status.toUpperCase()])).map((e => e.status)).shift();
e.actions.setNonOperationalStatus(n), Vz.setState((e => ({
...e,
status: {
...e.status,
...t,
lastRequestDate: (new Date).toISOString()
}
})))
} catch (n) {
console.error("ERROR", n)
}
}
}, iF = e => {
const t = Vz.getState().application;
clearInterval(e), t.actions.setNonOperationalStatus(void 0), Vz.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: ""
}
})))
}, aF = 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":[]}'), oF = ({
labelItem: e
}) => {
const [t, n] = (0, Ee.useState)(!1), {
t: r
} = bt("status"), i = Vz((e => e.status)), a = Vz((e => e.application)), {
reduceMotion: {
unessentialAnimationsDisabled: o
}
} = Qo(), s = i.systems && i.systems.length > 0, l = a.connection.mode === xP.ConnectionMode.NO_CONNECTION, c = (0, Ee.useMemo)((() => {
if (!t && !a.isStatusPopoverOpened && i.summaryStatus && i.summaryStatus !== xP.RSISystemStatus.OPERATIONAL) return "status-" + FR(i.summaryStatus)
}), [t, a.isStatusPopoverOpened, i.summaryStatus]);
return (0, Ee.useEffect)((() => {
rF()
}), [a.connection.mode]), (0, BR.jsx)(Zv, {
title: r("status_title"),
offset: "large",
placement: "bottom-end",
fullWidth: !0,
trigger: (0, BR.jsx)(Os, {
"data-test-id": "status",
"data-sol-discover": "status",
icon: (0, BR.jsx)(us, {
color: c,
source: o || l ? AM : aF,
isPlaying: !a.isStatusPopoverOpened && !t && i.summaryStatus !== xP.RSISystemStatus.OPERATIONAL
}),
label: e,
onMouseEnter: () => n(!0),
onMouseLeave: () => n(!1)
}),
open: a.isStatusPopoverOpened,
onOpenChange: e => {
a.actions.setStatusPopoverOpened(e)
},
footer: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(gs, {
external: !0,
href: xP.configuration.statusUrl,
size: "small",
endIcon: DM,
variant: "plain",
children: r("status_more_information")
}), (0, BR.jsx)(ds, {
color: "foreground-weak",
variant: "body-xs",
children: i.lastRequestDate ? r("status_last_updated", {
time: AR(i.lastRequestDate, "relative")
}) : r("status_last_updated_empty")
})]
}),
children: (0, BR.jsx)(Es, {
vertical: !0,
gap: "100",
children: s ? i.systems.map((e => (0, BR.jsx)(tF, {
title: e.name,
status: e.status,
label: r("status_" + e.status)
}, e.name))) : r("status_empty")
})
})
}, sF = () => {
var e, t, n, r, i, a;
const o = CL(),
{
t: s
} = bt("appHeader"),
l = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
{
window: {
setMinimizeWindow: c
}
} = TR(),
u = Vz((e => e.application)),
d = Vz((e => e.user)),
p = Vz((e => e.soundSystem)),
h = Vz((e => e.window)),
f = Vz((e => e.installer)),
{
wipeAnimationsDisabled: m
} = Qo().reduceMotion,
{
isLoggedIn: g
} = uM,
v = void 0 !== gR(f.installations),
y = (0, Ee.useMemo)((() => {
var e;
const t = null === (e = d.identity) || void 0 === e ? void 0 : e.avatar;
return t ? t.match(/^https?:\/\//) ? t : UR(t) : xP.configuration.assets.avatar.defaultUrl
}), [null === (e = d.identity) || void 0 === e ? void 0 : e.avatar]),
_ = (0, Ee.useMemo)((() => xP.configuration.assets.directory + xP.configuration.assets.avatar.defaultLocal), []),
b = (0, Ee.useMemo)((() => {
var e;
const t = null === (e = d.identity) || void 0 === e ? void 0 : e.nickname;
return t ? UR(`/citizens/${t}`) : xP.configuration.playnowUrl
}), [null === (t = d.identity) || void 0 === t ? void 0 : t.nickname]);
return (0, BR.jsxs)(As, {
children: [(0, BR.jsxs)(qv, {
offset: "large",
trigger: (0, BR.jsxs)(Os, {
"data-test-id": "rsi-menu",
"data-sol-discover": "menu",
label: s("app_header_menu"),
className: "sol-c-app-header__item--rsi-logo",
children: [(0, BR.jsx)(Xv, {}), (0, BR.jsx)(wM, {
className: "sol-c-icon sol-c-icon--arrow-up"
}), (0, BR.jsx)(xM, {
className: "sol-c-icon sol-c-icon--arrow-down"
})]
}),
children: [g() && (0, BR.jsx)(Gv, {
onClick: () => {
if (m) return void o(NU.SETTINGS);
u.actions.setAnimatingAppLayoutWipe("full", !0);
const e = setTimeout((() => {
o(NU.SETTINGS)
}), l / 2);
return () => clearTimeout(e)
},
label: s("app_header_menu_settings"),
disabled: window.location.hash.includes(NU.SETTINGS)
}), (0, BR.jsx)(Gv, {
external: !0,
endIcon: DM,
href: xP.configuration.supportUrl,
label: s("app_header_menu_get_help"),
"data-test-id": "rsi-menu-help"
}), (0, BR.jsx)(Gv, {
external: !0,
endIcon: DM,
href: xP.configuration.spectrumUrl,
label: s("app_header_menu_spectrum")
}), (0, BR.jsx)(Gv, {
external: !0,
endIcon: DM,
href: xP.configuration.issueCouncilUrl,
label: s("app_header_menu_issue_council")
}), g() && (0, BR.jsx)(Gv, {
label: s("app_header_menu_discover"),
"data-test-id": "rsi-menu-discover",
onClick: () => {
if (window.location.hash.includes(NU.SETTINGS)) {
if (m) return void o(NU.HOME);
u.actions.setAnimatingAppLayoutWipe("full", !0);
const e = setTimeout((() => {
o(NU.HOME), h.actions.openDiscover()
}), l / 2);
return () => clearTimeout(e)
}
h.actions.openDiscover()
},
disabled: v
}), (0, BR.jsx)(Gv, {
label: s("app_header_menu_exit_the_app"),
"data-test-id": "rsi-menu-exit",
onClick: e => {
e.preventDefault(), h.actions.exitLauncher()
}
})]
}), (0, BR.jsx)(Jy, {
value: p.volume,
label: s("app_header_volume"),
muteLabel: s("app_header_volume_mute"),
unmuteLabel: s("app_header_volume_unmute"),
onChange: e => {
p.actions.changeVolume(e)
}
}), (0, BR.jsxs)(Is, {
children: [g() && (0, BR.jsxs)(BR.Fragment, {
children: [u.actions.isOffline() && (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(XM, {}), (0, BR.jsx)(Cs, {})]
}), (0, BR.jsx)(oF, {
labelItem: s("app_header_actions_menu_rsi_status")
}), (0, BR.jsx)(Cs, {}), (0, BR.jsx)(eF, {
labelItem: s("app_header_actions_download")
}), (0, BR.jsxs)(qv, {
offset: "large",
placement: "bottom-end",
trigger: (0, BR.jsx)(Os, {
"data-test-id": "avatar-menu",
"data-sol-discover": "user-profile",
hasAvatar: !0,
label: s("app_header_account"),
children: (0, BR.jsx)(Ts, {
"data-test-id": "avatar-img",
src: u.actions.isOffline() ? _ : y
})
}),
children: [(0, BR.jsx)($v, {
"data-test-id": "avatar-nickname",
title: null !== (n = null === (r = d.identity) || void 0 === r ? void 0 : r.displayName) && void 0 !== n ? n : s("app_header_account_moniker"),
subtitle: `@${null!==(i=null===(a=d.identity)||void 0===a?void 0:a.nickname)&&void 0!==i?i:s("app_header_account_name")}`
}), (0, BR.jsx)(Gv, {
external: !0,
href: b,
endIcon: DM,
label: s("app_header_actions_menu_rsi_account"),
"data-test-id": "avatar-url"
}), (0, BR.jsx)(Gv, {
"data-test-id": "avatar-logout",
label: s("app_header_actions_menu_log_out"),
onClick: e => {
e.preventDefault(), h.actions.logoutLauncher()
}
})]
})]
}), (0, BR.jsx)(Os, {
alwaysOnTop: !0,
"aria-label": "Minimize",
onClick: c,
disableFocus: !0,
icon: TM
}), (0, BR.jsx)(Os, {
alwaysOnTop: !0,
"aria-label": "Close",
onClick: e => {
e.preventDefault(), h.actions.closeLauncher()
},
disableFocus: !0,
icon: EM
})]
})]
})
}, lF = () => {
const [e, t] = (0, Ee.useState)("");
return (0, Ee.useEffect)((() => {
const e = setTimeout((() => t("in")), xP.configuration.appLayoutLoaderWipeTrigger);
return () => clearTimeout(e)
}), []), (0, BR.jsx)(Ps, {
className: "sol-u-animation-wipe",
"data-sol-animation-wipe": e,
children: (0, BR.jsx)(zv, {})
})
}, cF = () => {
const e = Vz((e => e.autoUpdate));
return (() => {
const e = Vz((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, BR.jsx)(od, {
...e.dialog
})
};
var uF = function() {
return uF = Object.assign || function(e) {
for (var t, n = 1, r = arguments.length; n < r; n++)
for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
return e
}, uF.apply(this, arguments)
},
dF = 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 i = 0;
for (r = Object.getOwnPropertySymbols(e); i < r.length; i++) t.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[i]) && (n[r[i]] = e[r[i]])
}
return n
},
pF = Symbol("NiceModalId"),
hF = {},
fF = Ee.createContext(hF),
mF = Ee.createContext(null),
gF = {},
vF = {},
yF = 0,
_F = function() {
throw new Error("No dispatch method detected, did you embed your app with NiceModal.Provider?")
},
bF = function() {
return "_nice_modal_" + yF++
},
xF = function(e, t) {
var n, r, i;
switch (void 0 === e && (e = hF), t.type) {
case "nice-modal/show":
var a = t.payload,
o = a.modalId,
s = a.args;
return uF(uF({}, e), ((n = {})[o] = uF(uF({}, e[o]), {
id: o,
args: s,
visible: !!vF[o],
delayVisible: !vF[o]
}), n));
case "nice-modal/hide":
return e[o = t.payload.modalId] ? uF(uF({}, e), ((r = {})[o] = uF(uF({}, e[o]), {
visible: !1
}), r)) : e;
case "nice-modal/remove":
o = t.payload.modalId;
var l = uF({}, e);
return delete l[o], l;
case "nice-modal/set-flags":
var c = t.payload,
u = (o = c.modalId, c.flags);
return uF(uF({}, e), ((i = {})[o] = uF(uF({}, e[o]), u), i));
default:
return e
}
};
var wF = {},
kF = {},
SF = function(e) {
return "string" === typeof e ? e : (e[pF] || (e[pF] = bF()), e[pF])
};
function EF(e, t) {
var n = SF(e);
if ("string" === typeof e || gF[n] || AF(n, e), _F(function(e, t) {
return {
type: "nice-modal/show",
payload: {
modalId: e,
args: t
}
}
}(n, t)), !wF[n]) {
var r, i, a = new Promise((function(e, t) {
r = e, i = t
}));
wF[n] = {
resolve: r,
reject: i,
promise: a
}
}
return wF[n].promise
}
function IF(e) {
var t = SF(e);
if (_F(function(e) {
return {
type: "nice-modal/hide",
payload: {
modalId: e
}
}
}(t)), delete wF[t], !kF[t]) {
var n, r, i = new Promise((function(e, t) {
n = e, r = t
}));
kF[t] = {
resolve: n,
reject: r,
promise: i
}
}
return kF[t].promise
}
var OF = function(e) {
var t = SF(e);
_F(function(e) {
return {
type: "nice-modal/remove",
payload: {
modalId: e
}
}
}(t)), delete wF[t], delete kF[t]
};
function CF(e, t) {
var n = (0, Ee.useContext)(fF),
r = (0, Ee.useContext)(mF),
i = null,
a = e && "string" !== typeof e;
if (!(i = e ? SF(e) : r)) throw new Error("No modal id found in NiceModal.useModal.");
var o = i;
(0, Ee.useEffect)((function() {
a && !gF[o] && AF(o, e, t)
}), [a, o, e, t]);
var s = n[o],
l = (0, Ee.useCallback)((function(e) {
return EF(o, e)
}), [o]),
c = (0, Ee.useCallback)((function() {
return IF(o)
}), [o]),
u = (0, Ee.useCallback)((function() {
return OF(o)
}), [o]),
d = (0, Ee.useCallback)((function(e) {
var t;
null === (t = wF[o]) || void 0 === t || t.resolve(e), delete wF[o]
}), [o]),
p = (0, Ee.useCallback)((function(e) {
var t;
null === (t = wF[o]) || void 0 === t || t.reject(e), delete wF[o]
}), [o]),
h = (0, Ee.useCallback)((function(e) {
var t;
null === (t = kF[o]) || void 0 === t || t.resolve(e), delete kF[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 AF = function(e, t, n) {
gF[e] ? gF[e].props = n : gF[e] = {
comp: t,
props: n
}
},
PF = function() {
var e = (0, Ee.useContext)(fF),
t = Object.keys(e).filter((function(t) {
return !!e[t]
}));
t.forEach((function(e) {
gF[e] || vF[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 gF[e]
})).map((function(e) {
return uF({
id: e
}, gF[e])
}));
return Ee.createElement(Ee.Fragment, null, n.map((function(e) {
return Ee.createElement(e.comp, uF({
key: e.id,
id: e.id
}, e.props))
})))
},
TF = function(e) {
var t = e.children,
n = (0, Ee.useReducer)(xF, hF),
r = n[0];
return _F = n[1], Ee.createElement(fF.Provider, {
value: r
}, t, Ee.createElement(PF, null))
},
RF = function(e) {
return {
visible: e.visible,
onOk: function() {
return e.hide()
},
onCancel: function() {
return e.hide()
},
afterClose: function() {
e.resolveHide(), e.keepMounted || e.remove()
}
}
},
DF = function(e) {
return {
visible: e.visible,
onClose: function() {
return e.hide()
},
afterVisibleChange: function(t) {
t || e.resolveHide(), !t && !e.keepMounted && e.remove()
}
}
},
LF = {
Provider: function(e) {
var t = e.children,
n = e.dispatch,
r = e.modals;
return n && r ? (_F = n, Ee.createElement(fF.Provider, {
value: r
}, t, Ee.createElement(PF, null))) : Ee.createElement(TF, null, t)
},
ModalDef: function(e) {
var t = e.id,
n = e.component;
return (0, Ee.useEffect)((function() {
return AF(t, n),
function() {
! function(e) {
delete gF[e]
}(t)
}
}), [t, n]), null
},
ModalHolder: function(e) {
var t, n = e.modal,
r = e.handler,
i = void 0 === r ? {} : r,
a = dF(e, ["modal", "handler"]),
o = (0, Ee.useMemo)((function() {
return bF()
}), []),
s = "string" === typeof n ? null === (t = gF[n]) || void 0 === t ? void 0 : t.comp : n;
if (!i) throw new Error("No handler found in NiceModal.ModalHolder.");
if (!s) throw new Error("No modal found for id: " + n + " in NiceModal.ModalHolder.");
return i.show = (0, Ee.useCallback)((function(e) {
return EF(o, e)
}), [o]), i.hide = (0, Ee.useCallback)((function() {
return IF(o)
}), [o]), Ee.createElement(s, uF({
id: o
}, a))
},
NiceModalContext: fF,
create: function(e) {
return function(t) {
var n, r = t.defaultVisible,
i = t.keepMounted,
a = t.id,
o = dF(t, ["defaultVisible", "keepMounted", "id"]),
s = CF(a),
l = s.args,
c = s.show,
u = (0, Ee.useContext)(fF),
d = !!u[a];
(0, Ee.useEffect)((function() {
return r && c(), vF[a] = !0,
function() {
delete vF[a]
}
}), [a, c, r]), (0, Ee.useEffect)((function() {
i && _F(function(e, t) {
return {
type: "nice-modal/set-flags",
payload: {
modalId: e,
flags: t
}
}
}(a, {
keepMounted: !0
}))
}), [a, i]);
var p = null === (n = u[a]) || void 0 === n ? void 0 : n.delayVisible;
return (0, Ee.useEffect)((function() {
p && c(l)
}), [p, l, c]), d ? Ee.createElement(mF.Provider, {
value: a
}, Ee.createElement(e, uF({}, o, l))) : null
}
},
register: AF,
getModal: function(e) {
var t;
return null === (t = gF[e]) || void 0 === t ? void 0 : t.comp
},
show: EF,
hide: IF,
remove: OF,
useModal: CF,
reducer: xF,
antdModal: RF,
antdDrawer: DF,
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 NF = LF,
jF = NF.create((({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
typeDialog: i
}) => {
const a = CF(),
{
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(), a.resolve({
resolved: !0
}), a.hide()
}
};
return (0, BR.jsx)(od, {
open: a.visible,
onOpenChange: e => a[e ? "show" : "hide"](),
title: e,
type: null !== i && void 0 !== i ? i : "negative",
close: o("dialog_action_close"),
actions: [s],
children: t
})
}));
NF.register("acknowledgement-dialog", jF);
const MF = NF.create((({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
typeDialog: i,
secondaryCallback: a,
secondaryLabel: o
}) => {
const s = CF(),
{
t: l
} = bt(["dialog"]),
c = [{
label: null !== o && void 0 !== o ? o : l("dialog_warning_back_launcher", {
ns: "dialog"
}),
close: !1,
onClick: () => {
null === a || void 0 === a || a(), 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, BR.jsx)(od, {
open: s.visible,
onOpenChange: e => s[e ? "show" : "hide"](),
title: e,
type: null !== i && void 0 !== i ? i : "negative",
close: l("dialog_action_close"),
actions: c,
children: (0, BR.jsx)("form", {
id: "exitAppForm",
onSubmit: e => {
e.preventDefault();
const t = e.target,
r = new FormData(t),
i = Object.fromEntries(r.entries());
s.resolve({
resolved: !0,
results: i
}), s.hide(), null === n || void 0 === n || n()
},
children: t
})
})
}));
NF.register("form-dialog", MF);
const FF = NF.create((({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
typeDialog: i,
secondaryCallback: a,
secondaryLabel: o,
disablePrimaryUntilScrolled: s
}) => {
const l = CF(),
{
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 === a || void 0 === a || a(), 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, BR.jsx)(od, {
open: l.visible,
onOpenChange: e => (e => {
e || u(!1), l[e ? "show" : "hide"]()
})(e),
title: e,
type: null !== i && void 0 !== i ? i : "negative",
close: c("dialog_action_close"),
actions: [d, p],
children: t
})
}));
NF.register("warning-confirm-dialog", FF);
const zF = e => {
var t, n, r;
const i = Vz((e => e.library)),
a = Vz((e => e.application)),
o = null !== (t = null === (n = a.animations) || void 0 === n || null === (r = n.appLayoutWipe) || void 0 === r ? void 0 : r.isAnimating) && void 0 !== t && t,
{
wipeAnimationsDisabled: s
} = Qo().reduceMotion,
l = CL(),
c = PL(),
{
t: u
} = bt("gamePage"),
d = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
[p, h] = (0, Ee.useState)(c.gameId),
f = (({
location: e,
delay: t
}) => {
const n = CL(),
r = (0, Ee.useRef)(n);
return (0, Ee.useEffect)((() => {
const n = setTimeout((() => {
e && r.current(e)
}), t);
return () => clearTimeout(n)
}), [e, t]), r.current
})({
location: `game-page/${p}`,
delay: d / 2
}),
m = (0, Ee.useCallback)(((e, t) => {
e.preventDefault(), t.id === p || t.id === c.gameId || o || (h(t.id), s ? l(`game-page/${p}`) : (a.actions.setAnimatingAppLayoutWipe("full", !0), f(`game-page/${p}`)))
}), [p, o, l, c.gameId, s, a.actions, f]),
g = (0, Ee.useMemo)((() => null === i || void 0 === i ? void 0 : i.availableGames.sort(iM).map((e => e.channels.length > 0 ? (0, BR.jsx)(wv, {
logo: e.logo,
name: e.name,
active: e.id === p,
onClick: t => m(t, e),
"data-test-id": "game-tab"
}, e.id) : null))), [i, p, m]);
return (0, BR.jsx)(kv, {
title: u("game_page_nav_title", {
count: i.availableGames.length
}),
"data-test-id": "game-navigation",
...e,
children: g
})
},
UF = ({
status: e
}) => {
const {
t: t
} = bt(["gamePage", "status"]), n = e === xP.RSISystemStatus.MAINTENANCE ? t("game_page_status_under_maintenance", {
ns: "gamePage"
}) : t("game_page_status_issue", {
ns: "gamePage"
});
return (0, BR.jsxs)(Zh, {
title: t("status_" + e, {
ns: "status"
}),
status: FR(e),
children: [n, " ", (0, BR.jsx)(ft, {
i18nKey: "game_page_status_more_information",
ns: "gamePage",
components: [(0, BR.jsx)(Pv, {
external: !0,
href: xP.configuration.statusUrl
})]
})]
})
};
function VF() {
return VF = 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
}, VF.apply(this, arguments)
}
function BF(e, t) {
if (null == e) return {};
var n, r, i = {},
a = Object.keys(e);
for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (i[n] = e[n]);
return i
}
new Set(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
const GF = ["onClick", "relative", "reloadDocument", "replace", "state", "target", "to", "preventScrollReset", "unstable_viewTransition"];
function $F() {
var e;
let t = null == (e = window) ? void 0 : e.__staticRouterHydrationData;
return t && t.errors && (t = VF({}, t, {
errors: qF(t.errors)
})), t
}
function qF(e) {
if (!e) return null;
let t = Object.entries(e),
n = {};
for (let [i, a] of t)
if (a && "RouteErrorResponse" === a.__type) n[i] = new SD(a.status, a.statusText, a.data, !0 === a.internal);
else if (a && "Error" === a.__type) {
if (a.__subType) {
let e = window[a.__subType];
if ("function" === typeof e) try {
let t = new e(a.message);
t.stack = "", n[i] = t
} catch (r) {}
}
if (null == n[i]) {
let e = new Error(a.message);
e.stack = "", n[i] = e
}
} else n[i] = a;
return n
}
const WF = Ee.createContext({
isTransitioning: !1
});
const HF = Ee.createContext(new Map);
const KF = Ie.startTransition,
YF = Ja.flushSync;
function QF(e) {
YF ? YF(e) : e()
}
class ZF {
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 XF(e) {
let {
fallbackElement: t,
router: n,
future: r
} = e, [i, a] = 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 || {}, y = Ee.useCallback((e => {
v ? function(e) {
KF ? KF(e) : e()
}(e) : e()
}), [v]), _ = Ee.useCallback(((e, t) => {
let {
deletedFetchers: r,
unstable_flushSync: i,
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 (i) {
QF((() => {
p && (u && u.resolve(), p.skipTransition()), c({
isTransitioning: !0,
flushSync: !0,
currentLocation: o.currentLocation,
nextLocation: o.nextLocation
})
}));
let t = n.window.document.startViewTransition((() => {
QF((() => a(e)))
}));
return t.finished.finally((() => {
QF((() => {
d(void 0), h(void 0), s(void 0), c({
isTransitioning: !1
})
}))
})), void QF((() => 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 i ? QF((() => a(e))) : y((() => a(e)))
}), [n.window, p, u, g, y]);
Ee.useLayoutEffect((() => n.subscribe(_)), [n, _]), Ee.useEffect((() => {
l.isTransitioning && !l.flushSync && d(new ZF)
}), [l]), Ee.useEffect((() => {
if (u && o && n.window) {
let e = o,
t = u.promise,
r = n.window.document.startViewTransition((async () => {
y((() => a(e))), await t
}));
r.finished.finally((() => {
d(void 0), h(void 0), s(void 0), c({
isTransitioning: !1
})
})), h(r)
}
}), [y, o, u, n.window]), Ee.useEffect((() => {
u && o && i.location.key === o.location.key && u.resolve()
}), [u, p, i.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(_L.Provider, {
value: w
}, Ee.createElement(bL.Provider, {
value: i
}, Ee.createElement(HF.Provider, {
value: g.current
}, Ee.createElement(WF.Provider, {
value: l
}, Ee.createElement(qL, {
basename: x,
location: i.location,
navigationType: i.historyAction,
navigator: b
}, i.initialized ? Ee.createElement(JF, {
routes: n.routes,
state: i
}) : t))))), null)
}
function JF(e) {
let {
routes: t,
state: n
} = e;
return RL(t, void 0, n)
}
const ez = "undefined" !== typeof window && "undefined" !== typeof window.document && "undefined" !== typeof window.document.createElement,
tz = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,
nz = Ee.forwardRef((function(e, t) {
let n, {
onClick: r,
relative: i,
reloadDocument: a,
replace: o,
state: s,
target: l,
to: c,
preventScrollReset: u,
unstable_viewTransition: d
} = e,
p = BF(e, GF),
{
basename: h
} = Ee.useContext(xL),
f = !1;
if ("string" === typeof c && tz.test(c) && (n = c, ez)) try {
let e = new URL(window.location.href),
t = c.startsWith("//") ? new URL(e.protocol + c) : new URL(c),
n = fD(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;
EL() || KR(!1);
let {
basename: r,
navigator: i
} = Ee.useContext(xL), {
hash: a,
pathname: o,
search: s
} = TL(e, {
relative: n
}), l = o;
return "/" !== r && (l = "/" === o ? r : yD([r, o])), i.createHref({
pathname: l,
search: s,
hash: a
})
}(c, {
relative: i
}),
g = function(e, t) {
let {
target: n,
replace: r,
state: i,
preventScrollReset: a,
relative: o,
unstable_viewTransition: s
} = void 0 === t ? {} : t, l = CL(), c = IL(), u = TL(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 : XR(c) === XR(u);
l(e, {
replace: n,
state: i,
preventScrollReset: a,
relative: o,
unstable_viewTransition: s
})
}
}), [c, l, u, r, i, n, e, a, o, s])
}(c, {
replace: o,
state: s,
target: l,
preventScrollReset: u,
relative: i,
unstable_viewTransition: d
});
return Ee.createElement("a", VF({}, p, {
href: n || m,
onClick: f || a ? r : function(e) {
r && r(e), e.defaultPrevented || g(e)
},
ref: t,
target: l
}))
}));
var rz, iz;
(function(e) {
e.UseScrollRestoration = "useScrollRestoration", e.UseSubmit = "useSubmit", e.UseSubmitFetcher = "useSubmitFetcher", e.UseFetcher = "useFetcher", e.useViewTransitionState = "useViewTransitionState"
})(rz || (rz = {})),
function(e) {
e.UseFetcher = "useFetcher", e.UseFetchers = "useFetchers", e.UseScrollRestoration = "useScrollRestoration"
}(iz || (iz = {}));
const az = (0, Ee.forwardRef)((({
children: e,
href: t = "",
...n
}, r) => t.startsWith("http") ? (0, BR.jsx)("a", {
href: t,
ref: r,
rel: "noopener noreferrer",
target: "_blank",
...n,
children: e
}) : (0, BR.jsx)(nz, {
ref: r,
to: t,
...n,
children: e
}))),
oz = ({
children: e,
control: t,
name: n,
defaultValue: r,
required: i,
rules: a,
selectProps: o,
...s
}) => {
var l;
const {
field: {
value: c,
onBlur: u,
onChange: d,
ref: p
},
fieldState: {
error: h,
invalid: f
}
} = TN({
name: n,
control: t,
defaultValue: r,
rules: {
required: i,
...a
}
});
return (0, BR.jsx)($h, {
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 : i),
...s,
children: (0, BR.jsx)(ey, {
name: n,
value: null !== c && void 0 !== c ? c : "",
onBlur: u,
onChange: d,
ref: p,
...o,
children: e
})
})
},
sz = ({
control: e,
name: t,
defaultValue: n,
required: r,
rules: i,
type: a,
inputProps: o,
...s
}) => {
var l;
const {
field: {
value: c,
onBlur: u,
onChange: d,
ref: p
},
fieldState: {
error: h,
invalid: f
}
} = TN({
name: t,
control: e,
defaultValue: n,
rules: {
required: r,
...i
}
}), {
t: m
} = bt("form");
return (0, BR.jsx)($h, {
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 : r),
...s,
children: (0, BR.jsx)(Av, {
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: a,
...o
})
})
};
let lz, cz;
! function(e) {
e.SHADERS = "shaders", e.SCREENSHOTS = "screenshots", e.USER = "user"
}(lz || (lz = {})),
function(e) {
e.KEYBINDINGS = "keybindings", e.PREFERENCES = "preferences", e.CHARACTERS = "characters"
}(cz || (cz = {}));
const uz = () => {
const {
t: e
} = bt(["settingsPage"]), t = {
[lz.SHADERS]: !0,
[lz.SCREENSHOTS]: !0,
[lz.USER]: !0,
[cz.KEYBINDINGS]: !0,
[cz.PREFERENCES]: !0,
[cz.CHARACTERS]: !0
}, [n, r] = (0, Ee.useState)(t), i = (0, Ee.useCallback)((e => {
const {
name: t,
checked: n
} = e.target;
r((e => {
const r = {
...e,
[t]: n
};
if (Object.values(cz).includes(t)) {
const e = r.keybindings || r.preferences || r.characters;
r[lz.USER] = e
}
return r
}))
}), []), a = (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(cz).forEach((e => {
r[e] = n
})), r
}))
}), []), o = [];
Object.values(cz).forEach((e => {
o.push(n[e])
}));
const s = o.every(Boolean),
l = o.some(Boolean) && !s;
return (0, BR.jsxs)(Es, {
"aria-labelledby": "legend",
role: "group",
gap: "100",
vertical: !0,
children: [(0, BR.jsx)("p", {
id: "legend",
children: e("settings_games_local_delete_description")
}), (0, BR.jsx)(ed, {
name: lz.SHADERS,
checked: n.shaders,
value: n.shaders.toString(),
onChange: e => i(e),
children: e("settings_games_local_shaders_folder")
}), (0, BR.jsx)(ed, {
name: lz.SCREENSHOTS,
checked: n.screenshots,
value: n.screenshots.toString(),
onChange: e => i(e),
children: e("settings_games_local_screenshots_folder")
}), (0, BR.jsxs)(ed, {
name: lz.USER,
checked: n.user,
value: n.user.toString(),
onChange: e => a(e),
indeterminate: l,
children: [e("settings_games_local_user_folder"), (0, BR.jsxs)(Es, {
vertical: !0,
gap: "100",
className: "sol-u-margin-bs-050",
children: [(0, BR.jsx)(ed, {
name: cz.KEYBINDINGS,
checked: n.keybindings,
value: n.keybindings.toString(),
onChange: e => i(e),
children: e("settings_games_local_keybindings")
}), (0, BR.jsx)(ed, {
name: cz.PREFERENCES,
checked: n.preferences,
value: n.preferences.toString(),
onChange: e => i(e),
children: e("settings_games_local_settings")
}), (0, BR.jsx)(ed, {
name: cz.CHARACTERS,
checked: n.characters,
value: n.characters.toString(),
onChange: e => i(e),
children: e("settings_games_local_characters")
})]
})]
})]
})
},
dz = (e, t) => ({
dialog: {
actions: {
showExitAppDialog: () => {
const e = t();
return NF.show(MF, {
title: _e.t("dialog_warning_exit_app_title", {
ns: "dialog"
}),
content: (0, BR.jsx)(Ju, {
description: _e.t("dialog_warning_exit_app_text", {
ns: "dialog"
}),
gap: "100",
children: (0, BR.jsx)(ed, {
name: "hideDialog",
value: "checked",
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_exit_app_checkbox",
t: _e.t,
ns: "dialog"
})
})
}),
primaryLabel: _e.t("dialog_warning_exit_app_confirm", {
ns: "dialog"
}),
primaryCallback: () => e.window.actions.exitLauncher()
})
},
showWarningExitAppGameRuningDialog: () => NF.show(FF, {
title: _e.t("dialog_warning_exit_app_title", {
ns: "dialog"
}),
content: _e.t("dialog_warning_exit_app_game_running_text", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_ok", {
ns: "dialog"
})
}),
showDiscoverDialog: () => {
const e = t();
return NF.show(FF, {
title: _e.t("dialog_discover_title", {
ns: "dialog"
}),
content: _e.t("dialog_discover_content", {
ns: "dialog"
}),
typeDialog: "default",
primaryLabel: _e.t("dialog_discover_start", {
ns: "dialog"
}),
primaryCallback: () => e.application.actions.setDiscoverStarted(!0),
secondaryLabel: _e.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 NF.show(FF, {
title: _e.t("dialog_warning_logout_title", {
ns: "dialog"
}),
content: _e.t(e ? "dialog_warning_logout_game_running_text" : "dialog_warning_logout_text", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_warning_logout_confirm", {
ns: "dialog"
}),
primaryCallback: async () => {
if (r) return void await uM.logOutCurrentUser();
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
n.application.actions.setAnimatingAppLayoutWipe("in", !0);
const t = setTimeout((() => uM.logOutCurrentUser()), e / 2);
return () => clearTimeout(t)
}
})
},
showOsRequirementsDialog: e => NF.show(jF, {
title: _e.t("error_os_requirements_title", {
ns: "errors"
}),
content: (0, BR.jsx)(ft, {
i18nKey: "error_os_requirements_text",
t: _e.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.minimumRequirementsUrl,
external: !0
})],
values: {
game: e.gameName
}
})
}),
showCpuRequirementsDialog: () => NF.show(jF, {
title: _e.t("error_cpu_requirements_title", {
ns: "errors"
}),
content: _e.t("error_cpu_requirements_text", {
ns: "errors"
})
}),
showWarningDialogErrorOccured: ({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
secondaryLabel: i,
secondaryCallback: a,
error: o
}) => NF.show(FF, {
title: null !== e && void 0 !== e ? e : _e.t("error_generic_title", {
ns: "errors"
}),
content: null !== t && void 0 !== t ? t : (0, BR.jsx)(ft, {
i18nKey: "error_generic_content",
t: _e.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.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 : _e.t("dialog_action_ok", {
ns: "dialog"
}),
primaryCallback: () => null === n || void 0 === n ? void 0 : n(),
secondaryLabel: null !== i && void 0 !== i ? i : _e.t("dialog_action_cancel", {
ns: "dialog"
}),
secondaryCallback: () => null === a || void 0 === a ? void 0 : a()
}),
showWarningDialogCacheClear: () => NF.show(FF, {
title: _e.t("dialog_debug_cache_clear_title", {
ns: "dialog"
}),
content: _e.t("dialog_debug_cache_clear_content", {
ns: "dialog"
}),
typeDialog: "default",
primaryLabel: _e.t("dialog_debug_cache_clear_button", {
ns: "dialog"
}),
primaryCallback: () => {
window.launcherAPI.store.clearStore()
},
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
}),
showAcknowledgeDialogErrorOccured: ({
title: e,
content: t,
primaryCallback: n,
primaryLabel: r,
error: i
}) => NF.show(jF, {
title: null !== e && void 0 !== e ? e : _e.t("error_generic_title", {
ns: "errors"
}),
content: null !== t && void 0 !== t ? t : (0, BR.jsx)(ft, {
i18nKey: "error_generic_content",
t: _e.t,
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
external: !0
}), (0, BR.jsx)(Pv, {
href: xP.configuration.filesSupportUrl,
external: !0
})],
values: {
code: null === i || void 0 === i ? void 0 : i.code
}
}),
primaryCallback: () => null === n || void 0 === n ? void 0 : n(),
primaryLabel: null !== r && void 0 !== r ? r : void 0
}),
showWarningsDialog: (e, t) => NF.show(FF, {
title: e,
typeDialog: "positive",
content: CR(t),
secondaryLabel: _e.t("dialog_action_close", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_acknowledge", {
ns: "dialog"
})
}),
showAgreementsDialog: (e, t, n) => NF.show(FF, {
title: e,
typeDialog: "positive",
content: CR(`<h1>${t}</h1>${n}`),
secondaryLabel: _e.t("dialog_action_decline", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_accept", {
ns: "dialog"
}),
disablePrimaryUntilScrolled: !0
}),
showResetSettingsDialog: e => {
const n = t();
return NF.show(FF, {
title: _e.t("dialog_settings_reset_title", {
ns: "dialog"
}),
content: _e.t("dialog_settings_reset_content", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_settings_reset_button", {
ns: "dialog"
}),
primaryCallback: () => {
n.settings.actions.resetChannelGameSettings(e)
}
})
},
showDeleteLocalSettingsDialog: () => NF.show(MF, {
title: _e.t("dialog_settings_delete_local_title", {
ns: "dialog"
}),
content: (0, BR.jsx)(uz, {}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_delete", {
ns: "dialog"
})
}),
showGameNotInstalledDialog: e => NF.show(FF, {
title: _e.t("dialog_settings_game_not_installed_title", {
ns: "dialog"
}),
content: _e.t("dialog_settings_game_not_installed_content", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_install", {
ns: "dialog"
}),
primaryCallback: () => {
mM.addInstallationToQueue(e, xP.InstallationType.INSTALL)
}
}),
showGameStartInstallationDialog: async (e, n, r) => {
const i = t(),
a = i.settings.appSettings.accessibility.reduceMotion.wipeAnimationsDisabled,
o = await eM(e);
return NF.show(FF, {
typeDialog: "default",
title: _e.t("dialog_start_installation_title", {
ns: "dialog",
game: e.gameName,
channel: e.channelName
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, BR.jsxs)(Es, {
role: "group",
gap: "0",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: _e.t("dialog_start_installation_content_location", {
ns: "dialog"
})
}), (0, BR.jsxs)("p", {
children: [(0, BR.jsx)("span", {
className: "sol-u-color-foreground",
children: DR(n)
}), o.installDir, "\\", e.channelId]
})]
}), (0, BR.jsx)("p", {
children: r ? _e.t("dialog_start_installation_content_location_close_popover", {
ns: "dialog"
}) : _e.t("dialog_start_installation_content_location_settings", {
ns: "dialog"
})
})]
}),
secondaryLabel: r ? _e.t("dialog_action_cancel", {
ns: "dialog"
}) : _e.t("dialog_start_installation_action_go_to_settings", {
ns: "dialog"
}),
secondaryCallback: r ? void 0 : () => {
const t = dD(`/${NU.SETTINGS}/${NU.SETTINGS_GAMES}`, {
gameId: e.gameId,
channelId: e.channelId
});
if (!a) return void(window.location.hash = t);
const n = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
i.application.actions.setAnimatingAppLayoutWipe("full", !0);
const r = setTimeout((() => {
window.location.hash = t
}), n / 2);
return () => clearTimeout(r)
},
primaryLabel: _e.t("dialog_start_installation_action_install", {
ns: "dialog"
}),
primaryCallback: () => {
mM.addInstallationToQueue(e, xP.InstallationType.INSTALL)
}
})
},
showGameCancelInstallationDialog: e => {
const n = t(),
r = {
title: "",
content: ""
};
switch (e.type) {
case xP.InstallationType.INSTALL:
r.title = _e.t("dialog_cancel_install_title", {
ns: "dialog"
}), r.content = _e.t("dialog_cancel_install_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release?e.release.versionLabel+" - ":""}${e.game.channelId}`
});
break;
case xP.InstallationType.VERIFY:
r.title = _e.t("dialog_cancel_verify_title", {
ns: "dialog"
}), r.content = _e.t("dialog_cancel_verify_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release?e.release.versionLabel+" - ":""}${e.game.channelId}`
});
break;
case xP.InstallationType.UPDATE:
r.title = _e.t("dialog_cancel_update_title", {
ns: "dialog"
}), r.content = _e.t("dialog_cancel_update_content", {
ns: "dialog",
info: `${e.game.gameName} - ${e.release?e.release.versionLabel+" - ":""}${e.game.channelId}`
})
}
return NF.show(FF, {
title: r.title,
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: r.content
}), e.type === xP.InstallationType.INSTALL && (0, BR.jsx)(ed, {
type: "checkbox",
onChange: t => mM.setInstallationOptions(e.game, {
keepFilesOnCancel: t.target.checked
}),
children: _e.t("dialog_cancel_install_content_keep_files_downloaded", {
ns: "dialog"
})
})]
}),
secondaryLabel: _e.t("dialog_action_discard", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
}),
secondaryCallback: () => {
n.application.actions.setDownloadPopoverOpened(!0)
},
primaryCallback: () => {
mM.removeInstallation(e.game), n.application.actions.setDownloadPopoverOpened(!0)
}
})
},
showGameChannelUpdateAvailableDialog: e => NF.show(jF, {
typeDialog: "positive",
title: _e.t("dialog_launch_check_update_available_title", {
ns: "dialog"
}),
content: _e.t("dialog_launch_check_update_available_content", {
ns: "dialog",
game: e.gameName,
channel: e.channelName
})
}),
showWarningUninstallDialog: e => NF.show(MF, {
title: _e.t("dialog_warning_uninstall_title", {
game: e.gameName,
channel: e.channelName,
ns: "dialog"
}),
content: (0, BR.jsx)(Ju, {
description: _e.t("dialog_warning_uninstall_text", {
ns: "dialog"
}),
gap: "100",
children: (0, BR.jsx)(ed, {
name: "keepUserFolder",
value: "checked",
description: be("dialog_warning_uninstall_userFolder_checkbox_description", {
ns: "dialog",
path: DR(`${e.libraryFolder}\\${e.installDir}\\${e.channelId}\\user`)
}),
defaultChecked: !0,
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_uninstall_userFolder_checkbox",
t: _e.t,
ns: "dialog"
})
})
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
}),
primaryLabel: _e.t("dialog_warning_uninstall_confirm", {
ns: "dialog"
})
}),
showLostConnectionDialog: () => NF.show(jF, {
typeDialog: "default",
title: _e.t("dialog_warning_lost_connection_title", {
ns: "dialog"
}),
content: (0, BR.jsx)("span", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_lost_connection_content",
t: _e.t,
ns: "dialog"
})
}),
primaryLabel: _e.t("dialog_action_continue_offline", {
ns: "dialog"
})
}),
showDuplicateLibraryDialog: () => NF.show(jF, {
typeDialog: "negative",
title: _e.t("dialog_warning_duplicate_library_title", {
ns: "dialog"
}),
content: (0, BR.jsx)("span", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_duplicate_library_content",
t: _e.t,
ns: "dialog"
})
}),
primaryLabel: _e.t("dialog_action_ok", {
ns: "dialog"
})
}),
showDeleteLibraryDialog: (e, t) => NF.show(FF, {
typeDialog: "negative",
title: _e.t("dialog_warning_delete_game_library_title", {
ns: "dialog"
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_location",
t: _e.t,
ns: "dialog"
})
}), (0, BR.jsx)("b", {
children: e
})]
}), t.filter((e => e.channels.length > 0)).length > 0 && (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: _e.t,
ns: "dialog"
})
}), null === t || void 0 === t ? void 0 : t.map(((e, t) => e.channels.map((n => (0, BR.jsxs)("b", {
children: [e.name, " - ", n.name]
}, t))))), (0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_content",
t: _e.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: _e.t("dialog_action_delete", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
}),
showReplaceInstalledLibraryDialog: (e, t, n) => NF.show(FF, {
typeDialog: "notice",
title: _e.t("dialog_warning_change_game_title_dialog", {
ns: "dialog"
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_installed_game_question_dialog",
t: _e.t,
ns: "dialog"
})
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
children: t
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
multiline: !0,
children: e
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), n.filter((e => e.channels.length > 0)).length > 0 && (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: _e.t,
ns: "dialog"
})
}), null === n || void 0 === n ? void 0 : n.map(((e, t) => e.channels.map((n => (0, BR.jsxs)("b", {
children: [e.name, " - ", n.name]
}, t))))), (0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: _e.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: _e.t("dialog_action_proceed", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
}),
showReplaceInstalledDefaultLibraryDialog: (e, t, n) => NF.show(FF, {
typeDialog: "notice",
title: _e.t("dialog_warning_set_default_library_title", {
ns: "dialog"
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "150",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_set_default_library_content",
t: _e.t,
ns: "dialog"
})
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
children: t
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
children: e
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), n.filter((e => e.channels.length > 0)).length > 0 && (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_delete_game_library_games",
t: _e.t,
ns: "dialog"
})
}), null === n || void 0 === n ? void 0 : n.map(((e, t) => e.channels.map((n => (0, BR.jsxs)("b", {
children: [e.name, " - ", n.name]
}, t))))), (0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: _e.t,
ns: "dialog"
})
})]
})]
}),
primaryLabel: _e.t("dialog_action_set_default_library", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
}),
showSetDefaultLibraryDialog: e => NF.show(FF, {
typeDialog: "default",
title: _e.t("dialog_warning_set_default_library_title", {
ns: "dialog"
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_set_default_library_content",
t: _e.t,
ns: "dialog"
})
}), (0, BR.jsx)("b", {
children: e
})]
}),
primaryLabel: _e.t("dialog_action_set_default_library", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
}),
showChannelLibraryChangeDialog: (e, t, n) => NF.show(FF, {
typeDialog: "notice",
title: _e.t("dialog_warning_change_game_title_dialog", {
ns: "dialog"
}),
content: (0, BR.jsxs)(Es, {
role: "group",
gap: "100",
vertical: !0,
children: [(0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_question_dialog",
t: _e.t,
ns: "dialog",
values: {
game: n.gameName,
channel: n.channelName
}
})
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_current_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
children: e
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(e)
})]
})]
}), (0, BR.jsxs)(Es, {
gap: "0",
vertical: !0,
children: [(0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_new_dialog",
t: _e.t,
ns: "dialog"
}), (0, BR.jsxs)(Es, {
gap: "50",
children: [(0, BR.jsx)(ds, {
variant: "body-m-bold",
children: t
}), (0, BR.jsx)(gs, {
icon: DM,
variant: "plain",
size: "small",
onClick: () => window.launcherAPI.settings.openFileSystemDialog(t)
})]
})]
}), (0, BR.jsx)("p", {
children: (0, BR.jsx)(ft, {
i18nKey: "dialog_warning_change_game_warn_dialog",
t: _e.t,
ns: "dialog"
})
})]
}),
primaryLabel: _e.t("dialog_action_proceed", {
ns: "dialog"
}),
secondaryLabel: _e.t("dialog_action_cancel", {
ns: "dialog"
})
})
}
}
}),
pz = 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
}],
hz = {
reduceMotion: {
syncWithSystem: !1,
backgroundVideoDisabled: !1,
unessentialAnimationsDisabled: !1,
wipeAnimationsDisabled: !1
}
},
fz = {
appSettings: {
quitOnWindowClose: !1,
hideQuitWarning: !1,
isDiscoverDone: !1,
download: {
concurrentTransfers: pz[0].value,
maximumDownloadBandwidth: 0,
forceDataPatcher: !1
},
accessibility: hz
}
},
mz = ({
gamesSettings: e = [],
quitOnWindowClose: t = fz.appSettings.quitOnWindowClose,
hideQuitWarning: n = fz.appSettings.hideQuitWarning,
isDiscoverDone: r = fz.appSettings.isDiscoverDone,
download: i = fz.appSettings.download,
accessibility: a = fz.appSettings.accessibility
} = {}) => ({
...fz,
appSettings: {
...fz.appSettings,
quitOnWindowClose: t,
hideQuitWarning: n,
isDiscoverDone: r,
download: i,
accessibility: a
},
gamesSettings: e
}),
gz = (e, t) => ({
settings: {
...mz(),
actions: {
initializeApplicationSettings: async () => {
const n = await window.launcherAPI.store.getValueFromStore("application.quitOnWindowClose"),
r = await window.launcherAPI.store.getValueFromStore("application.hideQuitWarning"),
i = await window.launcherAPI.store.getValueFromStore("application.isDiscoverDone"),
a = await window.launcherAPI.store.getValueFromStore("application.download"),
o = await t().settings.actions.getAccessibilitySettingsFromPersistentStore();
e((e => ({
settings: {
...e.settings,
...mz({
gamesSettings: e.settings.gamesSettings,
quitOnWindowClose: n,
hideQuitWarning: r,
isDiscoverDone: i,
download: a,
accessibility: o
})
}
})))
},
initializeGameSettings: async () => {
const {
library: n
} = t(), r = await window.launcherAPI.store.getValueFromStore("library.settings"), i = n.actions.getAvailableGamesChannelsWeightSorted().map((e => e.channels.map((t => ({
...r.find((n => n.channelId === t.id && n.gameId === e.id)),
gameId: e.id,
gameName: e.name,
channelId: t.id,
channelName: t.name,
platformId: t.platformId,
installDir: t.installDir
})))));
e((e => ({
settings: {
...e.settings,
gamesSettings: i.flat()
}
})))
},
getChannelDefaultGameSettings: e => {
const {
storage: n
} = t(), {
gameId: r,
channelId: i,
platformId: a,
gameName: o,
channelName: s
} = e;
return {
gameId: r,
gameName: o,
channelId: i,
channelName: s,
platformId: a,
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: i,
channelId: a
} = n;
try {
const {
gamesSettings: t
} = r.settings, o = r.settings.actions.getChannelDefaultGameSettings(n);
let s = [...t.filter((e => e.channelId !== a)), o].sort(((e, t) => rM(e.channelId, t.channelId)));
e((e => ({
settings: {
...e.settings,
gamesSettings: s
}
})));
const l = (await window.launcherAPI.store.getValueFromStore("library.settings")).filter((e => e.gameId !== i || e.channelId !== a));
window.launcherAPI.store.setValueToStore("library.settings", l)
} catch (o) {
console.error("[ResetSettings - error]", o)
}
},
saveChannelGameSettings: async n => {
const {
channelId: r
} = n, {
gamesSettings: i
} = t().settings;
let a = [...i.filter((e => e.channelId !== r)), n].sort(((e, t) => rM(e.channelId, t.channelId)));
e((e => ({
settings: {
...e.settings,
gamesSettings: a
}
})));
const o = await window.launcherAPI.store.getValueFromStore("library.settings");
if (o) {
const e = [...o.filter((e => e.channelId !== r)), {
...n
}].sort(((e, t) => rM(e.channelId, t.channelId)));
window.launcherAPI.store.setValueToStore("library.settings", e)
} else window.launcherAPI.store.setValueToStore("library.settings", a)
},
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: i,
library: a,
dialog: o,
storage: s
} = t(), l = (null === (r = i.gamesSettings.find((t => e.channelId === t.channelId))) || void 0 === r ? void 0 : r.libraryFolder) || s.defaultLibraryFolder, c = await a.installedGames.map((e => {
const t = e.channels.filter((e => DR(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(i.gamesSettings.map((async t => {
if (t.channelId === e.channelId) {
const e = {
...t,
libraryFolder: n
};
await i.actions.saveChannelGameSettings(e)
}
}))), await a.actions.removeInstalledGameChannel(e), !0
},
setLibraryFolderToDefault: async n => {
const {
storage: r,
settings: i
} = t(), a = i.gamesSettings.map((e => (n.find((({
libraryFolder: t
}) => t === e.libraryFolder)) && (e.libraryFolder = r.defaultLibraryFolder), e)));
e((e => ({
settings: {
...e.settings,
gamesSettings: a
}
}))), await window.launcherAPI.store.setValueToStore("library.settings", i.gamesSettings)
},
setLibraryFolderToNewPath: async (n, r) => {
const {
settings: i
} = t(), a = i.gamesSettings.map((e => (n.find((({
libraryFolder: t
}) => t === e.libraryFolder)) && (e.libraryFolder = r), e)));
e((e => ({
settings: {
...e.settings,
gamesSettings: a
}
}))), await window.launcherAPI.store.setValueToStore("library.settings", i.gamesSettings)
}
}
}
});
let vz = null;
const yz = e => Object.entries(e).reduce(((e, [t, n]) => ({
...e,
[t]: `${xP.configuration.assets.directory}${n}`
})), {}),
_z = e => ({
volume: null !== e && void 0 !== e ? e : 50,
previousVolume: null,
system: null,
soundList: yz(xP.configuration.assets.sounds),
trackList: yz(xP.configuration.assets.musics)
}),
bz = (e, t) => ({
soundSystem: {
..._z(),
actions: {
initializeSoundContext: async () => {
var t;
const n = await window.launcherAPI.store.getValueFromStore("application.volume"),
r = _z(n);
vz = null !== (t = vz) && void 0 !== t ? t : new sR({
sounds: r.soundList,
musics: r.trackList,
volume: r.volume
}), e((e => ({
soundSystem: {
...e.soundSystem,
...r,
system: vz
}
}))), vz.playSound("open"), vz.playBackgroundTrack()
},
changeVolume: (n, r = 0) => {
const i = t().soundSystem.system;
if (!i) return;
let a = t().soundSystem.volume;
const o = setInterval((() => {
r > 0 && a !== n ? a = a < n ? Math.min(a + 1, n) : Math.max(a - 1, n) : clearInterval(o);
const t = r > 0 ? a : n;
e((e => ({
soundSystem: {
...e.soundSystem,
previousVolume: a,
volume: t
}
}))), window.launcherAPI.store.setValueToStore("application.volume", t), i.setGain(t)
}), r ? r / (n > a ? n - a : a - 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
}
})))
}
}
}
}),
xz = {
defaultLibraryFolder: "",
additionalLibraries: []
},
wz = e => ({
storage: {
...xz,
actions: {
initialize: async () => {
var t;
const n = null !== (t = await window.launcherAPI.storage.getDefaultLibrary()) && void 0 !== t ? t : `${xP.configuration.infoApp.defaultLibraryPath}${xP.configuration.infoApp.defaultLibraryFolder}`,
r = await window.launcherAPI.storage.getAdditionalLibraries() || [];
e((e => ({
storage: {
...e.storage,
defaultLibraryFolder: DR(n),
additionalLibraries: r
}
})))
},
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 kz = new class {
async checkDuplicateLibraryFolder(e, t) {
const {
storage: n,
dialog: r
} = Vz.getState(), i = t.some((t => t === e)), a = n.defaultLibraryFolder === e;
return !(!i && !a) && (await r.actions.showDuplicateLibraryDialog(), !0)
}
async handleSettingsLibraries(e, t) {
const {
settings: n
} = Vz.getState();
await n.actions.setLibraryFolderToNewPath(t, e)
}
async removeInstalledChannel(e) {
const {
library: t
} = Vz.getState(), n = e.filter((e => e.channels.length > 0));
n && await Promise.all(n.map((async e => {
await t.actions.prepInstalledChannelForRemoval(e)
})))
}
async getEffectedGamesAndSettings(e) {
const {
library: t,
settings: n
} = Vz.getState();
return {
effectedInstalledGameList: await t.installedGames.map((t => {
const n = t.channels.filter((t => DR(t.libraryFolder) === e));
return {
...t,
channels: n
}
})),
effectedSettingsChannels: await n.gamesSettings.filter((t => e === t.libraryFolder))
}
}
async saveDefaultLibraryFolder(e, t) {
const {
storage: n,
dialog: r
} = Vz.getState(), i = n.additionalLibraries || [];
if (await this.checkDuplicateLibraryFolder(e, i)) return !1;
const {
effectedInstalledGameList: a,
effectedSettingsChannels: o
} = await this.getEffectedGamesAndSettings(t), {
resolved: s
} = await r.actions.showReplaceInstalledDefaultLibraryDialog(e, t, a);
return !!s && (o.length > 0 && await this.handleSettingsLibraries(e, o), await this.removeInstalledChannel(a), n.actions.setDefaultLibraryFolder(e), this.setDefaultLibUpdatedToast(), !0)
}
async saveAdditionalLibraryFolders(e) {
const {
storage: t
} = Vz.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
} = Vz.getState(), {
resolved: i
} = await r.actions.showSetDefaultLibraryDialog(e);
if (!i) return !1;
const a = n.defaultLibraryFolder,
o = n.additionalLibraries || [];
return o[t] = a, n.actions.setDefaultLibraryFolder(e), n.actions.setAdditionalLibraryFolders(o), this.setDefaultLibUpdatedToast(), !0
}
async replaceAdditionalLibraryFolder(e, t, n) {
const {
storage: r,
dialog: i
} = Vz.getState(), a = r.additionalLibraries || [];
if (await this.checkDuplicateLibraryFolder(e, a)) return !1;
const {
effectedInstalledGameList: o,
effectedSettingsChannels: s
} = await this.getEffectedGamesAndSettings(t), {
resolved: l
} = await i.actions.showReplaceInstalledLibraryDialog(e, t, o);
return !!l && (s.length > 0 && await this.handleSettingsLibraries(e, s), await this.removeInstalledChannel(o), a[n] = e, r.actions.setAdditionalLibraryFolders(a), this.setNewLibraryToast(), !0)
}
async deleteAdditionalLibrary(e, t) {
const {
storage: n,
dialog: r
} = Vz.getState(), {
effectedInstalledGameList: i,
effectedSettingsChannels: a
} = await this.getEffectedGamesAndSettings(e), {
resolved: o
} = await r.actions.showDeleteLibraryDialog(e, i);
if (!o) return !1;
a.length > 0 && await this.handleSettingsLibraries(e, a), await this.removeInstalledChannel(i);
const s = n.additionalLibraries || [];
return s.splice(t, 1), n.actions.setAdditionalLibraryFolders(s), this.setDeleteLibraryToast(), !0
}
setDeleteLibraryToast() {
const {
toasts: e
} = Vz.getState();
return e.actions.add({
title: _e.t("settings_toast_delete_lib_success", {
ns: "settingsPage"
}),
type: "negative",
duration: jR,
closeOnClick: !0
})
}
setNewLibraryToast() {
const {
toasts: e
} = Vz.getState();
return e.actions.add({
title: _e.t("settings_toast_lib_added", {
ns: "settingsPage"
}),
type: "positive",
duration: jR,
closeOnClick: !0
})
}
setDefaultLibUpdatedToast() {
const {
toasts: e
} = Vz.getState();
return e.actions.add({
title: _e.t("settings_toast_default_lib_updated", {
ns: "settingsPage"
}),
type: "positive",
duration: jR,
closeOnClick: !0
})
}
},
Sz = {
randomUUID: "undefined" !== typeof crypto && crypto.randomUUID && crypto.randomUUID.bind(crypto)
};
let Ez;
const Iz = new Uint8Array(16);
function Oz() {
if (!Ez && (Ez = "undefined" !== typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Ez)) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
return Ez(Iz)
}
const Cz = [];
for (let n = 0; n < 256; ++n) Cz.push((n + 256).toString(16).slice(1));
function Az(e, t = 0) {
return (Cz[e[t + 0]] + Cz[e[t + 1]] + Cz[e[t + 2]] + Cz[e[t + 3]] + "-" + Cz[e[t + 4]] + Cz[e[t + 5]] + "-" + Cz[e[t + 6]] + Cz[e[t + 7]] + "-" + Cz[e[t + 8]] + Cz[e[t + 9]] + "-" + Cz[e[t + 10]] + Cz[e[t + 11]] + Cz[e[t + 12]] + Cz[e[t + 13]] + Cz[e[t + 14]] + Cz[e[t + 15]]).toLowerCase()
}
const Pz = function(e, t, n) {
if (Sz.randomUUID && !t && !e) return Sz.randomUUID();
const r = (e = e || {}).random || (e.rng || Oz)();
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 Az(r)
},
Tz = {
list: []
},
Rz = (e, t) => ({
toasts: {
...Tz,
actions: {
async init() {
const e = t();
window.launcherAPI.autoUpdate.onNewVersionInstalled((() => {
e.toasts.actions.add({
title: WM("auto_update_toast_update_installed"),
type: "positive",
icon: CM,
closeOnClick: !1
}, !0)
}))
},
async add(n, r = !1) {
const i = await window.launcherAPI.window.isMinimized(),
a = t(),
o = Pz();
r && window.launcherAPI.notification.show({
title: PR(n.title),
body: PR(n.children)
}), i || e({
toasts: {
...a.toasts,
list: [...a.toasts.list, {
...n,
id: o,
onClose: e => a.toasts.actions.remove(e)
}]
}
})
},
remove(n) {
const r = t();
e({
toasts: {
...r.toasts,
list: r.toasts.list.filter((e => e.id !== n))
}
})
}
}
}
}),
Dz = (e, t) => ({
window: {
actions: {
openInternalWindow: async (e, t) => {
const n = Vz.getState().application,
r = Vz.getState().user,
i = n.platformMaster,
a = r.sessions[i],
o = r.device,
s = [{
name: "viewed_cookie_notif",
value: "1",
sameSite: "unspecified"
}, {
name: "viewed_privacy_notif",
value: "1",
sameSite: "unspecified"
}];
s.push({
name: a.cookie,
value: a.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,
dialog: n,
settings: r
} = t(), {
wipeAnimationsDisabled: i
} = r.appSettings.accessibility.reduceMotion;
if (e.isGameRunning) return n.actions.showWarningExitAppGameRuningDialog();
if (i) return void TR().window.setQuitWindow();
const a = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
return e.actions.setAnimatingAppLayoutWipe("in", !0), setTimeout((() => {
TR().window.setQuitWindow()
}), a / 2)
},
closeLauncher: async () => {
const {
application: n,
dialog: r,
settings: i,
window: a
} = t(), {
wipeAnimationsDisabled: o
} = i.appSettings.accessibility.reduceMotion, s = i.appSettings.quitOnWindowClose, l = i.appSettings.hideQuitWarning, c = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)), u = () => {
s ? a.actions.exitLauncher() : TR().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 e = t();
return e.dialog.actions.showLogoutDialog(e.application.isGameRunning)
}
}
}
}),
Lz = e => {
let t;
const n = new Set,
r = (e, r) => {
const i = "function" === typeof e ? e(t) : e;
if (!Object.is(i, t)) {
const e = t;
t = (null != r ? r : "object" !== typeof i || null === i) ? i : Object.assign({}, t, i), n.forEach((n => n(t, e)))
}
},
i = () => t,
a = {
setState: r,
getState: i,
getInitialState: () => o,
subscribe: e => (n.add(e), () => n.delete(e))
},
o = t = e(r, i, a);
return a
},
Nz = e => e;
const jz = e => {
const t = (e => e ? Lz(e) : Lz)(e),
n = e => function(e, t = Nz) {
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
},
Mz = new Map,
Fz = e => {
const t = Mz.get(e);
return t ? Object.fromEntries(Object.entries(t.stores).map((([e, t]) => [e, t.getState()]))) : {}
},
zz = (e, t = {}) => (n, r, i) => {
const {
enabled: a,
anonymousActionType: o,
store: s,
...l
} = t;
let c;
try {
c = (null == a || a) && window.__REDUX_DEVTOOLS_EXTENSION__
} catch (m) {}
if (!c) return e(n, r, i);
const {
connection: u,
...d
} = ((e, t, n) => {
if (void 0 === e) return {
type: "untracked",
connection: t.connect(n)
};
const r = Mz.get(n.name);
if (r) return {
type: "tracked",
store: e,
...r
};
const i = {
connection: t.connect(n),
stores: {}
};
return Mz.set(n.name, i), {
type: "tracked",
store: e,
...i
}
})(s, c, l);
let p = !0;
i.setState = (e, t, a) => {
const c = n(e, t);
if (!p) return c;
const d = void 0 === a ? {
type: o || "anonymous"
} : "string" === typeof a ? {
type: a
} : a;
return void 0 === s ? (null == u || u.send(d, r()), c) : (null == u || u.send({
...d,
type: `${s}/${d.type}`
}, {
...Fz(l.name),
[s]: i.getState()
}), c)
};
const h = (...e) => {
const t = p;
p = !1, n(...e), p = t
},
f = e(i.setState, r, i);
if ("untracked" === d.type ? null == u || u.init(f) : (d.stores[d.store] = i, null == u || u.init(Object.fromEntries(Object.entries(d.stores).map((([e, t]) => [e, e === d.store ? f : t.getState()]))))), i.dispatchFromDevtools && "function" === typeof i.dispatch) {
let e = !1;
const t = i.dispatch;
i.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") : Uz(e.payload, (e => {
if ("__setState" !== e.type) i.dispatchFromDevtools && "function" === typeof i.dispatch && i.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(i.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(i.getState()) : null == u ? void 0 : u.init(Fz(l.name));
case "COMMIT":
return void 0 === s ? void(null == u || u.init(i.getState())) : null == u ? void 0 : u.init(Fz(l.name));
case "ROLLBACK":
return Uz(e.state, (e => {
if (void 0 === s) return h(e), void(null == u || u.init(i.getState()));
h(e[s]), null == u || u.init(Fz(l.name))
}));
case "JUMP_TO_STATE":
case "JUMP_TO_ACTION":
return Uz(e.state, (e => {
void 0 !== s ? JSON.stringify(i.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
},
Uz = (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 Vz = (Bz ? jz(Bz) : jz)(zz(((...e) => ({
...yM(...e),
...GM(...e),
...$M(...e),
...gz(...e),
...bz(...e),
...nF(...e),
...jj(...e),
...YM(...e),
...xR(...e),
...dz(...e),
...Rz(...e),
...cM(...e),
...Dz(...e),
...wz(...e)
})), {
name: "launcher-store",
enabled: !0,
trace: !0
}));
var Bz;
const Gz = () => {
var e, t;
const {
t: n
} = bt("settingsPage"), r = Vz((e => e.application)), i = null !== (e = r.launcherVersion.includes("rc")) && void 0 !== e && e;
return (0, BR.jsx)(ty, {
title: n("settings_about_title"),
children: (0, BR.jsxs)(ds, {
color: "foreground-weak",
variant: "body-m",
multiline: !0,
children: [(0, BR.jsx)("img", {
src: `${xP.configuration.assets.directory}/logos/cig-logo.svg`,
alt: n("settings_about_logo_alt"),
width: "120"
}), (0, BR.jsx)("p", {
children: n("settings_about_copyright", {
year: (new Date).getFullYear()
})
}), (0, BR.jsx)("hr", {}), (0, BR.jsxs)("p", {
children: [(0, BR.jsxs)("strong", {
children: [n("settings_about_launcher_version"), " "]
}), null !== (t = r.launcherVersion) && void 0 !== t ? t : "\u2013", i && (0, BR.jsxs)("strong", {
style: {
color: "var(--sol-color-status-notice"
},
children: [" ", n("settings_about_launcher_preversion")]
})]
})]
})
})
};
function $z(e, t, n) {
var r = this,
i = (0, Ee.useRef)(null),
a = (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,
y = g ? Math.max(+n.maxWait || 0, t) : null;
(0, Ee.useEffect)((function() {
return d.current = !0,
function() {
d.current = !1
}
}), []);
var _ = (0, Ee.useMemo)((function() {
var e = function(e) {
var t = s.current,
n = l.current;
return s.current = l.current = null, a.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)
},
_ = function(e) {
if (!d.current) return !1;
var n = e - i.current;
return !i.current || n >= t || n < 0 || g && e - a.current >= y
},
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 (_(r)) return b(r);
if (d.current) {
var o = t - (r - i.current),
s = g ? Math.min(o, y - (r - a.current)) : o;
n(e, s)
}
},
w = function() {
if (p || v) {
var u = Date.now(),
h = _(u);
if (s.current = [].slice.call(arguments), l.current = r, i.current = u, h) {
if (!o.current && d.current) return a.current = i.current, n(x, t), f ? e(i.current) : c.current;
if (g) return n(x, t), e(i.current)
}
return o.current || n(x, t), c.current
}
};
return w.cancel = function() {
o.current && (h ? cancelAnimationFrame(o.current) : clearTimeout(o.current)), a.current = 0, s.current = i.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, y, m, h, p, v]);
return _
}
function qz(e, t, n) {
var r = void 0 === n ? {} : n,
i = r.leading,
a = r.trailing;
return $z(e, t, {
maxWait: t,
leading: void 0 === i || i,
trailing: void 0 === a || a
})
}
const Wz = () => {
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
}]), [i, a] = (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 = Vz((e => e.settings)), l = qz((async e => await s.actions.setAccessibilitySettingsToPersistentStore(e)), 400), c = (0, Ee.useCallback)((() => {
const e = n.some((e => e.dirty)),
t = i.dirty;
return e || t
}), [n, i]), u = (0, Ee.useCallback)((async () => {
var e;
const n = s.actions.getAccessibilitySettings(),
i = null !== (e = await s.actions.getAccessibilitySettingsFromPersistentStore()) && void 0 !== e ? e : hz,
o = await s.actions.getAnimationSystemSettings();
t(o.prefersReducedMotion), a((e => {
const t = n.reduceMotion.syncWithSystem !== i.reduceMotion.syncWithSystem;
return {
...e,
value: i.reduceMotion.syncWithSystem,
dirty: t
}
})), i.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 = i.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
}))))), a((t => ({
...t,
value: e,
dirty: !0
})));
const c = [...n.map((t => ({
id: t.id,
value: !!e && o.prefersReducedMotion
}))), ...i && [{
id: "syncWithSystem",
value: e
}]];
l(c)
}), [l]);
return (0, Ee.useEffect)((() => {
u()
}), []), (0, BR.jsxs)(Ju, {
title: o("settings_accessibility_reduce_motion_title"),
description: o("settings_accessibility_reduce_motion_description"),
children: [(0, BR.jsx)(ed, {
checked: i.value,
type: "checkbox",
onChange: ({
target: {
checked: e
}
}) => p(e),
description: o(i.description),
warning: i.dirty,
children: o(i.title)
}), (0, BR.jsx)(Es, {
vertical: !0,
gap: "100",
className: "sol-u-padding-is-250",
children: n.map((e => (0, BR.jsx)(ed, {
type: "toggle",
description: o(e.description),
checked: e.value,
onChange: ({
target: {
checked: t
}
}) => d(t, e.id),
disabled: i.value,
warning: e.dirty,
children: o(e.title)
}, e.id)))
}), i.value && (0, BR.jsx)(Xu, {
className: "sol-u-padding-is-250",
children: (0, BR.jsx)(Zu, {
type: "informative",
children: o("settings_accessibility_reduce_motion_information_" + (e ? "enabled" : "disabled"))
})
}), c() && (0, BR.jsx)(Zu, {
className: "sol-u-margin-bs-150",
type: "notice",
icon: UM,
children: (0, BR.jsx)(ft, {
i18nKey: "settings_accessibility_reduce_motion_information_restart_link_label",
ns: "settingsPage",
components: {
iclink: (0, BR.jsx)(Pv, {
href: "#",
onClick: () => s.actions.restartApp(),
inherit: !0
})
}
})
})]
})
},
Hz = () => {
const {
t: e
} = bt("settingsPage");
return (0, BR.jsx)(ty, {
title: e("settings_accessibility_title"),
children: (0, BR.jsx)(Wz, {})
})
},
Kz = () => {
const e = Vz((e => e.dialog)),
t = Vz((e => e.settings)),
{
t: n
} = bt("settingsPage"),
[r, i] = (0, Ee.useState)(!1),
[a, o] = (0, Ee.useState)(null);
pM((() => {
o(null), i(!1)
}), jR, r), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onClearStoreSuccess((() => {
i(!0), o({
id: "isCacheCleared",
message: n("settings_common_saved")
})
})),
t = window.launcherAPI.store.onClearStoreError((() => {
i(!1), o(null)
}));
return () => {
e(), t()
}
}), []);
const s = (0, Ee.useCallback)((async () => {
a && o(null), await e.actions.showWarningDialogCacheClear()
}), [e.actions, a]),
l = (0, Ee.useCallback)((async () => {
t.actions.debugGetLogs()
}), [t.actions]);
return (0, BR.jsx)(Ju, {
title: n("settings_application_debug_tools_title"),
description: (0, BR.jsx)(ft, {
i18nKey: "settings_application_debug_tools_description",
ns: "settingsPage",
components: {
iclink: (0, BR.jsx)(Pv, {
href: xP.configuration.issueCouncilUrl,
label: n("app_header_menu_issue_council"),
external: !0
})
}
}),
children: (0, BR.jsxs)($h, {
horizontal: !0,
success: a && a.message,
label: n("settings_application_debug_tools_label"),
labelType: "hidden",
children: [(0, BR.jsx)(gs, {
onClick: () => s(),
type: "button",
children: n("settings_application_debug_tools_button_clear_cache")
}), (0, BR.jsx)(gs, {
onClick: () => l(),
type: "button",
children: n("settings_application_debug_tools_button_get_logs")
})]
})
})
},
Yz = () => {
const e = Vz((e => e.settings)),
[t, n] = (0, Ee.useState)(e.appSettings.quitOnWindowClose),
[r, i] = (0, Ee.useState)(!1),
[a, o] = (0, Ee.useState)(null),
{
t: s
} = bt("settingsPage");
pM((() => {
o(null), i(!1)
}), jR, r), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onSetValueToStoreSuccess((e => {
"application.quitOnWindowClose" === e.key && (i(!0), o({
id: "quitOnWindowClose",
message: s("settings_common_saved")
}))
})),
t = window.launcherAPI.store.onSetValueToStoreError((e => {
"application.quitOnWindowClose" === e.key && (i(!1), o(null))
}));
return () => {
e(), t()
}
}), []), (0, Ee.useEffect)((() => {
n(e.appSettings.quitOnWindowClose)
}), [e.appSettings.quitOnWindowClose]);
const l = qz((async t => await e.actions.saveApplicationSettings({
name: "quitOnWindowClose",
value: t
})), 400),
c = (0, Ee.useCallback)((async e => {
a && o(null), n(e), l(e)
}), [l, a]);
return (0, BR.jsx)(Ju, {
title: s("settings_application_window_behavior_title"),
description: s("settings_application_window_behavior_description"),
children: (0, BR.jsx)(ed, {
type: "toggle",
checked: t,
onChange: ({
target: {
checked: e
}
}) => c(e),
success: a && a.message,
children: s("settings_application_window_behavior_close_to_quit")
})
})
},
Qz = () => {
const {
t: e
} = bt("settingsPage");
return (0, BR.jsxs)(ty, {
title: e("settings_application_title"),
children: [(0, BR.jsx)(Yz, {}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsx)(Kz, {})]
})
},
Zz = () => {
const e = Vz((e => e.settings)),
[t, n] = (0, Ee.useState)(e.appSettings.isDiscoverDone),
[r, i] = (0, Ee.useState)(!1),
[a, o] = (0, Ee.useState)(null),
{
t: s
} = bt("settingsPage");
pM((() => {
o(null), i(!1)
}), jR, r), (0, Ee.useEffect)((() => {
const e = window.launcherAPI.store.onSetValueToStoreSuccess((e => {
"application.isDiscoverDone" === e.key && (i(!0), o({
id: "isDiscoverDone",
message: s("settings_common_saved")
}))
})),
t = window.launcherAPI.store.onSetValueToStoreError((e => {
"application.isDiscoverDone" === e.key && (i(!1), o(null))
}));
return () => {
e(), t()
}
}), []), (0, Ee.useEffect)((() => {
n(e.appSettings.isDiscoverDone)
}), [e.appSettings.isDiscoverDone]);
const l = qz((async t => await e.actions.saveApplicationSettings({
name: "isDiscoverDone",
value: t
})), 400),
c = (0, Ee.useCallback)((async e => {
a && o(null), n(e), l(e)
}), [l, a]);
return (0, BR.jsxs)(ty, {
title: s("settings_dev_title"),
children: [(0, BR.jsx)(Ju, {
title: s("settings_application_discover_behavior_title"),
description: s("settings_application_discover_behavior_description"),
children: (0, BR.jsx)(ed, {
type: "toggle",
checked: t,
onChange: ({
target: {
checked: e
}
}) => c(e),
success: a && a.message,
children: s("settings_application_discover_behavior_isDiscoverDone")
})
}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsx)(Ju, {
title: s("settings_download_force_datapatcher_title"),
description: s("settings_download_force_datapatcher_description"),
children: (0, BR.jsx)(ed, {
type: "toggle",
checked: e.appSettings.download.forceDataPatcher,
description: s("settings_download_force_datapatcher_force_datapatcher_description"),
onChange: ({
target: {
checked: t
}
}) => e.actions.setForceDataPatcher(t),
children: s("settings_download_force_datapatcher_force_datapatcher_toggle")
})
})]
})
},
Xz = () => {
const {
t: e
} = bt("settingsPage"), t = Vz((e => e.settings)), [n, r] = (0, Ee.useState)({
state: !1
}), [i, a] = (0, Ee.useState)(t.appSettings.download.concurrentTransfers), {
value: o,
setValue: s
} = (({
initialValue: e,
cb: t,
delay: n = 2e3
}) => {
const [r, i] = (0, Ee.useState)(e);
return (0, Ee.useEffect)((() => {
const e = setTimeout((() => {
t()
}), n);
return () => clearTimeout(e)
}), [t, n]), {
value: r,
setValue: i
}
})({
initialValue: VR(t.appSettings.download.maximumDownloadBandwidth),
cb: () => {
VR(t.appSettings.download.maximumDownloadBandwidth) !== o && c(o)
}
});
pM((() => {
r({
state: !1
})
}), jR, n.state);
const l = (0, Ee.useCallback)((async e => {
const n = parseInt(e, 10);
a(n), t.actions.setDownloadSettings(xP.InstallerOptions.ConcurrentTransfers, n)
}), [t.actions]),
c = (0, Ee.useCallback)((async e => {
s(e), t.actions.setDownloadSettings(xP.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, BR.jsx)(ty, {
title: e("settings_download_title"),
children: (0, BR.jsxs)(Ju, {
title: e("settings_download_main_title"),
description: e("settings_download_main_content"),
children: [(0, BR.jsx)($h, {
horizontal: !0,
label: e("settings_download_concurrent_title"),
success: n.state && n.option === xP.InstallerOptions.ConcurrentTransfers ? e("settings_common_saved") : null,
help: e("settings_download_concurrent_desc"),
children: (0, BR.jsx)(ey, {
onValueChange: e => l(e),
value: i.toString(),
children: pz.map((e => (0, BR.jsx)(Jv, {
value: e.value.toString(),
label: e.label
}, e.label)))
})
}), (0, BR.jsx)($h, {
horizontal: !0,
label: e("settings_download_speed_title"),
success: n.state && n.option === xP.InstallerOptions.MaximumDownloadBandwidth ? e("settings_common_saved") : null,
help: e("settings_download_speed_desc"),
children: (0, BR.jsx)(Av, {
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 Jz = class extends xj.l {
constructor(e, t) {
super(), this.#R = void 0, this.#D = void 0, this.#u = void 0, this.#L = new Set, this.#d = e, this.options = t, this.#N = null, this.bindMethods(), this.setOptions(t)
}
#d;
#R;
#D;
#u;
#j;
#M;
#N;
#F;
#z;
#U;
#V;
#B;
#G;
#L;
bindMethods() {
this.refetch = this.refetch.bind(this)
}
onSubscribe() {
1 === this.listeners.size && (this.#R.addObserver(this), eU(this.#R, this.options) ? this.#$() : this.updateResult(), this.#q())
}
onUnsubscribe() {
this.hasListeners() || this.destroy()
}
shouldFetchOnReconnect() {
return tU(this.#R, this.options, this.options.refetchOnReconnect)
}
shouldFetchOnWindowFocus() {
return tU(this.#R, this.options, this.options.refetchOnWindowFocus)
}
destroy() {
this.listeners = new Set, this.#W(), this.#H(), this.#R.removeObserver(this)
}
setOptions(e, t) {
const n = this.options,
r = this.#R;
if (this.options = this.#d.defaultQueryOptions(e), (0, yj.VS)(n, this.options) || this.#d.getQueryCache().notify({
type: "observerOptionsUpdated",
query: this.#R,
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 i = this.hasListeners();
i && nU(this.#R, r, this.options, n) && this.#$(), this.updateResult(t), !i || this.#R === r && this.options.enabled === n.enabled && this.options.staleTime === n.staleTime || this.#Y();
const a = this.#Q();
!i || this.#R === r && this.options.enabled === n.enabled && a === this.#G || this.#Z(a)
}
getOptimisticResult(e) {
const t = this.#d.getQueryCache().build(this.#d, e),
n = this.createResult(t, e);
return function(e, t) {
if (!(0, yj.VS)(e.getCurrentResult(), t)) return !0;
return !1
}(this, n) && (this.#u = n, this.#M = this.options, this.#j = this.#R.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.#R
}
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.#R.fetch(this.options, e);
return e?.throwOnError || (t = t.catch(yj.ZT)), t
}
#Y() {
if (this.#W(), yj.sk || this.#u.isStale || !(0, yj.PN)(this.options.staleTime)) return;
const e = (0, yj.Kp)(this.#u.dataUpdatedAt, this.options.staleTime) + 1;
this.#V = setTimeout((() => {
this.#u.isStale || this.updateResult()
}), e)
}
#Q() {
return ("function" === typeof this.options.refetchInterval ? this.options.refetchInterval(this.#R) : this.options.refetchInterval) ?? !1
}
#Z(e) {
this.#H(), this.#G = e, !yj.sk && !1 !== this.options.enabled && (0, yj.PN)(this.#G) && 0 !== this.#G && (this.#B = setInterval((() => {
(this.options.refetchIntervalInBackground || wj.isFocused()) && this.#$()
}), this.#G))
}
#q() {
this.#Y(), this.#Z(this.#Q())
}
#W() {
this.#V && (clearTimeout(this.#V), this.#V = void 0)
}
#H() {
this.#B && (clearInterval(this.#B), this.#B = void 0)
}
createResult(e, t) {
const n = this.#R,
r = this.options,
i = this.#u,
a = this.#j,
o = this.#M,
s = e !== n ? e.state : this.#D,
{
state: l
} = e;
let c, {
error: u,
errorUpdatedAt: d,
fetchStatus: p,
status: h
} = l,
f = !1;
if (t._optimisticResults) {
const i = this.hasListeners(),
a = !i && eU(e, t),
o = i && nU(e, n, t, r);
(a || o) && (p = Ej(e.options.networkMode) ? "fetching" : "paused", l.dataUpdatedAt || (h = "pending")), "isRestoring" === t._optimisticResults && (p = "idle")
}
if (t.select && "undefined" !== typeof l.data)
if (i && l.data === a?.data && t.select === this.#F) c = this.#z;
else try {
this.#F = t.select, c = t.select(l.data), c = (0, yj.oE)(i?.data, c, t), this.#z = c, this.#N = null
} catch (_) {
this.#N = _
} else c = l.data;
if ("undefined" !== typeof t.placeholderData && "undefined" === typeof c && "pending" === h) {
let e;
if (i?.isPlaceholderData && t.placeholderData === o?.placeholderData) e = i.data;
else if (e = "function" === typeof t.placeholderData ? t.placeholderData(this.#U?.state.data, this.#U) : t.placeholderData, t.select && "undefined" !== typeof e) try {
e = t.select(e), this.#N = null
} catch (_) {
this.#N = _
}
"undefined" !== typeof e && (h = "success", c = (0, yj.oE)(i?.data, e, t), f = !0)
}
this.#N && (u = this.#N, c = this.#z, d = Date.now(), h = "error");
const m = "fetching" === p,
g = "pending" === h,
v = "error" === h,
y = g && m;
return {
status: h,
fetchStatus: p,
isPending: g,
isSuccess: "success" === h,
isError: v,
isInitialLoading: y,
isLoading: y,
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: rU(e, t),
refetch: this.refetch
}
}
updateResult(e) {
const t = this.#u,
n = this.createResult(this.#R, this.options);
if (this.#j = this.#R.state, this.#M = this.options, (0, yj.VS)(n, t)) return;
void 0 !== this.#j.data && (this.#U = this.#R), 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.#R) return;
const t = this.#R;
this.#R = e, this.#D = e.state, this.hasListeners() && (t?.removeObserver(this), e.addObserver(this))
}
onQueryUpdate() {
this.updateResult(), this.hasListeners() && this.#q()
}
#m(e) {
_j.batch((() => {
e.listeners && this.listeners.forEach((e => {
e(this.#u)
})), this.#d.getQueryCache().notify({
query: this.#R,
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 && tU(e, t, t.refetchOnMount)
}
function tU(e, t, n) {
if (!1 !== t.enabled) {
const r = "function" === typeof n ? n(e) : n;
return "always" === r || !1 !== r && rU(e, t)
}
return !1
}
function nU(e, t, n, r) {
return !1 !== n.enabled && (e !== t || !1 === r.enabled) && (!n.suspense || "error" !== e.state.status) && rU(e, n)
}
function rU(e, t) {
return e.isStaleByTime(t.staleTime)
}
function iU() {
let e = !1;
return {
clearReset: () => {
e = !1
},
reset: () => {
e = !0
},
isReset: () => e
}
}
var aU = Ee.createContext(iU()),
oU = Ee.createContext(!1);
oU.Provider;
function sU(e, t, n) {
const r = (0, Tj.NL)(n),
i = Ee.useContext(oU),
a = Ee.useContext(aU),
o = r.defaultQueryOptions(e);
o._optimisticResults = i ? "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, a), (e => {
Ee.useEffect((() => {
e.clearReset()
}), [e])
})(a);
const [s] = Ee.useState((() => new t(r, o))), l = s.getOptimisticResult(o);
if (Ee.useSyncExternalStore(Ee.useCallback((e => {
const t = i ? () => {} : s.subscribe(_j.batchCalls(e));
return s.updateResult(), t
}), [s, i]), (() => 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, i)) throw ((e, t, n) => t.fetchOptimistic(e).catch((() => {
n.clearReset()
})))(o, s, a);
if ((({
result: e,
errorResetBoundary: t,
throwOnError: n,
query: r
}) => e.isError && !t.isReset() && !e.isFetching && Rj(n, [e.error, r]))({
result: l,
errorResetBoundary: a,
throwOnError: o.throwOnError,
query: s.getCurrentQuery()
})) throw l.error;
return o.notifyOnChangeProps ? l : s.trackResult(l)
}
function lU(e, t) {
return sU(e, Jz, t)
}
let cU;
! function(e) {
e.HOSTNAME = "hostname", e.PORT = "port", e.EXECUTABLE = "executable", e.LAUNCHOPTIONS = "launchOptions", e.EACSANDBOX = "eacSandbox"
}(cU || (cU = {}));
const uU = e => {
var t, n, r, i, a, o;
const {
t: s
} = bt("settingsPage"), l = Vz((e => e.settings)), c = e.gameSettings, u = {
[cU.HOSTNAME]: null !== (t = c.hostname) && void 0 !== t ? t : "",
[cU.PORT]: null !== (n = c.port) && void 0 !== n ? n : null,
[cU.EXECUTABLE]: null !== (r = c.executable) && void 0 !== r ? r : "",
[cU.LAUNCHOPTIONS]: null !== (i = c.launchOptions) && void 0 !== i ? i : "",
[cU.EACSANDBOX]: null !== (a = c.eacSandbox) && void 0 !== a ? a : 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
} = lU(Fj(c.gameId, c.channelId));
return e
})()) && void 0 !== o ? o : {};
pM((() => {
f(null), p(!1)
}), jR, d);
const y = $z((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),
_ = (0, Ee.useCallback)((async (e, t) => {
h && f(null), g({
...m,
[e]: b(e, t)
}), y(e, t)
}), [m, y, h]),
b = (e, t) => {
var n;
return e === cU.PORT ? "" === t ? null : parseInt(t) : e === cU.EACSANDBOX ? !1 === t ? null : t : e !== cU.LAUNCHOPTIONS ? null !== (n = t.trim()) && void 0 !== n ? n : "" : null !== t && void 0 !== t ? t : ""
};
return (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsxs)(Ju, {
title: s("settings_games_launch_command_line"),
description: s("settings_games_launch_disclaimer"),
children: [(0, BR.jsx)($h, {
horizontal: !0,
label: s("settings_games_launch_hostname"),
necessityIndicator: "Optional",
help: v.universeHost ? (0, BR.jsxs)(ds, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, BR.jsx)(ds, {
as: "span",
children: v.universeHost
})]
}) : void 0,
success: h && h.id === cU.HOSTNAME ? s("settings_common_saved") : void 0,
children: (0, BR.jsx)(Av, {
value: null === m || void 0 === m ? void 0 : m.hostname,
name: cU.HOSTNAME,
onChange: ({
target: {
name: e,
value: t
}
}) => _(e, t)
})
}), (0, BR.jsx)($h, {
horizontal: !0,
label: s("settings_games_launch_port"),
necessityIndicator: "Optional",
help: v.universePort ? (0, BR.jsxs)(ds, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, BR.jsx)(ds, {
as: "span",
children: v.universePort
})]
}) : void 0,
success: h && h.id === cU.PORT ? s("settings_common_saved") : void 0,
children: (0, BR.jsx)(Av, {
value: null === (null === m || void 0 === m ? void 0 : m.port) ? "" : null === m || void 0 === m ? void 0 : m.port,
name: cU.PORT,
type: "number",
onChange: ({
target: {
name: e,
value: t
}
}) => _(e, t)
})
}), (0, BR.jsx)($h, {
horizontal: !0,
label: s("settings_games_launch_executable"),
necessityIndicator: "Optional",
help: v.executable ? (0, BR.jsxs)(ds, {
as: "span",
variant: "body-m-bold",
children: [s("settings_games_launch_default"), " ", (0, BR.jsx)(ds, {
as: "span",
children: v.executable
})]
}) : void 0,
success: h && h.id === cU.EXECUTABLE ? s("settings_common_saved") : void 0,
children: (0, BR.jsx)(Av, {
value: null === m || void 0 === m ? void 0 : m.executable,
name: cU.EXECUTABLE,
onChange: ({
target: {
name: e,
value: t
}
}) => _(e, t)
})
}), (0, BR.jsx)($h, {
horizontal: !0,
label: s("settings_games_launch_launch_options"),
necessityIndicator: "Optional",
help: v.launchOptions ? (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(ds, {
as: "span",
variant: "body-m-bold",
children: s("settings_games_launch_default")
}), (0, BR.jsx)("br", {}), (0, BR.jsx)(ds, {
as: "span",
children: v.launchOptions
})]
}) : void 0,
success: h && h.id === cU.LAUNCHOPTIONS ? s("settings_common_saved") : null,
children: (0, BR.jsx)(Av, {
as: "textarea",
value: null === m || void 0 === m ? void 0 : m.launchOptions,
name: cU.LAUNCHOPTIONS,
onChange: ({
target: {
name: e,
value: t
}
}) => _(e, t)
})
})]
}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsxs)(Ju, {
title: s("settings_games_launch_eac_title"),
description: s("settings_games_launch_eac_description"),
children: [(0, BR.jsx)(qu, {
type: "informative",
children: s("settings_games_launch_eac_informative")
}), (0, BR.jsx)(ed, {
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,
[cU.EACSANDBOX]: null
}), !0),
onChange: ({
target: {
checked: e
}
}) => _(cU.EACSANDBOX, e),
success: h && h.id === cU.EACSANDBOX ? s("settings_common_saved") : null,
children: s("settings_games_launch_eac_disable")
})]
})]
})
},
dU = ({
open: e = !1,
...t
}) => {
var n;
const {
t: r
} = bt("settingsPage"), i = CL(), a = Vz((e => e.application)), o = Vz((e => e.dialog)), s = Vz((e => e.installer)), l = Vz((e => e.library)), c = Vz((e => e.settings)), u = Vz((e => e.storage)), d = Vz((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]), y = (0, Ee.useMemo)((() => fR(s.installations, v)), [s, v]), _ = (0, Ee.useMemo)((() => mR(s.uninstallations, v)), [s, 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,
isUninstalling: k,
isUserPriviled: S,
isVerifying: E,
isPaused: I
} = (0, Ee.useMemo)((() => {
var e, t;
const n = l.actions.getInstalledChannel(v),
r = (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.INSTALLED || (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.UPDATE_AVAILABLE || (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.RUNNING,
i = y && y.type === xP.InstallationType.VERIFY && y.status !== xP.InstallationStatus.COMPLETED,
a = y && y.type === xP.InstallationType.INSTALL && y.status !== xP.InstallationStatus.COMPLETED,
o = y && y.status === xP.InstallationStatus.PAUSED;
return {
isGameChannelInstalled: r,
isVerifying: i,
isInstalling: a,
isUninstalling: void 0 !== _,
isUserPriviled: null !== (e = null === (t = d.identity) || void 0 === t ? void 0 : t.privileged) && void 0 !== e && e,
isPaused: o
}
}), [v, y, l, _, null === (n = d.identity) || void 0 === n ? void 0 : n.privileged]), O = a.actions.isOffline(), {
verifyButtonLabel: C,
installButtonLabel: A,
uninstallButtonLabel: P
} = (0, Ee.useMemo)((() => ({
verifyButtonLabel: E && (null === y || void 0 === y ? void 0 : y.status) === xP.InstallationStatus.PAUSED ? r("settings_games_game_files_process_paused") : r(E ? "settings_games_game_files_verifying_files" : "settings_games_game_files_verify_files"),
installButtonLabel: w && (null === y || void 0 === y ? void 0 : y.status) === xP.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(k ? "settings_games_game_files_uninstalling_files" : "settings_games_game_files_uninstall_files")
})), [null === y || void 0 === y ? void 0 : y.status, w, k, E, r]), T = (0, Ee.useMemo)((() => E && I || w && I ? OM : E || w ? JM : void 0), [I, E, w]), R = (0, Ee.useCallback)((async e => {
y && y.type === e && a.actions.setDownloadPopoverOpened(!0), "install" === e ? await o.actions.showGameStartInstallationDialog(v, m, !0) : mM.addInstallationToQueue(v, e)
}), [a.actions, v, y, o.actions, m]), D = (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)
};
TR().launcherSupport.deleteLocalSettings(n)
}
}), [o.actions, t.item, f]), L = (0, Ee.useCallback)((() => mM.uninstallChannel(t.item)), [t.item]), N = (0, Ee.useCallback)((async e => {
if ("manage-library" === e) i("/settings/storage");
else {
await c.actions.setChannelLibraryFolder(v, e) && g(e)
}
}), [i, c, v]);
return (0, BR.jsxs)(ks, {
prefix: (0, BR.jsx)("img", {
src: b(v),
alt: "",
width: "32"
}),
open: e,
title: `${v.gameName} - ${v.channelId}`,
children: [(0, BR.jsx)(Ju, {
title: r("settings_games_game_location_title"),
description: r("settings_games_game_location_description"),
children: (0, BR.jsxs)(Es, {
vertical: !0,
gap: "100",
children: [(0, BR.jsx)(Es, {
vertical: !0,
gap: "50",
children: (0, BR.jsx)(qu, {
type: "informative",
align: "start",
children: r("settings_games_info_move_directory")
})
}), (0, BR.jsx)($h, {
label: "Game Library",
children: (0, BR.jsxs)(ey, {
onChange: ({
target: {
value: e
}
}) => N(e),
disabled: a.isGameRunning || w || E || k,
defaultValue: f,
value: m,
children: [p.map(((e, t) => (0, BR.jsx)(Jv, {
label: e,
value: e
}, t))), (0, BR.jsx)(Jv, {
value: "manage-library",
children: (0, BR.jsxs)(Es, {
gap: "100",
align: "center",
children: [(0, BR.jsx)(us, {
source: zM
}), (0, BR.jsx)(ds, {
variant: "button-s",
transform: "uppercase",
truncate: !0,
children: r("settings_games_manage_game_libraries")
})]
})
})]
})
}), (0, BR.jsxs)(Es, {
vertical: !0,
gap: "50",
children: [(0, BR.jsx)(qu, {
type: "neutral",
icon: !1,
children: r("settings_gmaes_info_complete_path")
}), (0, BR.jsxs)(qu, {
type: "neutral",
icon: !1,
children: [(0, BR.jsx)("strong", {
children: f
}), t.item.installDir, "\\", v.channelId]
})]
})]
})
}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsx)(Ju, {
title: r("settings_games_game_files_title"),
description: r("settings_games_game_files_description"),
children: (0, BR.jsxs)(Es, {
vertical: !1,
gap: "100",
children: [(0, BR.jsx)(gs, {
onClick: () => R(xP.InstallationType.VERIFY),
disabled: a.isGameRunning || w || k || O,
loading: E,
loadingIcon: T,
children: C
}), !x && (0, BR.jsx)(gs, {
onClick: () => R(xP.InstallationType.INSTALL),
disabled: a.isGameRunning || E || O,
loading: w,
loadingIcon: T,
icon: w ? void 0 : PM,
children: A
}), x && (0, BR.jsx)(gs, {
variant: "plain",
color: "negative",
onClick: L,
disabled: a.isGameRunning || E,
loading: k,
loadingIcon: T,
children: P
})]
})
}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsx)(Ju, {
title: r("settings_games_local_title"),
description: r("settings_games_local_description"),
children: (0, BR.jsx)(Es, {
vertical: !1,
gap: "100",
children: (0, BR.jsx)(gs, {
color: "negative",
onClick: () => D(),
children: r("settings_games_local_button")
})
})
}), S ? (0, BR.jsx)(uU, {
gameSettings: t.item
}) : null]
}, `${v.gameName}${v.channelId}`)
},
pU = () => {
const {
t: e
} = bt("settingsPage"), t = Vz((e => e.settings)), {
gameId: n,
channelId: r
} = PL(), {
items: i
} = (0, Ee.useMemo)((() => {
const e = t.gamesSettings.find((e => e.gameId === n && e.channelId === r));
return {
items: t.gamesSettings.map((t => (0, BR.jsx)(dU, {
item: t,
open: t === e
}, `${t.gameName}${t.channelId}`)))
}
}), [r, n, t.gamesSettings]);
return (0, BR.jsx)(ty, {
title: e("settings_games_title"),
children: (0, BR.jsx)(Ss, {
openAll: e("settings_common_accordion_open_all"),
closeAll: e("settings_common_accordion_close_all"),
children: i,
className: 1 === i.length ? "sol-u-margin-bs-250" : ""
})
})
},
hU = () => {
const {
t: e
} = bt("settingsPage"), {
defaultLibraryFolder: t,
additionalLibraries: n
} = Vz((e => e.storage)), [r, i] = (0, Ee.useState)(!1), [a, o] = (0, Ee.useState)(null), [s, l] = (0, Ee.useState)(null), c = Vz((e => e.installer)), u = Vz((e => e.application));
pM((() => {
o(null), l(null), i(!1)
}), jR, r);
const d = (0, Ee.useCallback)((async () => {
const n = t,
r = await window.launcherAPI.settings.openLibraryFolderDialog(n);
if (r.length > 0) {
const t = DR(r[0]);
await kz.saveDefaultLibraryFolder(t, n) && (o({
id: "library",
message: e("settings_games_installation_library_folder_success")
}), i(!0))
}
}), [kz, t]),
p = (0, Ee.useCallback)((async () => {
const r = t,
a = await window.launcherAPI.settings.openLibraryFolderDialog(r),
o = n.length;
if (a.length > 0) {
const t = DR(a[0]);
await kz.saveAdditionalLibraryFolders(t) && (l({
id: `additionalLibrary${o}`,
message: e("settings_games_installation_library_folder_success")
}), i(!0))
}
}), [kz, t, n]),
h = (0, Ee.useCallback)((async t => {
const r = n[t],
a = await window.launcherAPI.settings.openLibraryFolderDialog(r);
if (a.length > 0) {
const n = DR(a[0]);
await kz.replaceAdditionalLibraryFolder(n, r, t) && (l({
id: `additionalLibrary${t}`,
message: e("settings_games_installation_library_folder_success")
}), i(!0))
}
}), [kz, n]),
f = (0, Ee.useCallback)((async (e, t) => {
kz.deleteAdditionalLibrary(e, t)
}), [kz]),
m = (0, Ee.useCallback)((async (t, n) => {
await kz.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")
}), i(!0))
}), [kz]);
return (0, BR.jsxs)(ty, {
title: e("settings_storage_title"),
children: [(0, BR.jsx)(Ju, {
title: e("settings_storage_main_title"),
description: e("settings_storage_main_description"),
children: (0, BR.jsx)($h, {
horizontal: !0,
label: e("settings_storage_default_library_folder_label"),
labelType: "hidden",
success: a && "library" === a.id ? a.message : null,
children: (0, BR.jsx)(Mv, {
path: t,
children: (0, BR.jsx)(gs, {
disabled: c.installations.length > 0 || u.isGameRunning,
onClick: () => d(),
type: "button",
children: e("settings_games_installation_library_folder_change")
})
})
})
}), (0, BR.jsx)(sd, {
spacing: "250"
}), (0, BR.jsxs)(Ju, {
title: e("settings_storage_additional_libs_title"),
description: e("settings_storage_additional_libs_description"),
children: [n.map(((r, i) => (0, BR.jsx)($h, {
horizontal: !0,
label: e("settings_storage_default_library_folder_label"),
labelType: "hidden",
success: s && s.id === `additionalLibrary${i}` ? s.message : null,
children: (0, BR.jsxs)(Mv, {
path: n[i] || t,
children: [(0, BR.jsx)(gs, {
disabled: c.installations.length > 0 || u.isGameRunning,
onClick: () => h(i),
type: "button",
children: e("settings_games_installation_library_folder_change")
}), (0, BR.jsxs)(qv, {
trigger: (0, BR.jsx)(gs, {
icon: RM,
size: "medium",
variant: "plain"
}),
placement: "right-start",
offset: "small",
children: [(0, BR.jsx)(Gv, {
disabled: c.installations.length > 0 || u.isGameRunning,
label: e("settings_action_set_default"),
onClick: () => m(r, i)
}), (0, BR.jsx)(Gv, {
disabled: c.installations.length > 0 || u.isGameRunning,
color: "negative",
label: e("settings_action_delete_library"),
onClick: () => f(r, i)
})]
})]
})
}, i))), (0, BR.jsx)(gs, {
icon: _M,
onClick: () => p(),
type: "button",
children: e("settings_storage_add_additional_libraries")
})]
})]
})
},
fU = () => {
var e;
const {
t: t
} = bt("form"), n = Vz((e => e.application)), r = CL(), i = null !== (e = n.launcherVersion.includes("rc")) && void 0 !== e && e, {
isPending: a,
submitSignIn: o,
register: s,
handleSubmit: l,
captcha: c,
refreshCaptcha: u,
serverError: d,
control: p
} = (() => {
const e = CL(),
[t, n] = Ee.useState(null),
{
captcha: r,
actions: {
resetAuthentication: i,
fetchCaptcha: a
}
} = Vz((e => e.authentication)),
{
launcherVersion: o,
platformMaster: s
} = Vz((e => e.application)),
{
handleSubmit: l,
register: c,
setError: u,
formState: {
errors: d
},
resetField: p,
control: h
} = vj(),
{
authentication: {
onSignInSuccess: f
}
} = TR(),
{
mutate: m,
isPending: g
} = Dj({
mutationFn: ({
username: e,
password: t,
captcha: n,
remember: r,
launcherVersion: i
}) => oR.authentication.signIn({
username: e,
password: t,
captcha: n,
remember: r,
launcherVersion: i
}),
onSuccess: (e, t) => _(e, t),
onError: async (e, t) => await y(e, t)
}),
v = (0, Ee.useCallback)((async () => {
await uM.getSession(s) && a()
}), [a, s]),
y = async (t, r) => {
const {
username: i,
remember: o,
captcha: s
} = r;
if (s && a(), t instanceof fT) {
const e = await oR.authentication.getCaptcha();
Vz.setState((t => ({
authentication: {
...t.authentication,
captcha: e
}
})))
} else {
if (t instanceof _T) throw e(NU.SIGN_IN_GAME_PACKAGE_MISSING);
if (t instanceof mT) 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 lT) throw e(NU.SIGN_IN_MFA, {
state: {
remember: o,
username: i
}
});
if (t instanceof QT) throw n((0, BR.jsx)(ft, {
i18nKey: "error_sign_in_not_authorized",
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.downloadUrl,
external: !0,
inherit: !0
})]
})), t;
n(t.message)
}
}, _ = ({
identity: t,
session: n
}, r) => {
i();
const a = r.remember;
throw uM.setIdentity({
identity: t,
remember: a
}), uM.setSession({
session: n,
remember: a
}), f({
accountName: t.username,
trackingMetricsId: t.trackingMetricsId,
heapAccountId: t.heapAccountId
}), e(NU.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 !== xP.ConnectionMode.ONLINE && r(`/${NU.OFFLINE}`)
}), [n.connection, r]);
const h = (0, Ee.useMemo)((() => (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsxs)(ds, {
className: "footer__sign-up",
color: "foreground-weak",
variant: "body-m",
children: [t("sign_in_no_account"), (0, BR.jsx)(Pv, {
external: !0,
href: xP.configuration.enlistUrl,
"data-test-id": "enlist",
children: t("sign_in_create_account")
})]
}), (0, BR.jsx)(gs, {
className: "footer__sign-in-button",
loading: a && t("sign_in_loading"),
size: "large",
type: "submit",
"data-test-id": "sign_in_submit",
children: t("sign_in_submit")
})]
})), [a]);
return (0, BR.jsxs)(ay, {
as: "form",
"data-test-id": "sign-in-form",
title: t("sign_in_title"),
footer: h,
onSubmit: l(o),
children: [i && (0, BR.jsx)(qu, {
type: "notice",
icon: UM,
children: t("sign_in_prerelease")
}), d && (0, BR.jsx)(qu, {
type: "negative",
children: d
}), (0, BR.jsx)(sz, {
control: p,
name: "username",
rules: {
required: {
value: !0,
message: t("error_email_field_is_required")
}
},
label: t("sign_in_email"),
disabled: a,
"data-test-id": "email",
inputProps: {
id: "email"
}
}), (0, BR.jsx)(sz, {
control: p,
name: "password",
rules: {
required: {
value: !0,
message: t("error_password_field_is_required")
}
},
label: t("sign_in_password"),
type: "password",
disabled: a,
"data-test-id": "password",
inputProps: {
id: "password"
}
}), (0, BR.jsxs)(Es, {
align: "center",
gap: "100",
justify: "space-between",
children: [(0, BR.jsx)(ed, {
label: t("sign_in_remember_me"),
inputProps: s("remember"),
"data-test-id": "remember",
children: t("sign_in_remember_me")
}), (0, BR.jsx)(Pv, {
href: xP.configuration.recoverUrl,
external: !0,
"data-test-id": "recover",
children: t("sign_in_forgot_password")
})]
}), c && (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)("img", {
id: "captcha",
src: c,
alt: ""
}), (0, BR.jsx)(sz, {
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: a,
"data-test-id": "captcha",
inputProps: {
"aria-describedby": "captcha",
suffix: (0, BR.jsx)(gs, {
"aria-label": t("sign_in_captcha_refresh"),
"aria-controls": "captcha",
disabled: a,
icon: kM,
variant: "plain",
size: "small",
onClick: u
})
}
})]
})]
})
},
mU = () => {
const e = Vz((e => e.authentication)),
{
t: t
} = bt("form"),
{
serverError: n,
submitSignInMfa: r,
handleSubmit: i,
isPending: a,
control: o
} = (() => {
const {
t: e
} = bt("errors"), [t, n] = Ee.useState(null), r = CL(), i = IL(), {
actions: {
resetAuthentication: a
}
} = Vz((e => e.authentication)), {
handleSubmit: o,
register: s,
formState: {
errors: l
},
control: c
} = vj(), {
authentication: {
onSignInSuccess: u
}
} = TR(), {
mutate: d,
isPending: p
} = Dj({
mutationFn: ({
username: e,
codeMfa: t,
deviceName: n,
duration: r
}) => oR.authentication.signInMfa({
username: e,
codeMfa: t,
deviceName: n,
duration: r
}),
onSuccess: e => f(e),
onError: e => h(e)
}), h = t => {
if (t instanceof cT) n(e("error_wrong_mfa_code"));
else {
if (t instanceof _T) throw r(`../${NU.SIGN_IN_GAME_PACKAGE_MISSING}`);
if (t instanceof QT) throw n((0, BR.jsx)(ft, {
i18nKey: "error_sign_in_not_authorized",
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.downloadUrl,
external: !0,
inherit: !0
})]
})), t;
n(t.message)
}
}, f = ({
identity: e,
session: t,
device: n
}) => {
a();
const o = i.state.remember && n.duration !== jT.SESSION;
throw uM.setIdentity({
identity: e,
remember: o
}), uM.setSession({
session: t,
remember: o
}), uM.setDevice({
device: n,
remember: o
}), u({
accountName: e.username,
trackingMetricsId: e.trackingMetricsId,
heapAccountId: e.heapAccountId
}), r(NU.HOME)
};
return {
isPending: p,
submitSignInMfa: e => {
const t = {
username: i.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: jT.SESSION
}, {
label: t("sign_in_mfa_day"),
value: jT.DAY
}, {
label: t("sign_in_mfa_week"),
value: jT.WEEK
}, {
label: t("sign_in_mfa_month"),
value: jT.MONTH
}, {
label: t("sign_in_mfa_year"),
value: jT.YEAR
}],
l = s[3].value,
c = (0, Ee.useCallback)((() => {
uM.resetUser({
clearDevice: !1
}), e.actions.resetAuthentication()
}), []),
u = (0, Ee.useMemo)((() => (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(gs, {
disabled: a,
onClick: c,
variant: "plain",
href: "..",
icon: bM,
size: "large",
children: t("sign_in_mfa_back_sign_in")
}), (0, BR.jsx)(gs, {
loading: a && t("sign_in_loading"),
size: "large",
type: "submit",
children: t("sign_in_mfa_submit")
})]
})), [a, c]);
return (0, BR.jsxs)(ay, {
as: "form",
title: t("sign_in_mfa_title"),
subtitle: t("sign_in_mfa_subtitle"),
footer: u,
onSubmit: i(r),
children: [n && (0, BR.jsx)(qu, {
type: "negative",
children: n
}), (0, BR.jsx)(sz, {
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, BR.jsx)(sz, {
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, BR.jsx)(oz, {
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, BR.jsx)(Jv, {
value: t,
children: e
}, t)))
})]
})
},
gU = () => {
const {
t: e
} = bt("errors");
return (0, BR.jsx)(ay, {
title: e("error_game_package_missing_title"),
subtitle: (0, BR.jsx)(ft, {
i18nKey: "error_game_package_missing_subtitle",
ns: "errors",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.playnowUrl,
external: !0
})]
}),
footer: (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(gs, {
href: xP.configuration.supportUrl,
external: !0,
variant: "plain",
icon: IM,
size: "large",
children: e("error_game_package_missing_support")
}), (0, BR.jsx)(gs, {
href: `/${NU.SIGN_IN}`,
size: "large",
children: e("error_game_package_missing_retry")
})]
}),
children: (0, BR.jsx)("video", {
autoPlay: !0,
loop: !0,
muted: !0,
playsInline: !0,
src: xP.configuration.assets.directory + "/videos/no-game-package.mp4",
style: {
borderRadius: "var(--sol-radius-8)"
}
})
})
},
vU = ({
date: e
}) => (0, BR.jsx)(Gu, {
content: AR(e, "long"),
placement: "bottom",
interactive: !1,
children: (0, BR.jsx)("time", {
dateTime: e,
children: AR(e, "relative")
})
}),
yU = () => {
const {
t: e
} = bt("gamePage"), {
channelSelected: t
} = Vz((e => e.library)), n = Vz((e => e.application)), [r, i] = (0, Ee.useState)(FT.COMM_LINKS), {
dynamicContentSections: a,
contents: o,
isLoading: s
} = (({
channelId: e,
gameId: t
}) => {
const n = Vz((e => e.application)),
{
data: r,
isLoading: i
} = lU({
...zj(t, e),
enabled: n.connection.mode === xP.ConnectionMode.ONLINE && !n.isWindowMinimized
});
return {
...(0, Ee.useMemo)((() => {
var e, t, n;
const i = null !== (e = null === r || void 0 === r ? void 0 : r.commLinks) && void 0 !== e ? e : [],
a = 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[`${FT.COMM_LINKS}`] = i.map(wR).sort(SR).slice(0, 8), l[`${FT.PATCH_NOTES}`] = a, o.map(kR).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(ER), r || s.push(e.channel)
})), {
dynamicContentSections: s.sort(IR).map((e => e.name)),
contents: l
}
}), [r]),
isLoading: i
}
})({
gameId: t.gameId,
channelId: t.channelId
}), l = (0, Ee.useMemo)((() => {
const e = [FT.PATCH_NOTES],
t = [...a, FT.COMM_LINKS, FT.PATCH_NOTES].filter((t => {
const n = e.find((e => e === t));
return !(0 === o[t].length && n)
}));
return i(t[0]), t
}), [a, o]), c = s && 0 === a.length;
return !n.actions.isOffline() && c ? (0, BR.jsx)(Kh, {
empty: e("game_page_cards_loading")
}) : (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(_v, {
children: l.map((t => (0, BR.jsx)(Xh, {
label: e(`game_page_cards_tab_${t&&t.toLowerCase()}`),
active: r === t,
onClick: () => i(t)
}, t)))
}), n.actions.isOffline() && (s || 0 === o[FT.COMM_LINKS].length) ? (0, BR.jsx)(_U, {}) : (0, BR.jsx)(bU, {
contents: o,
activeTab: r
})]
})
},
_U = () => (0, BR.jsx)(Kh, {
children: (0, BR.jsx)($u, {
title: "No Connection",
href: "#",
isOffline: !0
}, "Card-no-connection")
}),
bU = ({
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: `${xP.configuration.rootUrl}${e.media.overlay.resize}`,
srcSet: `${e.media.overlay.source} 2x`
} : void 0
}), []), i = (0, Ee.useCallback)((e => {
var t, n, r;
return null !== (t = e.media) && void 0 !== t && t.thumbnail ? `${xP.configuration.rootUrl}${null===(r=e.media)||void 0===r?void 0:r.thumbnail}` : null !== (n = e.media) && void 0 !== n && n.background ? {
src: `${xP.configuration.rootUrl}${e.media.background.resize}`,
srcSet: `${e.media.background.source} 2x`
} : void 0
}), []);
return (0, BR.jsx)(BR.Fragment, {
children: e[t] && e[t].length > 0 ? (0, BR.jsx)(Kh, {
children: e[t].map((e => (0, BR.jsx)($u, {
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, BR.jsx)(vU, {
date: e.publish_start
}) : void 0,
image: i(e),
overlay: r(e)
}, `Card-${e.id}`)))
}) : (0, BR.jsx)(Kh, {
empty: n("game_page_cards_empty")
})
})
},
xU = (e, t, n) => {
return n ? xP.GameChannelStatus.UNINSTALLING : t && t.status !== xP.InstallationStatus.COMPLETED ? t.status : null !== (r = null === e || void 0 === e ? void 0 : e.status) && void 0 !== r ? r : xP.GameChannelStatus.AVAILABLE;
var r
},
wU = 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":[]}'),
kU = 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":[]}'),
SU = 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":[]}'),
EU = e => {
const {
t: t
} = bt("gamePage"), [n, r] = (0, Ee.useState)(null), [i, a] = (0, Ee.useState)(!1), o = Vz((e => e.application)), s = Vz((e => e.installer)), l = Vz((e => e.library)), c = Vz((e => e.settings)), u = CL(), {
reduceMotion: {
wipeAnimationsDisabled: d
}
} = Qo(), {
isGameChannelInstalled: p,
isGameChannelInstalling: h,
isGameChannelUninstalling: f,
isGameChannelUpdateAvailable: m,
settingsUrl: g,
channelSettings: v
} = (0, Ee.useMemo)((() => {
var t;
const n = l.actions.getInstalledChannel(l.channelSelected),
r = (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.INSTALLED || (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.UPDATE_AVAILABLE || (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.RUNNING,
i = (null === n || void 0 === n ? void 0 : n.status) === xP.GameChannelStatus.UPDATE_AVAILABLE,
a = void 0 !== mR(s.uninstallations, e),
o = fR(s.installations, e);
return {
isGameChannelInstalled: r,
isGameChannelInstalling: void 0 !== o && o.status !== (xP.InstallationStatus.COMPLETED || xP.InstallationStatus.ERROR),
isGameChannelUninstalling: a,
isGameChannelUpdateAvailable: i,
settingsUrl: dD(`/${NU.SETTINGS}/${NU.SETTINGS_GAMES}`, {
gameId: null !== (t = e.gameId) && void 0 !== t ? t : l.channelSelected.gameId,
channelId: l.channelSelected.channelId
}),
channelSettings: c.gamesSettings.find((t => t.gameId === e.gameId && t.channelId === e.channelId))
}
}), [l.actions, l.channelSelected, s.uninstallations, s.installations, e, c.gamesSettings]), y = o.actions.isOffline(), _ = (0, Ee.useCallback)((() => {
if (d) return void u(g);
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
o.actions.setAnimatingAppLayoutWipe("full", !0);
const t = setTimeout((() => {
u(g)
}), e / 2);
return () => clearTimeout(t)
}), [o.actions, u, g, d]);
return {
handleChannelSelection: (0, Ee.useCallback)((t => {
var n;
const r = l.actions.getAvailableChannelsSorted(null !== (n = e.gameId) && void 0 !== n ? n : l.channelSelected.gameId).find((e => e.id === t)),
i = l.availableGames.find((e => e.id === l.gameSelected));
if (!r || !i) return;
const a = {
gameId: i.id,
gameName: i.name,
channelId: r.id,
platformId: r.platformId,
channelName: r.name
};
l.actions.setGameChannelSelected(a)
}), [e, l.actions, l.availableGames, l.channelSelected.gameId, l.gameSelected]),
channelSelectorSuffix: (0, Ee.useMemo)((() => (0, BR.jsxs)(qv, {
anchor: n,
placement: "bottom-end",
trigger: (0, BR.jsx)(gs, {
"aria-label": t("game_page_settings"),
icon: FM,
size: "small",
variant: "plain"
}),
children: [(0, BR.jsx)(Gv, {
label: t("game_page_settings"),
onClick: _
}), p && (0, BR.jsx)(Gv, {
label: t("game_page_settings_show_in_explorer"),
onClick: () => window.launcherAPI.settings.openFileSystemDialog((e => {
const t = NR().join(e.libraryFolder, e.installDir, e.channelId);
return NR().normalize(t)
})(v)),
disabled: !v
}), (0, BR.jsx)(Gv, {
label: t("game_page_settings_verify"),
onClick: () => mM.addInstallationToQueue(e, xP.InstallationType.VERIFY),
disabled: h || f || y
}), p && (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(Gv, {
label: t("game_page_settings_check_update"),
endIcon: i ? (0, BR.jsx)(jM, {}) : void 0,
onClick: () => {
a(!0), setTimeout((async () => {
await l.actions.checkForGameChannelUpdates(e), a(!1)
}), 3e3)
},
disabled: i || m || h || f || y,
close: !1
}), (0, BR.jsx)(Gv, {
color: "negative",
label: t("game_page_settings_uninstall"),
onClick: () => mM.uninstallChannel(e),
disabled: h || f
})]
})]
})), [n, t, _, p, v, h, f, y, i, m, e, l.actions]),
setGameSettingsMenuAnchor: r
}
},
IU = e => {
var t;
const n = Vz((e => e.installer)),
r = Vz((e => e.library)),
{
status: i,
installation: a
} = (0, Ee.useMemo)((() => {
const t = RR(e.gameId, r.installedGames),
i = null === t || void 0 === t ? void 0 : t.channels.find((t => t.id === e.channelId)),
a = fR(n.installations, e),
o = mR(n.uninstallations, e);
return {
channel: i,
status: xU(i, a, o),
installation: a
}
}), [e, n.installations, n.uninstallations, r.installedGames]),
o = (i === xP.InstallationStatus.PAUSED || i === xP.InstallationStatus.IN_PROGRESS || i === xP.InstallationStatus.WAITING) && n.progress,
s = [];
var l, c, u, d, p, h, f, m, g;
i !== xP.InstallationStatus.WAITING && (null !== (l = n.progress) && void 0 !== l && l.speed && s.push({
label: be("download_speed", {
ns: "download"
}),
value: `${n.progress.speed}/s`
}), s.push({
label: be("download_left", {
ns: "download"
}),
value: pR()(Math.max((null !== (c = null === (u = n.progress) || void 0 === u ? void 0 : u.total) && void 0 !== c ? c : 0) - (null !== (d = null === (p = n.progress) || void 0 === p ? void 0 : p.downloaded) && void 0 !== d ? d : 0), 0))
}));
(null === a || void 0 === a ? void 0 : a.type) === xP.InstallationType.VERIFY && s.push({
label: be("download_files_left", {
ns: "download"
}),
value: Math.max((null !== (h = null === (f = n.progress) || void 0 === f ? void 0 : f.filesTotal) && void 0 !== h ? h : 0) - (null !== (m = null === (g = n.progress) || void 0 === g ? void 0 : g.filesDone) && void 0 !== m ? m : 0), 0)
});
return {
displayProgressBar: o,
ProgressBarComponent: (0, BR.jsx)(cd, {
state: i,
progress: i === xP.InstallationStatus.IN_PROGRESS && null !== (t = n.progress) && void 0 !== t && t.showProgress ? n.progress.percentage : void 0,
stats: s
})
}
},
OU = () => {
var e, t;
const {
t: n
} = bt("gamePage"), {
gameId: r
} = PL(), i = Vz((e => e.library)), a = Vz((e => e.application)), {
reduceMotion: {
backgroundVideoDisabled: o,
unessentialAnimationsDisabled: s,
wipeAnimationsDisabled: l
}
} = Qo(), {
selectedGame: c,
selectedChannel: u,
channels: d
} = (0, Ee.useMemo)((() => {
const e = RR(null !== r && void 0 !== r ? r : i.channelSelected.gameId, i.availableGames),
t = null === e || void 0 === e ? void 0 : e.channels.find((e => e.id === i.channelSelected.channelId));
return {
selectedGame: e,
selectedChannel: t,
channels: i.actions.getChannels(null !== r && void 0 !== r ? r : i.channelSelected.gameId)
}
}), [r, i.actions, i.availableGames, i.channelSelected.channelId, i.channelSelected.gameId]), p = (e => {
var t;
const n = Vz((e => e.application)),
r = Vz((e => e.installer)),
i = Vz((e => e.library)),
a = Vz((e => e.dialog)),
o = Vz((e => e.storage)),
s = Vz((e => e.settings)),
l = TR(),
{
reduceMotion: {
unessentialAnimationsDisabled: c
}
} = Qo(),
{
status: u,
installation: d,
channelSettings: p
} = (0, Ee.useMemo)((() => {
const t = RR(e.gameId, i.installedGames),
n = null === t || void 0 === t ? void 0 : t.channels.find((t => t.id === e.channelId)),
a = s.gamesSettings.find((t => t.gameId === e.gameId && t.channelId === e.channelId)),
o = fR(r.installations, e),
l = mR(r.uninstallations, e);
return {
installation: o,
status: xU(n, o, l),
channelSettings: a
}
}), [e, i.installedGames, r.installations, r.uninstallations, s.gamesSettings]),
h = n.actions.isOffline(),
f = {
[xP.InstallationType.INSTALL]: {
titleInProgress: "game_page_installing",
titlePaused: "game_page_installing_paused"
},
[xP.InstallationType.UPDATE]: {
titleInProgress: "game_page_updating",
titlePaused: "game_page_updating_paused"
},
[xP.InstallationType.VERIFY]: {
titleInProgress: "game_page_verifying",
titlePaused: "game_page_verifying_paused"
}
} [null !== (t = null === d || void 0 === d ? void 0 : d.type) && void 0 !== t ? t : xP.InstallationType.INSTALL];
switch (u) {
case xP.InstallationStatus.PAUSED:
return {
buttonProps: {
children: xt.t(f.titlePaused, {
ns: "gamePage"
}),
iconAnimation: !1,
icon: OM,
disabled: h
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case xP.InstallationStatus.CANCELLING:
case xP.InstallationStatus.IN_PROGRESS:
return {
buttonProps: {
children: xt.t(f.titleInProgress, {
ns: "gamePage"
}),
loading: !0,
disabled: !1,
loadingIcon: c ? OM : JM
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case xP.GameChannelStatus.INSTALLED:
return {
buttonProps: {
children: xt.t("game_page_launch_game", {
ns: "gamePage"
}),
disabled: h || n.isGameRunning,
icon: c ? NM : kU
}, action: () => {
i.actions.launchGame(e)
}
};
case xP.GameChannelStatus.RUNNING:
return {
buttonProps: {
children: xt.t("game_page_game_is_running", {
ns: "gamePage"
}),
loading: !0,
disabled: !1
}, action: () => {
l.window.setMinimizeWindow()
}
};
case xP.GameChannelStatus.UNINSTALLING:
return {
buttonProps: {
children: xt.t("game_page_uninstalling", {
ns: "gamePage"
}),
loading: !0,
disabled: !0
}, action: () => {}
};
case xP.GameChannelStatus.UPDATE_AVAILABLE:
return {
buttonProps: {
children: xt.t("game_page_update_game", {
ns: "gamePage"
}),
icon: c ? MM : SU,
disabled: h
}, action: async () => {
mM.addInstallationToQueue(e, xP.InstallationType.UPDATE)
}
};
case xP.InstallationStatus.ERROR:
case xP.InstallationStatus.WAITING:
return {
buttonProps: {
children: xt.t("game_page_waiting_in_queue", {
ns: "gamePage"
}),
loading: !0,
disabled: !1
}, action: () => n.actions.toggleDownloadPopoverOpened()
};
case xP.InstallationStatus.COMPLETED:
case xP.GameChannelStatus.AVAILABLE:
default:
return {
buttonProps: {
children: xt.t("game_page_install_game", {
ns: "gamePage"
}),
icon: c ? PM : wU,
disabled: h
}, action: async () => {
await a.actions.showGameStartInstallationDialog(e, (null === p || void 0 === p ? void 0 : p.libraryFolder) || o.defaultLibraryFolder, !1)
}
}
}
})(i.channelSelected), {
GameNotAvailableOfflineMessageComponent: h,
UpdateAvailableMessageComponent: f
} = (e => {
const t = Vz((e => e.library)),
n = Vz((e => e.application)),
r = Vz((e => e.installer)),
{
channel: i,
status: a
} = (0, Ee.useMemo)((() => {
const n = RR(e.gameId, t.installedGames),
i = null === n || void 0 === n ? void 0 : n.channels.find((t => t.id === e.channelId)),
a = fR(r.installations, e),
o = mR(r.uninstallations, e);
return {
channel: i,
status: xU(i, a, o)
}
}), [e, t.installedGames, r.installations, r.uninstallations]),
o = n.actions.isOffline();
return {
UpdateAvailableMessageComponent: (0, Ee.useMemo)((() => a === xP.GameChannelStatus.UPDATE_AVAILABLE ? (0, BR.jsx)(ft, {
i18nKey: "game_page_update_game_is_available",
ns: "gamePage",
components: [(0, BR.jsx)(Pv, {
href: xP.configuration.patchnotesUrl,
external: !0
})],
values: {
version: null === i || void 0 === i ? void 0 : i.versionLabel
}
}) : void 0), [null === i || void 0 === i ? void 0 : i.versionLabel, a]),
GameNotAvailableOfflineMessageComponent: (0, Ee.useMemo)((() => o ? (0, BR.jsx)(ft, {
i18nKey: "game_page_game_is_not_available_offline",
ns: "gamePage",
values: {
game: e.gameName
}
}) : void 0), [e.gameName, o])
}
})(i.channelSelected), {
handleChannelSelection: m,
channelSelectorSuffix: g,
setGameSettingsMenuAnchor: v
} = EU(i.channelSelected), {
displayProgressBar: y,
ProgressBarComponent: _
} = IU(i.channelSelected), b = null === (e = a.animations.gamePageEntering) || void 0 === e ? void 0 : e.isAnimating, x = null === (t = a.animations.gamePageEntering) || void 0 === t ? void 0 : t.animState, w = a.actions.isOffline(), k = "SC" === (null === c || void 0 === c ? void 0 : c.id) && (null === u || void 0 === u ? void 0 : u.id) === oM && a.nonOperationalStatus;
return (0, BR.jsxs)(BR.Fragment, {
children: [(0, BR.jsx)(Hh, {
image: null === c || void 0 === c ? void 0 : c.bgImage,
video: o || null === c || void 0 === c ? void 0 : c.bgVideo
}), (0, BR.jsx)(Yh, {
logo: null === c || void 0 === c ? void 0 : c.logoWide,
animation: null === c || void 0 === c ? void 0 : c.logoAnimation,
playLottie: !!l || b && "entering" === x
}), (0, BR.jsx)(bv, {
children: (0, BR.jsx)(ft, {
i18nKey: "game_page_title",
values: {
name: null === c || void 0 === c ? void 0 : c.name
},
components: [(0, BR.jsx)("br", {}), (0, BR.jsx)("b", {})],
t: n
})
}), (0, BR.jsxs)(Wh, {
children: [i.availableGames.length > 0 && (0, BR.jsx)($h, {
label: n("game_page_channels"),
labelType: "classic",
className: "sol-c-game-page__channel-selector",
children: (0, BR.jsx)(ey, {
onValueChange: m,
value: null === u || void 0 === u ? void 0 : u.id,
suffix: g,
wrapperProps: {
ref: v
},
children: d.map((({
description: e,
label: t,
value: n
}) => (0, BR.jsx)(Jv, {
description: e,
label: t,
value: n
}, n)))
})
}), (0, BR.jsx)(qh, {
iconAnimation: !s && "hover",
onClick: () => p.action(),
...p.buttonProps
}), y && _, h && (0, BR.jsx)(Zh, {
children: h
}), !y && f && (0, BR.jsx)(Zh, {
children: f
}), !w && k && a.nonOperationalStatus && (0, BR.jsx)(UF, {
status: a.nonOperationalStatus
})]
}), (0, BR.jsx)(yU, {})]
})
},
CU = () => {
const {
t: e
} = bt("errors"), t = Vz((e => e.window)), n = Vz((e => e.application)), r = CL(), [i, a] = (0, Ee.useState)(!1), o = (0, Ee.useCallback)((() => t.actions.exitLauncher()), [t]), s = (0, Ee.useCallback)((() => {
a(!0);
const e = setTimeout((() => {
a(!1), r(`/${NU.SIGN_IN}`), clearTimeout(e)
}), 3 * GT.second)
}), [a, r]);
return (0, Ee.useEffect)((() => {
n.connection.mode === xP.ConnectionMode.ONLINE && r(`/${NU.SIGN_IN}`)
}), [n.connection, r]), (0, BR.jsx)(oy, {
children: (0, BR.jsx)(ay, {
title: e("error_sign_in_offline_header_title"),
subtitle: (0, BR.jsx)(ft, {
i18nKey: "error_sign_in_offline_header_subtitle",
ns: "errors"
}),
footer: (0, BR.jsxs)(Es, {
align: "end",
gap: "100",
children: [(0, BR.jsx)(gs, {
variant: "monochrome",
size: "large",
onClick: o,
children: e("error_sign_in_offline_exit")
}), (0, BR.jsx)(gs, {
loading: i,
onClick: s,
size: "large",
children: e("error_sign_in_offline_retry")
})]
}),
children: (0, BR.jsxs)(Es, {
gap: "100",
vertical: !0,
children: [(0, BR.jsx)(sd, {}), (0, BR.jsx)(ds, {
color: "foreground-weak",
className: "sol-u-margin-b-050",
children: (0, BR.jsx)("h2", {
children: e("error_sign_in_offline_content_title")
})
}), (0, BR.jsxs)(ds, {
color: "foreground-weak",
children: [(0, BR.jsx)("span", {
children: e("error_sign_in_offline_content_description")
}), (0, BR.jsxs)("ul", {
children: [(0, BR.jsx)("li", {
children: e("error_sign_in_offline_content_description_first")
}), (0, BR.jsx)("li", {
children: e("error_sign_in_offline_content_description_second")
}), (0, BR.jsx)("li", {
children: e("error_sign_in_offline_content_description_third")
})]
})]
})]
})
})
})
},
AU = () => {
const e = Vz((e => e.toasts)),
t = Vz((e => e.application)),
{
wipeAnimType: n,
isHeaderVisible: r
} = (() => {
var e, t;
const n = Vz((e => e.application)),
r = null === (e = n.animations.appLayoutWipe) || void 0 === e ? void 0 : e.isAnimating,
i = null === (t = n.animations.appLayoutWipe) || void 0 === t ? void 0 : t.animType,
a = 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(""), i) {
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, a / 2))), c("out-rtl");
break;
default:
c("in"), await new Promise((e => setTimeout(e, a / 2))), c("out")
}
await new Promise((e => setTimeout(e, a / 2))), n.actions.setAnimatingAppLayoutWipe("", !1), c("")
}), [i, a, n.actions]);
return (0, Ee.useEffect)((() => {
r ? u() : s(!0)
}), [r, u]), {
wipeAnimType: l,
isHeaderVisible: o
}
})(),
{
t: i
} = bt("settingsPage"),
a = (0, Ee.useRef)(!1);
return fM(), (() => {
const {
game: {
onLaunchGameSuccessfull: e,
onLaunchGameFailed: t,
onLaunchGameStopped: n
}
} = window.launcherAPI, r = Vz((e => e.library));
(0, Ee.useEffect)((() => e((e => {
r.actions.setLaunchGameSuccessfull(e)
}))), [r.actions, e]), (0, Ee.useEffect)((() => t((e => {
r.actions.setLaunchGameFailed(e)
}))), [r.actions, t]), (0, Ee.useEffect)((() => n((e => {
r.actions.setLaunchGameStopped(e)
}))), [r.actions, n])
})(), (0, Ee.useEffect)((() => (mM.registerEventListener(), () => {
mM.removeEventListener()
})), []), (() => {
const {
connectivity: {
onConnectionAvailable: e,
onConnectionUnavailable: t
}
} = window.launcherAPI, n = Vz((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 = Vz((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: AM,
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: CM,
closeOnClick: !0
})
}))), [t, r, n.actions])
})(), (0, Ee.useEffect)((() => {
if (!a.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>${i("settings_about_launcher_preversion")}</span>`), a.current = !0
}
}), []), (0, Ee.useEffect)((() => {
e.actions.init()
}), [e.actions]), (0, BR.jsx)(BR.Fragment, {
children: (0, BR.jsx)(QM, {
children: (0, BR.jsxs)(Ps, {
className: "sol-u-animation-wipe",
"data-sol-animation-wipe": n,
header: r ? (0, BR.jsx)(sF, {}) : void 0,
children: [(0, BR.jsx)($L, {}), (0, BR.jsx)(cF, {}), (0, BR.jsx)(dy, {
toasts: e.list
})]
})
})
})
},
PU = () => {
const e = (0, Ee.useCallback)((() => {
TR().window.setLargeWindow()
}), []);
(0, Ee.useEffect)((() => {
e()
}), [e])
},
TU = () => {
const e = Vz((e => e.application)),
{
wipeAnimationsDisabled: t
} = Qo().reduceMotion,
n = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
(() => {
const e = (0, Ee.useCallback)((() => {
TR().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, BR.jsx)(oy, {
children: (0, BR.jsx)($L, {})
})
},
RU = () => {
var e;
const t = Vz((e => e.library)),
n = Vz((e => e.application)),
r = null === (e = n.animations.appLayoutWipe) || void 0 === e ? void 0 : e.isAnimating,
{
wipeAnimationsDisabled: i
} = Qo().reduceMotion;
PU();
const a = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)),
[o, s] = (0, Ee.useState)("is-init"),
l = (0, Ee.useCallback)((async () => {
await t.actions.checkForGameChannelsUpdates()
}), [t.actions]);
(0, Ee.useEffect)((() => {
t.installedGames.length > 0 && l()
}), [l, t.installedGames.length]);
const c = (0, Ee.useMemo)((() => $T(xP.configuration.requestPollingInterval.library.base, xP.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])
})((() => l()), t.installedGames.length > 0 ? c : null);
const u = (0, Ee.useCallback)((() => {
if (i) return n.actions.setAnimatingGamePageEntering(!1, "entered"), void s("is-entered");
if (!r && "is-init" === o) {
n.actions.setAnimatingGamePageEntering(!0, "entering"), s("is-entering");
const e = setTimeout((() => {
n.actions.setAnimatingGamePageEntering(!1, "entered"), s("is-entered")
}), a / 2 + 2e3);
return () => clearTimeout(e)
}
}), [r, o, n.actions, a, i]);
return (0, Ee.useEffect)((() => {
u()
}), [u]), (0, BR.jsx)(xv, {
navigation: (0, BR.jsx)(zF, {}),
"data-sol-animation-gamepage": o,
children: (0, BR.jsx)($L, {})
})
},
DU = () => {
const e = Vz((e => e.application)),
t = Vz((e => e.user)),
n = CL(),
{
pathname: r
} = IL(),
{
t: i
} = bt("settingsPage");
PU();
const {
wipeAnimationsDisabled: a
} = Qo().reduceMotion, o = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/)), s = [{
title: i("settings_nav_items_application"),
path: "application"
}, {
title: i("settings_nav_items_accessibility"),
path: "accessibility"
}, {
title: i("settings_nav_items_games"),
path: "games"
}, {
title: i("settings_nav_items_storage"),
path: "storage"
}, {
title: i("settings_nav_items_download"),
path: "download"
}, {
title: i("settings_nav_items_about"),
path: "about"
}, {
title: i("settings_nav_items_dev"),
path: "dev",
staff: !0
}];
return (0, BR.jsxs)(iy, {
children: [(0, BR.jsx)(ny, {
back: {
label: i("settings_common_back"),
href: ".."
},
title: "Settings",
backCallback: () => {
if (a) return void n(NU.HOME);
e.actions.setAnimatingAppLayoutWipe("full-rtl", !0);
const t = setTimeout((() => {
n(NU.HOME)
}), o / 2);
return () => clearTimeout(t)
},
children: s.map((e => {
const n = t.identity && t.identity.privileged,
i = pD({
path: `/${NU.SETTINGS}/${e.path}`,
end: !1
}, r);
return (!e.staff || e.staff && n) && (0, BR.jsx)(ry, {
active: Boolean(i),
href: e.path,
children: e.title
}, e.path)
}))
}), (0, BR.jsx)($L, {})]
})
};
const LU = () => {
const e = IL();
return (Vz((e => e.user)), uM.isLoggedIn()) ? (0, BR.jsx)($L, {}) : (0, BR.jsx)(GL, {
to: "sign-in",
replace: !0,
state: {
from: e
}
})
},
NU = {
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"
},
jU = function(e, t) {
return FD({
basename: null == t ? void 0 : t.basename,
future: VF({}, null == t ? void 0 : t.future, {
v7_prependBasename: !0
}),
history: (n = {
window: null == t ? void 0 : t.window
}, void 0 === n && (n = {}), eD((function(e, t) {
let {
pathname: n = "/",
search: r = "",
hash: i = ""
} = JR(e.location.hash.substr(1));
return n.startsWith("/") || n.startsWith(".") || (n = "/" + n), ZR("", {
pathname: n,
search: r,
hash: i
}, 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 : XR(t))
}), (function(e, t) {
YR("/" === e.pathname.charAt(0), "relative pathnames are not supported in hash history.push(" + JSON.stringify(t) + ")")
}), n)),
hydrationData: (null == t ? void 0 : t.hydrationData) || $F(),
routes: e,
mapRouteProperties: HL,
window: null == t ? void 0 : t.window
}).initialize();
var n
}([{
element: (0, BR.jsx)(AU, {}),
loader: async () => {
const e = Number(getComputedStyle(document.body).getPropertyValue("--sol-motion-anim-wipe-duration").match(/\d+/));
try {
const t = Vz.getState().application;
if (t.isAppInitialized) return void t.actions.checkConnection();
await new Promise((t => setTimeout(t, xP.configuration.appLayoutLoaderWipeTrigger + e / 2)))
} finally {
return null
}
},
children: [{
path: NU.HOME,
element: (0, BR.jsx)(LU, {}),
children: [{
element: (0, BR.jsx)(RU, {}),
children: [{
index: !0,
loader: async () => {
const e = `/game-page/${Vz.getState().library.gameSelected}`;
throw kD(e)
}
}, {
path: NU.GAME_PAGE,
element: (0, BR.jsx)(OU, {}),
loader: async ({
params: e
}) => {
try {
var t;
if (await async function(e = NU.SIGN_IN) {
const t = Vz.getState().user,
n = Vz.getState().application;
if (n.actions.isOffline() && !n.actions.isOfflineSessionValid() && await uM.logOutCurrentUser(), !uM.isLoggedIn()) throw kD(e);
return t.identity
}(), !e.gameId) return null;
const n = Vz.getState().library,
r = Vz.getState().settings;
n.gameSelected !== e.gameId && n.actions.setGameSelected(e.gameId);
const i = null !== (t = Yj.getQueryData(Mj().queryKey)) && void 0 !== t ? t : await Yj.fetchQuery(Mj());
if (!i) return null;
n.actions.setAvailableGames(i), r.actions.initializeGameSettings();
const a = null === i || void 0 === i ? void 0 : i.find((({
id: t
}) => e.gameId === t));
if (!a) return null;
const o = (await window.launcherAPI.store.getValueFromStore("library.defaults")).find((t => t.gameId === e.gameId));
if (o) n.actions.setGameChannelSelected(o);
else {
const t = a.channels[0],
r = e.gameId === n.channelSelected.gameId ? n.channelSelected : {
gameId: a.id,
gameName: a.name,
channelId: t.id,
platformId: t.platformId,
channelName: t.name
};
n.actions.setGameChannelSelected(r)
}
return {
fetchedLibrary: i
}
} catch (n) {
return window.launcherAPI.log.error(`[Loader] Not able to load game layout : ${n}`), null
} finally {
Vz.getState().status.actions.checkStatus()
}
}
}]
}, {
element: (0, BR.jsx)(DU, {}),
path: NU.SETTINGS,
children: [{
index: !0,
loader: async () => {
throw kD(NU.SETTINGS_APPLICATION)
}
}, {
path: NU.SETTINGS_APPLICATION,
element: (0, BR.jsx)(Qz, {})
}, {
path: NU.SETTINGS_ACCESSIBILITY,
element: (0, BR.jsx)(Hz, {})
}, {
path: NU.SETTINGS_GAMES,
element: (0, BR.jsx)(pU, {})
}, {
path: NU.SETTINGS_STORAGE,
element: (0, BR.jsx)(hU, {})
}, {
path: NU.SETTINGS_DOWNLOAD,
element: (0, BR.jsx)(Xz, {})
}, {
path: NU.SETTINGS_ABOUT,
element: (0, BR.jsx)(Gz, {})
}, {
path: NU.SETTINGS_DEV,
element: (0, BR.jsx)(Zz, {})
}]
}]
}, {
path: NU.SIGN_IN,
element: (0, BR.jsx)(TU, {}),
loader: async () => {
const e = Vz.getState().library,
t = Vz.getState().application,
n = `/game-page/${e.gameSelected}`,
r = `/${NU.OFFLINE}`;
return uM.isLoggedIn() ? kD(n) : t.actions.isOffline() ? kD(r) : null
},
children: [{
index: !0,
element: (0, BR.jsx)(fU, {})
}, {
path: NU.SIGN_IN_MFA,
element: (0, BR.jsx)(mU, {})
}, {
path: NU.SIGN_IN_GAME_PACKAGE_MISSING,
element: (0, BR.jsx)(gU, {})
}]
}, {
path: NU.OFFLINE,
element: (0, BR.jsx)(CU, {})
}]
}]),
MU = () => (0, BR.jsx)(XF, {
router: jU,
fallbackElement: (0, BR.jsx)(lF, {})
});
var FU = n(95),
zU = function() {
return null
};
const UU = e => {
e && e instanceof Function && n.e(496).then(n.bind(n, 1496)).then((({
getCLS: t,
getFID: n,
getFCP: r,
getLCP: i,
getTTFB: a
}) => {
t(e), n(e), r(e), i(e), a(e)
}))
};
var VU;
! function(e = {}, t = hP) {
window?.__SENTRY__RENDERER_INIT__ ? E_.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, void 0 === e.autoSessionTracking && (e.autoSessionTracking = !1), e.sendClientReports = !1, void 0 === e.defaultIntegrations && (e.defaultIntegrations = [...pP(), rA()]), void 0 === e.stackParser && (e.stackParser = bP), void 0 === e.dsn && (e.dsn = "https://12345@dummy.dsn/12345"), void 0 === e.transport && (e.transport = lA), e.anrDetection && function(e) {
const t = {
pollInterval: 1e3,
anrThreshold: 5e3,
captureStackTrace: !1,
...e
},
n = nA();
document.addEventListener("visibilitychange", (() => {
n.sendStatus({
status: document.visibilityState,
config: t
})
})), 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 = {}) => {
Pk || (Pk = !0, Ek(Tk), Ck(Tk));
const {
enableInp: t,
enableLongTask: n,
enableLongAnimationFrame: r,
_experiments: {
enableInteractions: i,
enableStandaloneClsSpans: a
},
beforeStartSpan: o,
idleTimeout: s,
finalTimeout: l,
childSpanTimeout: c,
markBackgroundSpan: u,
traceFetch: d,
traceXHR: p,
shouldCreateSpanForRequest: h,
enableHTTPTimings: f,
instrumentPageLoad: m,
instrumentNavigation: g
} = {
...xS,
...e
}, v = ak({
recordClsStandaloneSpans: a || !1
});
t && dk(), r && f_.PerformanceObserver && PerformanceObserver.supportedEntryTypes && PerformanceObserver.supportedEntryTypes.includes("long-animation-frame") ? new PerformanceObserver((e => {
if (Yb())
for (const t of e.getEntries()) {
if (!t.scripts[0]) continue;
const e = Jw(ib + t.startTime),
n = Jw(t.duration),
r = {
[Pb]: "auto.ui.browser.metrics"
},
i = t.scripts[0],
{
invoker: a,
invokerType: o,
sourceURL: s,
sourceFunctionName: l,
sourceCharPosition: c
} = i;
r["browser.script.invoker"] = a, r["browser.script.invoker_type"] = o, s && (r["code.filepath"] = s), l && (r["code.function"] = l), -1 !== c && (r["browser.script.source_char_position"] = c);
const u = Ux({
name: "Main UI thread blocked",
op: "ui.long-animation-frame",
startTime: e,
attributes: r
});
u && u.end(e + n)
}
})).observe({
type: "long-animation-frame",
buffered: !0
}) : n && zw("longtask", (({
entries: e
}) => {
if (Yb())
for (const t of e) {
const e = Jw(ib + t.startTime),
n = Jw(t.duration),
r = Ux({
name: "Main UI thread blocked",
op: "ui.long-task",
startTime: e,
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
});
r && r.end(e + n)
}
})), i && zw("event", (({
entries: e
}) => {
if (Yb())
for (const t of e)
if ("click" === t.name) {
const e = Jw(ib + t.startTime),
n = Jw(t.duration),
r = {
name: v_(t.target),
op: `ui.interaction.${t.name}`,
startTime: e,
attributes: {
[Pb]: "auto.ui.browser.metrics"
}
},
i = b_(t.target);
i && (r.attributes["ui.component_name"] = i);
const a = Ux(r);
a && a.end(e + n)
}
}));
const y = {
name: void 0,
source: void 0
};
function _(e, t) {
const n = "pageload" === t.op,
r = o ? o(t) : t,
i = r.attributes || {};
t.name !== r.name && (i[Ob] = "custom", r.attributes = i), y.name = r.name, y.source = i[Ob];
const u = kk(r, {
idleTimeout: s,
finalTimeout: l,
childSpanTimeout: c,
disableAutoFinish: n,
beforeSpanEnd: e => {
v(), ok(e, {
recordClsOnPageloadSpan: !a
})
}
});
function d() {
["interactive", "complete"].includes(Zk.document.readyState) && e.emit("idleSpanEnableAutoFinish", u)
}
return n && Zk.document && (Zk.document.addEventListener("readystatechange", (() => {
d()
})), d()), u
}
return {
name: "BrowserTracing",
afterAllSetup(e) {
let n, r = Zk.location && Zk.location.href;
e.on("startNavigationSpan", (t => {
Sb() === e && (n && !Vb(n).timestamp && (Rk && E_.log(`[Tracing] Finishing current root span with op: ${Vb(n).op}`), n.end()), n = _(e, {
op: "navigation",
...t
}))
})), e.on("startPageLoadSpan", ((t, r = {}) => {
if (Sb() !== e) return;
n && !Vb(n).timestamp && (Rk && E_.log(`[Tracing] Finishing current root span with op: ${Vb(n).op}`), n.end());
const i = J_(r.sentryTrace || wS("sentry-trace"), r.baggage || wS("baggage"));
xb().setPropagationContext(i), n = _(e, {
op: "pageload",
...t
})
})), e.on("spanEnd", (e => {
const t = Vb(e).op;
if (e !== Kb(e) || "navigation" !== t && "pageload" !== t) return;
const n = xb(),
r = n.getPropagationContext();
n.setPropagationContext({
...r,
sampled: void 0 !== r.sampled ? r.sampled : Bb(e),
dsc: r.dsc || tx(e)
})
})), Zk.location && (m && function(e, t, n) {
e.emit("startPageLoadSpan", t, n), xb().setTransactionName(t.name);
const r = Yb(),
i = r && Vb(r).op
}(e, {
name: Zk.location.pathname,
startTime: ib ? ib / 1e3 : void 0,
attributes: {
[Ob]: "url",
[Pb]: "auto.pageload.browser"
}
}), g && bk((({
to: t,
from: n
}) => {
void 0 === n && r && -1 !== r.indexOf(t) ? r = void 0 : n !== t && (r = void 0, function(e, t) {
wb().setPropagationContext(sb()), xb().setPropagationContext(sb()), e.emit("startNavigationSpan", t), xb().setTransactionName(t.name);
const n = Yb(),
r = n && Vb(n).op
}(e, {
name: Zk.location.pathname,
attributes: {
[Ob]: "url",
[Pb]: "auto.navigation.browser"
}
}))
}))), u && (Zk && Zk.document ? Zk.document.addEventListener("visibilitychange", (() => {
const e = Yb();
if (!e) return;
const t = Kb(e);
if (Zk.document.hidden && t) {
const e = "cancelled",
{
op: n,
status: r
} = Vb(t);
Rk && E_.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()
}
})) : Rk && E_.warn("[Tracing] Could not set up background tab detection due to lack of global document")), i && function(e, t, n, r) {
let i;
const a = () => {
const a = "ui.action.click",
o = Yb(),
s = o && Kb(o);
if (s) {
const e = Vb(s).op;
if (["navigation", "pageload"].includes(e)) return void(Rk && E_.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`))
}
i && (i.setAttribute(Tb, "interactionInterrupted"), i.end(), i = void 0), r.name ? i = kk({
name: r.name,
op: a,
attributes: {
[Ob]: r.source || "url"
}
}, {
idleTimeout: e,
finalTimeout: t,
childSpanTimeout: n
}) : Rk && E_.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`)
};
Zk.document && addEventListener("click", a, {
once: !1,
capture: !0
})
}(s, l, c, y), t && function(e) {
const t = ({
entries: e
}) => {
const t = Yb(),
n = t && Kb(t);
e.forEach((e => {
if (! function(e) {
return "duration" in e
}(e) || !n) return;
const t = e.interactionId;
if (null != t && !uk.has(t)) {
if (ck.length > 10) {
const e = ck.shift();
uk.delete(e)
}
ck.push(t), uk.set(t, n)
}
}))
};
zw("event", t), zw("first-input", t)
}(), vS(e, {
traceFetch: d,
traceXHR: p,
tracePropagationTargets: e.getOptions().tracePropagationTargets,
shouldCreateSpanForRequest: h,
enableHTTPTimings: f
})
}
}
})(), new qC(VU)]
}, (function(e) {
const t = {
...e
};
var n, r;
return Ii(t, "react"), n = "react", r = {
version: Ee.version
}, Ln().setContext(n, r), Wa(t)
}));
const BU = Ee.lazy((() => n.e(803).then(n.bind(n, 803)).then((e => ({
default: e.ReactQueryDevtools
}))))),
GU = () => {
const [e, t] = Ee.useState(!1), {
reduceMotion: n
} = Vz((e => e.settings.appSettings.accessibility));
return (0, Ee.useEffect)((() => {
window.toggleDevtools = () => t((e => !e))
}), []), (async () => {
const e = Vz.getState().application,
t = Vz.getState().library,
n = Vz.getState().soundSystem,
r = Vz.getState().authentication,
i = Vz.getState().settings,
a = Vz.getState().installer,
o = Vz.getState().status,
s = Vz.getState().user,
l = Vz.getState().storage;
e.isAppInitialized || (await e.actions.initializeApplication(), await n.actions.initializeSoundContext(), await r.actions.initializeAuthentication(), await s.actions.initialize(), await t.actions.initializeLibrary(), await i.actions.initializeApplicationSettings(), await i.actions.initializeGameSettings(), await a.actions.initialize(), await o.actions.initializeStatus(), await l.actions.initialize())
})(), (0, BR.jsx)(Ee.StrictMode, {
children: (0, BR.jsx)(Za, {
fallback: (0, BR.jsx)("p", {
children: "An error has occurred"
}),
children: (0, BR.jsx)($R, {
children: (0, BR.jsx)(Tj.aH, {
client: Yj,
children: (0, BR.jsxs)(Yo, {
reduceMotion: null !== n && void 0 !== n ? n : hz.reduceMotion,
children: [(0, BR.jsx)(qo, {
value: az,
children: (0, BR.jsx)(NF.Provider, {
children: (0, BR.jsx)(MU, {})
})
}), (0, BR.jsx)(zU, {
initialIsOpen: !0
}), e && (0, BR.jsx)(Ee.Suspense, {
fallback: null,
children: (0, BR.jsx)(BU, {})
})]
})
})
})
}, Pz())
})
};
FU.createRoot(document.getElementById("root")).render((0, BR.jsx)(GU, {})), UU()
})()
})();
//# sourceMappingURL=main.9b8818fa.js.map
//# debugId=829ebc77-1fbe-522d-93c7-87bccd79a2b9