@bodhiapp/bodhi-js-core 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,383 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const uaParserJs = require("ua-parser-js");
4
- function isNonNullObject(value) {
5
- return value !== null && typeof value === "object";
6
- }
7
- function isOpenAiApiErrorBody(body) {
8
- return isNonNullObject(body) && "error" in body && isNonNullObject(body.error) && "message" in body.error && typeof body.error.message === "string" && "type" in body.error && typeof body.error.type === "string";
9
- }
10
- function isOperationErrorStructure(obj) {
11
- return isNonNullObject(obj) && "message" in obj && typeof obj.message === "string" && "type" in obj && typeof obj.type === "string";
12
- }
13
- function isOperationError(err) {
14
- return err instanceof Error && "error" in err && !("response" in err) && isOperationErrorStructure(err.error);
15
- }
16
- function isApiResultOperationError(result) {
17
- return result !== null && typeof result === "object" && "error" in result && !("body" in result) && isOperationErrorStructure(result.error);
18
- }
19
- function isApiResultSuccess(result) {
20
- return "body" in result && "status" in result && typeof result.status === "number" && result.status >= 200 && result.status < 300;
21
- }
22
- function isApiResultError(result) {
23
- return "body" in result && "status" in result && typeof result.status === "number" && result.status >= 400 && isOpenAiApiErrorBody(result.body);
24
- }
25
- const createApiError = (message, status, body, headers) => {
26
- const error = new Error(message);
27
- error.response = { status, body, headers };
28
- return error;
29
- };
30
- const createOperationError = (message, type) => {
31
- const error = new Error(message);
32
- error.error = { message, type };
33
- return error;
34
- };
35
- const SERVER_ERROR_CODES = {
36
- NOT_REACHABLE: {
37
- message: "server is not reachable on given url",
38
- type: "network_error"
39
- },
40
- SERVER_NOT_READY: {
41
- message: "server is not in ready state, configure to complete setup",
42
- type: "extension_error"
43
- }
44
- };
45
- const BACKEND_SERVER_NOT_REACHABLE = {
46
- status: "not-reachable",
47
- error: SERVER_ERROR_CODES.NOT_REACHABLE
48
- };
49
- const PENDING_EXTENSION_READY = {
50
- status: "pending-extension-ready"
51
- };
52
- const BACKEND_SERVER_NOT_CONNECTED = {
53
- status: "not-connected"
54
- };
55
- function isServerReady(state) {
56
- return state.status === "ready";
57
- }
58
- function backendServerNotReady(status, version = "unknown", error = SERVER_ERROR_CODES.SERVER_NOT_READY) {
59
- return {
60
- status,
61
- version,
62
- error
63
- };
64
- }
65
- function isExtensionState(state) {
66
- return state.type === "extension";
67
- }
68
- function isDirectState(state) {
69
- return state.type === "direct";
70
- }
71
- function isDirectServerReady(state) {
72
- return typeof state.server === "object" && state.server.status !== "not-connected" && isServerReady(state.server);
73
- }
74
- function isDirectClientReady(state) {
75
- return "url" in state && !!state.url;
76
- }
77
- const DIRECT_STATE_NOT_INITIALIZED = {
78
- type: "direct",
79
- server: BACKEND_SERVER_NOT_CONNECTED
80
- };
81
- function createDirectStateReady(url, version = "unknown") {
82
- return { type: "direct", server: { status: "ready", version }, url };
83
- }
84
- function createDirectStateNotReachable(url) {
85
- return { type: "direct", server: BACKEND_SERVER_NOT_REACHABLE, url };
86
- }
87
- function createDirectStateNotReady(url, server) {
88
- return { type: "direct", server, url };
89
- }
90
- const EXTENSION_STATE_NOT_INITIALIZED = {
91
- type: "extension",
92
- extension: "not-initialized",
93
- server: PENDING_EXTENSION_READY
94
- };
95
- const EXTENSION_STATE_NOT_FOUND = {
96
- type: "extension",
97
- extension: "not-found",
98
- server: PENDING_EXTENSION_READY
99
- };
100
- function isExtensionServerReady(state) {
101
- return state.extension === "ready" && state.server.status !== "pending-extension-ready" && isServerReady(state.server);
102
- }
103
- function isExtensionClientReady(state) {
104
- return state.extension === "ready" && "extensionId" in state;
105
- }
106
- function createExtensionStateNotInitialized() {
107
- return EXTENSION_STATE_NOT_INITIALIZED;
108
- }
109
- function createExtensionStateNotFound() {
110
- return EXTENSION_STATE_NOT_FOUND;
111
- }
112
- function isClientReady(state) {
113
- return isExtensionState(state) ? isExtensionClientReady(state) : isDirectClientReady(state);
114
- }
115
- function getBackendServerState(state) {
116
- return state.server;
117
- }
118
- function getExtensionId(state) {
119
- return isExtensionState(state) && state.extension === "ready" ? state.extensionId : void 0;
120
- }
121
- function getServerUrl(state) {
122
- return isDirectState(state) && "url" in state ? state.url : void 0;
123
- }
124
- const AUTH_CLIENT_NOT_INITIALIZED = {
125
- isLoggedIn: false,
126
- error: {
127
- message: "Client not initialized",
128
- code: "CLIENT_NOT_INITIALIZED"
129
- }
130
- };
131
- function isAuthError(state) {
132
- return typeof state === "object" && state !== null && "isLoggedIn" in state && state.isLoggedIn === false && "error" in state && typeof state.error === "object" && state.error !== null && "message" in state.error && typeof state.error.message === "string" && "code" in state.error && typeof state.error.code === "string";
133
- }
134
- function isAuthLoggedOut(state) {
135
- return typeof state === "object" && state !== null && "isLoggedIn" in state && state.isLoggedIn === false && !("error" in state);
136
- }
137
- function isAuthLoggedIn(state) {
138
- return typeof state === "object" && state !== null && "isLoggedIn" in state && state.isLoggedIn === true && "userInfo" in state && typeof state.userInfo === "object" && state.userInfo !== null && "sub" in state.userInfo && typeof state.userInfo.sub === "string" && "accessToken" in state && typeof state.accessToken === "string";
139
- }
140
- const NOOP_STATE_CALLBACK = () => {
141
- };
142
- function buildEvent(type, payload) {
143
- return { kind: "event", type, payload };
144
- }
145
- function buildResponse(requestId, type, payload) {
146
- return { kind: "response", type, requestId, payload };
147
- }
148
- function buildError(requestId, error) {
149
- return { kind: "error", requestId, error };
150
- }
151
- function handleRequest(message, handlers) {
152
- const handler = handlers[message.type];
153
- if (!handler) return null;
154
- const response = handler(message.payload);
155
- return buildResponse(message.requestId, message.type, response);
156
- }
157
- const LOG_LEVELS = {
158
- debug: 0,
159
- info: 1,
160
- warn: 2,
161
- error: 3,
162
- silent: 4
163
- };
164
- class Logger {
165
- constructor(prefix, level = "warn") {
166
- this.prefix = prefix;
167
- this.level = level;
168
- }
169
- shouldLog(level) {
170
- return LOG_LEVELS[level] >= LOG_LEVELS[this.level];
171
- }
172
- ts() {
173
- const now = /* @__PURE__ */ new Date();
174
- const hours = now.getHours().toString().padStart(2, "0");
175
- const minutes = now.getMinutes().toString().padStart(2, "0");
176
- const seconds = now.getSeconds().toString().padStart(2, "0");
177
- const millis = now.getMilliseconds().toString().padStart(3, "0");
178
- return `${hours}:${minutes}:${seconds}.${millis}`;
179
- }
180
- debug(...args) {
181
- if (this.shouldLog("debug")) {
182
- console.log(`[${this.prefix}] ${this.ts()}`, ...args);
183
- }
184
- }
185
- info(...args) {
186
- if (this.shouldLog("info")) {
187
- console.log(`[${this.prefix}] ${this.ts()}`, ...args);
188
- }
189
- }
190
- warn(...args) {
191
- if (this.shouldLog("warn")) {
192
- console.warn(`[${this.prefix}] ${this.ts()}`, ...args);
193
- }
194
- }
195
- error(...args) {
196
- if (this.shouldLog("error")) {
197
- console.error(`[${this.prefix}] ${this.ts()}`, ...args);
198
- }
199
- }
200
- }
201
- function isWebUIClient(client) {
202
- return "handleOAuthCallback" in client;
203
- }
204
- function detectBrowser() {
205
- var _a;
206
- const parser = new uaParserJs.UAParser();
207
- const browser = parser.getBrowser();
208
- const browserName = ((_a = browser.name) == null ? void 0 : _a.toLowerCase()) || "";
209
- const actualBrowserName = browser.name || "Unknown Browser";
210
- if (browserName.includes("chrome")) {
211
- return { name: "Google Chrome", type: "chrome" };
212
- } else if (browserName.includes("edge")) {
213
- return { name: "Microsoft Edge", type: "edge" };
214
- } else if (browserName.includes("firefox")) {
215
- return { name: "Mozilla Firefox", type: "firefox" };
216
- } else if (browserName.includes("safari")) {
217
- return { name: "Safari", type: "safari" };
218
- } else {
219
- let cleanName = actualBrowserName.replace(/\s+Browser$/i, "").replace(/\s+browser$/i, "").trim();
220
- if (!cleanName || cleanName.toLowerCase() === "unknown") {
221
- cleanName = "Unknown Browser";
222
- }
223
- return { name: cleanName, type: "unknown" };
224
- }
225
- }
226
- function detectOS() {
227
- var _a;
228
- const parser = new uaParserJs.UAParser();
229
- const os = parser.getOS();
230
- const osName = ((_a = os.name) == null ? void 0 : _a.toLowerCase()) || "";
231
- if (osName.includes("mac")) {
232
- return { name: "macOS", type: "macos" };
233
- } else if (osName.includes("windows")) {
234
- return { name: "Windows", type: "windows" };
235
- } else if (osName.includes("linux") || osName.includes("ubuntu") || osName.includes("fedora") || osName.includes("debian")) {
236
- return { name: "Linux", type: "linux" };
237
- } else {
238
- return { name: "Unknown", type: "unknown" };
239
- }
240
- }
241
- function createStorageKeys(prefix) {
242
- return {
243
- ACCESS_TOKEN: `${prefix}:access_token`,
244
- REFRESH_TOKEN: `${prefix}:refresh_token`,
245
- EXPIRES_AT: `${prefix}:expires_at`,
246
- CODE_VERIFIER: `${prefix}:code_verifier`,
247
- STATE: `${prefix}:state`,
248
- RESOURCE_SCOPE: `${prefix}:resource_scope`
249
- };
250
- }
251
- const STORAGE_PREFIXES = {
252
- DIRECT: "bodhi:direct",
253
- WEB: "bodhi:web",
254
- EXT: "bodhi:ext"
255
- };
256
- class BodhiClientUserPrefsManager {
257
- /**
258
- * @param storagePrefix - Prefix for localStorage keys (default: 'bodhijs:')
259
- */
260
- constructor(storagePrefix = "bodhijs:") {
261
- this.storagePrefix = storagePrefix;
262
- this.STORAGE_KEYS = {
263
- DIRECT_STATUS: `${storagePrefix}connection:directStatus`,
264
- SERIALIZED_CLIENT_STATE: `${storagePrefix}client:serializedState`
265
- };
266
- this.SERVER_INSTALL_KEY = `${storagePrefix}server:installed`;
267
- }
268
- /**
269
- * Get direct connection status (LNA permission state)
270
- */
271
- getDirectStatus() {
272
- return this.getStorageValue(
273
- this.STORAGE_KEYS.DIRECT_STATUS,
274
- null
275
- );
276
- }
277
- /**
278
- * Set direct connection status (LNA permission state)
279
- */
280
- setDirectStatus(status) {
281
- this.setStorageValue(this.STORAGE_KEYS.DIRECT_STATUS, status);
282
- }
283
- /**
284
- * Clear all preferences
285
- */
286
- clear() {
287
- try {
288
- localStorage.removeItem(this.STORAGE_KEYS.DIRECT_STATUS);
289
- localStorage.removeItem(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE);
290
- localStorage.removeItem(this.SERVER_INSTALL_KEY);
291
- } catch (error) {
292
- console.warn("[BodhiClientUserPrefsManager] Failed to clear preferences:", error);
293
- }
294
- }
295
- /**
296
- * Check if server install was confirmed
297
- * (Separate from connection prefs - stored at server:installed key)
298
- */
299
- isServerInstallConfirmed() {
300
- return this.getStorageValue(this.SERVER_INSTALL_KEY, false);
301
- }
302
- /**
303
- * Set server install confirmation
304
- */
305
- setServerInstallConfirmed(confirmed) {
306
- this.setStorageValue(this.SERVER_INSTALL_KEY, confirmed);
307
- }
308
- /**
309
- * Get serialized client state
310
- */
311
- getSerializedClientState() {
312
- return this.getStorageValue(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE, null);
313
- }
314
- /**
315
- * Set serialized client state
316
- */
317
- setSerializedClientState(state) {
318
- this.setStorageValue(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE, state);
319
- }
320
- // Private helpers
321
- getStorageValue(key, defaultValue) {
322
- try {
323
- const value = localStorage.getItem(key);
324
- if (value === null) return defaultValue;
325
- return JSON.parse(value);
326
- } catch (error) {
327
- console.warn(`[BodhiClientUserPrefsManager] Failed to read ${key}:`, error);
328
- return defaultValue;
329
- }
330
- }
331
- setStorageValue(key, value) {
332
- try {
333
- localStorage.setItem(key, JSON.stringify(value));
334
- } catch (error) {
335
- console.warn(`[BodhiClientUserPrefsManager] Failed to write ${key}:`, error);
336
- }
337
- }
338
- }
339
- function isRequestMessage(msg) {
340
- return msg.kind === "request";
341
- }
342
- const MSG = {
343
- // Modal lifecycle
344
- MODAL_READY: "modal:ready",
345
- MODAL_REFRESH: "modal:refresh",
346
- MODAL_CLOSE: "modal:close",
347
- MODAL_COMPLETE: "modal:complete",
348
- // LNA actions
349
- MODAL_LNA_CONNECT: "modal:lna:connect",
350
- MODAL_LNA_SKIP: "modal:lna:skip",
351
- // Server confirmation
352
- MODAL_CONFIRM_SERVER_INSTALL: "modal:confirm-server-install",
353
- // Connection selection
354
- MODAL_SELECT_CONNECTION: "modal:select-connection",
355
- // Parent → Modal events
356
- PARENT_STATE_UPDATE: "parent:state-update"
357
- };
358
- const modalHtml = '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <link rel="icon" type="image/svg+xml" href="/vite.svg" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>Vite + React + TS</title>\n <script type="module" crossorigin>function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll(\'link[rel="modulepreload"]\'))t(e);new MutationObserver(e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();var t={exports:{}},n={},r={exports:{}},a={},l=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.iterator;var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}function w(){}function k(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}x.prototype.isReactComponent={},x.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")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=x.prototype;var S=k.prototype=new w;S.constructor=k,y(S,x.prototype),S.isPureReactComponent=!0;var N=Array.isArray,C=Object.prototype.hasOwnProperty,j={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,n){var r,a={},s=null,i=null;if(null!=t)for(r in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(s=""+t.key),t)C.call(t,r)&&!E.hasOwnProperty(r)&&(a[r]=t[r]);var o=arguments.length-2;if(1===o)a.children=n;else if(1<o){for(var u=Array(o),c=0;c<o;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(r in o=e.defaultProps)void 0===a[r]&&(a[r]=o[r]);return{$$typeof:l,type:e,key:s,ref:i,props:a,_owner:j.current}}function z(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var P=/\\/+/g;function L(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 _(e,t,n,r,a){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case l:case s:o=!0}}if(o)return a=a(o=e),e=""===r?"."+L(o,0):r,N(a)?(n="",null!=e&&(n=e.replace(P,"$&/")+"/"),_(a,t,n,"",function(e){return e})):null!=a&&(z(a)&&(a=function(e,t){return{$$typeof:l,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,n+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(P,"$&/")+"/")+e)),t.push(a)),1;if(o=0,r=""===r?".":r+":",N(e))for(var u=0;u<e.length;u++){var c=r+L(i=e[u],u);o+=_(i,t,n,c,a)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=g&&e[g]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(i=e.next()).done;)o+=_(i=i.value,t,n,c=r+L(i,u++),a);else if("object"===i)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 o}function O(e,t,n){if(null==e)return e;var r=[],a=0;return _(e,r,"","",function(e){return t.call(n,e,a++)}),r}function T(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var M={current:null},R={transition:null},I={ReactCurrentDispatcher:M,ReactCurrentBatchConfig:R,ReactCurrentOwner:j};function F(){throw Error("act(...) is not supported in production builds of React.")}a.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!z(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},a.Component=x,a.Fragment=i,a.Profiler=u,a.PureComponent=k,a.StrictMode=o,a.Suspense=p,a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,a.act=F,a.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=y({},e.props),a=e.key,s=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,i=j.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var o=e.type.defaultProps;for(u in t)C.call(t,u)&&!E.hasOwnProperty(u)&&(r[u]=void 0===t[u]&&void 0!==o?o[u]:t[u])}var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){o=Array(u);for(var c=0;c<u;c++)o[c]=arguments[c+2];r.children=o}return{$$typeof:l,type:e.type,key:a,ref:s,props:r,_owner:i}},a.createContext=function(e){return(e={$$typeof:d,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},a.createElement=A,a.createFactory=function(e){var t=A.bind(null,e);return t.type=e,t},a.createRef=function(){return{current:null}},a.forwardRef=function(e){return{$$typeof:f,render:e}},a.isValidElement=z,a.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:T}},a.memo=function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},a.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},a.unstable_act=F,a.useCallback=function(e,t){return M.current.useCallback(e,t)},a.useContext=function(e){return M.current.useContext(e)},a.useDebugValue=function(){},a.useDeferredValue=function(e){return M.current.useDeferredValue(e)},a.useEffect=function(e,t){return M.current.useEffect(e,t)},a.useId=function(){return M.current.useId()},a.useImperativeHandle=function(e,t,n){return M.current.useImperativeHandle(e,t,n)},a.useInsertionEffect=function(e,t){return M.current.useInsertionEffect(e,t)},a.useLayoutEffect=function(e,t){return M.current.useLayoutEffect(e,t)},a.useMemo=function(e,t){return M.current.useMemo(e,t)},a.useReducer=function(e,t,n){return M.current.useReducer(e,t,n)},a.useRef=function(e){return M.current.useRef(e)},a.useState=function(e){return M.current.useState(e)},a.useSyncExternalStore=function(e,t,n){return M.current.useSyncExternalStore(e,t,n)},a.useTransition=function(){return M.current.useTransition()},a.version="18.3.1",r.exports=a;var D=r.exports;const U=e(D);\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var B=D,Q=Symbol.for("react.element"),V=Symbol.for("react.fragment"),H=Object.prototype.hasOwnProperty,q=B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,W={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,t,n){var r,a={},l=null,s=null;for(r in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(s=t.ref),t)H.call(t,r)&&!W.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:Q,type:e,key:l,ref:s,props:a,_owner:q.current}}n.Fragment=V,n.jsx=Y,n.jsxs=Y,t.exports=n;var K=t.exports,G=(e=>(e.PLATFORM_CHECK="platform-check",e.SERVER_SETUP="server-setup",e.LNA_SETUP="lna-setup",e.EXTENSION_SETUP="extension-setup",e.COMPLETE="complete",e))(G||{});const X={extension:{status:"not-installed",error:{message:"Loading...",code:"ext-not-installed"}},server:{status:"pending-extension-ready",error:{message:"Loading...",code:"server-pending-ext-ready"}},lna:{status:"prompt"},lnaServer:{status:"pending-lna-ready"},env:{browser:"unknown",os:"unknown"},browsers:[],os:[],userConfirmations:{serverInstall:!1},selectedConnection:null};function $(e){return"request"===e.kind}function Z(e){return"response"===e.kind}function J(e){return"error"===e.kind}function ee(e){return"event"===e.kind}\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst te=(...e)=>e.filter((e,t,n)=>Boolean(e)&&n.indexOf(e)===t).join(" ");\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nvar ne={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const re=D.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:l,iconNode:s,...i},o)=>D.createElement("svg",{ref:o,...ne,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:te("lucide",a),...i},[...s.map(([e,t])=>D.createElement(e,t)),...Array.isArray(l)?l:[l]])),ae=(e,t)=>{const n=D.forwardRef(({className:n,...r},a)=>{return D.createElement(re,{ref:a,iconNode:t,className:te(`lucide-${l=e,l.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...r});var l});return n.displayName=`${e}`,n},le=ae("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),se=ae("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),ie=ae("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),oe=ae("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),ue=ae("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),ce=ae("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),de=ae("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),fe=ae("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),pe=ae("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),me=ae("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),he=ae("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]),ge=ae("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),ve=ae("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),ye=ae("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),be=ae("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),xe=ae("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),we=ae("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),ke=ae("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]),Se=ae("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Ne=ae("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),Ce=ae("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */class je{static request(e,t){return{kind:"request",type:e,requestId:crypto.randomUUID(),payload:t}}static response(e,t,n){return{kind:"response",type:e,requestId:t,payload:n}}static error(e,t){return{kind:"error",requestId:e,error:t}}static event(e,t){return{kind:"event",type:e,payload:t}}}let Ee=class{constructor(e,t={}){this.target=e,this.options={timeout:t.timeout??3e4,expectedOrigin:t.expectedOrigin??null,debug:t.debug??!1},this.validatedOrigin=this.options.expectedOrigin,this.messageListener=this.handleIncomingMessage.bind(this),window.addEventListener("message",this.messageListener),this.options.debug}pendingRequests=new Map;eventHandlers=new Map;requestHandlers=new Map;validatedOrigin=null;options;messageListener=null;async request(e,t){const n=je.request(e,t);return new Promise((t,r)=>{const a=window.setTimeout(()=>{this.pendingRequests.delete(n.requestId),r(new Error(`Request timeout after ${this.options.timeout}ms: ${e}`))},this.options.timeout);this.pendingRequests.set(n.requestId,{resolve:t,reject:r,timeoutId:a,type:e});const l=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,l)})}emit(e,t){const n=je.event(e,t),r=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,r)}on(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),this.options.debug,()=>{const n=this.eventHandlers.get(e);n&&(n.delete(t),0===n.size&&this.eventHandlers.delete(e))}}handle(e,t){this.requestHandlers.set(e,t),this.options.debug}validateOrigin(e){return null!==this.validatedOrigin?e.origin===this.validatedOrigin||(this.options.debug,!1):(this.validatedOrigin=e.origin,this.options.debug,!0)}handleIncomingMessage(e){if(!this.validateOrigin(e))return;const t=e.data;if(!t||"object"!=typeof t||!("kind"in t))return;const n=t;this.options.debug,Z(n)?this.handleResponse(n):J(n)?this.handleError(n):ee(n)?this.handleEvent(n):$(n)&&this.handleRequest(n)}handleResponse(e){if(!Z(e))return;const t=this.pendingRequests.get(e.requestId);t?(window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId),t.resolve(e.payload)):this.options.debug}handleError(e){if(!J(e))return;const t=this.pendingRequests.get(e.requestId);if(!t)return void this.options.debug;window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId);const n=new Error(e.error.message);n.code=e.error.code,n.details=e.error.details,t.reject(n)}handleEvent(e){if(!ee(e))return;const t=this.eventHandlers.get(e.type);t&&0!==t.size?t.forEach(t=>{try{const n=t(e.payload);n&&"function"==typeof n.then&&n.catch(e=>{})}catch(n){}}):this.options.debug}async handleRequest(e){if(!$(e))return;const t=this.requestHandlers.get(e.type);if(!t){const t=je.error(e.requestId,{code:"NO_HANDLER",message:`No handler registered for message type: ${e.type}`}),n=this.validatedOrigin||"*";return void this.target.postMessage(t,n)}try{const n=await t(e.payload),r=je.response(e.type,e.requestId,n),a=this.validatedOrigin||"*";this.target.postMessage(r,a)}catch(n){const t=je.error(e.requestId,{code:"HANDLER_ERROR",message:n instanceof Error?n.message:"Unknown error",details:n}),r=this.validatedOrigin||"*";this.target.postMessage(t,r)}}getValidatedOrigin(){return this.validatedOrigin}dispose(){this.messageListener&&(window.removeEventListener("message",this.messageListener),this.messageListener=null),this.pendingRequests.forEach(e=>{window.clearTimeout(e.timeoutId),e.reject(new Error("MessageChannel disposed"))}),this.pendingRequests.clear(),this.eventHandlers.clear(),this.requestHandlers.clear(),this.options.debug}};const Ae=e=>{let t;const n=new Set,r=(e,r)=>{const a="function"==typeof e?e(t):e;if(!Object.is(a,t)){const e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},a=()=>t,l={setState:r,getState:a,getInitialState:()=>s,subscribe:e=>(n.add(e),()=>n.delete(e))},s=t=e(r,a,l);return l},ze=e=>e;const Pe=e=>{const t=(e=>e?Ae(e):Ae)(e),n=e=>function(e,t=ze){const n=U.useSyncExternalStore(e.subscribe,U.useCallback(()=>t(e.getState()),[e,t]),U.useCallback(()=>t(e.getInitialState()),[e,t]));return U.useDebugValue(n),n}(t,e);return Object.assign(n,t),n},Le={currentStep:G.PLATFORM_CHECK,isRefreshing:!1,extensionStep:{browserOverride:null,extensionAccordionOpen:!1,serverAccordionOpen:!1},lnaStep:{serverUrl:"",lnaAccordionOpen:!1,serverAccordionOpen:!1},serverStep:{osOverride:null}},_e=(Oe=(e,t)=>({setupState:X,channel:null,ui:Le,setSetupState:n=>{e({setupState:n}),t().resetTempOverrides()},initChannel:()=>{let n=t().channel;return n||(n=new Ee(window.parent,{debug:!1,timeout:3e4}),e({channel:n})),n},sendMessage:async(e,n)=>t().initChannel().request(e,n),setCurrentStep:t=>e(e=>({ui:{...e.ui,currentStep:t}})),setIsRefreshing:t=>e(e=>({ui:{...e.ui,isRefreshing:t}})),setBrowserOverride:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:t}}})),setExtensionAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,extensionAccordionOpen:t}}})),setExtensionServerAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,serverAccordionOpen:t}}})),setServerUrl:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverUrl:t}}})),setLnaAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,lnaAccordionOpen:t}}})),setLnaServerAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverAccordionOpen:t}}})),setOSOverride:t=>e(e=>({ui:{...e.ui,serverStep:{...e.ui.serverStep,osOverride:t}}})),resetTempOverrides:()=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:null},serverStep:{...e.ui.serverStep,osOverride:null}}}))}))?Pe(Oe):Pe;var Oe;function Te(e){const{setupState:t}=e;return t.browsers.some(e=>e.id===t.env.browser&&"supported"===e.status)}function Me(e){const{setupState:t}=e;return t.os.some(e=>e.id===t.env.os&&"supported"===e.status)}function Re(e){return Te(e)&&Me(e)}function Ie(e){const{setupState:t}=e;return t.browsers.find(e=>e.id===t.env.browser)}function Fe(e){const{setupState:t}=e;return t.os.find(e=>e.id===t.env.os)}function De(e){const t=Ie(e);return t?.name||"Unknown Browser"}function Ue(e){const t=Fe(e);return t?.name||"Unknown OS"}function Be(e){const{setupState:t}=e;return"granted"===t.lna.status&&"ready"===t.lnaServer.status}function Qe(e){const{setupState:t}=e;return"ready"===t.extension.status&&"ready"===t.server.status}function Ve(e){return Re(e)&&function(e){return Be(e)||Qe(e)}(e)}function He(e){const{setupState:t}=e;return t.userConfirmations.serverInstall}function qe(e){const{setupState:t}=e;if(!Re(e))return G.PLATFORM_CHECK;if(!He(e))return G.SERVER_SETUP;if(Be(e))return G.COMPLETE;const n=t.lna.status;return"prompt"===n||"granted"===n||"unreachable"===n||"denied"===n||"unsupported"===n?G.LNA_SETUP:"ready"!==t.extension.status||"ready"!==t.server.status?G.EXTENSION_SETUP:G.COMPLETE}function We(e,t){const{setupState:n}=e,r=Re(e),a=Be(e),l=Qe(e);switch(t){case G.PLATFORM_CHECK:return r?"complete":"not-supported";case G.SERVER_SETUP:return He(e)?"complete":"incomplete";case G.LNA_SETUP:{const e=n.lna.status,t=n.lnaServer.status;return"granted"===e&&"ready"===t?"complete":"granted"===e&&"error"===t?"error":"granted"===e&&"ready"!==t?"warning":"skipped"===e?"skipped":"unreachable"===e?"error":"denied"===e||"unsupported"===e?"warning":"incomplete"}case G.EXTENSION_SETUP:{const e=n.extension.status,t=n.server.status;return l?"complete":"unreachable"===e||"unsupported"===e?"error":"ready"!==e||"unreachable"!==t&&"error"!==t?"incomplete":"error"}case G.COMPLETE:return a||l?"complete":"incomplete";default:return"incomplete"}}function Ye(e){const{setupState:t,ui:n}=e;return n.extensionStep.browserOverride??t.env.browser}function Ke(e){const{setupState:t,ui:n}=e;return n.serverStep.osOverride??t.env.os}function Ge({onStepClick:e}){const t=_e(e=>e.ui.currentStep),n=_e(e=>We(e,G.PLATFORM_CHECK)),r=_e(e=>We(e,G.SERVER_SETUP)),a=_e(e=>We(e,G.LNA_SETUP)),l=_e(e=>We(e,G.EXTENSION_SETUP)),s=_e(e=>We(e,G.COMPLETE)),i=[{id:G.PLATFORM_CHECK,name:"Platform",icon:K.jsx(ye,{}),status:n},{id:G.SERVER_SETUP,name:"Server",icon:K.jsx(we,{}),status:r},{id:G.LNA_SETUP,name:"Direct",icon:K.jsx(Ne,{}),status:a},{id:G.EXTENSION_SETUP,name:"Extension",icon:K.jsx(he,{}),status:l},{id:G.COMPLETE,name:"Complete",icon:K.jsx(ce,{}),status:s}];return K.jsx("div",{className:"flex items-center w-full",children:i.map((n,r)=>{const a=(e=>{const n=t===e.id;return"complete"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-green-100 text-green-600",icon:K.jsx(ce,{className:"w-6 h-6"}),textClass:"text-green-600",clickable:!0}:"skipped"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400",icon:e.icon,textClass:"text-gray-400 line-through",clickable:!0}:"not-supported"===e.status||"error"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-red-100 text-red-600",icon:K.jsx(pe,{className:"w-6 h-6"}),textClass:"text-red-600",clickable:!0}:"warning"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-amber-100 text-amber-600",icon:e.icon,textClass:"text-amber-600",clickable:!0}:n?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-blue-100 text-blue-600 ring-2 ring-blue-300",icon:e.icon,textClass:"text-blue-600 font-medium",clickable:!0}:{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400 border-2 border-gray-200 hover:bg-gray-200 transition-colors",icon:e.icon,textClass:"text-gray-500 hover:text-gray-700",clickable:!0}})(n);return K.jsxs(D.Fragment,{children:[K.jsxs("div",{className:`flex flex-col items-center ${a.clickable?"cursor-pointer hover:opacity-80":"cursor-default"} transition-opacity`,"data-testid":`step-${n.id}`,onClick:()=>a.clickable&&e(n.id),children:[K.jsx("div",{className:a.circleClass,children:a.icon}),K.jsx("span",{className:`mt-2 text-xs ${a.textClass} transition-colors`,children:n.name})]}),r<i.length-1&&K.jsx("div",{className:"flex-1 h-0.5 mx-2 transition-colors "+("complete"===n.status&&"complete"===i[r+1].status?"bg-green-300":"complete"===n.status?"bg-gradient-to-r from-green-300 to-gray-200":"not-supported"===n.status?"bg-gradient-to-r from-red-300 to-gray-200":"bg-gray-200")})]},n.id)})})}var Xe={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$e=U.createContext&&U.createContext(Xe),Ze=["attr","size","title"];function Je(e,t){if(null==e)return{};var n,r,a=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,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function et(){return et=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},et.apply(this,arguments)}function tt(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 nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(Object(n),!0).forEach(function(t){rt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function rt(e,t,n){return t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e){return e&&e.map((e,t)=>U.createElement(e.tag,nt({key:t},e.attr),at(e.child)))}function lt(e){return t=>U.createElement(st,et({attr:nt({},e.attr)},t),at(e.child))}function st(e){var t=t=>{var n,{attr:r,size:a,title:l}=e,s=Je(e,Ze),i=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),U.createElement("svg",et({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,s,{className:n,style:nt(nt({color:e.color||t.color},t.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),l&&U.createElement("title",null,l),e.children)};return void 0!==$e?U.createElement($e.Consumer,null,e=>t(e)):t(Xe)}function it(e){return lt({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"},child:[]}]})(e)}function ot(e){return lt({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"},child:[]}]})(e)}function ut(e){return lt({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"},child:[]}]})(e)}function ct(e){return lt({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"},child:[]}]})(e)}function dt(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M20.452 3.445a11.002 11.002 0 00-2.482-1.908C16.944.997 15.098.093 12.477.032c-.734-.017-1.457.03-2.174.144-.72.114-1.398.292-2.118.56-1.017.377-1.996.975-2.574 1.554.583-.349 1.476-.733 2.55-.992a10.083 10.083 0 013.729-.167c2.341.34 4.178 1.381 5.48 2.625a8.066 8.066 0 011.298 1.587c1.468 2.382 1.33 5.376.184 7.142-.85 1.312-2.67 2.544-4.37 2.53-.583-.023-1.438-.152-2.25-.566-2.629-1.343-3.021-4.688-1.118-6.306-.632-.136-1.82.13-2.646 1.363-.742 1.107-.7 2.816-.242 4.028a6.473 6.473 0 01-.59-1.895 7.695 7.695 0 01.416-3.845A8.212 8.212 0 019.45 5.399c.896-1.069 1.908-1.72 2.75-2.005-.54-.471-1.411-.738-2.421-.767C8.31 2.583 6.327 3.061 4.7 4.41a8.148 8.148 0 00-1.976 2.414c-.455.836-.691 1.659-.697 1.678.122-1.445.704-2.994 1.248-4.055-.79.413-1.827 1.668-2.41 3.042C.095 9.37-.2 11.608.14 13.989c.966 5.668 5.9 9.982 11.843 9.982C18.62 23.971 24 18.591 24 11.956a11.93 11.93 0 00-3.548-8.511z"},child:[]}]})(e)}function ft(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},child:[]}]})(e)}function pt(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm-.004.953h.006c.063 0 .113.05.113.113v1.842c0 .063-.05.113-.113.113h-.006a.112.112 0 0 1-.113-.113V1.066c0-.063.05-.113.113-.113zm-.941.041c.056.001.104.046.11.104l.077.918a.112.112 0 0 1-.101.12h-.01a.11.11 0 0 1-.12-.1l-.08-.919a.112.112 0 0 1 .102-.12h.01l.012-.003zm1.892 0H12.965a.113.113 0 0 1 .103.121l-.08.92a.111.111 0 0 1-.12.102h-.009a.111.111 0 0 1-.101-.121l.078-.92a.112.112 0 0 1 .111-.102zm-2.838.123a.11.11 0 0 1 .106.092l.32 1.818c.01.06-.03.119-.09.13l-.01.001a.111.111 0 0 1-.128-.09l-.32-1.818a.111.111 0 0 1 .09-.129l.01-.002a.103.103 0 0 1 .022-.002zm3.784.002h.021l.008.002c.061.01.102.07.092.131l-.32 1.814c-.011.062-.07.101-.132.09h-.005a.113.113 0 0 1-.092-.13l.32-1.815a.111.111 0 0 1 .108-.092zm-4.715.203c.048.002.09.035.103.084l.239.893a.112.112 0 0 1-.079.139l-.005.001a.114.114 0 0 1-.14-.08l-.237-.894a.11.11 0 0 1 .078-.137l.006-.002a.123.123 0 0 1 .035-.004zm5.644 0a.11.11 0 0 1 .033.004l.006.002c.06.016.097.079.08.139l-.24.892a.112.112 0 0 1-.137.08l-.005-.002a.114.114 0 0 1-.08-.138l.24-.893a.112.112 0 0 1 .103-.084zm-6.562.285a.11.11 0 0 1 .107.073L9 3.42a.107.107 0 0 1-.064.139l-.012.005a.11.11 0 0 1-.14-.066L8.15 1.76a.11.11 0 0 1 .065-.14l.014-.005a.106.106 0 0 1 .03-.008zm7.469.002c.014 0 .028.001.042.006l.012.006c.057.02.087.082.067.139l-.633 1.738a.11.11 0 0 1-.14.066l-.013-.003A.11.11 0 0 1 15 3.42l.633-1.738a.108.108 0 0 1 .096-.073zm-8.352.366a.112.112 0 0 1 .105.064l.393.838a.112.112 0 0 1-.055.148l-.008.004a.11.11 0 0 1-.146-.054l-.395-.838a.112.112 0 0 1 .055-.149l.008-.004a.11.11 0 0 1 .043-.01zm9.246 0a.11.11 0 0 1 .043.01l.006.003a.11.11 0 0 1 .053.149l-.391.838a.112.112 0 0 1-.148.054l-.006-.002a.112.112 0 0 1-.055-.148l.393-.84a.112.112 0 0 1 .105-.064zm-10.092.44c.04-.002.08.018.102.056l.922 1.597a.113.113 0 0 1-.041.155l-.006.002a.113.113 0 0 1-.154-.041l-.922-1.598a.113.113 0 0 1 .04-.154l.007-.002a.11.11 0 0 1 .052-.016zm10.94.001c.018 0 .035.004.052.014l.004.002a.114.114 0 0 1 .041.156l-.923 1.596a.114.114 0 0 1-.157.04l-.004-.001a.112.112 0 0 1-.04-.155l.925-1.595a.113.113 0 0 1 .102-.057zM5.729 2.93a.11.11 0 0 1 .093.047l.532.753a.114.114 0 0 1-.028.159l-.004.002a.114.114 0 0 1-.158-.028l-.531-.752a.114.114 0 0 1 .027-.158l.006-.002a.113.113 0 0 1 .063-.021zm12.542 0a.11.11 0 0 1 .063.02l.006.003a.112.112 0 0 1 .027.156l-.531.756a.112.112 0 0 1-.156.028l-.006-.004a.112.112 0 0 1-.028-.157l.532-.755a.11.11 0 0 1 .093-.047zm.747.578a.11.11 0 0 1 .08.027l.006.004c.047.04.053.111.013.158L17.932 5.11a.11.11 0 0 1-.157.016l-.005-.006a.11.11 0 0 1-.014-.156l1.185-1.414a.114.114 0 0 1 .077-.041zM4.984 3.51a.11.11 0 0 1 .077.039L6.244 4.96a.112.112 0 0 1-.014.158l-.003.004a.112.112 0 0 1-.159-.014L4.883 3.697a.112.112 0 0 1 .013-.158l.006-.004a.111.111 0 0 1 .082-.025zm-.714.64c.027 0 .055.01.076.032l.658.66a.107.107 0 0 1 0 .152l-.01.01a.107.107 0 0 1-.152 0l-.66-.658a.11.11 0 0 1 0-.155l.01-.01a.111.111 0 0 1 .078-.03zm15.462 0c.028 0 .055.01.077.032l.007.007a.109.109 0 0 1 0 .155l-.658.66a.109.109 0 0 1-.154 0l-.008-.008a.109.109 0 0 1 0-.154l.658-.66a.11.11 0 0 1 .078-.032zm.707.66c.038 0 .071.02.092.075a.112.112 0 0 1-.023.117l-7.606 8.08c-3.084 2.024-6.149 4.04-9.222 6.05-.078.051-.17.082-.211-.028a.112.112 0 0 1 .023-.118l7.594-8.08c3.084-2.023 6.161-4.039 9.234-6.049a.247.247 0 0 1 .12-.046zm-16.824.045a.109.109 0 0 1 .08.026l1.416 1.187a.11.11 0 0 1 .014.157l-.006.005a.11.11 0 0 1-.156.014L3.549 5.057a.109.109 0 0 1-.014-.155l.006-.007a.108.108 0 0 1 .074-.04zm17.336.756c.036 0 .072.017.094.05l.004.003a.114.114 0 0 1-.028.158l-.753.53a.112.112 0 0 1-.157-.028l-.004-.004a.114.114 0 0 1 .028-.158l.754-.53a.113.113 0 0 1 .062-.02zm-17.904.002c.02 0 .042.007.06.02l.76.531c.05.035.06.103.026.152l-.006.01a.109.109 0 0 1-.153.026l-.76-.532a.109.109 0 0 1-.025-.152l.006-.01a.108.108 0 0 1 .092-.045zm-.512.803c.018 0 .036.006.053.016l1.596.923a.111.111 0 0 1 .04.153l-.003.006a.111.111 0 0 1-.153.04L2.473 6.63a.111.111 0 0 1-.041-.152l.004-.006a.11.11 0 0 1 .1-.055zm18.932 0a.11.11 0 0 1 .1.055l.001.004a.113.113 0 0 1-.04.154l-1.596.926a.113.113 0 0 1-.155-.041l-.002-.004a.113.113 0 0 1 .041-.155l1.596-.925a.115.115 0 0 1 .055-.014zm-19.373.846c.014 0 .029.003.043.01l.838.392a.11.11 0 0 1 .052.147l-.004.01a.11.11 0 0 1-.146.052l-.838-.393a.11.11 0 0 1-.053-.146l.004-.01a.109.109 0 0 1 .104-.062zm19.81.002a.11.11 0 0 1 .106.062l.002.008a.11.11 0 0 1-.053.146l-.838.393a.11.11 0 0 1-.146-.053l-.004-.008a.11.11 0 0 1 .052-.146l.838-.393a.11.11 0 0 1 .043-.01zm-20.183.88c.014 0 .028.001.043.006l1.732.631a.112.112 0 0 1 .067.145l-.002.006a.11.11 0 0 1-.143.066l-1.732-.63a.113.113 0 0 1-.069-.145l.002-.004a.115.115 0 0 1 .102-.074zm20.549 0a.113.113 0 0 1 .11.075l.003.004a.115.115 0 0 1-.069.146l-1.732.629a.112.112 0 0 1-.145-.066l-.001-.006a.113.113 0 0 1 .068-.145l1.732-.63a.11.11 0 0 1 .034-.006zm-20.836.909a.11.11 0 0 1 .033.004l.892.24c.06.016.096.077.08.137l-.002.007a.11.11 0 0 1-.136.079l-.895-.239a.113.113 0 0 1-.078-.138l.002-.006a.113.113 0 0 1 .104-.084zm21.13.002a.115.115 0 0 1 .106.084v.004a.112.112 0 0 1-.078.138l-.893.239a.112.112 0 0 1-.138-.079v-.005a.112.112 0 0 1 .078-.14l.892-.237a.11.11 0 0 1 .033-.004zm-21.335.93.023.001 1.814.323c.062.01.101.069.09.13v.006a.111.111 0 0 1-.13.09l-1.815-.322a.113.113 0 0 1-.092-.131l.002-.006a.11.11 0 0 1 .108-.092zm21.519.001h.022c.052.002.1.038.109.092v.006c.01.062-.03.12-.092.13l-1.814.321a.113.113 0 0 1-.131-.092v-.005a.113.113 0 0 1 .092-.131l1.814-.32zm-21.644.944h.011l.922.084a.11.11 0 0 1 .102.119l-.002.01a.11.11 0 0 1-.121.1l-.922-.083a.11.11 0 0 1-.1-.12v-.009a.111.111 0 0 1 .11-.101zm21.779.002h.012c.056 0 .106.043.11.101v.008a.111.111 0 0 1-.1.121l-.923.08a.111.111 0 0 1-.12-.101v-.008a.111.111 0 0 1 .1-.121l.92-.08zm-11.82.73L6.091 16.95c2.02-1.324 4.039-2.646 6.066-3.976l-1.095-1.31zm11.87.219c.063 0 .114.05.114.113v.004c0 .063-.05.113-.113.113l-1.844.004a.113.113 0 0 1-.113-.113v-.004c0-.063.05-.113.113-.113l1.844-.004zm-21.869.002h1.844c.062 0 .112.05.112.111v.008c0 .062-.05.111-.112.111H1.064a.111.111 0 0 1-.11-.111v-.008c0-.061.049-.111.11-.111zm.952.875h.011a.11.11 0 0 1 .11.101v.006a.111.111 0 0 1-.102.121l-.922.08a.11.11 0 0 1-.119-.101l-.002-.006a.111.111 0 0 1 .102-.121l.922-.08zm19.955 0h.011l.922.08a.11.11 0 0 1 .102.119v.008a.112.112 0 0 1-.121.101l-.922-.08a.11.11 0 0 1-.102-.119v-.008a.111.111 0 0 1 .11-.101zm-18.924.705c.053.001.098.04.107.094l.002.004c.011.061-.03.12-.092.13l-1.812.32a.113.113 0 0 1-.13-.091v-.004a.115.115 0 0 1 .09-.133l1.811-.318a.117.117 0 0 1 .024-.002zm17.902 0c.008 0 .016 0 .024.002l1.816.32c.061.011.1.07.09.131v.004a.113.113 0 0 1-.131.092l-1.816-.32a.112.112 0 0 1-.09-.131v-.004a.113.113 0 0 1 .107-.094zM2.332 14.477a.11.11 0 0 1 .104.082l.002.005c.016.06-.02.121-.08.137l-.891.24a.112.112 0 0 1-.137-.08l-.002-.006a.112.112 0 0 1 .08-.136l.89-.239a.112.112 0 0 1 .034-.003zm19.332 0c.011 0 .024 0 .035.003l.893.239c.06.016.096.077.08.136l-.002.006a.111.111 0 0 1-.137.078l-.894-.238a.111.111 0 0 1-.078-.137l.002-.005a.109.109 0 0 1 .101-.082zm-18.213.517a.11.11 0 0 1 .11.074l.002.004a.112.112 0 0 1-.067.145l-1.732.63a.113.113 0 0 1-.145-.068l-.002-.004a.113.113 0 0 1 .069-.144L3.418 15a.11.11 0 0 1 .033-.006zm17.086 0c.015 0 .029 0 .043.006l1.734.63a.111.111 0 0 1 .067.143l-.002.008a.111.111 0 0 1-.143.067l-1.734-.631a.111.111 0 0 1-.066-.143l.002-.008a.111.111 0 0 1 .1-.072zM2.92 16.117a.109.109 0 0 1 .103.063l.004.01a.108.108 0 0 1-.052.144l-.838.393a.11.11 0 0 1-.147-.055l-.004-.008a.11.11 0 0 1 .053-.146l.838-.391a.112.112 0 0 1 .043-.01zm18.158 0a.11.11 0 0 1 .043.01l.838.39c.056.027.08.093.055.149l-.002.004a.112.112 0 0 1-.149.055l-.838-.391a.112.112 0 0 1-.054-.148l.002-.004a.112.112 0 0 1 .105-.065zm-16.957.315c.04-.001.078.02.1.056l.004.004a.11.11 0 0 1-.041.153l-1.596.921a.113.113 0 0 1-.154-.04l-.002-.005a.113.113 0 0 1 .04-.154l1.596-.922a.109.109 0 0 1 .053-.013zm15.756 0c.018 0 .036.004.053.013l1.597.924a.11.11 0 0 1 .041.152l-.002.004a.11.11 0 0 1-.152.041l-1.598-.921a.113.113 0 0 1-.04-.155l.001-.002a.111.111 0 0 1 .1-.056zm.328 1.193a.11.11 0 0 1 .06.021l.758.534c.05.035.061.102.026.152l-.004.008a.111.111 0 0 1-.154.027l-.756-.535a.109.109 0 0 1-.028-.152l.006-.008a.11.11 0 0 1 .092-.047zm-16.412.002c.035 0 .072.016.094.047l.004.008a.109.109 0 0 1-.028.152l-.756.531a.108.108 0 0 1-.152-.025l-.006-.008a.109.109 0 0 1 .028-.152l.755-.534a.107.107 0 0 1 .061-.019zm15.162.102a.112.112 0 0 1 .082.025l1.414 1.187a.11.11 0 0 1 .014.157l-.004.004a.113.113 0 0 1-.158.013L18.89 17.93a.11.11 0 0 1-.014-.157l.004-.005a.108.108 0 0 1 .074-.04zm-12.812 1.12a.11.11 0 0 1 .08.026l.007.008a.11.11 0 0 1 .014.154L5.06 20.451a.11.11 0 0 1-.155.012l-.008-.006a.11.11 0 0 1-.013-.154l1.185-1.414a.11.11 0 0 1 .075-.04zm11.703 0c.032 0 .065.015.088.042l1.181 1.41c.04.048.035.12-.013.16l-.002.002a.114.114 0 0 1-.16-.014l-1.182-1.41a.114.114 0 0 1 .013-.16l.002-.002a.115.115 0 0 1 .073-.027zm-12.928.114c.027 0 .054.01.074.031l.014.012a.107.107 0 0 1 0 .15l-.662.66a.105.105 0 0 1-.149 0l-.011-.011a.105.105 0 0 1 0-.149l.66-.662a.105.105 0 0 1 .074-.031zm14.164 0c.027 0 .053.01.074.031l.66.662a.106.106 0 0 1 0 .15l-.011.012a.106.106 0 0 1-.15-.002l-.66-.66a.106.106 0 0 1 .001-.15l.01-.012a.108.108 0 0 1 .076-.031zm-11.627.797c.018 0 .034.006.05.015l.007.004a.11.11 0 0 1 .04.15l-.921 1.598a.11.11 0 0 1-.15.041l-.008-.004a.111.111 0 0 1-.04-.152l.922-1.596a.113.113 0 0 1 .1-.056zm9.088.002a.11.11 0 0 1 .1.054l.925 1.596a.113.113 0 0 1-.04.154h-.005a.11.11 0 0 1-.152-.039l-.926-1.595a.113.113 0 0 1 .041-.155l.004-.002a.108.108 0 0 1 .053-.013zm-10.285.324c.021 0 .043.008.062.021l.004.002c.051.036.063.106.028.157l-.53.755a.112.112 0 0 1-.156.028l-.004-.002a.112.112 0 0 1-.027-.156l.53-.756a.113.113 0 0 1 .093-.05zm11.484.002c.036 0 .072.015.094.047l.53.756c.035.05.023.12-.028.156l-.004.002a.112.112 0 0 1-.156-.028l-.53-.755a.112.112 0 0 1 .028-.157l.004-.002a.112.112 0 0 1 .062-.02zm-8.863.342a.11.11 0 0 1 .043.006l.012.005c.056.02.084.081.064.137l-.633 1.74a.105.105 0 0 1-.136.063l-.014-.004a.106.106 0 0 1-.065-.137l.633-1.74a.107.107 0 0 1 .096-.07zm6.232 0a.107.107 0 0 1 .106.07l.633 1.738a.107.107 0 0 1-.065.137l-.015.006a.107.107 0 0 1-.137-.065L15 20.578a.107.107 0 0 1 .064-.137l.014-.005a.117.117 0 0 1 .033-.006zm-4.695.41c.008 0 .014 0 .021.002l.006.002c.062.01.101.067.09.129l-.318 1.812a.113.113 0 0 1-.131.092l-.004-.002a.111.111 0 0 1-.092-.129l.32-1.812a.113.113 0 0 1 .108-.094zm3.146.002c.008-.002.015 0 .022 0a.111.111 0 0 1 .107.092l.32 1.812c.012.061-.03.12-.091.131l-.004.002a.113.113 0 0 1-.13-.092l-.321-1.812a.113.113 0 0 1 .092-.131l.005-.002zm-5.79.119a.11.11 0 0 1 .042.01l.004.002a.114.114 0 0 1 .055.15l-.393.834a.112.112 0 0 1-.148.055l-.004-.002a.112.112 0 0 1-.055-.149l.393-.836a.112.112 0 0 1 .105-.064zm8.458 0a.108.108 0 0 1 .104.062l.39.84a.11.11 0 0 1-.052.147l-.008.004a.11.11 0 0 1-.146-.055l-.391-.838a.11.11 0 0 1 .053-.146l.008-.004a.11.11 0 0 1 .042-.01zm-4.236.018H12c.063 0 .115.05.115.113l.002 1.84c0 .063-.05.113-.113.113h-.006a.113.113 0 0 1-.113-.113l-.004-1.838c0-.063.05-.115.113-.115zm-2.592.578c.011 0 .022 0 .034.004l.005.002c.06.016.095.077.079.136l-.24.893a.111.111 0 0 1-.137.078l-.006-.002a.111.111 0 0 1-.078-.137l.24-.89a.113.113 0 0 1 .103-.084zm5.196.002a.11.11 0 0 1 .103.082l.24.89a.11.11 0 0 1-.078.137l-.006.002a.11.11 0 0 1-.136-.078l-.24-.89a.11.11 0 0 1 .078-.138l.005-.002a.112.112 0 0 1 .034-.003zm-3.475.302h.01l.008.002c.061.006.107.06.101.121l-.08.92a.112.112 0 0 1-.121.102h-.008a.11.11 0 0 1-.1-.121l.08-.922a.111.111 0 0 1 .11-.102zm1.736 0h.02a.11.11 0 0 1 .107.102l.08.924a.11.11 0 0 1-.101.119l-.008.002a.11.11 0 0 1-.12-.102l-.08-.924a.112.112 0 0 1 .102-.12z"},child:[]}]})(e)}const mt=(e,t="w-6 h-6")=>{switch(e){case"chrome":return K.jsx(ft,{className:`${t} text-blue-500`});case"edge":return K.jsx(ct,{className:`${t} text-blue-600`});case"firefox":return K.jsx(dt,{className:`${t} text-orange-500`});case"safari":return K.jsx(pt,{className:`${t} text-blue-400`});default:return K.jsx(ct,{className:`${t} text-gray-500`})}},ht=(e,t="w-6 h-6")=>{switch(e){case"macos":return K.jsx(it,{className:`${t} text-gray-700`});case"windows":return K.jsx(ut,{className:`${t} text-blue-600`});case"linux":return K.jsx(ot,{className:`${t} text-orange-600`});default:return K.jsx(ct,{className:`${t} text-gray-500`})}};function gt({type:e,value:t,supportedOptions:n,onChange:r,disabled:a=!1}){const[l,s]=D.useState(!1),i=D.useRef(null),o=n.map(t=>({id:t.id,name:t.name,icon:"browser"===e?mt(t.id,"w-8 h-8"):ht(t.id,"w-8 h-8"),isSupported:"supported"===t.status})),u=o.find(e=>e.id===t)||{name:"browser"===e?"Unknown Browser":"Unknown OS",icon:"browser"===e?mt(t,"w-8 h-8"):ht(t,"w-8 h-8"),isSupported:!1};D.useEffect(()=>{const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);return K.jsxs("div",{className:"relative",ref:i,children:[K.jsxs("button",{type:"button",onClick:()=>!a&&s(!l),disabled:a,"data-testid":`${e}-dropdown`,className:"relative w-full bg-white border border-gray-300 rounded-lg shadow-sm pl-3 pr-10 py-3 text-left cursor-default focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 sm:text-sm "+(a?"bg-gray-50 text-gray-500 cursor-not-allowed":"hover:bg-gray-50"),children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0",children:u.icon}),K.jsxs("div",{className:"ml-3 flex-grow",children:[K.jsx("span",{className:"block truncate font-medium",children:u.name}),!u.isSupported&&K.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),K.jsx("span",{className:"ml-3 absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:K.jsx(ie,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"})})]}),l&&!a&&K.jsx("div",{className:"absolute z-10 mt-1 w-full bg-white shadow-lg max-h-56 rounded-lg py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm",children:o.map(n=>K.jsxs("div",{"data-testid":`${e}-option-${n.id}`,className:"cursor-pointer select-none relative py-2 pl-3 pr-9 hover:bg-gray-50 "+(n.id===t?"bg-blue-50 text-blue-900":"text-gray-900"),onClick:()=>{return e=n.id,r(e),void s(!1);var e},children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0",children:n.icon}),K.jsxs("div",{className:"ml-3 flex-grow",children:[K.jsx("span",{className:"block truncate font-medium "+(n.id===t?"font-semibold":"font-normal"),children:n.name}),!n.isSupported&&K.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),n.id===t&&K.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-4 text-blue-600",children:K.jsx("svg",{className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:K.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})})]},n.id))})]})}function vt({isOpen:e,onToggle:t,icon:n,label:r,statusText:a,children:l,testId:s,contentTestId:i}){return K.jsxs("div",{className:"bg-gray-50 rounded-lg border border-gray-200",children:[K.jsxs("button",{onClick:t,className:"w-full flex items-center justify-between p-4","data-testid":s,children:[K.jsxs("div",{className:"flex items-center",children:[n,K.jsx("span",{className:"font-medium",children:r}),K.jsx("span",{className:"ml-2 text-sm text-gray-500",children:a})]}),e?K.jsx(ie,{className:"w-5 h-5 text-gray-500"}):K.jsx(oe,{className:"w-5 h-5 text-gray-500"})]}),e&&K.jsx("div",{className:"px-4 pb-4","data-testid":i,children:l})]})}function yt({items:e}){return K.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-md",children:[K.jsx("h5",{className:"text-sm font-medium text-gray-900 mb-2",children:"Troubleshooting"}),K.jsx("ul",{className:"text-sm text-gray-600 space-y-1 list-disc list-inside",children:e.map((e,t)=>K.jsx("li",{children:e},t))})]})}const bt="http://localhost:1135",xt=(e=bt)=>`${e}/setup`,wt=(e=bt)=>`${e}/admin`;function kt(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.extensionStep.extensionAccordionOpen),n=_e(e=>e.ui.extensionStep.serverAccordionOpen),r=_e(e=>e.setBrowserOverride),a=_e(e=>e.setExtensionAccordionOpen),l=_e(e=>e.setExtensionServerAccordionOpen),s=_e(Ye),{extension:i,server:o,env:u,browsers:c}=e;D.useEffect(()=>{"ready"!==i.status?(a(!0),l(!1)):(a(!1),"ready"!==o.status&&"pending-extension-ready"!==o.status&&l(!0))},[i.status,o.status,a,l]);const d=c.find(e=>e.id===s),f=()=>{const e=c.find(e=>e.id===s);e&&"supported"===e.status&&window.open(e.extension_url,"_blank")},p=()=>{const e=c.find(e=>e.id===s);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank")};return K.jsxs("div",{className:"space-y-4","data-testid":"extension-setup-step",children:[K.jsx(vt,{isOpen:t,onToggle:()=>a(!t),icon:"ready"===i.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Extension Installation",statusText:"ready"===i.status?"Ready":"Action Required",testId:"extension-accordion-header",contentTestId:"extension-accordion-content",children:K.jsxs("div",{className:"space-y-4",children:["ready"===i.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Extension version ",i.version," is connected and ready."]})]}):K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(ue,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium","data-testid":"p-ext-error-message",children:i.error.message}),K.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-ext-error-code",children:["Error Code: ",i.error.code]})]})]}),K.jsxs("div",{"data-testid":"browser-selection-section",children:[K.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Browser (for extension store link)"}),K.jsx(gt,{type:"browser",value:s,supportedOptions:c,onChange:e=>(e=>{r(e)})(e)}),K.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",c.find(e=>e.id===u.browser)?.name||"Unknown Browser",". Change selection to view other browser options."]})]}),"supported"===d?.status?K.jsxs("div",{className:"space-y-4",children:[K.jsxs("button",{onClick:f,className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:[K.jsx(ge,{className:"w-4 h-4 mr-2"}),"Download Extension for ",d.name]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",d.name]}),K.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[K.jsx("li",{children:"Click the download button above to open the extension store"}),K.jsxs("li",{children:[\'Click "Add to \',d.name,\'" or "Install"\']}),K.jsx("li",{children:"Accept the permissions when prompted"}),K.jsx("li",{children:"Look for the Bodhi icon in your browser toolbar"}),K.jsx("li",{children:"Click refresh in this modal to detect the extension"})]})]})]}):K.jsx("div",{className:"space-y-4",children:K.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:K.jsx("div",{className:"flex items-start",children:K.jsxs("div",{className:"ml-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[d?.name||"Selected Browser"," - Coming Soon"]}),K.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",d?.name||"this browser"," is in development."]}),d?.github_issue_url&&K.jsxs("button",{onClick:p,className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})})})}),"ready"!==i.status&&K.jsx(yt,{items:["Make sure you\'re using a supported browser version","Check that the extension is enabled in your browser settings","Try refreshing this page after installing the extension","Restart your browser if the extension isn\'t detected"]})]})}),K.jsx(vt,{isOpen:n,onToggle:()=>l(!n),icon:"ready"===o.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"ready"!==i.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:"ready"===o.status?"Connected":"ready"!==i.status?"Pending Extension":"Action Required",testId:"server-accordion-header",contentTestId:"server-accordion-content",children:"ready"!==i.status?K.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server connection will be verified once extension is installed."}):"ready"===o.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Server v",o.version," connected successfully"]})]}):K.jsxs("div",{className:"space-y-4",children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(ue,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium","data-testid":"p-server-error-message",children:o.error?.message||"Server connection failed"}),o.error?.code&&K.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-server-error-code",children:["Error: ",o.error.code]})]})]}),"setup"===o.status&&K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server needs initial configuration."}),K.jsx("a",{href:xt(bt),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Server Setup →"})]}),"resource-admin"===o.status&&K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server requires admin approval."}),K.jsx("a",{href:wt(bt),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Admin Panel →"})]}),("unreachable"===o.status||"error"===o.status)&&K.jsx(yt,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn\'t blocking the server","Verify the server is running on port 1135","Try restarting the server application"]})]})})]})}function St(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.lnaStep.serverUrl),n=_e(e=>e.ui.lnaStep.lnaAccordionOpen),r=_e(e=>e.ui.lnaStep.serverAccordionOpen),a=_e(e=>e.setServerUrl),l=_e(e=>e.setLnaAccordionOpen),s=_e(e=>e.setLnaServerAccordionOpen),i=_e(e=>e.sendMessage),[o,u]=D.useState(""),{lna:c,lnaServer:d}=e;D.useEffect(()=>{t||("granted"===c.status||"unreachable"===c.status||"prompt"===c.status&&c.serverUrl||"skipped"===c.status&&c.serverUrl?a(c.serverUrl):a(bt))},[t,c,a]),D.useEffect(()=>{"granted"!==c.status?l(!0):"ready"!==d.status&&s(!0)},[c.status,d.status,l,s]);const f=()=>{!function(e){if(!e||"string"!=typeof e)return!1;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}}(t)?u(function(e){if(!e||""===e.trim())return"Server URL is required";try{const t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)return"URL must use http:// or https:// protocol"}catch{return"Please enter a valid URL (e.g., http://localhost:1135)"}return"Invalid URL format"}(t)):(u(""),i("modal:lna:connect",{serverUrl:t}).catch(e=>{u("Failed to connect. Please try again.")}))},p=()=>{i("modal:lna:skip",void 0).catch(e=>{})},m=()=>{switch(c.status){case"granted":return"Reconnect";case"unreachable":case"denied":return"Try Again";default:return"Connect"}},h=()=>{switch(c.status){case"granted":case"unreachable":case"denied":return K.jsx(xe,{className:"w-4 h-4"});default:return K.jsx(Ne,{className:"w-4 h-4"})}};return K.jsxs("div",{className:"space-y-4","data-testid":"lna-setup-step",children:[K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Direct Connection"}),K.jsx(vt,{isOpen:n,onToggle:()=>l(!n),icon:"granted"===c.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"skipped"===c.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"unreachable"===c.status?K.jsx(pe,{className:"w-5 h-5 text-red-500 mr-2"}):"denied"===c.status?K.jsx(Se,{className:"w-5 h-5 text-amber-500 mr-2"}):"unsupported"===c.status?K.jsx(Se,{className:"w-5 h-5 text-gray-500 mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"LNA Connection",statusText:(()=>{switch(c.status){case"granted":return"Connected";case"skipped":return"Skipped";case"unreachable":return"Connection Failed";case"denied":return"Permission Denied";case"unsupported":return"Not Supported";default:return"Not Connected"}})(),testId:"lna-accordion-header",contentTestId:"lna-accordion-content",children:K.jsxs("div",{className:"space-y-4",children:["granted"===c.status&&K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Direct connection established to ",c.serverUrl]})]}),"prompt"===c.status&&K.jsxs("div",{className:"text-gray-600 py-2",children:[K.jsx("p",{children:"Configure direct connection to your local Bodhi server."}),K.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"Direct connection allows websites to connect to localhost without a browser extension."})]}),"unsupported"===c.status&&K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Browser Not Supported"}),K.jsx("p",{className:"text-sm text-gray-500",children:"Your browser does not support Local Network Access. You can still try to connect, or use the browser extension instead."})]})]}),"unreachable"===c.status&&K.jsxs("div",{className:"flex items-start text-red-600 py-2",children:[K.jsx(pe,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Connection Failed"}),K.jsx("p",{className:"text-sm",children:c.error.message}),K.jsxs("p",{className:"text-sm text-gray-500",children:["Could not connect to ",c.serverUrl]})]})]}),"denied"===c.status&&K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Permission Denied"}),K.jsx("p",{className:"text-sm",children:c.error.message}),K.jsx("p",{className:"text-sm text-gray-500",children:"Your browser requires permission to access local network resources."})]})]}),"skipped"===c.status&&K.jsxs("div",{className:"text-gray-600 py-2",children:[K.jsx("p",{children:"Direct connection skipped. Using browser extension instead."}),K.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"You can still enable direct connection by entering a server URL below."})]}),K.jsxs("div",{children:[K.jsx("label",{htmlFor:"lna-url",className:"block text-sm font-medium text-gray-700 mb-1",children:"Server URL"}),K.jsx("input",{id:"lna-url",type:"text","data-testid":"lna-url-input",value:t,onChange:e=>{a(e.target.value),o&&u("")},className:"w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 "+(o?"border-red-300":"border-gray-300"),placeholder:bt}),o&&K.jsx("p",{className:"mt-1 text-sm text-red-600","data-testid":"url-error-message",children:o})]}),K.jsxs("div",{className:"flex gap-3",children:[K.jsx("button",{"data-testid":"lna-connect-button",onClick:f,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors",children:K.jsxs("div",{className:"flex items-center justify-center gap-2",children:[h(),m()]})}),"skipped"!==c.status&&K.jsx("button",{"data-testid":"lna-skip-button",onClick:p,className:"px-4 py-2 bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 transition-colors",children:K.jsxs("div",{className:"flex items-center justify-center gap-2",children:[K.jsx(ke,{className:"w-4 h-4"}),"Skip"]})})]})]})}),K.jsx(vt,{isOpen:r,onToggle:()=>s(!r),icon:"ready"===d.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"granted"!==c.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"pending-lna-ready"===d.status?K.jsx(be,{className:"w-5 h-5 text-blue-500 animate-spin mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:(()=>{if("granted"!==c.status)return"Pending LNA";switch(d.status){case"ready":return"Connected";case"setup":return"Setup Required";case"resource-admin":return"Admin Required";case"error":return"Error";default:return"Checking..."}})(),testId:"lna-server-accordion-header",contentTestId:"lna-server-status",children:"granted"!==c.status?K.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server status will be checked once LNA connection is established."}):"pending-lna-ready"===d.status?K.jsxs("div",{className:"flex items-center text-gray-500 py-2",children:[K.jsx(be,{className:"w-4 h-4 animate-spin mr-2"}),K.jsx("span",{children:"Checking server..."})]}):"ready"===d.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Server v",d.version," connected successfully"]})]}):K.jsxs("div",{className:"space-y-4",children:["setup"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsx("div",{children:K.jsx("p",{className:"font-medium",children:"Server requires initial setup"})})]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Complete the server setup to continue."}),K.jsxs("a",{href:xt(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-setup-link",children:["Complete server setup",K.jsx(ve,{className:"w-3 h-3"})]})]})]}),"resource-admin"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsx("div",{children:K.jsx("p",{className:"font-medium",children:"Server requires resource configuration"})})]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Configure server resources to continue."}),K.jsxs("a",{href:wt(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-admin-link",children:["Configure resources",K.jsx(ve,{className:"w-3 h-3"})]})]})]}),"error"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-red-600",children:[K.jsx(pe,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Server connection error"}),K.jsx("p",{className:"text-sm",children:d.error.message})]})]}),K.jsx(yt,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn\'t blocking the server","Verify the server is running on the configured port","Try restarting the server application"]})]})]})})]})}function Nt(){const e=_e(e=>e.setupState),t=_e(Ie),n=_e(Fe),r=_e(Te),a=_e(Me),l=_e(De),s=_e(Ue),{env:i}=e,o=()=>r?"Supported":"Not Supported",u=()=>a?"Supported":"Not Supported";return K.jsxs("div",{className:"space-y-6","data-testid":"platform-check-step",children:[K.jsxs("div",{className:"text-center","data-testid":"platform-check-header",children:[K.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"platform-check-title",children:"Platform Compatibility Check"}),K.jsx("p",{className:"text-gray-600","data-testid":"platform-check-description",children:"Verifying your browser and operating system compatibility"})]}),K.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"browser-detection-section",children:[K.jsxs("div",{className:"flex items-center justify-between",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0","data-testid":"browser-icon",children:mt(i.browser)}),K.jsxs("div",{className:"ml-3",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"browser-section-title",children:"Detected Browser"}),K.jsx("p",{className:"text-sm text-gray-500","data-testid":"browser-name",children:l}),K.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"browser-reliability-warning",children:"Detection can be unreliable"})]})]}),K.jsx("div",{className:"flex items-center space-x-2",children:K.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(r?"text-green-600 bg-green-50":"not-supported"===t?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"browser-status-badge",children:r?K.jsxs(K.Fragment,{children:[K.jsx(ce,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"browser-status-text",children:o()})]}):K.jsxs(K.Fragment,{children:[K.jsx(pe,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"browser-status-text",children:o()})]})})})]}),!r&&K.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===t?.status?"bg-red-50":"bg-amber-50"),"data-testid":"browser-warning-section",children:K.jsxs("p",{className:"text-sm "+("not-supported"===t?.status?"text-red-800":"text-amber-800"),"data-testid":"browser-warning-text",children:["not-supported"===t?.status?"This browser is not supported by Bodhi Platform.":"We couldn\'t detect your browser reliably. Your browser might still be supported - try proceeding with setup.","not-supported"===t?.status&&t.github_issue_url&&K.jsxs(K.Fragment,{children:[" ",K.jsxs("a",{href:t.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===t?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"browser-support-link",children:["Request support ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})]})})]}),K.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"os-detection-section",children:[K.jsxs("div",{className:"flex items-center justify-between",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0","data-testid":"os-icon",children:ht(i.os)}),K.jsxs("div",{className:"ml-3",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"os-section-title",children:"Detected Operating System"}),K.jsx("p",{className:"text-sm text-gray-500","data-testid":"os-name",children:s}),K.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"os-reliability-warning",children:"Detection can be unreliable"})]})]}),K.jsx("div",{className:"flex items-center space-x-2",children:K.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(a?"text-green-600 bg-green-50":"not-supported"===n?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"os-status-badge",children:a?K.jsxs(K.Fragment,{children:[K.jsx(ce,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"os-status-text",children:u()})]}):K.jsxs(K.Fragment,{children:[K.jsx(pe,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"os-status-text",children:u()})]})})})]}),!a&&K.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===n?.status?"bg-red-50":"bg-amber-50"),"data-testid":"os-warning-section",children:K.jsxs("p",{className:"text-sm "+("not-supported"===n?.status?"text-red-800":"text-amber-800"),"data-testid":"os-warning-text",children:["not-supported"===n?.status?"This operating system is not supported by Bodhi Platform.":"We couldn\'t detect your OS reliably. Your operating system might still be supported - try proceeding with setup.","not-supported"===n?.status&&n.github_issue_url&&K.jsxs(K.Fragment,{children:[" ",K.jsxs("a",{href:n.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===n?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"os-support-link",children:["Request support ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})]})})]})]})}function Ct(){const e=_e(e=>e.setupState),t=_e(e=>e.setOSOverride),n=_e(e=>e.sendMessage),r=_e(Ke),{env:a,os:l}=e;D.useEffect(()=>{t(null)},[a.os,t]);const s=l.find(e=>e.id===r);return K.jsx("div",{className:"space-y-6 min-h-0","data-testid":"server-setup-step",children:K.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg min-h-0",children:[K.jsxs("div",{className:"mb-6",children:[K.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Operating System (for server download)"}),K.jsx(gt,{type:"os",value:r,supportedOptions:l,onChange:e=>(e=>{t(e)})(e)}),K.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",l.find(e=>e.id===a.os)?.name||"Unknown OS",". Change selection to view other OS options."]})]}),"supported"===s?.status?K.jsxs("div",{className:"space-y-4",children:[K.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"supported"===e.status&&window.open(e.download_url,"_blank")},className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:[K.jsx(ge,{className:"w-4 h-4 mr-2"}),"Download Bodhi App Server for ",s.name]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",s.name]}),K.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[K.jsx("li",{children:"Click the download button above to get the installer"}),K.jsx("li",{children:"Run the downloaded installer"}),K.jsx("li",{children:"Follow the installation wizard"}),K.jsx("li",{children:"Launch the Bodhi App Server"})]})]})]}):K.jsx("div",{className:"space-y-4",children:K.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:K.jsx("div",{className:"flex items-start",children:K.jsxs("div",{className:"ml-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[s?.name||"Selected OS"," - Coming Soon"]}),K.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",s?.name||"this operating system"," is in development."]}),s?.github_issue_url&&K.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank")},className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})})})}),K.jsx("div",{className:"mt-6 p-4 bg-white border border-gray-200 rounded-lg",children:K.jsxs("label",{className:"flex items-center cursor-pointer",children:[K.jsx("input",{type:"checkbox",checked:e.userConfirmations?.serverInstall??!1,onChange:e=>{n("modal:confirm-server-install",{confirmed:e.target.checked}).catch(e=>{})},className:"w-5 h-5 text-green-600 border-gray-300 rounded focus:ring-green-500","data-testid":"server-confirm-checkbox"}),K.jsx("span",{className:"ml-3 text-sm font-medium text-gray-700",children:"I have installed the Bodhi App Server"})]})})]})})}function jt(){const e=_e(e=>e.setupState),t=_e(e=>e.sendMessage),n=_e(Te),r=_e(Me),a=_e(Ve),l=_e(Be),s=_e(Qe),i=_e(De),o=_e(Ue),{extension:u,server:c,lna:d,lnaServer:f,selectedConnection:p}=e,m="ready"===u.status,h="ready"===c.status,g=p??(l?"lna":s?"extension":null),v=e=>{t("modal:select-connection",{connection:e}).catch(e=>{})},y=(e,t=!0)=>e&&t?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):t?K.jsx(pe,{className:"w-5 h-5 text-red-500"}):K.jsx(me,{className:"w-5 h-5 text-amber-500"}),b=(e,t=!0)=>e&&t?{text:"Ready",className:"text-green-700"}:t?{text:"Incomplete",className:"text-red-700"}:{text:"Not Supported",className:"text-amber-700"};return K.jsxs("div",{className:"space-y-6","data-testid":"success-state-step",children:[K.jsxs("div",{className:"text-center py-6","data-testid":"success-state-header",children:[K.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full mb-4 "+(a?"bg-green-100":"bg-amber-100"),"data-testid":"success-state-icon",children:a?K.jsx(ce,{className:"w-8 h-8 text-green-600"}):K.jsx(me,{className:"w-8 h-8 text-amber-600"})}),K.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"success-state-title",children:a?"All Systems Ready!":"Setup In Progress"}),K.jsx("p",{className:"text-gray-600 mb-6","data-testid":"success-state-description",children:a?"Your Bodhi Platform setup is complete and ready to use.":"Complete the remaining setup steps to get started."}),a&&K.jsxs("button",{onClick:()=>{t("modal:complete",void 0).catch(e=>{})},className:"inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","data-testid":"continue-button",children:["Continue to Webpage",K.jsx(le,{className:"ml-2 w-5 h-5"})]})]}),K.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4","data-testid":"status-summary-section",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900 mb-4","data-testid":"status-summary-title",children:"Setup Status Summary"}),K.jsxs("div",{className:"space-y-3",children:[K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"platform-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(n&&r,n&&r),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"platform-status-label",children:"Platform Compatibility"}),K.jsxs("p",{className:"text-xs text-gray-500","data-testid":"platform-status-details",children:[i," on ",o]})]})]}),K.jsx("span",{className:`text-xs font-medium ${b(n&&r,n&&r).className}`,"data-testid":"platform-status-text",children:b(n&&r,n&&r).text})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-status-row",children:[K.jsxs("div",{className:"flex items-center",children:["granted"===d.status?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):"skipped"===d.status?K.jsx(fe,{className:"w-5 h-5 text-gray-400"}):K.jsx(Ne,{className:"w-5 h-5 text-gray-400"}),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"lna-status-label",children:"Direct Connection"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-status-details",children:"granted"===d.status?`Connected to ${d.serverUrl}`:"skipped"===d.status?"Using browser extension instead":"Not configured"})]})]}),K.jsx("span",{className:"text-xs font-medium "+("granted"===d.status?"text-green-700":(d.status,"text-gray-500")),"data-testid":"lna-status-text",children:"granted"===d.status?"Ready":"skipped"===d.status?"Skipped":"Not Connected"})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-server-status-row",children:[K.jsxs("div",{className:"flex items-center",children:["skipped"===d.status||"prompt"===d.status?K.jsx(fe,{className:"w-5 h-5 text-gray-400"}):"ready"===f.status?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):K.jsx(me,{className:"w-5 h-5 text-amber-500"}),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium "+("skipped"===d.status||"prompt"===d.status?"text-gray-500":"text-gray-900"),"data-testid":"lna-server-status-label",children:"Local Server (via LNA)"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-server-status-details",children:"skipped"===d.status?"Using browser extension instead":"prompt"===d.status?"LNA not configured":"ready"===f.status?`Version ${f.version}`:"pending-lna-ready"===f.status?"Waiting for LNA connection":"error"in f&&f.error?.message||"Connection issue"})]})]}),K.jsx("div",{className:"flex items-center",children:l?K.jsxs("label",{htmlFor:"connection-lna",className:"flex items-center space-x-2 cursor-pointer",children:[K.jsx("button",{type:"button",role:"radio","aria-checked":"lna"===g,id:"connection-lna","data-testid":"connection-lna",onClick:()=>v("lna"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("lna"===g?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"lna"===g&&K.jsx(se,{className:"w-3 h-3 text-white"})}),K.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):K.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-lna-hint",children:"Not set up"})})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"extension-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(m),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"extension-status-label",children:"Browser Extension"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"extension-status-details",children:m?`Version ${u.version}`:u.error.message})]})]}),K.jsx("span",{className:`text-xs font-medium ${b(m).className}`,"data-testid":"extension-status-text",children:b(m).text})]}),K.jsxs("div",{className:"flex items-center justify-between py-2","data-testid":"server-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(h),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"server-status-label",children:"Local Server (via Extension)"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"server-status-details",children:h?`Version ${c.version}`:c.error.message})]})]}),K.jsx("div",{className:"flex items-center",children:s?K.jsxs("label",{htmlFor:"connection-extension",className:"flex items-center space-x-2 cursor-pointer",children:[K.jsx("button",{type:"button",role:"radio","aria-checked":"extension"===g,id:"connection-extension","data-testid":"connection-extension",onClick:()=>v("extension"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("extension"===g?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"extension"===g&&K.jsx(se,{className:"w-3 h-3 text-white"})}),K.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):K.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-extension-hint",children:"Not set up"})})]})]})]}),!a&&K.jsx("div",{className:"text-center bg-gray-50 rounded-lg p-4","data-testid":"help-text-section",children:K.jsx("p",{className:"text-sm text-gray-600 mb-2","data-testid":"help-text",children:"You can navigate to any step using the progress indicator above to complete the remaining setup."})})]})}function Et(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.currentStep),n=_e(e=>e.ui.isRefreshing),r=_e(e=>e.setCurrentStep),a=_e(e=>e.setIsRefreshing),l=_e(e=>e.sendMessage),s=D.useRef(null),i=_e(qe),o=!_e(Re);D.useEffect(()=>{r(i)},[i,r]),D.useEffect(()=>()=>{s.current&&clearTimeout(s.current)},[]);return K.jsxs("div",{className:"flex flex-col h-screen",children:[K.jsxs("div",{className:"p-4 border-b flex items-center justify-between flex-shrink-0",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("img",{src:`data:image/png;base64,${"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAEYxJREFUeF7tXW+MXUUVnxUslH8GiKEY/QJYUz9Atd80cbcqDRpDTIEPxibVRPFPQkyJ5YMVdzeIf6hKWkwkGqMEjIgFGz5Qgn92S7EfJEDbLw2FognCFrSitHWhi3numX3zdu7cc2bOzJx737v3vZtsCu/dO3fmnN/5nXNmzswbU6NrqCUwNtSjHw1ejQAw5CAYAWAEgCGXwJAPf8QAIwAMpQQmlFLwN66U2tuVwOziZ/A3VNewMQAofSag4enF76eGBQXDBABQ6iRTsUMDgmEBAFg9WH/MBe5gfcwDTbx3GACAWv7E2nVaX/Dv7IGn9B9ytZ4J2g4AVPlTn7tRTW7+YkHf0/f8TE398qdDB4I2AwAN+DDlG60DC6zf8mUMBOAKWpkhtBkAHVeTPuWbewkmaG080FYAlII+jvKHEQRtBEDJ70OgN3Pn3VFBOrgCJDBsXVDYNgCgQV9n5sko5cPNwxIPtA0ASX6fQsfsvifU+m9taXVQ2CYAlKw/xu+jIHjpuJp+6D41tfjnXK0JCtsCAHnln5hX6vX/ar2vv/0WNXv4kAuCVqSGbQFAifpT/H5Pw5bydTxw+JAGQRtZoA0AkLX+NxeU+ufrJY9AuILGZwVNB4BIylfQ9kvHyYyhja6g6QAoTfhAvm8WeqJzP4f6S5zfQlfQZADIUn9A+b1ZQjwraGxA2GQAyAV+TOUbEBCuoJGybGSnFxUhZ/1E0OdzH0RW0EgWkAKAW21T9dKpnPVDxA8giLwQFqhjckhczrkAgA5BnR1WbgUpElzSBZZy1h9J/TZGamIBI1dKxtClrFQ0FQCc6tqCvLrl1xJgkLH+DOV7YgEJFjBGBa+JqWNMckEpAIhVPjaDBrX4KXX4Mtaf4PcxDyHIAj4mjXFO0SCIBUCu8rHBxFBYCQBJU76Jfh/rfGYsIKV4u2tRIIgFADrzBgWW9uQLlFVp548XWVKI5gChQP9Jq30C1C8QC8TsUVATa65Ukxs36dfCf2vH312hzF2pjAVAQQGcShsorNh78OkYMFBAkLF+z1RvDNfa945tusZ91AfmoPKNkkHp5r+pvuXOScQAIFsBkWBwhThw1p8YDJKbVIylh5QuwEC9JpIBwLF+n0VFuAmTTha2dUXTvzD1pyihc++eiV1/eWLyhrtu70X3KUp35ZoTh8QAoIDcaAV40ODZlEE+FR38VUD9ATfQC8ZA8WpsrJDLmwKTGGuPcAPsdHQgAGAGxgVCNPgqtH6fG+jcu2faVXxqnOFl0/ICVTMBwAVCNAAqtn7oNzYn0Nn5gFIr3r40rPNWVqH7XkbgZAMNBgBY69xxXZa99+hhNfXYgyXBRdF/DdZvOuhmAzNf+aaauHzNcv8vumAZEIJwQKqVKgFAIQrPKrzwDX7uuFIvL1flTD/2UAEEg2j9lBsA5QMIehewAYBA+CLK1VjunXVTt7/VAwCs9ciLqHhm51/VNBpV7VOj9UOnXUWUAAA3VcACxJQ0S7esm2oDgGP9BSSsfo9S50f6UcEpX47RonHAD35VfHQEAI8ofQBYt5qjg+V7arZ+KhAsxQHnnSMeELafAc4/R6nV7x54AEAHg4FgBXFAewBw5O9KnVjajVO43nWxUpdeHAeAGlI/rEPurNzUhuvU5IaNlQaC7QHAU0dwJccCoA/0bzruBoIlAMCNqyLBHIB+e7IAKQDUHPzZ+mFlAg0FQGVrAVqAnhRQxWYAfaL/fqWCdTFAMwDQR/qnMoFOxalgXTOBIwAwwtB+zAX0BQC59QA9WUKBJljt6QW9BuBes0cPq73zr5bO9SN10Uf67xcD1FUPUKgIgnVsffDSWd3VLoZ1FG4xijebMgAA/ypuy7bXAViAE6r2jR2KfX8/GAABAKe+Unc7Ziq4VBHcue9RpS44J26K1lW8kR4CgLGvf7agi+ACVJ/9f78YILImsSDTfABAcwCCFWf62YBSvCQA+kz/AwQAdml4DABgfMUVwW13FKtWwR24LsFQfGj/XS4DDID1YwCoekUwJwWMdQFhAOQ4TwQA63/ybQVBoLmmPvN5NXnjV4tvCTFLTp8SnmVNBAmuCNYNgEIqqAPBbXckiIl45FgxCygBYOOm3gYJzTQhVpHrGbslFgAEZwJzMoAUBugrAMQBx1Yr/8a6AZATAKYAoJQJAANIlDZrEUMaCK6ge7nlYE0EQJWLQcQqIDsFTAFAtXFACwBQ53Jwrv9PBUB1buDkvFInl+sBIACEOMC+9NzDAF/BghDBiqCcKWAjwtg0EJ4r7W0TUwoDAKIuRxhIrFlAQQDk+v9UBqguDuCkgnYmIKzA3OZYAaBQCkjQP3sCKIcBSiwgGpwFUkHRd+Vq3Hm+zmqg3G3hogDQkaGUb3YCwSbFAS4lV5UBSET/uQAouYEpKWpmAGBQ44C6AkAp+k+NAQx4qskGOGsCknMPQm4AU0qpEkgoAESCP/ZeQHe4KVmAaaO6YLCBcUAw/wepCUwBSx9bnwOA6oLBBrqBuvw/Yv1ZTJ4LgNK5QSL+2QGAHqFTHDJI2UBd9C9t/VnIsXxJ+eTO3IyAMR8wSABgWb9A/i9t/VIAKJ/eKZERNMQNYFZZRfpHWD/oMOtM5lwXgGYEOjjIjdQbwgJ10L9H+VgOA4BgH8ObDIDOzJO9k6x37d6tbtixfPQZ9EqEop1swF0eFgFaZhrIov/M6D8SAPaIgkvDFADsE6vhYGd9yndX6cWjy7tbutzqHbg/e3KI4QZEgJYIggG0fmokJBAwAJTy+99OfW/2+vGP4UeXdzd0YlO22RbKcAPZ70hUvg6gnCNiUd+fMflDWT5MMOkNM0cPq9kXn8N+1JINBBcA6Dm23oOZrB29FAiy1gkcN4C9ox8swLL+jMkfYr5flUDWdS/QH8265Z+5dcFQYAMbAOhR8N4dOciOXswVZCnIqRGA0WDvyA46I5mgauvHUj6UYZD0kgGG3rKxDYC0H2NATvUQB8GAsQBm/aWzgDKsH1vqRZXPOG6GcCO9tQMDgDTlwyARFqBcQXJQOEAsgFGzpO/3+f0SSTHjC9/qIQmAqNM4ERYQB8GAZARV+n5K+RIAozaQogCIPo0ToImAAMvbk9NDZkaQzDKMGIA968e0TPuVRIVPOegzD0XOLVQPAOKIF1EQMBaJ9HxF7loEAQYsMCut+Uf6fnApACxzfLz9atTy4YaEdQWqgtgwQLG4Y+26pb3/sVckCKJ/LAFhgbrSwiqsn0r1NEu6x8sZXSSwCzyK9F+ngwYA5eKO1F/h/tsxpY4XD3rQHXAOfS4gPWbxCGGBSmYhrQ5WoXzf9K608mEoVAm5nQZG/yBUT0buDl0kahcDAZMF4H1ScwNs6mdSc93K91UQ2wAobfjwBoOhbdkECKjsABTGdglI2xjDZE1AddHNzskZ1Ozz93COwOSG64q/L5BJ+wT164+B/jUzOG6+VNxROpYlpHi7QQIEcAtG2+ZRViRfgytgU38g8PMpXgPf/V0BW4YMYFGhmodpenp3AYBOB898/8dLO4BB+bF78j0g8MUFOhDyxQaIK9CIdkrHgu0Q0pOakAkt5ZL+HvqVoXxPgEmuBfQMsPuL4D3RZFMpoaxQXGCUN77mSnwLOgIuiVVJSnjodC+hJI7Vk5QPA2fGE5T1E36/tCxM1QOU44GYSJ3qFULb5tYQG5C5PdIm1RY3KGQvxHjm4on6PT1cL+VDm/ADU+bHpihZej4Pzf/bj/oKQgAEhYvlm0MdTnQJpPIIdkldkGIHfR6/TzGIN9CD9hiLOyHxcvw+BwAaqN2t4LWCgHILnbt/R//ShhAIMOGR1urxz7MHn1Lrt29bdqG+CN/clUn5Wm7l3w80rZO7hkM1gXiBiIQ7gK552MAAAf4dv3zNcnpECT4iHsCYLDvoAxCefmvpiJvTC72KnULfMfMVsPqA8r11gSEA6DjMDQr1hzWBgKQ8AAJc9g8yIvEAZ1WSUj4r6AOFA/iss41CNN37PiPKt9/hsfzkotCS+68UBAw28AoVBAknlYI1RYJAgxkpo0KVb6w1R+katHI/HEWtItqTPT7ZcRjAVAjjRaGCU666owG3ELQuEK51zpC5P5Rl2O16c3MAQYq1wwsEInzTz1Ca2d0bYPYIkGILAQClf6w1MZdgQKD/RX5AKogA+gYOCArKz1G23Q1BxUOzocklRwLJMUBpLiAke1EQVAQEHwgg4p+4/P3FX/kKDdr3vbDi4VUeyvf1JGpfADREKv/aWz6oX/TwHU+TLxQHgoRrsHobYoJsIFSgeJ/Vv+/Dl6prt35APbv/mE8v6CESmAtAaX/t+BXq6i2rFbzMXA9vf6Y/QMhwD3Or/q3uP7Vf3fwl5yddCTh744EKab4Xu9C5vb4FDBKUb1/7dr6s7rltDzaiEghYG0Pu/MNN6qqPXKFe+M+hUqMhEMADlTCCYYVu3h1ialD8M1f9Vc2tek09++c5tf3Tj4QeKXyPsoKZrs2cunU7wgjw9CNbd3+yYJCmncvecaU6+PjzasvH78LGSC4GoZa/+dZPqM23XqMbeu3NV9Rrb7yCCo4DBFhUMmv+UdL33Gxq6abv/4X233CZX+q0lW43gfUVLMnn1uznNRgWT0ofv2qd2DnJXKVDP4CFQfnYdeHZl6gLz7pEf+UBAboxpFQLYCvfvGzu1Atq/q2TJAjgC7YgrVU+WPGDCzt42i6Y3Ht4iYXgM6yQEr779Q+3qgs+dYaau+gfLLDaAuUAGWvUgBu+M2MpgGZxrO44zP9T43DfY3y97Ybte1aeeZ669NzLCo/dc9ujmDsIbwzBlG9a9jGBBsD2Z/StXCBIsYFpB/OL9juA/sEN+O7v9xjs/oYUD/falu/KkwCBZgFyY8ifTu/w6uWNt05pl0CxQT+BQPlGM6AvvPPnhbGFAANgAMDYoJEGLdYeR/Fg9UD5Z595rrdLH13xNfd7zQIGAAX691m/20qIDcz9VVsUCEv/fWgVGhjZ/XCZ6cET3yBjG3e8VY7DUDtE9RTN2/3xWb3b75uvvksd2Pu8+/EYAKAU/IWsH4MaFwjwrLam/cd0M7GWZQvGpD8cYXkAMDuzsFPNL5ycmP/fSTYQXGDHjiVnHFyrt/VEBISaAQoAgHz/R7+/KZnhYoDgvsRHsTFKdtsFgQFFPvCdfeo3393nfj09s3DnbKfztl4BTM4Y7Max8eSMI8biMQUiLKBjgMKsXwz9+1AiJcRkJCqlXEtB/CA0r93gzMLOmU6nU1jwgjHARaW+OX3jPpti7VTbtQLAdAKCRaBW/S+RPnKFEbrPWPrKM5Ys3r6ISLg3KbLIAhM2C7jvqnscJpcPBXchmQRkUB0DUB0zVpULCFA2XCAgTOEM5ZemRUMgsNu0AQGfp4LbjAPa4ETzMQp370WMQAMgOgOAgAIuJKrUn0McAVPHMZcRKPUMKNkonNsu9BPmxIl+onVyf3xzx9TYmIKT0JIu7jhSxpIrcywQLMUAVBAYECYqrCUgvFd/Z6aTk6Sa8BBB+aYl7xq5AQGM2YCn7v4befuUjonFyBzrLyaTEgCWlLU0/5+idJ+uoN2qwRBQPLw+WCcHN01cv3ZmdteBQlAoFSBjMjKs6mGsaDOw5U3FQAAAtPw7+m0JD9gMkeI24JXGSg8+/hzpkqyusZTfvZ+siZAAst3vWCtPEDX1iJ4Igotd+uW0BIGUe5G1g9yOG2CAUn0XFYMgz0A/g/VxznNsmdhAxq17eRwRfaaGLiXzwgERXBAYQcL9WEfsTuvtx1g1MRcIQvfFWL37SjYIhPrqNmNkbE4El5I5uT0cUxq8FM4LZp9ATbACMMN41+VUJK9esykW7+tTnUCIMbJQn115l+TiqwoGhYUQl6pIaLt32nhqI4g7ygVqqCum31JANvKto9+oLkNl4SGBSH5vg8K0C4KmLiM0jjuS7KfdltvnUH/tvlZlXFFjHSQARHV8dLOMBEYAkJFjY1sZAaCxqpPp+AgAMnJsbCsjADRWdTIdHwFARo6NbeX/CJxV4FwD8/0AAAAASUVORK5CYII=\\n".trim()}`,alt:"Bodhi Logo",className:"w-8 h-8 mr-3"}),K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Bodhi Platform Setup"}),!e&&K.jsx("div",{className:"ml-3","data-testid":"loading-indicator",title:"Loading setup data...",children:K.jsx(be,{className:"w-4 h-4 text-blue-500 animate-spin"})}),o&&K.jsx("div",{className:"ml-3","data-testid":"platform-not-supported-indicator",title:"Platform not supported - setup may not work",children:K.jsx(Se,{className:"w-4 h-4 text-red-500"})})]}),K.jsxs("div",{className:"flex items-center space-x-2",children:[K.jsx("button",{onClick:()=>{a(!0),l("modal:refresh",void 0).catch(e=>{}),s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{a(!1),s.current=null},2e3)},className:"p-1.5 rounded-full hover:bg-gray-100 "+(n?"bg-blue-50":""),title:"Refresh detection","data-testid":"refresh-button","data-refreshing":n,disabled:n,children:K.jsx(xe,{className:"w-4 h-4 text-gray-600 hover:text-blue-600 "+(n?"animate-spin text-blue-600":"")})}),K.jsx("button",{onClick:()=>{l("modal:close",void 0).catch(e=>{})},className:"p-1.5 rounded-full hover:bg-gray-100 hover:bg-red-50",title:"Close modal","data-testid":"close-button",children:K.jsx(Ce,{className:"w-4 h-4 text-gray-600 hover:text-red-600"})})]})]}),K.jsxs("div",{className:"flex flex-col flex-1 p-4 min-h-0",children:[K.jsx("div",{className:"flex-shrink-0",children:K.jsx(Ge,{onStepClick:e=>{r(e)}})}),K.jsx("div",{className:"mt-6 flex-1 overflow-y-auto min-h-0 w-full","data-testid":"content-area",children:e?K.jsxs(K.Fragment,{children:[t===G.PLATFORM_CHECK&&K.jsx(Nt,{}),t===G.SERVER_SETUP&&K.jsx(Ct,{}),t===G.LNA_SETUP&&K.jsx(St,{}),t===G.EXTENSION_SETUP&&K.jsx(kt,{}),t===G.COMPLETE&&K.jsx(jt,{})]}):K.jsx("div",{className:"flex items-center justify-center h-full",children:K.jsxs("div",{className:"text-center",children:[K.jsx(be,{className:"w-8 h-8 text-blue-500 animate-spin mx-auto mb-4"}),K.jsx("p",{className:"text-gray-600",children:"Loading setup data..."})]})})})]})]})}function At(){const{isReady:e}=function(){const e=_e(e=>e.setupState),t=_e(e=>e.setSetupState),n=_e(e=>e.initChannel),r=_e(e=>e.sendMessage),[a,l]=D.useState(!1);return D.useEffect(()=>{l(!1);const e=n().on("parent:state-update",({setupState:e})=>{t(e)});return r("modal:ready",void 0).then(({setupState:e})=>{t(e),l(!0)}).catch(e=>{}),()=>{e()}},[n,t,r]),D.useEffect(()=>{if(!e||null!==e.selectedConnection)return;const t=_e.getState(),n=Be(t),a=Qe(t);n?r("modal:select-connection",{connection:"lna"}).catch(e=>{}):a&&r("modal:select-connection",{connection:"extension"}).catch(e=>{})},[e?.lna.status,e?.lnaServer.status,e?.extension.status,e?.server.status,e?.selectedConnection,r]),{setupState:e,sendMessage:r,isReady:a}}();return K.jsx("div",{className:"w-full h-screen bg-white","data-testid":"div-setup-modal","data-test-state":e?"ready":"loading",children:K.jsx(Et,{})})}class zt extends D.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){}handleReload=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?K.jsx("div",{className:"flex items-center justify-center h-screen bg-gray-50",children:K.jsxs("div",{className:"max-w-md p-6 bg-white rounded-lg shadow-lg border border-red-200",children:[K.jsxs("div",{className:"flex items-center mb-4",children:[K.jsx(Se,{className:"w-8 h-8 text-red-500 mr-3"}),K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Something went wrong"})]}),K.jsx("p",{className:"text-gray-600 mb-4",children:"An unexpected error occurred in the setup modal. Please try reloading or contact support if the problem persists."}),this.state.error&&!1,K.jsx("button",{onClick:this.handleReload,className:"w-full px-4 py-2 text-sm font-medium text-white bg-red-600 rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500",children:"Try Again"})]})}):this.props.children}}var Pt={exports:{}},Lt={},_t={exports:{}},Ot={};\n/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n!function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,l=e[r];if(!(0<a(l,t)))break e;e[r]=t,e[n]=l,n=r}}function n(e){return 0===e.length?null:e[0]}function r(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,l=e.length,s=l>>>1;r<s;){var i=2*(r+1)-1,o=e[i],u=i+1,c=e[u];if(0>a(o,n))u<l&&0>a(c,o)?(e[r]=c,e[u]=n,r=u):(e[r]=o,e[i]=n,r=i);else{if(!(u<l&&0>a(c,n)))break e;e[r]=c,e[u]=n,r=u}}}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 l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,i=s.now();e.unstable_now=function(){return s.now()-i}}var o=[],u=[],c=1,d=null,f=3,p=!1,m=!1,h=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var a=n(u);null!==a;){if(null===a.callback)r(u);else{if(!(a.startTime<=e))break;r(u),a.sortIndex=a.expirationTime,t(o,a)}a=n(u)}}function x(e){if(h=!1,b(e),!m)if(null!==n(o))m=!0,_(w);else{var t=n(u);null!==t&&O(x,t.startTime-e)}}function w(t,a){m=!1,h&&(h=!1,v(C),C=-1),p=!0;var l=f;try{for(b(a),d=n(o);null!==d&&(!(d.expirationTime>a)||t&&!A());){var s=d.callback;if("function"==typeof s){d.callback=null,f=d.priorityLevel;var i=s(d.expirationTime<=a);a=e.unstable_now(),"function"==typeof i?d.callback=i:d===n(o)&&r(o),b(a)}else r(o);d=n(o)}if(null!==d)var c=!0;else{var g=n(u);null!==g&&O(x,g.startTime-a),c=!1}return c}finally{d=null,f=l,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,S=!1,N=null,C=-1,j=5,E=-1;function A(){return!(e.unstable_now()-E<j)}function z(){if(null!==N){var t=e.unstable_now();E=t;var n=!0;try{n=N(!0,t)}finally{n?k():(S=!1,N=null)}}else S=!1}if("function"==typeof y)k=function(){y(z)};else if("undefined"!=typeof MessageChannel){var P=new MessageChannel,L=P.port2;P.port1.onmessage=z,k=function(){L.postMessage(null)}}else k=function(){g(z,0)};function _(e){N=e,S||(S=!0,k())}function O(t,n){C=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,_(w))},e.unstable_forceFrameRate=function(e){0>e||125<e||(j=0<e?Math.floor(1e3/e):5)},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(o)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,a,l){var s=e.unstable_now();switch("object"==typeof l&&null!==l?l="number"==typeof(l=l.delay)&&0<l?s+l:s:l=s,r){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return r={id:c++,callback:a,priorityLevel:r,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>s?(r.sortIndex=l,t(u,r),null===n(o)&&r===n(u)&&(h?(v(C),C=-1):h=!0,O(x,l-s))):(r.sortIndex=i,t(o,r),m||p||(m=!0,_(w))),r},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}}(Ot),_t.exports=Ot;var Tt=_t.exports,Mt=D,Rt=Tt;\n/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */function It(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 Ft=new Set,Dt={};function Ut(e,t){Bt(e,t),Bt(e+"Capture",t)}function Bt(e,t){for(Dt[e]=t,e=0;e<t.length;e++)Ft.add(t[e])}var Qt=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),Vt=Object.prototype.hasOwnProperty,Ht=/^[: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]*$/,qt={},Wt={};function Yt(e,t,n,r,a,l,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var Kt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Kt[e]=new Yt(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Kt[t]=new Yt(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Kt[e]=new Yt(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Kt[e]=new Yt(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){Kt[e]=new Yt(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Kt[e]=new Yt(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Kt[e]=new Yt(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Kt[e]=new Yt(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Kt[e]=new Yt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Gt=/[\\-:]([a-z])/g;function Xt(e){return e[1].toUpperCase()}function $t(e,t,n,r){var a=Kt.hasOwnProperty(t)?Kt[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!Vt.call(Wt,e)||!Vt.call(qt,e)&&(Ht.test(e)?Wt[e]=!0:(qt[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Gt,Xt);Kt[t]=new Yt(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(Gt,Xt);Kt[t]=new Yt(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(Gt,Xt);Kt[t]=new Yt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Kt[e]=new Yt(e,1,!1,e.toLowerCase(),null,!1,!1)}),Kt.xlinkHref=new Yt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Kt[e]=new Yt(e,1,!1,e.toLowerCase(),null,!0,!0)});var Zt=Mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Jt=Symbol.for("react.element"),en=Symbol.for("react.portal"),tn=Symbol.for("react.fragment"),nn=Symbol.for("react.strict_mode"),rn=Symbol.for("react.profiler"),an=Symbol.for("react.provider"),ln=Symbol.for("react.context"),sn=Symbol.for("react.forward_ref"),on=Symbol.for("react.suspense"),un=Symbol.for("react.suspense_list"),cn=Symbol.for("react.memo"),dn=Symbol.for("react.lazy"),fn=Symbol.for("react.offscreen"),pn=Symbol.iterator;function mn(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=pn&&e[pn]||e["@@iterator"])?e:null}var hn,gn=Object.assign;function vn(e){if(void 0===hn)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);hn=t&&t[1]||""}return"\\n"+hn+e}var yn=!1;function bn(e,t){if(!e||yn)return"";yn=!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(V){var r=V}Reflect.construct(e,[],t)}else{try{t.call()}catch(V){r=V}e.call(t.prototype)}else{try{throw Error()}catch(V){r=V}e()}}catch(V){if(V&&r&&"string"==typeof V.stack){for(var a=V.stack.split("\\n"),l=r.stack.split("\\n"),s=a.length-1,i=l.length-1;1<=s&&0<=i&&a[s]!==l[i];)i--;for(;1<=s&&0<=i;s--,i--)if(a[s]!==l[i]){if(1!==s||1!==i)do{if(s--,0>--i||a[s]!==l[i]){var o="\\n"+a[s].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}}while(1<=s&&0<=i);break}}}finally{yn=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?vn(e):""}function xn(e){switch(e.tag){case 5:return vn(e.type);case 16:return vn("Lazy");case 13:return vn("Suspense");case 19:return vn("SuspenseList");case 0:case 2:case 15:return e=bn(e.type,!1);case 11:return e=bn(e.type.render,!1);case 1:return e=bn(e.type,!0);default:return""}}function wn(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 tn:return"Fragment";case en:return"Portal";case rn:return"Profiler";case nn:return"StrictMode";case on:return"Suspense";case un:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ln:return(e.displayName||"Context")+".Consumer";case an:return(e._context.displayName||"Context")+".Provider";case sn:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case cn:return null!==(t=e.displayName||null)?t:wn(e.type)||"Memo";case dn:t=e._payload,e=e._init;try{return wn(e(t))}catch(n){}}return null}function kn(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 wn(t);case 8:return t===nn?"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 Sn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Nn(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Cn(e){e._valueTracker||(e._valueTracker=function(e){var t=Nn(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,l.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 jn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Nn(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function En(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function An(e,t){var n=t.checked;return gn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function zn(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Sn(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 Pn(e,t){null!=(t=t.checked)&&$t(e,"checked",t,!1)}function Ln(e,t){Pn(e,t);var n=Sn(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")?On(e,t.type,n):t.hasOwnProperty("defaultValue")&&On(e,t.type,Sn(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function _n(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 On(e,t,n){"number"===t&&En(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Tn=Array.isArray;function Mn(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Sn(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function Rn(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(It(91));return gn({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function In(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(It(92));if(Tn(n)){if(1<n.length)throw Error(It(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Sn(n)}}function Fn(e,t){var n=Sn(t.value),r=Sn(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 Dn(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function Un(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 Bn(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Un(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Qn,Vn,Hn=(Vn=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((Qn=Qn||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Qn.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 Vn(e,t)})}:Vn);function qn(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 Wn={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},Yn=["Webkit","ms","Moz","O"];function Kn(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Wn.hasOwnProperty(e)&&Wn[e]?(""+t).trim():t+"px"}function Gn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=Kn(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(Wn).forEach(function(e){Yn.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Wn[t]=Wn[e]})});var Xn=gn({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 $n(e,t){if(t){if(Xn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(It(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(It(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(It(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(It(62))}}function Zn(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 Jn=null;function er(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tr=null,nr=null,rr=null;function ar(e){if(e=$s(e)){if("function"!=typeof tr)throw Error(It(280));var t=e.stateNode;t&&(t=Js(t),tr(e.stateNode,e.type,t))}}function lr(e){nr?rr?rr.push(e):rr=[e]:nr=e}function sr(){if(nr){var e=nr,t=rr;if(rr=nr=null,ar(e),t)for(e=0;e<t.length;e++)ar(t[e])}}function ir(e,t){return e(t)}function or(){}var ur=!1;function cr(e,t,n){if(ur)return e(t,n);ur=!0;try{return ir(e,t,n)}finally{ur=!1,(null!==nr||null!==rr)&&(or(),sr())}}function dr(e,t){var n=e.stateNode;if(null===n)return null;var r=Js(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(It(231,t,typeof n));return n}var fr=!1;if(Qt)try{var pr={};Object.defineProperty(pr,"passive",{get:function(){fr=!0}}),window.addEventListener("test",pr,pr),window.removeEventListener("test",pr,pr)}catch(Vn){fr=!1}function mr(e,t,n,r,a,l,s,i,o){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(If){this.onError(If)}}var hr=!1,gr=null,vr=!1,yr=null,br={onError:function(e){hr=!0,gr=e}};function xr(e,t,n,r,a,l,s,i,o){hr=!1,gr=null,mr.apply(br,arguments)}function wr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function kr(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 Sr(e){if(wr(e)!==e)throw Error(It(188))}function Nr(e){return e=function(e){var t=e.alternate;if(!t){if(null===(t=wr(e)))throw Error(It(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var l=a.alternate;if(null===l){if(null!==(r=a.return)){n=r;continue}break}if(a.child===l.child){for(l=a.child;l;){if(l===n)return Sr(a),e;if(l===r)return Sr(a),t;l=l.sibling}throw Error(It(188))}if(n.return!==r.return)n=a,r=l;else{for(var s=!1,i=a.child;i;){if(i===n){s=!0,n=a,r=l;break}if(i===r){s=!0,r=a,n=l;break}i=i.sibling}if(!s){for(i=l.child;i;){if(i===n){s=!0,n=l,r=a;break}if(i===r){s=!0,r=l,n=a;break}i=i.sibling}if(!s)throw Error(It(189))}}if(n.alternate!==r)throw Error(It(190))}if(3!==n.tag)throw Error(It(188));return n.stateNode.current===n?e:t}(e),null!==e?Cr(e):null}function Cr(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Cr(e);if(null!==t)return t;e=e.sibling}return null}var jr=Rt.unstable_scheduleCallback,Er=Rt.unstable_cancelCallback,Ar=Rt.unstable_shouldYield,zr=Rt.unstable_requestPaint,Pr=Rt.unstable_now,Lr=Rt.unstable_getCurrentPriorityLevel,_r=Rt.unstable_ImmediatePriority,Or=Rt.unstable_UserBlockingPriority,Tr=Rt.unstable_NormalPriority,Mr=Rt.unstable_LowPriority,Rr=Rt.unstable_IdlePriority,Ir=null,Fr=null;var Dr=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(Ur(e)/Br|0)|0},Ur=Math.log,Br=Math.LN2;var Qr=64,Vr=4194304;function Hr(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 qr(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,l=e.pingedLanes,s=268435455&n;if(0!==s){var i=s&~a;0!==i?r=Hr(i):0!==(l&=s)&&(r=Hr(l))}else 0!==(s=n&~a)?r=Hr(s):0!==l&&(r=Hr(l));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(l=t&-t)||16===a&&4194240&l))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Dr(t)),r|=e[n],t&=~a;return r}function Wr(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 Yr(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Kr(){var e=Qr;return!(4194240&(Qr<<=1))&&(Qr=64),e}function Gr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Xr(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-Dr(t)]=n}function $r(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Dr(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var Zr=0;function Jr(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var ea,ta,na,ra,aa,la=!1,sa=[],ia=null,oa=null,ua=null,ca=new Map,da=new Map,fa=[],pa="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 ma(e,t){switch(e){case"focusin":case"focusout":ia=null;break;case"dragenter":case"dragleave":oa=null;break;case"mouseover":case"mouseout":ua=null;break;case"pointerover":case"pointerout":ca.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":da.delete(t.pointerId)}}function ha(e,t,n,r,a,l){return null===e||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[a]},null!==t&&(null!==(t=$s(t))&&ta(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function ga(e){var t=Xs(e.target);if(null!==t){var n=wr(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=kr(n)))return e.blockedOn=t,void aa(e.priority,function(){na(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 va(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Aa(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=$s(n))&&ta(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Jn=r,n.target.dispatchEvent(r),Jn=null,t.shift()}return!0}function ya(e,t,n){va(e)&&n.delete(t)}function ba(){la=!1,null!==ia&&va(ia)&&(ia=null),null!==oa&&va(oa)&&(oa=null),null!==ua&&va(ua)&&(ua=null),ca.forEach(ya),da.forEach(ya)}function xa(e,t){e.blockedOn===t&&(e.blockedOn=null,la||(la=!0,Rt.unstable_scheduleCallback(Rt.unstable_NormalPriority,ba)))}function wa(e){function t(t){return xa(t,e)}if(0<sa.length){xa(sa[0],e);for(var n=1;n<sa.length;n++){var r=sa[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ia&&xa(ia,e),null!==oa&&xa(oa,e),null!==ua&&xa(ua,e),ca.forEach(t),da.forEach(t),n=0;n<fa.length;n++)(r=fa[n]).blockedOn===e&&(r.blockedOn=null);for(;0<fa.length&&null===(n=fa[0]).blockedOn;)ga(n),null===n.blockedOn&&fa.shift()}var ka=Zt.ReactCurrentBatchConfig,Sa=!0;function Na(e,t,n,r){var a=Zr,l=ka.transition;ka.transition=null;try{Zr=1,ja(e,t,n,r)}finally{Zr=a,ka.transition=l}}function Ca(e,t,n,r){var a=Zr,l=ka.transition;ka.transition=null;try{Zr=4,ja(e,t,n,r)}finally{Zr=a,ka.transition=l}}function ja(e,t,n,r){if(Sa){var a=Aa(e,t,n,r);if(null===a)ks(e,t,r,Ea,n),ma(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return ia=ha(ia,e,t,n,r,a),!0;case"dragenter":return oa=ha(oa,e,t,n,r,a),!0;case"mouseover":return ua=ha(ua,e,t,n,r,a),!0;case"pointerover":var l=a.pointerId;return ca.set(l,ha(ca.get(l)||null,e,t,n,r,a)),!0;case"gotpointercapture":return l=a.pointerId,da.set(l,ha(da.get(l)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(ma(e,r),4&t&&-1<pa.indexOf(e)){for(;null!==a;){var l=$s(a);if(null!==l&&ea(l),null===(l=Aa(e,t,n,r))&&ks(e,t,r,Ea,n),l===a)break;a=l}null!==a&&r.stopPropagation()}else ks(e,t,r,null,n)}}var Ea=null;function Aa(e,t,n,r){if(Ea=null,null!==(e=Xs(e=er(r))))if(null===(t=wr(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=kr(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 Ea=e,null}function za(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(Lr()){case _r:return 1;case Or:return 4;case Tr:case Mr:return 16;case Rr:return 536870912;default:return 16}default:return 16}}var Pa=null,La=null,_a=null;function Oa(){if(_a)return _a;var e,t,n=La,r=n.length,a="value"in Pa?Pa.value:Pa.textContent,l=a.length;for(e=0;e<r&&n[e]===a[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===a[l-t];t++);return _a=a.slice(e,1<t?1-t:void 0)}function Ta(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 Ma(){return!0}function Ra(){return!1}function Ia(e){function t(t,n,r,a,l){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=l,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(a):a[s]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?Ma:Ra,this.isPropagationStopped=Ra,this}return gn(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=Ma)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Ma)},persist:function(){},isPersistent:Ma}),t}var Fa,Da,Ua,Ba={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Qa=Ia(Ba),Va=gn({},Ba,{view:0,detail:0}),Ha=Ia(Va),qa=gn({},Va,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:rl,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!==Ua&&(Ua&&"mousemove"===e.type?(Fa=e.screenX-Ua.screenX,Da=e.screenY-Ua.screenY):Da=Fa=0,Ua=e),Fa)},movementY:function(e){return"movementY"in e?e.movementY:Da}}),Wa=Ia(qa),Ya=Ia(gn({},qa,{dataTransfer:0})),Ka=Ia(gn({},Va,{relatedTarget:0})),Ga=Ia(gn({},Ba,{animationName:0,elapsedTime:0,pseudoElement:0})),Xa=gn({},Ba,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),$a=Ia(Xa),Za=Ia(gn({},Ba,{data:0})),Ja={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},el={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"},tl={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nl(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=tl[e])&&!!t[e]}function rl(){return nl}var al=gn({},Va,{key:function(e){if(e.key){var t=Ja[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Ta(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?el[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:rl,charCode:function(e){return"keypress"===e.type?Ta(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Ta(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ll=Ia(al),sl=Ia(gn({},qa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),il=Ia(gn({},Va,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:rl})),ol=Ia(gn({},Ba,{propertyName:0,elapsedTime:0,pseudoElement:0})),ul=gn({},qa,{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}),cl=Ia(ul),dl=[9,13,27,32],fl=Qt&&"CompositionEvent"in window,pl=null;Qt&&"documentMode"in document&&(pl=document.documentMode);var ml=Qt&&"TextEvent"in window&&!pl,hl=Qt&&(!fl||pl&&8<pl&&11>=pl),gl=String.fromCharCode(32),vl=!1;function yl(e,t){switch(e){case"keyup":return-1!==dl.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function bl(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var xl=!1;var wl={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 kl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!wl[e.type]:"textarea"===t}function Sl(e,t,n,r){lr(r),0<(t=Ns(t,"onChange")).length&&(n=new Qa("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Nl=null,Cl=null;function jl(e){gs(e,0)}function El(e){if(jn(Zs(e)))return e}function Al(e,t){if("change"===e)return t}var zl=!1;if(Qt){var Pl;if(Qt){var Ll="oninput"in document;if(!Ll){var _l=document.createElement("div");_l.setAttribute("oninput","return;"),Ll="function"==typeof _l.oninput}Pl=Ll}else Pl=!1;zl=Pl&&(!document.documentMode||9<document.documentMode)}function Ol(){Nl&&(Nl.detachEvent("onpropertychange",Tl),Cl=Nl=null)}function Tl(e){if("value"===e.propertyName&&El(Cl)){var t=[];Sl(t,Cl,e,er(e)),cr(jl,t)}}function Ml(e,t,n){"focusin"===e?(Ol(),Cl=n,(Nl=t).attachEvent("onpropertychange",Tl)):"focusout"===e&&Ol()}function Rl(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return El(Cl)}function Il(e,t){if("click"===e)return El(t)}function Fl(e,t){if("input"===e||"change"===e)return El(t)}var Dl="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Ul(e,t){if(Dl(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!Vt.call(t,a)||!Dl(e[a],t[a]))return!1}return!0}function Bl(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ql(e,t){var n,r=Bl(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=Bl(r)}}function Vl(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Vl(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Hl(){for(var e=window,t=En();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=En((e=t.contentWindow).document)}return t}function ql(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 Wl(e){var t=Hl(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Vl(n.ownerDocument.documentElement,n)){if(null!==r&&ql(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,l=Math.min(r.start,a);r=void 0===r.end?l:Math.min(r.end,a),!e.extend&&l>r&&(a=r,r=l,l=a),a=Ql(n,l);var s=Ql(n,r);a&&s&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.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 Yl=Qt&&"documentMode"in document&&11>=document.documentMode,Kl=null,Gl=null,Xl=null,$l=!1;function Zl(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;$l||null==Kl||Kl!==En(r)||("selectionStart"in(r=Kl)&&ql(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},Xl&&Ul(Xl,r)||(Xl=r,0<(r=Ns(Gl,"onSelect")).length&&(t=new Qa("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Kl)))}function Jl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var es={animationend:Jl("Animation","AnimationEnd"),animationiteration:Jl("Animation","AnimationIteration"),animationstart:Jl("Animation","AnimationStart"),transitionend:Jl("Transition","TransitionEnd")},ts={},ns={};function rs(e){if(ts[e])return ts[e];if(!es[e])return e;var t,n=es[e];for(t in n)if(n.hasOwnProperty(t)&&t in ns)return ts[e]=n[t];return e}Qt&&(ns=document.createElement("div").style,"AnimationEvent"in window||(delete es.animationend.animation,delete es.animationiteration.animation,delete es.animationstart.animation),"TransitionEvent"in window||delete es.transitionend.transition);var as=rs("animationend"),ls=rs("animationiteration"),ss=rs("animationstart"),is=rs("transitionend"),os=new Map,us="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 cs(e,t){os.set(e,t),Ut(t,[e])}for(var ds=0;ds<us.length;ds++){var fs=us[ds];cs(fs.toLowerCase(),"on"+(fs[0].toUpperCase()+fs.slice(1)))}cs(as,"onAnimationEnd"),cs(ls,"onAnimationIteration"),cs(ss,"onAnimationStart"),cs("dblclick","onDoubleClick"),cs("focusin","onFocus"),cs("focusout","onBlur"),cs(is,"onTransitionEnd"),Bt("onMouseEnter",["mouseout","mouseover"]),Bt("onMouseLeave",["mouseout","mouseover"]),Bt("onPointerEnter",["pointerout","pointerover"]),Bt("onPointerLeave",["pointerout","pointerover"]),Ut("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ut("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ut("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ut("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ut("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ut("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ps="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(" "),ms=new Set("cancel close invalid load scroll toggle".split(" ").concat(ps));function hs(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,l,s,i,o){if(xr.apply(this,arguments),hr){if(!hr)throw Error(It(198));var u=gr;hr=!1,gr=null,vr||(vr=!0,yr=u)}}(r,t,void 0,e),e.currentTarget=null}function gs(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var s=r.length-1;0<=s;s--){var i=r[s],o=i.instance,u=i.currentTarget;if(i=i.listener,o!==l&&a.isPropagationStopped())break e;hs(a,i,u),l=o}else for(s=0;s<r.length;s++){if(o=(i=r[s]).instance,u=i.currentTarget,i=i.listener,o!==l&&a.isPropagationStopped())break e;hs(a,i,u),l=o}}}if(vr)throw e=yr,vr=!1,yr=null,e}function vs(e,t){var n=t[Ys];void 0===n&&(n=t[Ys]=new Set);var r=e+"__bubble";n.has(r)||(ws(t,e,2,!1),n.add(r))}function ys(e,t,n){var r=0;t&&(r|=4),ws(n,e,r,t)}var bs="_reactListening"+Math.random().toString(36).slice(2);function xs(e){if(!e[bs]){e[bs]=!0,Ft.forEach(function(t){"selectionchange"!==t&&(ms.has(t)||ys(t,!1,e),ys(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[bs]||(t[bs]=!0,ys("selectionchange",!1,t))}}function ws(e,t,n,r){switch(za(t)){case 1:var a=Na;break;case 4:a=Ca;break;default:a=ja}n=a.bind(null,t,n,e),a=void 0,!fr||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function ks(e,t,n,r,a){var l=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var i=r.stateNode.containerInfo;if(i===a||8===i.nodeType&&i.parentNode===a)break;if(4===s)for(s=r.return;null!==s;){var o=s.tag;if((3===o||4===o)&&((o=s.stateNode.containerInfo)===a||8===o.nodeType&&o.parentNode===a))return;s=s.return}for(;null!==i;){if(null===(s=Xs(i)))return;if(5===(o=s.tag)||6===o){r=l=s;continue e}i=i.parentNode}}r=r.return}cr(function(){var r=l,a=er(n),s=[];e:{var i=os.get(e);if(void 0!==i){var o=Qa,u=e;switch(e){case"keypress":if(0===Ta(n))break e;case"keydown":case"keyup":o=ll;break;case"focusin":u="focus",o=Ka;break;case"focusout":u="blur",o=Ka;break;case"beforeblur":case"afterblur":o=Ka;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":o=Wa;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":o=Ya;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":o=il;break;case as:case ls:case ss:o=Ga;break;case is:o=ol;break;case"scroll":o=Ha;break;case"wheel":o=cl;break;case"copy":case"cut":case"paste":o=$a;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":o=sl}var c=!!(4&t),d=!c&&"scroll"===e,f=c?null!==i?i+"Capture":null:i;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=dr(m,f))&&c.push(Ss(m,h,p)))),d)break;m=m.return}0<c.length&&(i=new o(i,u,null,n,a),s.push({event:i,listeners:c}))}}if(!(7&t)){if(o="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||n===Jn||!(u=n.relatedTarget||n.fromElement)||!Xs(u)&&!u[Ws])&&(o||i)&&(i=a.window===a?a:(i=a.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=r,null!==(u=(u=n.relatedTarget||n.toElement)?Xs(u):null)&&(u!==(d=wr(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(o=null,u=r),o!==u)){if(c=Wa,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=sl,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==o?i:Zs(o),p=null==u?i:Zs(u),(i=new c(h,m+"leave",o,n,a)).target=d,i.relatedTarget=p,h=null,Xs(a)===r&&((c=new c(f,m+"enter",u,n,a)).target=p,c.relatedTarget=d,h=c),d=h,o&&u)e:{for(f=u,m=0,p=c=o;p;p=Cs(p))m++;for(p=0,h=f;h;h=Cs(h))p++;for(;0<m-p;)c=Cs(c),m--;for(;0<p-m;)f=Cs(f),p--;for(;m--;){if(c===f||null!==f&&c===f.alternate)break e;c=Cs(c),f=Cs(f)}c=null}else c=null;null!==o&&js(s,i,o,c,!1),null!==u&&null!==d&&js(s,d,u,c,!0)}if("select"===(o=(i=r?Zs(r):window).nodeName&&i.nodeName.toLowerCase())||"input"===o&&"file"===i.type)var g=Al;else if(kl(i))if(zl)g=Fl;else{g=Rl;var v=Ml}else(o=i.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(g=Il);switch(g&&(g=g(e,r))?Sl(s,g,n,a):(v&&v(e,i,r),"focusout"===e&&(v=i._wrapperState)&&v.controlled&&"number"===i.type&&On(i,"number",i.value)),v=r?Zs(r):window,e){case"focusin":(kl(v)||"true"===v.contentEditable)&&(Kl=v,Gl=r,Xl=null);break;case"focusout":Xl=Gl=Kl=null;break;case"mousedown":$l=!0;break;case"contextmenu":case"mouseup":case"dragend":$l=!1,Zl(s,n,a);break;case"selectionchange":if(Yl)break;case"keydown":case"keyup":Zl(s,n,a)}var y;if(fl)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else xl?yl(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(hl&&"ko"!==n.locale&&(xl||"onCompositionStart"!==b?"onCompositionEnd"===b&&xl&&(y=Oa()):(La="value"in(Pa=a)?Pa.value:Pa.textContent,xl=!0)),0<(v=Ns(r,b)).length&&(b=new Za(b,e,null,n,a),s.push({event:b,listeners:v}),y?b.data=y:null!==(y=bl(n))&&(b.data=y))),(y=ml?function(e,t){switch(e){case"compositionend":return bl(t);case"keypress":return 32!==t.which?null:(vl=!0,gl);case"textInput":return(e=t.data)===gl&&vl?null:e;default:return null}}(e,n):function(e,t){if(xl)return"compositionend"===e||!fl&&yl(e,t)?(e=Oa(),_a=La=Pa=null,xl=!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 hl&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Ns(r,"onBeforeInput")).length&&(a=new Za("onBeforeInput","beforeinput",null,n,a),s.push({event:a,listeners:r}),a.data=y))}gs(s,t)})}function Ss(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ns(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,l=a.stateNode;5===a.tag&&null!==l&&(a=l,null!=(l=dr(e,n))&&r.unshift(Ss(e,l,a)),null!=(l=dr(e,t))&&r.push(Ss(e,l,a))),e=e.return}return r}function Cs(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function js(e,t,n,r,a){for(var l=t._reactName,s=[];null!==n&&n!==r;){var i=n,o=i.alternate,u=i.stateNode;if(null!==o&&o===r)break;5===i.tag&&null!==u&&(i=u,a?null!=(o=dr(n,l))&&s.unshift(Ss(n,o,i)):a||null!=(o=dr(n,l))&&s.push(Ss(n,o,i))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Es=/\\r\\n?/g,As=/\\u0000|\\uFFFD/g;function zs(e){return("string"==typeof e?e:""+e).replace(Es,"\\n").replace(As,"")}function Ps(e,t,n){if(t=zs(t),zs(e)!==t&&n)throw Error(It(425))}function Ls(){}var _s=null,Os=null;function Ts(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 Ms="function"==typeof setTimeout?setTimeout:void 0,Rs="function"==typeof clearTimeout?clearTimeout:void 0,Is="function"==typeof Promise?Promise:void 0,Fs="function"==typeof queueMicrotask?queueMicrotask:void 0!==Is?function(e){return Is.resolve(null).then(e).catch(Ds)}:Ms;function Ds(e){setTimeout(function(){throw e})}function Us(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void wa(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);wa(t)}function Bs(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 Qs(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 Vs=Math.random().toString(36).slice(2),Hs="__reactFiber$"+Vs,qs="__reactProps$"+Vs,Ws="__reactContainer$"+Vs,Ys="__reactEvents$"+Vs,Ks="__reactListeners$"+Vs,Gs="__reactHandles$"+Vs;function Xs(e){var t=e[Hs];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ws]||n[Hs]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Qs(e);null!==e;){if(n=e[Hs])return n;e=Qs(e)}return t}n=(e=n).parentNode}return null}function $s(e){return!(e=e[Hs]||e[Ws])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Zs(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(It(33))}function Js(e){return e[qs]||null}var ei=[],ti=-1;function ni(e){return{current:e}}function ri(e){0>ti||(e.current=ei[ti],ei[ti]=null,ti--)}function ai(e,t){ti++,ei[ti]=e.current,e.current=t}var li={},si=ni(li),ii=ni(!1),oi=li;function ui(e,t){var n=e.type.contextTypes;if(!n)return li;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,l={};for(a in n)l[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ci(e){return null!=(e=e.childContextTypes)}function di(){ri(ii),ri(si)}function fi(e,t,n){if(si.current!==li)throw Error(It(168));ai(si,t),ai(ii,n)}function pi(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(It(108,kn(e)||"Unknown",a));return gn({},n,r)}function mi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||li,oi=si.current,ai(si,e),ai(ii,ii.current),!0}function hi(e,t,n){var r=e.stateNode;if(!r)throw Error(It(169));n?(e=pi(e,t,oi),r.__reactInternalMemoizedMergedChildContext=e,ri(ii),ri(si),ai(si,e)):ri(ii),ai(ii,n)}var gi=null,vi=!1,yi=!1;function bi(e){null===gi?gi=[e]:gi.push(e)}function xi(){if(!yi&&null!==gi){yi=!0;var e=0,t=Zr;try{var n=gi;for(Zr=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}gi=null,vi=!1}catch(a){throw null!==gi&&(gi=gi.slice(e+1)),jr(_r,xi),a}finally{Zr=t,yi=!1}}return null}var wi=[],ki=0,Si=null,Ni=0,Ci=[],ji=0,Ei=null,Ai=1,zi="";function Pi(e,t){wi[ki++]=Ni,wi[ki++]=Si,Si=e,Ni=t}function Li(e,t,n){Ci[ji++]=Ai,Ci[ji++]=zi,Ci[ji++]=Ei,Ei=e;var r=Ai;e=zi;var a=32-Dr(r)-1;r&=~(1<<a),n+=1;var l=32-Dr(t)+a;if(30<l){var s=a-a%5;l=(r&(1<<s)-1).toString(32),r>>=s,a-=s,Ai=1<<32-Dr(t)+a|n<<a|r,zi=l+e}else Ai=1<<l|n<<a|r,zi=e}function _i(e){null!==e.return&&(Pi(e,1),Li(e,1,0))}function Oi(e){for(;e===Si;)Si=wi[--ki],wi[ki]=null,Ni=wi[--ki],wi[ki]=null;for(;e===Ei;)Ei=Ci[--ji],Ci[ji]=null,zi=Ci[--ji],Ci[ji]=null,Ai=Ci[--ji],Ci[ji]=null}var Ti=null,Mi=null,Ri=!1,Ii=null;function Fi(e,t){var n=uf(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 Di(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,Ti=e,Mi=Bs(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,Ti=e,Mi=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ei?{id:Ai,overflow:zi}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=uf(18,null,null,0)).stateNode=t,n.return=e,e.child=n,Ti=e,Mi=null,!0);default:return!1}}function Ui(e){return!(!(1&e.mode)||128&e.flags)}function Bi(e){if(Ri){var t=Mi;if(t){var n=t;if(!Di(e,t)){if(Ui(e))throw Error(It(418));t=Bs(n.nextSibling);var r=Ti;t&&Di(e,t)?Fi(r,n):(e.flags=-4097&e.flags|2,Ri=!1,Ti=e)}}else{if(Ui(e))throw Error(It(418));e.flags=-4097&e.flags|2,Ri=!1,Ti=e}}}function Qi(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ti=e}function Vi(e){if(e!==Ti)return!1;if(!Ri)return Qi(e),Ri=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!Ts(e.type,e.memoizedProps)),t&&(t=Mi)){if(Ui(e))throw Hi(),Error(It(418));for(;t;)Fi(e,t),t=Bs(t.nextSibling)}if(Qi(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(It(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Mi=Bs(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Mi=null}}else Mi=Ti?Bs(e.stateNode.nextSibling):null;return!0}function Hi(){for(var e=Mi;e;)e=Bs(e.nextSibling)}function qi(){Mi=Ti=null,Ri=!1}function Wi(e){null===Ii?Ii=[e]:Ii.push(e)}var Yi=Zt.ReactCurrentBatchConfig;function Ki(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(It(309));var r=n.stateNode}if(!r)throw Error(It(147,e));var a=r,l=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===l?t.ref:(t=function(e){var t=a.refs;null===e?delete t[l]:t[l]=e},t._stringRef=l,t)}if("string"!=typeof e)throw Error(It(284));if(!n._owner)throw Error(It(290,e))}return e}function Gi(e,t){throw e=Object.prototype.toString.call(t),Error(It(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Xi(e){return(0,e._init)(e._payload)}function $i(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=df(e,t)).index=0,e.sibling=null,e}function l(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 i(e,t,n,r){return null===t||6!==t.tag?((t=hf(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function o(e,t,n,r){var l=n.type;return l===tn?c(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===dn&&Xi(l)===t.type)?((r=a(t,n.props)).ref=Ki(e,t,n),r.return=e,r):((r=ff(n.type,n.key,n.props,null,e.mode,r)).ref=Ki(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=gf(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function c(e,t,n,r,l){return null===t||7!==t.tag?((t=pf(n,e.mode,r,l)).return=e,t):((t=a(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=hf(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case Jt:return(n=ff(t.type,t.key,t.props,null,e.mode,n)).ref=Ki(e,null,t),n.return=e,n;case en:return(t=gf(t,e.mode,n)).return=e,t;case dn:return d(e,(0,t._init)(t._payload),n)}if(Tn(t)||mn(t))return(t=pf(t,e.mode,n,null)).return=e,t;Gi(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:i(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case Jt:return n.key===a?o(e,t,n,r):null;case en:return n.key===a?u(e,t,n,r):null;case dn:return f(e,t,(a=n._init)(n._payload),r)}if(Tn(n)||mn(n))return null!==a?null:c(e,t,n,r,null);Gi(e,n)}return null}function p(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return i(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case Jt:return o(t,e=e.get(null===r.key?n:r.key)||null,r,a);case en:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case dn:return p(e,t,n,(0,r._init)(r._payload),a)}if(Tn(r)||mn(r))return c(t,e=e.get(n)||null,r,a,null);Gi(t,r)}return null}function m(a,s,i,o){for(var u=null,c=null,m=s,h=s=0,g=null;null!==m&&h<i.length;h++){m.index>h?(g=m,m=null):g=m.sibling;var v=f(a,m,i[h],o);if(null===v){null===m&&(m=g);break}e&&m&&null===v.alternate&&t(a,m),s=l(v,s,h),null===c?u=v:c.sibling=v,c=v,m=g}if(h===i.length)return n(a,m),Ri&&Pi(a,h),u;if(null===m){for(;h<i.length;h++)null!==(m=d(a,i[h],o))&&(s=l(m,s,h),null===c?u=m:c.sibling=m,c=m);return Ri&&Pi(a,h),u}for(m=r(a,m);h<i.length;h++)null!==(g=p(m,a,h,i[h],o))&&(e&&null!==g.alternate&&m.delete(null===g.key?h:g.key),s=l(g,s,h),null===c?u=g:c.sibling=g,c=g);return e&&m.forEach(function(e){return t(a,e)}),Ri&&Pi(a,h),u}function h(a,s,i,o){var u=mn(i);if("function"!=typeof u)throw Error(It(150));if(null==(i=u.call(i)))throw Error(It(151));for(var c=u=null,m=s,h=s=0,g=null,v=i.next();null!==m&&!v.done;h++,v=i.next()){m.index>h?(g=m,m=null):g=m.sibling;var y=f(a,m,v.value,o);if(null===y){null===m&&(m=g);break}e&&m&&null===y.alternate&&t(a,m),s=l(y,s,h),null===c?u=y:c.sibling=y,c=y,m=g}if(v.done)return n(a,m),Ri&&Pi(a,h),u;if(null===m){for(;!v.done;h++,v=i.next())null!==(v=d(a,v.value,o))&&(s=l(v,s,h),null===c?u=v:c.sibling=v,c=v);return Ri&&Pi(a,h),u}for(m=r(a,m);!v.done;h++,v=i.next())null!==(v=p(m,a,h,v.value,o))&&(e&&null!==v.alternate&&m.delete(null===v.key?h:v.key),s=l(v,s,h),null===c?u=v:c.sibling=v,c=v);return e&&m.forEach(function(e){return t(a,e)}),Ri&&Pi(a,h),u}return function e(r,l,i,o){if("object"==typeof i&&null!==i&&i.type===tn&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case Jt:e:{for(var u=i.key,c=l;null!==c;){if(c.key===u){if((u=i.type)===tn){if(7===c.tag){n(r,c.sibling),(l=a(c,i.props.children)).return=r,r=l;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===dn&&Xi(u)===c.type){n(r,c.sibling),(l=a(c,i.props)).ref=Ki(r,c,i),l.return=r,r=l;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===tn?((l=pf(i.props.children,r.mode,o,i.key)).return=r,r=l):((o=ff(i.type,i.key,i.props,null,r.mode,o)).ref=Ki(r,l,i),o.return=r,r=o)}return s(r);case en:e:{for(c=i.key;null!==l;){if(l.key===c){if(4===l.tag&&l.stateNode.containerInfo===i.containerInfo&&l.stateNode.implementation===i.implementation){n(r,l.sibling),(l=a(l,i.children||[])).return=r,r=l;break e}n(r,l);break}t(r,l),l=l.sibling}(l=gf(i,r.mode,o)).return=r,r=l}return s(r);case dn:return e(r,l,(c=i._init)(i._payload),o)}if(Tn(i))return m(r,l,i,o);if(mn(i))return h(r,l,i,o);Gi(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==l&&6===l.tag?(n(r,l.sibling),(l=a(l,i)).return=r,r=l):(n(r,l),(l=hf(i,r.mode,o)).return=r,r=l),s(r)):n(r,l)}}var Zi=$i(!0),Ji=$i(!1),eo=ni(null),to=null,no=null,ro=null;function ao(){ro=no=to=null}function lo(e){var t=eo.current;ri(eo),e._currentValue=t}function so(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 io(e,t){to=e,ro=no=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Xu=!0),e.firstContext=null)}function oo(e){var t=e._currentValue;if(ro!==e)if(e={context:e,memoizedValue:t,next:null},null===no){if(null===to)throw Error(It(308));no=e,to.dependencies={lanes:0,firstContext:e}}else no=no.next=e;return t}var uo=null;function co(e){null===uo?uo=[e]:uo.push(e)}function fo(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,co(t)):(n.next=a.next,a.next=n),t.interleaved=n,po(e,r)}function po(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 mo=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function go(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 vo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&ld){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,po(e,n)}return null===(a=r.interleaved)?(t.next=t,co(r)):(t.next=a.next,a.next=t),r.interleaved=t,po(e,n)}function bo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,$r(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,l=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===l?a=l=s:l=l.next=s,n=n.next}while(null!==n);null===l?a=l=t:l=l.next=t}else a=l=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:l,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function wo(e,t,n,r){var a=e.updateQueue;mo=!1;var l=a.firstBaseUpdate,s=a.lastBaseUpdate,i=a.shared.pending;if(null!==i){a.shared.pending=null;var o=i,u=o.next;o.next=null,null===s?l=u:s.next=u,s=o;var c=e.alternate;null!==c&&((i=(c=c.updateQueue).lastBaseUpdate)!==s&&(null===i?c.firstBaseUpdate=u:i.next=u,c.lastBaseUpdate=o))}if(null!==l){var d=a.baseState;for(s=0,c=u=o=null,i=l;;){var f=i.lane,p=i.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(f=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=h.payload)?m.call(p,d,f):m))break e;d=gn({},d,f);break e;case 2:mo=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(f=a.effects)?a.effects=[i]:f.push(i))}else p={eventTime:p,lane:f,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(u=c=p,o=d):c=c.next=p,s|=f;if(null===(i=i.next)){if(null===(i=a.shared.pending))break;i=(f=i).next,f.next=null,a.lastBaseUpdate=f,a.shared.pending=null}}if(null===c&&(o=d),a.baseState=o,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{s|=a.lane,a=a.next}while(a!==t)}else null===l&&(a.shared.lanes=0);pd|=s,e.lanes=s,e.memoizedState=d}}function ko(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(It(191,a));a.call(r)}}}var So={},No=ni(So),Co=ni(So),jo=ni(So);function Eo(e){if(e===So)throw Error(It(174));return e}function Ao(e,t){switch(ai(jo,t),ai(Co,e),ai(No,So),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Bn(null,"");break;default:t=Bn(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ri(No),ai(No,t)}function zo(){ri(No),ri(Co),ri(jo)}function Po(e){Eo(jo.current);var t=Eo(No.current),n=Bn(t,e.type);t!==n&&(ai(Co,e),ai(No,n))}function Lo(e){Co.current===e&&(ri(No),ri(Co))}var _o=ni(0);function Oo(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(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 To=[];function Mo(){for(var e=0;e<To.length;e++)To[e]._workInProgressVersionPrimary=null;To.length=0}var Ro=Zt.ReactCurrentDispatcher,Io=Zt.ReactCurrentBatchConfig,Fo=0,Do=null,Uo=null,Bo=null,Qo=!1,Vo=!1,Ho=0,qo=0;function Wo(){throw Error(It(321))}function Yo(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Dl(e[n],t[n]))return!1;return!0}function Ko(e,t,n,r,a,l){if(Fo=l,Do=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ro.current=null===e||null===e.memoizedState?Lu:_u,e=n(r,a),Vo){l=0;do{if(Vo=!1,Ho=0,25<=l)throw Error(It(301));l+=1,Bo=Uo=null,t.updateQueue=null,Ro.current=Ou,e=n(r,a)}while(Vo)}if(Ro.current=Pu,t=null!==Uo&&null!==Uo.next,Fo=0,Bo=Uo=Do=null,Qo=!1,t)throw Error(It(300));return e}function Go(){var e=0!==Ho;return Ho=0,e}function Xo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Bo?Do.memoizedState=Bo=e:Bo=Bo.next=e,Bo}function $o(){if(null===Uo){var e=Do.alternate;e=null!==e?e.memoizedState:null}else e=Uo.next;var t=null===Bo?Do.memoizedState:Bo.next;if(null!==t)Bo=t,Uo=e;else{if(null===e)throw Error(It(310));e={memoizedState:(Uo=e).memoizedState,baseState:Uo.baseState,baseQueue:Uo.baseQueue,queue:Uo.queue,next:null},null===Bo?Do.memoizedState=Bo=e:Bo=Bo.next=e}return Bo}function Zo(e,t){return"function"==typeof t?t(e):t}function Jo(e){var t=$o(),n=t.queue;if(null===n)throw Error(It(311));n.lastRenderedReducer=e;var r=Uo,a=r.baseQueue,l=n.pending;if(null!==l){if(null!==a){var s=a.next;a.next=l.next,l.next=s}r.baseQueue=a=l,n.pending=null}if(null!==a){l=a.next,r=r.baseState;var i=s=null,o=null,u=l;do{var c=u.lane;if((Fo&c)===c)null!==o&&(o=o.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 d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===o?(i=o=d,s=r):o=o.next=d,Do.lanes|=c,pd|=c}u=u.next}while(null!==u&&u!==l);null===o?s=r:o.next=i,Dl(r,t.memoizedState)||(Xu=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=o,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{l=a.lane,Do.lanes|=l,pd|=l,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function eu(e){var t=$o(),n=t.queue;if(null===n)throw Error(It(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,l=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{l=e(l,s.action),s=s.next}while(s!==a);Dl(l,t.memoizedState)||(Xu=!0),t.memoizedState=l,null===t.baseQueue&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function tu(){}function nu(e,t){var n=Do,r=$o(),a=t(),l=!Dl(r.memoizedState,a);if(l&&(r.memoizedState=a,Xu=!0),r=r.queue,mu(lu.bind(null,n,r,e),[e]),r.getSnapshot!==t||l||null!==Bo&&1&Bo.memoizedState.tag){if(n.flags|=2048,uu(9,au.bind(null,n,r,a,t),void 0,null),null===sd)throw Error(It(349));30&Fo||ru(n,t,a)}return a}function ru(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=Do.updateQueue)?(t={lastEffect:null,stores:null},Do.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function au(e,t,n,r){t.value=n,t.getSnapshot=r,su(t)&&iu(e)}function lu(e,t,n){return n(function(){su(t)&&iu(e)})}function su(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Dl(e,n)}catch(r){return!0}}function iu(e){var t=po(e,1);null!==t&&Od(t,e,1,-1)}function ou(e){var t=Xo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Zo,lastRenderedState:e},t.queue=e,e=e.dispatch=ju.bind(null,Do,e),[t.memoizedState,e]}function uu(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Do.updateQueue)?(t={lastEffect:null,stores:null},Do.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 cu(){return $o().memoizedState}function du(e,t,n,r){var a=Xo();Do.flags|=e,a.memoizedState=uu(1|t,n,void 0,void 0===r?null:r)}function fu(e,t,n,r){var a=$o();r=void 0===r?null:r;var l=void 0;if(null!==Uo){var s=Uo.memoizedState;if(l=s.destroy,null!==r&&Yo(r,s.deps))return void(a.memoizedState=uu(t,n,l,r))}Do.flags|=e,a.memoizedState=uu(1|t,n,l,r)}function pu(e,t){return du(8390656,8,e,t)}function mu(e,t){return fu(2048,8,e,t)}function hu(e,t){return fu(4,2,e,t)}function gu(e,t){return fu(4,4,e,t)}function vu(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function yu(e,t,n){return n=null!=n?n.concat([e]):null,fu(4,4,vu.bind(null,t,e),n)}function bu(){}function xu(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Yo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function wu(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Yo(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ku(e,t,n){return 21&Fo?(Dl(n,t)||(n=Kr(),Do.lanes|=n,pd|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Xu=!0),e.memoizedState=n)}function Su(e,t){var n=Zr;Zr=0!==n&&4>n?n:4,e(!0);var r=Io.transition;Io.transition={};try{e(!1),t()}finally{Zr=n,Io.transition=r}}function Nu(){return $o().memoizedState}function Cu(e,t,n){var r=_d(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Eu(e))Au(t,n);else if(null!==(n=fo(e,t,n,r))){Od(n,e,r,Ld()),zu(n,t,r)}}function ju(e,t,n){var r=_d(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Eu(e))Au(t,a);else{var l=e.alternate;if(0===e.lanes&&(null===l||0===l.lanes)&&null!==(l=t.lastRenderedReducer))try{var s=t.lastRenderedState,i=l(s,n);if(a.hasEagerState=!0,a.eagerState=i,Dl(i,s)){var o=t.interleaved;return null===o?(a.next=a,co(t)):(a.next=o.next,o.next=a),void(t.interleaved=a)}}catch(V){}null!==(n=fo(e,t,a,r))&&(Od(n,e,r,a=Ld()),zu(n,t,r))}}function Eu(e){var t=e.alternate;return e===Do||null!==t&&t===Do}function Au(e,t){Vo=Qo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zu(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,$r(e,n)}}var Pu={readContext:oo,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},Lu={readContext:oo,useCallback:function(e,t){return Xo().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:pu,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,du(4194308,4,vu.bind(null,t,e),n)},useLayoutEffect:function(e,t){return du(4194308,4,e,t)},useInsertionEffect:function(e,t){return du(4,2,e,t)},useMemo:function(e,t){var n=Xo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Xo();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=Cu.bind(null,Do,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Xo().memoizedState=e},useState:ou,useDebugValue:bu,useDeferredValue:function(e){return Xo().memoizedState=e},useTransition:function(){var e=ou(!1),t=e[0];return e=Su.bind(null,e[1]),Xo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Do,a=Xo();if(Ri){if(void 0===n)throw Error(It(407));n=n()}else{if(n=t(),null===sd)throw Error(It(349));30&Fo||ru(r,t,n)}a.memoizedState=n;var l={value:n,getSnapshot:t};return a.queue=l,pu(lu.bind(null,r,l,e),[e]),r.flags|=2048,uu(9,au.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Xo(),t=sd.identifierPrefix;if(Ri){var n=zi;t=":"+t+"R"+(n=(Ai&~(1<<32-Dr(Ai)-1)).toString(32)+n),0<(n=Ho++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=qo++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},_u={readContext:oo,useCallback:xu,useContext:oo,useEffect:mu,useImperativeHandle:yu,useInsertionEffect:hu,useLayoutEffect:gu,useMemo:wu,useReducer:Jo,useRef:cu,useState:function(){return Jo(Zo)},useDebugValue:bu,useDeferredValue:function(e){return ku($o(),Uo.memoizedState,e)},useTransition:function(){return[Jo(Zo)[0],$o().memoizedState]},useMutableSource:tu,useSyncExternalStore:nu,useId:Nu,unstable_isNewReconciler:!1},Ou={readContext:oo,useCallback:xu,useContext:oo,useEffect:mu,useImperativeHandle:yu,useInsertionEffect:hu,useLayoutEffect:gu,useMemo:wu,useReducer:eu,useRef:cu,useState:function(){return eu(Zo)},useDebugValue:bu,useDeferredValue:function(e){var t=$o();return null===Uo?t.memoizedState=e:ku(t,Uo.memoizedState,e)},useTransition:function(){return[eu(Zo)[0],$o().memoizedState]},useMutableSource:tu,useSyncExternalStore:nu,useId:Nu,unstable_isNewReconciler:!1};function Tu(e,t){if(e&&e.defaultProps){for(var n in t=gn({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function Mu(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:gn({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Ru={isMounted:function(e){return!!(e=e._reactInternals)&&wr(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ld(),a=_d(e),l=vo(r,a);l.payload=t,null!=n&&(l.callback=n),null!==(t=yo(e,l,a))&&(Od(t,e,a,r),bo(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ld(),a=_d(e),l=vo(r,a);l.tag=1,l.payload=t,null!=n&&(l.callback=n),null!==(t=yo(e,l,a))&&(Od(t,e,a,r),bo(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ld(),r=_d(e),a=vo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=yo(e,a,r))&&(Od(t,e,r,n),bo(t,e,r))}};function Iu(e,t,n,r,a,l,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,l,s):!t.prototype||!t.prototype.isPureReactComponent||(!Ul(n,r)||!Ul(a,l))}function Fu(e,t,n){var r=!1,a=li,l=t.contextType;return"object"==typeof l&&null!==l?l=oo(l):(a=ci(t)?oi:si.current,l=(r=null!=(r=t.contextTypes))?ui(e,a):li),t=new t(n,l),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Ru,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=l),t}function Du(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&&Ru.enqueueReplaceState(t,t.state,null)}function Uu(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},ho(e);var l=t.contextType;"object"==typeof l&&null!==l?a.context=oo(l):(l=ci(t)?oi:si.current,a.context=ui(e,l)),a.state=e.memoizedState,"function"==typeof(l=t.getDerivedStateFromProps)&&(Mu(e,t,l,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Ru.enqueueReplaceState(a,a.state,null),wo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Bu(e,t){try{var n="",r=t;do{n+=xn(r),r=r.return}while(r);var a=n}catch(B){a="\\nError generating stack: "+B.message+"\\n"+B.stack}return{value:e,source:t,stack:a,digest:null}}function Qu(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}var Vu="function"==typeof WeakMap?WeakMap:Map;function Hu(e,t,n){(n=vo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){wd||(wd=!0,kd=r)},n}function qu(e,t,n){(n=vo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){}}var l=e.stateNode;return null!==l&&"function"==typeof l.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Sd?Sd=new Set([this]):Sd.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function Wu(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Vu;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=nf.bind(null,e,t,n),t.then(e,e))}function Yu(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 Ku(e,t,n,r,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=vo(-1,1)).tag=2,yo(n,t,1))),n.lanes|=1),e)}var Gu=Zt.ReactCurrentOwner,Xu=!1;function $u(e,t,n,r){t.child=null===e?Ji(t,null,n,r):Zi(t,e.child,n,r)}function Zu(e,t,n,r,a){n=n.render;var l=t.ref;return io(t,a),r=Ko(e,t,n,r,l,a),n=Go(),null===e||Xu?(Ri&&n&&_i(t),t.flags|=1,$u(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,wc(e,t,a))}function Ju(e,t,n,r,a){if(null===e){var l=n.type;return"function"!=typeof l||cf(l)||void 0!==l.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=ff(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=l,ec(e,t,l,r,a))}if(l=e.child,0===(e.lanes&a)){var s=l.memoizedProps;if((n=null!==(n=n.compare)?n:Ul)(s,r)&&e.ref===t.ref)return wc(e,t,a)}return t.flags|=1,(e=df(l,r)).ref=t.ref,e.return=t,t.child=e}function ec(e,t,n,r,a){if(null!==e){var l=e.memoizedProps;if(Ul(l,r)&&e.ref===t.ref){if(Xu=!1,t.pendingProps=r=l,0===(e.lanes&a))return t.lanes=e.lanes,wc(e,t,a);131072&e.flags&&(Xu=!0)}}return rc(e,t,n,r,a)}function tc(e,t,n){var r=t.pendingProps,a=r.children,l=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==l?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ai(cd,ud),ud|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==l?l.baseLanes:n,ai(cd,ud),ud|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ai(cd,ud),ud|=n;else null!==l?(r=l.baseLanes|n,t.memoizedState=null):r=n,ai(cd,ud),ud|=r;return $u(e,t,a,n),t.child}function nc(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function rc(e,t,n,r,a){var l=ci(n)?oi:si.current;return l=ui(t,l),io(t,a),n=Ko(e,t,n,r,l,a),r=Go(),null===e||Xu?(Ri&&r&&_i(t),t.flags|=1,$u(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,wc(e,t,a))}function ac(e,t,n,r,a){if(ci(n)){var l=!0;mi(t)}else l=!1;if(io(t,a),null===t.stateNode)xc(e,t),Fu(t,n,r),Uu(t,n,r,a),r=!0;else if(null===e){var s=t.stateNode,i=t.memoizedProps;s.props=i;var o=s.context,u=n.contextType;"object"==typeof u&&null!==u?u=oo(u):u=ui(t,u=ci(n)?oi:si.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==r||o!==u)&&Du(t,s,r,u),mo=!1;var f=t.memoizedState;s.state=f,wo(t,r,s,a),o=t.memoizedState,i!==r||f!==o||ii.current||mo?("function"==typeof c&&(Mu(t,n,c,r),o=t.memoizedState),(i=mo||Iu(t,n,i,r,f,o,u))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=o),s.props=r,s.state=o,s.context=u,r=i):("function"==typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,go(e,t),i=t.memoizedProps,u=t.type===t.elementType?i:Tu(t.type,i),s.props=u,d=t.pendingProps,f=s.context,"object"==typeof(o=n.contextType)&&null!==o?o=oo(o):o=ui(t,o=ci(n)?oi:si.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==d||f!==o)&&Du(t,s,r,o),mo=!1,f=t.memoizedState,s.state=f,wo(t,r,s,a);var m=t.memoizedState;i!==d||f!==m||ii.current||mo?("function"==typeof p&&(Mu(t,n,p,r),m=t.memoizedState),(u=mo||Iu(t,n,u,r,f,m,o)||!1)?(c||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(r,m,o),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,m,o)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),s.props=r,s.state=m,s.context=o,r=u):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return lc(e,t,n,r,l,a)}function lc(e,t,n,r,a,l){nc(e,t);var s=!!(128&t.flags);if(!r&&!s)return a&&hi(t,n,!1),wc(e,t,l);r=t.stateNode,Gu.current=t;var i=s&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=Zi(t,e.child,null,l),t.child=Zi(t,null,i,l)):$u(e,t,i,l),t.memoizedState=r.state,a&&hi(t,n,!0),t.child}function sc(e){var t=e.stateNode;t.pendingContext?fi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&fi(0,t.context,!1),Ao(e,t.containerInfo)}function ic(e,t,n,r,a){return qi(),Wi(a),t.flags|=256,$u(e,t,n,r),t.child}var oc,uc,cc,dc,fc={dehydrated:null,treeContext:null,retryLane:0};function pc(e){return{baseLanes:e,cachePool:null,transitions:null}}function mc(e,t,n){var r,a=t.pendingProps,l=_o.current,s=!1,i=!!(128&t.flags);if((r=i)||(r=(null===e||null!==e.memoizedState)&&!!(2&l)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(l|=1),ai(_o,1&l),null===e)return Bi(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=a.children,e=a.fallback,s?(a=t.mode,s=t.child,i={mode:"hidden",children:i},1&a||null===s?s=mf(i,a,0,null):(s.childLanes=0,s.pendingProps=i),e=pf(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=pc(n),t.memoizedState=fc,e):hc(t,i));if(null!==(l=e.memoizedState)&&null!==(r=l.dehydrated))return function(e,t,n,r,a,l,s){if(n)return 256&t.flags?(t.flags&=-257,gc(e,t,s,r=Qu(Error(It(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(l=r.fallback,a=t.mode,r=mf({mode:"visible",children:r.children},a,0,null),(l=pf(l,a,s,null)).flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,1&t.mode&&Zi(t,e.child,null,s),t.child.memoizedState=pc(s),t.memoizedState=fc,l);if(!(1&t.mode))return gc(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var i=r.dgst;return r=i,gc(e,t,s,r=Qu(l=Error(It(419)),r,void 0))}if(i=0!==(s&e.childLanes),Xu||i){if(null!==(r=sd)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(r.suspendedLanes|s))?0:a)&&a!==l.retryLane&&(l.retryLane=a,po(e,a),Od(r,e,a,-1))}return Wd(),gc(e,t,s,r=Qu(Error(It(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=af.bind(null,e),a._reactRetry=t,null):(e=l.treeContext,Mi=Bs(a.nextSibling),Ti=t,Ri=!0,Ii=null,null!==e&&(Ci[ji++]=Ai,Ci[ji++]=zi,Ci[ji++]=Ei,Ai=e.id,zi=e.overflow,Ei=t),t=hc(t,r.children),t.flags|=4096,t)}(e,t,i,a,r,l,n);if(s){s=a.fallback,i=t.mode,r=(l=e.child).sibling;var o={mode:"hidden",children:a.children};return 1&i||t.child===l?(a=df(l,o)).subtreeFlags=14680064&l.subtreeFlags:((a=t.child).childLanes=0,a.pendingProps=o,t.deletions=null),null!==r?s=df(r,s):(s=pf(s,i,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,i=null===(i=e.child.memoizedState)?pc(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},s.memoizedState=i,s.childLanes=e.childLanes&~n,t.memoizedState=fc,a}return e=(s=e.child).sibling,a=df(s,{mode:"visible",children:a.children}),!(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function hc(e,t){return(t=mf({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function gc(e,t,n,r){return null!==r&&Wi(r),Zi(t,e.child,null,n),(e=hc(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function vc(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),so(e.return,t,n)}function yc(e,t,n,r,a){var l=e.memoizedState;null===l?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=a)}function bc(e,t,n){var r=t.pendingProps,a=r.revealOrder,l=r.tail;if($u(e,t,r.children,n),2&(r=_o.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&vc(e,n,t);else if(19===e.tag)vc(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(ai(_o,r),1&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Oo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),yc(t,!1,a,n,l);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Oo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}yc(t,!0,n,null,l);break;case"together":yc(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function xc(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function wc(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),pd|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(It(153));if(null!==t.child){for(n=df(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=df(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function kc(e,t){if(!Ri)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 Sc(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Nc(e,t,n){var r=t.pendingProps;switch(Oi(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Sc(t),null;case 1:case 17:return ci(t.type)&&di(),Sc(t),null;case 3:return r=t.stateNode,zo(),ri(ii),ri(si),Mo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Vi(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==Ii&&(Id(Ii),Ii=null))),uc(e,t),Sc(t),null;case 5:Lo(t);var a=Eo(jo.current);if(n=t.type,null!==e&&null!=t.stateNode)cc(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(It(166));return Sc(t),null}if(e=Eo(No.current),Vi(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Hs]=t,r[qs]=l,e=!!(1&t.mode),n){case"dialog":vs("cancel",r),vs("close",r);break;case"iframe":case"object":case"embed":vs("load",r);break;case"video":case"audio":for(a=0;a<ps.length;a++)vs(ps[a],r);break;case"source":vs("error",r);break;case"img":case"image":case"link":vs("error",r),vs("load",r);break;case"details":vs("toggle",r);break;case"input":zn(r,l),vs("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},vs("invalid",r);break;case"textarea":In(r,l),vs("invalid",r)}for(var s in $n(n,l),a=null,l)if(l.hasOwnProperty(s)){var i=l[s];"children"===s?"string"==typeof i?r.textContent!==i&&(!0!==l.suppressHydrationWarning&&Ps(r.textContent,i,e),a=["children",i]):"number"==typeof i&&r.textContent!==""+i&&(!0!==l.suppressHydrationWarning&&Ps(r.textContent,i,e),a=["children",""+i]):Dt.hasOwnProperty(s)&&null!=i&&"onScroll"===s&&vs("scroll",r)}switch(n){case"input":Cn(r),_n(r,l,!0);break;case"textarea":Cn(r),Dn(r);break;case"select":case"option":break;default:"function"==typeof l.onClick&&(r.onclick=Ls)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=Un(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Hs]=t,e[qs]=r,oc(e,t,!1,!1),t.stateNode=e;e:{switch(s=Zn(n,r),n){case"dialog":vs("cancel",e),vs("close",e),a=r;break;case"iframe":case"object":case"embed":vs("load",e),a=r;break;case"video":case"audio":for(a=0;a<ps.length;a++)vs(ps[a],e);a=r;break;case"source":vs("error",e),a=r;break;case"img":case"image":case"link":vs("error",e),vs("load",e),a=r;break;case"details":vs("toggle",e),a=r;break;case"input":zn(e,r),a=An(e,r),vs("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=gn({},r,{value:void 0}),vs("invalid",e);break;case"textarea":In(e,r),a=Rn(e,r),vs("invalid",e)}for(l in $n(n,a),i=a)if(i.hasOwnProperty(l)){var o=i[l];"style"===l?Gn(e,o):"dangerouslySetInnerHTML"===l?null!=(o=o?o.__html:void 0)&&Hn(e,o):"children"===l?"string"==typeof o?("textarea"!==n||""!==o)&&qn(e,o):"number"==typeof o&&qn(e,""+o):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(Dt.hasOwnProperty(l)?null!=o&&"onScroll"===l&&vs("scroll",e):null!=o&&$t(e,l,o,s))}switch(n){case"input":Cn(e),_n(e,r,!1);break;case"textarea":Cn(e),Dn(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Sn(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?Mn(e,!!r.multiple,l,!1):null!=r.defaultValue&&Mn(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Ls)}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 Sc(t),null;case 6:if(e&&null!=t.stateNode)dc(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(It(166));if(n=Eo(jo.current),Eo(No.current),Vi(t)){if(r=t.stateNode,n=t.memoizedProps,r[Hs]=t,(l=r.nodeValue!==n)&&null!==(e=Ti))switch(e.tag){case 3:Ps(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Ps(r.nodeValue,n,!!(1&e.mode))}l&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Hs]=t,t.stateNode=r}return Sc(t),null;case 13:if(ri(_o),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(Ri&&null!==Mi&&1&t.mode&&!(128&t.flags))Hi(),qi(),t.flags|=98560,l=!1;else if(l=Vi(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(It(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(It(317));l[Hs]=t}else qi(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Sc(t),l=!1}else null!==Ii&&(Id(Ii),Ii=null),l=!0;if(!l)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&_o.current?0===dd&&(dd=3):Wd())),null!==t.updateQueue&&(t.flags|=4),Sc(t),null);case 4:return zo(),uc(e,t),null===e&&xs(t.stateNode.containerInfo),Sc(t),null;case 10:return lo(t.type._context),Sc(t),null;case 19:if(ri(_o),null===(l=t.memoizedState))return Sc(t),null;if(r=!!(128&t.flags),null===(s=l.rendering))if(r)kc(l,!1);else{if(0!==dd||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(s=Oo(e))){for(t.flags|=128,kc(l,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=14680066,null===(s=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=s.childLanes,l.lanes=s.lanes,l.child=s.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=s.memoizedProps,l.memoizedState=s.memoizedState,l.updateQueue=s.updateQueue,l.type=s.type,e=s.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ai(_o,1&_o.current|2),t.child}e=e.sibling}null!==l.tail&&Pr()>bd&&(t.flags|=128,r=!0,kc(l,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Oo(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),kc(l,!0),null===l.tail&&"hidden"===l.tailMode&&!s.alternate&&!Ri)return Sc(t),null}else 2*Pr()-l.renderingStartTime>bd&&1073741824!==n&&(t.flags|=128,r=!0,kc(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=l.last)?n.sibling=s:t.child=s,l.last=s)}return null!==l.tail?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Pr(),t.sibling=null,n=_o.current,ai(_o,r?1&n|2:1&n),t):(Sc(t),null);case 22:case 23:return Qd(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&ud)&&(Sc(t),6&t.subtreeFlags&&(t.flags|=8192)):Sc(t),null;case 24:case 25:return null}throw Error(It(156,t.tag))}function Cc(e,t){switch(Oi(t),t.tag){case 1:return ci(t.type)&&di(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return zo(),ri(ii),ri(si),Mo(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Lo(t),null;case 13:if(ri(_o),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(It(340));qi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ri(_o),null;case 4:return zo(),null;case 10:return lo(t.type._context),null;case 22:case 23:return Qd(),null;default:return null}}oc=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}},uc=function(){},cc=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Eo(No.current);var l,s=null;switch(n){case"input":a=An(e,a),r=An(e,r),s=[];break;case"select":a=gn({},a,{value:void 0}),r=gn({},r,{value:void 0}),s=[];break;case"textarea":a=Rn(e,a),r=Rn(e,r),s=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Ls)}for(u in $n(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var i=a[u];for(l in i)i.hasOwnProperty(l)&&(n||(n={}),n[l]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(Dt.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var o=r[u];if(i=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&o!==i&&(null!=o||null!=i))if("style"===u)if(i){for(l in i)!i.hasOwnProperty(l)||o&&o.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in o)o.hasOwnProperty(l)&&i[l]!==o[l]&&(n||(n={}),n[l]=o[l])}else n||(s||(s=[]),s.push(u,n)),n=o;else"dangerouslySetInnerHTML"===u?(o=o?o.__html:void 0,i=i?i.__html:void 0,null!=o&&i!==o&&(s=s||[]).push(u,o)):"children"===u?"string"!=typeof o&&"number"!=typeof o||(s=s||[]).push(u,""+o):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(Dt.hasOwnProperty(u)?(null!=o&&"onScroll"===u&&vs("scroll",e),s||i===o||(s=[])):(s=s||[]).push(u,o))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},dc=function(e,t,n,r){n!==r&&(t.flags|=4)};var jc=!1,Ec=!1,Ac="function"==typeof WeakSet?WeakSet:Set,zc=null;function Pc(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){tf(e,t,r)}else n.current=null}function Lc(e,t,n){try{n()}catch(r){tf(e,t,r)}}var _c=!1;function Oc(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var l=a.destroy;a.destroy=void 0,void 0!==l&&Lc(t,n,l)}a=a.next}while(a!==r)}}function Tc(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 Mc(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 Rc(e){var t=e.alternate;null!==t&&(e.alternate=null,Rc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Hs],delete t[qs],delete t[Ys],delete t[Ks],delete t[Gs])),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 Ic(e){return 5===e.tag||3===e.tag||4===e.tag}function Fc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Ic(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 Dc(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)||null!==t.onclick||(t.onclick=Ls));else if(4!==r&&null!==(e=e.child))for(Dc(e,t,n),e=e.sibling;null!==e;)Dc(e,t,n),e=e.sibling}function Uc(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(Uc(e,t,n),e=e.sibling;null!==e;)Uc(e,t,n),e=e.sibling}var Bc=null,Qc=!1;function Vc(e,t,n){for(n=n.child;null!==n;)Hc(e,t,n),n=n.sibling}function Hc(e,t,n){if(Fr&&"function"==typeof Fr.onCommitFiberUnmount)try{Fr.onCommitFiberUnmount(Ir,n)}catch(i){}switch(n.tag){case 5:Ec||Pc(n,t);case 6:var r=Bc,a=Qc;Bc=null,Vc(e,t,n),Qc=a,null!==(Bc=r)&&(Qc?(e=Bc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):Bc.removeChild(n.stateNode));break;case 18:null!==Bc&&(Qc?(e=Bc,n=n.stateNode,8===e.nodeType?Us(e.parentNode,n):1===e.nodeType&&Us(e,n),wa(e)):Us(Bc,n.stateNode));break;case 4:r=Bc,a=Qc,Bc=n.stateNode.containerInfo,Qc=!0,Vc(e,t,n),Bc=r,Qc=a;break;case 0:case 11:case 14:case 15:if(!Ec&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var l=a,s=l.destroy;l=l.tag,void 0!==s&&(2&l||4&l)&&Lc(n,t,s),a=a.next}while(a!==r)}Vc(e,t,n);break;case 1:if(!Ec&&(Pc(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){tf(n,t,i)}Vc(e,t,n);break;case 21:Vc(e,t,n);break;case 22:1&n.mode?(Ec=(r=Ec)||null!==n.memoizedState,Vc(e,t,n),Ec=r):Vc(e,t,n);break;default:Vc(e,t,n)}}function qc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ac),t.forEach(function(t){var r=lf.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Wc(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var l=e,s=t,i=s;e:for(;null!==i;){switch(i.tag){case 5:Bc=i.stateNode,Qc=!1;break e;case 3:case 4:Bc=i.stateNode.containerInfo,Qc=!0;break e}i=i.return}if(null===Bc)throw Error(It(160));Hc(l,s,a),Bc=null,Qc=!1;var o=a.alternate;null!==o&&(o.return=null),a.return=null}catch(V){tf(a,t,V)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)Yc(t,e),t=t.sibling}function Yc(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Wc(t,e),Kc(e),4&r){try{Oc(3,e,e.return),Tc(3,e)}catch(c){tf(e,e.return,c)}try{Oc(5,e,e.return)}catch(c){tf(e,e.return,c)}}break;case 1:Wc(t,e),Kc(e),512&r&&null!==n&&Pc(n,n.return);break;case 5:if(Wc(t,e),Kc(e),512&r&&null!==n&&Pc(n,n.return),32&e.flags){var a=e.stateNode;try{qn(a,"")}catch(c){tf(e,e.return,c)}}if(4&r&&null!=(a=e.stateNode)){var l=e.memoizedProps,s=null!==n?n.memoizedProps:l,i=e.type,o=e.updateQueue;if(e.updateQueue=null,null!==o)try{"input"===i&&"radio"===l.type&&null!=l.name&&Pn(a,l),Zn(i,s);var u=Zn(i,l);for(s=0;s<o.length;s+=2){var d=o[s],f=o[s+1];"style"===d?Gn(a,f):"dangerouslySetInnerHTML"===d?Hn(a,f):"children"===d?qn(a,f):$t(a,d,f,u)}switch(i){case"input":Ln(a,l);break;case"textarea":Fn(a,l);break;case"select":var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!l.multiple;var m=l.value;null!=m?Mn(a,!!l.multiple,m,!1):p!==!!l.multiple&&(null!=l.defaultValue?Mn(a,!!l.multiple,l.defaultValue,!0):Mn(a,!!l.multiple,l.multiple?[]:"",!1))}a[qs]=l}catch(c){tf(e,e.return,c)}}break;case 6:if(Wc(t,e),Kc(e),4&r){if(null===e.stateNode)throw Error(It(162));a=e.stateNode,l=e.memoizedProps;try{a.nodeValue=l}catch(c){tf(e,e.return,c)}}break;case 3:if(Wc(t,e),Kc(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{wa(t.containerInfo)}catch(c){tf(e,e.return,c)}break;case 4:default:Wc(t,e),Kc(e);break;case 13:Wc(t,e),Kc(e),8192&(a=e.child).flags&&(l=null!==a.memoizedState,a.stateNode.isHidden=l,!l||null!==a.alternate&&null!==a.alternate.memoizedState||(yd=Pr())),4&r&&qc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ec=(u=Ec)||d,Wc(t,e),Ec=u):Wc(t,e),Kc(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(zc=e,d=e.child;null!==d;){for(f=zc=d;null!==zc;){switch(m=(p=zc).child,p.tag){case 0:case 11:case 14:case 15:Oc(4,p,p.return);break;case 1:Pc(p,p.return);var h=p.stateNode;if("function"==typeof h.componentWillUnmount){r=p,n=p.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(c){tf(r,n,c)}}break;case 5:Pc(p,p.return);break;case 22:if(null!==p.memoizedState){Zc(f);continue}}null!==m?(m.return=p,zc=m):Zc(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{a=f.stateNode,u?"function"==typeof(l=a.style).setProperty?l.setProperty("display","none","important"):l.display="none":(i=f.stateNode,s=null!=(o=f.memoizedProps.style)&&o.hasOwnProperty("display")?o.display:null,i.style.display=Kn("display",s))}catch(c){tf(e,e.return,c)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(c){tf(e,e.return,c)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Wc(t,e),Kc(e),4&r&&qc(e);case 21:}}function Kc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(Ic(n)){var r=n;break e}n=n.return}throw Error(It(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(qn(a,""),r.flags&=-33),Uc(e,Fc(e),a);break;case 3:case 4:var l=r.stateNode.containerInfo;Dc(e,Fc(e),l);break;default:throw Error(It(161))}}catch(Q){tf(e,e.return,Q)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function Gc(e,t,n){zc=e,Xc(e)}function Xc(e,t,n){for(var r=!!(1&e.mode);null!==zc;){var a=zc,l=a.child;if(22===a.tag&&r){var s=null!==a.memoizedState||jc;if(!s){var i=a.alternate,o=null!==i&&null!==i.memoizedState||Ec;i=jc;var u=Ec;if(jc=s,(Ec=o)&&!u)for(zc=a;null!==zc;)o=(s=zc).child,22===s.tag&&null!==s.memoizedState?Jc(a):null!==o?(o.return=s,zc=o):Jc(a);for(;null!==l;)zc=l,Xc(l),l=l.sibling;zc=a,jc=i,Ec=u}$c(e)}else 8772&a.subtreeFlags&&null!==l?(l.return=a,zc=l):$c(e)}}function $c(e){for(;null!==zc;){var t=zc;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ec||Tc(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ec)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Tu(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;null!==l&&ko(t,l,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}ko(t,s,n)}break;case 5:var i=t.stateNode;if(null===n&&4&t.flags){n=i;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&n.focus();break;case"img":o.src&&(n.src=o.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 c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&wa(f)}}}break;default:throw Error(It(163))}Ec||512&t.flags&&Mc(t)}catch(u){tf(t,t.return,u)}}if(t===e){zc=null;break}if(null!==(n=t.sibling)){n.return=t.return,zc=n;break}zc=t.return}}function Zc(e){for(;null!==zc;){var t=zc;if(t===e){zc=null;break}var n=t.sibling;if(null!==n){n.return=t.return,zc=n;break}zc=t.return}}function Jc(e){for(;null!==zc;){var t=zc;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Tc(4,t)}catch(Q){tf(t,n,Q)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(Q){tf(t,a,Q)}}var l=t.return;try{Mc(t)}catch(Q){tf(t,l,Q)}break;case 5:var s=t.return;try{Mc(t)}catch(Q){tf(t,s,Q)}}}catch(Q){tf(t,t.return,Q)}if(t===e){zc=null;break}var i=t.sibling;if(null!==i){i.return=t.return,zc=i;break}zc=t.return}}var ed,td=Math.ceil,nd=Zt.ReactCurrentDispatcher,rd=Zt.ReactCurrentOwner,ad=Zt.ReactCurrentBatchConfig,ld=0,sd=null,id=null,od=0,ud=0,cd=ni(0),dd=0,fd=null,pd=0,md=0,hd=0,gd=null,vd=null,yd=0,bd=1/0,xd=null,wd=!1,kd=null,Sd=null,Nd=!1,Cd=null,jd=0,Ed=0,Ad=null,zd=-1,Pd=0;function Ld(){return 6&ld?Pr():-1!==zd?zd:zd=Pr()}function _d(e){return 1&e.mode?2&ld&&0!==od?od&-od:null!==Yi.transition?(0===Pd&&(Pd=Kr()),Pd):0!==(e=Zr)?e:e=void 0===(e=window.event)?16:za(e.type):1}function Od(e,t,n,r){if(50<Ed)throw Ed=0,Ad=null,Error(It(185));Xr(e,n,r),2&ld&&e===sd||(e===sd&&(!(2&ld)&&(md|=n),4===dd&&Fd(e,od)),Td(e,r),1===n&&0===ld&&!(1&t.mode)&&(bd=Pr()+500,vi&&xi()))}function Td(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var s=31-Dr(l),i=1<<s,o=a[s];-1===o?0!==(i&n)&&0===(i&r)||(a[s]=Wr(i,t)):o<=t&&(e.expiredLanes|=i),l&=~i}}(e,t);var r=qr(e,e===sd?od:0);if(0===r)null!==n&&Er(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Er(n),1===t)0===e.tag?function(e){vi=!0,bi(e)}(Dd.bind(null,e)):bi(Dd.bind(null,e)),Fs(function(){!(6&ld)&&xi()}),n=null;else{switch(Jr(r)){case 1:n=_r;break;case 4:n=Or;break;case 16:default:n=Tr;break;case 536870912:n=Rr}n=sf(n,Md.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Md(e,t){if(zd=-1,Pd=0,6&ld)throw Error(It(327));var n=e.callbackNode;if(Jd()&&e.callbackNode!==n)return null;var r=qr(e,e===sd?od:0);if(0===r)return null;if(30&r||0!==(r&e.expiredLanes)||t)t=Yd(e,r);else{t=r;var a=ld;ld|=2;var l=qd();for(sd===e&&od===t||(xd=null,bd=Pr()+500,Vd(e,t));;)try{Gd();break}catch(i){Hd(e,i)}ao(),nd.current=l,ld=a,null!==id?t=0:(sd=null,od=0,t=dd)}if(0!==t){if(2===t&&(0!==(a=Yr(e))&&(r=a,t=Rd(e,a))),1===t)throw n=fd,Vd(e,0),Fd(e,r),Td(e,Pr()),n;if(6===t)Fd(e,r);else{if(a=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],l=a.getSnapshot;a=a.value;try{if(!Dl(l(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)||(t=Yd(e,r),2===t&&(l=Yr(e),0!==l&&(r=l,t=Rd(e,l))),1!==t)))throw n=fd,Vd(e,0),Fd(e,r),Td(e,Pr()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(It(345));case 2:case 5:Zd(e,vd,xd);break;case 3:if(Fd(e,r),(130023424&r)===r&&10<(t=yd+500-Pr())){if(0!==qr(e,0))break;if(((a=e.suspendedLanes)&r)!==r){Ld(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ms(Zd.bind(null,e,vd,xd),t);break}Zd(e,vd,xd);break;case 4:if(Fd(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-Dr(r);l=1<<s,(s=t[s])>a&&(a=s),r&=~l}if(r=a,10<(r=(120>(r=Pr()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*td(r/1960))-r)){e.timeoutHandle=Ms(Zd.bind(null,e,vd,xd),r);break}Zd(e,vd,xd);break;default:throw Error(It(329))}}}return Td(e,Pr()),e.callbackNode===n?Md.bind(null,e):null}function Rd(e,t){var n=gd;return e.current.memoizedState.isDehydrated&&(Vd(e,t).flags|=256),2!==(e=Yd(e,t))&&(t=vd,vd=n,null!==t&&Id(t)),e}function Id(e){null===vd?vd=e:vd.push.apply(vd,e)}function Fd(e,t){for(t&=~hd,t&=~md,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Dr(t),r=1<<n;e[n]=-1,t&=~r}}function Dd(e){if(6&ld)throw Error(It(327));Jd();var t=qr(e,0);if(!(1&t))return Td(e,Pr()),null;var n=Yd(e,t);if(0!==e.tag&&2===n){var r=Yr(e);0!==r&&(t=r,n=Rd(e,r))}if(1===n)throw n=fd,Vd(e,0),Fd(e,t),Td(e,Pr()),n;if(6===n)throw Error(It(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Zd(e,vd,xd),Td(e,Pr()),null}function Ud(e,t){var n=ld;ld|=1;try{return e(t)}finally{0===(ld=n)&&(bd=Pr()+500,vi&&xi())}}function Bd(e){null!==Cd&&0===Cd.tag&&!(6&ld)&&Jd();var t=ld;ld|=1;var n=ad.transition,r=Zr;try{if(ad.transition=null,Zr=1,e)return e()}finally{Zr=r,ad.transition=n,!(6&(ld=t))&&xi()}}function Qd(){ud=cd.current,ri(cd)}function Vd(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Rs(n)),null!==id)for(n=id.return;null!==n;){var r=n;switch(Oi(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&di();break;case 3:zo(),ri(ii),ri(si),Mo();break;case 5:Lo(r);break;case 4:zo();break;case 13:case 19:ri(_o);break;case 10:lo(r.type._context);break;case 22:case 23:Qd()}n=n.return}if(sd=e,id=e=df(e.current,null),od=ud=t,dd=0,fd=null,hd=md=pd=0,vd=gd=null,null!==uo){for(t=0;t<uo.length;t++)if(null!==(r=(n=uo[t]).interleaved)){n.interleaved=null;var a=r.next,l=n.pending;if(null!==l){var s=l.next;l.next=a,r.next=s}n.pending=r}uo=null}return e}function Hd(e,t){for(;;){var n=id;try{if(ao(),Ro.current=Pu,Qo){for(var r=Do.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}Qo=!1}if(Fo=0,Bo=Uo=Do=null,Vo=!1,Ho=0,rd.current=null,null===n||null===n.return){dd=1,fd=t,id=null;break}e:{var l=e,s=n.return,i=n,o=t;if(t=od,i.flags|=32768,null!==o&&"object"==typeof o&&"function"==typeof o.then){var u=o,c=i,d=c.tag;if(!(1&c.mode||0!==d&&11!==d&&15!==d)){var f=c.alternate;f?(c.updateQueue=f.updateQueue,c.memoizedState=f.memoizedState,c.lanes=f.lanes):(c.updateQueue=null,c.memoizedState=null)}var p=Yu(s);if(null!==p){p.flags&=-257,Ku(p,s,i,0,t),1&p.mode&&Wu(l,u,t),o=u;var m=(t=p).updateQueue;if(null===m){var h=new Set;h.add(o),t.updateQueue=h}else m.add(o);break e}if(!(1&t)){Wu(l,u,t),Wd();break e}o=Error(It(426))}else if(Ri&&1&i.mode){var g=Yu(s);if(null!==g){!(65536&g.flags)&&(g.flags|=256),Ku(g,s,i,0,t),Wi(Bu(o,i));break e}}l=o=Bu(o,i),4!==dd&&(dd=2),null===gd?gd=[l]:gd.push(l),l=s;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t,xo(l,Hu(0,o,t));break e;case 1:i=o;var v=l.type,y=l.stateNode;if(!(128&l.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==Sd&&Sd.has(y)))){l.flags|=65536,t&=-t,l.lanes|=t,xo(l,qu(l,i,t));break e}}l=l.return}while(null!==l)}$d(n)}catch(b){t=b,id===n&&null!==n&&(id=n=n.return);continue}break}}function qd(){var e=nd.current;return nd.current=Pu,null===e?Pu:e}function Wd(){0!==dd&&3!==dd&&2!==dd||(dd=4),null===sd||!(268435455&pd)&&!(268435455&md)||Fd(sd,od)}function Yd(e,t){var n=ld;ld|=2;var r=qd();for(sd===e&&od===t||(xd=null,Vd(e,t));;)try{Kd();break}catch(a){Hd(e,a)}if(ao(),ld=n,nd.current=r,null!==id)throw Error(It(261));return sd=null,od=0,dd}function Kd(){for(;null!==id;)Xd(id)}function Gd(){for(;null!==id&&!Ar();)Xd(id)}function Xd(e){var t=ed(e.alternate,e,ud);e.memoizedProps=e.pendingProps,null===t?$d(e):id=t,rd.current=null}function $d(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Cc(n,t)))return n.flags&=32767,void(id=n);if(null===e)return dd=6,void(id=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Nc(n,t,ud)))return void(id=n);if(null!==(t=t.sibling))return void(id=t);id=t=e}while(null!==t);0===dd&&(dd=5)}function Zd(e,t,n){var r=Zr,a=ad.transition;try{ad.transition=null,Zr=1,function(e,t,n,r){do{Jd()}while(null!==Cd);if(6&ld)throw Error(It(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(It(177));e.callbackNode=null,e.callbackPriority=0;var l=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-Dr(n),l=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~l}}(e,l),e===sd&&(id=sd=null,od=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Nd||(Nd=!0,sf(Tr,function(){return Jd(),null})),l=!!(15990&n.flags),!!(15990&n.subtreeFlags)||l){l=ad.transition,ad.transition=null;var s=Zr;Zr=1;var i=ld;ld|=4,rd.current=null,function(e,t){if(_s=Sa,ql(e=Hl())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(w){n=null;break e}var s=0,i=-1,o=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==n||0!==a&&3!==d.nodeType||(i=s+a),d!==l||0!==r&&3!==d.nodeType||(o=s+r),3===d.nodeType&&(s+=d.nodeValue.length),null!==(p=d.firstChild);)f=d,d=p;for(;;){if(d===e)break t;if(f===n&&++u===a&&(i=s),f===l&&++c===r&&(o=s),null!==(p=d.nextSibling))break;f=(d=f).parentNode}d=p}n=-1===i||-1===o?null:{start:i,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Os={focusedElem:e,selectionRange:n},Sa=!1,zc=t;null!==zc;)if(e=(t=zc).child,1028&t.subtreeFlags&&null!==e)e.return=t,zc=e;else for(;null!==zc;){t=zc;try{var m=t.alternate;if(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 h=m.memoizedProps,g=m.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?h:Tu(t.type,h),g);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(It(163))}}catch(w){tf(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,zc=e;break}zc=t.return}m=_c,_c=!1}(e,n),Yc(n,e),Wl(Os),Sa=!!_s,Os=_s=null,e.current=n,Gc(n),zr(),ld=i,Zr=s,ad.transition=l}else e.current=n;if(Nd&&(Nd=!1,Cd=e,jd=a),l=e.pendingLanes,0===l&&(Sd=null),function(e){if(Fr&&"function"==typeof Fr.onCommitFiberRoot)try{Fr.onCommitFiberRoot(Ir,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),Td(e,Pr()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(wd)throw wd=!1,e=kd,kd=null,e;!!(1&jd)&&0!==e.tag&&Jd(),l=e.pendingLanes,1&l?e===Ad?Ed++:(Ed=0,Ad=e):Ed=0,xi()}(e,t,n,r)}finally{ad.transition=a,Zr=r}return null}function Jd(){if(null!==Cd){var e=Jr(jd),t=ad.transition,n=Zr;try{if(ad.transition=null,Zr=16>e?16:e,null===Cd)var r=!1;else{if(e=Cd,Cd=null,jd=0,6&ld)throw Error(It(331));var a=ld;for(ld|=4,zc=e.current;null!==zc;){var l=zc,s=l.child;if(16&zc.flags){var i=l.deletions;if(null!==i){for(var o=0;o<i.length;o++){var u=i[o];for(zc=u;null!==zc;){var c=zc;switch(c.tag){case 0:case 11:case 15:Oc(8,c,l)}var d=c.child;if(null!==d)d.return=c,zc=d;else for(;null!==zc;){var f=(c=zc).sibling,p=c.return;if(Rc(c),c===u){zc=null;break}if(null!==f){f.return=p,zc=f;break}zc=p}}}var m=l.alternate;if(null!==m){var h=m.child;if(null!==h){m.child=null;do{var g=h.sibling;h.sibling=null,h=g}while(null!==h)}}zc=l}}if(2064&l.subtreeFlags&&null!==s)s.return=l,zc=s;else e:for(;null!==zc;){if(2048&(l=zc).flags)switch(l.tag){case 0:case 11:case 15:Oc(9,l,l.return)}var v=l.sibling;if(null!==v){v.return=l.return,zc=v;break e}zc=l.return}}var y=e.current;for(zc=y;null!==zc;){var b=(s=zc).child;if(2064&s.subtreeFlags&&null!==b)b.return=s,zc=b;else e:for(s=y;null!==zc;){if(2048&(i=zc).flags)try{switch(i.tag){case 0:case 11:case 15:Tc(9,i)}}catch(w){tf(i,i.return,w)}if(i===s){zc=null;break e}var x=i.sibling;if(null!==x){x.return=i.return,zc=x;break e}zc=i.return}}if(ld=a,xi(),Fr&&"function"==typeof Fr.onPostCommitFiberRoot)try{Fr.onPostCommitFiberRoot(Ir,e)}catch(w){}r=!0}return r}finally{Zr=n,ad.transition=t}}return!1}function ef(e,t,n){e=yo(e,t=Hu(0,t=Bu(n,t),1),1),t=Ld(),null!==e&&(Xr(e,1,t),Td(e,t))}function tf(e,t,n){if(3===e.tag)ef(e,e,n);else for(;null!==t;){if(3===t.tag){ef(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Sd||!Sd.has(r))){t=yo(t,e=qu(t,e=Bu(n,e),1),1),e=Ld(),null!==t&&(Xr(t,1,e),Td(t,e));break}}t=t.return}}function nf(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=Ld(),e.pingedLanes|=e.suspendedLanes&n,sd===e&&(od&n)===n&&(4===dd||3===dd&&(130023424&od)===od&&500>Pr()-yd?Vd(e,0):hd|=n),Td(e,t)}function rf(e,t){0===t&&(1&e.mode?(t=Vr,!(130023424&(Vr<<=1))&&(Vr=4194304)):t=1);var n=Ld();null!==(e=po(e,t))&&(Xr(e,t,n),Td(e,n))}function af(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),rf(e,n)}function lf(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(It(314))}null!==r&&r.delete(t),rf(e,n)}function sf(e,t){return jr(e,t)}function of(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 uf(e,t,n,r){return new of(e,t,n,r)}function cf(e){return!(!(e=e.prototype)||!e.isReactComponent)}function df(e,t){var n=e.alternate;return null===n?((n=uf(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 ff(e,t,n,r,a,l){var s=2;if(r=e,"function"==typeof e)cf(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case tn:return pf(n.children,a,l,t);case nn:s=8,a|=8;break;case rn:return(e=uf(12,n,t,2|a)).elementType=rn,e.lanes=l,e;case on:return(e=uf(13,n,t,a)).elementType=on,e.lanes=l,e;case un:return(e=uf(19,n,t,a)).elementType=un,e.lanes=l,e;case fn:return mf(n,a,l,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case an:s=10;break e;case ln:s=9;break e;case sn:s=11;break e;case cn:s=14;break e;case dn:s=16,r=null;break e}throw Error(It(130,null==e?e:typeof e,""))}return(t=uf(s,n,t,a)).elementType=e,t.type=r,t.lanes=l,t}function pf(e,t,n,r){return(e=uf(7,e,r,t)).lanes=n,e}function mf(e,t,n,r){return(e=uf(22,e,r,t)).elementType=fn,e.lanes=n,e.stateNode={isHidden:!1},e}function hf(e,t,n){return(e=uf(6,e,null,t)).lanes=n,e}function gf(e,t,n){return(t=uf(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vf(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gr(0),this.expirationTimes=Gr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gr(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function yf(e,t,n,r,a,l,s,i,o){return e=new vf(e,t,n,i,o),1===t?(t=1,!0===l&&(t|=8)):t=0,l=uf(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ho(l),e}function bf(e){if(!e)return li;e:{if(wr(e=e._reactInternals)!==e||1!==e.tag)throw Error(It(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ci(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(It(171))}if(1===e.tag){var n=e.type;if(ci(n))return pi(e,n,t)}return t}function xf(e,t,n,r,a,l,s,i,o){return(e=yf(n,r,!0,e,0,l,0,i,o)).context=bf(null),n=e.current,(l=vo(r=Ld(),a=_d(n))).callback=null!=t?t:null,yo(n,l,a),e.current.lanes=a,Xr(e,a,r),Td(e,r),e}function wf(e,t,n,r){var a=t.current,l=Ld(),s=_d(a);return n=bf(n),null===t.context?t.context=n:t.pendingContext=n,(t=vo(l,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=yo(a,t,s))&&(Od(e,a,s,l),bo(e,a,s)),s}function kf(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Sf(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Nf(e,t){Sf(e,t),(e=e.alternate)&&Sf(e,t)}ed=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||ii.current)Xu=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return Xu=!1,function(e,t,n){switch(t.tag){case 3:sc(t),qi();break;case 5:Po(t);break;case 1:ci(t.type)&&mi(t);break;case 4:Ao(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;ai(eo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(ai(_o,1&_o.current),t.flags|=128,null):0!==(n&t.child.childLanes)?mc(e,t,n):(ai(_o,1&_o.current),null!==(e=wc(e,t,n))?e.sibling:null);ai(_o,1&_o.current);break;case 19:if(r=0!==(n&t.childLanes),128&e.flags){if(r)return bc(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ai(_o,_o.current),r)break;return null;case 22:case 23:return t.lanes=0,tc(e,t,n)}return wc(e,t,n)}(e,t,n);Xu=!!(131072&e.flags)}else Xu=!1,Ri&&1048576&t.flags&&Li(t,Ni,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xc(e,t),e=t.pendingProps;var a=ui(t,si.current);io(t,n),a=Ko(null,t,r,e,a,n);var l=Go();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ci(r)?(l=!0,mi(t)):l=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,ho(t),a.updater=Ru,t.stateNode=a,a._reactInternals=t,Uu(t,r,e,n),t=lc(null,t,r,!0,l,n)):(t.tag=0,Ri&&l&&_i(t),$u(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xc(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return cf(e)?1:0;if(null!=e){if((e=e.$$typeof)===sn)return 11;if(e===cn)return 14}return 2}(r),e=Tu(r,e),a){case 0:t=rc(null,t,r,e,n);break e;case 1:t=ac(null,t,r,e,n);break e;case 11:t=Zu(null,t,r,e,n);break e;case 14:t=Ju(null,t,r,Tu(r.type,e),n);break e}throw Error(It(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,rc(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 1:return r=t.type,a=t.pendingProps,ac(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 3:e:{if(sc(t),null===e)throw Error(It(387));r=t.pendingProps,a=(l=t.memoizedState).element,go(e,t),wo(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated){if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,256&t.flags){t=ic(e,t,r,n,a=Bu(Error(It(423)),t));break e}if(r!==a){t=ic(e,t,r,n,a=Bu(Error(It(424)),t));break e}for(Mi=Bs(t.stateNode.containerInfo.firstChild),Ti=t,Ri=!0,Ii=null,n=Ji(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(qi(),r===a){t=wc(e,t,n);break e}$u(e,t,r,n)}t=t.child}return t;case 5:return Po(t),null===e&&Bi(t),r=t.type,a=t.pendingProps,l=null!==e?e.memoizedProps:null,s=a.children,Ts(r,a)?s=null:null!==l&&Ts(r,l)&&(t.flags|=32),nc(e,t),$u(e,t,s,n),t.child;case 6:return null===e&&Bi(t),null;case 13:return mc(e,t,n);case 4:return Ao(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Zi(t,null,r,n):$u(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Zu(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 7:return $u(e,t,t.pendingProps,n),t.child;case 8:case 12:return $u(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,l=t.memoizedProps,s=a.value,ai(eo,r._currentValue),r._currentValue=s,null!==l)if(Dl(l.value,s)){if(l.children===a.children&&!ii.current){t=wc(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var i=l.dependencies;if(null!==i){s=l.child;for(var o=i.firstContext;null!==o;){if(o.context===r){if(1===l.tag){(o=vo(-1,n&-n)).tag=2;var u=l.updateQueue;if(null!==u){var c=(u=u.shared).pending;null===c?o.next=o:(o.next=c.next,c.next=o),u.pending=o}}l.lanes|=n,null!==(o=l.alternate)&&(o.lanes|=n),so(l.return,n,t),i.lanes|=n;break}o=o.next}}else if(10===l.tag)s=l.type===t.type?null:l.child;else if(18===l.tag){if(null===(s=l.return))throw Error(It(341));s.lanes|=n,null!==(i=s.alternate)&&(i.lanes|=n),so(s,n,t),s=l.sibling}else s=l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}$u(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,io(t,n),r=r(a=oo(a)),t.flags|=1,$u(e,t,r,n),t.child;case 14:return a=Tu(r=t.type,t.pendingProps),Ju(e,t,r,a=Tu(r.type,a),n);case 15:return ec(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Tu(r,a),xc(e,t),t.tag=1,ci(r)?(e=!0,mi(t)):e=!1,io(t,n),Fu(t,r,a),Uu(t,r,a,n),lc(null,t,r,!0,e,n);case 19:return bc(e,t,n);case 22:return tc(e,t,n)}throw Error(It(156,t.tag))};var Cf="function"==typeof reportError?reportError:function(e){};function jf(e){this._internalRoot=e}function Ef(e){this._internalRoot=e}function Af(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function zf(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Pf(){}function Lf(e,t,n,r,a){var l=n._reactRootContainer;if(l){var s=l;if("function"==typeof a){var i=a;a=function(){var e=kf(s);i.call(e)}}wf(t,s,e,a)}else s=function(e,t,n,r,a){if(a){if("function"==typeof r){var l=r;r=function(){var e=kf(s);l.call(e)}}var s=xf(t,r,e,0,null,!1,0,"",Pf);return e._reactRootContainer=s,e[Ws]=s.current,xs(8===e.nodeType?e.parentNode:e),Bd(),s}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var i=r;r=function(){var e=kf(o);i.call(e)}}var o=yf(e,0,!1,null,0,!1,0,"",Pf);return e._reactRootContainer=o,e[Ws]=o.current,xs(8===e.nodeType?e.parentNode:e),Bd(function(){wf(t,o,n,r)}),o}(n,t,e,a,r);return kf(s)}Ef.prototype.render=jf.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(It(409));wf(e,t,null,null)},Ef.prototype.unmount=jf.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;Bd(function(){wf(null,e,null,null)}),t[Ws]=null}},Ef.prototype.unstable_scheduleHydration=function(e){if(e){var t=ra();e={blockedOn:null,target:e,priority:t};for(var n=0;n<fa.length&&0!==t&&t<fa[n].priority;n++);fa.splice(n,0,e),0===n&&ga(e)}},ea=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Hr(t.pendingLanes);0!==n&&($r(t,1|n),Td(t,Pr()),!(6&ld)&&(bd=Pr()+500,xi()))}break;case 13:Bd(function(){var t=po(e,1);if(null!==t){var n=Ld();Od(t,e,1,n)}}),Nf(e,1)}},ta=function(e){if(13===e.tag){var t=po(e,134217728);if(null!==t)Od(t,e,134217728,Ld());Nf(e,134217728)}},na=function(e){if(13===e.tag){var t=_d(e),n=po(e,t);if(null!==n)Od(n,e,t,Ld());Nf(e,t)}},ra=function(){return Zr},aa=function(e,t){var n=Zr;try{return Zr=e,t()}finally{Zr=n}},tr=function(e,t,n){switch(t){case"input":if(Ln(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=Js(r);if(!a)throw Error(It(90));jn(r),Ln(r,a)}}}break;case"textarea":Fn(e,n);break;case"select":null!=(t=n.value)&&Mn(e,!!n.multiple,t,!1)}},ir=Ud,or=Bd;var _f={usingClientEntryPoint:!1,Events:[$s,Zs,Js,lr,sr,Ud]},Of={findFiberByHostInstance:Xs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Tf={bundleType:Of.bundleType,version:Of.version,rendererPackageName:Of.rendererPackageName,rendererConfig:Of.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Zt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Nr(e))?null:e.stateNode},findFiberByHostInstance:Of.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var Mf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Mf.isDisabled&&Mf.supportsFiber)try{Ir=Mf.inject(Tf),Fr=Mf}catch(Vn){}}Lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_f,Lt.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Af(t))throw Error(It(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:en,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},Lt.createRoot=function(e,t){if(!Af(e))throw Error(It(299));var n=!1,r="",a=Cf;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=yf(e,1,!1,null,0,n,0,r,a),e[Ws]=t.current,xs(8===e.nodeType?e.parentNode:e),new jf(t)},Lt.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(It(188));throw e=Object.keys(e).join(","),Error(It(268,e))}return e=null===(e=Nr(t))?null:e.stateNode},Lt.flushSync=function(e){return Bd(e)},Lt.hydrate=function(e,t,n){if(!zf(t))throw Error(It(200));return Lf(null,e,t,!0,n)},Lt.hydrateRoot=function(e,t,n){if(!Af(e))throw Error(It(405));var r=null!=n&&n.hydratedSources||null,a=!1,l="",s=Cf;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(l=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=xf(t,null,e,1,null!=n?n:null,a,0,l,s),e[Ws]=t.current,xs(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Ef(t)},Lt.render=function(e,t,n){if(!zf(t))throw Error(It(200));return Lf(null,e,t,!1,n)},Lt.unmountComponentAtNode=function(e){if(!zf(e))throw Error(It(40));return!!e._reactRootContainer&&(Bd(function(){Lf(null,null,e,!1,function(){e._reactRootContainer=null,e[Ws]=null})}),!0)},Lt.unstable_batchedUpdates=Ud,Lt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!zf(n))throw Error(It(200));if(null==e||void 0===e._reactInternals)throw Error(It(38));return Lf(e,t,n,!1,r)},Lt.version="18.3.1-next-f1338f8080-20240426",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){}}(),Pt.exports=Lt;var Rf,If=Pt.exports;Rf=If.createRoot,If.hydrateRoot;const Ff=document.getElementById("root");if(!Ff)throw new Error("Root element with id \'root\' not found");Rf(Ff).render(K.jsx(zt,{children:K.jsx(At,{})}));<\/script>\n <style rel="stylesheet" crossorigin>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--card: 0 0% 100%;--card-foreground: 222.2 47.4% 11.2%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 100% 50%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--radius: .5rem}:root[class~=dark]{--background: 224 71% 4%;--foreground: 213 31% 91%;--muted: 223 47% 11%;--muted-foreground: 215.4 16.3% 56.9%;--accent: 216 34% 17%;--accent-foreground: 210 40% 98%;--popover: 224 71% 4%;--popover-foreground: 215 20.2% 65.1%;--border: 216 34% 17%;--input: 216 34% 17%;--card: 224 71% 4%;--card-foreground: 213 31% 91%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 1.2%;--secondary: 222.2 47.4% 11.2%;--secondary-foreground: 210 40% 98%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--ring: 216 34% 17%;--radius: .5rem}*{border-color:hsl(var(--border))}html,body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1;height:100%;overflow:hidden}#root{height:100%}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.min-h-0{min-height:0px}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-300{--tw-bg-opacity: 1;background-color:rgb(134 239 172 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-300{--tw-gradient-from: #86efac var(--tw-gradient-from-position);--tw-gradient-to: rgb(134 239 172 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-300{--tw-gradient-from: #fca5a5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-200{--tw-gradient-to: #e5e7eb var(--tw-gradient-to-position)}.p-1\\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-blue-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}.ring-opacity-5{--tw-ring-opacity: .05}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:border-green-400:hover{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\\:text-amber-900:hover{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\\:text-red-900:hover{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.focus\\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}</style>\n </head>\n <body>\n <div id="root"></div>\n </body>\n</html>\n';
359
- class OnboardingModal {
360
- constructor(config) {
361
- this.overlayElement = null;
362
- this.iframeElement = null;
363
- this.isIframeReady = false;
364
- this.currentSetupState = null;
365
- this.messageHandler = null;
366
- this.modalHtmlPath = config.modalHtmlPath ?? "src/sdk/core/onboarding/modal.html";
367
- this.handlers = config.handlers;
368
- }
369
- /**
370
- * Show the modal with the given state
371
- * State building is handled by SetupModalProcessor
372
- */
373
- show(state) {
374
- if (this.overlayElement) {
375
- return;
376
- }
377
- this.currentSetupState = state;
378
- this.overlayElement = document.createElement("div");
379
- this.overlayElement.setAttribute("data-testid", "div-setup-overlay");
380
- this.overlayElement.style.cssText = `
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("ua-parser-js");function w(t){return t!==null&&typeof t=="object"}function X(t){return w(t)&&"error"in t&&w(t.error)&&"message"in t.error&&typeof t.error.message=="string"&&"type"in t.error&&typeof t.error.type=="string"}function K(t){return w(t)&&"message"in t&&typeof t.message=="string"&&"type"in t&&typeof t.type=="string"}function Z(t){return t instanceof Error&&"error"in t&&!("response"in t)&&K(t.error)}function R(t){return t!==null&&typeof t=="object"&&"error"in t&&!("body"in t)&&K(t.error)}function O(t){return"body"in t&&"status"in t&&typeof t.status=="number"&&t.status>=200&&t.status<300}function J(t){return"body"in t&&"status"in t&&typeof t.status=="number"&&t.status>=400&&X(t.body)}const ee=(t,e,n,r)=>{const a=new Error(t);return a.response={status:e,body:n,headers:r},a},g=(t,e)=>{const n=new Error(t);return n.error={message:t,type:e},n},h={NOT_REACHABLE:{message:"server is not reachable on given url",type:"network_error"},SERVER_NOT_READY:{message:"server is not in ready state, configure to complete setup",type:"extension_error"}},y={status:"not-reachable",error:h.NOT_REACHABLE},k={status:"pending-extension-ready"},E={status:"not-connected"};function C(t){return t.status==="ready"}function L(t,e="unknown",n=h.SERVER_NOT_READY){return{status:t,version:e,error:n}}function b(t){return t.type==="extension"}function N(t){return t.type==="direct"}function te(t){return typeof t.server=="object"&&t.server.status!=="not-connected"&&C(t.server)}function P(t){return"url"in t&&!!t.url}const v={type:"direct",server:E};function ne(t,e="unknown"){return{type:"direct",server:{status:"ready",version:e},url:t}}function re(t){return{type:"direct",server:y,url:t}}function ae(t,e){return{type:"direct",server:e,url:t}}const M={type:"extension",extension:"not-initialized",server:k},D={type:"extension",extension:"not-found",server:k};function ie(t){return t.extension==="ready"&&t.server.status!=="pending-extension-ready"&&C(t.server)}function U(t){return t.extension==="ready"&&"extensionId"in t}function se(){return M}function oe(){return D}function le(t){return b(t)?U(t):P(t)}function ce(t){return t.server}function ue(t){return b(t)&&t.extension==="ready"?t.extensionId:void 0}function de(t){return N(t)&&"url"in t?t.url:void 0}const fe={isLoggedIn:!1,error:{message:"Client not initialized",code:"CLIENT_NOT_INITIALIZED"}};function pe(t){return typeof t=="object"&&t!==null&&"isLoggedIn"in t&&t.isLoggedIn===!1&&"error"in t&&typeof t.error=="object"&&t.error!==null&&"message"in t.error&&typeof t.error.message=="string"&&"code"in t.error&&typeof t.error.code=="string"}function he(t){return typeof t=="object"&&t!==null&&"isLoggedIn"in t&&t.isLoggedIn===!1&&!("error"in t)}function me(t){return typeof t=="object"&&t!==null&&"isLoggedIn"in t&&t.isLoggedIn===!0&&"userInfo"in t&&typeof t.userInfo=="object"&&t.userInfo!==null&&"sub"in t.userInfo&&typeof t.userInfo.sub=="string"&&"accessToken"in t&&typeof t.accessToken=="string"}const _=()=>{};function F(t,e){return{kind:"event",type:t,payload:e}}function j(t,e,n){return{kind:"response",type:e,requestId:t,payload:n}}function B(t,e){return{kind:"error",requestId:t,error:e}}function ge(t,e){const n=e[t.type];if(!n)return null;const r=n(t.payload);return j(t.requestId,t.type,r)}const T={debug:0,info:1,warn:2,error:3,silent:4};class V{constructor(e,n="warn"){this.prefix=e,this.level=n}shouldLog(e){return T[e]>=T[this.level]}ts(){const e=new Date,n=e.getHours().toString().padStart(2,"0"),r=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0"),i=e.getMilliseconds().toString().padStart(3,"0");return`${n}:${r}:${a}.${i}`}debug(...e){this.shouldLog("debug")&&console.log(`[${this.prefix}] ${this.ts()}`,...e)}info(...e){this.shouldLog("info")&&console.log(`[${this.prefix}] ${this.ts()}`,...e)}warn(...e){this.shouldLog("warn")&&console.warn(`[${this.prefix}] ${this.ts()}`,...e)}error(...e){this.shouldLog("error")&&console.error(`[${this.prefix}] ${this.ts()}`,...e)}}function ve(t){return"handleOAuthCallback"in t}function ye(){var a;const e=new z.UAParser().getBrowser(),n=((a=e.name)==null?void 0:a.toLowerCase())||"",r=e.name||"Unknown Browser";if(n.includes("chrome"))return{name:"Google Chrome",type:"chrome"};if(n.includes("edge"))return{name:"Microsoft Edge",type:"edge"};if(n.includes("firefox"))return{name:"Mozilla Firefox",type:"firefox"};if(n.includes("safari"))return{name:"Safari",type:"safari"};{let i=r.replace(/\s+Browser$/i,"").replace(/\s+browser$/i,"").trim();return(!i||i.toLowerCase()==="unknown")&&(i="Unknown Browser"),{name:i,type:"unknown"}}}function be(){var r;const n=((r=new z.UAParser().getOS().name)==null?void 0:r.toLowerCase())||"";return n.includes("mac")?{name:"macOS",type:"macos"}:n.includes("windows")?{name:"Windows",type:"windows"}:n.includes("linux")||n.includes("ubuntu")||n.includes("fedora")||n.includes("debian")?{name:"Linux",type:"linux"}:{name:"Unknown",type:"unknown"}}function Q(t){return{ACCESS_TOKEN:`${t}:access_token`,REFRESH_TOKEN:`${t}:refresh_token`,EXPIRES_AT:`${t}:expires_at`,CODE_VERIFIER:`${t}:code_verifier`,STATE:`${t}:state`,RESOURCE_SCOPE:`${t}:resource_scope`}}const xe={DIRECT:"bodhi:direct",WEB:"bodhi:web",EXT:"bodhi:ext"};class H{constructor(e="bodhijs:"){this.storagePrefix=e,this.STORAGE_KEYS={DIRECT_STATUS:`${e}connection:directStatus`,SERIALIZED_CLIENT_STATE:`${e}client:serializedState`},this.SERVER_INSTALL_KEY=`${e}server:installed`}getDirectStatus(){return this.getStorageValue(this.STORAGE_KEYS.DIRECT_STATUS,null)}setDirectStatus(e){this.setStorageValue(this.STORAGE_KEYS.DIRECT_STATUS,e)}clear(){try{localStorage.removeItem(this.STORAGE_KEYS.DIRECT_STATUS),localStorage.removeItem(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE),localStorage.removeItem(this.SERVER_INSTALL_KEY)}catch(e){console.warn("[BodhiClientUserPrefsManager] Failed to clear preferences:",e)}}isServerInstallConfirmed(){return this.getStorageValue(this.SERVER_INSTALL_KEY,!1)}setServerInstallConfirmed(e){this.setStorageValue(this.SERVER_INSTALL_KEY,e)}getSerializedClientState(){return this.getStorageValue(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE,null)}setSerializedClientState(e){this.setStorageValue(this.STORAGE_KEYS.SERIALIZED_CLIENT_STATE,e)}getStorageValue(e,n){try{const r=localStorage.getItem(e);return r===null?n:JSON.parse(r)}catch(r){return console.warn(`[BodhiClientUserPrefsManager] Failed to read ${e}:`,r),n}}setStorageValue(e,n){try{localStorage.setItem(e,JSON.stringify(n))}catch(r){console.warn(`[BodhiClientUserPrefsManager] Failed to write ${e}:`,r)}}}function we(t){return t.kind==="request"}const Se={MODAL_READY:"modal:ready",MODAL_REFRESH:"modal:refresh",MODAL_CLOSE:"modal:close",MODAL_COMPLETE:"modal:complete",MODAL_LNA_CONNECT:"modal:lna:connect",MODAL_LNA_SKIP:"modal:lna:skip",MODAL_CONFIRM_SERVER_INSTALL:"modal:confirm-server-install",MODAL_SELECT_CONNECTION:"modal:select-connection",PARENT_STATE_UPDATE:"parent:state-update"},ke=`<!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React + TS</title>
8
+ <script type="module" crossorigin>function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();var t={exports:{}},n={},r={exports:{}},a={},l=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.iterator;var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}function w(){}function k(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}x.prototype.isReactComponent={},x.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")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=x.prototype;var S=k.prototype=new w;S.constructor=k,y(S,x.prototype),S.isPureReactComponent=!0;var N=Array.isArray,C=Object.prototype.hasOwnProperty,j={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,n){var r,a={},s=null,i=null;if(null!=t)for(r in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(s=""+t.key),t)C.call(t,r)&&!E.hasOwnProperty(r)&&(a[r]=t[r]);var o=arguments.length-2;if(1===o)a.children=n;else if(1<o){for(var u=Array(o),c=0;c<o;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(r in o=e.defaultProps)void 0===a[r]&&(a[r]=o[r]);return{$$typeof:l,type:e,key:s,ref:i,props:a,_owner:j.current}}function z(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var P=/\\/+/g;function L(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 _(e,t,n,r,a){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case l:case s:o=!0}}if(o)return a=a(o=e),e=""===r?"."+L(o,0):r,N(a)?(n="",null!=e&&(n=e.replace(P,"$&/")+"/"),_(a,t,n,"",function(e){return e})):null!=a&&(z(a)&&(a=function(e,t){return{$$typeof:l,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,n+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(P,"$&/")+"/")+e)),t.push(a)),1;if(o=0,r=""===r?".":r+":",N(e))for(var u=0;u<e.length;u++){var c=r+L(i=e[u],u);o+=_(i,t,n,c,a)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=g&&e[g]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(i=e.next()).done;)o+=_(i=i.value,t,n,c=r+L(i,u++),a);else if("object"===i)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 o}function O(e,t,n){if(null==e)return e;var r=[],a=0;return _(e,r,"","",function(e){return t.call(n,e,a++)}),r}function T(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var M={current:null},R={transition:null},I={ReactCurrentDispatcher:M,ReactCurrentBatchConfig:R,ReactCurrentOwner:j};function F(){throw Error("act(...) is not supported in production builds of React.")}a.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!z(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},a.Component=x,a.Fragment=i,a.Profiler=u,a.PureComponent=k,a.StrictMode=o,a.Suspense=p,a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,a.act=F,a.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=y({},e.props),a=e.key,s=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,i=j.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var o=e.type.defaultProps;for(u in t)C.call(t,u)&&!E.hasOwnProperty(u)&&(r[u]=void 0===t[u]&&void 0!==o?o[u]:t[u])}var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){o=Array(u);for(var c=0;c<u;c++)o[c]=arguments[c+2];r.children=o}return{$$typeof:l,type:e.type,key:a,ref:s,props:r,_owner:i}},a.createContext=function(e){return(e={$$typeof:d,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},a.createElement=A,a.createFactory=function(e){var t=A.bind(null,e);return t.type=e,t},a.createRef=function(){return{current:null}},a.forwardRef=function(e){return{$$typeof:f,render:e}},a.isValidElement=z,a.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:T}},a.memo=function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},a.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},a.unstable_act=F,a.useCallback=function(e,t){return M.current.useCallback(e,t)},a.useContext=function(e){return M.current.useContext(e)},a.useDebugValue=function(){},a.useDeferredValue=function(e){return M.current.useDeferredValue(e)},a.useEffect=function(e,t){return M.current.useEffect(e,t)},a.useId=function(){return M.current.useId()},a.useImperativeHandle=function(e,t,n){return M.current.useImperativeHandle(e,t,n)},a.useInsertionEffect=function(e,t){return M.current.useInsertionEffect(e,t)},a.useLayoutEffect=function(e,t){return M.current.useLayoutEffect(e,t)},a.useMemo=function(e,t){return M.current.useMemo(e,t)},a.useReducer=function(e,t,n){return M.current.useReducer(e,t,n)},a.useRef=function(e){return M.current.useRef(e)},a.useState=function(e){return M.current.useState(e)},a.useSyncExternalStore=function(e,t,n){return M.current.useSyncExternalStore(e,t,n)},a.useTransition=function(){return M.current.useTransition()},a.version="18.3.1",r.exports=a;var D=r.exports;const U=e(D);
9
+ /**
10
+ * @license React
11
+ * react-jsx-runtime.production.min.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var B=D,Q=Symbol.for("react.element"),V=Symbol.for("react.fragment"),H=Object.prototype.hasOwnProperty,q=B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,W={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,t,n){var r,a={},l=null,s=null;for(r in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(s=t.ref),t)H.call(t,r)&&!W.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:Q,type:e,key:l,ref:s,props:a,_owner:q.current}}n.Fragment=V,n.jsx=Y,n.jsxs=Y,t.exports=n;var K=t.exports,G=(e=>(e.PLATFORM_CHECK="platform-check",e.SERVER_SETUP="server-setup",e.LNA_SETUP="lna-setup",e.EXTENSION_SETUP="extension-setup",e.COMPLETE="complete",e))(G||{});const X={extension:{status:"not-installed",error:{message:"Loading...",code:"ext-not-installed"}},server:{status:"pending-extension-ready",error:{message:"Loading...",code:"server-pending-ext-ready"}},lna:{status:"prompt"},lnaServer:{status:"pending-lna-ready"},env:{browser:"unknown",os:"unknown"},browsers:[],os:[],userConfirmations:{serverInstall:!1},selectedConnection:null};function $(e){return"request"===e.kind}function Z(e){return"response"===e.kind}function J(e){return"error"===e.kind}function ee(e){return"event"===e.kind}
18
+ /**
19
+ * @license lucide-react v0.441.0 - ISC
20
+ *
21
+ * This source code is licensed under the ISC license.
22
+ * See the LICENSE file in the root directory of this source tree.
23
+ */
24
+ const te=(...e)=>e.filter((e,t,n)=>Boolean(e)&&n.indexOf(e)===t).join(" ");
25
+ /**
26
+ * @license lucide-react v0.441.0 - ISC
27
+ *
28
+ * This source code is licensed under the ISC license.
29
+ * See the LICENSE file in the root directory of this source tree.
30
+ */
31
+ var ne={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
32
+ /**
33
+ * @license lucide-react v0.441.0 - ISC
34
+ *
35
+ * This source code is licensed under the ISC license.
36
+ * See the LICENSE file in the root directory of this source tree.
37
+ */const re=D.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:l,iconNode:s,...i},o)=>D.createElement("svg",{ref:o,...ne,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:te("lucide",a),...i},[...s.map(([e,t])=>D.createElement(e,t)),...Array.isArray(l)?l:[l]])),ae=(e,t)=>{const n=D.forwardRef(({className:n,...r},a)=>{return D.createElement(re,{ref:a,iconNode:t,className:te(\`lucide-\${l=e,l.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}\`,n),...r});var l});return n.displayName=\`\${e}\`,n},le=ae("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),se=ae("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),ie=ae("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),oe=ae("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),ue=ae("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),ce=ae("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),de=ae("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),fe=ae("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),pe=ae("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),me=ae("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),he=ae("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]),ge=ae("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),ve=ae("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),ye=ae("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),be=ae("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),xe=ae("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),we=ae("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),ke=ae("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]),Se=ae("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Ne=ae("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),Ce=ae("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);
38
+ /**
39
+ * @license lucide-react v0.441.0 - ISC
40
+ *
41
+ * This source code is licensed under the ISC license.
42
+ * See the LICENSE file in the root directory of this source tree.
43
+ */class je{static request(e,t){return{kind:"request",type:e,requestId:crypto.randomUUID(),payload:t}}static response(e,t,n){return{kind:"response",type:e,requestId:t,payload:n}}static error(e,t){return{kind:"error",requestId:e,error:t}}static event(e,t){return{kind:"event",type:e,payload:t}}}let Ee=class{constructor(e,t={}){this.target=e,this.options={timeout:t.timeout??3e4,expectedOrigin:t.expectedOrigin??null,debug:t.debug??!1},this.validatedOrigin=this.options.expectedOrigin,this.messageListener=this.handleIncomingMessage.bind(this),window.addEventListener("message",this.messageListener),this.options.debug}pendingRequests=new Map;eventHandlers=new Map;requestHandlers=new Map;validatedOrigin=null;options;messageListener=null;async request(e,t){const n=je.request(e,t);return new Promise((t,r)=>{const a=window.setTimeout(()=>{this.pendingRequests.delete(n.requestId),r(new Error(\`Request timeout after \${this.options.timeout}ms: \${e}\`))},this.options.timeout);this.pendingRequests.set(n.requestId,{resolve:t,reject:r,timeoutId:a,type:e});const l=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,l)})}emit(e,t){const n=je.event(e,t),r=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,r)}on(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),this.options.debug,()=>{const n=this.eventHandlers.get(e);n&&(n.delete(t),0===n.size&&this.eventHandlers.delete(e))}}handle(e,t){this.requestHandlers.set(e,t),this.options.debug}validateOrigin(e){return null!==this.validatedOrigin?e.origin===this.validatedOrigin||(this.options.debug,!1):(this.validatedOrigin=e.origin,this.options.debug,!0)}handleIncomingMessage(e){if(!this.validateOrigin(e))return;const t=e.data;if(!t||"object"!=typeof t||!("kind"in t))return;const n=t;this.options.debug,Z(n)?this.handleResponse(n):J(n)?this.handleError(n):ee(n)?this.handleEvent(n):$(n)&&this.handleRequest(n)}handleResponse(e){if(!Z(e))return;const t=this.pendingRequests.get(e.requestId);t?(window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId),t.resolve(e.payload)):this.options.debug}handleError(e){if(!J(e))return;const t=this.pendingRequests.get(e.requestId);if(!t)return void this.options.debug;window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId);const n=new Error(e.error.message);n.code=e.error.code,n.details=e.error.details,t.reject(n)}handleEvent(e){if(!ee(e))return;const t=this.eventHandlers.get(e.type);t&&0!==t.size?t.forEach(t=>{try{const n=t(e.payload);n&&"function"==typeof n.then&&n.catch(e=>{})}catch(n){}}):this.options.debug}async handleRequest(e){if(!$(e))return;const t=this.requestHandlers.get(e.type);if(!t){const t=je.error(e.requestId,{code:"NO_HANDLER",message:\`No handler registered for message type: \${e.type}\`}),n=this.validatedOrigin||"*";return void this.target.postMessage(t,n)}try{const n=await t(e.payload),r=je.response(e.type,e.requestId,n),a=this.validatedOrigin||"*";this.target.postMessage(r,a)}catch(n){const t=je.error(e.requestId,{code:"HANDLER_ERROR",message:n instanceof Error?n.message:"Unknown error",details:n}),r=this.validatedOrigin||"*";this.target.postMessage(t,r)}}getValidatedOrigin(){return this.validatedOrigin}dispose(){this.messageListener&&(window.removeEventListener("message",this.messageListener),this.messageListener=null),this.pendingRequests.forEach(e=>{window.clearTimeout(e.timeoutId),e.reject(new Error("MessageChannel disposed"))}),this.pendingRequests.clear(),this.eventHandlers.clear(),this.requestHandlers.clear(),this.options.debug}};const Ae=e=>{let t;const n=new Set,r=(e,r)=>{const a="function"==typeof e?e(t):e;if(!Object.is(a,t)){const e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},a=()=>t,l={setState:r,getState:a,getInitialState:()=>s,subscribe:e=>(n.add(e),()=>n.delete(e))},s=t=e(r,a,l);return l},ze=e=>e;const Pe=e=>{const t=(e=>e?Ae(e):Ae)(e),n=e=>function(e,t=ze){const n=U.useSyncExternalStore(e.subscribe,U.useCallback(()=>t(e.getState()),[e,t]),U.useCallback(()=>t(e.getInitialState()),[e,t]));return U.useDebugValue(n),n}(t,e);return Object.assign(n,t),n},Le={currentStep:G.PLATFORM_CHECK,isRefreshing:!1,extensionStep:{browserOverride:null,extensionAccordionOpen:!1,serverAccordionOpen:!1},lnaStep:{serverUrl:"",lnaAccordionOpen:!1,serverAccordionOpen:!1},serverStep:{osOverride:null}},_e=(Oe=(e,t)=>({setupState:X,channel:null,ui:Le,setSetupState:n=>{e({setupState:n}),t().resetTempOverrides()},initChannel:()=>{let n=t().channel;return n||(n=new Ee(window.parent,{debug:!1,timeout:3e4}),e({channel:n})),n},sendMessage:async(e,n)=>t().initChannel().request(e,n),setCurrentStep:t=>e(e=>({ui:{...e.ui,currentStep:t}})),setIsRefreshing:t=>e(e=>({ui:{...e.ui,isRefreshing:t}})),setBrowserOverride:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:t}}})),setExtensionAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,extensionAccordionOpen:t}}})),setExtensionServerAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,serverAccordionOpen:t}}})),setServerUrl:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverUrl:t}}})),setLnaAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,lnaAccordionOpen:t}}})),setLnaServerAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverAccordionOpen:t}}})),setOSOverride:t=>e(e=>({ui:{...e.ui,serverStep:{...e.ui.serverStep,osOverride:t}}})),resetTempOverrides:()=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:null},serverStep:{...e.ui.serverStep,osOverride:null}}}))}))?Pe(Oe):Pe;var Oe;function Te(e){const{setupState:t}=e;return t.browsers.some(e=>e.id===t.env.browser&&"supported"===e.status)}function Me(e){const{setupState:t}=e;return t.os.some(e=>e.id===t.env.os&&"supported"===e.status)}function Re(e){return Te(e)&&Me(e)}function Ie(e){const{setupState:t}=e;return t.browsers.find(e=>e.id===t.env.browser)}function Fe(e){const{setupState:t}=e;return t.os.find(e=>e.id===t.env.os)}function De(e){const t=Ie(e);return t?.name||"Unknown Browser"}function Ue(e){const t=Fe(e);return t?.name||"Unknown OS"}function Be(e){const{setupState:t}=e;return"granted"===t.lna.status&&"ready"===t.lnaServer.status}function Qe(e){const{setupState:t}=e;return"ready"===t.extension.status&&"ready"===t.server.status}function Ve(e){return Re(e)&&function(e){return Be(e)||Qe(e)}(e)}function He(e){const{setupState:t}=e;return t.userConfirmations.serverInstall}function qe(e){const{setupState:t}=e;if(!Re(e))return G.PLATFORM_CHECK;if(!He(e))return G.SERVER_SETUP;if(Be(e))return G.COMPLETE;const n=t.lna.status;return"prompt"===n||"granted"===n||"unreachable"===n||"denied"===n||"unsupported"===n?G.LNA_SETUP:"ready"!==t.extension.status||"ready"!==t.server.status?G.EXTENSION_SETUP:G.COMPLETE}function We(e,t){const{setupState:n}=e,r=Re(e),a=Be(e),l=Qe(e);switch(t){case G.PLATFORM_CHECK:return r?"complete":"not-supported";case G.SERVER_SETUP:return He(e)?"complete":"incomplete";case G.LNA_SETUP:{const e=n.lna.status,t=n.lnaServer.status;return"granted"===e&&"ready"===t?"complete":"granted"===e&&"error"===t?"error":"granted"===e&&"ready"!==t?"warning":"skipped"===e?"skipped":"unreachable"===e?"error":"denied"===e||"unsupported"===e?"warning":"incomplete"}case G.EXTENSION_SETUP:{const e=n.extension.status,t=n.server.status;return l?"complete":"unreachable"===e||"unsupported"===e?"error":"ready"!==e||"unreachable"!==t&&"error"!==t?"incomplete":"error"}case G.COMPLETE:return a||l?"complete":"incomplete";default:return"incomplete"}}function Ye(e){const{setupState:t,ui:n}=e;return n.extensionStep.browserOverride??t.env.browser}function Ke(e){const{setupState:t,ui:n}=e;return n.serverStep.osOverride??t.env.os}function Ge({onStepClick:e}){const t=_e(e=>e.ui.currentStep),n=_e(e=>We(e,G.PLATFORM_CHECK)),r=_e(e=>We(e,G.SERVER_SETUP)),a=_e(e=>We(e,G.LNA_SETUP)),l=_e(e=>We(e,G.EXTENSION_SETUP)),s=_e(e=>We(e,G.COMPLETE)),i=[{id:G.PLATFORM_CHECK,name:"Platform",icon:K.jsx(ye,{}),status:n},{id:G.SERVER_SETUP,name:"Server",icon:K.jsx(we,{}),status:r},{id:G.LNA_SETUP,name:"Direct",icon:K.jsx(Ne,{}),status:a},{id:G.EXTENSION_SETUP,name:"Extension",icon:K.jsx(he,{}),status:l},{id:G.COMPLETE,name:"Complete",icon:K.jsx(ce,{}),status:s}];return K.jsx("div",{className:"flex items-center w-full",children:i.map((n,r)=>{const a=(e=>{const n=t===e.id;return"complete"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-green-100 text-green-600",icon:K.jsx(ce,{className:"w-6 h-6"}),textClass:"text-green-600",clickable:!0}:"skipped"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400",icon:e.icon,textClass:"text-gray-400 line-through",clickable:!0}:"not-supported"===e.status||"error"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-red-100 text-red-600",icon:K.jsx(pe,{className:"w-6 h-6"}),textClass:"text-red-600",clickable:!0}:"warning"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-amber-100 text-amber-600",icon:e.icon,textClass:"text-amber-600",clickable:!0}:n?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-blue-100 text-blue-600 ring-2 ring-blue-300",icon:e.icon,textClass:"text-blue-600 font-medium",clickable:!0}:{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400 border-2 border-gray-200 hover:bg-gray-200 transition-colors",icon:e.icon,textClass:"text-gray-500 hover:text-gray-700",clickable:!0}})(n);return K.jsxs(D.Fragment,{children:[K.jsxs("div",{className:\`flex flex-col items-center \${a.clickable?"cursor-pointer hover:opacity-80":"cursor-default"} transition-opacity\`,"data-testid":\`step-\${n.id}\`,onClick:()=>a.clickable&&e(n.id),children:[K.jsx("div",{className:a.circleClass,children:a.icon}),K.jsx("span",{className:\`mt-2 text-xs \${a.textClass} transition-colors\`,children:n.name})]}),r<i.length-1&&K.jsx("div",{className:"flex-1 h-0.5 mx-2 transition-colors "+("complete"===n.status&&"complete"===i[r+1].status?"bg-green-300":"complete"===n.status?"bg-gradient-to-r from-green-300 to-gray-200":"not-supported"===n.status?"bg-gradient-to-r from-red-300 to-gray-200":"bg-gray-200")})]},n.id)})})}var Xe={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$e=U.createContext&&U.createContext(Xe),Ze=["attr","size","title"];function Je(e,t){if(null==e)return{};var n,r,a=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,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function et(){return et=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},et.apply(this,arguments)}function tt(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 nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(Object(n),!0).forEach(function(t){rt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function rt(e,t,n){return t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e){return e&&e.map((e,t)=>U.createElement(e.tag,nt({key:t},e.attr),at(e.child)))}function lt(e){return t=>U.createElement(st,et({attr:nt({},e.attr)},t),at(e.child))}function st(e){var t=t=>{var n,{attr:r,size:a,title:l}=e,s=Je(e,Ze),i=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),U.createElement("svg",et({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,s,{className:n,style:nt(nt({color:e.color||t.color},t.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),l&&U.createElement("title",null,l),e.children)};return void 0!==$e?U.createElement($e.Consumer,null,e=>t(e)):t(Xe)}function it(e){return lt({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"},child:[]}]})(e)}function ot(e){return lt({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"},child:[]}]})(e)}function ut(e){return lt({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"},child:[]}]})(e)}function ct(e){return lt({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"},child:[]}]})(e)}function dt(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M20.452 3.445a11.002 11.002 0 00-2.482-1.908C16.944.997 15.098.093 12.477.032c-.734-.017-1.457.03-2.174.144-.72.114-1.398.292-2.118.56-1.017.377-1.996.975-2.574 1.554.583-.349 1.476-.733 2.55-.992a10.083 10.083 0 013.729-.167c2.341.34 4.178 1.381 5.48 2.625a8.066 8.066 0 011.298 1.587c1.468 2.382 1.33 5.376.184 7.142-.85 1.312-2.67 2.544-4.37 2.53-.583-.023-1.438-.152-2.25-.566-2.629-1.343-3.021-4.688-1.118-6.306-.632-.136-1.82.13-2.646 1.363-.742 1.107-.7 2.816-.242 4.028a6.473 6.473 0 01-.59-1.895 7.695 7.695 0 01.416-3.845A8.212 8.212 0 019.45 5.399c.896-1.069 1.908-1.72 2.75-2.005-.54-.471-1.411-.738-2.421-.767C8.31 2.583 6.327 3.061 4.7 4.41a8.148 8.148 0 00-1.976 2.414c-.455.836-.691 1.659-.697 1.678.122-1.445.704-2.994 1.248-4.055-.79.413-1.827 1.668-2.41 3.042C.095 9.37-.2 11.608.14 13.989c.966 5.668 5.9 9.982 11.843 9.982C18.62 23.971 24 18.591 24 11.956a11.93 11.93 0 00-3.548-8.511z"},child:[]}]})(e)}function ft(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},child:[]}]})(e)}function pt(e){return lt({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm-.004.953h.006c.063 0 .113.05.113.113v1.842c0 .063-.05.113-.113.113h-.006a.112.112 0 0 1-.113-.113V1.066c0-.063.05-.113.113-.113zm-.941.041c.056.001.104.046.11.104l.077.918a.112.112 0 0 1-.101.12h-.01a.11.11 0 0 1-.12-.1l-.08-.919a.112.112 0 0 1 .102-.12h.01l.012-.003zm1.892 0H12.965a.113.113 0 0 1 .103.121l-.08.92a.111.111 0 0 1-.12.102h-.009a.111.111 0 0 1-.101-.121l.078-.92a.112.112 0 0 1 .111-.102zm-2.838.123a.11.11 0 0 1 .106.092l.32 1.818c.01.06-.03.119-.09.13l-.01.001a.111.111 0 0 1-.128-.09l-.32-1.818a.111.111 0 0 1 .09-.129l.01-.002a.103.103 0 0 1 .022-.002zm3.784.002h.021l.008.002c.061.01.102.07.092.131l-.32 1.814c-.011.062-.07.101-.132.09h-.005a.113.113 0 0 1-.092-.13l.32-1.815a.111.111 0 0 1 .108-.092zm-4.715.203c.048.002.09.035.103.084l.239.893a.112.112 0 0 1-.079.139l-.005.001a.114.114 0 0 1-.14-.08l-.237-.894a.11.11 0 0 1 .078-.137l.006-.002a.123.123 0 0 1 .035-.004zm5.644 0a.11.11 0 0 1 .033.004l.006.002c.06.016.097.079.08.139l-.24.892a.112.112 0 0 1-.137.08l-.005-.002a.114.114 0 0 1-.08-.138l.24-.893a.112.112 0 0 1 .103-.084zm-6.562.285a.11.11 0 0 1 .107.073L9 3.42a.107.107 0 0 1-.064.139l-.012.005a.11.11 0 0 1-.14-.066L8.15 1.76a.11.11 0 0 1 .065-.14l.014-.005a.106.106 0 0 1 .03-.008zm7.469.002c.014 0 .028.001.042.006l.012.006c.057.02.087.082.067.139l-.633 1.738a.11.11 0 0 1-.14.066l-.013-.003A.11.11 0 0 1 15 3.42l.633-1.738a.108.108 0 0 1 .096-.073zm-8.352.366a.112.112 0 0 1 .105.064l.393.838a.112.112 0 0 1-.055.148l-.008.004a.11.11 0 0 1-.146-.054l-.395-.838a.112.112 0 0 1 .055-.149l.008-.004a.11.11 0 0 1 .043-.01zm9.246 0a.11.11 0 0 1 .043.01l.006.003a.11.11 0 0 1 .053.149l-.391.838a.112.112 0 0 1-.148.054l-.006-.002a.112.112 0 0 1-.055-.148l.393-.84a.112.112 0 0 1 .105-.064zm-10.092.44c.04-.002.08.018.102.056l.922 1.597a.113.113 0 0 1-.041.155l-.006.002a.113.113 0 0 1-.154-.041l-.922-1.598a.113.113 0 0 1 .04-.154l.007-.002a.11.11 0 0 1 .052-.016zm10.94.001c.018 0 .035.004.052.014l.004.002a.114.114 0 0 1 .041.156l-.923 1.596a.114.114 0 0 1-.157.04l-.004-.001a.112.112 0 0 1-.04-.155l.925-1.595a.113.113 0 0 1 .102-.057zM5.729 2.93a.11.11 0 0 1 .093.047l.532.753a.114.114 0 0 1-.028.159l-.004.002a.114.114 0 0 1-.158-.028l-.531-.752a.114.114 0 0 1 .027-.158l.006-.002a.113.113 0 0 1 .063-.021zm12.542 0a.11.11 0 0 1 .063.02l.006.003a.112.112 0 0 1 .027.156l-.531.756a.112.112 0 0 1-.156.028l-.006-.004a.112.112 0 0 1-.028-.157l.532-.755a.11.11 0 0 1 .093-.047zm.747.578a.11.11 0 0 1 .08.027l.006.004c.047.04.053.111.013.158L17.932 5.11a.11.11 0 0 1-.157.016l-.005-.006a.11.11 0 0 1-.014-.156l1.185-1.414a.114.114 0 0 1 .077-.041zM4.984 3.51a.11.11 0 0 1 .077.039L6.244 4.96a.112.112 0 0 1-.014.158l-.003.004a.112.112 0 0 1-.159-.014L4.883 3.697a.112.112 0 0 1 .013-.158l.006-.004a.111.111 0 0 1 .082-.025zm-.714.64c.027 0 .055.01.076.032l.658.66a.107.107 0 0 1 0 .152l-.01.01a.107.107 0 0 1-.152 0l-.66-.658a.11.11 0 0 1 0-.155l.01-.01a.111.111 0 0 1 .078-.03zm15.462 0c.028 0 .055.01.077.032l.007.007a.109.109 0 0 1 0 .155l-.658.66a.109.109 0 0 1-.154 0l-.008-.008a.109.109 0 0 1 0-.154l.658-.66a.11.11 0 0 1 .078-.032zm.707.66c.038 0 .071.02.092.075a.112.112 0 0 1-.023.117l-7.606 8.08c-3.084 2.024-6.149 4.04-9.222 6.05-.078.051-.17.082-.211-.028a.112.112 0 0 1 .023-.118l7.594-8.08c3.084-2.023 6.161-4.039 9.234-6.049a.247.247 0 0 1 .12-.046zm-16.824.045a.109.109 0 0 1 .08.026l1.416 1.187a.11.11 0 0 1 .014.157l-.006.005a.11.11 0 0 1-.156.014L3.549 5.057a.109.109 0 0 1-.014-.155l.006-.007a.108.108 0 0 1 .074-.04zm17.336.756c.036 0 .072.017.094.05l.004.003a.114.114 0 0 1-.028.158l-.753.53a.112.112 0 0 1-.157-.028l-.004-.004a.114.114 0 0 1 .028-.158l.754-.53a.113.113 0 0 1 .062-.02zm-17.904.002c.02 0 .042.007.06.02l.76.531c.05.035.06.103.026.152l-.006.01a.109.109 0 0 1-.153.026l-.76-.532a.109.109 0 0 1-.025-.152l.006-.01a.108.108 0 0 1 .092-.045zm-.512.803c.018 0 .036.006.053.016l1.596.923a.111.111 0 0 1 .04.153l-.003.006a.111.111 0 0 1-.153.04L2.473 6.63a.111.111 0 0 1-.041-.152l.004-.006a.11.11 0 0 1 .1-.055zm18.932 0a.11.11 0 0 1 .1.055l.001.004a.113.113 0 0 1-.04.154l-1.596.926a.113.113 0 0 1-.155-.041l-.002-.004a.113.113 0 0 1 .041-.155l1.596-.925a.115.115 0 0 1 .055-.014zm-19.373.846c.014 0 .029.003.043.01l.838.392a.11.11 0 0 1 .052.147l-.004.01a.11.11 0 0 1-.146.052l-.838-.393a.11.11 0 0 1-.053-.146l.004-.01a.109.109 0 0 1 .104-.062zm19.81.002a.11.11 0 0 1 .106.062l.002.008a.11.11 0 0 1-.053.146l-.838.393a.11.11 0 0 1-.146-.053l-.004-.008a.11.11 0 0 1 .052-.146l.838-.393a.11.11 0 0 1 .043-.01zm-20.183.88c.014 0 .028.001.043.006l1.732.631a.112.112 0 0 1 .067.145l-.002.006a.11.11 0 0 1-.143.066l-1.732-.63a.113.113 0 0 1-.069-.145l.002-.004a.115.115 0 0 1 .102-.074zm20.549 0a.113.113 0 0 1 .11.075l.003.004a.115.115 0 0 1-.069.146l-1.732.629a.112.112 0 0 1-.145-.066l-.001-.006a.113.113 0 0 1 .068-.145l1.732-.63a.11.11 0 0 1 .034-.006zm-20.836.909a.11.11 0 0 1 .033.004l.892.24c.06.016.096.077.08.137l-.002.007a.11.11 0 0 1-.136.079l-.895-.239a.113.113 0 0 1-.078-.138l.002-.006a.113.113 0 0 1 .104-.084zm21.13.002a.115.115 0 0 1 .106.084v.004a.112.112 0 0 1-.078.138l-.893.239a.112.112 0 0 1-.138-.079v-.005a.112.112 0 0 1 .078-.14l.892-.237a.11.11 0 0 1 .033-.004zm-21.335.93.023.001 1.814.323c.062.01.101.069.09.13v.006a.111.111 0 0 1-.13.09l-1.815-.322a.113.113 0 0 1-.092-.131l.002-.006a.11.11 0 0 1 .108-.092zm21.519.001h.022c.052.002.1.038.109.092v.006c.01.062-.03.12-.092.13l-1.814.321a.113.113 0 0 1-.131-.092v-.005a.113.113 0 0 1 .092-.131l1.814-.32zm-21.644.944h.011l.922.084a.11.11 0 0 1 .102.119l-.002.01a.11.11 0 0 1-.121.1l-.922-.083a.11.11 0 0 1-.1-.12v-.009a.111.111 0 0 1 .11-.101zm21.779.002h.012c.056 0 .106.043.11.101v.008a.111.111 0 0 1-.1.121l-.923.08a.111.111 0 0 1-.12-.101v-.008a.111.111 0 0 1 .1-.121l.92-.08zm-11.82.73L6.091 16.95c2.02-1.324 4.039-2.646 6.066-3.976l-1.095-1.31zm11.87.219c.063 0 .114.05.114.113v.004c0 .063-.05.113-.113.113l-1.844.004a.113.113 0 0 1-.113-.113v-.004c0-.063.05-.113.113-.113l1.844-.004zm-21.869.002h1.844c.062 0 .112.05.112.111v.008c0 .062-.05.111-.112.111H1.064a.111.111 0 0 1-.11-.111v-.008c0-.061.049-.111.11-.111zm.952.875h.011a.11.11 0 0 1 .11.101v.006a.111.111 0 0 1-.102.121l-.922.08a.11.11 0 0 1-.119-.101l-.002-.006a.111.111 0 0 1 .102-.121l.922-.08zm19.955 0h.011l.922.08a.11.11 0 0 1 .102.119v.008a.112.112 0 0 1-.121.101l-.922-.08a.11.11 0 0 1-.102-.119v-.008a.111.111 0 0 1 .11-.101zm-18.924.705c.053.001.098.04.107.094l.002.004c.011.061-.03.12-.092.13l-1.812.32a.113.113 0 0 1-.13-.091v-.004a.115.115 0 0 1 .09-.133l1.811-.318a.117.117 0 0 1 .024-.002zm17.902 0c.008 0 .016 0 .024.002l1.816.32c.061.011.1.07.09.131v.004a.113.113 0 0 1-.131.092l-1.816-.32a.112.112 0 0 1-.09-.131v-.004a.113.113 0 0 1 .107-.094zM2.332 14.477a.11.11 0 0 1 .104.082l.002.005c.016.06-.02.121-.08.137l-.891.24a.112.112 0 0 1-.137-.08l-.002-.006a.112.112 0 0 1 .08-.136l.89-.239a.112.112 0 0 1 .034-.003zm19.332 0c.011 0 .024 0 .035.003l.893.239c.06.016.096.077.08.136l-.002.006a.111.111 0 0 1-.137.078l-.894-.238a.111.111 0 0 1-.078-.137l.002-.005a.109.109 0 0 1 .101-.082zm-18.213.517a.11.11 0 0 1 .11.074l.002.004a.112.112 0 0 1-.067.145l-1.732.63a.113.113 0 0 1-.145-.068l-.002-.004a.113.113 0 0 1 .069-.144L3.418 15a.11.11 0 0 1 .033-.006zm17.086 0c.015 0 .029 0 .043.006l1.734.63a.111.111 0 0 1 .067.143l-.002.008a.111.111 0 0 1-.143.067l-1.734-.631a.111.111 0 0 1-.066-.143l.002-.008a.111.111 0 0 1 .1-.072zM2.92 16.117a.109.109 0 0 1 .103.063l.004.01a.108.108 0 0 1-.052.144l-.838.393a.11.11 0 0 1-.147-.055l-.004-.008a.11.11 0 0 1 .053-.146l.838-.391a.112.112 0 0 1 .043-.01zm18.158 0a.11.11 0 0 1 .043.01l.838.39c.056.027.08.093.055.149l-.002.004a.112.112 0 0 1-.149.055l-.838-.391a.112.112 0 0 1-.054-.148l.002-.004a.112.112 0 0 1 .105-.065zm-16.957.315c.04-.001.078.02.1.056l.004.004a.11.11 0 0 1-.041.153l-1.596.921a.113.113 0 0 1-.154-.04l-.002-.005a.113.113 0 0 1 .04-.154l1.596-.922a.109.109 0 0 1 .053-.013zm15.756 0c.018 0 .036.004.053.013l1.597.924a.11.11 0 0 1 .041.152l-.002.004a.11.11 0 0 1-.152.041l-1.598-.921a.113.113 0 0 1-.04-.155l.001-.002a.111.111 0 0 1 .1-.056zm.328 1.193a.11.11 0 0 1 .06.021l.758.534c.05.035.061.102.026.152l-.004.008a.111.111 0 0 1-.154.027l-.756-.535a.109.109 0 0 1-.028-.152l.006-.008a.11.11 0 0 1 .092-.047zm-16.412.002c.035 0 .072.016.094.047l.004.008a.109.109 0 0 1-.028.152l-.756.531a.108.108 0 0 1-.152-.025l-.006-.008a.109.109 0 0 1 .028-.152l.755-.534a.107.107 0 0 1 .061-.019zm15.162.102a.112.112 0 0 1 .082.025l1.414 1.187a.11.11 0 0 1 .014.157l-.004.004a.113.113 0 0 1-.158.013L18.89 17.93a.11.11 0 0 1-.014-.157l.004-.005a.108.108 0 0 1 .074-.04zm-12.812 1.12a.11.11 0 0 1 .08.026l.007.008a.11.11 0 0 1 .014.154L5.06 20.451a.11.11 0 0 1-.155.012l-.008-.006a.11.11 0 0 1-.013-.154l1.185-1.414a.11.11 0 0 1 .075-.04zm11.703 0c.032 0 .065.015.088.042l1.181 1.41c.04.048.035.12-.013.16l-.002.002a.114.114 0 0 1-.16-.014l-1.182-1.41a.114.114 0 0 1 .013-.16l.002-.002a.115.115 0 0 1 .073-.027zm-12.928.114c.027 0 .054.01.074.031l.014.012a.107.107 0 0 1 0 .15l-.662.66a.105.105 0 0 1-.149 0l-.011-.011a.105.105 0 0 1 0-.149l.66-.662a.105.105 0 0 1 .074-.031zm14.164 0c.027 0 .053.01.074.031l.66.662a.106.106 0 0 1 0 .15l-.011.012a.106.106 0 0 1-.15-.002l-.66-.66a.106.106 0 0 1 .001-.15l.01-.012a.108.108 0 0 1 .076-.031zm-11.627.797c.018 0 .034.006.05.015l.007.004a.11.11 0 0 1 .04.15l-.921 1.598a.11.11 0 0 1-.15.041l-.008-.004a.111.111 0 0 1-.04-.152l.922-1.596a.113.113 0 0 1 .1-.056zm9.088.002a.11.11 0 0 1 .1.054l.925 1.596a.113.113 0 0 1-.04.154h-.005a.11.11 0 0 1-.152-.039l-.926-1.595a.113.113 0 0 1 .041-.155l.004-.002a.108.108 0 0 1 .053-.013zm-10.285.324c.021 0 .043.008.062.021l.004.002c.051.036.063.106.028.157l-.53.755a.112.112 0 0 1-.156.028l-.004-.002a.112.112 0 0 1-.027-.156l.53-.756a.113.113 0 0 1 .093-.05zm11.484.002c.036 0 .072.015.094.047l.53.756c.035.05.023.12-.028.156l-.004.002a.112.112 0 0 1-.156-.028l-.53-.755a.112.112 0 0 1 .028-.157l.004-.002a.112.112 0 0 1 .062-.02zm-8.863.342a.11.11 0 0 1 .043.006l.012.005c.056.02.084.081.064.137l-.633 1.74a.105.105 0 0 1-.136.063l-.014-.004a.106.106 0 0 1-.065-.137l.633-1.74a.107.107 0 0 1 .096-.07zm6.232 0a.107.107 0 0 1 .106.07l.633 1.738a.107.107 0 0 1-.065.137l-.015.006a.107.107 0 0 1-.137-.065L15 20.578a.107.107 0 0 1 .064-.137l.014-.005a.117.117 0 0 1 .033-.006zm-4.695.41c.008 0 .014 0 .021.002l.006.002c.062.01.101.067.09.129l-.318 1.812a.113.113 0 0 1-.131.092l-.004-.002a.111.111 0 0 1-.092-.129l.32-1.812a.113.113 0 0 1 .108-.094zm3.146.002c.008-.002.015 0 .022 0a.111.111 0 0 1 .107.092l.32 1.812c.012.061-.03.12-.091.131l-.004.002a.113.113 0 0 1-.13-.092l-.321-1.812a.113.113 0 0 1 .092-.131l.005-.002zm-5.79.119a.11.11 0 0 1 .042.01l.004.002a.114.114 0 0 1 .055.15l-.393.834a.112.112 0 0 1-.148.055l-.004-.002a.112.112 0 0 1-.055-.149l.393-.836a.112.112 0 0 1 .105-.064zm8.458 0a.108.108 0 0 1 .104.062l.39.84a.11.11 0 0 1-.052.147l-.008.004a.11.11 0 0 1-.146-.055l-.391-.838a.11.11 0 0 1 .053-.146l.008-.004a.11.11 0 0 1 .042-.01zm-4.236.018H12c.063 0 .115.05.115.113l.002 1.84c0 .063-.05.113-.113.113h-.006a.113.113 0 0 1-.113-.113l-.004-1.838c0-.063.05-.115.113-.115zm-2.592.578c.011 0 .022 0 .034.004l.005.002c.06.016.095.077.079.136l-.24.893a.111.111 0 0 1-.137.078l-.006-.002a.111.111 0 0 1-.078-.137l.24-.89a.113.113 0 0 1 .103-.084zm5.196.002a.11.11 0 0 1 .103.082l.24.89a.11.11 0 0 1-.078.137l-.006.002a.11.11 0 0 1-.136-.078l-.24-.89a.11.11 0 0 1 .078-.138l.005-.002a.112.112 0 0 1 .034-.003zm-3.475.302h.01l.008.002c.061.006.107.06.101.121l-.08.92a.112.112 0 0 1-.121.102h-.008a.11.11 0 0 1-.1-.121l.08-.922a.111.111 0 0 1 .11-.102zm1.736 0h.02a.11.11 0 0 1 .107.102l.08.924a.11.11 0 0 1-.101.119l-.008.002a.11.11 0 0 1-.12-.102l-.08-.924a.112.112 0 0 1 .102-.12z"},child:[]}]})(e)}const mt=(e,t="w-6 h-6")=>{switch(e){case"chrome":return K.jsx(ft,{className:\`\${t} text-blue-500\`});case"edge":return K.jsx(ct,{className:\`\${t} text-blue-600\`});case"firefox":return K.jsx(dt,{className:\`\${t} text-orange-500\`});case"safari":return K.jsx(pt,{className:\`\${t} text-blue-400\`});default:return K.jsx(ct,{className:\`\${t} text-gray-500\`})}},ht=(e,t="w-6 h-6")=>{switch(e){case"macos":return K.jsx(it,{className:\`\${t} text-gray-700\`});case"windows":return K.jsx(ut,{className:\`\${t} text-blue-600\`});case"linux":return K.jsx(ot,{className:\`\${t} text-orange-600\`});default:return K.jsx(ct,{className:\`\${t} text-gray-500\`})}};function gt({type:e,value:t,supportedOptions:n,onChange:r,disabled:a=!1}){const[l,s]=D.useState(!1),i=D.useRef(null),o=n.map(t=>({id:t.id,name:t.name,icon:"browser"===e?mt(t.id,"w-8 h-8"):ht(t.id,"w-8 h-8"),isSupported:"supported"===t.status})),u=o.find(e=>e.id===t)||{name:"browser"===e?"Unknown Browser":"Unknown OS",icon:"browser"===e?mt(t,"w-8 h-8"):ht(t,"w-8 h-8"),isSupported:!1};D.useEffect(()=>{const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);return K.jsxs("div",{className:"relative",ref:i,children:[K.jsxs("button",{type:"button",onClick:()=>!a&&s(!l),disabled:a,"data-testid":\`\${e}-dropdown\`,className:"relative w-full bg-white border border-gray-300 rounded-lg shadow-sm pl-3 pr-10 py-3 text-left cursor-default focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 sm:text-sm "+(a?"bg-gray-50 text-gray-500 cursor-not-allowed":"hover:bg-gray-50"),children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0",children:u.icon}),K.jsxs("div",{className:"ml-3 flex-grow",children:[K.jsx("span",{className:"block truncate font-medium",children:u.name}),!u.isSupported&&K.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),K.jsx("span",{className:"ml-3 absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:K.jsx(ie,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"})})]}),l&&!a&&K.jsx("div",{className:"absolute z-10 mt-1 w-full bg-white shadow-lg max-h-56 rounded-lg py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm",children:o.map(n=>K.jsxs("div",{"data-testid":\`\${e}-option-\${n.id}\`,className:"cursor-pointer select-none relative py-2 pl-3 pr-9 hover:bg-gray-50 "+(n.id===t?"bg-blue-50 text-blue-900":"text-gray-900"),onClick:()=>{return e=n.id,r(e),void s(!1);var e},children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0",children:n.icon}),K.jsxs("div",{className:"ml-3 flex-grow",children:[K.jsx("span",{className:"block truncate font-medium "+(n.id===t?"font-semibold":"font-normal"),children:n.name}),!n.isSupported&&K.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),n.id===t&&K.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-4 text-blue-600",children:K.jsx("svg",{className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:K.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})})]},n.id))})]})}function vt({isOpen:e,onToggle:t,icon:n,label:r,statusText:a,children:l,testId:s,contentTestId:i}){return K.jsxs("div",{className:"bg-gray-50 rounded-lg border border-gray-200",children:[K.jsxs("button",{onClick:t,className:"w-full flex items-center justify-between p-4","data-testid":s,children:[K.jsxs("div",{className:"flex items-center",children:[n,K.jsx("span",{className:"font-medium",children:r}),K.jsx("span",{className:"ml-2 text-sm text-gray-500",children:a})]}),e?K.jsx(ie,{className:"w-5 h-5 text-gray-500"}):K.jsx(oe,{className:"w-5 h-5 text-gray-500"})]}),e&&K.jsx("div",{className:"px-4 pb-4","data-testid":i,children:l})]})}function yt({items:e}){return K.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-md",children:[K.jsx("h5",{className:"text-sm font-medium text-gray-900 mb-2",children:"Troubleshooting"}),K.jsx("ul",{className:"text-sm text-gray-600 space-y-1 list-disc list-inside",children:e.map((e,t)=>K.jsx("li",{children:e},t))})]})}const bt="http://localhost:1135",xt=(e=bt)=>\`\${e}/setup\`,wt=(e=bt)=>\`\${e}/admin\`;function kt(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.extensionStep.extensionAccordionOpen),n=_e(e=>e.ui.extensionStep.serverAccordionOpen),r=_e(e=>e.setBrowserOverride),a=_e(e=>e.setExtensionAccordionOpen),l=_e(e=>e.setExtensionServerAccordionOpen),s=_e(Ye),{extension:i,server:o,env:u,browsers:c}=e;D.useEffect(()=>{"ready"!==i.status?(a(!0),l(!1)):(a(!1),"ready"!==o.status&&"pending-extension-ready"!==o.status&&l(!0))},[i.status,o.status,a,l]);const d=c.find(e=>e.id===s),f=()=>{const e=c.find(e=>e.id===s);e&&"supported"===e.status&&window.open(e.extension_url,"_blank")},p=()=>{const e=c.find(e=>e.id===s);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank")};return K.jsxs("div",{className:"space-y-4","data-testid":"extension-setup-step",children:[K.jsx(vt,{isOpen:t,onToggle:()=>a(!t),icon:"ready"===i.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Extension Installation",statusText:"ready"===i.status?"Ready":"Action Required",testId:"extension-accordion-header",contentTestId:"extension-accordion-content",children:K.jsxs("div",{className:"space-y-4",children:["ready"===i.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Extension version ",i.version," is connected and ready."]})]}):K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(ue,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium","data-testid":"p-ext-error-message",children:i.error.message}),K.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-ext-error-code",children:["Error Code: ",i.error.code]})]})]}),K.jsxs("div",{"data-testid":"browser-selection-section",children:[K.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Browser (for extension store link)"}),K.jsx(gt,{type:"browser",value:s,supportedOptions:c,onChange:e=>(e=>{r(e)})(e)}),K.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",c.find(e=>e.id===u.browser)?.name||"Unknown Browser",". Change selection to view other browser options."]})]}),"supported"===d?.status?K.jsxs("div",{className:"space-y-4",children:[K.jsxs("button",{onClick:f,className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:[K.jsx(ge,{className:"w-4 h-4 mr-2"}),"Download Extension for ",d.name]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",d.name]}),K.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[K.jsx("li",{children:"Click the download button above to open the extension store"}),K.jsxs("li",{children:['Click "Add to ',d.name,'" or "Install"']}),K.jsx("li",{children:"Accept the permissions when prompted"}),K.jsx("li",{children:"Look for the Bodhi icon in your browser toolbar"}),K.jsx("li",{children:"Click refresh in this modal to detect the extension"})]})]})]}):K.jsx("div",{className:"space-y-4",children:K.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:K.jsx("div",{className:"flex items-start",children:K.jsxs("div",{className:"ml-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[d?.name||"Selected Browser"," - Coming Soon"]}),K.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",d?.name||"this browser"," is in development."]}),d?.github_issue_url&&K.jsxs("button",{onClick:p,className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})})})}),"ready"!==i.status&&K.jsx(yt,{items:["Make sure you're using a supported browser version","Check that the extension is enabled in your browser settings","Try refreshing this page after installing the extension","Restart your browser if the extension isn't detected"]})]})}),K.jsx(vt,{isOpen:n,onToggle:()=>l(!n),icon:"ready"===o.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"ready"!==i.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:"ready"===o.status?"Connected":"ready"!==i.status?"Pending Extension":"Action Required",testId:"server-accordion-header",contentTestId:"server-accordion-content",children:"ready"!==i.status?K.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server connection will be verified once extension is installed."}):"ready"===o.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Server v",o.version," connected successfully"]})]}):K.jsxs("div",{className:"space-y-4",children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(ue,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium","data-testid":"p-server-error-message",children:o.error?.message||"Server connection failed"}),o.error?.code&&K.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-server-error-code",children:["Error: ",o.error.code]})]})]}),"setup"===o.status&&K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server needs initial configuration."}),K.jsx("a",{href:xt(bt),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Server Setup →"})]}),"resource-admin"===o.status&&K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server requires admin approval."}),K.jsx("a",{href:wt(bt),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Admin Panel →"})]}),("unreachable"===o.status||"error"===o.status)&&K.jsx(yt,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn't blocking the server","Verify the server is running on port 1135","Try restarting the server application"]})]})})]})}function St(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.lnaStep.serverUrl),n=_e(e=>e.ui.lnaStep.lnaAccordionOpen),r=_e(e=>e.ui.lnaStep.serverAccordionOpen),a=_e(e=>e.setServerUrl),l=_e(e=>e.setLnaAccordionOpen),s=_e(e=>e.setLnaServerAccordionOpen),i=_e(e=>e.sendMessage),[o,u]=D.useState(""),{lna:c,lnaServer:d}=e;D.useEffect(()=>{t||("granted"===c.status||"unreachable"===c.status||"prompt"===c.status&&c.serverUrl||"skipped"===c.status&&c.serverUrl?a(c.serverUrl):a(bt))},[t,c,a]),D.useEffect(()=>{"granted"!==c.status?l(!0):"ready"!==d.status&&s(!0)},[c.status,d.status,l,s]);const f=()=>{!function(e){if(!e||"string"!=typeof e)return!1;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}}(t)?u(function(e){if(!e||""===e.trim())return"Server URL is required";try{const t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)return"URL must use http:// or https:// protocol"}catch{return"Please enter a valid URL (e.g., http://localhost:1135)"}return"Invalid URL format"}(t)):(u(""),i("modal:lna:connect",{serverUrl:t}).catch(e=>{u("Failed to connect. Please try again.")}))},p=()=>{i("modal:lna:skip",void 0).catch(e=>{})},m=()=>{switch(c.status){case"granted":return"Reconnect";case"unreachable":case"denied":return"Try Again";default:return"Connect"}},h=()=>{switch(c.status){case"granted":case"unreachable":case"denied":return K.jsx(xe,{className:"w-4 h-4"});default:return K.jsx(Ne,{className:"w-4 h-4"})}};return K.jsxs("div",{className:"space-y-4","data-testid":"lna-setup-step",children:[K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Direct Connection"}),K.jsx(vt,{isOpen:n,onToggle:()=>l(!n),icon:"granted"===c.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"skipped"===c.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"unreachable"===c.status?K.jsx(pe,{className:"w-5 h-5 text-red-500 mr-2"}):"denied"===c.status?K.jsx(Se,{className:"w-5 h-5 text-amber-500 mr-2"}):"unsupported"===c.status?K.jsx(Se,{className:"w-5 h-5 text-gray-500 mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"LNA Connection",statusText:(()=>{switch(c.status){case"granted":return"Connected";case"skipped":return"Skipped";case"unreachable":return"Connection Failed";case"denied":return"Permission Denied";case"unsupported":return"Not Supported";default:return"Not Connected"}})(),testId:"lna-accordion-header",contentTestId:"lna-accordion-content",children:K.jsxs("div",{className:"space-y-4",children:["granted"===c.status&&K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Direct connection established to ",c.serverUrl]})]}),"prompt"===c.status&&K.jsxs("div",{className:"text-gray-600 py-2",children:[K.jsx("p",{children:"Configure direct connection to your local Bodhi server."}),K.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"Direct connection allows websites to connect to localhost without a browser extension."})]}),"unsupported"===c.status&&K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Browser Not Supported"}),K.jsx("p",{className:"text-sm text-gray-500",children:"Your browser does not support Local Network Access. You can still try to connect, or use the browser extension instead."})]})]}),"unreachable"===c.status&&K.jsxs("div",{className:"flex items-start text-red-600 py-2",children:[K.jsx(pe,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Connection Failed"}),K.jsx("p",{className:"text-sm",children:c.error.message}),K.jsxs("p",{className:"text-sm text-gray-500",children:["Could not connect to ",c.serverUrl]})]})]}),"denied"===c.status&&K.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Permission Denied"}),K.jsx("p",{className:"text-sm",children:c.error.message}),K.jsx("p",{className:"text-sm text-gray-500",children:"Your browser requires permission to access local network resources."})]})]}),"skipped"===c.status&&K.jsxs("div",{className:"text-gray-600 py-2",children:[K.jsx("p",{children:"Direct connection skipped. Using browser extension instead."}),K.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"You can still enable direct connection by entering a server URL below."})]}),K.jsxs("div",{children:[K.jsx("label",{htmlFor:"lna-url",className:"block text-sm font-medium text-gray-700 mb-1",children:"Server URL"}),K.jsx("input",{id:"lna-url",type:"text","data-testid":"lna-url-input",value:t,onChange:e=>{a(e.target.value),o&&u("")},className:"w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 "+(o?"border-red-300":"border-gray-300"),placeholder:bt}),o&&K.jsx("p",{className:"mt-1 text-sm text-red-600","data-testid":"url-error-message",children:o})]}),K.jsxs("div",{className:"flex gap-3",children:[K.jsx("button",{"data-testid":"lna-connect-button",onClick:f,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors",children:K.jsxs("div",{className:"flex items-center justify-center gap-2",children:[h(),m()]})}),"skipped"!==c.status&&K.jsx("button",{"data-testid":"lna-skip-button",onClick:p,className:"px-4 py-2 bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 transition-colors",children:K.jsxs("div",{className:"flex items-center justify-center gap-2",children:[K.jsx(ke,{className:"w-4 h-4"}),"Skip"]})})]})]})}),K.jsx(vt,{isOpen:r,onToggle:()=>s(!r),icon:"ready"===d.status?K.jsx(de,{className:"w-5 h-5 text-green-500 mr-2"}):"granted"!==c.status?K.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"pending-lna-ready"===d.status?K.jsx(be,{className:"w-5 h-5 text-blue-500 animate-spin mr-2"}):K.jsx(ue,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:(()=>{if("granted"!==c.status)return"Pending LNA";switch(d.status){case"ready":return"Connected";case"setup":return"Setup Required";case"resource-admin":return"Admin Required";case"error":return"Error";default:return"Checking..."}})(),testId:"lna-server-accordion-header",contentTestId:"lna-server-status",children:"granted"!==c.status?K.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server status will be checked once LNA connection is established."}):"pending-lna-ready"===d.status?K.jsxs("div",{className:"flex items-center text-gray-500 py-2",children:[K.jsx(be,{className:"w-4 h-4 animate-spin mr-2"}),K.jsx("span",{children:"Checking server..."})]}):"ready"===d.status?K.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[K.jsx(de,{className:"w-4 h-4 mr-2"}),K.jsxs("span",{children:["Server v",d.version," connected successfully"]})]}):K.jsxs("div",{className:"space-y-4",children:["setup"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsx("div",{children:K.jsx("p",{className:"font-medium",children:"Server requires initial setup"})})]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Complete the server setup to continue."}),K.jsxs("a",{href:xt(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-setup-link",children:["Complete server setup",K.jsx(ve,{className:"w-3 h-3"})]})]})]}),"resource-admin"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-amber-600",children:[K.jsx(Se,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsx("div",{children:K.jsx("p",{className:"font-medium",children:"Server requires resource configuration"})})]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Configure server resources to continue."}),K.jsxs("a",{href:wt(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-admin-link",children:["Configure resources",K.jsx(ve,{className:"w-3 h-3"})]})]})]}),"error"===d.status&&K.jsxs(K.Fragment,{children:[K.jsxs("div",{className:"flex items-start text-red-600",children:[K.jsx(pe,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),K.jsxs("div",{children:[K.jsx("p",{className:"font-medium",children:"Server connection error"}),K.jsx("p",{className:"text-sm",children:d.error.message})]})]}),K.jsx(yt,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn't blocking the server","Verify the server is running on the configured port","Try restarting the server application"]})]})]})})]})}function Nt(){const e=_e(e=>e.setupState),t=_e(Ie),n=_e(Fe),r=_e(Te),a=_e(Me),l=_e(De),s=_e(Ue),{env:i}=e,o=()=>r?"Supported":"Not Supported",u=()=>a?"Supported":"Not Supported";return K.jsxs("div",{className:"space-y-6","data-testid":"platform-check-step",children:[K.jsxs("div",{className:"text-center","data-testid":"platform-check-header",children:[K.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"platform-check-title",children:"Platform Compatibility Check"}),K.jsx("p",{className:"text-gray-600","data-testid":"platform-check-description",children:"Verifying your browser and operating system compatibility"})]}),K.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"browser-detection-section",children:[K.jsxs("div",{className:"flex items-center justify-between",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0","data-testid":"browser-icon",children:mt(i.browser)}),K.jsxs("div",{className:"ml-3",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"browser-section-title",children:"Detected Browser"}),K.jsx("p",{className:"text-sm text-gray-500","data-testid":"browser-name",children:l}),K.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"browser-reliability-warning",children:"Detection can be unreliable"})]})]}),K.jsx("div",{className:"flex items-center space-x-2",children:K.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(r?"text-green-600 bg-green-50":"not-supported"===t?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"browser-status-badge",children:r?K.jsxs(K.Fragment,{children:[K.jsx(ce,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"browser-status-text",children:o()})]}):K.jsxs(K.Fragment,{children:[K.jsx(pe,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"browser-status-text",children:o()})]})})})]}),!r&&K.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===t?.status?"bg-red-50":"bg-amber-50"),"data-testid":"browser-warning-section",children:K.jsxs("p",{className:"text-sm "+("not-supported"===t?.status?"text-red-800":"text-amber-800"),"data-testid":"browser-warning-text",children:["not-supported"===t?.status?"This browser is not supported by Bodhi Platform.":"We couldn't detect your browser reliably. Your browser might still be supported - try proceeding with setup.","not-supported"===t?.status&&t.github_issue_url&&K.jsxs(K.Fragment,{children:[" ",K.jsxs("a",{href:t.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===t?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"browser-support-link",children:["Request support ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})]})})]}),K.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"os-detection-section",children:[K.jsxs("div",{className:"flex items-center justify-between",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("div",{className:"flex-shrink-0","data-testid":"os-icon",children:ht(i.os)}),K.jsxs("div",{className:"ml-3",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"os-section-title",children:"Detected Operating System"}),K.jsx("p",{className:"text-sm text-gray-500","data-testid":"os-name",children:s}),K.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"os-reliability-warning",children:"Detection can be unreliable"})]})]}),K.jsx("div",{className:"flex items-center space-x-2",children:K.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(a?"text-green-600 bg-green-50":"not-supported"===n?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"os-status-badge",children:a?K.jsxs(K.Fragment,{children:[K.jsx(ce,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"os-status-text",children:u()})]}):K.jsxs(K.Fragment,{children:[K.jsx(pe,{className:"w-3 h-3 mr-1"}),K.jsx("span",{"data-testid":"os-status-text",children:u()})]})})})]}),!a&&K.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===n?.status?"bg-red-50":"bg-amber-50"),"data-testid":"os-warning-section",children:K.jsxs("p",{className:"text-sm "+("not-supported"===n?.status?"text-red-800":"text-amber-800"),"data-testid":"os-warning-text",children:["not-supported"===n?.status?"This operating system is not supported by Bodhi Platform.":"We couldn't detect your OS reliably. Your operating system might still be supported - try proceeding with setup.","not-supported"===n?.status&&n.github_issue_url&&K.jsxs(K.Fragment,{children:[" ",K.jsxs("a",{href:n.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===n?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"os-support-link",children:["Request support ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})]})})]})]})}function Ct(){const e=_e(e=>e.setupState),t=_e(e=>e.setOSOverride),n=_e(e=>e.sendMessage),r=_e(Ke),{env:a,os:l}=e;D.useEffect(()=>{t(null)},[a.os,t]);const s=l.find(e=>e.id===r);return K.jsx("div",{className:"space-y-6 min-h-0","data-testid":"server-setup-step",children:K.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg min-h-0",children:[K.jsxs("div",{className:"mb-6",children:[K.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Operating System (for server download)"}),K.jsx(gt,{type:"os",value:r,supportedOptions:l,onChange:e=>(e=>{t(e)})(e)}),K.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",l.find(e=>e.id===a.os)?.name||"Unknown OS",". Change selection to view other OS options."]})]}),"supported"===s?.status?K.jsxs("div",{className:"space-y-4",children:[K.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"supported"===e.status&&window.open(e.download_url,"_blank")},className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:[K.jsx(ge,{className:"w-4 h-4 mr-2"}),"Download Bodhi App Server for ",s.name]}),K.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",s.name]}),K.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[K.jsx("li",{children:"Click the download button above to get the installer"}),K.jsx("li",{children:"Run the downloaded installer"}),K.jsx("li",{children:"Follow the installation wizard"}),K.jsx("li",{children:"Launch the Bodhi App Server"})]})]})]}):K.jsx("div",{className:"space-y-4",children:K.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:K.jsx("div",{className:"flex items-start",children:K.jsxs("div",{className:"ml-3",children:[K.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[s?.name||"Selected OS"," - Coming Soon"]}),K.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",s?.name||"this operating system"," is in development."]}),s?.github_issue_url&&K.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank")},className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",K.jsx(ve,{className:"w-3 h-3 ml-1"})]})]})})})}),K.jsx("div",{className:"mt-6 p-4 bg-white border border-gray-200 rounded-lg",children:K.jsxs("label",{className:"flex items-center cursor-pointer",children:[K.jsx("input",{type:"checkbox",checked:e.userConfirmations?.serverInstall??!1,onChange:e=>{n("modal:confirm-server-install",{confirmed:e.target.checked}).catch(e=>{})},className:"w-5 h-5 text-green-600 border-gray-300 rounded focus:ring-green-500","data-testid":"server-confirm-checkbox"}),K.jsx("span",{className:"ml-3 text-sm font-medium text-gray-700",children:"I have installed the Bodhi App Server"})]})})]})})}function jt(){const e=_e(e=>e.setupState),t=_e(e=>e.sendMessage),n=_e(Te),r=_e(Me),a=_e(Ve),l=_e(Be),s=_e(Qe),i=_e(De),o=_e(Ue),{extension:u,server:c,lna:d,lnaServer:f,selectedConnection:p}=e,m="ready"===u.status,h="ready"===c.status,g=p??(l?"lna":s?"extension":null),v=e=>{t("modal:select-connection",{connection:e}).catch(e=>{})},y=(e,t=!0)=>e&&t?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):t?K.jsx(pe,{className:"w-5 h-5 text-red-500"}):K.jsx(me,{className:"w-5 h-5 text-amber-500"}),b=(e,t=!0)=>e&&t?{text:"Ready",className:"text-green-700"}:t?{text:"Incomplete",className:"text-red-700"}:{text:"Not Supported",className:"text-amber-700"};return K.jsxs("div",{className:"space-y-6","data-testid":"success-state-step",children:[K.jsxs("div",{className:"text-center py-6","data-testid":"success-state-header",children:[K.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full mb-4 "+(a?"bg-green-100":"bg-amber-100"),"data-testid":"success-state-icon",children:a?K.jsx(ce,{className:"w-8 h-8 text-green-600"}):K.jsx(me,{className:"w-8 h-8 text-amber-600"})}),K.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"success-state-title",children:a?"All Systems Ready!":"Setup In Progress"}),K.jsx("p",{className:"text-gray-600 mb-6","data-testid":"success-state-description",children:a?"Your Bodhi Platform setup is complete and ready to use.":"Complete the remaining setup steps to get started."}),a&&K.jsxs("button",{onClick:()=>{t("modal:complete",void 0).catch(e=>{})},className:"inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","data-testid":"continue-button",children:["Continue to Webpage",K.jsx(le,{className:"ml-2 w-5 h-5"})]})]}),K.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4","data-testid":"status-summary-section",children:[K.jsx("h4",{className:"text-sm font-medium text-gray-900 mb-4","data-testid":"status-summary-title",children:"Setup Status Summary"}),K.jsxs("div",{className:"space-y-3",children:[K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"platform-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(n&&r,n&&r),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"platform-status-label",children:"Platform Compatibility"}),K.jsxs("p",{className:"text-xs text-gray-500","data-testid":"platform-status-details",children:[i," on ",o]})]})]}),K.jsx("span",{className:\`text-xs font-medium \${b(n&&r,n&&r).className}\`,"data-testid":"platform-status-text",children:b(n&&r,n&&r).text})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-status-row",children:[K.jsxs("div",{className:"flex items-center",children:["granted"===d.status?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):"skipped"===d.status?K.jsx(fe,{className:"w-5 h-5 text-gray-400"}):K.jsx(Ne,{className:"w-5 h-5 text-gray-400"}),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"lna-status-label",children:"Direct Connection"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-status-details",children:"granted"===d.status?\`Connected to \${d.serverUrl}\`:"skipped"===d.status?"Using browser extension instead":"Not configured"})]})]}),K.jsx("span",{className:"text-xs font-medium "+("granted"===d.status?"text-green-700":(d.status,"text-gray-500")),"data-testid":"lna-status-text",children:"granted"===d.status?"Ready":"skipped"===d.status?"Skipped":"Not Connected"})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-server-status-row",children:[K.jsxs("div",{className:"flex items-center",children:["skipped"===d.status||"prompt"===d.status?K.jsx(fe,{className:"w-5 h-5 text-gray-400"}):"ready"===f.status?K.jsx(ce,{className:"w-5 h-5 text-green-500"}):K.jsx(me,{className:"w-5 h-5 text-amber-500"}),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium "+("skipped"===d.status||"prompt"===d.status?"text-gray-500":"text-gray-900"),"data-testid":"lna-server-status-label",children:"Local Server (via LNA)"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-server-status-details",children:"skipped"===d.status?"Using browser extension instead":"prompt"===d.status?"LNA not configured":"ready"===f.status?\`Version \${f.version}\`:"pending-lna-ready"===f.status?"Waiting for LNA connection":"error"in f&&f.error?.message||"Connection issue"})]})]}),K.jsx("div",{className:"flex items-center",children:l?K.jsxs("label",{htmlFor:"connection-lna",className:"flex items-center space-x-2 cursor-pointer",children:[K.jsx("button",{type:"button",role:"radio","aria-checked":"lna"===g,id:"connection-lna","data-testid":"connection-lna",onClick:()=>v("lna"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("lna"===g?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"lna"===g&&K.jsx(se,{className:"w-3 h-3 text-white"})}),K.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):K.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-lna-hint",children:"Not set up"})})]}),K.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"extension-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(m),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"extension-status-label",children:"Browser Extension"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"extension-status-details",children:m?\`Version \${u.version}\`:u.error.message})]})]}),K.jsx("span",{className:\`text-xs font-medium \${b(m).className}\`,"data-testid":"extension-status-text",children:b(m).text})]}),K.jsxs("div",{className:"flex items-center justify-between py-2","data-testid":"server-status-row",children:[K.jsxs("div",{className:"flex items-center",children:[y(h),K.jsxs("div",{className:"ml-3",children:[K.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"server-status-label",children:"Local Server (via Extension)"}),K.jsx("p",{className:"text-xs text-gray-500","data-testid":"server-status-details",children:h?\`Version \${c.version}\`:c.error.message})]})]}),K.jsx("div",{className:"flex items-center",children:s?K.jsxs("label",{htmlFor:"connection-extension",className:"flex items-center space-x-2 cursor-pointer",children:[K.jsx("button",{type:"button",role:"radio","aria-checked":"extension"===g,id:"connection-extension","data-testid":"connection-extension",onClick:()=>v("extension"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("extension"===g?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"extension"===g&&K.jsx(se,{className:"w-3 h-3 text-white"})}),K.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):K.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-extension-hint",children:"Not set up"})})]})]})]}),!a&&K.jsx("div",{className:"text-center bg-gray-50 rounded-lg p-4","data-testid":"help-text-section",children:K.jsx("p",{className:"text-sm text-gray-600 mb-2","data-testid":"help-text",children:"You can navigate to any step using the progress indicator above to complete the remaining setup."})})]})}function Et(){const e=_e(e=>e.setupState),t=_e(e=>e.ui.currentStep),n=_e(e=>e.ui.isRefreshing),r=_e(e=>e.setCurrentStep),a=_e(e=>e.setIsRefreshing),l=_e(e=>e.sendMessage),s=D.useRef(null),i=_e(qe),o=!_e(Re);D.useEffect(()=>{r(i)},[i,r]),D.useEffect(()=>()=>{s.current&&clearTimeout(s.current)},[]);return K.jsxs("div",{className:"flex flex-col h-screen",children:[K.jsxs("div",{className:"p-4 border-b flex items-center justify-between flex-shrink-0",children:[K.jsxs("div",{className:"flex items-center",children:[K.jsx("img",{src:\`data:image/png;base64,\${"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAEYxJREFUeF7tXW+MXUUVnxUslH8GiKEY/QJYUz9Atd80cbcqDRpDTIEPxibVRPFPQkyJ5YMVdzeIf6hKWkwkGqMEjIgFGz5Qgn92S7EfJEDbLw2FognCFrSitHWhi3numX3zdu7cc2bOzJx737v3vZtsCu/dO3fmnN/5nXNmzswbU6NrqCUwNtSjHw1ejQAw5CAYAWAEgCGXwJAPf8QAIwAMpQQmlFLwN66U2tuVwOziZ/A3VNewMQAofSag4enF76eGBQXDBABQ6iRTsUMDgmEBAFg9WH/MBe5gfcwDTbx3GACAWv7E2nVaX/Dv7IGn9B9ytZ4J2g4AVPlTn7tRTW7+YkHf0/f8TE398qdDB4I2AwAN+DDlG60DC6zf8mUMBOAKWpkhtBkAHVeTPuWbewkmaG080FYAlII+jvKHEQRtBEDJ70OgN3Pn3VFBOrgCJDBsXVDYNgCgQV9n5sko5cPNwxIPtA0ASX6fQsfsvifU+m9taXVQ2CYAlKw/xu+jIHjpuJp+6D41tfjnXK0JCtsCAHnln5hX6vX/ar2vv/0WNXv4kAuCVqSGbQFAifpT/H5Pw5bydTxw+JAGQRtZoA0AkLX+NxeU+ufrJY9AuILGZwVNB4BIylfQ9kvHyYyhja6g6QAoTfhAvm8WeqJzP4f6S5zfQlfQZADIUn9A+b1ZQjwraGxA2GQAyAV+TOUbEBCuoJGybGSnFxUhZ/1E0OdzH0RW0EgWkAKAW21T9dKpnPVDxA8giLwQFqhjckhczrkAgA5BnR1WbgUpElzSBZZy1h9J/TZGamIBI1dKxtClrFQ0FQCc6tqCvLrl1xJgkLH+DOV7YgEJFjBGBa+JqWNMckEpAIhVPjaDBrX4KXX4Mtaf4PcxDyHIAj4mjXFO0SCIBUCu8rHBxFBYCQBJU76Jfh/rfGYsIKV4u2tRIIgFADrzBgWW9uQLlFVp548XWVKI5gChQP9Jq30C1C8QC8TsUVATa65Ukxs36dfCf2vH312hzF2pjAVAQQGcShsorNh78OkYMFBAkLF+z1RvDNfa945tusZ91AfmoPKNkkHp5r+pvuXOScQAIFsBkWBwhThw1p8YDJKbVIylh5QuwEC9JpIBwLF+n0VFuAmTTha2dUXTvzD1pyihc++eiV1/eWLyhrtu70X3KUp35ZoTh8QAoIDcaAV40ODZlEE+FR38VUD9ATfQC8ZA8WpsrJDLmwKTGGuPcAPsdHQgAGAGxgVCNPgqtH6fG+jcu2faVXxqnOFl0/ICVTMBwAVCNAAqtn7oNzYn0Nn5gFIr3r40rPNWVqH7XkbgZAMNBgBY69xxXZa99+hhNfXYgyXBRdF/DdZvOuhmAzNf+aaauHzNcv8vumAZEIJwQKqVKgFAIQrPKrzwDX7uuFIvL1flTD/2UAEEg2j9lBsA5QMIehewAYBA+CLK1VjunXVTt7/VAwCs9ciLqHhm51/VNBpV7VOj9UOnXUWUAAA3VcACxJQ0S7esm2oDgGP9BSSsfo9S50f6UcEpX47RonHAD35VfHQEAI8ofQBYt5qjg+V7arZ+KhAsxQHnnSMeELafAc4/R6nV7x54AEAHg4FgBXFAewBw5O9KnVjajVO43nWxUpdeHAeAGlI/rEPurNzUhuvU5IaNlQaC7QHAU0dwJccCoA/0bzruBoIlAMCNqyLBHIB+e7IAKQDUHPzZ+mFlAg0FQGVrAVqAnhRQxWYAfaL/fqWCdTFAMwDQR/qnMoFOxalgXTOBIwAwwtB+zAX0BQC59QA9WUKBJljt6QW9BuBes0cPq73zr5bO9SN10Uf67xcD1FUPUKgIgnVsffDSWd3VLoZ1FG4xijebMgAA/ypuy7bXAViAE6r2jR2KfX8/GAABAKe+Unc7Ziq4VBHcue9RpS44J26K1lW8kR4CgLGvf7agi+ACVJ/9f78YILImsSDTfABAcwCCFWf62YBSvCQA+kz/AwQAdml4DABgfMUVwW13FKtWwR24LsFQfGj/XS4DDID1YwCoekUwJwWMdQFhAOQ4TwQA63/ybQVBoLmmPvN5NXnjV4tvCTFLTp8SnmVNBAmuCNYNgEIqqAPBbXckiIl45FgxCygBYOOm3gYJzTQhVpHrGbslFgAEZwJzMoAUBugrAMQBx1Yr/8a6AZATAKYAoJQJAANIlDZrEUMaCK6ge7nlYE0EQJWLQcQqIDsFTAFAtXFACwBQ53Jwrv9PBUB1buDkvFInl+sBIACEOMC+9NzDAF/BghDBiqCcKWAjwtg0EJ4r7W0TUwoDAKIuRxhIrFlAQQDk+v9UBqguDuCkgnYmIKzA3OZYAaBQCkjQP3sCKIcBSiwgGpwFUkHRd+Vq3Hm+zmqg3G3hogDQkaGUb3YCwSbFAS4lV5UBSET/uQAouYEpKWpmAGBQ44C6AkAp+k+NAQx4qskGOGsCknMPQm4AU0qpEkgoAESCP/ZeQHe4KVmAaaO6YLCBcUAw/wepCUwBSx9bnwOA6oLBBrqBuvw/Yv1ZTJ4LgNK5QSL+2QGAHqFTHDJI2UBd9C9t/VnIsXxJ+eTO3IyAMR8wSABgWb9A/i9t/VIAKJ/eKZERNMQNYFZZRfpHWD/oMOtM5lwXgGYEOjjIjdQbwgJ10L9H+VgOA4BgH8ObDIDOzJO9k6x37d6tbtixfPQZ9EqEop1swF0eFgFaZhrIov/M6D8SAPaIgkvDFADsE6vhYGd9yndX6cWjy7tbutzqHbg/e3KI4QZEgJYIggG0fmokJBAwAJTy+99OfW/2+vGP4UeXdzd0YlO22RbKcAPZ70hUvg6gnCNiUd+fMflDWT5MMOkNM0cPq9kXn8N+1JINBBcA6Dm23oOZrB29FAiy1gkcN4C9ox8swLL+jMkfYr5flUDWdS/QH8265Z+5dcFQYAMbAOhR8N4dOciOXswVZCnIqRGA0WDvyA46I5mgauvHUj6UYZD0kgGG3rKxDYC0H2NATvUQB8GAsQBm/aWzgDKsH1vqRZXPOG6GcCO9tQMDgDTlwyARFqBcQXJQOEAsgFGzpO/3+f0SSTHjC9/qIQmAqNM4ERYQB8GAZARV+n5K+RIAozaQogCIPo0ToImAAMvbk9NDZkaQzDKMGIA968e0TPuVRIVPOegzD0XOLVQPAOKIF1EQMBaJ9HxF7loEAQYsMCut+Uf6fnApACxzfLz9atTy4YaEdQWqgtgwQLG4Y+26pb3/sVckCKJ/LAFhgbrSwiqsn0r1NEu6x8sZXSSwCzyK9F+ngwYA5eKO1F/h/tsxpY4XD3rQHXAOfS4gPWbxCGGBSmYhrQ5WoXzf9K608mEoVAm5nQZG/yBUT0buDl0kahcDAZMF4H1ScwNs6mdSc93K91UQ2wAobfjwBoOhbdkECKjsABTGdglI2xjDZE1AddHNzskZ1Ozz93COwOSG64q/L5BJ+wT164+B/jUzOG6+VNxROpYlpHi7QQIEcAtG2+ZRViRfgytgU38g8PMpXgPf/V0BW4YMYFGhmodpenp3AYBOB898/8dLO4BB+bF78j0g8MUFOhDyxQaIK9CIdkrHgu0Q0pOakAkt5ZL+HvqVoXxPgEmuBfQMsPuL4D3RZFMpoaxQXGCUN77mSnwLOgIuiVVJSnjodC+hJI7Vk5QPA2fGE5T1E36/tCxM1QOU44GYSJ3qFULb5tYQG5C5PdIm1RY3KGQvxHjm4on6PT1cL+VDm/ADU+bHpihZej4Pzf/bj/oKQgAEhYvlm0MdTnQJpPIIdkldkGIHfR6/TzGIN9CD9hiLOyHxcvw+BwAaqN2t4LWCgHILnbt/R//ShhAIMOGR1urxz7MHn1Lrt29bdqG+CN/clUn5Wm7l3w80rZO7hkM1gXiBiIQ7gK552MAAAf4dv3zNcnpECT4iHsCYLDvoAxCefmvpiJvTC72KnULfMfMVsPqA8r11gSEA6DjMDQr1hzWBgKQ8AAJc9g8yIvEAZ1WSUj4r6AOFA/iss41CNN37PiPKt9/hsfzkotCS+68UBAw28AoVBAknlYI1RYJAgxkpo0KVb6w1R+katHI/HEWtItqTPT7ZcRjAVAjjRaGCU666owG3ELQuEK51zpC5P5Rl2O16c3MAQYq1wwsEInzTz1Ca2d0bYPYIkGILAQClf6w1MZdgQKD/RX5AKogA+gYOCArKz1G23Q1BxUOzocklRwLJMUBpLiAke1EQVAQEHwgg4p+4/P3FX/kKDdr3vbDi4VUeyvf1JGpfADREKv/aWz6oX/TwHU+TLxQHgoRrsHobYoJsIFSgeJ/Vv+/Dl6prt35APbv/mE8v6CESmAtAaX/t+BXq6i2rFbzMXA9vf6Y/QMhwD3Or/q3uP7Vf3fwl5yddCTh744EKab4Xu9C5vb4FDBKUb1/7dr6s7rltDzaiEghYG0Pu/MNN6qqPXKFe+M+hUqMhEMADlTCCYYVu3h1ialD8M1f9Vc2tek09++c5tf3Tj4QeKXyPsoKZrs2cunU7wgjw9CNbd3+yYJCmncvecaU6+PjzasvH78LGSC4GoZa/+dZPqM23XqMbeu3NV9Rrb7yCCo4DBFhUMmv+UdL33Gxq6abv/4X233CZX+q0lW43gfUVLMnn1uznNRgWT0ofv2qd2DnJXKVDP4CFQfnYdeHZl6gLz7pEf+UBAboxpFQLYCvfvGzu1Atq/q2TJAjgC7YgrVU+WPGDCzt42i6Y3Ht4iYXgM6yQEr779Q+3qgs+dYaau+gfLLDaAuUAGWvUgBu+M2MpgGZxrO44zP9T43DfY3y97Ybte1aeeZ669NzLCo/dc9ujmDsIbwzBlG9a9jGBBsD2Z/StXCBIsYFpB/OL9juA/sEN+O7v9xjs/oYUD/falu/KkwCBZgFyY8ifTu/w6uWNt05pl0CxQT+BQPlGM6AvvPPnhbGFAANgAMDYoJEGLdYeR/Fg9UD5Z595rrdLH13xNfd7zQIGAAX691m/20qIDcz9VVsUCEv/fWgVGhjZ/XCZ6cET3yBjG3e8VY7DUDtE9RTN2/3xWb3b75uvvksd2Pu8+/EYAKAU/IWsH4MaFwjwrLam/cd0M7GWZQvGpD8cYXkAMDuzsFPNL5ycmP/fSTYQXGDHjiVnHFyrt/VEBISaAQoAgHz/R7+/KZnhYoDgvsRHsTFKdtsFgQFFPvCdfeo3393nfj09s3DnbKfztl4BTM4Y7Max8eSMI8biMQUiLKBjgMKsXwz9+1AiJcRkJCqlXEtB/CA0r93gzMLOmU6nU1jwgjHARaW+OX3jPpti7VTbtQLAdAKCRaBW/S+RPnKFEbrPWPrKM5Ys3r6ISLg3KbLIAhM2C7jvqnscJpcPBXchmQRkUB0DUB0zVpULCFA2XCAgTOEM5ZemRUMgsNu0AQGfp4LbjAPa4ETzMQp370WMQAMgOgOAgAIuJKrUn0McAVPHMZcRKPUMKNkonNsu9BPmxIl+onVyf3xzx9TYmIKT0JIu7jhSxpIrcywQLMUAVBAYECYqrCUgvFd/Z6aTk6Sa8BBB+aYl7xq5AQGM2YCn7v4befuUjonFyBzrLyaTEgCWlLU0/5+idJ+uoN2qwRBQPLw+WCcHN01cv3ZmdteBQlAoFSBjMjKs6mGsaDOw5U3FQAAAtPw7+m0JD9gMkeI24JXGSg8+/hzpkqyusZTfvZ+siZAAst3vWCtPEDX1iJ4Igotd+uW0BIGUe5G1g9yOG2CAUn0XFYMgz0A/g/VxznNsmdhAxq17eRwRfaaGLiXzwgERXBAYQcL9WEfsTuvtx1g1MRcIQvfFWL37SjYIhPrqNmNkbE4El5I5uT0cUxq8FM4LZp9ATbACMMN41+VUJK9esykW7+tTnUCIMbJQn115l+TiqwoGhYUQl6pIaLt32nhqI4g7ygVqqCum31JANvKto9+oLkNl4SGBSH5vg8K0C4KmLiM0jjuS7KfdltvnUH/tvlZlXFFjHSQARHV8dLOMBEYAkJFjY1sZAaCxqpPp+AgAMnJsbCsjADRWdTIdHwFARo6NbeX/CJxV4FwD8/0AAAAASUVORK5CYII=\\n".trim()}\`,alt:"Bodhi Logo",className:"w-8 h-8 mr-3"}),K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Bodhi Platform Setup"}),!e&&K.jsx("div",{className:"ml-3","data-testid":"loading-indicator",title:"Loading setup data...",children:K.jsx(be,{className:"w-4 h-4 text-blue-500 animate-spin"})}),o&&K.jsx("div",{className:"ml-3","data-testid":"platform-not-supported-indicator",title:"Platform not supported - setup may not work",children:K.jsx(Se,{className:"w-4 h-4 text-red-500"})})]}),K.jsxs("div",{className:"flex items-center space-x-2",children:[K.jsx("button",{onClick:()=>{a(!0),l("modal:refresh",void 0).catch(e=>{}),s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{a(!1),s.current=null},2e3)},className:"p-1.5 rounded-full hover:bg-gray-100 "+(n?"bg-blue-50":""),title:"Refresh detection","data-testid":"refresh-button","data-refreshing":n,disabled:n,children:K.jsx(xe,{className:"w-4 h-4 text-gray-600 hover:text-blue-600 "+(n?"animate-spin text-blue-600":"")})}),K.jsx("button",{onClick:()=>{l("modal:close",void 0).catch(e=>{})},className:"p-1.5 rounded-full hover:bg-gray-100 hover:bg-red-50",title:"Close modal","data-testid":"close-button",children:K.jsx(Ce,{className:"w-4 h-4 text-gray-600 hover:text-red-600"})})]})]}),K.jsxs("div",{className:"flex flex-col flex-1 p-4 min-h-0",children:[K.jsx("div",{className:"flex-shrink-0",children:K.jsx(Ge,{onStepClick:e=>{r(e)}})}),K.jsx("div",{className:"mt-6 flex-1 overflow-y-auto min-h-0 w-full","data-testid":"content-area",children:e?K.jsxs(K.Fragment,{children:[t===G.PLATFORM_CHECK&&K.jsx(Nt,{}),t===G.SERVER_SETUP&&K.jsx(Ct,{}),t===G.LNA_SETUP&&K.jsx(St,{}),t===G.EXTENSION_SETUP&&K.jsx(kt,{}),t===G.COMPLETE&&K.jsx(jt,{})]}):K.jsx("div",{className:"flex items-center justify-center h-full",children:K.jsxs("div",{className:"text-center",children:[K.jsx(be,{className:"w-8 h-8 text-blue-500 animate-spin mx-auto mb-4"}),K.jsx("p",{className:"text-gray-600",children:"Loading setup data..."})]})})})]})]})}function At(){const{isReady:e}=function(){const e=_e(e=>e.setupState),t=_e(e=>e.setSetupState),n=_e(e=>e.initChannel),r=_e(e=>e.sendMessage),[a,l]=D.useState(!1);return D.useEffect(()=>{l(!1);const e=n().on("parent:state-update",({setupState:e})=>{t(e)});return r("modal:ready",void 0).then(({setupState:e})=>{t(e),l(!0)}).catch(e=>{}),()=>{e()}},[n,t,r]),D.useEffect(()=>{if(!e||null!==e.selectedConnection)return;const t=_e.getState(),n=Be(t),a=Qe(t);n?r("modal:select-connection",{connection:"lna"}).catch(e=>{}):a&&r("modal:select-connection",{connection:"extension"}).catch(e=>{})},[e?.lna.status,e?.lnaServer.status,e?.extension.status,e?.server.status,e?.selectedConnection,r]),{setupState:e,sendMessage:r,isReady:a}}();return K.jsx("div",{className:"w-full h-screen bg-white","data-testid":"div-setup-modal","data-test-state":e?"ready":"loading",children:K.jsx(Et,{})})}class zt extends D.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){}handleReload=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?K.jsx("div",{className:"flex items-center justify-center h-screen bg-gray-50",children:K.jsxs("div",{className:"max-w-md p-6 bg-white rounded-lg shadow-lg border border-red-200",children:[K.jsxs("div",{className:"flex items-center mb-4",children:[K.jsx(Se,{className:"w-8 h-8 text-red-500 mr-3"}),K.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Something went wrong"})]}),K.jsx("p",{className:"text-gray-600 mb-4",children:"An unexpected error occurred in the setup modal. Please try reloading or contact support if the problem persists."}),this.state.error&&!1,K.jsx("button",{onClick:this.handleReload,className:"w-full px-4 py-2 text-sm font-medium text-white bg-red-600 rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500",children:"Try Again"})]})}):this.props.children}}var Pt={exports:{}},Lt={},_t={exports:{}},Ot={};
44
+ /**
45
+ * @license React
46
+ * scheduler.production.min.js
47
+ *
48
+ * Copyright (c) Facebook, Inc. and its affiliates.
49
+ *
50
+ * This source code is licensed under the MIT license found in the
51
+ * LICENSE file in the root directory of this source tree.
52
+ */
53
+ !function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,l=e[r];if(!(0<a(l,t)))break e;e[r]=t,e[n]=l,n=r}}function n(e){return 0===e.length?null:e[0]}function r(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,l=e.length,s=l>>>1;r<s;){var i=2*(r+1)-1,o=e[i],u=i+1,c=e[u];if(0>a(o,n))u<l&&0>a(c,o)?(e[r]=c,e[u]=n,r=u):(e[r]=o,e[i]=n,r=i);else{if(!(u<l&&0>a(c,n)))break e;e[r]=c,e[u]=n,r=u}}}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 l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,i=s.now();e.unstable_now=function(){return s.now()-i}}var o=[],u=[],c=1,d=null,f=3,p=!1,m=!1,h=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var a=n(u);null!==a;){if(null===a.callback)r(u);else{if(!(a.startTime<=e))break;r(u),a.sortIndex=a.expirationTime,t(o,a)}a=n(u)}}function x(e){if(h=!1,b(e),!m)if(null!==n(o))m=!0,_(w);else{var t=n(u);null!==t&&O(x,t.startTime-e)}}function w(t,a){m=!1,h&&(h=!1,v(C),C=-1),p=!0;var l=f;try{for(b(a),d=n(o);null!==d&&(!(d.expirationTime>a)||t&&!A());){var s=d.callback;if("function"==typeof s){d.callback=null,f=d.priorityLevel;var i=s(d.expirationTime<=a);a=e.unstable_now(),"function"==typeof i?d.callback=i:d===n(o)&&r(o),b(a)}else r(o);d=n(o)}if(null!==d)var c=!0;else{var g=n(u);null!==g&&O(x,g.startTime-a),c=!1}return c}finally{d=null,f=l,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,S=!1,N=null,C=-1,j=5,E=-1;function A(){return!(e.unstable_now()-E<j)}function z(){if(null!==N){var t=e.unstable_now();E=t;var n=!0;try{n=N(!0,t)}finally{n?k():(S=!1,N=null)}}else S=!1}if("function"==typeof y)k=function(){y(z)};else if("undefined"!=typeof MessageChannel){var P=new MessageChannel,L=P.port2;P.port1.onmessage=z,k=function(){L.postMessage(null)}}else k=function(){g(z,0)};function _(e){N=e,S||(S=!0,k())}function O(t,n){C=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,_(w))},e.unstable_forceFrameRate=function(e){0>e||125<e||(j=0<e?Math.floor(1e3/e):5)},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(o)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,a,l){var s=e.unstable_now();switch("object"==typeof l&&null!==l?l="number"==typeof(l=l.delay)&&0<l?s+l:s:l=s,r){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return r={id:c++,callback:a,priorityLevel:r,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>s?(r.sortIndex=l,t(u,r),null===n(o)&&r===n(u)&&(h?(v(C),C=-1):h=!0,O(x,l-s))):(r.sortIndex=i,t(o,r),m||p||(m=!0,_(w))),r},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}}(Ot),_t.exports=Ot;var Tt=_t.exports,Mt=D,Rt=Tt;
54
+ /**
55
+ * @license React
56
+ * react-dom.production.min.js
57
+ *
58
+ * Copyright (c) Facebook, Inc. and its affiliates.
59
+ *
60
+ * This source code is licensed under the MIT license found in the
61
+ * LICENSE file in the root directory of this source tree.
62
+ */function It(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 Ft=new Set,Dt={};function Ut(e,t){Bt(e,t),Bt(e+"Capture",t)}function Bt(e,t){for(Dt[e]=t,e=0;e<t.length;e++)Ft.add(t[e])}var Qt=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),Vt=Object.prototype.hasOwnProperty,Ht=/^[: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]*$/,qt={},Wt={};function Yt(e,t,n,r,a,l,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var Kt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Kt[e]=new Yt(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Kt[t]=new Yt(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Kt[e]=new Yt(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Kt[e]=new Yt(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){Kt[e]=new Yt(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Kt[e]=new Yt(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Kt[e]=new Yt(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Kt[e]=new Yt(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Kt[e]=new Yt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Gt=/[\\-:]([a-z])/g;function Xt(e){return e[1].toUpperCase()}function $t(e,t,n,r){var a=Kt.hasOwnProperty(t)?Kt[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!Vt.call(Wt,e)||!Vt.call(qt,e)&&(Ht.test(e)?Wt[e]=!0:(qt[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Gt,Xt);Kt[t]=new Yt(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(Gt,Xt);Kt[t]=new Yt(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(Gt,Xt);Kt[t]=new Yt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Kt[e]=new Yt(e,1,!1,e.toLowerCase(),null,!1,!1)}),Kt.xlinkHref=new Yt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Kt[e]=new Yt(e,1,!1,e.toLowerCase(),null,!0,!0)});var Zt=Mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Jt=Symbol.for("react.element"),en=Symbol.for("react.portal"),tn=Symbol.for("react.fragment"),nn=Symbol.for("react.strict_mode"),rn=Symbol.for("react.profiler"),an=Symbol.for("react.provider"),ln=Symbol.for("react.context"),sn=Symbol.for("react.forward_ref"),on=Symbol.for("react.suspense"),un=Symbol.for("react.suspense_list"),cn=Symbol.for("react.memo"),dn=Symbol.for("react.lazy"),fn=Symbol.for("react.offscreen"),pn=Symbol.iterator;function mn(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=pn&&e[pn]||e["@@iterator"])?e:null}var hn,gn=Object.assign;function vn(e){if(void 0===hn)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);hn=t&&t[1]||""}return"\\n"+hn+e}var yn=!1;function bn(e,t){if(!e||yn)return"";yn=!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(V){var r=V}Reflect.construct(e,[],t)}else{try{t.call()}catch(V){r=V}e.call(t.prototype)}else{try{throw Error()}catch(V){r=V}e()}}catch(V){if(V&&r&&"string"==typeof V.stack){for(var a=V.stack.split("\\n"),l=r.stack.split("\\n"),s=a.length-1,i=l.length-1;1<=s&&0<=i&&a[s]!==l[i];)i--;for(;1<=s&&0<=i;s--,i--)if(a[s]!==l[i]){if(1!==s||1!==i)do{if(s--,0>--i||a[s]!==l[i]){var o="\\n"+a[s].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}}while(1<=s&&0<=i);break}}}finally{yn=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?vn(e):""}function xn(e){switch(e.tag){case 5:return vn(e.type);case 16:return vn("Lazy");case 13:return vn("Suspense");case 19:return vn("SuspenseList");case 0:case 2:case 15:return e=bn(e.type,!1);case 11:return e=bn(e.type.render,!1);case 1:return e=bn(e.type,!0);default:return""}}function wn(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 tn:return"Fragment";case en:return"Portal";case rn:return"Profiler";case nn:return"StrictMode";case on:return"Suspense";case un:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ln:return(e.displayName||"Context")+".Consumer";case an:return(e._context.displayName||"Context")+".Provider";case sn:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case cn:return null!==(t=e.displayName||null)?t:wn(e.type)||"Memo";case dn:t=e._payload,e=e._init;try{return wn(e(t))}catch(n){}}return null}function kn(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 wn(t);case 8:return t===nn?"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 Sn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Nn(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Cn(e){e._valueTracker||(e._valueTracker=function(e){var t=Nn(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,l.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 jn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Nn(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function En(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function An(e,t){var n=t.checked;return gn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function zn(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Sn(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 Pn(e,t){null!=(t=t.checked)&&$t(e,"checked",t,!1)}function Ln(e,t){Pn(e,t);var n=Sn(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")?On(e,t.type,n):t.hasOwnProperty("defaultValue")&&On(e,t.type,Sn(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function _n(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 On(e,t,n){"number"===t&&En(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Tn=Array.isArray;function Mn(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Sn(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function Rn(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(It(91));return gn({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function In(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(It(92));if(Tn(n)){if(1<n.length)throw Error(It(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Sn(n)}}function Fn(e,t){var n=Sn(t.value),r=Sn(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 Dn(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function Un(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 Bn(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Un(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Qn,Vn,Hn=(Vn=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((Qn=Qn||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Qn.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 Vn(e,t)})}:Vn);function qn(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 Wn={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},Yn=["Webkit","ms","Moz","O"];function Kn(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Wn.hasOwnProperty(e)&&Wn[e]?(""+t).trim():t+"px"}function Gn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=Kn(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(Wn).forEach(function(e){Yn.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Wn[t]=Wn[e]})});var Xn=gn({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 $n(e,t){if(t){if(Xn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(It(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(It(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(It(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(It(62))}}function Zn(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 Jn=null;function er(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tr=null,nr=null,rr=null;function ar(e){if(e=$s(e)){if("function"!=typeof tr)throw Error(It(280));var t=e.stateNode;t&&(t=Js(t),tr(e.stateNode,e.type,t))}}function lr(e){nr?rr?rr.push(e):rr=[e]:nr=e}function sr(){if(nr){var e=nr,t=rr;if(rr=nr=null,ar(e),t)for(e=0;e<t.length;e++)ar(t[e])}}function ir(e,t){return e(t)}function or(){}var ur=!1;function cr(e,t,n){if(ur)return e(t,n);ur=!0;try{return ir(e,t,n)}finally{ur=!1,(null!==nr||null!==rr)&&(or(),sr())}}function dr(e,t){var n=e.stateNode;if(null===n)return null;var r=Js(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(It(231,t,typeof n));return n}var fr=!1;if(Qt)try{var pr={};Object.defineProperty(pr,"passive",{get:function(){fr=!0}}),window.addEventListener("test",pr,pr),window.removeEventListener("test",pr,pr)}catch(Vn){fr=!1}function mr(e,t,n,r,a,l,s,i,o){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(If){this.onError(If)}}var hr=!1,gr=null,vr=!1,yr=null,br={onError:function(e){hr=!0,gr=e}};function xr(e,t,n,r,a,l,s,i,o){hr=!1,gr=null,mr.apply(br,arguments)}function wr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function kr(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 Sr(e){if(wr(e)!==e)throw Error(It(188))}function Nr(e){return e=function(e){var t=e.alternate;if(!t){if(null===(t=wr(e)))throw Error(It(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var l=a.alternate;if(null===l){if(null!==(r=a.return)){n=r;continue}break}if(a.child===l.child){for(l=a.child;l;){if(l===n)return Sr(a),e;if(l===r)return Sr(a),t;l=l.sibling}throw Error(It(188))}if(n.return!==r.return)n=a,r=l;else{for(var s=!1,i=a.child;i;){if(i===n){s=!0,n=a,r=l;break}if(i===r){s=!0,r=a,n=l;break}i=i.sibling}if(!s){for(i=l.child;i;){if(i===n){s=!0,n=l,r=a;break}if(i===r){s=!0,r=l,n=a;break}i=i.sibling}if(!s)throw Error(It(189))}}if(n.alternate!==r)throw Error(It(190))}if(3!==n.tag)throw Error(It(188));return n.stateNode.current===n?e:t}(e),null!==e?Cr(e):null}function Cr(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Cr(e);if(null!==t)return t;e=e.sibling}return null}var jr=Rt.unstable_scheduleCallback,Er=Rt.unstable_cancelCallback,Ar=Rt.unstable_shouldYield,zr=Rt.unstable_requestPaint,Pr=Rt.unstable_now,Lr=Rt.unstable_getCurrentPriorityLevel,_r=Rt.unstable_ImmediatePriority,Or=Rt.unstable_UserBlockingPriority,Tr=Rt.unstable_NormalPriority,Mr=Rt.unstable_LowPriority,Rr=Rt.unstable_IdlePriority,Ir=null,Fr=null;var Dr=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(Ur(e)/Br|0)|0},Ur=Math.log,Br=Math.LN2;var Qr=64,Vr=4194304;function Hr(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 qr(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,l=e.pingedLanes,s=268435455&n;if(0!==s){var i=s&~a;0!==i?r=Hr(i):0!==(l&=s)&&(r=Hr(l))}else 0!==(s=n&~a)?r=Hr(s):0!==l&&(r=Hr(l));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(l=t&-t)||16===a&&4194240&l))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Dr(t)),r|=e[n],t&=~a;return r}function Wr(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 Yr(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Kr(){var e=Qr;return!(4194240&(Qr<<=1))&&(Qr=64),e}function Gr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Xr(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-Dr(t)]=n}function $r(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Dr(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var Zr=0;function Jr(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var ea,ta,na,ra,aa,la=!1,sa=[],ia=null,oa=null,ua=null,ca=new Map,da=new Map,fa=[],pa="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 ma(e,t){switch(e){case"focusin":case"focusout":ia=null;break;case"dragenter":case"dragleave":oa=null;break;case"mouseover":case"mouseout":ua=null;break;case"pointerover":case"pointerout":ca.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":da.delete(t.pointerId)}}function ha(e,t,n,r,a,l){return null===e||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[a]},null!==t&&(null!==(t=$s(t))&&ta(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function ga(e){var t=Xs(e.target);if(null!==t){var n=wr(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=kr(n)))return e.blockedOn=t,void aa(e.priority,function(){na(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 va(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Aa(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=$s(n))&&ta(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Jn=r,n.target.dispatchEvent(r),Jn=null,t.shift()}return!0}function ya(e,t,n){va(e)&&n.delete(t)}function ba(){la=!1,null!==ia&&va(ia)&&(ia=null),null!==oa&&va(oa)&&(oa=null),null!==ua&&va(ua)&&(ua=null),ca.forEach(ya),da.forEach(ya)}function xa(e,t){e.blockedOn===t&&(e.blockedOn=null,la||(la=!0,Rt.unstable_scheduleCallback(Rt.unstable_NormalPriority,ba)))}function wa(e){function t(t){return xa(t,e)}if(0<sa.length){xa(sa[0],e);for(var n=1;n<sa.length;n++){var r=sa[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ia&&xa(ia,e),null!==oa&&xa(oa,e),null!==ua&&xa(ua,e),ca.forEach(t),da.forEach(t),n=0;n<fa.length;n++)(r=fa[n]).blockedOn===e&&(r.blockedOn=null);for(;0<fa.length&&null===(n=fa[0]).blockedOn;)ga(n),null===n.blockedOn&&fa.shift()}var ka=Zt.ReactCurrentBatchConfig,Sa=!0;function Na(e,t,n,r){var a=Zr,l=ka.transition;ka.transition=null;try{Zr=1,ja(e,t,n,r)}finally{Zr=a,ka.transition=l}}function Ca(e,t,n,r){var a=Zr,l=ka.transition;ka.transition=null;try{Zr=4,ja(e,t,n,r)}finally{Zr=a,ka.transition=l}}function ja(e,t,n,r){if(Sa){var a=Aa(e,t,n,r);if(null===a)ks(e,t,r,Ea,n),ma(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return ia=ha(ia,e,t,n,r,a),!0;case"dragenter":return oa=ha(oa,e,t,n,r,a),!0;case"mouseover":return ua=ha(ua,e,t,n,r,a),!0;case"pointerover":var l=a.pointerId;return ca.set(l,ha(ca.get(l)||null,e,t,n,r,a)),!0;case"gotpointercapture":return l=a.pointerId,da.set(l,ha(da.get(l)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(ma(e,r),4&t&&-1<pa.indexOf(e)){for(;null!==a;){var l=$s(a);if(null!==l&&ea(l),null===(l=Aa(e,t,n,r))&&ks(e,t,r,Ea,n),l===a)break;a=l}null!==a&&r.stopPropagation()}else ks(e,t,r,null,n)}}var Ea=null;function Aa(e,t,n,r){if(Ea=null,null!==(e=Xs(e=er(r))))if(null===(t=wr(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=kr(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 Ea=e,null}function za(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(Lr()){case _r:return 1;case Or:return 4;case Tr:case Mr:return 16;case Rr:return 536870912;default:return 16}default:return 16}}var Pa=null,La=null,_a=null;function Oa(){if(_a)return _a;var e,t,n=La,r=n.length,a="value"in Pa?Pa.value:Pa.textContent,l=a.length;for(e=0;e<r&&n[e]===a[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===a[l-t];t++);return _a=a.slice(e,1<t?1-t:void 0)}function Ta(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 Ma(){return!0}function Ra(){return!1}function Ia(e){function t(t,n,r,a,l){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=l,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(a):a[s]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?Ma:Ra,this.isPropagationStopped=Ra,this}return gn(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=Ma)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Ma)},persist:function(){},isPersistent:Ma}),t}var Fa,Da,Ua,Ba={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Qa=Ia(Ba),Va=gn({},Ba,{view:0,detail:0}),Ha=Ia(Va),qa=gn({},Va,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:rl,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!==Ua&&(Ua&&"mousemove"===e.type?(Fa=e.screenX-Ua.screenX,Da=e.screenY-Ua.screenY):Da=Fa=0,Ua=e),Fa)},movementY:function(e){return"movementY"in e?e.movementY:Da}}),Wa=Ia(qa),Ya=Ia(gn({},qa,{dataTransfer:0})),Ka=Ia(gn({},Va,{relatedTarget:0})),Ga=Ia(gn({},Ba,{animationName:0,elapsedTime:0,pseudoElement:0})),Xa=gn({},Ba,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),$a=Ia(Xa),Za=Ia(gn({},Ba,{data:0})),Ja={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},el={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"},tl={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nl(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=tl[e])&&!!t[e]}function rl(){return nl}var al=gn({},Va,{key:function(e){if(e.key){var t=Ja[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Ta(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?el[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:rl,charCode:function(e){return"keypress"===e.type?Ta(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Ta(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ll=Ia(al),sl=Ia(gn({},qa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),il=Ia(gn({},Va,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:rl})),ol=Ia(gn({},Ba,{propertyName:0,elapsedTime:0,pseudoElement:0})),ul=gn({},qa,{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}),cl=Ia(ul),dl=[9,13,27,32],fl=Qt&&"CompositionEvent"in window,pl=null;Qt&&"documentMode"in document&&(pl=document.documentMode);var ml=Qt&&"TextEvent"in window&&!pl,hl=Qt&&(!fl||pl&&8<pl&&11>=pl),gl=String.fromCharCode(32),vl=!1;function yl(e,t){switch(e){case"keyup":return-1!==dl.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function bl(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var xl=!1;var wl={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 kl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!wl[e.type]:"textarea"===t}function Sl(e,t,n,r){lr(r),0<(t=Ns(t,"onChange")).length&&(n=new Qa("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Nl=null,Cl=null;function jl(e){gs(e,0)}function El(e){if(jn(Zs(e)))return e}function Al(e,t){if("change"===e)return t}var zl=!1;if(Qt){var Pl;if(Qt){var Ll="oninput"in document;if(!Ll){var _l=document.createElement("div");_l.setAttribute("oninput","return;"),Ll="function"==typeof _l.oninput}Pl=Ll}else Pl=!1;zl=Pl&&(!document.documentMode||9<document.documentMode)}function Ol(){Nl&&(Nl.detachEvent("onpropertychange",Tl),Cl=Nl=null)}function Tl(e){if("value"===e.propertyName&&El(Cl)){var t=[];Sl(t,Cl,e,er(e)),cr(jl,t)}}function Ml(e,t,n){"focusin"===e?(Ol(),Cl=n,(Nl=t).attachEvent("onpropertychange",Tl)):"focusout"===e&&Ol()}function Rl(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return El(Cl)}function Il(e,t){if("click"===e)return El(t)}function Fl(e,t){if("input"===e||"change"===e)return El(t)}var Dl="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Ul(e,t){if(Dl(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!Vt.call(t,a)||!Dl(e[a],t[a]))return!1}return!0}function Bl(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ql(e,t){var n,r=Bl(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=Bl(r)}}function Vl(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Vl(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Hl(){for(var e=window,t=En();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=En((e=t.contentWindow).document)}return t}function ql(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 Wl(e){var t=Hl(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Vl(n.ownerDocument.documentElement,n)){if(null!==r&&ql(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,l=Math.min(r.start,a);r=void 0===r.end?l:Math.min(r.end,a),!e.extend&&l>r&&(a=r,r=l,l=a),a=Ql(n,l);var s=Ql(n,r);a&&s&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.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 Yl=Qt&&"documentMode"in document&&11>=document.documentMode,Kl=null,Gl=null,Xl=null,$l=!1;function Zl(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;$l||null==Kl||Kl!==En(r)||("selectionStart"in(r=Kl)&&ql(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},Xl&&Ul(Xl,r)||(Xl=r,0<(r=Ns(Gl,"onSelect")).length&&(t=new Qa("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Kl)))}function Jl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var es={animationend:Jl("Animation","AnimationEnd"),animationiteration:Jl("Animation","AnimationIteration"),animationstart:Jl("Animation","AnimationStart"),transitionend:Jl("Transition","TransitionEnd")},ts={},ns={};function rs(e){if(ts[e])return ts[e];if(!es[e])return e;var t,n=es[e];for(t in n)if(n.hasOwnProperty(t)&&t in ns)return ts[e]=n[t];return e}Qt&&(ns=document.createElement("div").style,"AnimationEvent"in window||(delete es.animationend.animation,delete es.animationiteration.animation,delete es.animationstart.animation),"TransitionEvent"in window||delete es.transitionend.transition);var as=rs("animationend"),ls=rs("animationiteration"),ss=rs("animationstart"),is=rs("transitionend"),os=new Map,us="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 cs(e,t){os.set(e,t),Ut(t,[e])}for(var ds=0;ds<us.length;ds++){var fs=us[ds];cs(fs.toLowerCase(),"on"+(fs[0].toUpperCase()+fs.slice(1)))}cs(as,"onAnimationEnd"),cs(ls,"onAnimationIteration"),cs(ss,"onAnimationStart"),cs("dblclick","onDoubleClick"),cs("focusin","onFocus"),cs("focusout","onBlur"),cs(is,"onTransitionEnd"),Bt("onMouseEnter",["mouseout","mouseover"]),Bt("onMouseLeave",["mouseout","mouseover"]),Bt("onPointerEnter",["pointerout","pointerover"]),Bt("onPointerLeave",["pointerout","pointerover"]),Ut("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ut("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ut("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ut("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ut("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ut("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ps="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(" "),ms=new Set("cancel close invalid load scroll toggle".split(" ").concat(ps));function hs(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,l,s,i,o){if(xr.apply(this,arguments),hr){if(!hr)throw Error(It(198));var u=gr;hr=!1,gr=null,vr||(vr=!0,yr=u)}}(r,t,void 0,e),e.currentTarget=null}function gs(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var s=r.length-1;0<=s;s--){var i=r[s],o=i.instance,u=i.currentTarget;if(i=i.listener,o!==l&&a.isPropagationStopped())break e;hs(a,i,u),l=o}else for(s=0;s<r.length;s++){if(o=(i=r[s]).instance,u=i.currentTarget,i=i.listener,o!==l&&a.isPropagationStopped())break e;hs(a,i,u),l=o}}}if(vr)throw e=yr,vr=!1,yr=null,e}function vs(e,t){var n=t[Ys];void 0===n&&(n=t[Ys]=new Set);var r=e+"__bubble";n.has(r)||(ws(t,e,2,!1),n.add(r))}function ys(e,t,n){var r=0;t&&(r|=4),ws(n,e,r,t)}var bs="_reactListening"+Math.random().toString(36).slice(2);function xs(e){if(!e[bs]){e[bs]=!0,Ft.forEach(function(t){"selectionchange"!==t&&(ms.has(t)||ys(t,!1,e),ys(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[bs]||(t[bs]=!0,ys("selectionchange",!1,t))}}function ws(e,t,n,r){switch(za(t)){case 1:var a=Na;break;case 4:a=Ca;break;default:a=ja}n=a.bind(null,t,n,e),a=void 0,!fr||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function ks(e,t,n,r,a){var l=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var i=r.stateNode.containerInfo;if(i===a||8===i.nodeType&&i.parentNode===a)break;if(4===s)for(s=r.return;null!==s;){var o=s.tag;if((3===o||4===o)&&((o=s.stateNode.containerInfo)===a||8===o.nodeType&&o.parentNode===a))return;s=s.return}for(;null!==i;){if(null===(s=Xs(i)))return;if(5===(o=s.tag)||6===o){r=l=s;continue e}i=i.parentNode}}r=r.return}cr(function(){var r=l,a=er(n),s=[];e:{var i=os.get(e);if(void 0!==i){var o=Qa,u=e;switch(e){case"keypress":if(0===Ta(n))break e;case"keydown":case"keyup":o=ll;break;case"focusin":u="focus",o=Ka;break;case"focusout":u="blur",o=Ka;break;case"beforeblur":case"afterblur":o=Ka;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":o=Wa;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":o=Ya;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":o=il;break;case as:case ls:case ss:o=Ga;break;case is:o=ol;break;case"scroll":o=Ha;break;case"wheel":o=cl;break;case"copy":case"cut":case"paste":o=$a;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":o=sl}var c=!!(4&t),d=!c&&"scroll"===e,f=c?null!==i?i+"Capture":null:i;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=dr(m,f))&&c.push(Ss(m,h,p)))),d)break;m=m.return}0<c.length&&(i=new o(i,u,null,n,a),s.push({event:i,listeners:c}))}}if(!(7&t)){if(o="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||n===Jn||!(u=n.relatedTarget||n.fromElement)||!Xs(u)&&!u[Ws])&&(o||i)&&(i=a.window===a?a:(i=a.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=r,null!==(u=(u=n.relatedTarget||n.toElement)?Xs(u):null)&&(u!==(d=wr(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(o=null,u=r),o!==u)){if(c=Wa,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=sl,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==o?i:Zs(o),p=null==u?i:Zs(u),(i=new c(h,m+"leave",o,n,a)).target=d,i.relatedTarget=p,h=null,Xs(a)===r&&((c=new c(f,m+"enter",u,n,a)).target=p,c.relatedTarget=d,h=c),d=h,o&&u)e:{for(f=u,m=0,p=c=o;p;p=Cs(p))m++;for(p=0,h=f;h;h=Cs(h))p++;for(;0<m-p;)c=Cs(c),m--;for(;0<p-m;)f=Cs(f),p--;for(;m--;){if(c===f||null!==f&&c===f.alternate)break e;c=Cs(c),f=Cs(f)}c=null}else c=null;null!==o&&js(s,i,o,c,!1),null!==u&&null!==d&&js(s,d,u,c,!0)}if("select"===(o=(i=r?Zs(r):window).nodeName&&i.nodeName.toLowerCase())||"input"===o&&"file"===i.type)var g=Al;else if(kl(i))if(zl)g=Fl;else{g=Rl;var v=Ml}else(o=i.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(g=Il);switch(g&&(g=g(e,r))?Sl(s,g,n,a):(v&&v(e,i,r),"focusout"===e&&(v=i._wrapperState)&&v.controlled&&"number"===i.type&&On(i,"number",i.value)),v=r?Zs(r):window,e){case"focusin":(kl(v)||"true"===v.contentEditable)&&(Kl=v,Gl=r,Xl=null);break;case"focusout":Xl=Gl=Kl=null;break;case"mousedown":$l=!0;break;case"contextmenu":case"mouseup":case"dragend":$l=!1,Zl(s,n,a);break;case"selectionchange":if(Yl)break;case"keydown":case"keyup":Zl(s,n,a)}var y;if(fl)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else xl?yl(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(hl&&"ko"!==n.locale&&(xl||"onCompositionStart"!==b?"onCompositionEnd"===b&&xl&&(y=Oa()):(La="value"in(Pa=a)?Pa.value:Pa.textContent,xl=!0)),0<(v=Ns(r,b)).length&&(b=new Za(b,e,null,n,a),s.push({event:b,listeners:v}),y?b.data=y:null!==(y=bl(n))&&(b.data=y))),(y=ml?function(e,t){switch(e){case"compositionend":return bl(t);case"keypress":return 32!==t.which?null:(vl=!0,gl);case"textInput":return(e=t.data)===gl&&vl?null:e;default:return null}}(e,n):function(e,t){if(xl)return"compositionend"===e||!fl&&yl(e,t)?(e=Oa(),_a=La=Pa=null,xl=!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 hl&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Ns(r,"onBeforeInput")).length&&(a=new Za("onBeforeInput","beforeinput",null,n,a),s.push({event:a,listeners:r}),a.data=y))}gs(s,t)})}function Ss(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ns(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,l=a.stateNode;5===a.tag&&null!==l&&(a=l,null!=(l=dr(e,n))&&r.unshift(Ss(e,l,a)),null!=(l=dr(e,t))&&r.push(Ss(e,l,a))),e=e.return}return r}function Cs(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function js(e,t,n,r,a){for(var l=t._reactName,s=[];null!==n&&n!==r;){var i=n,o=i.alternate,u=i.stateNode;if(null!==o&&o===r)break;5===i.tag&&null!==u&&(i=u,a?null!=(o=dr(n,l))&&s.unshift(Ss(n,o,i)):a||null!=(o=dr(n,l))&&s.push(Ss(n,o,i))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Es=/\\r\\n?/g,As=/\\u0000|\\uFFFD/g;function zs(e){return("string"==typeof e?e:""+e).replace(Es,"\\n").replace(As,"")}function Ps(e,t,n){if(t=zs(t),zs(e)!==t&&n)throw Error(It(425))}function Ls(){}var _s=null,Os=null;function Ts(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 Ms="function"==typeof setTimeout?setTimeout:void 0,Rs="function"==typeof clearTimeout?clearTimeout:void 0,Is="function"==typeof Promise?Promise:void 0,Fs="function"==typeof queueMicrotask?queueMicrotask:void 0!==Is?function(e){return Is.resolve(null).then(e).catch(Ds)}:Ms;function Ds(e){setTimeout(function(){throw e})}function Us(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void wa(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);wa(t)}function Bs(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 Qs(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 Vs=Math.random().toString(36).slice(2),Hs="__reactFiber$"+Vs,qs="__reactProps$"+Vs,Ws="__reactContainer$"+Vs,Ys="__reactEvents$"+Vs,Ks="__reactListeners$"+Vs,Gs="__reactHandles$"+Vs;function Xs(e){var t=e[Hs];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ws]||n[Hs]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Qs(e);null!==e;){if(n=e[Hs])return n;e=Qs(e)}return t}n=(e=n).parentNode}return null}function $s(e){return!(e=e[Hs]||e[Ws])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Zs(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(It(33))}function Js(e){return e[qs]||null}var ei=[],ti=-1;function ni(e){return{current:e}}function ri(e){0>ti||(e.current=ei[ti],ei[ti]=null,ti--)}function ai(e,t){ti++,ei[ti]=e.current,e.current=t}var li={},si=ni(li),ii=ni(!1),oi=li;function ui(e,t){var n=e.type.contextTypes;if(!n)return li;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,l={};for(a in n)l[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ci(e){return null!=(e=e.childContextTypes)}function di(){ri(ii),ri(si)}function fi(e,t,n){if(si.current!==li)throw Error(It(168));ai(si,t),ai(ii,n)}function pi(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(It(108,kn(e)||"Unknown",a));return gn({},n,r)}function mi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||li,oi=si.current,ai(si,e),ai(ii,ii.current),!0}function hi(e,t,n){var r=e.stateNode;if(!r)throw Error(It(169));n?(e=pi(e,t,oi),r.__reactInternalMemoizedMergedChildContext=e,ri(ii),ri(si),ai(si,e)):ri(ii),ai(ii,n)}var gi=null,vi=!1,yi=!1;function bi(e){null===gi?gi=[e]:gi.push(e)}function xi(){if(!yi&&null!==gi){yi=!0;var e=0,t=Zr;try{var n=gi;for(Zr=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}gi=null,vi=!1}catch(a){throw null!==gi&&(gi=gi.slice(e+1)),jr(_r,xi),a}finally{Zr=t,yi=!1}}return null}var wi=[],ki=0,Si=null,Ni=0,Ci=[],ji=0,Ei=null,Ai=1,zi="";function Pi(e,t){wi[ki++]=Ni,wi[ki++]=Si,Si=e,Ni=t}function Li(e,t,n){Ci[ji++]=Ai,Ci[ji++]=zi,Ci[ji++]=Ei,Ei=e;var r=Ai;e=zi;var a=32-Dr(r)-1;r&=~(1<<a),n+=1;var l=32-Dr(t)+a;if(30<l){var s=a-a%5;l=(r&(1<<s)-1).toString(32),r>>=s,a-=s,Ai=1<<32-Dr(t)+a|n<<a|r,zi=l+e}else Ai=1<<l|n<<a|r,zi=e}function _i(e){null!==e.return&&(Pi(e,1),Li(e,1,0))}function Oi(e){for(;e===Si;)Si=wi[--ki],wi[ki]=null,Ni=wi[--ki],wi[ki]=null;for(;e===Ei;)Ei=Ci[--ji],Ci[ji]=null,zi=Ci[--ji],Ci[ji]=null,Ai=Ci[--ji],Ci[ji]=null}var Ti=null,Mi=null,Ri=!1,Ii=null;function Fi(e,t){var n=uf(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 Di(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,Ti=e,Mi=Bs(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,Ti=e,Mi=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ei?{id:Ai,overflow:zi}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=uf(18,null,null,0)).stateNode=t,n.return=e,e.child=n,Ti=e,Mi=null,!0);default:return!1}}function Ui(e){return!(!(1&e.mode)||128&e.flags)}function Bi(e){if(Ri){var t=Mi;if(t){var n=t;if(!Di(e,t)){if(Ui(e))throw Error(It(418));t=Bs(n.nextSibling);var r=Ti;t&&Di(e,t)?Fi(r,n):(e.flags=-4097&e.flags|2,Ri=!1,Ti=e)}}else{if(Ui(e))throw Error(It(418));e.flags=-4097&e.flags|2,Ri=!1,Ti=e}}}function Qi(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ti=e}function Vi(e){if(e!==Ti)return!1;if(!Ri)return Qi(e),Ri=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!Ts(e.type,e.memoizedProps)),t&&(t=Mi)){if(Ui(e))throw Hi(),Error(It(418));for(;t;)Fi(e,t),t=Bs(t.nextSibling)}if(Qi(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(It(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Mi=Bs(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Mi=null}}else Mi=Ti?Bs(e.stateNode.nextSibling):null;return!0}function Hi(){for(var e=Mi;e;)e=Bs(e.nextSibling)}function qi(){Mi=Ti=null,Ri=!1}function Wi(e){null===Ii?Ii=[e]:Ii.push(e)}var Yi=Zt.ReactCurrentBatchConfig;function Ki(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(It(309));var r=n.stateNode}if(!r)throw Error(It(147,e));var a=r,l=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===l?t.ref:(t=function(e){var t=a.refs;null===e?delete t[l]:t[l]=e},t._stringRef=l,t)}if("string"!=typeof e)throw Error(It(284));if(!n._owner)throw Error(It(290,e))}return e}function Gi(e,t){throw e=Object.prototype.toString.call(t),Error(It(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Xi(e){return(0,e._init)(e._payload)}function $i(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=df(e,t)).index=0,e.sibling=null,e}function l(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 i(e,t,n,r){return null===t||6!==t.tag?((t=hf(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function o(e,t,n,r){var l=n.type;return l===tn?c(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===dn&&Xi(l)===t.type)?((r=a(t,n.props)).ref=Ki(e,t,n),r.return=e,r):((r=ff(n.type,n.key,n.props,null,e.mode,r)).ref=Ki(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=gf(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function c(e,t,n,r,l){return null===t||7!==t.tag?((t=pf(n,e.mode,r,l)).return=e,t):((t=a(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=hf(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case Jt:return(n=ff(t.type,t.key,t.props,null,e.mode,n)).ref=Ki(e,null,t),n.return=e,n;case en:return(t=gf(t,e.mode,n)).return=e,t;case dn:return d(e,(0,t._init)(t._payload),n)}if(Tn(t)||mn(t))return(t=pf(t,e.mode,n,null)).return=e,t;Gi(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:i(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case Jt:return n.key===a?o(e,t,n,r):null;case en:return n.key===a?u(e,t,n,r):null;case dn:return f(e,t,(a=n._init)(n._payload),r)}if(Tn(n)||mn(n))return null!==a?null:c(e,t,n,r,null);Gi(e,n)}return null}function p(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return i(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case Jt:return o(t,e=e.get(null===r.key?n:r.key)||null,r,a);case en:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case dn:return p(e,t,n,(0,r._init)(r._payload),a)}if(Tn(r)||mn(r))return c(t,e=e.get(n)||null,r,a,null);Gi(t,r)}return null}function m(a,s,i,o){for(var u=null,c=null,m=s,h=s=0,g=null;null!==m&&h<i.length;h++){m.index>h?(g=m,m=null):g=m.sibling;var v=f(a,m,i[h],o);if(null===v){null===m&&(m=g);break}e&&m&&null===v.alternate&&t(a,m),s=l(v,s,h),null===c?u=v:c.sibling=v,c=v,m=g}if(h===i.length)return n(a,m),Ri&&Pi(a,h),u;if(null===m){for(;h<i.length;h++)null!==(m=d(a,i[h],o))&&(s=l(m,s,h),null===c?u=m:c.sibling=m,c=m);return Ri&&Pi(a,h),u}for(m=r(a,m);h<i.length;h++)null!==(g=p(m,a,h,i[h],o))&&(e&&null!==g.alternate&&m.delete(null===g.key?h:g.key),s=l(g,s,h),null===c?u=g:c.sibling=g,c=g);return e&&m.forEach(function(e){return t(a,e)}),Ri&&Pi(a,h),u}function h(a,s,i,o){var u=mn(i);if("function"!=typeof u)throw Error(It(150));if(null==(i=u.call(i)))throw Error(It(151));for(var c=u=null,m=s,h=s=0,g=null,v=i.next();null!==m&&!v.done;h++,v=i.next()){m.index>h?(g=m,m=null):g=m.sibling;var y=f(a,m,v.value,o);if(null===y){null===m&&(m=g);break}e&&m&&null===y.alternate&&t(a,m),s=l(y,s,h),null===c?u=y:c.sibling=y,c=y,m=g}if(v.done)return n(a,m),Ri&&Pi(a,h),u;if(null===m){for(;!v.done;h++,v=i.next())null!==(v=d(a,v.value,o))&&(s=l(v,s,h),null===c?u=v:c.sibling=v,c=v);return Ri&&Pi(a,h),u}for(m=r(a,m);!v.done;h++,v=i.next())null!==(v=p(m,a,h,v.value,o))&&(e&&null!==v.alternate&&m.delete(null===v.key?h:v.key),s=l(v,s,h),null===c?u=v:c.sibling=v,c=v);return e&&m.forEach(function(e){return t(a,e)}),Ri&&Pi(a,h),u}return function e(r,l,i,o){if("object"==typeof i&&null!==i&&i.type===tn&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case Jt:e:{for(var u=i.key,c=l;null!==c;){if(c.key===u){if((u=i.type)===tn){if(7===c.tag){n(r,c.sibling),(l=a(c,i.props.children)).return=r,r=l;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===dn&&Xi(u)===c.type){n(r,c.sibling),(l=a(c,i.props)).ref=Ki(r,c,i),l.return=r,r=l;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===tn?((l=pf(i.props.children,r.mode,o,i.key)).return=r,r=l):((o=ff(i.type,i.key,i.props,null,r.mode,o)).ref=Ki(r,l,i),o.return=r,r=o)}return s(r);case en:e:{for(c=i.key;null!==l;){if(l.key===c){if(4===l.tag&&l.stateNode.containerInfo===i.containerInfo&&l.stateNode.implementation===i.implementation){n(r,l.sibling),(l=a(l,i.children||[])).return=r,r=l;break e}n(r,l);break}t(r,l),l=l.sibling}(l=gf(i,r.mode,o)).return=r,r=l}return s(r);case dn:return e(r,l,(c=i._init)(i._payload),o)}if(Tn(i))return m(r,l,i,o);if(mn(i))return h(r,l,i,o);Gi(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==l&&6===l.tag?(n(r,l.sibling),(l=a(l,i)).return=r,r=l):(n(r,l),(l=hf(i,r.mode,o)).return=r,r=l),s(r)):n(r,l)}}var Zi=$i(!0),Ji=$i(!1),eo=ni(null),to=null,no=null,ro=null;function ao(){ro=no=to=null}function lo(e){var t=eo.current;ri(eo),e._currentValue=t}function so(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 io(e,t){to=e,ro=no=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Xu=!0),e.firstContext=null)}function oo(e){var t=e._currentValue;if(ro!==e)if(e={context:e,memoizedValue:t,next:null},null===no){if(null===to)throw Error(It(308));no=e,to.dependencies={lanes:0,firstContext:e}}else no=no.next=e;return t}var uo=null;function co(e){null===uo?uo=[e]:uo.push(e)}function fo(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,co(t)):(n.next=a.next,a.next=n),t.interleaved=n,po(e,r)}function po(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 mo=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function go(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 vo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&ld){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,po(e,n)}return null===(a=r.interleaved)?(t.next=t,co(r)):(t.next=a.next,a.next=t),r.interleaved=t,po(e,n)}function bo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,$r(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,l=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===l?a=l=s:l=l.next=s,n=n.next}while(null!==n);null===l?a=l=t:l=l.next=t}else a=l=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:l,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function wo(e,t,n,r){var a=e.updateQueue;mo=!1;var l=a.firstBaseUpdate,s=a.lastBaseUpdate,i=a.shared.pending;if(null!==i){a.shared.pending=null;var o=i,u=o.next;o.next=null,null===s?l=u:s.next=u,s=o;var c=e.alternate;null!==c&&((i=(c=c.updateQueue).lastBaseUpdate)!==s&&(null===i?c.firstBaseUpdate=u:i.next=u,c.lastBaseUpdate=o))}if(null!==l){var d=a.baseState;for(s=0,c=u=o=null,i=l;;){var f=i.lane,p=i.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(f=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=h.payload)?m.call(p,d,f):m))break e;d=gn({},d,f);break e;case 2:mo=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(f=a.effects)?a.effects=[i]:f.push(i))}else p={eventTime:p,lane:f,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(u=c=p,o=d):c=c.next=p,s|=f;if(null===(i=i.next)){if(null===(i=a.shared.pending))break;i=(f=i).next,f.next=null,a.lastBaseUpdate=f,a.shared.pending=null}}if(null===c&&(o=d),a.baseState=o,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{s|=a.lane,a=a.next}while(a!==t)}else null===l&&(a.shared.lanes=0);pd|=s,e.lanes=s,e.memoizedState=d}}function ko(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(It(191,a));a.call(r)}}}var So={},No=ni(So),Co=ni(So),jo=ni(So);function Eo(e){if(e===So)throw Error(It(174));return e}function Ao(e,t){switch(ai(jo,t),ai(Co,e),ai(No,So),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Bn(null,"");break;default:t=Bn(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ri(No),ai(No,t)}function zo(){ri(No),ri(Co),ri(jo)}function Po(e){Eo(jo.current);var t=Eo(No.current),n=Bn(t,e.type);t!==n&&(ai(Co,e),ai(No,n))}function Lo(e){Co.current===e&&(ri(No),ri(Co))}var _o=ni(0);function Oo(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(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 To=[];function Mo(){for(var e=0;e<To.length;e++)To[e]._workInProgressVersionPrimary=null;To.length=0}var Ro=Zt.ReactCurrentDispatcher,Io=Zt.ReactCurrentBatchConfig,Fo=0,Do=null,Uo=null,Bo=null,Qo=!1,Vo=!1,Ho=0,qo=0;function Wo(){throw Error(It(321))}function Yo(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Dl(e[n],t[n]))return!1;return!0}function Ko(e,t,n,r,a,l){if(Fo=l,Do=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ro.current=null===e||null===e.memoizedState?Lu:_u,e=n(r,a),Vo){l=0;do{if(Vo=!1,Ho=0,25<=l)throw Error(It(301));l+=1,Bo=Uo=null,t.updateQueue=null,Ro.current=Ou,e=n(r,a)}while(Vo)}if(Ro.current=Pu,t=null!==Uo&&null!==Uo.next,Fo=0,Bo=Uo=Do=null,Qo=!1,t)throw Error(It(300));return e}function Go(){var e=0!==Ho;return Ho=0,e}function Xo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Bo?Do.memoizedState=Bo=e:Bo=Bo.next=e,Bo}function $o(){if(null===Uo){var e=Do.alternate;e=null!==e?e.memoizedState:null}else e=Uo.next;var t=null===Bo?Do.memoizedState:Bo.next;if(null!==t)Bo=t,Uo=e;else{if(null===e)throw Error(It(310));e={memoizedState:(Uo=e).memoizedState,baseState:Uo.baseState,baseQueue:Uo.baseQueue,queue:Uo.queue,next:null},null===Bo?Do.memoizedState=Bo=e:Bo=Bo.next=e}return Bo}function Zo(e,t){return"function"==typeof t?t(e):t}function Jo(e){var t=$o(),n=t.queue;if(null===n)throw Error(It(311));n.lastRenderedReducer=e;var r=Uo,a=r.baseQueue,l=n.pending;if(null!==l){if(null!==a){var s=a.next;a.next=l.next,l.next=s}r.baseQueue=a=l,n.pending=null}if(null!==a){l=a.next,r=r.baseState;var i=s=null,o=null,u=l;do{var c=u.lane;if((Fo&c)===c)null!==o&&(o=o.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 d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===o?(i=o=d,s=r):o=o.next=d,Do.lanes|=c,pd|=c}u=u.next}while(null!==u&&u!==l);null===o?s=r:o.next=i,Dl(r,t.memoizedState)||(Xu=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=o,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{l=a.lane,Do.lanes|=l,pd|=l,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function eu(e){var t=$o(),n=t.queue;if(null===n)throw Error(It(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,l=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{l=e(l,s.action),s=s.next}while(s!==a);Dl(l,t.memoizedState)||(Xu=!0),t.memoizedState=l,null===t.baseQueue&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function tu(){}function nu(e,t){var n=Do,r=$o(),a=t(),l=!Dl(r.memoizedState,a);if(l&&(r.memoizedState=a,Xu=!0),r=r.queue,mu(lu.bind(null,n,r,e),[e]),r.getSnapshot!==t||l||null!==Bo&&1&Bo.memoizedState.tag){if(n.flags|=2048,uu(9,au.bind(null,n,r,a,t),void 0,null),null===sd)throw Error(It(349));30&Fo||ru(n,t,a)}return a}function ru(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=Do.updateQueue)?(t={lastEffect:null,stores:null},Do.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function au(e,t,n,r){t.value=n,t.getSnapshot=r,su(t)&&iu(e)}function lu(e,t,n){return n(function(){su(t)&&iu(e)})}function su(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Dl(e,n)}catch(r){return!0}}function iu(e){var t=po(e,1);null!==t&&Od(t,e,1,-1)}function ou(e){var t=Xo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Zo,lastRenderedState:e},t.queue=e,e=e.dispatch=ju.bind(null,Do,e),[t.memoizedState,e]}function uu(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Do.updateQueue)?(t={lastEffect:null,stores:null},Do.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 cu(){return $o().memoizedState}function du(e,t,n,r){var a=Xo();Do.flags|=e,a.memoizedState=uu(1|t,n,void 0,void 0===r?null:r)}function fu(e,t,n,r){var a=$o();r=void 0===r?null:r;var l=void 0;if(null!==Uo){var s=Uo.memoizedState;if(l=s.destroy,null!==r&&Yo(r,s.deps))return void(a.memoizedState=uu(t,n,l,r))}Do.flags|=e,a.memoizedState=uu(1|t,n,l,r)}function pu(e,t){return du(8390656,8,e,t)}function mu(e,t){return fu(2048,8,e,t)}function hu(e,t){return fu(4,2,e,t)}function gu(e,t){return fu(4,4,e,t)}function vu(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function yu(e,t,n){return n=null!=n?n.concat([e]):null,fu(4,4,vu.bind(null,t,e),n)}function bu(){}function xu(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Yo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function wu(e,t){var n=$o();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Yo(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ku(e,t,n){return 21&Fo?(Dl(n,t)||(n=Kr(),Do.lanes|=n,pd|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Xu=!0),e.memoizedState=n)}function Su(e,t){var n=Zr;Zr=0!==n&&4>n?n:4,e(!0);var r=Io.transition;Io.transition={};try{e(!1),t()}finally{Zr=n,Io.transition=r}}function Nu(){return $o().memoizedState}function Cu(e,t,n){var r=_d(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Eu(e))Au(t,n);else if(null!==(n=fo(e,t,n,r))){Od(n,e,r,Ld()),zu(n,t,r)}}function ju(e,t,n){var r=_d(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Eu(e))Au(t,a);else{var l=e.alternate;if(0===e.lanes&&(null===l||0===l.lanes)&&null!==(l=t.lastRenderedReducer))try{var s=t.lastRenderedState,i=l(s,n);if(a.hasEagerState=!0,a.eagerState=i,Dl(i,s)){var o=t.interleaved;return null===o?(a.next=a,co(t)):(a.next=o.next,o.next=a),void(t.interleaved=a)}}catch(V){}null!==(n=fo(e,t,a,r))&&(Od(n,e,r,a=Ld()),zu(n,t,r))}}function Eu(e){var t=e.alternate;return e===Do||null!==t&&t===Do}function Au(e,t){Vo=Qo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zu(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,$r(e,n)}}var Pu={readContext:oo,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},Lu={readContext:oo,useCallback:function(e,t){return Xo().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:pu,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,du(4194308,4,vu.bind(null,t,e),n)},useLayoutEffect:function(e,t){return du(4194308,4,e,t)},useInsertionEffect:function(e,t){return du(4,2,e,t)},useMemo:function(e,t){var n=Xo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Xo();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=Cu.bind(null,Do,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Xo().memoizedState=e},useState:ou,useDebugValue:bu,useDeferredValue:function(e){return Xo().memoizedState=e},useTransition:function(){var e=ou(!1),t=e[0];return e=Su.bind(null,e[1]),Xo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Do,a=Xo();if(Ri){if(void 0===n)throw Error(It(407));n=n()}else{if(n=t(),null===sd)throw Error(It(349));30&Fo||ru(r,t,n)}a.memoizedState=n;var l={value:n,getSnapshot:t};return a.queue=l,pu(lu.bind(null,r,l,e),[e]),r.flags|=2048,uu(9,au.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Xo(),t=sd.identifierPrefix;if(Ri){var n=zi;t=":"+t+"R"+(n=(Ai&~(1<<32-Dr(Ai)-1)).toString(32)+n),0<(n=Ho++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=qo++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},_u={readContext:oo,useCallback:xu,useContext:oo,useEffect:mu,useImperativeHandle:yu,useInsertionEffect:hu,useLayoutEffect:gu,useMemo:wu,useReducer:Jo,useRef:cu,useState:function(){return Jo(Zo)},useDebugValue:bu,useDeferredValue:function(e){return ku($o(),Uo.memoizedState,e)},useTransition:function(){return[Jo(Zo)[0],$o().memoizedState]},useMutableSource:tu,useSyncExternalStore:nu,useId:Nu,unstable_isNewReconciler:!1},Ou={readContext:oo,useCallback:xu,useContext:oo,useEffect:mu,useImperativeHandle:yu,useInsertionEffect:hu,useLayoutEffect:gu,useMemo:wu,useReducer:eu,useRef:cu,useState:function(){return eu(Zo)},useDebugValue:bu,useDeferredValue:function(e){var t=$o();return null===Uo?t.memoizedState=e:ku(t,Uo.memoizedState,e)},useTransition:function(){return[eu(Zo)[0],$o().memoizedState]},useMutableSource:tu,useSyncExternalStore:nu,useId:Nu,unstable_isNewReconciler:!1};function Tu(e,t){if(e&&e.defaultProps){for(var n in t=gn({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function Mu(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:gn({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Ru={isMounted:function(e){return!!(e=e._reactInternals)&&wr(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ld(),a=_d(e),l=vo(r,a);l.payload=t,null!=n&&(l.callback=n),null!==(t=yo(e,l,a))&&(Od(t,e,a,r),bo(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ld(),a=_d(e),l=vo(r,a);l.tag=1,l.payload=t,null!=n&&(l.callback=n),null!==(t=yo(e,l,a))&&(Od(t,e,a,r),bo(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ld(),r=_d(e),a=vo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=yo(e,a,r))&&(Od(t,e,r,n),bo(t,e,r))}};function Iu(e,t,n,r,a,l,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,l,s):!t.prototype||!t.prototype.isPureReactComponent||(!Ul(n,r)||!Ul(a,l))}function Fu(e,t,n){var r=!1,a=li,l=t.contextType;return"object"==typeof l&&null!==l?l=oo(l):(a=ci(t)?oi:si.current,l=(r=null!=(r=t.contextTypes))?ui(e,a):li),t=new t(n,l),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Ru,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=l),t}function Du(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&&Ru.enqueueReplaceState(t,t.state,null)}function Uu(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},ho(e);var l=t.contextType;"object"==typeof l&&null!==l?a.context=oo(l):(l=ci(t)?oi:si.current,a.context=ui(e,l)),a.state=e.memoizedState,"function"==typeof(l=t.getDerivedStateFromProps)&&(Mu(e,t,l,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Ru.enqueueReplaceState(a,a.state,null),wo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Bu(e,t){try{var n="",r=t;do{n+=xn(r),r=r.return}while(r);var a=n}catch(B){a="\\nError generating stack: "+B.message+"\\n"+B.stack}return{value:e,source:t,stack:a,digest:null}}function Qu(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}var Vu="function"==typeof WeakMap?WeakMap:Map;function Hu(e,t,n){(n=vo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){wd||(wd=!0,kd=r)},n}function qu(e,t,n){(n=vo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){}}var l=e.stateNode;return null!==l&&"function"==typeof l.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Sd?Sd=new Set([this]):Sd.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function Wu(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Vu;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=nf.bind(null,e,t,n),t.then(e,e))}function Yu(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 Ku(e,t,n,r,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=vo(-1,1)).tag=2,yo(n,t,1))),n.lanes|=1),e)}var Gu=Zt.ReactCurrentOwner,Xu=!1;function $u(e,t,n,r){t.child=null===e?Ji(t,null,n,r):Zi(t,e.child,n,r)}function Zu(e,t,n,r,a){n=n.render;var l=t.ref;return io(t,a),r=Ko(e,t,n,r,l,a),n=Go(),null===e||Xu?(Ri&&n&&_i(t),t.flags|=1,$u(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,wc(e,t,a))}function Ju(e,t,n,r,a){if(null===e){var l=n.type;return"function"!=typeof l||cf(l)||void 0!==l.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=ff(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=l,ec(e,t,l,r,a))}if(l=e.child,0===(e.lanes&a)){var s=l.memoizedProps;if((n=null!==(n=n.compare)?n:Ul)(s,r)&&e.ref===t.ref)return wc(e,t,a)}return t.flags|=1,(e=df(l,r)).ref=t.ref,e.return=t,t.child=e}function ec(e,t,n,r,a){if(null!==e){var l=e.memoizedProps;if(Ul(l,r)&&e.ref===t.ref){if(Xu=!1,t.pendingProps=r=l,0===(e.lanes&a))return t.lanes=e.lanes,wc(e,t,a);131072&e.flags&&(Xu=!0)}}return rc(e,t,n,r,a)}function tc(e,t,n){var r=t.pendingProps,a=r.children,l=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==l?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ai(cd,ud),ud|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==l?l.baseLanes:n,ai(cd,ud),ud|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ai(cd,ud),ud|=n;else null!==l?(r=l.baseLanes|n,t.memoizedState=null):r=n,ai(cd,ud),ud|=r;return $u(e,t,a,n),t.child}function nc(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function rc(e,t,n,r,a){var l=ci(n)?oi:si.current;return l=ui(t,l),io(t,a),n=Ko(e,t,n,r,l,a),r=Go(),null===e||Xu?(Ri&&r&&_i(t),t.flags|=1,$u(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,wc(e,t,a))}function ac(e,t,n,r,a){if(ci(n)){var l=!0;mi(t)}else l=!1;if(io(t,a),null===t.stateNode)xc(e,t),Fu(t,n,r),Uu(t,n,r,a),r=!0;else if(null===e){var s=t.stateNode,i=t.memoizedProps;s.props=i;var o=s.context,u=n.contextType;"object"==typeof u&&null!==u?u=oo(u):u=ui(t,u=ci(n)?oi:si.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==r||o!==u)&&Du(t,s,r,u),mo=!1;var f=t.memoizedState;s.state=f,wo(t,r,s,a),o=t.memoizedState,i!==r||f!==o||ii.current||mo?("function"==typeof c&&(Mu(t,n,c,r),o=t.memoizedState),(i=mo||Iu(t,n,i,r,f,o,u))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=o),s.props=r,s.state=o,s.context=u,r=i):("function"==typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,go(e,t),i=t.memoizedProps,u=t.type===t.elementType?i:Tu(t.type,i),s.props=u,d=t.pendingProps,f=s.context,"object"==typeof(o=n.contextType)&&null!==o?o=oo(o):o=ui(t,o=ci(n)?oi:si.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==d||f!==o)&&Du(t,s,r,o),mo=!1,f=t.memoizedState,s.state=f,wo(t,r,s,a);var m=t.memoizedState;i!==d||f!==m||ii.current||mo?("function"==typeof p&&(Mu(t,n,p,r),m=t.memoizedState),(u=mo||Iu(t,n,u,r,f,m,o)||!1)?(c||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(r,m,o),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,m,o)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),s.props=r,s.state=m,s.context=o,r=u):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return lc(e,t,n,r,l,a)}function lc(e,t,n,r,a,l){nc(e,t);var s=!!(128&t.flags);if(!r&&!s)return a&&hi(t,n,!1),wc(e,t,l);r=t.stateNode,Gu.current=t;var i=s&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=Zi(t,e.child,null,l),t.child=Zi(t,null,i,l)):$u(e,t,i,l),t.memoizedState=r.state,a&&hi(t,n,!0),t.child}function sc(e){var t=e.stateNode;t.pendingContext?fi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&fi(0,t.context,!1),Ao(e,t.containerInfo)}function ic(e,t,n,r,a){return qi(),Wi(a),t.flags|=256,$u(e,t,n,r),t.child}var oc,uc,cc,dc,fc={dehydrated:null,treeContext:null,retryLane:0};function pc(e){return{baseLanes:e,cachePool:null,transitions:null}}function mc(e,t,n){var r,a=t.pendingProps,l=_o.current,s=!1,i=!!(128&t.flags);if((r=i)||(r=(null===e||null!==e.memoizedState)&&!!(2&l)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(l|=1),ai(_o,1&l),null===e)return Bi(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=a.children,e=a.fallback,s?(a=t.mode,s=t.child,i={mode:"hidden",children:i},1&a||null===s?s=mf(i,a,0,null):(s.childLanes=0,s.pendingProps=i),e=pf(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=pc(n),t.memoizedState=fc,e):hc(t,i));if(null!==(l=e.memoizedState)&&null!==(r=l.dehydrated))return function(e,t,n,r,a,l,s){if(n)return 256&t.flags?(t.flags&=-257,gc(e,t,s,r=Qu(Error(It(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(l=r.fallback,a=t.mode,r=mf({mode:"visible",children:r.children},a,0,null),(l=pf(l,a,s,null)).flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,1&t.mode&&Zi(t,e.child,null,s),t.child.memoizedState=pc(s),t.memoizedState=fc,l);if(!(1&t.mode))return gc(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var i=r.dgst;return r=i,gc(e,t,s,r=Qu(l=Error(It(419)),r,void 0))}if(i=0!==(s&e.childLanes),Xu||i){if(null!==(r=sd)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(r.suspendedLanes|s))?0:a)&&a!==l.retryLane&&(l.retryLane=a,po(e,a),Od(r,e,a,-1))}return Wd(),gc(e,t,s,r=Qu(Error(It(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=af.bind(null,e),a._reactRetry=t,null):(e=l.treeContext,Mi=Bs(a.nextSibling),Ti=t,Ri=!0,Ii=null,null!==e&&(Ci[ji++]=Ai,Ci[ji++]=zi,Ci[ji++]=Ei,Ai=e.id,zi=e.overflow,Ei=t),t=hc(t,r.children),t.flags|=4096,t)}(e,t,i,a,r,l,n);if(s){s=a.fallback,i=t.mode,r=(l=e.child).sibling;var o={mode:"hidden",children:a.children};return 1&i||t.child===l?(a=df(l,o)).subtreeFlags=14680064&l.subtreeFlags:((a=t.child).childLanes=0,a.pendingProps=o,t.deletions=null),null!==r?s=df(r,s):(s=pf(s,i,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,i=null===(i=e.child.memoizedState)?pc(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},s.memoizedState=i,s.childLanes=e.childLanes&~n,t.memoizedState=fc,a}return e=(s=e.child).sibling,a=df(s,{mode:"visible",children:a.children}),!(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function hc(e,t){return(t=mf({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function gc(e,t,n,r){return null!==r&&Wi(r),Zi(t,e.child,null,n),(e=hc(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function vc(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),so(e.return,t,n)}function yc(e,t,n,r,a){var l=e.memoizedState;null===l?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=a)}function bc(e,t,n){var r=t.pendingProps,a=r.revealOrder,l=r.tail;if($u(e,t,r.children,n),2&(r=_o.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&vc(e,n,t);else if(19===e.tag)vc(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(ai(_o,r),1&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Oo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),yc(t,!1,a,n,l);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Oo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}yc(t,!0,n,null,l);break;case"together":yc(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function xc(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function wc(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),pd|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(It(153));if(null!==t.child){for(n=df(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=df(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function kc(e,t){if(!Ri)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 Sc(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Nc(e,t,n){var r=t.pendingProps;switch(Oi(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Sc(t),null;case 1:case 17:return ci(t.type)&&di(),Sc(t),null;case 3:return r=t.stateNode,zo(),ri(ii),ri(si),Mo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Vi(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==Ii&&(Id(Ii),Ii=null))),uc(e,t),Sc(t),null;case 5:Lo(t);var a=Eo(jo.current);if(n=t.type,null!==e&&null!=t.stateNode)cc(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(It(166));return Sc(t),null}if(e=Eo(No.current),Vi(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Hs]=t,r[qs]=l,e=!!(1&t.mode),n){case"dialog":vs("cancel",r),vs("close",r);break;case"iframe":case"object":case"embed":vs("load",r);break;case"video":case"audio":for(a=0;a<ps.length;a++)vs(ps[a],r);break;case"source":vs("error",r);break;case"img":case"image":case"link":vs("error",r),vs("load",r);break;case"details":vs("toggle",r);break;case"input":zn(r,l),vs("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},vs("invalid",r);break;case"textarea":In(r,l),vs("invalid",r)}for(var s in $n(n,l),a=null,l)if(l.hasOwnProperty(s)){var i=l[s];"children"===s?"string"==typeof i?r.textContent!==i&&(!0!==l.suppressHydrationWarning&&Ps(r.textContent,i,e),a=["children",i]):"number"==typeof i&&r.textContent!==""+i&&(!0!==l.suppressHydrationWarning&&Ps(r.textContent,i,e),a=["children",""+i]):Dt.hasOwnProperty(s)&&null!=i&&"onScroll"===s&&vs("scroll",r)}switch(n){case"input":Cn(r),_n(r,l,!0);break;case"textarea":Cn(r),Dn(r);break;case"select":case"option":break;default:"function"==typeof l.onClick&&(r.onclick=Ls)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=Un(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Hs]=t,e[qs]=r,oc(e,t,!1,!1),t.stateNode=e;e:{switch(s=Zn(n,r),n){case"dialog":vs("cancel",e),vs("close",e),a=r;break;case"iframe":case"object":case"embed":vs("load",e),a=r;break;case"video":case"audio":for(a=0;a<ps.length;a++)vs(ps[a],e);a=r;break;case"source":vs("error",e),a=r;break;case"img":case"image":case"link":vs("error",e),vs("load",e),a=r;break;case"details":vs("toggle",e),a=r;break;case"input":zn(e,r),a=An(e,r),vs("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=gn({},r,{value:void 0}),vs("invalid",e);break;case"textarea":In(e,r),a=Rn(e,r),vs("invalid",e)}for(l in $n(n,a),i=a)if(i.hasOwnProperty(l)){var o=i[l];"style"===l?Gn(e,o):"dangerouslySetInnerHTML"===l?null!=(o=o?o.__html:void 0)&&Hn(e,o):"children"===l?"string"==typeof o?("textarea"!==n||""!==o)&&qn(e,o):"number"==typeof o&&qn(e,""+o):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(Dt.hasOwnProperty(l)?null!=o&&"onScroll"===l&&vs("scroll",e):null!=o&&$t(e,l,o,s))}switch(n){case"input":Cn(e),_n(e,r,!1);break;case"textarea":Cn(e),Dn(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Sn(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?Mn(e,!!r.multiple,l,!1):null!=r.defaultValue&&Mn(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Ls)}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 Sc(t),null;case 6:if(e&&null!=t.stateNode)dc(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(It(166));if(n=Eo(jo.current),Eo(No.current),Vi(t)){if(r=t.stateNode,n=t.memoizedProps,r[Hs]=t,(l=r.nodeValue!==n)&&null!==(e=Ti))switch(e.tag){case 3:Ps(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Ps(r.nodeValue,n,!!(1&e.mode))}l&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Hs]=t,t.stateNode=r}return Sc(t),null;case 13:if(ri(_o),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(Ri&&null!==Mi&&1&t.mode&&!(128&t.flags))Hi(),qi(),t.flags|=98560,l=!1;else if(l=Vi(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(It(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(It(317));l[Hs]=t}else qi(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Sc(t),l=!1}else null!==Ii&&(Id(Ii),Ii=null),l=!0;if(!l)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&_o.current?0===dd&&(dd=3):Wd())),null!==t.updateQueue&&(t.flags|=4),Sc(t),null);case 4:return zo(),uc(e,t),null===e&&xs(t.stateNode.containerInfo),Sc(t),null;case 10:return lo(t.type._context),Sc(t),null;case 19:if(ri(_o),null===(l=t.memoizedState))return Sc(t),null;if(r=!!(128&t.flags),null===(s=l.rendering))if(r)kc(l,!1);else{if(0!==dd||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(s=Oo(e))){for(t.flags|=128,kc(l,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=14680066,null===(s=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=s.childLanes,l.lanes=s.lanes,l.child=s.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=s.memoizedProps,l.memoizedState=s.memoizedState,l.updateQueue=s.updateQueue,l.type=s.type,e=s.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ai(_o,1&_o.current|2),t.child}e=e.sibling}null!==l.tail&&Pr()>bd&&(t.flags|=128,r=!0,kc(l,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Oo(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),kc(l,!0),null===l.tail&&"hidden"===l.tailMode&&!s.alternate&&!Ri)return Sc(t),null}else 2*Pr()-l.renderingStartTime>bd&&1073741824!==n&&(t.flags|=128,r=!0,kc(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=l.last)?n.sibling=s:t.child=s,l.last=s)}return null!==l.tail?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Pr(),t.sibling=null,n=_o.current,ai(_o,r?1&n|2:1&n),t):(Sc(t),null);case 22:case 23:return Qd(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&ud)&&(Sc(t),6&t.subtreeFlags&&(t.flags|=8192)):Sc(t),null;case 24:case 25:return null}throw Error(It(156,t.tag))}function Cc(e,t){switch(Oi(t),t.tag){case 1:return ci(t.type)&&di(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return zo(),ri(ii),ri(si),Mo(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Lo(t),null;case 13:if(ri(_o),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(It(340));qi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ri(_o),null;case 4:return zo(),null;case 10:return lo(t.type._context),null;case 22:case 23:return Qd(),null;default:return null}}oc=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}},uc=function(){},cc=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Eo(No.current);var l,s=null;switch(n){case"input":a=An(e,a),r=An(e,r),s=[];break;case"select":a=gn({},a,{value:void 0}),r=gn({},r,{value:void 0}),s=[];break;case"textarea":a=Rn(e,a),r=Rn(e,r),s=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Ls)}for(u in $n(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var i=a[u];for(l in i)i.hasOwnProperty(l)&&(n||(n={}),n[l]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(Dt.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var o=r[u];if(i=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&o!==i&&(null!=o||null!=i))if("style"===u)if(i){for(l in i)!i.hasOwnProperty(l)||o&&o.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in o)o.hasOwnProperty(l)&&i[l]!==o[l]&&(n||(n={}),n[l]=o[l])}else n||(s||(s=[]),s.push(u,n)),n=o;else"dangerouslySetInnerHTML"===u?(o=o?o.__html:void 0,i=i?i.__html:void 0,null!=o&&i!==o&&(s=s||[]).push(u,o)):"children"===u?"string"!=typeof o&&"number"!=typeof o||(s=s||[]).push(u,""+o):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(Dt.hasOwnProperty(u)?(null!=o&&"onScroll"===u&&vs("scroll",e),s||i===o||(s=[])):(s=s||[]).push(u,o))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},dc=function(e,t,n,r){n!==r&&(t.flags|=4)};var jc=!1,Ec=!1,Ac="function"==typeof WeakSet?WeakSet:Set,zc=null;function Pc(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){tf(e,t,r)}else n.current=null}function Lc(e,t,n){try{n()}catch(r){tf(e,t,r)}}var _c=!1;function Oc(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var l=a.destroy;a.destroy=void 0,void 0!==l&&Lc(t,n,l)}a=a.next}while(a!==r)}}function Tc(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 Mc(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 Rc(e){var t=e.alternate;null!==t&&(e.alternate=null,Rc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Hs],delete t[qs],delete t[Ys],delete t[Ks],delete t[Gs])),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 Ic(e){return 5===e.tag||3===e.tag||4===e.tag}function Fc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Ic(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 Dc(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)||null!==t.onclick||(t.onclick=Ls));else if(4!==r&&null!==(e=e.child))for(Dc(e,t,n),e=e.sibling;null!==e;)Dc(e,t,n),e=e.sibling}function Uc(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(Uc(e,t,n),e=e.sibling;null!==e;)Uc(e,t,n),e=e.sibling}var Bc=null,Qc=!1;function Vc(e,t,n){for(n=n.child;null!==n;)Hc(e,t,n),n=n.sibling}function Hc(e,t,n){if(Fr&&"function"==typeof Fr.onCommitFiberUnmount)try{Fr.onCommitFiberUnmount(Ir,n)}catch(i){}switch(n.tag){case 5:Ec||Pc(n,t);case 6:var r=Bc,a=Qc;Bc=null,Vc(e,t,n),Qc=a,null!==(Bc=r)&&(Qc?(e=Bc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):Bc.removeChild(n.stateNode));break;case 18:null!==Bc&&(Qc?(e=Bc,n=n.stateNode,8===e.nodeType?Us(e.parentNode,n):1===e.nodeType&&Us(e,n),wa(e)):Us(Bc,n.stateNode));break;case 4:r=Bc,a=Qc,Bc=n.stateNode.containerInfo,Qc=!0,Vc(e,t,n),Bc=r,Qc=a;break;case 0:case 11:case 14:case 15:if(!Ec&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var l=a,s=l.destroy;l=l.tag,void 0!==s&&(2&l||4&l)&&Lc(n,t,s),a=a.next}while(a!==r)}Vc(e,t,n);break;case 1:if(!Ec&&(Pc(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){tf(n,t,i)}Vc(e,t,n);break;case 21:Vc(e,t,n);break;case 22:1&n.mode?(Ec=(r=Ec)||null!==n.memoizedState,Vc(e,t,n),Ec=r):Vc(e,t,n);break;default:Vc(e,t,n)}}function qc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ac),t.forEach(function(t){var r=lf.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Wc(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var l=e,s=t,i=s;e:for(;null!==i;){switch(i.tag){case 5:Bc=i.stateNode,Qc=!1;break e;case 3:case 4:Bc=i.stateNode.containerInfo,Qc=!0;break e}i=i.return}if(null===Bc)throw Error(It(160));Hc(l,s,a),Bc=null,Qc=!1;var o=a.alternate;null!==o&&(o.return=null),a.return=null}catch(V){tf(a,t,V)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)Yc(t,e),t=t.sibling}function Yc(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Wc(t,e),Kc(e),4&r){try{Oc(3,e,e.return),Tc(3,e)}catch(c){tf(e,e.return,c)}try{Oc(5,e,e.return)}catch(c){tf(e,e.return,c)}}break;case 1:Wc(t,e),Kc(e),512&r&&null!==n&&Pc(n,n.return);break;case 5:if(Wc(t,e),Kc(e),512&r&&null!==n&&Pc(n,n.return),32&e.flags){var a=e.stateNode;try{qn(a,"")}catch(c){tf(e,e.return,c)}}if(4&r&&null!=(a=e.stateNode)){var l=e.memoizedProps,s=null!==n?n.memoizedProps:l,i=e.type,o=e.updateQueue;if(e.updateQueue=null,null!==o)try{"input"===i&&"radio"===l.type&&null!=l.name&&Pn(a,l),Zn(i,s);var u=Zn(i,l);for(s=0;s<o.length;s+=2){var d=o[s],f=o[s+1];"style"===d?Gn(a,f):"dangerouslySetInnerHTML"===d?Hn(a,f):"children"===d?qn(a,f):$t(a,d,f,u)}switch(i){case"input":Ln(a,l);break;case"textarea":Fn(a,l);break;case"select":var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!l.multiple;var m=l.value;null!=m?Mn(a,!!l.multiple,m,!1):p!==!!l.multiple&&(null!=l.defaultValue?Mn(a,!!l.multiple,l.defaultValue,!0):Mn(a,!!l.multiple,l.multiple?[]:"",!1))}a[qs]=l}catch(c){tf(e,e.return,c)}}break;case 6:if(Wc(t,e),Kc(e),4&r){if(null===e.stateNode)throw Error(It(162));a=e.stateNode,l=e.memoizedProps;try{a.nodeValue=l}catch(c){tf(e,e.return,c)}}break;case 3:if(Wc(t,e),Kc(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{wa(t.containerInfo)}catch(c){tf(e,e.return,c)}break;case 4:default:Wc(t,e),Kc(e);break;case 13:Wc(t,e),Kc(e),8192&(a=e.child).flags&&(l=null!==a.memoizedState,a.stateNode.isHidden=l,!l||null!==a.alternate&&null!==a.alternate.memoizedState||(yd=Pr())),4&r&&qc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ec=(u=Ec)||d,Wc(t,e),Ec=u):Wc(t,e),Kc(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(zc=e,d=e.child;null!==d;){for(f=zc=d;null!==zc;){switch(m=(p=zc).child,p.tag){case 0:case 11:case 14:case 15:Oc(4,p,p.return);break;case 1:Pc(p,p.return);var h=p.stateNode;if("function"==typeof h.componentWillUnmount){r=p,n=p.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(c){tf(r,n,c)}}break;case 5:Pc(p,p.return);break;case 22:if(null!==p.memoizedState){Zc(f);continue}}null!==m?(m.return=p,zc=m):Zc(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{a=f.stateNode,u?"function"==typeof(l=a.style).setProperty?l.setProperty("display","none","important"):l.display="none":(i=f.stateNode,s=null!=(o=f.memoizedProps.style)&&o.hasOwnProperty("display")?o.display:null,i.style.display=Kn("display",s))}catch(c){tf(e,e.return,c)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(c){tf(e,e.return,c)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Wc(t,e),Kc(e),4&r&&qc(e);case 21:}}function Kc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(Ic(n)){var r=n;break e}n=n.return}throw Error(It(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(qn(a,""),r.flags&=-33),Uc(e,Fc(e),a);break;case 3:case 4:var l=r.stateNode.containerInfo;Dc(e,Fc(e),l);break;default:throw Error(It(161))}}catch(Q){tf(e,e.return,Q)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function Gc(e,t,n){zc=e,Xc(e)}function Xc(e,t,n){for(var r=!!(1&e.mode);null!==zc;){var a=zc,l=a.child;if(22===a.tag&&r){var s=null!==a.memoizedState||jc;if(!s){var i=a.alternate,o=null!==i&&null!==i.memoizedState||Ec;i=jc;var u=Ec;if(jc=s,(Ec=o)&&!u)for(zc=a;null!==zc;)o=(s=zc).child,22===s.tag&&null!==s.memoizedState?Jc(a):null!==o?(o.return=s,zc=o):Jc(a);for(;null!==l;)zc=l,Xc(l),l=l.sibling;zc=a,jc=i,Ec=u}$c(e)}else 8772&a.subtreeFlags&&null!==l?(l.return=a,zc=l):$c(e)}}function $c(e){for(;null!==zc;){var t=zc;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ec||Tc(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ec)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Tu(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;null!==l&&ko(t,l,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}ko(t,s,n)}break;case 5:var i=t.stateNode;if(null===n&&4&t.flags){n=i;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&n.focus();break;case"img":o.src&&(n.src=o.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 c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&wa(f)}}}break;default:throw Error(It(163))}Ec||512&t.flags&&Mc(t)}catch(u){tf(t,t.return,u)}}if(t===e){zc=null;break}if(null!==(n=t.sibling)){n.return=t.return,zc=n;break}zc=t.return}}function Zc(e){for(;null!==zc;){var t=zc;if(t===e){zc=null;break}var n=t.sibling;if(null!==n){n.return=t.return,zc=n;break}zc=t.return}}function Jc(e){for(;null!==zc;){var t=zc;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Tc(4,t)}catch(Q){tf(t,n,Q)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(Q){tf(t,a,Q)}}var l=t.return;try{Mc(t)}catch(Q){tf(t,l,Q)}break;case 5:var s=t.return;try{Mc(t)}catch(Q){tf(t,s,Q)}}}catch(Q){tf(t,t.return,Q)}if(t===e){zc=null;break}var i=t.sibling;if(null!==i){i.return=t.return,zc=i;break}zc=t.return}}var ed,td=Math.ceil,nd=Zt.ReactCurrentDispatcher,rd=Zt.ReactCurrentOwner,ad=Zt.ReactCurrentBatchConfig,ld=0,sd=null,id=null,od=0,ud=0,cd=ni(0),dd=0,fd=null,pd=0,md=0,hd=0,gd=null,vd=null,yd=0,bd=1/0,xd=null,wd=!1,kd=null,Sd=null,Nd=!1,Cd=null,jd=0,Ed=0,Ad=null,zd=-1,Pd=0;function Ld(){return 6&ld?Pr():-1!==zd?zd:zd=Pr()}function _d(e){return 1&e.mode?2&ld&&0!==od?od&-od:null!==Yi.transition?(0===Pd&&(Pd=Kr()),Pd):0!==(e=Zr)?e:e=void 0===(e=window.event)?16:za(e.type):1}function Od(e,t,n,r){if(50<Ed)throw Ed=0,Ad=null,Error(It(185));Xr(e,n,r),2&ld&&e===sd||(e===sd&&(!(2&ld)&&(md|=n),4===dd&&Fd(e,od)),Td(e,r),1===n&&0===ld&&!(1&t.mode)&&(bd=Pr()+500,vi&&xi()))}function Td(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var s=31-Dr(l),i=1<<s,o=a[s];-1===o?0!==(i&n)&&0===(i&r)||(a[s]=Wr(i,t)):o<=t&&(e.expiredLanes|=i),l&=~i}}(e,t);var r=qr(e,e===sd?od:0);if(0===r)null!==n&&Er(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Er(n),1===t)0===e.tag?function(e){vi=!0,bi(e)}(Dd.bind(null,e)):bi(Dd.bind(null,e)),Fs(function(){!(6&ld)&&xi()}),n=null;else{switch(Jr(r)){case 1:n=_r;break;case 4:n=Or;break;case 16:default:n=Tr;break;case 536870912:n=Rr}n=sf(n,Md.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Md(e,t){if(zd=-1,Pd=0,6&ld)throw Error(It(327));var n=e.callbackNode;if(Jd()&&e.callbackNode!==n)return null;var r=qr(e,e===sd?od:0);if(0===r)return null;if(30&r||0!==(r&e.expiredLanes)||t)t=Yd(e,r);else{t=r;var a=ld;ld|=2;var l=qd();for(sd===e&&od===t||(xd=null,bd=Pr()+500,Vd(e,t));;)try{Gd();break}catch(i){Hd(e,i)}ao(),nd.current=l,ld=a,null!==id?t=0:(sd=null,od=0,t=dd)}if(0!==t){if(2===t&&(0!==(a=Yr(e))&&(r=a,t=Rd(e,a))),1===t)throw n=fd,Vd(e,0),Fd(e,r),Td(e,Pr()),n;if(6===t)Fd(e,r);else{if(a=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],l=a.getSnapshot;a=a.value;try{if(!Dl(l(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)||(t=Yd(e,r),2===t&&(l=Yr(e),0!==l&&(r=l,t=Rd(e,l))),1!==t)))throw n=fd,Vd(e,0),Fd(e,r),Td(e,Pr()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(It(345));case 2:case 5:Zd(e,vd,xd);break;case 3:if(Fd(e,r),(130023424&r)===r&&10<(t=yd+500-Pr())){if(0!==qr(e,0))break;if(((a=e.suspendedLanes)&r)!==r){Ld(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ms(Zd.bind(null,e,vd,xd),t);break}Zd(e,vd,xd);break;case 4:if(Fd(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-Dr(r);l=1<<s,(s=t[s])>a&&(a=s),r&=~l}if(r=a,10<(r=(120>(r=Pr()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*td(r/1960))-r)){e.timeoutHandle=Ms(Zd.bind(null,e,vd,xd),r);break}Zd(e,vd,xd);break;default:throw Error(It(329))}}}return Td(e,Pr()),e.callbackNode===n?Md.bind(null,e):null}function Rd(e,t){var n=gd;return e.current.memoizedState.isDehydrated&&(Vd(e,t).flags|=256),2!==(e=Yd(e,t))&&(t=vd,vd=n,null!==t&&Id(t)),e}function Id(e){null===vd?vd=e:vd.push.apply(vd,e)}function Fd(e,t){for(t&=~hd,t&=~md,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Dr(t),r=1<<n;e[n]=-1,t&=~r}}function Dd(e){if(6&ld)throw Error(It(327));Jd();var t=qr(e,0);if(!(1&t))return Td(e,Pr()),null;var n=Yd(e,t);if(0!==e.tag&&2===n){var r=Yr(e);0!==r&&(t=r,n=Rd(e,r))}if(1===n)throw n=fd,Vd(e,0),Fd(e,t),Td(e,Pr()),n;if(6===n)throw Error(It(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Zd(e,vd,xd),Td(e,Pr()),null}function Ud(e,t){var n=ld;ld|=1;try{return e(t)}finally{0===(ld=n)&&(bd=Pr()+500,vi&&xi())}}function Bd(e){null!==Cd&&0===Cd.tag&&!(6&ld)&&Jd();var t=ld;ld|=1;var n=ad.transition,r=Zr;try{if(ad.transition=null,Zr=1,e)return e()}finally{Zr=r,ad.transition=n,!(6&(ld=t))&&xi()}}function Qd(){ud=cd.current,ri(cd)}function Vd(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Rs(n)),null!==id)for(n=id.return;null!==n;){var r=n;switch(Oi(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&di();break;case 3:zo(),ri(ii),ri(si),Mo();break;case 5:Lo(r);break;case 4:zo();break;case 13:case 19:ri(_o);break;case 10:lo(r.type._context);break;case 22:case 23:Qd()}n=n.return}if(sd=e,id=e=df(e.current,null),od=ud=t,dd=0,fd=null,hd=md=pd=0,vd=gd=null,null!==uo){for(t=0;t<uo.length;t++)if(null!==(r=(n=uo[t]).interleaved)){n.interleaved=null;var a=r.next,l=n.pending;if(null!==l){var s=l.next;l.next=a,r.next=s}n.pending=r}uo=null}return e}function Hd(e,t){for(;;){var n=id;try{if(ao(),Ro.current=Pu,Qo){for(var r=Do.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}Qo=!1}if(Fo=0,Bo=Uo=Do=null,Vo=!1,Ho=0,rd.current=null,null===n||null===n.return){dd=1,fd=t,id=null;break}e:{var l=e,s=n.return,i=n,o=t;if(t=od,i.flags|=32768,null!==o&&"object"==typeof o&&"function"==typeof o.then){var u=o,c=i,d=c.tag;if(!(1&c.mode||0!==d&&11!==d&&15!==d)){var f=c.alternate;f?(c.updateQueue=f.updateQueue,c.memoizedState=f.memoizedState,c.lanes=f.lanes):(c.updateQueue=null,c.memoizedState=null)}var p=Yu(s);if(null!==p){p.flags&=-257,Ku(p,s,i,0,t),1&p.mode&&Wu(l,u,t),o=u;var m=(t=p).updateQueue;if(null===m){var h=new Set;h.add(o),t.updateQueue=h}else m.add(o);break e}if(!(1&t)){Wu(l,u,t),Wd();break e}o=Error(It(426))}else if(Ri&&1&i.mode){var g=Yu(s);if(null!==g){!(65536&g.flags)&&(g.flags|=256),Ku(g,s,i,0,t),Wi(Bu(o,i));break e}}l=o=Bu(o,i),4!==dd&&(dd=2),null===gd?gd=[l]:gd.push(l),l=s;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t,xo(l,Hu(0,o,t));break e;case 1:i=o;var v=l.type,y=l.stateNode;if(!(128&l.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==Sd&&Sd.has(y)))){l.flags|=65536,t&=-t,l.lanes|=t,xo(l,qu(l,i,t));break e}}l=l.return}while(null!==l)}$d(n)}catch(b){t=b,id===n&&null!==n&&(id=n=n.return);continue}break}}function qd(){var e=nd.current;return nd.current=Pu,null===e?Pu:e}function Wd(){0!==dd&&3!==dd&&2!==dd||(dd=4),null===sd||!(268435455&pd)&&!(268435455&md)||Fd(sd,od)}function Yd(e,t){var n=ld;ld|=2;var r=qd();for(sd===e&&od===t||(xd=null,Vd(e,t));;)try{Kd();break}catch(a){Hd(e,a)}if(ao(),ld=n,nd.current=r,null!==id)throw Error(It(261));return sd=null,od=0,dd}function Kd(){for(;null!==id;)Xd(id)}function Gd(){for(;null!==id&&!Ar();)Xd(id)}function Xd(e){var t=ed(e.alternate,e,ud);e.memoizedProps=e.pendingProps,null===t?$d(e):id=t,rd.current=null}function $d(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Cc(n,t)))return n.flags&=32767,void(id=n);if(null===e)return dd=6,void(id=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Nc(n,t,ud)))return void(id=n);if(null!==(t=t.sibling))return void(id=t);id=t=e}while(null!==t);0===dd&&(dd=5)}function Zd(e,t,n){var r=Zr,a=ad.transition;try{ad.transition=null,Zr=1,function(e,t,n,r){do{Jd()}while(null!==Cd);if(6&ld)throw Error(It(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(It(177));e.callbackNode=null,e.callbackPriority=0;var l=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-Dr(n),l=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~l}}(e,l),e===sd&&(id=sd=null,od=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Nd||(Nd=!0,sf(Tr,function(){return Jd(),null})),l=!!(15990&n.flags),!!(15990&n.subtreeFlags)||l){l=ad.transition,ad.transition=null;var s=Zr;Zr=1;var i=ld;ld|=4,rd.current=null,function(e,t){if(_s=Sa,ql(e=Hl())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(w){n=null;break e}var s=0,i=-1,o=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==n||0!==a&&3!==d.nodeType||(i=s+a),d!==l||0!==r&&3!==d.nodeType||(o=s+r),3===d.nodeType&&(s+=d.nodeValue.length),null!==(p=d.firstChild);)f=d,d=p;for(;;){if(d===e)break t;if(f===n&&++u===a&&(i=s),f===l&&++c===r&&(o=s),null!==(p=d.nextSibling))break;f=(d=f).parentNode}d=p}n=-1===i||-1===o?null:{start:i,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Os={focusedElem:e,selectionRange:n},Sa=!1,zc=t;null!==zc;)if(e=(t=zc).child,1028&t.subtreeFlags&&null!==e)e.return=t,zc=e;else for(;null!==zc;){t=zc;try{var m=t.alternate;if(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 h=m.memoizedProps,g=m.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?h:Tu(t.type,h),g);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(It(163))}}catch(w){tf(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,zc=e;break}zc=t.return}m=_c,_c=!1}(e,n),Yc(n,e),Wl(Os),Sa=!!_s,Os=_s=null,e.current=n,Gc(n),zr(),ld=i,Zr=s,ad.transition=l}else e.current=n;if(Nd&&(Nd=!1,Cd=e,jd=a),l=e.pendingLanes,0===l&&(Sd=null),function(e){if(Fr&&"function"==typeof Fr.onCommitFiberRoot)try{Fr.onCommitFiberRoot(Ir,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),Td(e,Pr()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(wd)throw wd=!1,e=kd,kd=null,e;!!(1&jd)&&0!==e.tag&&Jd(),l=e.pendingLanes,1&l?e===Ad?Ed++:(Ed=0,Ad=e):Ed=0,xi()}(e,t,n,r)}finally{ad.transition=a,Zr=r}return null}function Jd(){if(null!==Cd){var e=Jr(jd),t=ad.transition,n=Zr;try{if(ad.transition=null,Zr=16>e?16:e,null===Cd)var r=!1;else{if(e=Cd,Cd=null,jd=0,6&ld)throw Error(It(331));var a=ld;for(ld|=4,zc=e.current;null!==zc;){var l=zc,s=l.child;if(16&zc.flags){var i=l.deletions;if(null!==i){for(var o=0;o<i.length;o++){var u=i[o];for(zc=u;null!==zc;){var c=zc;switch(c.tag){case 0:case 11:case 15:Oc(8,c,l)}var d=c.child;if(null!==d)d.return=c,zc=d;else for(;null!==zc;){var f=(c=zc).sibling,p=c.return;if(Rc(c),c===u){zc=null;break}if(null!==f){f.return=p,zc=f;break}zc=p}}}var m=l.alternate;if(null!==m){var h=m.child;if(null!==h){m.child=null;do{var g=h.sibling;h.sibling=null,h=g}while(null!==h)}}zc=l}}if(2064&l.subtreeFlags&&null!==s)s.return=l,zc=s;else e:for(;null!==zc;){if(2048&(l=zc).flags)switch(l.tag){case 0:case 11:case 15:Oc(9,l,l.return)}var v=l.sibling;if(null!==v){v.return=l.return,zc=v;break e}zc=l.return}}var y=e.current;for(zc=y;null!==zc;){var b=(s=zc).child;if(2064&s.subtreeFlags&&null!==b)b.return=s,zc=b;else e:for(s=y;null!==zc;){if(2048&(i=zc).flags)try{switch(i.tag){case 0:case 11:case 15:Tc(9,i)}}catch(w){tf(i,i.return,w)}if(i===s){zc=null;break e}var x=i.sibling;if(null!==x){x.return=i.return,zc=x;break e}zc=i.return}}if(ld=a,xi(),Fr&&"function"==typeof Fr.onPostCommitFiberRoot)try{Fr.onPostCommitFiberRoot(Ir,e)}catch(w){}r=!0}return r}finally{Zr=n,ad.transition=t}}return!1}function ef(e,t,n){e=yo(e,t=Hu(0,t=Bu(n,t),1),1),t=Ld(),null!==e&&(Xr(e,1,t),Td(e,t))}function tf(e,t,n){if(3===e.tag)ef(e,e,n);else for(;null!==t;){if(3===t.tag){ef(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Sd||!Sd.has(r))){t=yo(t,e=qu(t,e=Bu(n,e),1),1),e=Ld(),null!==t&&(Xr(t,1,e),Td(t,e));break}}t=t.return}}function nf(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=Ld(),e.pingedLanes|=e.suspendedLanes&n,sd===e&&(od&n)===n&&(4===dd||3===dd&&(130023424&od)===od&&500>Pr()-yd?Vd(e,0):hd|=n),Td(e,t)}function rf(e,t){0===t&&(1&e.mode?(t=Vr,!(130023424&(Vr<<=1))&&(Vr=4194304)):t=1);var n=Ld();null!==(e=po(e,t))&&(Xr(e,t,n),Td(e,n))}function af(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),rf(e,n)}function lf(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(It(314))}null!==r&&r.delete(t),rf(e,n)}function sf(e,t){return jr(e,t)}function of(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 uf(e,t,n,r){return new of(e,t,n,r)}function cf(e){return!(!(e=e.prototype)||!e.isReactComponent)}function df(e,t){var n=e.alternate;return null===n?((n=uf(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 ff(e,t,n,r,a,l){var s=2;if(r=e,"function"==typeof e)cf(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case tn:return pf(n.children,a,l,t);case nn:s=8,a|=8;break;case rn:return(e=uf(12,n,t,2|a)).elementType=rn,e.lanes=l,e;case on:return(e=uf(13,n,t,a)).elementType=on,e.lanes=l,e;case un:return(e=uf(19,n,t,a)).elementType=un,e.lanes=l,e;case fn:return mf(n,a,l,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case an:s=10;break e;case ln:s=9;break e;case sn:s=11;break e;case cn:s=14;break e;case dn:s=16,r=null;break e}throw Error(It(130,null==e?e:typeof e,""))}return(t=uf(s,n,t,a)).elementType=e,t.type=r,t.lanes=l,t}function pf(e,t,n,r){return(e=uf(7,e,r,t)).lanes=n,e}function mf(e,t,n,r){return(e=uf(22,e,r,t)).elementType=fn,e.lanes=n,e.stateNode={isHidden:!1},e}function hf(e,t,n){return(e=uf(6,e,null,t)).lanes=n,e}function gf(e,t,n){return(t=uf(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vf(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gr(0),this.expirationTimes=Gr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gr(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function yf(e,t,n,r,a,l,s,i,o){return e=new vf(e,t,n,i,o),1===t?(t=1,!0===l&&(t|=8)):t=0,l=uf(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ho(l),e}function bf(e){if(!e)return li;e:{if(wr(e=e._reactInternals)!==e||1!==e.tag)throw Error(It(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ci(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(It(171))}if(1===e.tag){var n=e.type;if(ci(n))return pi(e,n,t)}return t}function xf(e,t,n,r,a,l,s,i,o){return(e=yf(n,r,!0,e,0,l,0,i,o)).context=bf(null),n=e.current,(l=vo(r=Ld(),a=_d(n))).callback=null!=t?t:null,yo(n,l,a),e.current.lanes=a,Xr(e,a,r),Td(e,r),e}function wf(e,t,n,r){var a=t.current,l=Ld(),s=_d(a);return n=bf(n),null===t.context?t.context=n:t.pendingContext=n,(t=vo(l,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=yo(a,t,s))&&(Od(e,a,s,l),bo(e,a,s)),s}function kf(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Sf(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Nf(e,t){Sf(e,t),(e=e.alternate)&&Sf(e,t)}ed=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||ii.current)Xu=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return Xu=!1,function(e,t,n){switch(t.tag){case 3:sc(t),qi();break;case 5:Po(t);break;case 1:ci(t.type)&&mi(t);break;case 4:Ao(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;ai(eo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(ai(_o,1&_o.current),t.flags|=128,null):0!==(n&t.child.childLanes)?mc(e,t,n):(ai(_o,1&_o.current),null!==(e=wc(e,t,n))?e.sibling:null);ai(_o,1&_o.current);break;case 19:if(r=0!==(n&t.childLanes),128&e.flags){if(r)return bc(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ai(_o,_o.current),r)break;return null;case 22:case 23:return t.lanes=0,tc(e,t,n)}return wc(e,t,n)}(e,t,n);Xu=!!(131072&e.flags)}else Xu=!1,Ri&&1048576&t.flags&&Li(t,Ni,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xc(e,t),e=t.pendingProps;var a=ui(t,si.current);io(t,n),a=Ko(null,t,r,e,a,n);var l=Go();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ci(r)?(l=!0,mi(t)):l=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,ho(t),a.updater=Ru,t.stateNode=a,a._reactInternals=t,Uu(t,r,e,n),t=lc(null,t,r,!0,l,n)):(t.tag=0,Ri&&l&&_i(t),$u(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xc(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return cf(e)?1:0;if(null!=e){if((e=e.$$typeof)===sn)return 11;if(e===cn)return 14}return 2}(r),e=Tu(r,e),a){case 0:t=rc(null,t,r,e,n);break e;case 1:t=ac(null,t,r,e,n);break e;case 11:t=Zu(null,t,r,e,n);break e;case 14:t=Ju(null,t,r,Tu(r.type,e),n);break e}throw Error(It(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,rc(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 1:return r=t.type,a=t.pendingProps,ac(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 3:e:{if(sc(t),null===e)throw Error(It(387));r=t.pendingProps,a=(l=t.memoizedState).element,go(e,t),wo(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated){if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,256&t.flags){t=ic(e,t,r,n,a=Bu(Error(It(423)),t));break e}if(r!==a){t=ic(e,t,r,n,a=Bu(Error(It(424)),t));break e}for(Mi=Bs(t.stateNode.containerInfo.firstChild),Ti=t,Ri=!0,Ii=null,n=Ji(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(qi(),r===a){t=wc(e,t,n);break e}$u(e,t,r,n)}t=t.child}return t;case 5:return Po(t),null===e&&Bi(t),r=t.type,a=t.pendingProps,l=null!==e?e.memoizedProps:null,s=a.children,Ts(r,a)?s=null:null!==l&&Ts(r,l)&&(t.flags|=32),nc(e,t),$u(e,t,s,n),t.child;case 6:return null===e&&Bi(t),null;case 13:return mc(e,t,n);case 4:return Ao(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Zi(t,null,r,n):$u(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Zu(e,t,r,a=t.elementType===r?a:Tu(r,a),n);case 7:return $u(e,t,t.pendingProps,n),t.child;case 8:case 12:return $u(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,l=t.memoizedProps,s=a.value,ai(eo,r._currentValue),r._currentValue=s,null!==l)if(Dl(l.value,s)){if(l.children===a.children&&!ii.current){t=wc(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var i=l.dependencies;if(null!==i){s=l.child;for(var o=i.firstContext;null!==o;){if(o.context===r){if(1===l.tag){(o=vo(-1,n&-n)).tag=2;var u=l.updateQueue;if(null!==u){var c=(u=u.shared).pending;null===c?o.next=o:(o.next=c.next,c.next=o),u.pending=o}}l.lanes|=n,null!==(o=l.alternate)&&(o.lanes|=n),so(l.return,n,t),i.lanes|=n;break}o=o.next}}else if(10===l.tag)s=l.type===t.type?null:l.child;else if(18===l.tag){if(null===(s=l.return))throw Error(It(341));s.lanes|=n,null!==(i=s.alternate)&&(i.lanes|=n),so(s,n,t),s=l.sibling}else s=l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}$u(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,io(t,n),r=r(a=oo(a)),t.flags|=1,$u(e,t,r,n),t.child;case 14:return a=Tu(r=t.type,t.pendingProps),Ju(e,t,r,a=Tu(r.type,a),n);case 15:return ec(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Tu(r,a),xc(e,t),t.tag=1,ci(r)?(e=!0,mi(t)):e=!1,io(t,n),Fu(t,r,a),Uu(t,r,a,n),lc(null,t,r,!0,e,n);case 19:return bc(e,t,n);case 22:return tc(e,t,n)}throw Error(It(156,t.tag))};var Cf="function"==typeof reportError?reportError:function(e){};function jf(e){this._internalRoot=e}function Ef(e){this._internalRoot=e}function Af(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function zf(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Pf(){}function Lf(e,t,n,r,a){var l=n._reactRootContainer;if(l){var s=l;if("function"==typeof a){var i=a;a=function(){var e=kf(s);i.call(e)}}wf(t,s,e,a)}else s=function(e,t,n,r,a){if(a){if("function"==typeof r){var l=r;r=function(){var e=kf(s);l.call(e)}}var s=xf(t,r,e,0,null,!1,0,"",Pf);return e._reactRootContainer=s,e[Ws]=s.current,xs(8===e.nodeType?e.parentNode:e),Bd(),s}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var i=r;r=function(){var e=kf(o);i.call(e)}}var o=yf(e,0,!1,null,0,!1,0,"",Pf);return e._reactRootContainer=o,e[Ws]=o.current,xs(8===e.nodeType?e.parentNode:e),Bd(function(){wf(t,o,n,r)}),o}(n,t,e,a,r);return kf(s)}Ef.prototype.render=jf.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(It(409));wf(e,t,null,null)},Ef.prototype.unmount=jf.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;Bd(function(){wf(null,e,null,null)}),t[Ws]=null}},Ef.prototype.unstable_scheduleHydration=function(e){if(e){var t=ra();e={blockedOn:null,target:e,priority:t};for(var n=0;n<fa.length&&0!==t&&t<fa[n].priority;n++);fa.splice(n,0,e),0===n&&ga(e)}},ea=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Hr(t.pendingLanes);0!==n&&($r(t,1|n),Td(t,Pr()),!(6&ld)&&(bd=Pr()+500,xi()))}break;case 13:Bd(function(){var t=po(e,1);if(null!==t){var n=Ld();Od(t,e,1,n)}}),Nf(e,1)}},ta=function(e){if(13===e.tag){var t=po(e,134217728);if(null!==t)Od(t,e,134217728,Ld());Nf(e,134217728)}},na=function(e){if(13===e.tag){var t=_d(e),n=po(e,t);if(null!==n)Od(n,e,t,Ld());Nf(e,t)}},ra=function(){return Zr},aa=function(e,t){var n=Zr;try{return Zr=e,t()}finally{Zr=n}},tr=function(e,t,n){switch(t){case"input":if(Ln(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=Js(r);if(!a)throw Error(It(90));jn(r),Ln(r,a)}}}break;case"textarea":Fn(e,n);break;case"select":null!=(t=n.value)&&Mn(e,!!n.multiple,t,!1)}},ir=Ud,or=Bd;var _f={usingClientEntryPoint:!1,Events:[$s,Zs,Js,lr,sr,Ud]},Of={findFiberByHostInstance:Xs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Tf={bundleType:Of.bundleType,version:Of.version,rendererPackageName:Of.rendererPackageName,rendererConfig:Of.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Zt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Nr(e))?null:e.stateNode},findFiberByHostInstance:Of.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var Mf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Mf.isDisabled&&Mf.supportsFiber)try{Ir=Mf.inject(Tf),Fr=Mf}catch(Vn){}}Lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_f,Lt.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Af(t))throw Error(It(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:en,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},Lt.createRoot=function(e,t){if(!Af(e))throw Error(It(299));var n=!1,r="",a=Cf;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=yf(e,1,!1,null,0,n,0,r,a),e[Ws]=t.current,xs(8===e.nodeType?e.parentNode:e),new jf(t)},Lt.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(It(188));throw e=Object.keys(e).join(","),Error(It(268,e))}return e=null===(e=Nr(t))?null:e.stateNode},Lt.flushSync=function(e){return Bd(e)},Lt.hydrate=function(e,t,n){if(!zf(t))throw Error(It(200));return Lf(null,e,t,!0,n)},Lt.hydrateRoot=function(e,t,n){if(!Af(e))throw Error(It(405));var r=null!=n&&n.hydratedSources||null,a=!1,l="",s=Cf;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(l=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=xf(t,null,e,1,null!=n?n:null,a,0,l,s),e[Ws]=t.current,xs(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Ef(t)},Lt.render=function(e,t,n){if(!zf(t))throw Error(It(200));return Lf(null,e,t,!1,n)},Lt.unmountComponentAtNode=function(e){if(!zf(e))throw Error(It(40));return!!e._reactRootContainer&&(Bd(function(){Lf(null,null,e,!1,function(){e._reactRootContainer=null,e[Ws]=null})}),!0)},Lt.unstable_batchedUpdates=Ud,Lt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!zf(n))throw Error(It(200));if(null==e||void 0===e._reactInternals)throw Error(It(38));return Lf(e,t,n,!1,r)},Lt.version="18.3.1-next-f1338f8080-20240426",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){}}(),Pt.exports=Lt;var Rf,If=Pt.exports;Rf=If.createRoot,If.hydrateRoot;const Ff=document.getElementById("root");if(!Ff)throw new Error("Root element with id 'root' not found");Rf(Ff).render(K.jsx(zt,{children:K.jsx(At,{})}));<\/script>
63
+ <style rel="stylesheet" crossorigin>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--card: 0 0% 100%;--card-foreground: 222.2 47.4% 11.2%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 100% 50%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--radius: .5rem}:root[class~=dark]{--background: 224 71% 4%;--foreground: 213 31% 91%;--muted: 223 47% 11%;--muted-foreground: 215.4 16.3% 56.9%;--accent: 216 34% 17%;--accent-foreground: 210 40% 98%;--popover: 224 71% 4%;--popover-foreground: 215 20.2% 65.1%;--border: 216 34% 17%;--input: 216 34% 17%;--card: 224 71% 4%;--card-foreground: 213 31% 91%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 1.2%;--secondary: 222.2 47.4% 11.2%;--secondary-foreground: 210 40% 98%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--ring: 216 34% 17%;--radius: .5rem}*{border-color:hsl(var(--border))}html,body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1;height:100%;overflow:hidden}#root{height:100%}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.min-h-0{min-height:0px}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-300{--tw-bg-opacity: 1;background-color:rgb(134 239 172 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-300{--tw-gradient-from: #86efac var(--tw-gradient-from-position);--tw-gradient-to: rgb(134 239 172 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-300{--tw-gradient-from: #fca5a5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-200{--tw-gradient-to: #e5e7eb var(--tw-gradient-to-position)}.p-1\\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-blue-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}.ring-opacity-5{--tw-ring-opacity: .05}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:border-green-400:hover{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\\:text-amber-900:hover{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\\:text-red-900:hover{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.focus\\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}</style>
64
+ </head>
65
+ <body>
66
+ <div id="root"></div>
67
+ </body>
68
+ </html>
69
+ `;class Ee{constructor(e){this.overlayElement=null,this.iframeElement=null,this.isIframeReady=!1,this.currentSetupState=null,this.messageHandler=null,this.modalHtmlPath=e.modalHtmlPath??"src/sdk/core/onboarding/modal.html",this.handlers=e.handlers}show(e){this.overlayElement||(this.currentSetupState=e,this.overlayElement=document.createElement("div"),this.overlayElement.setAttribute("data-testid","div-setup-overlay"),this.overlayElement.style.cssText=`
381
70
  position: fixed;
382
71
  top: 0;
383
72
  left: 0;
@@ -388,17 +77,7 @@ class OnboardingModal {
388
77
  display: flex;
389
78
  align-items: center;
390
79
  justify-content: center;
391
- `;
392
- this.iframeElement = document.createElement("iframe");
393
- this.iframeElement.setAttribute("data-testid", "iframe-setup");
394
- if (typeof chrome !== "undefined" && chrome.runtime && chrome.runtime.getURL) {
395
- this.iframeElement.sandbox.add("allow-scripts", "allow-same-origin");
396
- this.iframeElement.src = chrome.runtime.getURL(this.modalHtmlPath);
397
- } else {
398
- this.iframeElement.sandbox.add("allow-scripts");
399
- this.iframeElement.srcdoc = modalHtml;
400
- }
401
- this.iframeElement.style.cssText = `
80
+ `,this.iframeElement=document.createElement("iframe"),this.iframeElement.setAttribute("data-testid","iframe-setup"),typeof chrome<"u"&&chrome.runtime&&chrome.runtime.getURL?(this.iframeElement.sandbox.add("allow-scripts","allow-same-origin"),this.iframeElement.src=chrome.runtime.getURL(this.modalHtmlPath)):(this.iframeElement.sandbox.add("allow-scripts"),this.iframeElement.srcdoc=ke),this.iframeElement.style.cssText=`
402
81
  width: 90%;
403
82
  max-width: 800px;
404
83
  height: 90%;
@@ -406,1125 +85,5 @@ class OnboardingModal {
406
85
  border: none;
407
86
  border-radius: 8px;
408
87
  background: white;
409
- `;
410
- this.overlayElement.appendChild(this.iframeElement);
411
- document.body.appendChild(this.overlayElement);
412
- this.messageHandler = this.handleMessage.bind(this);
413
- window.addEventListener("message", this.messageHandler);
414
- }
415
- /**
416
- * Update the modal state
417
- * Used by SetupModalProcessor to push state updates to the modal
418
- */
419
- updateState(state) {
420
- this.currentSetupState = state;
421
- this.sendStateToModal();
422
- }
423
- /**
424
- * Destroy the modal and clean up
425
- */
426
- destroy() {
427
- if (this.messageHandler) {
428
- window.removeEventListener("message", this.messageHandler);
429
- this.messageHandler = null;
430
- }
431
- if (this.overlayElement) {
432
- this.overlayElement.remove();
433
- this.overlayElement = null;
434
- this.iframeElement = null;
435
- }
436
- this.isIframeReady = false;
437
- this.currentSetupState = null;
438
- }
439
- /**
440
- * Handle postMessage from iframe
441
- * Pure routing - delegates to external handlers
442
- */
443
- async handleMessage(event) {
444
- var _a, _b, _c, _d, _e;
445
- const message = event.data;
446
- if (!isRequestMessage(message)) return;
447
- if (event.source !== ((_a = this.iframeElement) == null ? void 0 : _a.contentWindow)) {
448
- return;
449
- }
450
- const handler = this.handlers[message.type];
451
- if (!handler) {
452
- console.warn("[OnboardingModal] No handler for message type:", message.type);
453
- return;
454
- }
455
- try {
456
- if (message.type === MSG.MODAL_READY) {
457
- this.isIframeReady = true;
458
- }
459
- const payload = await handler(message);
460
- const response = buildResponse(message.requestId, message.type, payload);
461
- (_c = (_b = this.iframeElement) == null ? void 0 : _b.contentWindow) == null ? void 0 : _c.postMessage(response, "*");
462
- } catch (error) {
463
- console.error("[OnboardingModal] Handler error:", error);
464
- const errorResponse = buildError(message.requestId, {
465
- code: "handler-error",
466
- message: error instanceof Error ? error.message : "Handler execution failed"
467
- });
468
- (_e = (_d = this.iframeElement) == null ? void 0 : _d.contentWindow) == null ? void 0 : _e.postMessage(errorResponse, "*");
469
- }
470
- }
471
- /**
472
- * Send current state to modal iframe using event message
473
- */
474
- sendStateToModal() {
475
- var _a;
476
- if (!this.isIframeReady || !this.iframeElement || !this.currentSetupState) {
477
- return;
478
- }
479
- const event = buildEvent("parent:state-update", {
480
- setupState: this.currentSetupState
481
- });
482
- (_a = this.iframeElement.contentWindow) == null ? void 0 : _a.postMessage(event, "*");
483
- }
484
- }
485
- const BROWSER_CONFIGS = [
486
- {
487
- id: "chrome",
488
- status: "supported",
489
- name: "Google Chrome",
490
- extension_url: "https://chrome.google.com/webstore/detail/bodhi-browser/example-id"
491
- },
492
- {
493
- id: "edge",
494
- status: "supported",
495
- name: "Microsoft Edge",
496
- extension_url: "https://microsoftedge.microsoft.com/addons/detail/bodhi-browser/example-id"
497
- },
498
- {
499
- id: "firefox",
500
- status: "not-supported",
501
- name: "Mozilla Firefox",
502
- github_issue_url: "https://github.com/BodhiSearch/bodhi-browser/issues/firefox-support"
503
- },
504
- {
505
- id: "safari",
506
- status: "not-supported",
507
- name: "Safari",
508
- github_issue_url: "https://github.com/BodhiSearch/bodhi-browser/issues/safari-support"
509
- },
510
- {
511
- id: "unknown",
512
- status: "not-supported",
513
- name: "Unknown Browser",
514
- github_issue_url: "https://github.com/BodhiSearch/bodhi-browser/issues/new"
515
- }
516
- ];
517
- const OS_CONFIGS = [
518
- {
519
- id: "macos",
520
- status: "supported",
521
- name: "macOS",
522
- download_url: "https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-macos"
523
- },
524
- {
525
- id: "windows",
526
- status: "supported",
527
- name: "Windows",
528
- download_url: "https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-windows.exe"
529
- },
530
- {
531
- id: "linux",
532
- status: "supported",
533
- name: "Linux",
534
- download_url: "https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-linux"
535
- },
536
- {
537
- id: "unknown",
538
- status: "not-supported",
539
- name: "Unknown OS",
540
- github_issue_url: "https://github.com/BodhiSearch/bodhi-browser/issues/new"
541
- }
542
- ];
543
- function base64UrlEncode(buffer) {
544
- return btoa(String.fromCharCode(...new Uint8Array(buffer))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
545
- }
546
- function generateCodeVerifier() {
547
- const array = new Uint8Array(32);
548
- crypto.getRandomValues(array);
549
- return base64UrlEncode(array.buffer);
550
- }
551
- async function generateCodeChallenge(verifier) {
552
- const encoder = new TextEncoder();
553
- const data = encoder.encode(verifier);
554
- const digest = await crypto.subtle.digest("SHA-256", data);
555
- return base64UrlEncode(digest);
556
- }
557
- function parseJwt(token) {
558
- const base64Url = token.split(".")[1];
559
- const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");
560
- const jsonPayload = decodeURIComponent(
561
- atob(base64).split("").map((c) => "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2)).join("")
562
- );
563
- return JSON.parse(jsonPayload);
564
- }
565
- function extractUserInfo(token) {
566
- const claims = parseJwt(token);
567
- return {
568
- sub: claims.sub,
569
- email: claims.email,
570
- name: claims.name,
571
- given_name: claims.given_name,
572
- family_name: claims.family_name,
573
- preferred_username: claims.preferred_username
574
- };
575
- }
576
- function createOAuthEndpoints(authServerUrl) {
577
- return {
578
- authorize: `${authServerUrl}/protocol/openid-connect/auth`,
579
- token: `${authServerUrl}/protocol/openid-connect/token`,
580
- revoke: `${authServerUrl}/protocol/openid-connect/revoke`
581
- };
582
- }
583
- async function refreshAccessToken(tokenEndpoint, refreshToken, clientId) {
584
- try {
585
- const response = await fetch(tokenEndpoint, {
586
- method: "POST",
587
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
588
- body: new URLSearchParams({
589
- grant_type: "refresh_token",
590
- refresh_token: refreshToken,
591
- client_id: clientId
592
- })
593
- });
594
- if (!response.ok) {
595
- return null;
596
- }
597
- const tokens = await response.json();
598
- return {
599
- access_token: tokens.access_token,
600
- refresh_token: tokens.refresh_token,
601
- id_token: tokens.id_token,
602
- expires_in: tokens.expires_in || 3600
603
- };
604
- } catch {
605
- return null;
606
- }
607
- }
608
- async function testServerConnectivity(serverUrl) {
609
- const url = `${serverUrl}/bodhi/v1/info`;
610
- try {
611
- const controller = new AbortController();
612
- const timeoutId = setTimeout(() => controller.abort(), 5e3);
613
- const response = await fetch(url, {
614
- method: "GET",
615
- headers: { "Content-Type": "application/json" },
616
- signal: controller.signal
617
- });
618
- clearTimeout(timeoutId);
619
- if (response.ok && response.status === 200) {
620
- const body = await response.json();
621
- return {
622
- success: true,
623
- serverInfo: {
624
- status: body.status || "unknown",
625
- version: body.version || "unknown"
626
- }
627
- };
628
- }
629
- return {
630
- success: false,
631
- error: {
632
- message: `Server returned ${response.status}: ${response.statusText}`,
633
- type: "server-error"
634
- }
635
- };
636
- } catch (error) {
637
- const errorMessage = error instanceof Error ? error.message : "Network error";
638
- return {
639
- success: false,
640
- error: {
641
- message: `Cannot reach server: ${errorMessage}`,
642
- type: "network-error"
643
- }
644
- };
645
- }
646
- }
647
- class DirectClientBase {
648
- constructor(config, loggerPrefix, onStateChange) {
649
- this.serverUrl = null;
650
- this.state = DIRECT_STATE_NOT_INITIALIZED;
651
- this.refreshPromise = null;
652
- this.logger = new Logger(loggerPrefix, config.logLevel);
653
- this.authClientId = config.authClientId;
654
- this.authServerUrl = config.authServerUrl || "https://id.getbodhi.app/realms/bodhi";
655
- this.userScope = config.userScope || "scope_user_user";
656
- this.authEndpoints = createOAuthEndpoints(this.authServerUrl);
657
- this.storageKeys = createStorageKeys(config.storagePrefix);
658
- this.onStateChange = onStateChange ?? NOOP_STATE_CALLBACK;
659
- }
660
- /**
661
- * Set client state and notify callback
662
- */
663
- setState(newState) {
664
- this.state = newState;
665
- this.onStateChange({ type: "client-state", state: newState });
666
- }
667
- /**
668
- * Set auth state and notify callback
669
- */
670
- setAuthState(authState) {
671
- this.onStateChange({ type: "auth-state", state: authState });
672
- }
673
- /**
674
- * Set or update the state change callback
675
- */
676
- setStateCallback(callback) {
677
- this.onStateChange = callback;
678
- }
679
- // ============================================================================
680
- // Initialization
681
- // ============================================================================
682
- async init(params) {
683
- var _a;
684
- const serverUrl = params.serverUrl ?? ((_a = params.savedState) == null ? void 0 : _a.url) ?? this.serverUrl;
685
- if (this.serverUrl && this.serverUrl === serverUrl && !params.testConnection) {
686
- this.logger.debug("Already initialized with serverUrl, skipping init");
687
- return this.state;
688
- }
689
- this.serverUrl = serverUrl;
690
- if (!this.serverUrl) {
691
- this.logger.info("No serverUrl provided, returning not-initialized state");
692
- return DIRECT_STATE_NOT_INITIALIZED;
693
- }
694
- this.logger.info("Initializing with serverUrl:", this.serverUrl);
695
- if (params.testConnection) {
696
- const connectivity = await this.testConnectivity();
697
- let serverState;
698
- if (connectivity.success && connectivity.serverInfo) {
699
- const status = connectivity.serverInfo.status;
700
- const version = connectivity.serverInfo.version;
701
- if (status === "ready") {
702
- serverState = { status: "ready", version };
703
- } else if (status === "setup" || status === "resource-admin" || status === "error") {
704
- serverState = backendServerNotReady(status, version);
705
- } else {
706
- serverState = BACKEND_SERVER_NOT_REACHABLE;
707
- }
708
- } else {
709
- this.logger.warn("Connection failed:", connectivity.error);
710
- serverState = BACKEND_SERVER_NOT_REACHABLE;
711
- }
712
- this.setState({ type: "direct", url: serverUrl, server: serverState });
713
- this.logger.info("Initialized with testConnection, server state:", serverState.status);
714
- return this.state;
715
- }
716
- if (!params.selectedConnection) {
717
- this.logger.info("No selectedConnection, returning not-initialized state");
718
- return DIRECT_STATE_NOT_INITIALIZED;
719
- }
720
- this.setState({ type: "direct", url: serverUrl, server: BACKEND_SERVER_NOT_CONNECTED });
721
- this.logger.info("Initialized with selectedConnection, server state: not-connected");
722
- return this.state;
723
- }
724
- getState() {
725
- return this.state;
726
- }
727
- isClientInitialized() {
728
- return this.serverUrl !== null;
729
- }
730
- isServerReady() {
731
- return this.isClientInitialized() && this.state.type === "direct" && this.state.server.status === "ready";
732
- }
733
- /**
734
- * Ensures client is initialized before operations
735
- */
736
- ensureInitialized() {
737
- if (!this.serverUrl) {
738
- throw createOperationError(
739
- "DirectClient not initialized. Call init(serverUrl) first.",
740
- "not-initialized"
741
- );
742
- }
743
- }
744
- // ============================================================================
745
- // API Communication (Direct HTTP Fetch)
746
- // ============================================================================
747
- async sendApiRequest(method, endpoint, body, headers, authenticated = true) {
748
- if (!this.serverUrl) {
749
- return {
750
- error: {
751
- message: "Client not initialized - connection failed",
752
- type: "not-initialized"
753
- }
754
- };
755
- }
756
- const url = `${this.serverUrl}${endpoint}`;
757
- this.logger.debug(`${method} ${url}`);
758
- try {
759
- const controller = new AbortController();
760
- const timeoutId = setTimeout(() => controller.abort(), 5e3);
761
- const fetchHeaders = {
762
- "Content-Type": "application/json",
763
- ...headers
764
- };
765
- if (authenticated) {
766
- const token = await this._getAccessTokenRaw();
767
- if (token) {
768
- fetchHeaders["Authorization"] = `Bearer ${token}`;
769
- }
770
- }
771
- const response = await fetch(url, {
772
- method,
773
- headers: fetchHeaders,
774
- body: body ? JSON.stringify(body) : void 0,
775
- signal: controller.signal
776
- });
777
- clearTimeout(timeoutId);
778
- const responseHeaders = {};
779
- response.headers.forEach((value, key) => {
780
- responseHeaders[key] = value;
781
- });
782
- const data = await response.json();
783
- return {
784
- body: data,
785
- status: response.status,
786
- headers: responseHeaders
787
- };
788
- } catch (error) {
789
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
790
- return {
791
- error: {
792
- message: `Network error: ${errorMessage}`,
793
- type: "network_error"
794
- }
795
- };
796
- }
797
- }
798
- async pingApi() {
799
- return this.sendApiRequest("GET", "/ping", void 0, {}, false);
800
- }
801
- async fetchModels() {
802
- return this.sendApiRequest("GET", "/v1/models");
803
- }
804
- /**
805
- * Get backend server state
806
- * Calls /bodhi/v1/info and returns structured server state
807
- */
808
- async getServerState() {
809
- const result = await this.testConnectivity();
810
- if (!result.success) {
811
- return {
812
- status: "not-reachable",
813
- error: result.error || { message: "Connection failed", type: "network_error" }
814
- };
815
- }
816
- const info = result.serverInfo;
817
- switch (info.status) {
818
- case "ready":
819
- return { status: "ready", version: info.version };
820
- case "setup":
821
- return {
822
- status: "setup",
823
- version: info.version,
824
- error: { message: "Setup required", type: "extension_error" }
825
- };
826
- case "resource-admin":
827
- return {
828
- status: "resource-admin",
829
- version: info.version,
830
- error: { message: "Resource admin required", type: "extension_error" }
831
- };
832
- case "error":
833
- return {
834
- status: "error",
835
- version: info.version || "unknown",
836
- error: { message: "Server error", type: "extension_error" }
837
- };
838
- default:
839
- return {
840
- status: "not-reachable",
841
- error: { message: "Unknown status", type: "extension_error" }
842
- };
843
- }
844
- }
845
- // ============================================================================
846
- // Streaming (Direct HTTP with SSE)
847
- // ============================================================================
848
- async *stream(method, endpoint, body, headers, authenticated = true) {
849
- if (!this.serverUrl) {
850
- throw createOperationError("Client not initialized - connection failed", "not-initialized");
851
- }
852
- const url = `${this.serverUrl}${endpoint}`;
853
- this.logger.debug(`Stream ${method} ${url}`);
854
- const fetchHeaders = {
855
- "Content-Type": "application/json",
856
- Accept: "text/event-stream",
857
- ...headers
858
- };
859
- if (authenticated) {
860
- const token = await this._getAccessTokenRaw();
861
- if (token) {
862
- fetchHeaders["Authorization"] = `Bearer ${token}`;
863
- }
864
- }
865
- const response = await fetch(url, {
866
- method,
867
- headers: fetchHeaders,
868
- body: body ? JSON.stringify(body) : void 0
869
- });
870
- if (!response.ok) {
871
- throw new Error(`HTTP ${response.status}: ${await response.text()}`);
872
- }
873
- if (!response.body) {
874
- throw new Error("Response body is null");
875
- }
876
- const reader = response.body.getReader();
877
- const decoder = new TextDecoder();
878
- let buffer = "";
879
- try {
880
- while (true) {
881
- const { done, value } = await reader.read();
882
- if (done) break;
883
- buffer += decoder.decode(value, { stream: true });
884
- const lines = buffer.split("\n");
885
- buffer = lines.pop() || "";
886
- for (const line of lines) {
887
- if (line.startsWith("data: ")) {
888
- const data = line.slice(6).trim();
889
- if (data === "[DONE]") {
890
- return;
891
- }
892
- try {
893
- yield JSON.parse(data);
894
- } catch (error) {
895
- this.logger.warn("Failed to parse SSE data:", data, error);
896
- }
897
- }
898
- }
899
- }
900
- } finally {
901
- reader.releaseLock();
902
- }
903
- }
904
- async *streamChat(model, prompt, authenticated = true) {
905
- yield* this.stream(
906
- "POST",
907
- "/v1/chat/completions",
908
- {
909
- model,
910
- messages: [{ role: "user", content: prompt }],
911
- stream: true
912
- },
913
- {},
914
- authenticated
915
- );
916
- }
917
- // ============================================================================
918
- // Direct-Specific Methods
919
- // ============================================================================
920
- /**
921
- * Test connectivity to local server
922
- */
923
- async testConnectivity() {
924
- this.ensureInitialized();
925
- this.logger.debug("Testing connectivity to:", this.serverUrl);
926
- return testServerConnectivity(this.serverUrl);
927
- }
928
- // ============================================================================
929
- // Serialization
930
- // ============================================================================
931
- /**
932
- * Serialize DirectClient state for persistence
933
- */
934
- serialize() {
935
- return this.serverUrl ? { url: this.serverUrl } : {};
936
- }
937
- /**
938
- * Debug dump of DirectClient internal state
939
- */
940
- async debug() {
941
- return {
942
- type: "DirectClient",
943
- serverUrl: this.serverUrl,
944
- state: this.state,
945
- authState: await this.getAuthState(),
946
- authClientId: this.authClientId,
947
- authServerUrl: this.authServerUrl,
948
- userScope: this.userScope
949
- };
950
- }
951
- async getAuthState() {
952
- const accessToken = await this._getAccessTokenRaw();
953
- if (!accessToken) return { isLoggedIn: false };
954
- const userInfo = extractUserInfo(accessToken);
955
- return { isLoggedIn: true, userInfo, accessToken };
956
- }
957
- async _getAccessTokenRaw() {
958
- const accessToken = await this._storageGet(this.storageKeys.ACCESS_TOKEN);
959
- const expiresAtStr = await this._storageGet(this.storageKeys.EXPIRES_AT);
960
- if (!accessToken) return null;
961
- if (expiresAtStr) {
962
- const expiresAt = parseInt(expiresAtStr, 10);
963
- if (Date.now() >= expiresAt - 5 * 1e3) {
964
- const refreshToken = await this._storageGet(this.storageKeys.REFRESH_TOKEN);
965
- if (refreshToken) {
966
- return this._tryRefreshToken(refreshToken);
967
- }
968
- return null;
969
- }
970
- }
971
- return accessToken;
972
- }
973
- /**
974
- * Try to refresh access token using refresh token
975
- * Race condition prevention: Returns existing promise if refresh already in progress
976
- */
977
- async _tryRefreshToken(refreshToken) {
978
- if (this.refreshPromise) {
979
- this.logger.debug("Refresh already in progress, returning existing promise");
980
- return this.refreshPromise;
981
- }
982
- this.refreshPromise = this._doRefreshToken(refreshToken);
983
- try {
984
- return await this.refreshPromise;
985
- } finally {
986
- this.refreshPromise = null;
987
- }
988
- }
989
- /**
990
- * Perform the actual token refresh
991
- */
992
- async _doRefreshToken(refreshToken) {
993
- this.logger.debug("Refreshing access token");
994
- try {
995
- const tokens = await refreshAccessToken(
996
- this.authEndpoints.token,
997
- refreshToken,
998
- this.authClientId
999
- );
1000
- if (tokens) {
1001
- await this._storeRefreshedTokens(tokens);
1002
- const userInfo = extractUserInfo(tokens.access_token);
1003
- this.setAuthState({
1004
- isLoggedIn: true,
1005
- userInfo,
1006
- accessToken: tokens.access_token
1007
- });
1008
- this.logger.info("Token refreshed successfully");
1009
- return tokens.access_token;
1010
- }
1011
- } catch (error) {
1012
- this.logger.warn("Token refresh failed:", error);
1013
- }
1014
- this.logger.warn("Token refresh failed, keeping tokens for manual retry");
1015
- throw createOperationError(
1016
- "Access token expired and unable to refresh. Try logging out and logging in again.",
1017
- "token_refresh_failed"
1018
- );
1019
- }
1020
- /**
1021
- * Store refreshed tokens
1022
- */
1023
- async _storeRefreshedTokens(tokens) {
1024
- const expiresAt = Date.now() + tokens.expires_in * 1e3;
1025
- const storageData = {
1026
- [this.storageKeys.ACCESS_TOKEN]: tokens.access_token,
1027
- [this.storageKeys.EXPIRES_AT]: String(expiresAt)
1028
- };
1029
- if (tokens.refresh_token) {
1030
- storageData[this.storageKeys.REFRESH_TOKEN] = tokens.refresh_token;
1031
- }
1032
- await this._storageSet(storageData);
1033
- }
1034
- // ============================================================================
1035
- // OAuth Helper Methods (Extracted Common Logic)
1036
- // ============================================================================
1037
- async requestResourceAccess() {
1038
- const response = await this.sendApiRequest(
1039
- "POST",
1040
- "/bodhi/v1/apps/request-access",
1041
- { app_client_id: this.authClientId },
1042
- {},
1043
- false
1044
- );
1045
- if (isApiResultOperationError(response)) {
1046
- throw new Error("Failed to get resource access scope from server");
1047
- }
1048
- if (!isApiResultSuccess(response)) {
1049
- throw new Error("Failed to get resource access scope from server: API error");
1050
- }
1051
- const scope = response.body.scope;
1052
- await this._storageSet({ [this.storageKeys.RESOURCE_SCOPE]: scope });
1053
- return scope;
1054
- }
1055
- async exchangeCodeForTokens(code) {
1056
- const codeVerifier = await this._storageGet(this.storageKeys.CODE_VERIFIER);
1057
- if (!codeVerifier) {
1058
- throw new Error("Code verifier not found");
1059
- }
1060
- const redirectUri = this._getRedirectUri();
1061
- const response = await fetch(this.authEndpoints.token, {
1062
- method: "POST",
1063
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
1064
- body: new URLSearchParams({
1065
- grant_type: "authorization_code",
1066
- code,
1067
- redirect_uri: redirectUri,
1068
- client_id: this.authClientId,
1069
- code_verifier: codeVerifier
1070
- })
1071
- });
1072
- if (!response.ok) {
1073
- const errorText = await response.text();
1074
- throw new Error(`Token exchange failed: ${response.status} ${errorText}`);
1075
- }
1076
- const tokens = await response.json();
1077
- const expiresAt = Date.now() + (tokens.expires_in || 3600) * 1e3;
1078
- await this._storageSet({
1079
- [this.storageKeys.ACCESS_TOKEN]: tokens.access_token,
1080
- [this.storageKeys.REFRESH_TOKEN]: tokens.refresh_token || "",
1081
- [this.storageKeys.EXPIRES_AT]: String(expiresAt)
1082
- });
1083
- await this._storageRemove([this.storageKeys.CODE_VERIFIER, this.storageKeys.STATE]);
1084
- }
1085
- async revokeRefreshToken() {
1086
- const refreshToken = await this._storageGet(this.storageKeys.REFRESH_TOKEN);
1087
- if (refreshToken) {
1088
- try {
1089
- const params = new URLSearchParams({
1090
- token: refreshToken,
1091
- client_id: this.authClientId,
1092
- token_type_hint: "refresh_token"
1093
- });
1094
- await fetch(this.authEndpoints.revoke, {
1095
- method: "POST",
1096
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
1097
- body: params
1098
- });
1099
- } catch (error) {
1100
- this.logger.warn("Token revocation failed:", error);
1101
- }
1102
- }
1103
- }
1104
- async clearAuthStorage() {
1105
- await this._storageRemove([
1106
- this.storageKeys.ACCESS_TOKEN,
1107
- this.storageKeys.REFRESH_TOKEN,
1108
- this.storageKeys.EXPIRES_AT,
1109
- this.storageKeys.RESOURCE_SCOPE
1110
- ]);
1111
- }
1112
- }
1113
- class BaseFacadeClient {
1114
- constructor(authClientId, config, onStateChange, storagePrefix) {
1115
- this.connectionMode = null;
1116
- this.authClientId = authClientId;
1117
- this.config = config;
1118
- this.onStateChange = onStateChange ?? NOOP_STATE_CALLBACK;
1119
- this.prefs = new BodhiClientUserPrefsManager(storagePrefix);
1120
- this.logger = this.createLogger(config);
1121
- this.extClient = this.createExtClient(
1122
- config,
1123
- (change) => this.handleInternalStateChange(change)
1124
- );
1125
- this.directClient = this.createDirectClient(
1126
- authClientId,
1127
- config,
1128
- (change) => this.handleInternalStateChange(change)
1129
- );
1130
- }
1131
- // ============================================================================
1132
- // State Change Handling (Private)
1133
- // ============================================================================
1134
- /**
1135
- * Notify client state change by calling facade's callback with discriminated union
1136
- */
1137
- notifyStateChange() {
1138
- this.persist();
1139
- this.onStateChange({ type: "client-state", state: this.getState() });
1140
- this.getAuthState().then((authState) => {
1141
- this.onStateChange({ type: "auth-state", state: authState });
1142
- }).catch((err) => {
1143
- this.logger.error("Failed to get auth state after client-state change:", err);
1144
- });
1145
- }
1146
- /**
1147
- * Handle state changes from internal clients (extClient or directClient)
1148
- * For client state changes, notifyStateChange that persists and notifies
1149
- * For auth state changes, notify the callback directly
1150
- */
1151
- handleInternalStateChange(change) {
1152
- if (change.type === "client-state") {
1153
- this.notifyStateChange();
1154
- } else if (change.type === "auth-state") {
1155
- this.getAuthState().then((authState) => {
1156
- this.onStateChange({ type: "auth-state", state: authState });
1157
- }).catch((err) => {
1158
- this.logger.error("Failed to get auth state after client-state change:", err);
1159
- });
1160
- }
1161
- }
1162
- // ============================================================================
1163
- // Persistence (Public Methods)
1164
- // ============================================================================
1165
- /**
1166
- * Serialize current state for persistence
1167
- * Returns SerializedClientState with nested client states
1168
- */
1169
- serialize() {
1170
- return {
1171
- connectionMode: this.connectionMode,
1172
- direct: this.directClient.serialize(),
1173
- extension: this.extClient.serialize()
1174
- };
1175
- }
1176
- /**
1177
- * Debug dump of facade client internal state
1178
- * Aggregates debug info from both internal clients
1179
- */
1180
- async debug() {
1181
- return {
1182
- type: "FacadeClient",
1183
- connectionMode: this.connectionMode,
1184
- authClientId: this.authClientId,
1185
- config: this.config,
1186
- extClient: await this.extClient.debug(),
1187
- directClient: await this.directClient.debug()
1188
- };
1189
- }
1190
- /**
1191
- * Persist current state to storage
1192
- */
1193
- persist() {
1194
- const serialized = this.serialize();
1195
- this.prefs.setSerializedClientState(serialized);
1196
- this.logger.debug("Persisted state:", JSON.stringify(serialized, null, 2));
1197
- }
1198
- /**
1199
- * Set or update the state change callback
1200
- */
1201
- setStateCallback(callback) {
1202
- this.onStateChange = callback;
1203
- }
1204
- // ============================================================================
1205
- // Connection Mode Helper
1206
- // ============================================================================
1207
- /**
1208
- * Check if connection mode is null or direct
1209
- * Used for delegation - prefers direct on fresh install
1210
- */
1211
- isNotSetOrDirect() {
1212
- return this.connectionMode == null || this.connectionMode === "direct";
1213
- }
1214
- // ============================================================================
1215
- // Initialization
1216
- // ============================================================================
1217
- /**
1218
- * Initialize client based on current connectionMode
1219
- *
1220
- * State Management:
1221
- * - Facade owns persistence via prefs - savedState param is NOT used
1222
- * - Restores connectionMode and internal client states from prefs.getSerializedClientState()
1223
- * - On fresh install (no saved state), defaults to connectionMode: null
1224
- *
1225
- * InitParams (optional):
1226
- * - serverUrl: Direct mode server URL (overrides saved state)
1227
- * - testConnection: Test server connectivity during init
1228
- * - timeoutMs: Extension mode discovery timeout
1229
- * - selectedConnection, savedState: Internal use only (not for external callers)
1230
- *
1231
- * Eager Connection Detection (when connectionMode is null):
1232
- * Tries direct first, then extension, auto-selecting first one with server ready
1233
- */
1234
- async init(params = {}) {
1235
- const savedState = this.prefs.getSerializedClientState() ?? {
1236
- connectionMode: null,
1237
- direct: {},
1238
- extension: {}
1239
- };
1240
- if (this.connectionMode === null && savedState.connectionMode) {
1241
- this.connectionMode = savedState.connectionMode;
1242
- this.logger.info("Restored connectionMode from storage:", savedState.connectionMode);
1243
- }
1244
- if (this.connectionMode === null) {
1245
- this.logger.info("{connectionMode: null} - Eager connection detection");
1246
- await this.directClient.init({
1247
- savedState: savedState.direct,
1248
- selectedConnection: true,
1249
- testConnection: true,
1250
- serverUrl: params.serverUrl
1251
- });
1252
- if (this.directClient.isServerReady()) {
1253
- this.connectionMode = "direct";
1254
- this.logger.info("Auto-detected direct connection (server ready)");
1255
- }
1256
- if (this.connectionMode === null) {
1257
- await this.extClient.init({
1258
- savedState: savedState.extension,
1259
- selectedConnection: true,
1260
- testConnection: true,
1261
- timeoutMs: params.timeoutMs
1262
- });
1263
- if (this.extClient.isServerReady()) {
1264
- this.connectionMode = "extension";
1265
- this.logger.info("Auto-detected extension connection (server ready)");
1266
- }
1267
- } else {
1268
- await this.extClient.init({
1269
- savedState: savedState.extension,
1270
- selectedConnection: false,
1271
- testConnection: false
1272
- });
1273
- }
1274
- this.notifyStateChange();
1275
- return this.getState();
1276
- }
1277
- const directSelected = this.connectionMode === "direct";
1278
- const extSelected = this.connectionMode === "extension";
1279
- await this.extClient.init({
1280
- savedState: savedState.extension,
1281
- selectedConnection: extSelected,
1282
- testConnection: extSelected && params.testConnection,
1283
- timeoutMs: params.timeoutMs
1284
- });
1285
- await this.directClient.init({
1286
- savedState: savedState.direct,
1287
- selectedConnection: directSelected,
1288
- testConnection: directSelected && params.testConnection,
1289
- serverUrl: params.serverUrl
1290
- });
1291
- this.notifyStateChange();
1292
- if (!params.testConnection && this.isClientInitialized() && !this.isServerReady()) {
1293
- this.logger.info("Triggering async server state refresh");
1294
- const activeClient = this.isNotSetOrDirect() ? this.directClient : this.extClient;
1295
- activeClient.init({ testConnection: true, selectedConnection: true }).catch((err) => {
1296
- this.logger.warn("Async server state refresh failed:", err);
1297
- });
1298
- }
1299
- return this.getState();
1300
- }
1301
- getState() {
1302
- if (this.isNotSetOrDirect()) {
1303
- return this.directClient.getState();
1304
- }
1305
- return this.extClient.getState();
1306
- }
1307
- isClientInitialized() {
1308
- if (this.isNotSetOrDirect()) {
1309
- return this.directClient.isClientInitialized();
1310
- }
1311
- return this.extClient.isClientInitialized();
1312
- }
1313
- isServerReady() {
1314
- if (this.isNotSetOrDirect()) {
1315
- return this.directClient.isServerReady();
1316
- }
1317
- return this.extClient.isServerReady();
1318
- }
1319
- // ============================================================================
1320
- // Extension Communication
1321
- // ============================================================================
1322
- sendExtRequest(action, params) {
1323
- if (this.isNotSetOrDirect()) {
1324
- throw new Error("sendExtRequest not available on direct connection");
1325
- }
1326
- return this.extClient.sendExtRequest(action, params);
1327
- }
1328
- // ============================================================================
1329
- // API Communication
1330
- // ============================================================================
1331
- sendApiRequest(method, endpoint, body, headers, authenticated) {
1332
- if (this.isNotSetOrDirect()) {
1333
- return this.directClient.sendApiRequest(method, endpoint, body, headers, authenticated);
1334
- }
1335
- return this.extClient.sendApiRequest(method, endpoint, body, headers, authenticated);
1336
- }
1337
- // ============================================================================
1338
- // Authentication
1339
- // ============================================================================
1340
- login() {
1341
- if (this.isNotSetOrDirect()) {
1342
- return this.directClient.login();
1343
- }
1344
- return this.extClient.login();
1345
- }
1346
- logout() {
1347
- if (this.isNotSetOrDirect()) {
1348
- return this.directClient.logout();
1349
- }
1350
- return this.extClient.logout();
1351
- }
1352
- getAuthState() {
1353
- if (this.isNotSetOrDirect()) {
1354
- return this.directClient.getAuthState();
1355
- }
1356
- return this.extClient.getAuthState();
1357
- }
1358
- // ============================================================================
1359
- // API Convenience
1360
- // ============================================================================
1361
- pingApi() {
1362
- if (this.isNotSetOrDirect()) {
1363
- return this.directClient.pingApi();
1364
- }
1365
- return this.extClient.pingApi();
1366
- }
1367
- fetchModels() {
1368
- if (this.isNotSetOrDirect()) {
1369
- return this.directClient.fetchModels();
1370
- }
1371
- return this.extClient.fetchModels();
1372
- }
1373
- async getServerState() {
1374
- if (this.isNotSetOrDirect()) {
1375
- return this.directClient.getServerState();
1376
- }
1377
- return this.extClient.getServerState();
1378
- }
1379
- // ============================================================================
1380
- // Streaming
1381
- // ============================================================================
1382
- stream(method, endpoint, body, headers, authenticated) {
1383
- if (this.isNotSetOrDirect()) {
1384
- return this.directClient.stream(method, endpoint, body, headers, authenticated);
1385
- }
1386
- return this.extClient.stream(method, endpoint, body, headers, authenticated);
1387
- }
1388
- streamChat(model, prompt, authenticated) {
1389
- if (this.isNotSetOrDirect()) {
1390
- return this.directClient.streamChat(model, prompt, authenticated);
1391
- }
1392
- return this.extClient.streamChat(model, prompt, authenticated);
1393
- }
1394
- // ============================================================================
1395
- // Connection Mode (Facade-specific)
1396
- // ============================================================================
1397
- getConnectionMode() {
1398
- return this.connectionMode;
1399
- }
1400
- async setConnectionMode(mode) {
1401
- this.logger.info("Switching connection mode to:", mode);
1402
- if (mode === "direct") {
1403
- if (!this.directClient.isClientInitialized()) {
1404
- throw new Error(SERVER_ERROR_CODES.SERVER_NOT_READY.message);
1405
- }
1406
- } else if (mode === "extension") {
1407
- if (!this.extClient.isClientInitialized()) {
1408
- throw new Error(SERVER_ERROR_CODES.SERVER_NOT_READY.message);
1409
- }
1410
- } else {
1411
- throw new Error("Invalid connection mode");
1412
- }
1413
- this.connectionMode = mode;
1414
- this.notifyStateChange();
1415
- return this.getState();
1416
- }
1417
- // ============================================================================
1418
- // Unified Connectivity Testing Methods
1419
- // ============================================================================
1420
- /**
1421
- * Test extension connectivity regardless of current connection mode
1422
- * Fresh connection test - injects testConnection: true internally
1423
- * @param timeoutMs - Optional timeout for extension discovery
1424
- */
1425
- async testExtensionConnectivity(timeoutMs) {
1426
- const extState = await this.extClient.init({
1427
- testConnection: true,
1428
- timeoutMs
1429
- });
1430
- this.notifyStateChange();
1431
- return extState;
1432
- }
1433
- /**
1434
- * Test direct server connectivity
1435
- * Fresh connection test - injects testConnection: true internally
1436
- * @param serverUrl - Optional server URL to test. If not provided, uses saved serverUrl from state
1437
- */
1438
- async testDirectConnectivity(serverUrl) {
1439
- const url = serverUrl ?? this.directClient.serialize().url;
1440
- if (!url) {
1441
- return this.directClient.getState();
1442
- }
1443
- const directState = await this.directClient.init({
1444
- serverUrl: url,
1445
- testConnection: true
1446
- });
1447
- this.notifyStateChange();
1448
- return directState;
1449
- }
1450
- /**
1451
- * Get current extension state (regardless of current connection mode)
1452
- */
1453
- async getExtensionState() {
1454
- const state = this.extClient.getState();
1455
- if (isExtensionState(state)) {
1456
- return state;
1457
- }
1458
- throw new Error("extClient did not return an ExtensionState");
1459
- }
1460
- /**
1461
- * Get current direct server state
1462
- */
1463
- async getDirectState() {
1464
- const state = this.directClient.getState();
1465
- if (isDirectState(state)) {
1466
- return state;
1467
- }
1468
- throw new Error("directClient did not return a DirectState");
1469
- }
1470
- }
1471
- exports.AUTH_EXT_NOT_INITIALIZED = AUTH_CLIENT_NOT_INITIALIZED;
1472
- exports.BACKEND_SERVER_NOT_CONNECTED = BACKEND_SERVER_NOT_CONNECTED;
1473
- exports.BACKEND_SERVER_NOT_REACHABLE = BACKEND_SERVER_NOT_REACHABLE;
1474
- exports.BROWSER_CONFIGS = BROWSER_CONFIGS;
1475
- exports.BaseFacadeClient = BaseFacadeClient;
1476
- exports.BodhiClientUserPrefsManager = BodhiClientUserPrefsManager;
1477
- exports.DIRECT_STATE_NOT_INITIALIZED = DIRECT_STATE_NOT_INITIALIZED;
1478
- exports.DirectClientBase = DirectClientBase;
1479
- exports.EXTENSION_STATE_NOT_FOUND = EXTENSION_STATE_NOT_FOUND;
1480
- exports.EXTENSION_STATE_NOT_INITIALIZED = EXTENSION_STATE_NOT_INITIALIZED;
1481
- exports.Logger = Logger;
1482
- exports.NOOP_STATE_CALLBACK = NOOP_STATE_CALLBACK;
1483
- exports.OS_CONFIGS = OS_CONFIGS;
1484
- exports.OnboardingModal = OnboardingModal;
1485
- exports.PENDING_EXTENSION_READY = PENDING_EXTENSION_READY;
1486
- exports.SERVER_ERROR_CODES = SERVER_ERROR_CODES;
1487
- exports.STORAGE_PREFIXES = STORAGE_PREFIXES;
1488
- exports.backendServerNotReady = backendServerNotReady;
1489
- exports.base64UrlEncode = base64UrlEncode;
1490
- exports.buildError = buildError;
1491
- exports.buildEvent = buildEvent;
1492
- exports.buildResponse = buildResponse;
1493
- exports.createApiError = createApiError;
1494
- exports.createDirectStateNotReachable = createDirectStateNotReachable;
1495
- exports.createDirectStateNotReady = createDirectStateNotReady;
1496
- exports.createDirectStateReady = createDirectStateReady;
1497
- exports.createExtensionStateNotFound = createExtensionStateNotFound;
1498
- exports.createExtensionStateNotInitialized = createExtensionStateNotInitialized;
1499
- exports.createOAuthEndpoints = createOAuthEndpoints;
1500
- exports.createOperationError = createOperationError;
1501
- exports.createStorageKeys = createStorageKeys;
1502
- exports.detectBrowser = detectBrowser;
1503
- exports.detectOS = detectOS;
1504
- exports.extractUserInfo = extractUserInfo;
1505
- exports.generateCodeChallenge = generateCodeChallenge;
1506
- exports.generateCodeVerifier = generateCodeVerifier;
1507
- exports.getBackendServerState = getBackendServerState;
1508
- exports.getExtensionId = getExtensionId;
1509
- exports.getServerUrl = getServerUrl;
1510
- exports.handleRequest = handleRequest;
1511
- exports.isApiResultError = isApiResultError;
1512
- exports.isApiResultOperationError = isApiResultOperationError;
1513
- exports.isApiResultSuccess = isApiResultSuccess;
1514
- exports.isAuthError = isAuthError;
1515
- exports.isAuthLoggedIn = isAuthLoggedIn;
1516
- exports.isAuthLoggedOut = isAuthLoggedOut;
1517
- exports.isClientReady = isClientReady;
1518
- exports.isDirectClientReady = isDirectClientReady;
1519
- exports.isDirectServerReady = isDirectServerReady;
1520
- exports.isDirectState = isDirectState;
1521
- exports.isExtensionClientReady = isExtensionClientReady;
1522
- exports.isExtensionServerReady = isExtensionServerReady;
1523
- exports.isExtensionState = isExtensionState;
1524
- exports.isOperationError = isOperationError;
1525
- exports.isServerReady = isServerReady;
1526
- exports.isWebUIClient = isWebUIClient;
1527
- exports.parseJwt = parseJwt;
1528
- exports.refreshAccessToken = refreshAccessToken;
1529
- exports.testServerConnectivity = testServerConnectivity;
1530
- //# sourceMappingURL=bodhi-core.cjs.js.map
88
+ `,this.overlayElement.appendChild(this.iframeElement),document.body.appendChild(this.overlayElement),this.messageHandler=this.handleMessage.bind(this),window.addEventListener("message",this.messageHandler))}updateState(e){this.currentSetupState=e,this.sendStateToModal()}destroy(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.overlayElement&&(this.overlayElement.remove(),this.overlayElement=null,this.iframeElement=null),this.isIframeReady=!1,this.currentSetupState=null}async handleMessage(e){var a,i,s,o,l;const n=e.data;if(!we(n)||e.source!==((a=this.iframeElement)==null?void 0:a.contentWindow))return;const r=this.handlers[n.type];if(!r){console.warn("[OnboardingModal] No handler for message type:",n.type);return}try{n.type===Se.MODAL_READY&&(this.isIframeReady=!0);const c=await r(n),u=j(n.requestId,n.type,c);(s=(i=this.iframeElement)==null?void 0:i.contentWindow)==null||s.postMessage(u,"*")}catch(c){console.error("[OnboardingModal] Handler error:",c);const u=B(n.requestId,{code:"handler-error",message:c instanceof Error?c.message:"Handler execution failed"});(l=(o=this.iframeElement)==null?void 0:o.contentWindow)==null||l.postMessage(u,"*")}}sendStateToModal(){var n;if(!this.isIframeReady||!this.iframeElement||!this.currentSetupState)return;const e=F("parent:state-update",{setupState:this.currentSetupState});(n=this.iframeElement.contentWindow)==null||n.postMessage(e,"*")}}const Ce=[{id:"chrome",status:"supported",name:"Google Chrome",extension_url:"https://chrome.google.com/webstore/detail/bodhi-browser/example-id"},{id:"edge",status:"supported",name:"Microsoft Edge",extension_url:"https://microsoftedge.microsoft.com/addons/detail/bodhi-browser/example-id"},{id:"firefox",status:"not-supported",name:"Mozilla Firefox",github_issue_url:"https://github.com/BodhiSearch/bodhi-browser/issues/firefox-support"},{id:"safari",status:"not-supported",name:"Safari",github_issue_url:"https://github.com/BodhiSearch/bodhi-browser/issues/safari-support"},{id:"unknown",status:"not-supported",name:"Unknown Browser",github_issue_url:"https://github.com/BodhiSearch/bodhi-browser/issues/new"}],Ne=[{id:"macos",status:"supported",name:"macOS",download_url:"https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-macos"},{id:"windows",status:"supported",name:"Windows",download_url:"https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-windows.exe"},{id:"linux",status:"supported",name:"Linux",download_url:"https://github.com/BodhiSearch/bodhi-browser/releases/latest/download/bodhi-server-linux"},{id:"unknown",status:"not-supported",name:"Unknown OS",github_issue_url:"https://github.com/BodhiSearch/bodhi-browser/issues/new"}];function A(t){return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function _e(){const t=new Uint8Array(32);return crypto.getRandomValues(t),A(t.buffer)}async function je(t){const n=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",n);return A(r)}function q(t){const n=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(n).split("").map(a=>"%"+("00"+a.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(r)}function S(t){const e=q(t);return{sub:e.sub,email:e.email,name:e.name,given_name:e.given_name,family_name:e.family_name,preferred_username:e.preferred_username}}function W(t){return{authorize:`${t}/protocol/openid-connect/auth`,token:`${t}/protocol/openid-connect/token`,revoke:`${t}/protocol/openid-connect/revoke`}}async function $(t,e,n){try{const r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e,client_id:n})});if(!r.ok)return null;const a=await r.json();return{access_token:a.access_token,refresh_token:a.refresh_token,id_token:a.id_token,expires_in:a.expires_in||3600}}catch{return null}}async function G(t){const e=`${t}/bodhi/v1/info`;try{const n=new AbortController,r=setTimeout(()=>n.abort(),5e3),a=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"},signal:n.signal});if(clearTimeout(r),a.ok&&a.status===200){const i=await a.json();return{success:!0,serverInfo:{status:i.status||"unknown",version:i.version||"unknown"}}}return{success:!1,error:{message:`Server returned ${a.status}: ${a.statusText}`,type:"server-error"}}}catch(n){return{success:!1,error:{message:`Cannot reach server: ${n instanceof Error?n.message:"Network error"}`,type:"network-error"}}}}class Ae{constructor(e,n,r){this.serverUrl=null,this.state=v,this.refreshPromise=null,this.logger=new V(n,e.logLevel),this.authClientId=e.authClientId,this.authServerUrl=e.authServerUrl||"https://id.getbodhi.app/realms/bodhi",this.userScope=e.userScope||"scope_user_user",this.authEndpoints=W(this.authServerUrl),this.storageKeys=Q(e.storagePrefix),this.onStateChange=r??_}setState(e){this.state=e,this.onStateChange({type:"client-state",state:e})}setAuthState(e){this.onStateChange({type:"auth-state",state:e})}setStateCallback(e){this.onStateChange=e}async init(e){var r;const n=e.serverUrl??((r=e.savedState)==null?void 0:r.url)??this.serverUrl;if(this.serverUrl&&this.serverUrl===n&&!e.testConnection)return this.logger.debug("Already initialized with serverUrl, skipping init"),this.state;if(this.serverUrl=n,!this.serverUrl)return this.logger.info("No serverUrl provided, returning not-initialized state"),v;if(this.logger.info("Initializing with serverUrl:",this.serverUrl),e.testConnection){const a=await this.testConnectivity();let i;if(a.success&&a.serverInfo){const s=a.serverInfo.status,o=a.serverInfo.version;s==="ready"?i={status:"ready",version:o}:s==="setup"||s==="resource-admin"||s==="error"?i=L(s,o):i=y}else this.logger.warn("Connection failed:",a.error),i=y;return this.setState({type:"direct",url:n,server:i}),this.logger.info("Initialized with testConnection, server state:",i.status),this.state}return e.selectedConnection?(this.setState({type:"direct",url:n,server:E}),this.logger.info("Initialized with selectedConnection, server state: not-connected"),this.state):(this.logger.info("No selectedConnection, returning not-initialized state"),v)}getState(){return this.state}isClientInitialized(){return this.serverUrl!==null}isServerReady(){return this.isClientInitialized()&&this.state.type==="direct"&&this.state.server.status==="ready"}ensureInitialized(){if(!this.serverUrl)throw g("DirectClient not initialized. Call init(serverUrl) first.","not-initialized")}async sendApiRequest(e,n,r,a,i=!0){if(!this.serverUrl)return{error:{message:"Client not initialized - connection failed",type:"not-initialized"}};const s=`${this.serverUrl}${n}`;this.logger.debug(`${e} ${s}`);try{const o=new AbortController,l=setTimeout(()=>o.abort(),5e3),c={"Content-Type":"application/json",...a};if(i){const f=await this._getAccessTokenRaw();f&&(c.Authorization=`Bearer ${f}`)}const u=await fetch(s,{method:e,headers:c,body:r?JSON.stringify(r):void 0,signal:o.signal});clearTimeout(l);const d={};return u.headers.forEach((f,m)=>{d[m]=f}),{body:await u.json(),status:u.status,headers:d}}catch(o){return{error:{message:`Network error: ${o instanceof Error?o.message:"Unknown error"}`,type:"network_error"}}}}async pingApi(){return this.sendApiRequest("GET","/ping",void 0,{},!1)}async fetchModels(){return this.sendApiRequest("GET","/v1/models")}async getServerState(){const e=await this.testConnectivity();if(!e.success)return{status:"not-reachable",error:e.error||{message:"Connection failed",type:"network_error"}};const n=e.serverInfo;switch(n.status){case"ready":return{status:"ready",version:n.version};case"setup":return{status:"setup",version:n.version,error:{message:"Setup required",type:"extension_error"}};case"resource-admin":return{status:"resource-admin",version:n.version,error:{message:"Resource admin required",type:"extension_error"}};case"error":return{status:"error",version:n.version||"unknown",error:{message:"Server error",type:"extension_error"}};default:return{status:"not-reachable",error:{message:"Unknown status",type:"extension_error"}}}}async*stream(e,n,r,a,i=!0){if(!this.serverUrl)throw g("Client not initialized - connection failed","not-initialized");const s=`${this.serverUrl}${n}`;this.logger.debug(`Stream ${e} ${s}`);const o={"Content-Type":"application/json",Accept:"text/event-stream",...a};if(i){const p=await this._getAccessTokenRaw();p&&(o.Authorization=`Bearer ${p}`)}const l=await fetch(s,{method:e,headers:o,body:r?JSON.stringify(r):void 0});if(!l.ok)throw new Error(`HTTP ${l.status}: ${await l.text()}`);if(!l.body)throw new Error("Response body is null");const c=l.body.getReader(),u=new TextDecoder;let d="";try{for(;;){const{done:p,value:f}=await c.read();if(p)break;d+=u.decode(f,{stream:!0});const m=d.split(`
89
+ `);d=m.pop()||"";for(const I of m)if(I.startsWith("data: ")){const x=I.slice(6).trim();if(x==="[DONE]")return;try{yield JSON.parse(x)}catch(Y){this.logger.warn("Failed to parse SSE data:",x,Y)}}}}finally{c.releaseLock()}}async*streamChat(e,n,r=!0){yield*this.stream("POST","/v1/chat/completions",{model:e,messages:[{role:"user",content:n}],stream:!0},{},r)}async testConnectivity(){return this.ensureInitialized(),this.logger.debug("Testing connectivity to:",this.serverUrl),G(this.serverUrl)}serialize(){return this.serverUrl?{url:this.serverUrl}:{}}async debug(){return{type:"DirectClient",serverUrl:this.serverUrl,state:this.state,authState:await this.getAuthState(),authClientId:this.authClientId,authServerUrl:this.authServerUrl,userScope:this.userScope}}async getAuthState(){const e=await this._getAccessTokenRaw();return e?{isLoggedIn:!0,userInfo:S(e),accessToken:e}:{isLoggedIn:!1}}async _getAccessTokenRaw(){const e=await this._storageGet(this.storageKeys.ACCESS_TOKEN),n=await this._storageGet(this.storageKeys.EXPIRES_AT);if(!e)return null;if(n){const r=parseInt(n,10);if(Date.now()>=r-5*1e3){const a=await this._storageGet(this.storageKeys.REFRESH_TOKEN);return a?this._tryRefreshToken(a):null}}return e}async _tryRefreshToken(e){if(this.refreshPromise)return this.logger.debug("Refresh already in progress, returning existing promise"),this.refreshPromise;this.refreshPromise=this._doRefreshToken(e);try{return await this.refreshPromise}finally{this.refreshPromise=null}}async _doRefreshToken(e){this.logger.debug("Refreshing access token");try{const n=await $(this.authEndpoints.token,e,this.authClientId);if(n){await this._storeRefreshedTokens(n);const r=S(n.access_token);return this.setAuthState({isLoggedIn:!0,userInfo:r,accessToken:n.access_token}),this.logger.info("Token refreshed successfully"),n.access_token}}catch(n){this.logger.warn("Token refresh failed:",n)}throw this.logger.warn("Token refresh failed, keeping tokens for manual retry"),g("Access token expired and unable to refresh. Try logging out and logging in again.","token_refresh_failed")}async _storeRefreshedTokens(e){const n=Date.now()+e.expires_in*1e3,r={[this.storageKeys.ACCESS_TOKEN]:e.access_token,[this.storageKeys.EXPIRES_AT]:String(n)};e.refresh_token&&(r[this.storageKeys.REFRESH_TOKEN]=e.refresh_token),await this._storageSet(r)}async requestResourceAccess(){const e=await this.sendApiRequest("POST","/bodhi/v1/apps/request-access",{app_client_id:this.authClientId},{},!1);if(R(e))throw new Error("Failed to get resource access scope from server");if(!O(e))throw new Error("Failed to get resource access scope from server: API error");const n=e.body.scope;return await this._storageSet({[this.storageKeys.RESOURCE_SCOPE]:n}),n}async exchangeCodeForTokens(e){const n=await this._storageGet(this.storageKeys.CODE_VERIFIER);if(!n)throw new Error("Code verifier not found");const r=this._getRedirectUri(),a=await fetch(this.authEndpoints.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:e,redirect_uri:r,client_id:this.authClientId,code_verifier:n})});if(!a.ok){const o=await a.text();throw new Error(`Token exchange failed: ${a.status} ${o}`)}const i=await a.json(),s=Date.now()+(i.expires_in||3600)*1e3;await this._storageSet({[this.storageKeys.ACCESS_TOKEN]:i.access_token,[this.storageKeys.REFRESH_TOKEN]:i.refresh_token||"",[this.storageKeys.EXPIRES_AT]:String(s)}),await this._storageRemove([this.storageKeys.CODE_VERIFIER,this.storageKeys.STATE])}async revokeRefreshToken(){const e=await this._storageGet(this.storageKeys.REFRESH_TOKEN);if(e)try{const n=new URLSearchParams({token:e,client_id:this.authClientId,token_type_hint:"refresh_token"});await fetch(this.authEndpoints.revoke,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:n})}catch(n){this.logger.warn("Token revocation failed:",n)}}async clearAuthStorage(){await this._storageRemove([this.storageKeys.ACCESS_TOKEN,this.storageKeys.REFRESH_TOKEN,this.storageKeys.EXPIRES_AT,this.storageKeys.RESOURCE_SCOPE])}}class Ie{constructor(e,n,r,a){this.connectionMode=null,this.authClientId=e,this.config=n,this.onStateChange=r??_,this.prefs=new H(a),this.logger=this.createLogger(n),this.extClient=this.createExtClient(n,i=>this.handleInternalStateChange(i)),this.directClient=this.createDirectClient(e,n,i=>this.handleInternalStateChange(i))}notifyStateChange(){this.persist(),this.onStateChange({type:"client-state",state:this.getState()}),this.getAuthState().then(e=>{this.onStateChange({type:"auth-state",state:e})}).catch(e=>{this.logger.error("Failed to get auth state after client-state change:",e)})}handleInternalStateChange(e){e.type==="client-state"?this.notifyStateChange():e.type==="auth-state"&&this.getAuthState().then(n=>{this.onStateChange({type:"auth-state",state:n})}).catch(n=>{this.logger.error("Failed to get auth state after client-state change:",n)})}serialize(){return{connectionMode:this.connectionMode,direct:this.directClient.serialize(),extension:this.extClient.serialize()}}async debug(){return{type:"FacadeClient",connectionMode:this.connectionMode,authClientId:this.authClientId,config:this.config,extClient:await this.extClient.debug(),directClient:await this.directClient.debug()}}persist(){const e=this.serialize();this.prefs.setSerializedClientState(e),this.logger.debug("Persisted state:",JSON.stringify(e,null,2))}setStateCallback(e){this.onStateChange=e}isNotSetOrDirect(){return this.connectionMode==null||this.connectionMode==="direct"}async init(e={}){const n=this.prefs.getSerializedClientState()??{connectionMode:null,direct:{},extension:{}};if(this.connectionMode===null&&n.connectionMode&&(this.connectionMode=n.connectionMode,this.logger.info("Restored connectionMode from storage:",n.connectionMode)),this.connectionMode===null)return this.logger.info("{connectionMode: null} - Eager connection detection"),await this.directClient.init({savedState:n.direct,selectedConnection:!0,testConnection:!0,serverUrl:e.serverUrl}),this.directClient.isServerReady()&&(this.connectionMode="direct",this.logger.info("Auto-detected direct connection (server ready)")),this.connectionMode===null?(await this.extClient.init({savedState:n.extension,selectedConnection:!0,testConnection:!0,timeoutMs:e.timeoutMs}),this.extClient.isServerReady()&&(this.connectionMode="extension",this.logger.info("Auto-detected extension connection (server ready)"))):await this.extClient.init({savedState:n.extension,selectedConnection:!1,testConnection:!1}),this.notifyStateChange(),this.getState();const r=this.connectionMode==="direct",a=this.connectionMode==="extension";return await this.extClient.init({savedState:n.extension,selectedConnection:a,testConnection:a&&e.testConnection,timeoutMs:e.timeoutMs}),await this.directClient.init({savedState:n.direct,selectedConnection:r,testConnection:r&&e.testConnection,serverUrl:e.serverUrl}),this.notifyStateChange(),!e.testConnection&&this.isClientInitialized()&&!this.isServerReady()&&(this.logger.info("Triggering async server state refresh"),(this.isNotSetOrDirect()?this.directClient:this.extClient).init({testConnection:!0,selectedConnection:!0}).catch(s=>{this.logger.warn("Async server state refresh failed:",s)})),this.getState()}getState(){return this.isNotSetOrDirect()?this.directClient.getState():this.extClient.getState()}isClientInitialized(){return this.isNotSetOrDirect()?this.directClient.isClientInitialized():this.extClient.isClientInitialized()}isServerReady(){return this.isNotSetOrDirect()?this.directClient.isServerReady():this.extClient.isServerReady()}sendExtRequest(e,n){if(this.isNotSetOrDirect())throw new Error("sendExtRequest not available on direct connection");return this.extClient.sendExtRequest(e,n)}sendApiRequest(e,n,r,a,i){return this.isNotSetOrDirect()?this.directClient.sendApiRequest(e,n,r,a,i):this.extClient.sendApiRequest(e,n,r,a,i)}login(){return this.isNotSetOrDirect()?this.directClient.login():this.extClient.login()}logout(){return this.isNotSetOrDirect()?this.directClient.logout():this.extClient.logout()}getAuthState(){return this.isNotSetOrDirect()?this.directClient.getAuthState():this.extClient.getAuthState()}pingApi(){return this.isNotSetOrDirect()?this.directClient.pingApi():this.extClient.pingApi()}fetchModels(){return this.isNotSetOrDirect()?this.directClient.fetchModels():this.extClient.fetchModels()}async getServerState(){return this.isNotSetOrDirect()?this.directClient.getServerState():this.extClient.getServerState()}stream(e,n,r,a,i){return this.isNotSetOrDirect()?this.directClient.stream(e,n,r,a,i):this.extClient.stream(e,n,r,a,i)}streamChat(e,n,r){return this.isNotSetOrDirect()?this.directClient.streamChat(e,n,r):this.extClient.streamChat(e,n,r)}getConnectionMode(){return this.connectionMode}async setConnectionMode(e){if(this.logger.info("Switching connection mode to:",e),e==="direct"){if(!this.directClient.isClientInitialized())throw new Error(h.SERVER_NOT_READY.message)}else if(e==="extension"){if(!this.extClient.isClientInitialized())throw new Error(h.SERVER_NOT_READY.message)}else throw new Error("Invalid connection mode");return this.connectionMode=e,this.notifyStateChange(),this.getState()}async testExtensionConnectivity(e){const n=await this.extClient.init({testConnection:!0,timeoutMs:e});return this.notifyStateChange(),n}async testDirectConnectivity(e){const n=e??this.directClient.serialize().url;if(!n)return this.directClient.getState();const r=await this.directClient.init({serverUrl:n,testConnection:!0});return this.notifyStateChange(),r}async getExtensionState(){const e=this.extClient.getState();if(b(e))return e;throw new Error("extClient did not return an ExtensionState")}async getDirectState(){const e=this.directClient.getState();if(N(e))return e;throw new Error("directClient did not return a DirectState")}}exports.AUTH_EXT_NOT_INITIALIZED=fe;exports.BACKEND_SERVER_NOT_CONNECTED=E;exports.BACKEND_SERVER_NOT_REACHABLE=y;exports.BROWSER_CONFIGS=Ce;exports.BaseFacadeClient=Ie;exports.BodhiClientUserPrefsManager=H;exports.DIRECT_STATE_NOT_INITIALIZED=v;exports.DirectClientBase=Ae;exports.EXTENSION_STATE_NOT_FOUND=D;exports.EXTENSION_STATE_NOT_INITIALIZED=M;exports.Logger=V;exports.NOOP_STATE_CALLBACK=_;exports.OS_CONFIGS=Ne;exports.OnboardingModal=Ee;exports.PENDING_EXTENSION_READY=k;exports.SERVER_ERROR_CODES=h;exports.STORAGE_PREFIXES=xe;exports.backendServerNotReady=L;exports.base64UrlEncode=A;exports.buildError=B;exports.buildEvent=F;exports.buildResponse=j;exports.createApiError=ee;exports.createDirectStateNotReachable=re;exports.createDirectStateNotReady=ae;exports.createDirectStateReady=ne;exports.createExtensionStateNotFound=oe;exports.createExtensionStateNotInitialized=se;exports.createOAuthEndpoints=W;exports.createOperationError=g;exports.createStorageKeys=Q;exports.detectBrowser=ye;exports.detectOS=be;exports.extractUserInfo=S;exports.generateCodeChallenge=je;exports.generateCodeVerifier=_e;exports.getBackendServerState=ce;exports.getExtensionId=ue;exports.getServerUrl=de;exports.handleRequest=ge;exports.isApiResultError=J;exports.isApiResultOperationError=R;exports.isApiResultSuccess=O;exports.isAuthError=pe;exports.isAuthLoggedIn=me;exports.isAuthLoggedOut=he;exports.isClientReady=le;exports.isDirectClientReady=P;exports.isDirectServerReady=te;exports.isDirectState=N;exports.isExtensionClientReady=U;exports.isExtensionServerReady=ie;exports.isExtensionState=b;exports.isOperationError=Z;exports.isServerReady=C;exports.isWebUIClient=ve;exports.parseJwt=q;exports.refreshAccessToken=$;exports.testServerConnectivity=G;