@netless/window-manager 0.4.0-canary.18 → 0.4.0-canary.21

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 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/constants.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts","../src/Helper.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n const text = await getScript(url);\n try {\n return executeScript(text, appName);\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n return executeScript(text, appName);\n }\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\nimport { loadApp } from \"./loader\";\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === \"/\") {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\n\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return get(this._context.getAttributes(), [], defaultValue);\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (this.manager.displayer as Room).dispatchMagixEvent.bind(this.manager.displayer)\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n private kind: string;\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = this.manager.displayer.entireScenes()[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n this.boxManager?.updateManagerRect();\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n private focusApp() {\n this.focusBox();\n this.store.setMainViewFocusPath(this.manager.mainView);\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n public focusBox() {\n this.boxManager?.focusBox({ appId: this.id });\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(app.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n view.release();\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n view.release();\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private viewId = \"mainView\";\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import pRetry from \"p-retry\";\nimport { AppAttributes, AppStatus, Events, MagixEventName } from \"./constants\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, WindowManager, reconnectRefresher } from \"./index\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { get, isInteger, sortBy } from \"lodash\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === \"/\") {\n this.setMainViewScenePath(\"/\");\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(\"/\");\n }\n }\n });\n }\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.boxManager?.updateManagerRect();\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n this.boxManager?.focusBox({ appId: focused });\n callbacks.emit(\"focusedChange\", focused);\n this._prevFocused = focused;\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of sortBy(appsWithCreatedAt, \"createdAt\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n pRetry(\n async () => {\n this.appStatus.set(id, AppStatus.StartCreate);\n // 防御 appAttributes 有可能为 undefined 的情况,这里做一个重试\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n await this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n this.focusByAttributes(apps);\n },\n { retries: 3 }\n ).catch(err => {\n console.warn(`[WindowManager]: Insert App Error`, err);\n this.appStatus.delete(id);\n });\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchInternalEvent(Events.SetMainViewScenePath, {\n nextScenePath: scenePath,\n });\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public findMemberByUid = (uid: string) => {\n const roomMembers = this.room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n };\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.refresher?.destroy();\n this.mainViewProxy.destroy();\n callbacks.clearListeners();\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType} from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType,\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect)\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.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\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},B=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],z=function(e){return w=e},_=B.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=z,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=B.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,B.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function Be(e){return\"function\"==typeof e}function ze(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&Be(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),Be(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,ze(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=3&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:B,styles:z,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(B),ee=k(z);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class Bt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){var e;const t=super.render();(null==(e=t.firstElementChild)?void 0:e.nextElementSibling)&&t.insertBefore(this.$dragArea,t.firstElementChild.nextElementSibling);const{x:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),t.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class zt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const B=this.wrapClassName(\"titlebar-icon-close\"),z=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(B))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",z,!0),this._sideEffect.addEventListener(window,\"touchstart\",z,!0),this.maxTitleBar=new Bt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{this.topBox&&i.zIndex>this.topBox.zIndex&&this.topBox$.setValue(i),s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&(e.setZIndex(this.topBox.zIndex+1,t),this.topBox$.setValue(e))}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,zt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { emitter, WindowManager } from \"./index\";\nimport {\n TELE_BOX_STATE,\n TeleBoxCollector,\n TeleBoxManager,\n} from \"@netless/telebox-insider\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n }\n\n private playgroundSizeChangeListener = () => {\n this.updateManagerRect();\n };\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n emitter.off(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n\n export let cursorName: string;\n export let tagName: string;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n>\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.setMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public setMember() {\n this.member = this.manager.findMemberByUid(this.memberId);\n this.updateComponent();\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { compact, throttle, uniq } from \"lodash\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n emitter.on(\"cursorMove\", payload => {\n let cursorInstance = this.cursorInstances.get(payload.uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, payload.uid, this, WindowManager.wrapper);\n this.cursorInstances.set(payload.uid, cursorInstance);\n }\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n cursorInstance.move(payload.position);\n }\n });\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n private getUids = (members: readonly RoomMember[] | undefined) => {\n return compact(uniq(members?.map(member => member.payload?.uid)));\n };\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: MouseEvent) => {\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.mainView.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.mainView.redo();\n room.undo = () => manager.mainView.undo();\n room.cleanCurrentScene = () => manager.mainView.cleanCurrentScene();\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$page.style.transform = `translateY(${pageOffsetY * this.scale}px)`;\n });\n } else {\n this.$page.style.transform = `translateY(${pageOffsetY * this.scale}px)`;\n }\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\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\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\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 */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[: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]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\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(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){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 Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,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,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({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});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={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 xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={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\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, REQUIRE_VERSION } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { isNull, isObject } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport { setupWrapper } from \"./Helper\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n getVersionNumber,\n isValidScenePath,\n parseSceneDir,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n WhiteWebSDKInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport {\n InvisiblePlugin,\n isPlayer,\n isRoom,\n RoomPhase,\n ViewMode,\n WhiteVersion,\n} from \"white-web-sdk\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n};\n\nexport type MountParams = {\n room: Room;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n\n this.checkVersion();\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n let manager = await this.initManager(room);\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = await this.initManager(room);\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n\n if (cursor) {\n manager.cursorManager = new CursorManager(manager.appManager);\n }\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n this.boxManager?.updateManagerRect();\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!this.displayer.entireScenes()[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!this.displayer.entireScenes()[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n const scenePath = this.appManager?.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n this.mainView.moveCamera(camera);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 1000);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private static checkVersion() {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n\n private _removeScenes = (scenePath: string) => {\n this.room.removeScenes(scenePath);\n };\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n","import { WindowManager } from \"./index\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};"],"names":["Events","Events2","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","MIN_WIDTH","MIN_HEIGHT","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","item","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","constructor","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","error","message","includes","define","amd","loadApp","__esModule","default","Error","appClasses","app","this","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","emit","has","Emittery","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","debounce","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","destroy","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","length","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","push","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","camera","__spreadValues","setMainViewSize","size2","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","args","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","updateManagerRect","focusApp","focusBox","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","then","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","status","fullScenePath","needCloseBox","cleanAttrs","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","moveCamera","isEqual","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","stop","windowManger","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableCameraTransform","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","roomMembers","find","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","isRoom","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","focused","_prevFocused","mainScenePath","displayerWritableListener","container","appsWithCreatedAt","sortBy","StartCreate","focusByAttributes","retries","catch","err","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","F","isReactComponent","C","forceUpdate","G","I","H","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","Be","sort","fe","l3","h2","trim","transformOrigin","ze","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","setInterval","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","B2","styles","z2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","Bt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","ApplianceNames","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","setMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","timer","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","findMemberByUid","updateComponent","omit","cursorInstances","members","compact","uniq","throttle","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","cursorInstance","Cursor","Leave","leave","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","updateContainerRect","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","ORIGINALS","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","shift","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","ad","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","xa","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","stack","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Ga","Dj","lk","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","dispose","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","checkVersion","_WindowManager","isCreated","initManager","pRetry","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","canUndoSteps","canRedoSteps","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","getInvisiblePlugin","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","closeApp","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","sceneSrc","WhiteVersion","WhiteWebSDKInvalidError","isNull"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/constants.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts","../src/Helper.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n const text = await getScript(url);\n try {\n return executeScript(text, appName);\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n return executeScript(text, appName);\n }\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\nimport { loadApp } from \"./loader\";\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../index\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../index\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === \"/\") {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks, emitter } from \"./index\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\n\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return get(this._context.getAttributes(), [], defaultValue);\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS\n} from 'white-web-sdk';\nimport { BoxNotCreatedError } from './Utils/error';\nimport type { Room, SceneDefinition, View, EventListener as WhiteEventListener } from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport { Storage } from './App/Storage';\nimport type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from './App/MagixEvent';\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions),\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n }\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n }\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n }\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n }\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n }\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n }\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n }\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n }\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n }\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n }\n\n public mountView = (dom: HTMLDivElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n }\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === 'function' ? (this.appOptions as () => TAppOptions)() : this.appOptions\n }\n\n private _storage?: Storage<TAttributes>\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns \n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n }\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (this.manager.displayer as Room).dispatchMagixEvent.bind(this.manager.displayer)\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (event, handler, options) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () => this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n }\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(this.manager.displayer) as MagixEventRemoveListener<TMagixEventPayloads>\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./index\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n private kind: string;\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = this.manager.displayer.entireScenes()[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath], this.getFullScenePathFromScenes());\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n this.boxManager?.updateManagerRect();\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n private focusApp() {\n this.focusBox();\n this.store.setMainViewFocusPath(this.manager.mainView);\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n public focusBox() {\n this.boxManager?.focusBox({ appId: this.id });\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(app.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.store.setAppFocus(appId, true);\n this.focusBox();\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n view.release();\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n view.release();\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks, emitter } from \"../index\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import pRetry from \"p-retry\";\nimport { AppAttributes, AppStatus, Events, MagixEventName } from \"./constants\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks, emitter, WindowManager, reconnectRefresher } from \"./index\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { get, isInteger, sortBy } from \"lodash\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { Displayer, DisplayerState, Room } from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect, EmitterEvent } from \"./index\";\n\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === \"/\") {\n this.setMainViewScenePath(\"/\");\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(\"/\");\n }\n }\n });\n }\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.boxManager?.updateManagerRect();\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n this.boxManager?.focusBox({ appId: focused });\n callbacks.emit(\"focusedChange\", focused);\n this._prevFocused = focused;\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of sortBy(appsWithCreatedAt, \"createdAt\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n pRetry(\n async () => {\n this.appStatus.set(id, AppStatus.StartCreate);\n // 防御 appAttributes 有可能为 undefined 的情况,这里做一个重试\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n await this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n this.focusByAttributes(apps);\n },\n { retries: 3 }\n ).catch(err => {\n console.warn(`[WindowManager]: Insert App Error`, err);\n this.appStatus.delete(id);\n });\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchInternalEvent(Events.SetMainViewScenePath, {\n nextScenePath: scenePath,\n });\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public findMemberByUid = (uid: string) => {\n const roomMembers = this.room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n };\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.refresher?.destroy();\n this.mainViewProxy.destroy();\n callbacks.clearListeners();\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType} from \"./index\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType,\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect)\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.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\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},B=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],z=function(e){return w=e},_=B.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=z,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=B.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,B.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function Be(e){return\"function\"==typeof e}function ze(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&Be(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),Be(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,ze(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=3&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=3&&Math.abs(r-this.lastTitleBarTouch.clientY)<=3&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:B,styles:z,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(B),ee=k(z);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class Bt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){var e;const t=super.render();(null==(e=t.firstElementChild)?void 0:e.nextElementSibling)&&t.insertBefore(this.$dragArea,t.firstElementChild.nextElementSibling);const{x:i,y:s,width:r}=this.containerRect;return t.style.transform=`translate(${i}px, ${s}px)`,t.style.width=r+\"px\",t.classList.add(this.wrapClassName(\"max-titlebar\")),t.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),t.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),t.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.updateTitles(),t}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(1===this.boxes.length?this.$title&&(this.$title.textContent=this.boxes[0].title,this.$titleBar.replaceChild(this.$title,this.$titleBar.firstElementChild)):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class zt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const B=this.wrapClassName(\"titlebar-icon-close\"),z=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(B))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",z,!0),this._sideEffect.addEventListener(window,\"touchstart\",z,!0),this.maxTitleBar=new Bt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{this.topBox&&i.zIndex>this.topBox.zIndex&&this.topBox$.setValue(i),s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&(e.setZIndex(this.topBox.zIndex+1,t),this.topBox$.setValue(e))}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,zt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { emitter, WindowManager } from \"./index\";\nimport {\n TELE_BOX_STATE,\n TeleBoxCollector,\n TeleBoxManager,\n} from \"@netless/telebox-insider\";\nimport type { AddAppOptions, AppInitState, EmitterType, CallbacksType } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n }\n\n private playgroundSizeChangeListener = () => {\n this.updateManagerRect();\n };\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n emitter.off(\"playgroundSizeChange\", this.playgroundSizeChangeListener);\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n\n export let cursorName: string;\n export let tagName: string;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n>\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAxCAYAAABznEEcAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZoSURBVHgB7VlLSCRXFL3ljNEhEXTGhMQJmOjCz8ZNVLKICz9xIYhCNi7UgINkGEk2En8hW5cBUQNxo05GAoKikuCAmvGzGMdPcCUGjDPxD/4Vv/3JvWW97luvq7ur+hMZ8MKlqrteNfe8e965970GuLVbC5kpJr53+hjHx9yY3TUxJgLMAQG4ITARfp5T4Mri4uL9q6urnxwOxz/oY5eXl1/Pzs7e195X2FX4jZsIhAK7gx5ps9m6nGj9/f3OtbU1pzAE0318fPwVjYHrrN7R3AjU/wpOBwA9Cmf/9ejoqDMtLU31iooKGdA+ATo4OMiXAEWAHhBAGEApXj4rPAik0vPt7e0vCgoKPH4gMzMTSktLIS8vD2JiYgABvcHMTZyennbHxsaOg3udOJmLzwqEYB0ZgRCZENm4u7e39yQuLq65srISZmZmvP5Ybm4u5OfnQ0lJyXWUCAgzNLS+vt6SnJz8WgvYwV5xSlcRgyVg3ha2Dkxzc3MvfZmVlQW+bGxsDBobGyE7O1u94uJPjIqKqklKSvrbbrfPnp+ff7e8vJwMnlSTKWfJjDKhywJo6wLp0YcZ+dyIUr7s4cOHLsrRlQwBTSBFuzc2NiZYhjjVAIyzZBqEwgCQv0OOM/gNzuiP/ijlDxBRjgClpqa6AF1cXDydmpoaLCws3JcAGYHyC4JMzoKaibKysvienp6FtrY2IA/WCFB5ebkqCHSvARo8Ozt7igIxwIJ2gJ+seFMnDoIyEUV+dHT0G3qWVUr5M043DdAB0m2IKZwAYpgZX+qkywR6NFbuR0iDxmAoZRUQKRxSLTMnJ8eIaqqSeVMnIYUOdu+sq6vrp4f+VCoYo8khZaNs01VRlERUu2/BrWAA7sl2Anink1Ao18JGjyY/PDx8hq1GZqgp5c2mp6chMjLy2b179x7hRzvoqeUUwXIzqq4O5nZsNUaEbIbLqPLTou/s7FTvT05OpsA9sXJG1AVsZDwjutqBIN6gUlWjxod8XRBNKXgsrqpqYZfwEqX9h8TExD7wbFm8LmzxHQ0QHSlXKZVSqFC/hkqlaKapTaGgCQTK7PHW1lb/wsLC86KiokkccoV+qV1tcE0pO7AWxmhTxBszDzqRr66ujqanp2cRpQLNBgUsCh8BwQ54bn5+/s+mpqa+4eHhfS1gb52vwuP0trPjhSZCBtLQ0NA3MDDQQIFYAUHBYhuvzjpVbJr1lZWVP3p7e19UVVXNgHumXYrI4uBx6Yqevz02b0FcRQ8CoBQF3dXVpQLZ3d39C7n+ora29vfJyclDYFnWgFyxK3cxhss/+KoT/N6DVkQpKypFGUCp3Ozo6HgSHx//GLW/BwHsg57zl5pzADajwLn52mPL1ZHPloMoRYPMFL6EhAR18e7s7MxVV1fPsAAp4Avteq7dC/c1+wKI4g+EfGzDM+EYHBw8RDrNiA2QL6upqVGvKJ2/gHu2L1nA5wwEB2YDfSYMO1x/px0cgEc2zBY+eo67u6H29vZ/wU2VC8l58JxKNjDOgojNEp08aFVfX++3l6JMEdDx8fEB0FNIBsDXBc8ArwuW1EkeI1RKdLWmCx+1DhkZGRvR0dFfSsHKxYtnW0iqvJAN9xNm6MR/QO5sfapUSkqKmqW5ubmfwVgyZdpw/vPZl2kUEAinBMSUStG+gwra0NDQSynQKyloIxnlewafjDFLJzLRBJqiFMnqyMgIbG5uDuD996Dnv8iAPOMAPmbcm5lVJwA/vZRMKZGZlpaWVtAvUL4GZMqE1fjRJrUd76LHoX+InlhcXPwZnWW2tra6jjrpiBM3UK/weQr6J+gfodMh9HtwncG7YLA3CMSsLmxx5WuDCt8B7vZeicInTjCWlpb6wc15mfey7oc9E8LElpVmMgb9AXoC+qcTExOPKRu4NlTHs6Q10GfhgfYOvRsJQZ76BWMKuDtaolQs+gfoH6Mn436gDg+e+5BKXUQx/C5Je/a+NpbeiQJPKgUdlNXx/BCBKxVdxW5Q0I3XBqFKRhU4KLtjYawi3csuTKdc4FnIXNvKUJkVEGRG20QZAAUpA5DbaYAQLmQzfzxyk/ffdnCD4NWVnGdE7kQBQvQHC5lVEDxgMaM29lkxGCNLKrDnIbFAMkFmBIaDkHstU41coGZ1TZD5UjReCGUAYbNgdNqoXZB/T67yYbFAMiGML3BhYeH8rb0t9h/zgcTBcTNGiQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.setMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public setMember() {\n this.member = this.manager.findMemberByUid(this.memberId);\n this.updateComponent();\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { throttle } from \"lodash\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter, WindowManager } from \"../index\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n emitter.on(\"cursorMove\", payload => {\n let cursorInstance = this.cursorInstances.get(payload.uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, payload.uid, this, WindowManager.wrapper);\n this.cursorInstances.set(payload.uid, cursorInstance);\n }\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n cursorInstance.move(payload.position);\n }\n });\n this.sideEffectManager.add(() => {\n const unsubscribe = emitter.on(\"playgroundSizeChange\", () => {\n this.updateContainerRect();\n });\n return unsubscribe;\n })\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: MouseEvent) => {\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../index\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.mainView.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.mainView.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.mainView.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.mainView.redo();\n room.undo = () => manager.mainView.undo();\n room.cleanCurrentScene = () => manager.mainView.cleanCurrentScene();\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$page.style.transform = `translateY(${pageOffsetY * this.scale}px)`;\n });\n } else {\n this.$page.style.transform = `translateY(${pageOffsetY * this.scale}px)`;\n }\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\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\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\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 */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[: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]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\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(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){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 Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,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,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({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});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={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 xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={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\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import Emittery from \"emittery\";\nimport pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, REQUIRE_VERSION } from \"./constants\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { isNull, isObject } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport { setupWrapper } from \"./Helper\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n getVersionNumber,\n isValidScenePath,\n parseSceneDir,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n WhiteWebSDKInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport {\n InvisiblePlugin,\n isPlayer,\n isRoom,\n RoomPhase,\n ViewMode,\n WhiteVersion,\n} from \"white-web-sdk\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n ViewVisionMode,\n CameraState,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n};\n\nexport type MountParams = {\n room: Room;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n\n this.checkVersion();\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n let manager = await this.initManager(room);\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = await this.initManager(room);\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n\n if (cursor) {\n manager.cursorManager = new CursorManager(manager.appManager);\n }\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n this.boxManager?.updateManagerRect();\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!this.displayer.entireScenes()[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!this.displayer.entireScenes()[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n const scenePath = this.appManager?.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n this.mainView.moveCamera(camera);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 1000);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private static checkVersion() {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n const sceneState = this.displayer.state.sceneState;\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: sceneState.scenePath });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: sceneState.index });\n }\n }\n }\n\n private _removeScenes = (scenePath: string) => {\n this.room.removeScenes(scenePath);\n };\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./index\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n","import { WindowManager } from \"./index\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};"],"names":["Events","Events2","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","MIN_WIDTH","MIN_HEIGHT","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","item","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","constructor","Map","params","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","error","message","includes","define","amd","loadApp","__esModule","default","Error","appClasses","app","this","appClassesCache","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","emit","has","Emittery","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","debounce","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","delete","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","destroy","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","length","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","emitter","on","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","push","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","camera","__spreadValues","setMainViewSize","size2","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","args","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","updateManagerRect","focusApp","focusBox","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","then","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","setAppFocus","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","status","fullScenePath","needCloseBox","cleanAttrs","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","moveCamera","isEqual","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","callbacks","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","stop","windowManger","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableCameraTransform","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","roomMembers","find","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","isRoom","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","focused","_prevFocused","mainScenePath","displayerWritableListener","container","appsWithCreatedAt","sortBy","StartCreate","focusByAttributes","retries","catch","err","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","F","isReactComponent","C","forceUpdate","G","I","H","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","Be","sort","fe","l3","h2","trim","transformOrigin","ze","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","setInterval","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","B2","styles","z2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","nextElementSibling","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","Bt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","node","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","ApplianceNames","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","setMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","timer","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","findMemberByUid","updateComponent","omit","cursorInstances","throttle","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","cursorInstance","Cursor","Leave","leave","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","ORIGINALS","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","shift","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","ad","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","xa","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","stack","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Ga","Dj","lk","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","dispose","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","checkVersion","_WindowManager","isCreated","initManager","pRetry","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","canUndoSteps","canRedoSteps","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","getInvisiblePlugin","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","queryAll","closeApp","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","sceneSrc","WhiteVersion","WhiteWebSDKInvalidError","isNull"],"mappings":"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"}