@htmlbricks/hb-player-live-camera-ptz 0.71.34 → 0.71.36

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.
package/README.md CHANGED
@@ -1,45 +1,154 @@
1
- ## `hb-player-live-camera-ptz` — player live camera PTZ
1
+ # hb-player-live-camera-ptz
2
2
 
3
- **Category:** media
4
- **Tags:** media, video, streaming, camera
3
+ **Category:** media · **Tags:** media, video, streaming, camera · **Package:** `@htmlbricks/hb-player-live-camera-ptz`
5
4
 
6
- ### What it does
5
+ ## Overview
7
6
 
8
- Live camera view built on `hb-player-live` with a configurable PTZ panel: D-pad or analog joystick, zoom in/out, go home, click-to-center region on the video, optional grid overlay, fullscreen, mute, and play/pause. Manages camera presets in dialogs with `hb-table` (add, go to, delete). Feature flags live in `configuration`; PTZ and UI state are driven by `is_ptz_connected`, `is_ptz_panel_opened`, and `is_home`. Toolbar controls use **Bulma** `button` / `buttons has-addons`. Dispatches movement, preset, and video-init events for the host app to wire to your backend.
7
+ `hb-player-live-camera-ptz` embeds a live stream using `hb-player-live` and layers a **PTZ (pan–tilt–zoom) control panel** on top of the video. The component handles the UI only: D-pad or analog joystick (via `hb-pad-joystick`), zoom buttons, go-home confirmation, **click-to-center** (draw a rectangle on the video), optional **grid overlay**, fullscreen, mute, and play/pause. Presets are listed and managed through `hb-dialog` and `hb-table` (add scene, go to preset, delete preset with confirmations).
9
8
 
10
- ### Custom element
9
+ Your application listens for **custom events** and calls your camera or robotics backend. Movement **speed** and **precision** are edited in the panel (sliders) and included on each movement-related event as `movementSettings`.
11
10
 
12
- `hb-player-live-camera-ptz`
11
+ **Nested dependencies** (for bundling or CDN ordering) include `hb-player-live`, `hb-pad-joystick`, `hb-table`, and `hb-dialog` (see `extra/docs.ts` for the full tree).
13
12
 
14
- ### Attributes (snake_case; use string values in HTML)
13
+ ## Custom element
15
14
 
