@base-org/account
Version:
Base Account SDK
271 lines • 105 kB
JavaScript
!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.ClientAnalytics = t() : e.ClientAnalytics = t(); }(this, (function () { return (() => { var e = { 792: e => { var t = { utf8: { stringToBytes: function (e) { return t.bin.stringToBytes(unescape(encodeURIComponent(e))); }, bytesToString: function (e) { return decodeURIComponent(escape(t.bin.bytesToString(e))); } }, bin: { stringToBytes: function (e) { for (var t = [], n = 0; n < e.length; n++)
t.push(255 & e.charCodeAt(n)); return t; }, bytesToString: function (e) { for (var t = [], n = 0; n < e.length; n++)
t.push(String.fromCharCode(e[n])); return t.join(""); } } }; e.exports = t; }, 562: e => { var t, n; t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n = { rotl: function (e, t) { return e << t | e >>> 32 - t; }, rotr: function (e, t) { return e << 32 - t | e >>> t; }, endian: function (e) { if (e.constructor == Number)
return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24); for (var t = 0; t < e.length; t++)
e[t] = n.endian(e[t]); return e; }, randomBytes: function (e) { for (var t = []; e > 0; e--)
t.push(Math.floor(256 * Math.random())); return t; }, bytesToWords: function (e) { for (var t = [], n = 0, r = 0; n < e.length; n++, r += 8)
t[r >>> 5] |= e[n] << 24 - r % 32; return t; }, wordsToBytes: function (e) { for (var t = [], n = 0; n < 32 * e.length; n += 8)
t.push(e[n >>> 5] >>> 24 - n % 32 & 255); return t; }, bytesToHex: function (e) { for (var t = [], n = 0; n < e.length; n++)
t.push((e[n] >>> 4).toString(16)), t.push((15 & e[n]).toString(16)); return t.join(""); }, hexToBytes: function (e) { for (var t = [], n = 0; n < e.length; n += 2)
t.push(parseInt(e.substr(n, 2), 16)); return t; }, bytesToBase64: function (e) { for (var n = [], r = 0; r < e.length; r += 3)
for (var i = e[r] << 16 | e[r + 1] << 8 | e[r + 2], a = 0; a < 4; a++)
8 * r + 6 * a <= 8 * e.length ? n.push(t.charAt(i >>> 6 * (3 - a) & 63)) : n.push("="); return n.join(""); }, base64ToBytes: function (e) { e = e.replace(/[^A-Z0-9+\/]/gi, ""); for (var n = [], r = 0, i = 0; r < e.length; i = ++r % 4)
0 != i && n.push((t.indexOf(e.charAt(r - 1)) & Math.pow(2, -2 * i + 8) - 1) << 2 * i | t.indexOf(e.charAt(r)) >>> 6 - 2 * i); return n; } }, e.exports = n; }, 335: e => { function t(e) { return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e); } e.exports = function (e) { return null != e && (t(e) || function (e) { return "function" == typeof e.readFloatLE && "function" == typeof e.slice && t(e.slice(0, 0)); }(e) || !!e._isBuffer); }; }, 762: (e, t, n) => { var r, i, a, o, s; r = n(562), i = n(792).utf8, a = n(335), o = n(792).bin, (s = function (e, t) { e.constructor == String ? e = t && "binary" === t.encoding ? o.stringToBytes(e) : i.stringToBytes(e) : a(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || e.constructor === Uint8Array || (e = e.toString()); for (var n = r.bytesToWords(e), c = 8 * e.length, u = 1732584193, l = -271733879, d = -1732584194, p = 271733878, m = 0; m < n.length; m++)
n[m] = 16711935 & (n[m] << 8 | n[m] >>> 24) | 4278255360 & (n[m] << 24 | n[m] >>> 8); n[c >>> 5] |= 128 << c % 32, n[14 + (c + 64 >>> 9 << 4)] = c; var f = s._ff, v = s._gg, g = s._hh, b = s._ii; for (m = 0; m < n.length; m += 16) {
var h = u, w = l, y = d, T = p;
u = f(u, l, d, p, n[m + 0], 7, -680876936), p = f(p, u, l, d, n[m + 1], 12, -389564586), d = f(d, p, u, l, n[m + 2], 17, 606105819), l = f(l, d, p, u, n[m + 3], 22, -1044525330), u = f(u, l, d, p, n[m + 4], 7, -176418897), p = f(p, u, l, d, n[m + 5], 12, 1200080426), d = f(d, p, u, l, n[m + 6], 17, -1473231341), l = f(l, d, p, u, n[m + 7], 22, -45705983), u = f(u, l, d, p, n[m + 8], 7, 1770035416), p = f(p, u, l, d, n[m + 9], 12, -1958414417), d = f(d, p, u, l, n[m + 10], 17, -42063), l = f(l, d, p, u, n[m + 11], 22, -1990404162), u = f(u, l, d, p, n[m + 12], 7, 1804603682), p = f(p, u, l, d, n[m + 13], 12, -40341101), d = f(d, p, u, l, n[m + 14], 17, -1502002290), u = v(u, l = f(l, d, p, u, n[m + 15], 22, 1236535329), d, p, n[m + 1], 5, -165796510), p = v(p, u, l, d, n[m + 6], 9, -1069501632), d = v(d, p, u, l, n[m + 11], 14, 643717713), l = v(l, d, p, u, n[m + 0], 20, -373897302), u = v(u, l, d, p, n[m + 5], 5, -701558691), p = v(p, u, l, d, n[m + 10], 9, 38016083), d = v(d, p, u, l, n[m + 15], 14, -660478335), l = v(l, d, p, u, n[m + 4], 20, -405537848), u = v(u, l, d, p, n[m + 9], 5, 568446438), p = v(p, u, l, d, n[m + 14], 9, -1019803690), d = v(d, p, u, l, n[m + 3], 14, -187363961), l = v(l, d, p, u, n[m + 8], 20, 1163531501), u = v(u, l, d, p, n[m + 13], 5, -1444681467), p = v(p, u, l, d, n[m + 2], 9, -51403784), d = v(d, p, u, l, n[m + 7], 14, 1735328473), u = g(u, l = v(l, d, p, u, n[m + 12], 20, -1926607734), d, p, n[m + 5], 4, -378558), p = g(p, u, l, d, n[m + 8], 11, -2022574463), d = g(d, p, u, l, n[m + 11], 16, 1839030562), l = g(l, d, p, u, n[m + 14], 23, -35309556), u = g(u, l, d, p, n[m + 1], 4, -1530992060), p = g(p, u, l, d, n[m + 4], 11, 1272893353), d = g(d, p, u, l, n[m + 7], 16, -155497632), l = g(l, d, p, u, n[m + 10], 23, -1094730640), u = g(u, l, d, p, n[m + 13], 4, 681279174), p = g(p, u, l, d, n[m + 0], 11, -358537222), d = g(d, p, u, l, n[m + 3], 16, -722521979), l = g(l, d, p, u, n[m + 6], 23, 76029189), u = g(u, l, d, p, n[m + 9], 4, -640364487), p = g(p, u, l, d, n[m + 12], 11, -421815835), d = g(d, p, u, l, n[m + 15], 16, 530742520), u = b(u, l = g(l, d, p, u, n[m + 2], 23, -995338651), d, p, n[m + 0], 6, -198630844), p = b(p, u, l, d, n[m + 7], 10, 1126891415), d = b(d, p, u, l, n[m + 14], 15, -1416354905), l = b(l, d, p, u, n[m + 5], 21, -57434055), u = b(u, l, d, p, n[m + 12], 6, 1700485571), p = b(p, u, l, d, n[m + 3], 10, -1894986606), d = b(d, p, u, l, n[m + 10], 15, -1051523), l = b(l, d, p, u, n[m + 1], 21, -2054922799), u = b(u, l, d, p, n[m + 8], 6, 1873313359), p = b(p, u, l, d, n[m + 15], 10, -30611744), d = b(d, p, u, l, n[m + 6], 15, -1560198380), l = b(l, d, p, u, n[m + 13], 21, 1309151649), u = b(u, l, d, p, n[m + 4], 6, -145523070), p = b(p, u, l, d, n[m + 11], 10, -1120210379), d = b(d, p, u, l, n[m + 2], 15, 718787259), l = b(l, d, p, u, n[m + 9], 21, -343485551), u = u + h >>> 0, l = l + w >>> 0, d = d + y >>> 0, p = p + T >>> 0;
} return r.endian([u, l, d, p]); })._ff = function (e, t, n, r, i, a, o) { var s = e + (t & n | ~t & r) + (i >>> 0) + o; return (s << a | s >>> 32 - a) + t; }, s._gg = function (e, t, n, r, i, a, o) { var s = e + (t & r | n & ~r) + (i >>> 0) + o; return (s << a | s >>> 32 - a) + t; }, s._hh = function (e, t, n, r, i, a, o) { var s = e + (t ^ n ^ r) + (i >>> 0) + o; return (s << a | s >>> 32 - a) + t; }, s._ii = function (e, t, n, r, i, a, o) { var s = e + (n ^ (t | ~r)) + (i >>> 0) + o; return (s << a | s >>> 32 - a) + t; }, s._blocksize = 16, s._digestsize = 16, e.exports = function (e, t) { if (null == e)
throw new Error("Illegal argument " + e); var n = r.wordsToBytes(s(e, t)); return t && t.asBytes ? n : t && t.asString ? o.bytesToString(n) : r.bytesToHex(n); }; }, 2: (e, t, n) => {
"use strict";
n.r(t), n.d(t, { Perfume: () => ze, incrementUjNavigation: () => Le, markStep: () => Re, markStepOnce: () => qe });
var r, i, a = { isResourceTiming: !1, isElementTiming: !1, maxTime: 3e4, reportOptions: {}, enableNavigationTracking: !0 }, o = window, s = o.console, c = o.navigator, u = o.performance, l = function () { return c.deviceMemory; }, d = function () { return c.hardwareConcurrency; }, p = "mark.", m = function () { return u && !!u.getEntriesByType && !!u.now && !!u.mark; }, f = "4g", v = !1, g = {}, b = { value: 0 }, h = { value: { beacon: 0, css: 0, fetch: 0, img: 0, other: 0, script: 0, total: 0, xmlhttprequest: 0 } }, w = { value: 0 }, y = { value: 0 }, T = {}, k = { isHidden: !1, didChange: !1 }, _ = function () { k.isHidden = !1, document.hidden && (k.isHidden = document.hidden, k.didChange = !0); }, S = function (e, t) { try {
var n = new PerformanceObserver((function (e) { t(e.getEntries()); }));
return n.observe({ type: e, buffered: !0 }), n;
}
catch (e) {
s.warn("Perfume.js:", e);
} return null; }, E = function () { return !!(d() && d() <= 4) || !!(l() && l() <= 4); }, x = function (e, t) { switch (e) {
case "slow-2g":
case "2g":
case "3g": return !0;
default: return E() || t;
} }, O = function (e) { return parseFloat(e.toFixed(4)); }, j = function (e) { return "number" != typeof e ? null : O(e / Math.pow(1024, 2)); }, N = function (e, t, n, r, i) { var s, u = function () { a.analyticsTracker && (k.isHidden && !["CLS", "INP"].includes(e) || a.analyticsTracker({ attribution: r, metricName: e, data: t, navigatorInformation: c ? { deviceMemory: l() || 0, hardwareConcurrency: d() || 0, serviceWorkerStatus: "serviceWorker" in c ? c.serviceWorker.controller ? "controlled" : "supported" : "unsupported", isLowEndDevice: E(), isLowEndExperience: x(f, v) } : {}, rating: n, navigationType: i })); }; ["CLS", "INP"].includes(e) ? u() : (s = u, "requestIdleCallback" in o ? o.requestIdleCallback(s, { timeout: 3e3 }) : s()); }, I = function (e) { e.forEach((function (e) { if (!("self" !== e.name || e.startTime < b.value)) {
var t = e.duration - 50;
t > 0 && (w.value += t, y.value += t);
} })); };
!function (e) { e.instant = "instant", e.quick = "quick", e.moderate = "moderate", e.slow = "slow", e.unavoidable = "unavoidable"; }(r || (r = {}));
var P, M, B, C, D, A = ((i = {})[r.instant] = { vitalsThresholds: [100, 200], maxOutlierThreshold: 1e4 }, i[r.quick] = { vitalsThresholds: [200, 500], maxOutlierThreshold: 1e4 }, i[r.moderate] = { vitalsThresholds: [500, 1e3], maxOutlierThreshold: 1e4 }, i[r.slow] = { vitalsThresholds: [1e3, 2e3], maxOutlierThreshold: 1e4 }, i[r.unavoidable] = { vitalsThresholds: [2e3, 5e3], maxOutlierThreshold: 2e4 }, i), L = { RT: [100, 200], TBT: [200, 600], NTBT: [200, 600] }, U = function (e, t) { return L[e] ? t <= L[e][0] ? "good" : t <= L[e][1] ? "needsImprovement" : "poor" : null; }, R = function (e, t, n) { Object.keys(t).forEach((function (e) { "number" == typeof t[e] && (t[e] = O(t[e])); })), N(e, t, null, n || {}); }, q = function (e) { var t = e.attribution, n = e.name, r = e.rating, i = e.value, o = e.navigationType; "FCP" === n && (b.value = i), ["FCP", "LCP"].includes(n) && !T[0] && (T[0] = S("longtask", I)), "FID" === n && setTimeout((function () { k.didChange || (q({ attribution: t, name: "TBT", rating: U("TBT", w.value), value: w.value, navigationType: o }), R("dataConsumption", h.value)); }), 1e4); var s = O(i); s <= a.maxTime && s >= 0 && N(n, s, r, t, o); }, F = function () { return window.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0]; }, z = function (e) { if ("loading" === document.readyState)
return "loading"; var t = F(); if (t) {
if (e < t.domInteractive)
return "loading";
if (0 === t.domContentLoadedEventStart || e < t.domContentLoadedEventStart)
return "dom-interactive";
if (0 === t.domComplete || e < t.domComplete)
return "dom-content-loaded";
} return "complete"; }, K = function (e) { var t = e.nodeName; return 1 === e.nodeType ? t.toLowerCase() : t.toUpperCase().replace(/^#/, ""); }, $ = function (e, t) { var n = ""; try {
for (; e && 9 !== e.nodeType;) {
var r = e, i = r.id ? "#" + r.id : K(r) + (r.className && r.className.length ? "." + r.className.replace(/\s+/g, ".") : "");
if (n.length + i.length > (t || 100) - 1)
return n || i;
if (n = n ? i + ">" + n : i, r.id)
break;
e = r.parentNode;
}
}
catch (e) { } return n; }, Q = -1, W = function () { return Q; }, H = function (e) { addEventListener("pageshow", (function (t) { t.persisted && (Q = t.timeStamp, e(t)); }), !0); }, V = function () { var e = F(); return e && e.activationStart || 0; }, J = function (e, t) { var n = F(), r = "navigate"; return W() >= 0 ? r = "back-forward-cache" : n && (r = document.prerendering || V() > 0 ? "prerender" : document.wasDiscarded ? "restore" : n.type.replace(/_/g, "-")), { name: e, value: void 0 === t ? -1 : t, rating: "good", delta: 0, entries: [], id: "v3-".concat(Date.now(), "-").concat(Math.floor(8999999999999 * Math.random()) + 1e12), navigationType: r }; }, X = function (e, t, n) { try {
if (PerformanceObserver.supportedEntryTypes.includes(e)) {
var r = new PerformanceObserver((function (e) { Promise.resolve().then((function () { t(e.getEntries()); })); }));
return r.observe(Object.assign({ type: e, buffered: !0 }, n || {})), r;
}
}
catch (e) { } }, G = function (e, t) { var n = function n(r) { "pagehide" !== r.type && "hidden" !== document.visibilityState || (e(r), t && (removeEventListener("visibilitychange", n, !0), removeEventListener("pagehide", n, !0))); }; addEventListener("visibilitychange", n, !0), addEventListener("pagehide", n, !0); }, Z = function (e, t, n, r) { var i, a; return function (o) { t.value >= 0 && (o || r) && ((a = t.value - (i || 0)) || void 0 === i) && (i = t.value, t.delta = a, t.rating = function (e, t) { return e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good"; }(t.value, n), e(t)); }; }, Y = function (e) { requestAnimationFrame((function () { return requestAnimationFrame((function () { return e(); })); })); }, ee = function (e) { document.prerendering ? addEventListener("prerenderingchange", (function () { return e(); }), !0) : e(); }, te = -1, ne = function () { return "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0; }, re = function (e) { "hidden" === document.visibilityState && te > -1 && (te = "visibilitychange" === e.type ? e.timeStamp : 0, ae()); }, ie = function () { addEventListener("visibilitychange", re, !0), addEventListener("prerenderingchange", re, !0); }, ae = function () { removeEventListener("visibilitychange", re, !0), removeEventListener("prerenderingchange", re, !0); }, oe = function () { return te < 0 && (te = ne(), ie(), H((function () { setTimeout((function () { te = ne(), ie(); }), 0); }))), { get firstHiddenTime() { return te; } }; }, se = function (e, t) { t = t || {}, ee((function () { var n, r = [1800, 3e3], i = oe(), a = J("FCP"), o = X("paint", (function (e) { e.forEach((function (e) { "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < i.firstHiddenTime && (a.value = Math.max(e.startTime - V(), 0), a.entries.push(e), n(!0))); })); })); o && (n = Z(e, a, r, t.reportAllChanges), H((function (i) { a = J("FCP"), n = Z(e, a, r, t.reportAllChanges), Y((function () { a.value = performance.now() - i.timeStamp, n(!0); })); }))); })); }, ce = { passive: !0, capture: !0 }, ue = new Date, le = function (e, t) { P || (P = t, M = e, B = new Date, me(removeEventListener), de()); }, de = function () { if (M >= 0 && M < B - ue) {
var e = { entryType: "first-input", name: P.type, target: P.target, cancelable: P.cancelable, startTime: P.timeStamp, processingStart: P.timeStamp + M };
C.forEach((function (t) { t(e); })), C = [];
} }, pe = function (e) { if (e.cancelable) {
var t = (e.timeStamp > 1e12 ? new Date : performance.now()) - e.timeStamp;
"pointerdown" == e.type ? function (e, t) { var n = function () { le(e, t), i(); }, r = function () { i(); }, i = function () { removeEventListener("pointerup", n, ce), removeEventListener("pointercancel", r, ce); }; addEventListener("pointerup", n, ce), addEventListener("pointercancel", r, ce); }(t, e) : le(t, e);
} }, me = function (e) { ["mousedown", "keydown", "touchstart", "pointerdown"].forEach((function (t) { return e(t, pe, ce); })); }, fe = 0, ve = 1 / 0, ge = 0, be = function (e) { e.forEach((function (e) { e.interactionId && (ve = Math.min(ve, e.interactionId), ge = Math.max(ge, e.interactionId), fe = ge ? (ge - ve) / 7 + 1 : 0); })); }, he = function () { return D ? fe : performance.interactionCount || 0; }, we = 0, ye = function () { return he() - we; }, Te = [], ke = {}, _e = function (e) { var t = Te[Te.length - 1], n = ke[e.interactionId]; if (n || Te.length < 10 || e.duration > t.latency) {
if (n)
n.entries.push(e), n.latency = Math.max(n.latency, e.duration);
else {
var r = { id: e.interactionId, latency: e.duration, entries: [e] };
ke[r.id] = r, Te.push(r);
}
Te.sort((function (e, t) { return t.latency - e.latency; })), Te.splice(10).forEach((function (e) { delete ke[e.id]; }));
} }, Se = {}, Ee = function e(t) { document.prerendering ? ee((function () { return e(t); })) : "complete" !== document.readyState ? addEventListener("load", (function () { return e(t); }), !0) : setTimeout(t, 0); }, xe = function (e, t) { t = t || {}; var n = [800, 1800], r = J("TTFB"), i = Z(e, r, n, t.reportAllChanges); Ee((function () { var a = F(); if (a) {
var o = a.responseStart;
if (o <= 0 || o > performance.now())
return;
r.value = Math.max(o - V(), 0), r.entries = [a], i(!0), H((function () { r = J("TTFB", 0), (i = Z(e, r, n, t.reportAllChanges))(!0); }));
} })); }, Oe = function (e) { e.forEach((function (e) { e.identifier && q({ attribution: { identifier: e.identifier }, name: "ET", rating: null, value: e.startTime }); })); }, je = function (e) { e.forEach((function (e) { if (a.isResourceTiming && R("resourceTiming", e), e.decodedBodySize && e.initiatorType) {
var t = e.decodedBodySize / 1e3;
h.value[e.initiatorType] += t, h.value.total += t;
} })); }, Ne = function () { !function (e, t) { xe((function (e) { !function (e) { if (e.entries.length) {
var t = e.entries[0], n = t.activationStart || 0, r = Math.max(t.domainLookupStart - n, 0), i = Math.max(t.connectStart - n, 0), a = Math.max(t.requestStart - n, 0);
e.attribution = { waitingTime: r, dnsTime: i - r, connectionTime: a - i, requestTime: e.value - a, navigationEntry: t };
}
else
e.attribution = { waitingTime: 0, dnsTime: 0, connectionTime: 0, requestTime: 0 }; }(e), function (e) { e.value > 0 && q(e); }(e); }), t); }(0, a.reportOptions.ttfb), function (e, t) { !function (e, t) { t = t || {}, ee((function () { var e, n = [.1, .25], r = J("CLS"), i = -1, a = 0, o = [], s = function (e) { i > -1 && function (e) { !function (e) { if (e.entries.length) {
var t = e.entries.reduce((function (e, t) { return e && e.value > t.value ? e : t; }));
if (t && t.sources && t.sources.length) {
var n = (r = t.sources).find((function (e) { return e.node && 1 === e.node.nodeType; })) || r[0];
if (n)
return void (e.attribution = { largestShiftTarget: $(n.node), largestShiftTime: t.startTime, largestShiftValue: t.value, largestShiftSource: n, largestShiftEntry: t, loadState: z(t.startTime) });
}
} var r; e.attribution = {}; }(e), function (e) { q(e); }(e); }(e); }, c = function (t) { t.forEach((function (t) { if (!t.hadRecentInput) {
var n = o[0], i = o[o.length - 1];
a && t.startTime - i.startTime < 1e3 && t.startTime - n.startTime < 5e3 ? (a += t.value, o.push(t)) : (a = t.value, o = [t]), a > r.value && (r.value = a, r.entries = o, e());
} })); }, u = X("layout-shift", c); u && (e = Z(s, r, n, t.reportAllChanges), se((function (t) { i = t.value, r.value < 0 && (r.value = 0, e()); })), G((function () { c(u.takeRecords()), e(!0); })), H((function () { a = 0, i = -1, r = J("CLS", 0), e = Z(s, r, n, t.reportAllChanges), Y((function () { return e(); })); }))); })); }(0, t); }(0, a.reportOptions.cls), function (e, t) { se((function (e) { !function (e) { if (e.entries.length) {
var t = F(), n = e.entries[e.entries.length - 1];
if (t) {
var r = t.activationStart || 0, i = Math.max(0, t.responseStart - r);
return void (e.attribution = { timeToFirstByte: i, firstByteToFCP: e.value - i, loadState: z(e.entries[0].startTime), navigationEntry: t, fcpEntry: n });
}
} e.attribution = { timeToFirstByte: 0, firstByteToFCP: e.value, loadState: z(W()) }; }(e), function (e) { q(e); }(e); }), t); }(0, a.reportOptions.fcp), function (e, t) { !function (e, t) { t = t || {}, ee((function () { var n, r = [100, 300], i = oe(), a = J("FID"), o = function (e) { e.startTime < i.firstHiddenTime && (a.value = e.processingStart - e.startTime, a.entries.push(e), n(!0)); }, s = function (e) { e.forEach(o); }, c = X("first-input", s); n = Z(e, a, r, t.reportAllChanges), c && G((function () { s(c.takeRecords()), c.disconnect(); }), !0), c && H((function () { var i; a = J("FID"), n = Z(e, a, r, t.reportAllChanges), C = [], M = -1, P = null, me(addEventListener), i = o, C.push(i), de(); })); })); }((function (e) { !function (e) { var t = e.entries[0]; e.attribution = { eventTarget: $(t.target), eventType: t.name, eventTime: t.startTime, eventEntry: t, loadState: z(t.startTime) }; }(e), function (e) { q(e); }(e); }), t); }(0, a.reportOptions.fid), function (e, t) { !function (e, t) { t = t || {}, ee((function () { var n, r = [2500, 4e3], i = oe(), a = J("LCP"), o = function (e) { var t = e[e.length - 1]; if (t) {
var r = Math.max(t.startTime - V(), 0);
r < i.firstHiddenTime && (a.value = r, a.entries = [t], n());
} }, s = X("largest-contentful-paint", o); if (s) {
n = Z(e, a, r, t.reportAllChanges);
var c = function () { Se[a.id] || (o(s.takeRecords()), s.disconnect(), Se[a.id] = !0, n(!0)); };
["keydown", "click"].forEach((function (e) { addEventListener(e, c, { once: !0, capture: !0 }); })), G(c, !0), H((function (i) { a = J("LCP"), n = Z(e, a, r, t.reportAllChanges), Y((function () { a.value = performance.now() - i.timeStamp, Se[a.id] = !0, n(!0); })); }));
} })); }((function (e) { !function (e) { if (e.entries.length) {
var t = F();
if (t) {
var n = t.activationStart || 0, r = e.entries[e.entries.length - 1], i = r.url && performance.getEntriesByType("resource").filter((function (e) { return e.name === r.url; }))[0], a = Math.max(0, t.responseStart - n), o = Math.max(a, i ? (i.requestStart || i.startTime) - n : 0), s = Math.max(o, i ? i.responseEnd - n : 0), c = Math.max(s, r ? r.startTime - n : 0), u = { element: $(r.element), timeToFirstByte: a, resourceLoadDelay: o - a, resourceLoadTime: s - o, elementRenderDelay: c - s, navigationEntry: t, lcpEntry: r };
return r.url && (u.url = r.url), i && (u.lcpResourceEntry = i), void (e.attribution = u);
}
} e.attribution = { timeToFirstByte: 0, resourceLoadDelay: 0, resourceLoadTime: 0, elementRenderDelay: e.value }; }(e), function (e) { q(e); }(e); }), t); }(0, a.reportOptions.lcp), function (e, t) { !function (e, t) { t = t || {}, ee((function () { var n = [200, 500]; "interactionCount" in performance || D || (D = X("event", be, { type: "event", buffered: !0, durationThreshold: 0 })); var r, i = J("INP"), a = function (e) { e.forEach((function (e) { e.interactionId && _e(e), "first-input" === e.entryType && !Te.some((function (t) { return t.entries.some((function (t) { return e.duration === t.duration && e.startTime === t.startTime; })); })) && _e(e); })); var t, n = (t = Math.min(Te.length - 1, Math.floor(ye() / 50)), Te[t]); n && n.latency !== i.value && (i.value = n.latency, i.entries = n.entries, r()); }, o = X("event", a, { durationThreshold: t.durationThreshold || 40 }); r = Z(e, i, n, t.reportAllChanges), o && (o.observe({ type: "first-input", buffered: !0 }), G((function () { a(o.takeRecords()), i.value < 0 && ye() > 0 && (i.value = 0, i.entries = []), r(!0); })), H((function () { Te = [], we = he(), i = J("INP"), r = Z(e, i, n, t.reportAllChanges); }))); })); }((function (t) { !function (e) { if (e.entries.length) {
var t = e.entries.sort((function (e, t) { return t.duration - e.duration || t.processingEnd - t.processingStart - (e.processingEnd - e.processingStart); }))[0];
e.attribution = { eventTarget: $(t.target), eventType: t.name, eventTime: t.startTime, eventEntry: t, loadState: z(t.startTime) };
}
else
e.attribution = {}; }(t), e(t); }), t); }((function (e) { return q(e); }), a.reportOptions.inp), a.isResourceTiming && S("resource", je), a.isElementTiming && S("element", Oe); }, Ie = function (e) { var t = "usageDetails" in e ? e.usageDetails : {}; R("storageEstimate", { quota: j(e.quota), usage: j(e.usage), caches: j(t.caches), indexedDB: j(t.indexedDB), serviceWorker: j(t.serviceWorkerRegistrations) }); }, Pe = { finalMarkToStepsMap: {}, startMarkToStepsMap: {}, active: {}, navigationSteps: {} }, Me = function (e) { delete Pe.active[e]; }, Be = function () { return Pe.navigationSteps; }, Ce = function (e) { var t; return null !== (t = Be()[e]) && void 0 !== t ? t : {}; }, De = function (e, t, n) { var r = "step." + e, i = u.getEntriesByName(p + t).length > 0; if (u.getEntriesByName(p + n).length > 0 && a.steps) {
var o = A[a.steps[e].threshold], s = o.maxOutlierThreshold, c = o.vitalsThresholds;
if (i) {
var l = u.measure(r, p + t, p + n), d = l.duration;
if (d <= s) {
var m = function (e, t) { return e <= t[0] ? "good" : e <= t[1] ? "needsImprovement" : "poor"; }(d, c);
d >= 0 && (N("userJourneyStep", d, m, { stepName: e }, void 0), u.measure("step.".concat(e, "_vitals_").concat(m), { start: l.startTime + l.duration, end: l.startTime + l.duration, detail: { type: "stepVital", duration: d } }));
}
}
} }, Ae = function () { var e = Be(), t = Pe.startMarkToStepsMap, n = Object.keys(e).length; if (0 === n)
return {}; var r = {}, i = n - 1, a = Ce(i); if (Object.keys(a).forEach((function (e) { var n, i = null !== (n = t[e]) && void 0 !== n ? n : []; Object.keys(i).forEach((function (e) { r[e] = !0; })); })), n > 1) {
var o = Ce(i - 1);
Object.keys(o).forEach((function (e) { var n, i = null !== (n = t[e]) && void 0 !== n ? n : []; Object.keys(i).forEach((function (e) { r[e] = !0; })); }));
} return r; }, Le = function () { var e, t = Object.keys(Pe.navigationSteps).length; Pe.navigationSteps[t] = {}; var n = Ae(); null === (e = a.onMarkStep) || void 0 === e || e.call(a, "", Object.keys(n)); }, Ue = function (e) { var t, n, r, i, o, s, c; if (Pe.finalMarkToStepsMap[e]) {
!function (e) { var t = Pe.navigationSteps, n = Pe.finalMarkToStepsMap, r = Object.keys(t).length; if (0 !== r) {
var i = r - 1, a = Ce(i);
if (a && n[e]) {
var o = n[e];
o && Object.keys(o).forEach((function (e) { if (a[e]) {
var n = Ce(i) || {};
n[e] = !1, t[i] = n;
} if (r > 1) {
var o = i - 1, s = Ce(o);
s[e] && (s[e] = !1, t[o] = s);
} }));
}
} }(e);
var u = Pe.finalMarkToStepsMap[e];
Object.keys(u).forEach((function (t) { var n = u[t]; n.forEach(Me), Promise.all(n.map((function (n) { return function (e, t, n, r) { return new (n || (n = Promise))((function (e, t) { function i(e) { try {
o(r.next(e));
}
catch (e) {
t(e);
} } function a(e) { try {
o(r.throw(e));
}
catch (e) {
t(e);
} } function o(t) { var r; t.done ? e(t.value) : (r = t.value, r instanceof n ? r : new n((function (e) { e(r); }))).then(i, a); } o((r = r.apply(undefined, [])).next()); })); }(0, 0, void 0, (function () { return function (e, t) { var n, r, i, a, o = { label: 0, sent: function () { if (1 & i[0])
throw i[1]; return i[1]; }, trys: [], ops: [] }; return a = { next: s(0), throw: s(1), return: s(2) }, "function" == typeof Symbol && (a[Symbol.iterator] = function () { return this; }), a; function s(a) { return function (s) { return function (a) { if (n)
throw new TypeError("Generator is already executing."); for (; o;)
try {
if (n = 1, r && (i = 2 & a[0] ? r.return : a[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, a[1])).done)
return i;
switch (r = 0, i && (a = [2 & a[0], i.value]), a[0]) {
case 0:
case 1:
i = a;
break;
case 4: return o.label++, { value: a[1], done: !1 };
case 5:
o.label++, r = a[1], a = [0];
continue;
case 7:
a = o.ops.pop(), o.trys.pop();
continue;
default:
if (!((i = (i = o.trys).length > 0 && i[i.length - 1]) || 6 !== a[0] && 2 !== a[0])) {
o = 0;
continue;
}
if (3 === a[0] && (!i || a[1] > i[0] && a[1] < i[3])) {
o.label = a[1];
break;
}
if (6 === a[0] && o.label < i[1]) {
o.label = i[1], i = a;
break;
}
if (i && o.label < i[2]) {
o.label = i[2], o.ops.push(a);
break;
}
i[2] && o.ops.pop(), o.trys.pop();
continue;
}
a = t.call(e, o);
}
catch (e) {
a = [6, e], r = 0;
}
finally {
n = i = 0;
} if (5 & a[0])
throw a[1]; return { value: a[0] ? a[1] : void 0, done: !0 }; }([a, s]); }; } }(this, (function (r) { switch (r.label) {
case 0: return [4, De(n, t, e)];
case 1: return r.sent(), [2];
} })); })); }))).catch((function () { })); }));
}
else
r = e, i = Pe.navigationSteps, o = Object.keys(i).length, (c = Ce(s = (o > 0 ? o : 1) - 1) || [])[r] = !0, i[s] = c, function (e) { var t, n = null !== (t = Pe.startMarkToStepsMap[e]) && void 0 !== t ? t : []; Object.keys(n).forEach((function (e) { Pe.active[e] || (Pe.active[e] = !0); })); }(e); if (a.enableNavigationTracking) {
var l = Ae();
null === (t = a.onMarkStep) || void 0 === t || t.call(a, e, Object.keys(l));
}
else
null === (n = a.onMarkStep) || void 0 === n || n.call(a, e, Object.keys(Pe.active)); }, Re = function (e) { u.mark(p + e), Ue(e); }, qe = function (e) { 0 === u.getEntriesByName(p + e).length && (u.mark(p + e), Ue(e)); }, Fe = 0, ze = function () { function e(e) { if (void 0 === e && (e = {}), this.v = "9.0.0-rc.3", a.analyticsTracker = e.analyticsTracker, a.isResourceTiming = !!e.resourceTiming, a.isElementTiming = !!e.elementTiming, a.maxTime = e.maxMeasureTime || a.maxTime, a.reportOptions = e.reportOptions || a.reportOptions, a.steps = e.steps, a.onMarkStep = e.onMarkStep, a.enableNavigationTracking = e.enableNavigationTracking, m()) {
"PerformanceObserver" in o && Ne(), void 0 !== document.hidden && document.addEventListener("visibilitychange", _);
var t = function () { if (!m())
return {}; var e = u.getEntriesByType("navigation")[0]; if (!e)
return {}; var t = e.responseStart, n = e.responseEnd; return { fetchTime: n - e.fetchStart, workerTime: e.workerStart > 0 ? n - e.workerStart : 0, totalTime: n - e.requestStart, downloadTime: n - t, timeToFirstByte: t - e.requestStart, headerSize: e.transferSize - e.encodedBodySize || 0, dnsLookupTime: e.domainLookupEnd - e.domainLookupStart, redirectTime: e.redirectEnd - e.redirectStart }; }();
R("navigationTiming", t), t.redirectTime && q({ attribution: {}, name: "RT", rating: U("RT", t.redirectTime), value: t.redirectTime }), R("networkInformation", function () { if ("connection" in c) {
var e = c.connection;
return "object" != typeof e ? {} : (f = e.effectiveType, v = !!e.saveData, { downlink: e.downlink, effectiveType: e.effectiveType, rtt: e.rtt, saveData: !!e.saveData });
} return {}; }()), c && c.storage && "function" == typeof c.storage.estimate && c.storage.estimate().then(Ie), a.steps && a.steps && (Pe.startMarkToStepsMap = {}, Pe.finalMarkToStepsMap = {}, Pe.active = {}, Pe.navigationSteps = {}, Object.entries(a.steps).forEach((function (e) { var t, n, r = e[0], i = e[1].marks, a = i[0], o = i[1], s = null !== (n = Pe.startMarkToStepsMap[a]) && void 0 !== n ? n : {}; if (s[r] = !0, Pe.startMarkToStepsMap[a] = s, Pe.finalMarkToStepsMap[o]) {
var c = Pe.finalMarkToStepsMap[o][a] || [];
c.push(r), Pe.finalMarkToStepsMap[o][a] = c;
}
else
Pe.finalMarkToStepsMap[o] = ((t = {})[a] = [r], t); })));
} } return e.prototype.start = function (e) { m() && !g[e] && (g[e] = !0, u.mark("mark_".concat(e, "_start"))); }, e.prototype.end = function (e, t, n) { if (void 0 === t && (t = {}), void 0 === n && (n = !0), m() && g[e]) {
u.mark("mark_".concat(e, "_end")), delete g[e];
var r = function (e) { u.measure(e, "mark_".concat(e, "_start"), "mark_".concat(e, "_end")); var t = u.getEntriesByName(e).pop(); return t && "measure" === t.entryType ? t.duration : -1; }(e);
n && R(e, O(r), t);
} }, e.prototype.endPaint = function (e, t) { var n = this; setTimeout((function () { n.end(e, t); })); }, e.prototype.clear = function (e) { delete g[e], u.clearMarks && (u.clearMarks("mark_".concat(e, "_start")), u.clearMarks("mark_".concat(e, "_end"))); }, e.prototype.markNTBT = function () { var e = this; this.start("ntbt"), y.value = 0, clearTimeout(Fe), Fe = setTimeout((function () { e.end("ntbt", {}, !1), q({ attribution: {}, name: "NTBT", rating: U("NTBT", y.value), value: y.value }), y.value = 0; }), 2e3); }, e; }();
}, 426: (e, t) => {
"use strict";
Symbol.for("react.element"), Symbol.for("react.portal"), Symbol.for("react.fragment"), Symbol.for("react.strict_mode"), Symbol.for("react.profiler"), Symbol.for("react.provider"), Symbol.for("react.context"), Symbol.for("react.forward_ref"), Symbol.for("react.suspense"), Symbol.for("react.memo"), Symbol.for("react.lazy"), Symbol.iterator;
var n = { isMounted: function () { return !1; }, enqueueForceUpdate: function () { }, enqueueReplaceState: function () { }, enqueueSetState: function () { } }, r = Object.assign, i = {};
function a(e, t, r) { this.props = e, this.context = t, this.refs = i, this.updater = r || n; }
function o() { }
function s(e, t, r) { this.props = e, this.context = t, this.refs = i, this.updater = r || n; }
a.prototype.isReactComponent = {}, a.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"); }, a.prototype.forceUpdate = function (e) { this.updater.enqueueForceUpdate(this, e, "forceUpdate"); }, o.prototype = a.prototype;
var c = s.prototype = new o;
c.constructor = s, r(c, a.prototype), c.isPureReactComponent = !0;
Array.isArray, Object.prototype.hasOwnProperty;
var u = { current: null };
t.useCallback = function (e, t) { return u.current.useCallback(e, t); }, t.useEffect = function (e, t) { return u.current.useEffect(e, t); }, t.useRef = function (e) { return u.current.useRef(e); };
}, 784: (e, t, n) => {
"use strict";
e.exports = n(426);
}, 353: function (e, t, n) { var r; !function (i, a) {
"use strict";
var o = "function", s = "undefined", c = "object", u = "string", l = "major", d = "model", p = "name", m = "type", f = "vendor", v = "version", g = "architecture", b = "console", h = "mobile", w = "tablet", y = "smarttv", T = "wearable", k = "embedded", _ = "Amazon", S = "Apple", E = "ASUS", x = "BlackBerry", O = "Browser", j = "Chrome", N = "Firefox", I = "Google", P = "Huawei", M = "LG", B = "Microsoft", C = "Motorola", D = "Opera", A = "Samsung", L = "Sharp", U = "Sony", R = "Xiaomi", q = "Zebra", F = "Facebook", z = "Chromium OS", K = "Mac OS", $ = function (e) { for (var t = {}, n = 0; n < e.length; n++)
t[e[n].toUpperCase()] = e[n]; return t; }, Q = function (e, t) { return typeof e === u && -1 !== W(t).indexOf(W(e)); }, W = function (e) { return e.toLowerCase(); }, H = function (e, t) { if (typeof e === u)
return e = e.replace(/^\s\s*/, ""), typeof t === s ? e : e.substring(0, 350); }, V = function (e, t) { for (var n, r, i, s, u, l, d = 0; d < t.length && !u;) {
var p = t[d], m = t[d + 1];
for (n = r = 0; n < p.length && !u && p[n];)
if (u = p[n++].exec(e))
for (i = 0; i < m.length; i++)
l = u[++r], typeof (s = m[i]) === c && s.length > 0 ? 2 === s.length ? typeof s[1] == o ? this[s[0]] = s[1].call(this, l) : this[s[0]] = s[1] : 3 === s.length ? typeof s[1] !== o || s[1].exec && s[1].test ? this[s[0]] = l ? l.replace(s[1], s[2]) : a : this[s[0]] = l ? s[1].call(this, l, s[2]) : a : 4 === s.length && (this[s[0]] = l ? s[3].call(this, l.replace(s[1], s[2])) : a) : this[s] = l || a;
d += 2;
} }, J = function (e, t) { for (var n in t)
if (typeof t[n] === c && t[n].length > 0) {
for (var r = 0; r < t[n].length; r++)
if (Q(t[n][r], e))
return "?" === n ? a : n;
}
else if (Q(t[n], e))
return "?" === n ? a : n; return e; }, X = { ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2e3: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", 10: ["NT 6.4", "NT 10.0"], RT: "ARM" }, G = { browser: [[/\b(?:crmo|crios)\/([\w\.]+)/i], [v, [p, "Chrome"]], [/edg(?:e|ios|a)?\/([\w\.]+)/i], [v, [p, "Edge"]], [/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i], [p, v], [/opios[\/ ]+([\w\.]+)/i], [v, [p, D + " Mini"]], [/\bopr\/([\w\.]+)/i], [v, [p, D]], [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, /(ba?idubrowser)[\/ ]?([\w\.]+)/i, /(?:ms|\()(ie) ([\w\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i, /(heytap|ovi)browser\/([\d\.]+)/i, /(weibo)__([\d\.]+)/i], [p, v], [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], [v, [p, "UC" + O]], [/microm.+\bqbcore\/([\w\.]+)/i, /\bqbcore\/([\w\.]+).+microm/i], [v, [p, "WeChat(Win) Desktop"]], [/micromessenger\/([\w\.]+)/i], [v, [p, "WeChat"]], [/konqueror\/([\w\.]+)/i], [v, [p, "Konqueror"]], [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], [v, [p, "IE"]], [/ya(?:search)?browser\/([\w\.]+)/i], [v, [p, "Yandex"]], [/(avast|avg)\/([\w\.]+)/i], [[p, /(.+)/, "$1 Secure " + O], v], [/\bfocus\/([\w\.]+)/i], [v, [p, N + " Focus"]], [/\bopt\/([\w\.]+)/i], [v, [p, D + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [v, [p, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [v, [p, "Dolphin"]], [/coast\/([\w\.]+)/i], [v, [p, D + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [v, [p, "MIUI " + O]], [/fxios\/([-\w\.]+)/i], [v, [p, N]], [/\bqihu|(qi?ho?o?|360)browser/i], [[p, "360 " + O]], [/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i], [[p, /(.+)/, "$1 " + O], v], [/(comodo_dragon)\/([\w\.]+)/i], [[p, /_/g, " "], v], [/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i], [p, v], [/(metasr)[\/ ]?([\w\.]+)/i, /(lbbrowser)/i, /\[(linkedin)app\]/i], [p], [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], [[p, F], v], [/(kakao(?:talk|story))[\/ ]([\w\.]+)/i, /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, /safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(chromium|instagram)[\/ ]([-\w\.]+)/i], [p, v], [/\bgsa\/([\w\.]+) .*safari\//i], [v, [p, "GSA"]], [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], [v, [p, "TikTok"]], [/headlesschrome(?:\/([\w\.]+)| )/i], [v, [p, j + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[p, j + " WebView"], v], [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], [v, [p, "Android " + O]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], [p, v], [/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i], [v, [p, "Mobile Safari"]], [/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i], [v, p], [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], [p, [v, J, { "1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/" }]], [/(webkit|khtml)\/([\w\.]+)/i], [p, v], [/(navigator|netscape\d?)\/([-\w\.]+)/i], [[p, "Netscape"], v], [/mobile vr; rv:([\w\.]+)\).+firefox/i], [v, [p, N + " Reality"]], [/ekiohf.+(flow)\/([\w\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, /(firefox)\/([\w\.]+)/i, /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, /(links) \(([\w\.]+)/i, /panasonic;(viera)/i], [p, v], [/(cobalt)\/([\w\.]+)/i], [p, [v, /master.|lts./, ""]]], cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i], [[g, "amd64"]], [/(ia32(?=;))/i], [[g, W]], [/((?:i[346]|x)86)[;\)]/i], [[g, "ia32"]], [/\b(aarch64|arm(v?8e?l?|_?64))\b/i], [[g, "arm64"]], [/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i], [[g, "armhf"]], [/windows (ce|mobile); ppc;/i], [[g, "arm"]], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i], [[g, /ower/, "", W]], [/(sun4\w)[;\)]/i], [[g, "sparc"]], [/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i], [[g, W]]], device: [[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i], [d, [f, A], [m, w]], [/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, /samsung[- ]([-\w]+)/i, /sec-(sgh\w+)/i], [d, [f, A], [m, h]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [d, [f, S], [m, h]], [/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i], [d, [f, S], [m, w]], [/(macintosh);/i], [d, [f, S]], [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], [d, [f, L], [m, h]], [/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i], [d, [f, P], [m, w]], [/(?:huawei|honor)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i], [d, [f, P], [m, h]], [/\b(poco[\w ]+)(?: bui|\))/i, /\b; (\w+) build\/hm\1/i, /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i], [[d, /_/g, " "], [f, R], [m, h]], [/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i], [[d, /_/g, " "], [f, R], [m, w]], [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i], [d, [f, "OPPO"], [m, h]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [d, [f, "Vivo"], [m, h]], [/\b(rmx[12]\d{3})(?: bui|;|\))/i], [d, [f, "Realme"], [m, h]], [/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, /\bmot(?:orola)?[- ](\w*)/i, /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i], [d, [f, C], [m, h]], [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], [d, [f, C], [m, w]], [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], [d, [f, M], [m, w]], [/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, /\blg-?([\d\w]+) bui/i], [d, [f, M], [m, h]], [/(ideatab[-\w ]+)/i, /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i], [d, [f, "Lenovo"], [m, w]], [/(?:maemo|nokia).*(n900|lumia \d+)/i, /nokia[-_ ]?([-\w\.]*)/i], [[d, /_/g, " "], [f, "Nokia"], [m, h]], [/(pixel c)\b/i], [d, [f, I], [m, w]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [d, [f, I], [m, h]], [/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i], [d, [f, U], [m, h]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[d, "Xperia Tablet"], [f, U], [m, w]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [d, [f, "OnePlus"], [m, h]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i], [d, [f, _], [m, w]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], [[d, /(.+)/g, "Fire Phone $1"], [f, _], [m, h]], [/(playbook);[-\w\),; ]+(rim)/i], [d, f, [m, w]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [d, [f, x], [m, h]], [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], [d, [f, E], [m, w]], [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], [d, [f, E], [m, h]], [/(nexus 9)/i], [d, [f, "HTC"], [m, w]], [/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i], [f, [d, /_/g, " "], [m, h]], [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], [d, [f, "Acer"], [m, w]], [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i], [d, [f, "Meizu"], [m, h]], [/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i, /(hp) ([\w ]+\w)/i, /(asus)-?(\w+)/i, /(microsoft); (lumia[\w ]+)/i, /(lenovo)[-_ ]?([-\w]+)/i, /(jolla)/i, /(oppo) ?([\w ]+) bui/i], [f, d, [m, h]], [/(kobo)\s(ereader|touch)/i, /(archos) (gamepad2?)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\/([\w\.]+)/i, /(nook)[\w ]+build\/(\w+)/i, /(dell) (strea[kpr\d ]*[\dko])/i, /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, /(trinity)[- ]*(t\d{3}) bui/i, /(gigaset)[- ]+(q\w{1,9}) bui/i, /(vodafone) ([\w ]+)(?:\)| bui)/i], [f, d, [m, w]], [/(surface duo)/i], [d, [f, B], [m, w]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [d, [f, "Fairphone"], [m, h]], [/(u304aa)/i], [d, [f, "AT&T"], [m, h]], [/\bsie-(\w*)/i], [d, [f, "Siemens"], [m, h]], [/\b(rct\w+) b/i], [d, [f, "RCA"], [m, w]], [/\b(venue[\d ]{2,7}) b/i], [d, [f, "Dell"], [m, w]], [/\b(q(?:mv|ta)\w+) b/i], [d, [f, "Verizon"], [m, w]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [d, [f, "Barnes & Noble"], [m, w]], [/\b(tm\d{3}\w+) b/i], [d, [f, "NuVision"], [m, w]], [/\b(k88) b/i], [d, [f, "ZTE"], [m, w]], [/\b(nx\d{3}j) b/i], [d, [f, "ZTE"], [m, h]], [/\b(gen\d{3}) b.+49h/i], [d, [f, "Swiss"], [m, h]], [/\b(zur\d{3}) b/i], [d, [f, "Swiss"], [m, w]], [/\b((zeki)?tb.*\b) b/i], [d, [f, "Zeki"], [m, w]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[f, "Dragon Touch"], d, [m, w]], [/\b(ns-?\w{0,9}) b/i], [d, [f, "Insignia"], [m, w]], [/\b((nxa|next)-?\w{0,9}) b/i], [d, [f, "NextBook"], [m, w]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[f, "Voice"], d, [m, h]], [/\b(lvtel\-)?(v1[12]) b/i], [[f, "LvTel"], d, [m, h]], [/\b(ph-1) /i], [d, [f, "Essential"], [m, h]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [d, [f, "Envizen"], [m, w]], [/\b(trio[-\w\. ]+) b/i], [d, [f, "MachSpeed"], [m, w]], [/\btu_(1491) b/i], [d, [f, "Rotor"], [m, w]], [/(shield[\w ]+) b/i], [d, [f, "Nvidia"], [m, w]], [/(sprint) (\w+)/i], [f, d, [m, h]], [/(kin\.[onetw]{3})/i], [[d, /\./g, " "], [f, B], [m, h]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [d, [f, q], [m, w]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [d, [f, q], [m, h]], [/smart-tv.+(samsung)/i], [f, [m, y]], [/hbbtv.+maple;(\d+)/i], [[d, /^/, "SmartTV"], [f, A], [m, y]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[f, M], [m, y]], [/(apple) ?tv/i], [f, [d, S + " TV"], [m, y]], [/crkey/i], [[d, j + "cast"], [f, I], [m, y]], [/droid.+aft(\w)( bui|\))/i], [d, [f, _], [m, y]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [d, [f, L], [m, y]], [/(bravia[\w ]+)( bui|\))/i], [d, [f, U], [m, y]], [/(mitv-\w{5}) bui/i], [d, [f, R], [m, y]], [/Hbbtv.*(technisat) (.*);/i], [f, d, [m, y]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[f, H], [d, H], [m, y]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[m, y]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [f, d, [m, b]], [/dr