16
- - `id`, `style` (optional): strings.
17
- - `live_uri` (required): string — stream URI for the embedded player.
18
- - `media_type` (optional): `"hls"` | `"webrtc"` | `"auto"` | `"whep"` | `""`.
19
- - `is_ptz_connected`, `is_ptz_panel_opened`, `is_home` (optional): boolean strings.
20
- - `presets` (optional): JSON string `TPreset[]` (`token`, `name`, `x`, `y`, `z`).
21
- - `current_preset` (optional): string — active preset token.
22
- - `position` (optional): `"top"` | `"right-bottom"` | `"left-bottom"` | `"bottom"` | `"right-top"` | `"left-top"`.
23
- - `configuration` (optional): JSON string — toggles for joystick, presets, zoom, pan, tilt, click-to-center, settings, etc.
15
+ ```html
16
+ <hb-player-live-camera-ptz …></hb-player-live-camera-ptz>
17
+ ```
18
+
19
+ Bootstrap Icons are loaded for toolbar glyphs (see `component.wc.svelte` / `styles/webcomponent.scss`).
20
+
21
+ ## Attributes (snake_case; string values from HTML)
22
+
23
+ From HTML or `setAttribute`, values are **strings**. Objects and arrays must be **JSON strings**. Booleans should use **`yes`** / **`no`** where possible; the implementation also treats the strings `true` / `false` for some flags when coerced from attributes.
24
+
25
+ | Attribute | Required | Description |
26
+ |-----------|----------|-------------|
27
+ | `live_uri` | Yes | Stream URI passed to `hb-player-live` as `mediauri`. |
28
+ | `id` | No | Identifier echoed on dispatched events. |
29
+ | `style` | No | Host-level inline style (typed on `Component`; forwarding to inner players may vary). |
30
+ | `media_type` | No | `"hls"`, `"webrtc"`, `"auto"`, `"whep"`, or `""`. Default in code: `"auto"`. |
31
+ | `is_ptz_connected` | No | When falsy after coercion, the PTZ strip and opener are hidden. Use `yes` / `no`. |
32
+ | `is_ptz_panel_opened` | No | When falsy, the control panel is collapsed; the opener tab remains if connected. Use `yes` / `no`. |
33
+ | `is_home` | No | Drives the home button highlight (`yes` / `no`). |
34
+ | `presets` | No | JSON array of presets: `{ token, name, x, y, z }` (see **Preset shape** below). |
35
+ | `current_preset` | No | Token of the preset shown as active on the presets button. |
36
+ | `position` | No | Typed layout hint (`top`, `right-bottom`, `left-bottom`, `bottom`, `right-top`, `left-top`). **Not wired** in the current stylesheet; reserved for typing / future layout. |
37
+ | `configuration` | No | JSON object of feature flags (see **Configuration**). Defaults enable all documented features. |
38
+
39
+ ### Preset shape (`presets` JSON)
40
+
41
+ Each preset is an object:
42
+
43
+ - `token` (string): stable id used in UI and events.
44
+ - `name` (string): label in the table and button.
45
+ - `x`, `y`, `z` (numbers): logical camera pose; the component does not interpret them beyond displaying names/tokens—it forwards them on preset events for your backend.
46
+
47
+ ### Configuration (`configuration` JSON)
48
+
49
+ All keys are optional; defaults match the in-component `defaultConfiguration`.
50
+
51
+ | Key | Type | Role |
52
+ |-----|------|------|
53
+ | `joystick` | boolean | Allow switching between D-pad and analog joystick. |
54
+ | `presets` | boolean | Open the presets table dialog. |
55
+ | `addPreset` | boolean | “Add scene to preset” flow. |
56
+ | `switchPreset` | boolean | Confirm and dispatch go-to preset. |
57
+ | `deletePreset` | boolean | Delete preset from table flow. |
58
+ | `home` | boolean | Go-home button and confirmation. |
59
+ | `zoom.in`, `zoom.out` | boolean | Zoom buttons. |
60
+ | `pan`, `tilt` | boolean | Enable D-pad direction events; analog joystick path also checks these flags in code. |
61
+ | `clickToCenter` | boolean | Rectangle selection on the video and `goToSelectedArea`. |
62
+ | `settings` | boolean | Enables the settings button in the toolbar (handler is currently a **no-op**). |
63
+
64
+ ## Styling (Bulma and CSS variables)
65
+
66
+ Bulma-oriented variables are documented in `extra/docs.ts` (`styleSetup.vars`). Set public **`--bulma-*`** (and the joystick variable) on the host or `:root` as needed; see [Bulma CSS variables](https://bulma.io/documentation/features/css-variables/).
67
+
68
+ | Variable | Role |
69
+ |----------|------|
70
+ | `--bulma-danger` | Click-to-center selection rectangle (`#area_selector`). |
71
+ | `--bulma-border` | Grid overlay lines on the video. |
72
+ | `--bulma-link` | Toolbar buttons, PTZ accents, active states. |
73
+ | `--bulma-text` | Labels in dialogs and toolbars. |
74
+ | `--bulma-scheme-main` | Panel / dialog surfaces (with transparency in the panel). |
75
+ | `--hb-pad-joystick-size` | Joystick size forwarded to nested `hb-pad-joystick` (see component SCSS). |
76
+
77
+ **CSS parts:** none on this element (`extra/docs.ts`). Child components may expose their own parts in their docs.
24
78
 
25
- ### Events
79
+ **Slots:** none.
26
80
 
27
- - `initVideo`: `{ id; time; htmlVideoElement }`.
28
- - `panelMove`: `{ id; opened: boolean }`.
29
- - `goToHome`, `goToSelectedArea`, `setPreset`, `goToPreset`, `deletePreset`, `zoomAction`, `sendJoystickPosition`, `sendDirection` — see `builder/src/wc/player-live-camera-ptz/types/webcomponent.type.d.ts` for full payloads (`movementSettings`, geometry, presets, etc.).
81
+ ## User-facing behavior
30
82
 
31
- ### Usage notes
83
+ - **Stream:** `hb-player-live` with `no_controls="yes"`; outer toolbar handles mute and play/pause on the underlying `HTMLVideoElement`.
84
+ - **Panel visibility:** If `is_ptz_connected` is off, no PTZ UI. If connected but `is_ptz_panel_opened` is off, only the side **opener** control is shown; clicking it toggles the panel and dispatches `panelMove`.
85
+ - **Movement UI:** Default mode is **D-pad**; users can switch to **joystick** when `configuration.joystick` is enabled. **Speed** and **precision** sliders update `movementSettings` sent with events.
86
+ - **Click to center:** Toggle the square tool, then **two clicks** on the video define a rectangle; on completion the component dispatches `goToSelectedArea` with pixel geometry relative to the video box and the video’s width/height.
87
+ - **Presets:** “+” opens add confirmation → `setPreset`. Presets button opens `hb-table`; row actions trigger go/delete confirmations → `goToPreset` / `deletePreset`.
88
+ - **Fullscreen:** Requests fullscreen on the video element (browser UX).
32
89
 
33
- - **CSS variables:** Bulma theme tokens on `:host` (e.g. `--bulma-primary`, `--bulma-danger`); see `extra/docs.ts`.
34
- - Host must implement PTZ API calls in response to movement and preset events.
90
+ ## Events
35
91
 
36
- ### Minimal HTML example
92
+ Listen with `addEventListener` or framework equivalents. Payloads match `types/webcomponent.type.d.ts`.
93
+
94
+ | Event | `detail` summary |
95
+ |-------|------------------|
96
+ | `initVideo` | `{ id, time, htmlVideoElement }` — fired after the inner player exposes the video node. |
97
+ | `panelMove` | `{ id, opened }` — panel opened or closed via the opener control. |
98
+ | `goToHome` | `{ id, movementSettings, time }` — user confirmed home (types); wire to your PTZ home command. |
99
+ | `goToSelectedArea` | `{ id, movementSettings, time, top, left, width, height, htmlVideoElementWidth, htmlVideoElementHeight }` — rectangle in video coordinates plus intrinsic video layout size. |
100
+ | `setPreset` | `{ id, time }` — user confirmed adding the current scene as a preset; your backend should persist and then update `presets` / `current_preset` via attributes or properties. |
101
+ | `goToPreset` | Preset fields (`token`, `name`, `x`, `y`, `z`) plus `{ playerId, movementSettings, time }`. |
102
+ | `deletePreset` | Preset fields plus `{ playerId, time }`. |
103
+ | `zoomAction` | `{ id, movementSettings, direction: "in" \| "out", time }`. |
104
+ | `sendJoystickPosition` | `{ id, joyId, movementSettings, x, y, cardinalDirection, time }` — analog joystick samples (`CardinalDirection` in types). |
105
+ | `sendDirection` | `{ id, joyId, movementSettings, direction: "up" \| "right" \| "down" \| "left" }`. |
106
+
107
+ `movementSettings` is `{ speed: number; precision: number }` (defaults `50` / `50` in the component, user-adjustable in the panel).
108
+
109
+ ## Integration checklist
110
+
111
+ 1. Set `live_uri` and `media_type` appropriately for your stack (HLS, WebRTC, WHEP, etc.).
112
+ 2. Set `is_ptz_connected="yes"` when your session can accept PTZ commands.
113
+ 3. Subscribe to **movement and preset** events and translate them to your API.
114
+ 4. Push updated **`presets`** (JSON string) and **`current_preset`** from your server or client state when presets change.
115
+ 5. Optionally toggle **`configuration`** JSON to disable controls your backend does not support.
116
+
117
+ ## Minimal HTML example
118
+
119
+ ```html
120
+ <hb-player-live-camera-ptz
121
+ id="cam-1"
122
+ live_uri="https://example.com/live/stream.m3u8"
123
+ media_type="auto"
124
+ is_ptz_connected="yes"
125
+ is_ptz_panel_opened="yes"
126
+ ></hb-player-live-camera-ptz>
127
+
128
+ <script>
129
+ const el = document.querySelector("hb-player-live-camera-ptz");
130
+ el.addEventListener("sendDirection", (e) => {
131
+ console.log(e.detail);
132
+ });
133
+ </script>
134
+ ```
135
+
136
+ ### Example with presets (JSON attributes)
37
137
 
38
138
  ```html
39
139
  <hb-player-live-camera-ptz
40
- live_uri="https://example.com/stream.m3u8"
140
+ live_uri="https://example.com/live/stream.m3u8"
41
141
  media_type="auto"
42
- is_ptz_connected="true"
43
- is_ptz_panel_opened="true"
142
+ is_ptz_connected="yes"
143
+ current_preset="preset1"
144
+ presets='[{"token":"preset1","name":"Door","x":0,"y":0,"z":0},{"token":"preset2","name":"Yard","x":0,"y":0,"z":0}]'
44
145
  ></hb-player-live-camera-ptz>
45
146
  ```
147
+
148
+ ## Types and source layout
149
+
150
+ - **Authoring types:** `types/webcomponent.type.d.ts` (`Component`, `Events`, `TPreset`, `TMovementSettings`).
151
+ - **Metadata and style catalog:** `extra/docs.ts` (`componentSetup`, `styleSetup`, Storybook args).
152
+ - **Implementation:** `component.wc.svelte`.
153
+
154
+ For generated consumer typings after a web build, see the repository’s `types/html-elements.d.ts` and `types/svelte-elements.d.ts` under each package output.
package/main.iife.js CHANGED
@@ -1,6 +1,6 @@
1
1
  (function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var t={},n=Symbol(),r=`http://www.w3.org/1999/xhtml`,i=Array.isArray,a=Array.prototype.indexOf,o=Array.prototype.includes,s=Array.from,c=Object.keys,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.prototype,p=Array.prototype,m=Object.getPrototypeOf,h=Object.isExtensible,g=()=>{};function _(e){for(var t=0;t<e.length;t++)e[t]()}function v(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var y=1024,b=2048,ee=4096,te=8192,ne=16384,re=32768,ie=1<<25,ae=65536,oe=1<<18,x=1<<19,se=1<<20,S=65536,ce=1<<21,C=1<<22,w=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),T=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},fe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function pe(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function me(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function he(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ge(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function _e(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function ve(){throw Error(`https://svelte.dev/e/hydration_failed`)}function ye(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function be(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function xe(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Se(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Ce(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}function we(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Te(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var E=!1;function D(e){E=e}var O;function k(e){if(e===null)throw we(),t;return O=e}function Ee(){return k(Yt(O))}function A(e){if(E){if(Yt(O)!==null)throw we(),t;O=e}}function De(e=1){if(E){for(var t=e,n=O;t--;)n=Yt(n);O=n}}function Oe(e=!0){for(var t=0,n=O;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Yt(n);e&&n.remove(),n=i}}function ke(e){if(!e||e.nodeType!==8)throw we(),t;return e.data}function j(e){return e===this.v}function Ae(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function je(e){return!Ae(e,this.v)}var M=!1,Me=!1,N=null;function Ne(e){N=e}function Pe(e,t=!1,n){N={p:N,i:!1,c:null,e:null,s:e,x:null,r:K,l:Me&&!t?{s:null,u:null,$:[]}:null}}function Fe(e){var t=N,n=t.e;if(n!==null){t.e=null;for(var r of n)fn(r)}return e!==void 0&&(t.x=e),t.i=!0,N=t.p,e??{}}function Ie(){return!Me||N!==null&&N.l===null}var Le=[];function Re(){var e=Le;Le=[],_(e)}function ze(e){if(Le.length===0&&!$e){var t=Le;queueMicrotask(()=>{t===Le&&Re()})}Le.push(e)}function Be(){for(;Le.length>0;)Re()}function Ve(e){var t=K;if(t===null)return W.f|=w,e;if(!(t.f&32768)&&!(t.f&4))throw e;He(e,t)}function He(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var Ue=~(b|ee|y);function P(e,t){e.f=e.f&Ue|t}function We(e){e.f&512||e.deps===null?P(e,y):P(e,ee)}function Ge(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=S,Ge(t.deps))}function Ke(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Ge(e.deps),P(e,y)}var qe=!1,Je=!1;function Ye(e){var t=Je;try{return Je=!1,[e(),Je]}finally{Je=t}}var Xe=new Set,F=null,Ze=null,I=null,Qe=null,$e=!1,et=!1,tt=null,nt=null,rt=0,it=1,at=class e{id=it++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Map;#r=new Map;#i=null;#a=[];#o=new Set;#s=new Set;#c=new Map;is_fork=!1;#l=!1;#u=new Set;#d(){return this.is_fork||this.#r.size>0}#f(){for(let n of this.#u)for(let r of n.#r.keys()){for(var e=!1,t=r;t.parent!==null;){if(this.#c.has(t)){e=!0;break}t=t.parent}if(!e)return!0}return!1}skip_effect(e){this.#c.has(e)||this.#c.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#c.get(e);if(t){this.#c.delete(e);for(var n of t.d)P(n,b),this.schedule(n);for(n of t.m)P(n,ee),this.schedule(n)}}#p(){if(rt++>1e3&&(Xe.delete(this),ot()),!this.#d()){for(let e of this.#o)this.#s.delete(e),P(e,b),this.schedule(e);for(let e of this.#s)P(e,ee),this.schedule(e)}let t=this.#a;this.#a=[],this.apply();var n=tt=[],r=[],i=nt=[];for(let e of t)try{this.#m(e,n,r)}catch(t){throw pt(e),t}if(F=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(tt=null,nt=null,this.#d()||this.#f()){this.#h(r),this.#h(n);for(let[e,t]of this.#c)ft(e,t)}else{this.#n.size===0&&Xe.delete(this),this.#o.clear(),this.#s.clear();for(let e of this.#e)e(this);this.#e.clear(),Ze=this,ct(r),ct(n),Ze=null,this.#i?.resolve()}var o=F;if(this.#a.length>0){let e=o??=this;e.#a.push(...this.#a.filter(t=>!e.#a.includes(t)))}o!==null&&(Xe.add(o),o.#p()),Xe.has(this)||this.#g()}#m(e,t,n){e.f^=y;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#c.has(r))&&r.fn!==null){a?r.f^=y:i&4?t.push(r):M&&i&16777224?n.push(r):Gn(r)&&(i&16&&this.#s.add(r),Xn(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#h(e){for(var t=0;t<e.length;t+=1)Ke(e[t],this.#o,this.#s)}capture(e,t,r=!1){t!==n&&!this.previous.has(e)&&this.previous.set(e,t),e.f&8388608||(this.current.set(e,[e.v,r]),I?.set(e,e.v))}activate(){F=this}deactivate(){F=null,I=null}flush(){try{et=!0,F=this,this.#p()}finally{rt=0,Qe=null,tt=null,nt=null,et=!1,F=null,I=null,Nt.clear()}}discard(){for(let e of this.#t)e(this);this.#t.clear(),Xe.delete(this)}#g(){for(let c of Xe){var e=c.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(c.current.has(r)){var n=c.current.get(r)[0];if(e&&i!==n)c.current.set(r,[i,a]);else continue}t.push(r)}var r=[...c.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&c.discard();else if(t.length>0){c.activate();var i=new Set,a=new Map;for(var o of t)lt(o,r,i,a);if(c.#a.length>0){c.apply();for(var s of c.#a)c.#m(s,[],[]);c.#a=[]}c.deactivate()}}for(let e of Xe)e.#u.has(this)&&(e.#u.delete(this),e.#u.size===0&&!e.#d()&&(e.activate(),e.#p()))}increment(e,t){let n=this.#n.get(t)??0;if(this.#n.set(t,n+1),e){let e=this.#r.get(t)??0;this.#r.set(t,e+1)}}decrement(e,t,n){let r=this.#n.get(t)??0;if(r===1?this.#n.delete(t):this.#n.set(t,r-1),e){let e=this.#r.get(t)??0;e===1?this.#r.delete(t):this.#r.set(t,e-1)}this.#l||n||(this.#l=!0,ze(()=>{this.#l=!1,this.flush()}))}transfer_effects(e,t){for(let t of e)this.#o.add(t);for(let e of t)this.#s.add(e);e.clear(),t.clear()}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=v()).promise}static ensure(){if(F===null){let t=F=new e;et||(Xe.add(F),$e||ze(()=>{F===t&&t.flush()}))}return F}apply(){if(!M||!this.is_fork&&Xe.size===1){I=null;return}I=new Map;for(let[e,[t]]of this.current)I.set(e,t);for(let n of Xe)if(!(n===this||n.is_fork)){var e=!1,t=!1;if(n.id<this.id)for(let[r,[,i]]of n.current)i||(e||=this.current.has(r),t||=!this.current.has(r));if(e&&t)this.#u.add(n);else for(let[e,t]of n.previous)I.has(e)||I.set(e,t)}}schedule(e){if(Qe=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(tt!==null&&t===K&&(M||(W===null||!(W.f&2))&&!qe))return;if(n&96){if(!(n&1024))return;t.f^=y}}this.#a.push(t)}};function L(e){var t=$e;$e=!0;try{var n;for(e&&(F!==null&&!F.is_fork&&F.flush(),n=e());;){if(Be(),F===null)return n;F.flush()}}finally{$e=t}}function ot(){try{_e()}catch(e){He(e,Qe)}}var st=null;function ct(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Gn(r)&&(st=new Set,Xn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&wn(r),st?.size>0)){Nt.clear();for(let e of st){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)st.has(n)&&(st.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Xn(n)}}st.clear()}}st=null}}function lt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?lt(i,t,n,r):e&4194320&&!(e&2048)&&ut(i,t,r)&&(P(i,b),dt(i))}}function ut(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(o.call(t,r))return!0;if(r.f&2&&ut(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function dt(e){F.schedule(e)}function ft(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),P(e,y);for(var n=e.first;n!==null;)ft(n,t),n=n.next}}function pt(e){P(e,y);for(var t=e.first;t!==null;)pt(t),t=t.next}function mt(e){let t=0,n=Ft(0),r;return()=>{ln()&&(Y(n),_n(()=>(t===0&&(r=er(()=>e(()=>zt(n)))),t+=1,()=>{ze(()=>{--t,t===0&&(r?.(),r=void 0,zt(n))})})))}}var ht=ae|x;function gt(e,t,n,r){new _t(e,t,n,r)}var _t=class{parent;is_pending=!1;transform_error;#e;#t=E?O:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=mt(()=>(this.#m=Ft(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=vn(()=>{if(E){let e=this.#t;Ee();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},ht),E&&(this.#e=O)}#g(){try{this.#a=yn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=yn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=yn(()=>e(this.#e)),ze(()=>{var e=this.#c=document.createDocumentFragment(),t=qt();e.append(t),this.#a=this.#x(()=>yn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Tn(this.#o,()=>{this.#o=null}),this.#b(F))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=yn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();kn(this.#a,e);let t=this.#n.pending;this.#o=yn(()=>t(this.#e))}else this.#b(F)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Ke(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=W,r=N;Fn(this.#i),G(this.#i),Ne(this.#i.ctx);try{return at.ensure(),e()}catch(e){return Ve(e),null}finally{Fn(t),G(n),Ne(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Tn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,ze(()=>{this.#d=!1,this.#m&&Lt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Y(this.#m)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#a&&=(U(this.#a),null),this.#o&&=(U(this.#o),null),this.#s&&=(U(this.#s),null),E&&(k(this.#t),De(),k(Oe()));var r=!1,i=!1;let a=()=>{if(r){Te();return}r=!0,i&&Ce(),this.#s!==null&&Tn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){He(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return yn(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return He(e,this.#i.parent),null}}))};ze(()=>{var t;try{t=this.transform_error(e)}catch(e){He(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>He(e,this.#i&&this.#i.parent)):o(t)})}};function vt(e,t,n,r){let i=Ie()?St:Tt;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=yt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||He(e,o)}bt()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=xt();function d(){Promise.all(n.map(e=>Ct(e))).then(e=>l([...t.map(i),...e])).catch(e=>He(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),bt()}):d()}function yt(){var e=K,t=W,n=N,r=F;return function(i=!0){Fn(e),G(t),Ne(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function bt(e=!0){Fn(null),G(null),Ne(null),e&&F?.deactivate()}function xt(){var e=K,t=e.b,n=F,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function St(e){var t=2|b,r=W!==null&&W.f&2?W:null;return K!==null&&(K.f|=x),{ctx:N,deps:null,effects:null,equals:j,f:t,fn:e,reactions:null,rv:0,v:n,wv:0,parent:r??K,ac:null}}function Ct(e,t,r){let i=K;i===null&&pe();var a=void 0,o=Ft(n),s=!W,c=new Map;return gn(()=>{var t=K,n=v();a=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(bt)}catch(e){n.reject(e),bt()}var r=F;if(s){if(t.f&32768)var l=xt();if(i.b.is_rendered())c.get(r)?.reject(T),c.delete(r);else{for(let e of c.values())e.reject(T);c.clear()}c.set(r,n)}let u=(e,n=void 0)=>{if(l&&l(n===T),!(n===T||t.f&16384)){if(r.activate(),n)o.f|=w,Lt(o,n);else{o.f&8388608&&(o.f^=w),Lt(o,e);for(let[e,t]of c){if(c.delete(e),e===r)break;t.reject(T)}}r.deactivate()}};n.promise.then(u,e=>u(null,e||`unknown`))}),un(()=>{for(let e of c.values())e.reject(T)}),new Promise(e=>{function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}t(a)})}function wt(e){let t=St(e);return M||Ln(t),t}function Tt(e){let t=St(e);return t.equals=je,t}function Et(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)U(t[n])}}function Dt(e){for(var t=e.parent;t!==null;){if(!(t.f&2))return t.f&16384?null:t;t=t.parent}return null}function Ot(e){var t,n=K;Fn(Dt(e));try{e.f&=~S,Et(e),t=qn(e)}finally{Fn(n)}return t}function kt(e){var t=e.v,n=Ot(e);if(!e.equals(n)&&(e.wv=Wn(),(!F?.is_fork||e.deps===null)&&(e.v=n,F?.capture(e,t,!0),e.deps===null))){P(e,y);return}Mn||(I===null?We(e):(ln()||F?.is_fork)&&I.set(e,n))}function At(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(T),t.teardown=g,t.ac=null,Yn(t,0),xn(t))}function jt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Xn(t)}var Mt=new Set,Nt=new Map,Pt=!1;function Ft(e,t){return{f:0,v:e,reactions:null,equals:j,rv:0,wv:0}}function R(e,t){let n=Ft(e,t);return Ln(n),n}function It(e,t=!1,n=!0){let r=Ft(e);return t||(r.equals=je),Me&&n&&N!==null&&N.l!==null&&(N.l.s??=[]).push(r),r}function z(e,t,n=!1){return W!==null&&(!Pn||W.f&131072)&&Ie()&&W.f&4325394&&(In===null||!o.call(In,e))&&Se(),Lt(e,n?Vt(t):t,nt)}function Lt(e,t,n=null){if(!e.equals(t)){var r=e.v;Mn?Nt.set(e,t):Nt.set(e,r),e.v=t;var i=at.ensure();if(i.capture(e,r),e.f&2){let t=e;e.f&2048&&Ot(t),I===null&&We(t)}e.wv=Wn(),Bt(e,b,n),Ie()&&K!==null&&K.f&1024&&!(K.f&96)&&(Rn===null?zn([e]):Rn.push(e)),!i.is_fork&&Mt.size>0&&!Pt&&Rt()}return t}function Rt(){Pt=!1;for(let e of Mt)e.f&1024&&P(e,ee),Gn(e)&&Xn(e);Mt.clear()}function zt(e){z(e,e.v+1)}function Bt(e,t,n){var r=e.reactions;if(r!==null)for(var i=Ie(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&b)===0;if(l&&P(s,t),c&2){var u=s;I?.delete(u),c&65536||(c&512&&(s.f|=S),Bt(u,ee,n))}else if(l){var d=s;c&16&&st!==null&&st.add(d),n===null?dt(d):n.push(d)}}}}function Vt(e){if(typeof e!=`object`||!e||le in e)return e;let t=m(e);if(t!==f&&t!==p)return e;var r=new Map,a=i(e),o=R(0),s=null,c=Hn,l=e=>{if(Hn===c)return e();var t=W,n=Hn;G(null),Un(c);var r=e();return G(t),Un(n),r};return a&&r.set(`length`,R(e.length,s)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&be();var i=r.get(t);return i===void 0?l(()=>{var e=R(n.value,s);return r.set(t,e),e}):z(i,n.value,!0),!0},deleteProperty(e,t){var i=r.get(t);if(i===void 0){if(t in e){let e=l(()=>R(n,s));r.set(t,e),zt(o)}}else z(i,n),zt(o);return!0},get(t,i,a){if(i===le)return e;var o=r.get(i),c=i in t;if(o===void 0&&(!c||u(t,i)?.writable)&&(o=l(()=>R(Vt(c?t[i]:n),s)),r.set(i,o)),o!==void 0){var d=Y(o);return d===n?void 0:d}return Reflect.get(t,i,a)},getOwnPropertyDescriptor(e,t){var i=Reflect.getOwnPropertyDescriptor(e,t);if(i&&`value`in i){var a=r.get(t);a&&(i.value=Y(a))}else if(i===void 0){var o=r.get(t),s=o?.v;if(o!==void 0&&s!==n)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(e,t){if(t===le)return!0;var i=r.get(t),a=i!==void 0&&i.v!==n||Reflect.has(e,t);return(i!==void 0||K!==null&&(!a||u(e,t)?.writable))&&(i===void 0&&(i=l(()=>R(a?Vt(e[t]):n,s)),r.set(t,i)),Y(i)===n)?!1:a},set(e,t,i,c){var d=r.get(t),f=t in e;if(a&&t===`length`)for(var p=i;p<d.v;p+=1){var m=r.get(p+``);m===void 0?p in e&&(m=l(()=>R(n,s)),r.set(p+``,m)):z(m,n)}if(d===void 0)(!f||u(e,t)?.writable)&&(d=l(()=>R(void 0,s)),z(d,Vt(i)),r.set(t,d));else{f=d.v!==n;var h=l(()=>Vt(i));z(d,h)}var g=Reflect.getOwnPropertyDescriptor(e,t);if(g?.set&&g.set.call(c,i),!f){if(a&&typeof t==`string`){var _=r.get(`length`),v=Number(t);Number.isInteger(v)&&v>=_.v&&z(_,v+1)}zt(o)}return!0},ownKeys(e){Y(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==n});for(var[i,a]of r)a.v!==n&&!(i in e)&&t.push(i);return t},setPrototypeOf(){xe()}})}var Ht,Ut,Wt,Gt;function Kt(){if(Ht===void 0){Ht=window,Ut=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wt=u(t,`firstChild`).get,Gt=u(t,`nextSibling`).get,h(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),h(n)&&(n.__t=void 0)}}function qt(e=``){return document.createTextNode(e)}function Jt(e){return Wt.call(e)}function Yt(e){return Gt.call(e)}function B(e,t){if(!E)return Jt(e);var n=Jt(O);if(n===null)n=O.appendChild(qt());else if(t&&n.nodeType!==3){var r=qt();return n?.before(r),k(r),r}return t&&en(n),k(n),n}function Xt(e,t=!1){if(!E){var n=Jt(e);return n instanceof Comment&&n.data===``?Yt(n):n}if(t){if(O?.nodeType!==3){var r=qt();return O?.before(r),k(r),r}en(O)}return O}function V(e,t=1,n=!1){let r=E?O:e;for(var i;t--;)i=r,r=Yt(r);if(!E)return r;if(n){if(r?.nodeType!==3){var a=qt();return r===null?i?.after(a):r.before(a),k(a),a}en(r)}return k(r),r}function Zt(e){e.textContent=``}function Qt(){return!M||st!==null?!1:(K.f&re)!==0}function $t(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function en(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}var tn=!1;function nn(){tn||(tn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function rn(e){var t=W,n=K;G(null),Fn(null);try{return e()}finally{G(t),Fn(n)}}function an(e,t,n,r=n){e.addEventListener(t,()=>rn(n));let i=e.__on_r;i?e.__on_r=()=>{i(),r(!0)}:e.__on_r=()=>r(!0),nn()}function on(e){K===null&&(W===null&&ge(e),he()),Mn&&me(e)}function sn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function cn(e,t){var n=K;n!==null&&n.f&8192&&(e|=te);var r={ctx:N,deps:null,nodes:null,f:e|b|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if(e&4)tt===null?at.ensure().schedule(r):tt.push(r);else if(t!==null){try{Xn(r)}catch(e){throw U(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ae))}if(i!==null&&(i.parent=n,n!==null&&sn(i,n),W!==null&&W.f&2&&!(e&64))){var a=W;(a.effects??=[]).push(i)}return r}function ln(){return W!==null&&!Pn}function un(e){let t=cn(8,null);return P(t,y),t.teardown=e,t}function dn(e){on(`$effect`);var t=K.f;if(!W&&t&32&&!(t&32768)){var n=N;(n.e??=[]).push(e)}else return fn(e)}function fn(e){return cn(4|se,e)}function pn(e){at.ensure();let t=cn(64|x,e);return()=>{U(t)}}function mn(e){at.ensure();let t=cn(64|x,e);return(e={})=>new Promise(n=>{e.outro?Tn(t,()=>{U(t),n(void 0)}):(U(t),n(void 0))})}function hn(e){return cn(4,e)}function gn(e){return cn(C|x,e)}function _n(e,t=0){return cn(8|t,e)}function H(e,t=[],n=[],r=[]){vt(r,t,n,t=>{cn(8,()=>e(...t.map(Y)))})}function vn(e,t=0){return cn(16|t,e)}function yn(e){return cn(32|x,e)}function bn(e){var t=e.teardown;if(t!==null){let e=Mn,n=W;Nn(!0),G(null);try{t.call(null)}finally{Nn(e),G(n)}}}function xn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&rn(()=>{e.abort(T)});var r=n.next;n.f&64?n.parent=null:U(n,t),n=r}}function Sn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||U(t),t=n}}function U(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Cn(e.nodes.start,e.nodes.end),n=!0),P(e,ie),xn(e,t&&!n),Yn(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();bn(e),e.f^=ie,e.f|=ne;var i=e.parent;i!==null&&i.first!==null&&wn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Cn(e,t){for(;e!==null;){var n=e===t?null:Yt(e);e.remove(),e=n}}function wn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Tn(e,t,n=!0){var r=[];En(e,r,!0);var i=()=>{n&&U(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function En(e,t,n){if(!(e.f&8192)){e.f^=te;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next,o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;En(i,t,o?n:!1),i=a}}}function Dn(e){On(e,!0)}function On(e,t){if(e.f&8192){e.f^=te,e.f&1024||(P(e,b),at.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;On(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function kn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Yt(n);t.append(n),n=i}}var An=null,jn=!1,Mn=!1;function Nn(e){Mn=e}var W=null,Pn=!1;function G(e){W=e}var K=null;function Fn(e){K=e}var In=null;function Ln(e){W!==null&&(!M||W.f&2)&&(In===null?In=[e]:In.push(e))}var q=null,J=0,Rn=null;function zn(e){Rn=e}var Bn=1,Vn=0,Hn=Vn;function Un(e){Hn=e}function Wn(){return++Bn}function Gn(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~S),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Gn(a)&&kt(a),a.wv>e.wv)return!0}t&512&&I===null&&P(e,y)}return!1}function Kn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!M&&In!==null&&o.call(In,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Kn(a,t,!1):t===a&&(n?P(a,b):a.f&1024&&P(a,ee),dt(a))}}function qn(e){var t=q,n=J,r=Rn,i=W,a=In,o=N,s=Pn,c=Hn,l=e.f;q=null,J=0,Rn=null,W=l&96?null:e,In=null,Ne(e.ctx),Pn=!1,Hn=++Vn,e.ac!==null&&(rn(()=>{e.ac.abort(T)}),e.ac=null);try{e.f|=ce;var u=e.fn,d=u();e.f|=re;var f=e.deps,p=F?.is_fork;if(q!==null){var m;if(p||Yn(e,J),f!==null&&J>0)for(f.length=J+q.length,m=0;m<q.length;m++)f[J+m]=q[m];else e.deps=f=q;if(ln()&&e.f&512)for(m=J;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&J<f.length&&(Yn(e,J),f.length=J);if(Ie()&&Rn!==null&&!Pn&&f!==null&&!(e.f&6146))for(m=0;m<Rn.length;m++)Kn(Rn[m],e);if(i!==null&&i!==e){if(Vn++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=Vn;if(t!==null)for(let e of t)e.rv=Vn;Rn!==null&&(r===null?r=Rn:r.push(...Rn))}return e.f&8388608&&(e.f^=w),d}catch(e){return Ve(e)}finally{e.f^=ce,q=t,J=n,Rn=r,W=i,In=a,Ne(o),Pn=s,Hn=c}}function Jn(e,t){let n=t.reactions;if(n!==null){var r=a.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(q===null||!o.call(q,t))){var s=t;s.f&512&&(s.f^=512,s.f&=~S),We(s),At(s),Yn(s,0)}}function Yn(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Jn(e,n[r])}function Xn(e){var t=e.f;if(!(t&16384)){P(e,y);var n=K,r=jn;K=e,jn=!0;try{t&16777232?Sn(e):xn(e),bn(e);var i=qn(e);e.teardown=typeof i==`function`?i:null,e.wv=Bn}finally{jn=r,K=n}}}async function Zn(){if(M)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),L()}function Y(e){var t=(e.f&2)!=0;if(An?.add(e),W!==null&&!Pn&&!(K!==null&&K.f&16384)&&(In===null||!o.call(In,e))){var n=W.deps;if(W.f&2097152)e.rv<Vn&&(e.rv=Vn,q===null&&n!==null&&n[J]===e?J++:q===null?q=[e]:q.push(e));else{(W.deps??=[]).push(e);var r=e.reactions;r===null?e.reactions=[W]:o.call(r,W)||r.push(W)}}if(Mn&&Nt.has(e))return Nt.get(e);if(t){var i=e;if(Mn){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||$n(i))&&(a=Ot(i)),Nt.set(i,a),a}var s=(i.f&512)==0&&!Pn&&W!==null&&(jn||(W.f&512)!=0),c=(i.f&re)===0;Gn(i)&&(s&&(i.f|=512),kt(i)),s&&!c&&(jt(i),Qn(i))}if(I?.has(e))return I.get(e);if(e.f&8388608)throw e.v;return e.v}function Qn(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(jt(t),Qn(t))}function $n(e){if(e.v===n)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Nt.has(t)||t.f&2&&$n(t))return!0;return!1}function er(e){var t=Pn;try{return Pn=!0,e()}finally{Pn=t}}var tr=Symbol(`events`),nr=new Set,rr=new Set;function ir(e,t,n,r={}){function i(e){if(r.capture||sr.call(t,e),!e.cancelBubble)return rn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?ze(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function X(e,t,n,r,i){var a={capture:r,passive:i},o=ir(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&un(()=>{t.removeEventListener(e,o,a)})}function Z(e,t,n){(t[tr]??={})[e]=n}function ar(e){for(var t=0;t<e.length;t++)nr.add(e[t]);for(var n of rr)n(e)}var or=null;function sr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;or=e;var o=0,s=or===e&&e[tr];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[tr]=t;return}var u=i.indexOf(t);if(u===-1)return;c<=u&&(o=c)}if(a=i[o]||e.target,a!==t){l(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=W,f=K;G(null),Fn(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[tr]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[tr]=t,delete e.currentTarget,G(d),Fn(f)}}}var cr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function lr(e){return cr?.createHTML(e)??e}function ur(e){var t=$t(`template`);return t.innerHTML=lr(e.replaceAll(`<!>`,`<!---->`)),t.content}function dr(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function fr(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(E)return dr(O,null),O;i===void 0&&(i=ur(a?e:`<!>`+e),n||(i=Jt(i)));var t=r||Ut?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=Jt(t),s=t.lastChild;dr(o,s)}else dr(t,t);return t}}function pr(e,t){if(E){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=O),Ee();return}e!==null&&e.before(t)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var mr=[`touchstart`,`touchmove`];function hr(e){return mr.includes(e)}function gr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function _r(e,t){return br(e,t)}function vr(e,n){Kt(),n.intro=n.intro??!1;let r=n.target,i=E,a=O;try{for(var o=Jt(r);o&&(o.nodeType!==8||o.data!==`[`);)o=Yt(o);if(!o)throw t;D(!0),k(o);let i=br(e,{...n,anchor:o});return D(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
2
2
  `).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw i;return i!==t&&console.warn(`Failed to hydrate: `,i),n.recover===!1&&ve(),Kt(),Zt(r),D(!1),_r(e,n)}finally{D(i),k(a)}}var yr=new Map;function br(e,{target:n,anchor:r,props:i={},events:a,context:o,intro:c=!0,transformError:l}){Kt();var u=void 0,d=mn(()=>{var c=r??n.appendChild(qt());gt(c,{pending:()=>{}},n=>{Pe({});var r=N;if(o&&(r.c=o),a&&(i.$$events=a),E&&dr(n,null),u=e(n,i)||{},E&&(K.nodes.end=O,O===null||O.nodeType!==8||O.data!==`]`))throw we(),t;Fe()},l);var d=new Set,f=e=>{for(var t=0;t<e.length;t++){var r=e[t];if(!d.has(r)){d.add(r);var i=hr(r);for(let e of[n,document]){var a=yr.get(e);a===void 0&&(a=new Map,yr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,sr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(s(nr)),rr.add(f),()=>{for(var e of d)for(let r of[n,document]){var t=yr.get(r),i=t.get(e);--i==0?(r.removeEventListener(e,sr),t.delete(e),t.size===0&&yr.delete(r)):t.set(e,i)}rr.delete(f),c!==r&&c.parentNode?.removeChild(c)}});return xr.set(u,d),u}var xr=new WeakMap;function Sr(e,t){let n=xr.get(e);return n?(xr.delete(e),n(t)):Promise.resolve()}var Cr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Dn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(U(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();kn(r,t),t.append(qt()),this.#n.set(e,{effect:r,fragment:t})}else U(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Tn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(U(n.effect),this.#n.delete(e))};ensure(e,t){var n=F,r=Qt();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=qt();i.append(a),this.#n.set(e,{effect:yn(()=>t(a)),fragment:i})}else this.#t.set(e,yn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else E&&(this.anchor=O),this.#a(n)}};function wr(e,t,n=!1){var r;E&&(r=O,Ee());var i=new Cr(e),a=n?ae:0;function o(e,t){if(E){var n=ke(r);if(e!==parseInt(n.substring(1))){var a=Oe();k(a),i.anchor=a,D(!1),i.ensure(e,t),D(!0);return}}i.ensure(e,t)}vn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Tr(e,t){let n=null,r=E;var i;if(E){n=O;for(var a=Jt(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=Yt(a);if(a===null)D(!1);else{var o=Yt(a);a.remove(),k(o)}}E||(i=document.head.appendChild(qt()));try{vn(()=>t(i),oe|x)}finally{r&&(D(!0),k(n))}}function Er(e,t){hn(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector(`#`+t.hash)){let e=$t(`style`);e.id=t.hash,e.textContent=t.code,r.appendChild(e)}})}var Dr=[...`
3
- \r\f\xA0\v`];function Or(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Dr.includes(r[o-1]))&&(s===r.length||Dr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function kr(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Ar(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function jr(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Ar)),i&&c.push(...Object.keys(i).map(Ar));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Ar(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=kr(r)),i&&(n+=kr(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Q(e,t,n,r,i,a){var o=e.__className;if(E||o!==n||o===void 0){var s=Or(n,r,a);(!E||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Mr(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Nr(e,t,n,r){var i=e.__style;if(E||i!==t){var a=jr(t,r);(!E||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(Mr(e,n?.[0],r[0]),Mr(e,n?.[1],r[1],`important`)):Mr(e,n,r));return r}var Pr=Symbol(`is custom element`),Fr=Symbol(`is html`),Ir=fe?`link`:`LINK`;function Lr(e){if(E){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Rr(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Rr(e,`checked`,null),e.checked=r}}};e.__on_r=n,ze(n),nn()}}function Rr(e,t,n,r){var i=zr(e);E&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ir)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Vr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function $(e,t,n){var r=W,i=K;let a=E;E&&D(!1),G(null),Fn(null);try{t!==`style`&&(Br.has(e.getAttribute(`is`)||e.nodeName)||!customElements||customElements.get(e.getAttribute(`is`)||e.nodeName.toLowerCase())?Vr(e).includes(t):n&&typeof n==`object`)?e[t]=n:Rr(e,t,n==null?n:String(n))}finally{G(r),Fn(i),a&&D(!0)}}function zr(e){return e.__attributes??={[Pr]:e.nodeName.includes(`-`),[Fr]:e.namespaceURI===r}}var Br=new Map;function Vr(e){var t=e.getAttribute(`is`)||e.nodeName,n=Br.get(t);if(n)return n;Br.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=d(i),r)r[o].set&&n.push(o);i=m(i)}return n}function Hr(e,t,n=t){var r=new WeakSet;an(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=Ur(e)?Wr(a):a,n(a),F!==null&&r.add(F),await Zn(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(E&&e.defaultValue!==e.value||er(t)==null&&e.value)&&(n(Ur(e)?Wr(e.value):e.value),F!==null&&r.add(F)),_n(()=>{var n=t();if(e===document.activeElement){var i=M?Ze:F;if(r.has(i))return}Ur(e)&&n===Wr(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function Ur(e){var t=e.type;return t===`number`||t===`range`}function Wr(e){return e===``?null:+e}function Gr(e,t,n,r){var i=!Me||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=()=>(c&&(c=!1,s=o?er(r):r),s);let d;if(a){var f=le in e||ue in e;d=u(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=Ye(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=l(),d&&(i&&ye(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?l():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?St:Tt)(()=>(_=!1,h()));a&&Y(v);var y=K;return(function(e,t){if(arguments.length>0){let n=t?Y(v):i&&a?Vt(e):e;return z(v,n),_=!0,s!==void 0&&(s=n),e}return Mn&&_||y.f&16384?v.v:Y(v)})}function Kr(e){return new qr(e)}var qr=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=It(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Y(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===ue?!0:(Y(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return z(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?vr:_r)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!M&&(!e?.props?.$$host||e.sync===!1)&&L(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||l(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Sr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}},Jr;typeof HTMLElement==`function`&&(Jr=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){if(await Promise.resolve(),!this.$$cn||this.$$c)return;function e(e){return t=>{let n=$t(`slot`);e!==`default`&&(n.name=e),pr(t,n)}}let t={},n=Xr(this);for(let r of this.$$s)r in n&&(r===`default`&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(let e of this.attributes){let t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=Yr(t,e.value,this.$$p_d,`toProp`))}for(let e in this.$$p_d)!(e in this.$$d)&&this[e]!==void 0&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Kr({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=pn(()=>{_n(()=>{this.$$r=!0;for(let e of c(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];let t=Yr(e,this.$$d[e],this.$$p_d,`toAttribute`);t==null?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(let e in this.$$l)for(let t of this.$$l[e]){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Yr(e,n,this.$$p_d,`toProp`),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return c(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Yr(e,t,n,r){let i=n[e]?.type;if(t=i===`Boolean`&&typeof t!=`boolean`?t!=null:t,!r||!n[e])return t;if(r===`toAttribute`)switch(i){case`Object`:case`Array`:return t==null?null:JSON.stringify(t);case`Boolean`:return t?``:null;case`Number`:return t??null;default:return t}else switch(i){case`Object`:case`Array`:return t&&JSON.parse(t);case`Boolean`:return t;case`Number`:return t==null?t:+t;default:return t}}function Xr(e){let t={};return e.childNodes.forEach(e=>{t[e.slot||`default`]=!0}),t}function Zr(e,t,n,r,i,a){let o=class extends Jr{constructor(){super(e,n,i),this.$$p_d=t}static get observedAttributes(){return c(t).map(e=>(t[e].attribute||e).toLowerCase())}};return c(t).forEach(e=>{l(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=Yr(e,n,t),this.$$d[e]=n;var r=this.$$c;r&&(u(r,e)?.get?r[e]=n:r.$set({[e]:n}))}})}),r.forEach(e=>{l(o.prototype,e,{get(){return this.$$c?.[e]}})}),a&&(o=a(o)),e.element=o,o}var Qr={name:`@htmlbricks/svelte-webcomponent`,private:!0,version:`0.71.34`,type:`module`,scripts:{dev:`vite --open`,build:`vite build`,"publish:wc":`node publish.ts`,"build:wc":`node build.ts`,"watch:wc":`node watch.ts`,preview:`vite preview`,check:`svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json`,"release:patch":`npm version patch && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:minor":`npm version minor && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:major":`npm version major && git push && git push --tags && npm run build:wc && npm run publish:wc`},devDependencies:{"@google-pay/button-element":`^3.2.1`,"@paypal/paypal-js":`^9.5.0`,"@sveltejs/vite-plugin-svelte":`^7.0.0`,"@tsconfig/svelte":`^5.0.8`,"@types/debounce":`^1.2.4`,"@types/node":`^24.10.1`,"@types/rgb-hex":`^3.0.0`,"chart.js":`^4.5.1`,"date-holidays":`^3.26.12`,dayjs:`^1.11.20`,"hls.js":`^1.6.15`,"html5-joystick-new":`^0.0.6`,ol:`^10.8.0`,"perfect-freehand":`^1.2.3`,prettier:`^3.8.1`,"rollup-plugin-terser":`^7.0.2`,"sass-embedded":`^1.98.0`,"simple-serverless-auth-client":`^0.0.6`,"simple-webrtc-element":`^0.0.1`,"simple-webrtc-element-whep":`^0.2.3`,"style-to-object":`^1.0.14`,svelte:`^5.55.0`,"svelte-check":`^4.4.5`,terser:`^5.46.1`,"ts-json-schema-generator":`^2.9.0`,typescript:`^6.0.2`,vite:`^8.0.3`},dependencies:{"@floating-ui/dom":`^1.7.6`,"@popperjs/core":`^2.11.8`,debounce:`^3.0.0`,"html-colors":`^0.0.6`,marked:`^17.0.5`,raphael:`^2.3.0`,"rgb-hex":`^4.1.0`,"wc-js-utils":`^0.5.4`}};function $r(e){let t=e?.repoName.split(`/`)?.[1]||e?.repoName;if(!t)throw Error(`wrong componentPath `+e?.repoName);if(!e?.version)throw Error(`wrong version `+e?.version);let n=e?.iifePath||`main.iife.js`;if(!document.getElementById(t+`-script`)&&!customElements?.get?.(t)&&!window?.customElements?.get?.(t))try{let r=document.createElement(`script`);if(r.id=t+`-script`,r.src=`https://cdn.jsdelivr.net/npm/${e.repoName}@${e.version}/${n}`,e?.local)r.src=`${e.local}`;else if(location.href.includes(`localhost:6006`)){let e=t.split(`-`)[0];r.src=`http://localhost:6006/webcomponents/${t.replace(e+`-`,``)}/${n}`}document.head.appendChild(r)}catch(e){console.warn(e)}}var ei=fr(`<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@latest/font/bootstrap-icons.css" class="svelte-eex92x"/>`),ti=fr(`<hb-table></hb-table>`,2),ni=fr(`<hb-pad-joystick></hb-pad-joystick>`,2),ri=fr(`<hb-pad-joystick></hb-pad-joystick>`,2),ii=fr(`<div id="controller" class="svelte-eex92x"><div id="panel" class="svelte-eex92x"><div id="joystick" class="area svelte-eex92x"><!></div> <div id="buttons" class="area svelte-eex92x"><div class="buttons has-addons mr-2 is-inline-flex svelte-eex92x"><button type="button" class="button is-small is-light svelte-eex92x" aria-label="Zoom In"><i class="bi bi-zoom-in svelte-eex92x"></i></button> <button type="button" class="button is-small is-light svelte-eex92x" aria-label="Zoom Out"><i class="bi bi-zoom-out svelte-eex92x"></i></button></div> <button type="button" aria-label="Go to home"><i class="bi bi-house-door-fill svelte-eex92x"></i></button> <button type="button" aria-label="select zone"><i class="bi bi-square svelte-eex92x"></i></button></div> <div id="speed" class="area svelte-eex92x"><span class="slider_label svelte-eex92x">speed:</span> <input class="range svelte-eex92x" type="range"/></div> <div id="precision" class="area svelte-eex92x"><span class="slider_label svelte-eex92x">precision:</span> <input class="range svelte-eex92x" type="range"/></div> <div id="presets_view" class="area svelte-eex92x"><button type="button" aria-label="showGrid"><i class="bi bi-grid-3x3 svelte-eex92x"></i></button> <button type="button" aria-label="Toggle joystick mode"><i class="bi bi-joystick svelte-eex92x"></i></button> <button type="button" style="float:right;margin-right:5px;" class="button is-small is-light svelte-eex92x" aria-label="Enter fullscreen mode"><i class="bi bi-arrows-fullscreen svelte-eex92x"></i></button></div> <div id="presets_select" class="area svelte-eex92x"><button type="button" class="button is-small is-light svelte-eex92x" aria-label="Add Scene to Preset"><i class="bi bi-plus-circle-fill svelte-eex92x"></i></button> <button type="button" style="width:130px!important;display:inline-block!important" aria-label="Open Presets Modal"> <i style="float:right" class="bi bi-arrow-down-up svelte-eex92x"></i></button></div> <div id="presets_buttons" class="area svelte-eex92x"><button type="button"><i></i></button> <button type="button"><i></i></button> <button type="button" class="button is-small is-light svelte-eex92x" aria-label="Open settings"><i class="bi bi-sliders svelte-eex92x"></i> <span class="timecell svelte-eex92x"><span class="svelte-eex92x"> </span></span></button></div></div></div>`),ai=fr(`<!> <div id="opener" class="svelte-eex92x"><i></i></div>`,1),oi=fr(`<hb-dialog><div slot="body-content" class="svelte-eex92x"><!></div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x">Are You sure to add this scene to the preset?</div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x">Are You sure to go To Home?</div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x"> </div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x"> </div></hb-dialog> <div id="container" class="svelte-eex92x"><hb-player-live></hb-player-live> <div id="area_selector" class="svelte-eex92x"></div> <div id="grid" class="svelte-eex92x"><table id="grid_table" class="svelte-eex92x"><tbody class="svelte-eex92x"><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr></tbody></table></div> <!></div>`,3),si={hash:`svelte-eex92x`,code:`@charset "UTF-8";
3
+ \r\f\xA0\v`];function Or(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Dr.includes(r[o-1]))&&(s===r.length||Dr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function kr(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Ar(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function jr(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Ar)),i&&c.push(...Object.keys(i).map(Ar));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Ar(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=kr(r)),i&&(n+=kr(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Q(e,t,n,r,i,a){var o=e.__className;if(E||o!==n||o===void 0){var s=Or(n,r,a);(!E||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Mr(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Nr(e,t,n,r){var i=e.__style;if(E||i!==t){var a=jr(t,r);(!E||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(Mr(e,n?.[0],r[0]),Mr(e,n?.[1],r[1],`important`)):Mr(e,n,r));return r}var Pr=Symbol(`is custom element`),Fr=Symbol(`is html`),Ir=fe?`link`:`LINK`;function Lr(e){if(E){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Rr(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Rr(e,`checked`,null),e.checked=r}}};e.__on_r=n,ze(n),nn()}}function Rr(e,t,n,r){var i=zr(e);E&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ir)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Vr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function $(e,t,n){var r=W,i=K;let a=E;E&&D(!1),G(null),Fn(null);try{t!==`style`&&(Br.has(e.getAttribute(`is`)||e.nodeName)||!customElements||customElements.get(e.getAttribute(`is`)||e.nodeName.toLowerCase())?Vr(e).includes(t):n&&typeof n==`object`)?e[t]=n:Rr(e,t,n==null?n:String(n))}finally{G(r),Fn(i),a&&D(!0)}}function zr(e){return e.__attributes??={[Pr]:e.nodeName.includes(`-`),[Fr]:e.namespaceURI===r}}var Br=new Map;function Vr(e){var t=e.getAttribute(`is`)||e.nodeName,n=Br.get(t);if(n)return n;Br.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=d(i),r)r[o].set&&n.push(o);i=m(i)}return n}function Hr(e,t,n=t){var r=new WeakSet;an(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=Ur(e)?Wr(a):a,n(a),F!==null&&r.add(F),await Zn(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(E&&e.defaultValue!==e.value||er(t)==null&&e.value)&&(n(Ur(e)?Wr(e.value):e.value),F!==null&&r.add(F)),_n(()=>{var n=t();if(e===document.activeElement){var i=M?Ze:F;if(r.has(i))return}Ur(e)&&n===Wr(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function Ur(e){var t=e.type;return t===`number`||t===`range`}function Wr(e){return e===``?null:+e}function Gr(e,t,n,r){var i=!Me||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=()=>(c&&(c=!1,s=o?er(r):r),s);let d;if(a){var f=le in e||ue in e;d=u(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=Ye(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=l(),d&&(i&&ye(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?l():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?St:Tt)(()=>(_=!1,h()));a&&Y(v);var y=K;return(function(e,t){if(arguments.length>0){let n=t?Y(v):i&&a?Vt(e):e;return z(v,n),_=!0,s!==void 0&&(s=n),e}return Mn&&_||y.f&16384?v.v:Y(v)})}function Kr(e){return new qr(e)}var qr=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=It(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Y(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===ue?!0:(Y(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return z(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?vr:_r)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!M&&(!e?.props?.$$host||e.sync===!1)&&L(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||l(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Sr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}},Jr;typeof HTMLElement==`function`&&(Jr=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){if(await Promise.resolve(),!this.$$cn||this.$$c)return;function e(e){return t=>{let n=$t(`slot`);e!==`default`&&(n.name=e),pr(t,n)}}let t={},n=Xr(this);for(let r of this.$$s)r in n&&(r===`default`&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(let e of this.attributes){let t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=Yr(t,e.value,this.$$p_d,`toProp`))}for(let e in this.$$p_d)!(e in this.$$d)&&this[e]!==void 0&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Kr({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=pn(()=>{_n(()=>{this.$$r=!0;for(let e of c(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];let t=Yr(e,this.$$d[e],this.$$p_d,`toAttribute`);t==null?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(let e in this.$$l)for(let t of this.$$l[e]){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Yr(e,n,this.$$p_d,`toProp`),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return c(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Yr(e,t,n,r){let i=n[e]?.type;if(t=i===`Boolean`&&typeof t!=`boolean`?t!=null:t,!r||!n[e])return t;if(r===`toAttribute`)switch(i){case`Object`:case`Array`:return t==null?null:JSON.stringify(t);case`Boolean`:return t?``:null;case`Number`:return t??null;default:return t}else switch(i){case`Object`:case`Array`:return t&&JSON.parse(t);case`Boolean`:return t;case`Number`:return t==null?t:+t;default:return t}}function Xr(e){let t={};return e.childNodes.forEach(e=>{t[e.slot||`default`]=!0}),t}function Zr(e,t,n,r,i,a){let o=class extends Jr{constructor(){super(e,n,i),this.$$p_d=t}static get observedAttributes(){return c(t).map(e=>(t[e].attribute||e).toLowerCase())}};return c(t).forEach(e=>{l(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=Yr(e,n,t),this.$$d[e]=n;var r=this.$$c;r&&(u(r,e)?.get?r[e]=n:r.$set({[e]:n}))}})}),r.forEach(e=>{l(o.prototype,e,{get(){return this.$$c?.[e]}})}),a&&(o=a(o)),e.element=o,o}var Qr={name:`@htmlbricks/svelte-webcomponent`,private:!0,version:`0.71.36`,type:`module`,scripts:{dev:`vite --open`,build:`vite build`,"publish:wc":`node publish.ts`,"build:wc":`node build.ts`,"watch:wc":`node watch.ts`,preview:`vite preview`,check:`svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json`,"release:patch":`npm version patch && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:minor":`npm version minor && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:major":`npm version major && git push && git push --tags && npm run build:wc && npm run publish:wc`},devDependencies:{"@google-pay/button-element":`^3.2.1`,"@paypal/paypal-js":`^9.5.0`,"@sveltejs/vite-plugin-svelte":`^7.0.0`,"@tsconfig/svelte":`^5.0.8`,"@types/debounce":`^1.2.4`,"@types/node":`^24.10.1`,"@types/rgb-hex":`^3.0.0`,"chart.js":`^4.5.1`,"date-holidays":`^3.26.12`,dayjs:`^1.11.20`,"hls.js":`^1.6.15`,"html5-joystick-new":`^0.0.6`,ol:`^10.8.0`,"perfect-freehand":`^1.2.3`,prettier:`^3.8.1`,"rollup-plugin-terser":`^7.0.2`,"sass-embedded":`^1.98.0`,"simple-serverless-auth-client":`^0.0.6`,"simple-webrtc-element":`^0.0.1`,"simple-webrtc-element-whep":`^0.2.3`,"style-to-object":`^1.0.14`,svelte:`^5.55.0`,"svelte-check":`^4.4.5`,terser:`^5.46.1`,"ts-json-schema-generator":`^2.9.0`,typescript:`^6.0.2`,vite:`^8.0.3`},dependencies:{"@floating-ui/dom":`^1.7.6`,"@popperjs/core":`^2.11.8`,debounce:`^3.0.0`,"html-colors":`^0.0.6`,marked:`^17.0.5`,raphael:`^2.3.0`,"rgb-hex":`^4.1.0`,"wc-js-utils":`^0.5.4`}};function $r(e){let t=e?.repoName.split(`/`)?.[1]||e?.repoName;if(!t)throw Error(`wrong componentPath `+e?.repoName);if(!e?.version)throw Error(`wrong version `+e?.version);let n=e?.iifePath||`main.iife.js`;if(!document.getElementById(t+`-script`)&&!customElements?.get?.(t)&&!window?.customElements?.get?.(t))try{let r=document.createElement(`script`);if(r.id=t+`-script`,r.src=`https://cdn.jsdelivr.net/npm/${e.repoName}@${e.version}/${n}`,e?.local)r.src=`${e.local}`;else if(location.href.includes(`localhost:6006`)){let e=t.split(`-`)[0];r.src=`http://localhost:6006/webcomponents/${t.replace(e+`-`,``)}/${n}`}document.head.appendChild(r)}catch(e){console.warn(e)}}var ei=fr(`<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@latest/font/bootstrap-icons.css" class="svelte-eex92x"/>`),ti=fr(`<hb-table></hb-table>`,2),ni=fr(`<hb-pad-joystick></hb-pad-joystick>`,2),ri=fr(`<hb-pad-joystick></hb-pad-joystick>`,2),ii=fr(`<div id="controller" class="svelte-eex92x"><div id="panel" class="svelte-eex92x"><div id="joystick" class="area svelte-eex92x"><!></div> <div id="buttons" class="area svelte-eex92x"><div class="buttons has-addons mr-2 is-inline-flex svelte-eex92x"><button type="button" class="button is-small is-light svelte-eex92x" aria-label="Zoom In"><i class="bi bi-zoom-in svelte-eex92x"></i></button> <button type="button" class="button is-small is-light svelte-eex92x" aria-label="Zoom Out"><i class="bi bi-zoom-out svelte-eex92x"></i></button></div> <button type="button" aria-label="Go to home"><i class="bi bi-house-door-fill svelte-eex92x"></i></button> <button type="button" aria-label="select zone"><i class="bi bi-square svelte-eex92x"></i></button></div> <div id="speed" class="area svelte-eex92x"><span class="slider_label svelte-eex92x">speed:</span> <input class="range svelte-eex92x" type="range"/></div> <div id="precision" class="area svelte-eex92x"><span class="slider_label svelte-eex92x">precision:</span> <input class="range svelte-eex92x" type="range"/></div> <div id="presets_view" class="area svelte-eex92x"><button type="button" aria-label="showGrid"><i class="bi bi-grid-3x3 svelte-eex92x"></i></button> <button type="button" aria-label="Toggle joystick mode"><i class="bi bi-joystick svelte-eex92x"></i></button> <button type="button" style="float:right;margin-right:5px;" class="button is-small is-light svelte-eex92x" aria-label="Enter fullscreen mode"><i class="bi bi-arrows-fullscreen svelte-eex92x"></i></button></div> <div id="presets_select" class="area svelte-eex92x"><button type="button" class="button is-small is-light svelte-eex92x" aria-label="Add Scene to Preset"><i class="bi bi-plus-circle-fill svelte-eex92x"></i></button> <button type="button" style="width:130px!important;display:inline-block!important" aria-label="Open Presets Modal"> <i style="float:right" class="bi bi-arrow-down-up svelte-eex92x"></i></button></div> <div id="presets_buttons" class="area svelte-eex92x"><button type="button"><i></i></button> <button type="button"><i></i></button> <button type="button" class="button is-small is-light svelte-eex92x" aria-label="Open settings"><i class="bi bi-sliders svelte-eex92x"></i> <span class="timecell svelte-eex92x"><span class="svelte-eex92x"> </span></span></button></div></div></div>`),ai=fr(`<!> <div id="opener" class="svelte-eex92x"><i></i></div>`,1),oi=fr(`<hb-dialog><div slot="body-content" class="svelte-eex92x"><!></div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x">Are You sure to add this scene to the preset?</div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x">Are You sure to go To Home?</div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x"> </div></hb-dialog> <hb-dialog><div slot="body-content" class="svelte-eex92x"> </div></hb-dialog> <div id="container" class="svelte-eex92x"><hb-player-live></hb-player-live> <div id="area_selector" class="svelte-eex92x"></div> <div id="grid" class="svelte-eex92x"><table id="grid_table" class="svelte-eex92x"><tbody class="svelte-eex92x"><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr><tr class="svelte-eex92x"><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td><td class="svelte-eex92x"></td></tr></tbody></table></div> <!></div>`,3),si={hash:`svelte-eex92x`,code:`@charset "UTF-8";
4
4
  @import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
5
5
  /*!
6
6
  * Bulma 1.x (Sass) for hb-player-live-camera-ptz — buttons, grouped controls, typography.