@dcl-regenesislabs/bevy-explorer-web 0.1.0-33091834446.commit-52f5262 → 0.1.0-33099436282.commit-aab5eda
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/assets/{Showcase-wslmi40y.js → Showcase-CEV7qZQs.js} +1 -1
- package/assets/{design-g8AN0QJ5.js → design-CF4O2Ug3.js} +1 -1
- package/assets/{index-txwhetKE.css → index-B5opRiWK.css} +1 -1
- package/assets/{index-B0uqqjPk.js → index-DkEwmbGw.js} +3 -3
- package/assets/{menus-BuJ0sei7.js → menus-SfkXRWTi.js} +1 -1
- package/assets/{vendor-i7rr7neR.css → vendor-DI5ukLv0.css} +1 -1
- package/assets/{vendor-CjzQxM-7.js → vendor-DjcJ6bEq.js} +1 -1
- package/bridge-scene/static/BevyExplorerUI/about +1 -1
- package/bridge-scene/static/{bafkreiasukqqvj6m5dxobqu66dfre7tpq5kumzzqh3z5ebyjk3exrctgum → bafkreigw3ol6m5qv7cmt4l2nv6v44q553cox2llzyrfatp7epbzzsve3ze} +1 -1
- package/engine/pkg/manifest.json +1 -1
- package/engine/pkg/webgpu_build.js +27 -27
- package/engine/pkg/webgpu_build_bg.wasm +0 -0
- package/index.html +17 -17
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Showcase-
|
|
2
|
-
import{A as e,F as t,H as n,I as r,L as i,N as a,R as o,S as s,U as c,W as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,i as ee,j as te,k as _,n as v,o as ne,p as y,r as re,t as ie,z as b}from"./design-g8AN0QJ5.js";import{n as ae,t as x}from"./vendor-CjzQxM-7.js";import{A as S,B as C,C as w,D as T,E,F as oe,H as se,I as ce,L as le,M as D,N as O,O as ue,P as de,R as fe,S as k,T as pe,U as me,V as he,_ as ge,a as _e,b as ve,c as ye,d as be,f as xe,g as Se,h as Ce,i as we,j as Te,k as Ee,l as De,m as Oe,n as ke,o as Ae,p as je,r as Me,s as Ne,t as Pe,u as Fe,v as Ie,w as Le,x as Re,y as ze,z as Be}from"./menus-BuJ0sei7.js";import{a as Ve,i as He,n as Ue,o as We,r as Ge,t as Ke}from"./emoji-DrfHOLaz.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=l(),qe=x(),Je=class{ch;pending=new Map;listeners=new Set;constructor(e=me()){this.ch=new BroadcastChannel(e),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&this.handle(t.msg)}}getPreviousLogin(){return this.rpc(`getPreviousLogin`)}loginPrevious(){return this.rpc(`loginPrevious`)}loginGuest(){return this.rpc(`loginGuest`)}loginCancel(){return this.rpc(`loginCancel`)}logout(){return this.rpc(`logout`)}loginWithIdentity(e){return this.rpc(`loginIdentity`)}async jumpIn(){let e=await this.rpc(`loginPrevious`);if(e&&e.success===!1)throw Error(e.error||`Could not reuse your login`)}async loginNew(){let e=await this.rpc(`loginNew`);if(e&&e.success===!1)throw Error(e.error||`Sign-in failed`)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.ch.close(),this.pending.clear(),this.listeners.clear()}rpc(e){let t=crypto.randomUUID();return new Promise((n,r)=>{this.pending.set(t,{resolve:n,reject:r}),this.send({kind:`rpc:req`,id:t,method:e})})}handle(e){if(e.kind===`rpc:res`){let t=this.pending.get(e.id);if(!t)return;this.pending.delete(e.id),e.ok?t.resolve(e.value):t.reject(Error(e.error??`bridge rpc failed`));return}this.listeners.forEach(t=>t(e))}};function Ye(e){return btoa(JSON.stringify(e))}var Xe=class{rpc;ch;listeners=new Set;playerReadyFired=!1;readyFallbackTimer=null;constructor(e){this.rpc=e,this.ch=new BroadcastChannel(me()),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&(t.msg.kind===`event`&&t.msg.name===`playerReady`&&(this.playerReadyFired=!0),this.emit(t.msg))}}async getPreviousLogin(){let e=he();return{userId:e?se(e.identity):null}}async loginPrevious(e){let t=e===!0?` --default-on-error`:``,n=await this.rpc.command(`/login_previous${t}`);return this.scheduleReadyFallback(),n}async loginGuest(){await this.rpc.command(`/login_guest`),this.scheduleReadyFallback()}async loginCancel(){}async logout(){await this.rpc.command(`/logout`)}async loginWithIdentity(e,t){let n=t===!0?` --default-on-error`:``;await this.rpc.command(`/login_identity ${Ye(e)}${n}`),this.scheduleReadyFallback()}async jumpIn(e){let t=he();t?await this.loginWithIdentity(t.identity,e):await this.loginPrevious(e)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.ch.close(),this.listeners.clear()}renderBusy(){return this.rpc.renderBusy()}engineReady(){return this.rpc.readyToLaunch()}loadProgress(){return this.rpc.loadProgress()}loadStep(){return this.rpc.loadStep()}enginePanic(){return this.rpc.enginePanic()}clearEnginePanic(){this.rpc.clearEnginePanic()}rearmCrashWatchdog(){this.rpc.rearmCrashWatchdog()}launch(e,t){this.rpc.launch(e,t)}emit(e){this.listeners.forEach(t=>t(e))}scheduleReadyFallback(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.readyFallbackTimer=setTimeout(()=>{this.readyFallbackTimer=null,this.playerReadyFired||(this.playerReadyFired=!0,this.emit({kind:`event`,name:`playerReady`}))},6e3)}},Ze=class{win=null;setWindow(e){this.win=e}readyToLaunch(){return this.win?.__bevyReadyToLaunch===!0}loadProgress(){return this.win?.__bevyLoadProgress??0}loadStep(){return this.win?.__bevyLoadStep??null}enginePanic(){return this.win?.__bevyPanic??null}clearEnginePanic(){this.win&&(this.win.__bevyPanic=void 0)}rearmCrashWatchdog(){this.win?.__rearmCrashWatchdog?.()}launch(e,t){this.win?.__bevyLaunch?.(e,t)}ready(){return typeof this.win?.engine_console_command==`function`}async waitReady(e=9e4){let t=performance.now();for(;!this.ready();){if(performance.now()-t>e)throw Error(`engine RPC did not become ready in time`);await new Promise(e=>setTimeout(e,150))}}async command(e){return await this.waitReady(),this.win.engine_console_command(e)}renderBusy(){try{let e=this.win,t=e?.document.getElementById(`shader-compiling`);return t!=null&&e.getComputedStyle(t).display!==`none`}catch{return!1}}};function Qe(e,t,n){return{address:e,name:t,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`,bodyImage:`https://picsum.photos/seed/${encodeURIComponent(e)}/360/760`,hasClaimedName:!t.includes(`#`),isGuest:n,description:`Exploring Decentraland one plaza at a time. 🌅 DCL citizen since 2022.`,links:[{title:`Twitter`,url:`https://twitter.com`},{title:`Discord`,url:`https://discord.com`}],mutuals:30,badges:Array.from({length:8},(e,t)=>({id:`b${t}`,name:`Badge ${t+1}`,tier:[`bronze`,`silver`,`gold`][t%3],image:`https://picsum.photos/seed/badge${t}/96/96`})),photos:Array.from({length:6},(e,t)=>`https://picsum.photos/seed/photo${t}/300/300`),info:{gender:`Male`,birthdate:`26/11/1991`,pronouns:`He / Him`,relationship:`Single`,language:`Persian`,profession:`IT`,employment:`Chilling`,hobby:`games.movie.party`,realName:`mohammad`}}}var $e=[{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`},{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,picture:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`},{address:`0x1e105bb213754519903788022b962fe2b9c4b263`,name:`Pravus`,picture:`https://profile-images.decentraland.org/entities/bafkreig4xay5oxgbf75hwkjefx5hgdcdvm6a4tnpiisltslxf4jtajkbyq/face.png`},{address:`0x9f8c2a1b4d6e7f0a3b5c8d9e1f2a4b6c8d0e1f23`,name:`Johnny`},{address:`0x3a1b2c4d5e6f7081920a3b4c5d6e7f8091a2b3c4`,name:`Clara`},{address:`0x77a0b1c2d3e4f5061728394a5b6c7d8e9f001122`,name:`SpottyGoat`},{address:`0xc0ffee254729296a45a3885639ac7e10f9d54979`,name:``}],j=[{id:`c1`,name:`Decentraland Foundation`,description:`The official Decentraland Foundation community. Stay up to date with events, releases and everything happening across the metaverse.`,thumbnail:`https://picsum.photos/seed/dcl/540/360`,membersCount:1242,role:`member`,ownerName:`DCLOfficial`,privacy:`public`},{id:`c2`,name:`Chiri Storytelling`,description:`This space brings to life Chiri's adventures. Gathering cozy Social Gamers, Creators, Digi Fashion lovers, Virtual Citizens & more!`,thumbnail:``,membersCount:374,role:`none`,ownerName:`Chiri`,privacy:`private`},{id:`c3`,name:`VTATV`,description:`Virtual television and live shows broadcast from inside Decentraland.`,thumbnail:``,membersCount:186,role:`none`,ownerName:`VTATV`},{id:`c4`,name:`ABC Decentraland`,description:`Adventures and education for newcomers to the metaverse.`,thumbnail:``,membersCount:436,role:`none`,ownerName:`BillyTeacoin`},{id:`c5`,name:`Toxic Events`,description:`The wildest parties and events in DCL.`,thumbnail:``,membersCount:601,role:`member`,ownerName:`ToxicWaifu`},{id:`c6`,name:`Last Slice Creators`,description:`A community of pizza-loving 3D creators.`,thumbnail:``,membersCount:164,role:`none`,ownerName:`Lastraum`},{id:`c7`,name:`SheFi`,description:`Empowering women in web3 and DeFi.`,thumbnail:``,membersCount:310,role:`none`,ownerName:`msjoedor`},{id:`c8`,name:`Community Building DCL`,description:`Helping communities grow in Decentraland.`,thumbnail:``,membersCount:639,role:`owner`,ownerName:`TheCryptKeeper`}],et=[`base`,`common`,`uncommon`,`rare`,`epic`,`legendary`,`mythic`,`unique`,`exotic`],tt=e=>`https://peer.decentraland.org/lambdas/collections/contents/${e}/thumbnail`,nt=[{name:`casual_hair_01`,category:`hair`,label:`Casual Hair`},{name:`cornrows`,category:`hair`,label:`Cornrows`},{name:`hair_anime_01`,category:`hair`,label:`Anime Hair`},{name:`eyebrows_00`,category:`eyebrows`,label:`Eyebrows`},{name:`mouth_00`,category:`mouth`,label:`Mouth`},{name:`beard`,category:`facial_hair`,label:`Beard`},{name:`granpa_beard`,category:`facial_hair`,label:`Grandpa Beard`},{name:`f_sweater`,category:`upper_body`,label:`Sweater`},{name:`m_greenhoodie`,category:`upper_body`,label:`Green Hoodie`},{name:`blue_tshirt`,category:`upper_body`,label:`Blue T-Shirt`},{name:`sport_jacket`,category:`upper_body`,label:`Sport Jacket`},{name:`f_jeans`,category:`lower_body`,label:`Jeans`},{name:`f_brown_trousers`,category:`lower_body`,label:`Brown Trousers`},{name:`basketball_shorts`,category:`lower_body`,label:`Basketball Shorts`},{name:`sneakers`,category:`feet`,label:`Sneakers`},{name:`bun_shoes`,category:`feet`,label:`Bun Shoes`},{name:`m_greenflipflops`,category:`feet`,label:`Flip Flops`},{name:`hat`,category:`hat`,label:`Hat`},{name:`bandana`,category:`hat`,label:`Bandana`},{name:`black_sun_glasses`,category:`eyewear`,label:`Sunglasses`},{name:`piratepatch`,category:`eyewear`,label:`Pirate Patch`},{name:`blue_bandana`,category:`mask`,label:`Blue Bandana`},{name:`pink_gem_earring`,category:`earring`,label:`Pink Gem Earring`},{name:`Thunder_earring`,category:`earring`,label:`Thunder Earring`}].map((e,t)=>{let n=`urn:decentraland:off-chain:base-avatars:${e.name}`;return{urn:n,name:e.label,rarity:et[t%et.length],category:e.category,thumbnail:tt(n),equipped:t%6==0}}),rt=`urn:decentraland:off-chain:base-avatars:BaseMale`,it=e=>({bodyShape:rt,eyes:{color:{r:.37,g:.22,b:.19}},hair:{color:{r:.6,g:.36,b:.2}},skin:{color:{r:.8,g:.6,b:.47}},wearables:e,forceRender:[]}),at=[{urn:`urn:decentraland:off-chain:base-avatars:thug_life`,name:`Off-catalog Eyewear`,rarity:`epic`,category:`eyewear`,thumbnail:tt(`urn:decentraland:off-chain:base-avatars:black_sun_glasses`),equipped:!0}],ot=()=>[...nt.filter(e=>e.equipped),...at],M=e=>({name:e,description:``}),st=[{name:`fullscreen`,category:`general`,description:`Run in fullscreen mode.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1},{name:`resolution`,category:`general`,description:``,minValue:0,maxValue:2,namedVariants:[M(`1280 × 720`),M(`1920 × 1080`),M(`2560 × 1440`)],value:1,default:1,stepSize:1},{name:`graphics_quality`,category:`graphics`,description:`Overall visual quality.`,minValue:0,maxValue:3,namedVariants:[M(`Low`),M(`Medium`),M(`High`),M(`Ultra`)],value:2,default:1,stepSize:1},{name:`fps_limit`,category:`graphics`,description:`Cap the frame rate.`,minValue:30,maxValue:144,namedVariants:[],value:60,default:60,stepSize:1},{name:`master_volume`,category:`audio`,description:``,minValue:0,maxValue:100,namedVariants:[],value:80,default:100,stepSize:1},{name:`voice_chat`,category:`audio`,description:`Enable voice chat.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1}],ct=()=>[[{Scene:`IaPointer`},[`Mouse Left`,`Gamepad LeftTrigger2`]],[{Scene:`IaPrimary`},[`KeyE`,`Gamepad South`]],[{Scene:`IaSecondary`},[`KeyF`,`Gamepad East`]],[{Scene:`IaForward`},[`KeyW`,`GamepadLeft Up`]],[{Scene:`IaBackward`},[`KeyS`,`GamepadLeft Down`]],[{Scene:`IaRight`},[`KeyD`,`GamepadLeft Right`]],[{Scene:`IaLeft`},[`KeyA`,`GamepadLeft Left`]],[{Scene:`IaJump`},[`Space`,`Gamepad North`]],[{Scene:`IaWalk`},[`ControlLeft`]],[{Scene:`IaModifier`},[`ShiftLeft`]],[{Scene:`IaAction3`},[`Digit1`,`Gamepad DPadUp`]],[{Scene:`IaAction4`},[`Digit2`,`Gamepad DPadRight`]],[{Scene:`IaAction5`},[`Digit3`,`Gamepad DPadDown`]],[{Scene:`IaAction6`},[`Digit4`,`Gamepad DPadLeft`]],[{System:`CameraLock`},[`Mouse Right`,`Gamepad RightTrigger2`]],[{System:`Emote`},[`KeyB`,`Gamepad West`]],[{System:`Cancel`},[`Escape`,`Gamepad Select`]],[{System:`HideUi`},[`KeyU`]],[{System:`ShowDebugUi`},[`PageUp`]],[{System:`HideNames`},[`KeyN`]],[{System:`RollLeft`},[]],[{System:`RollRight`},[]],[{System:`PointAt`},[`Mouse Middle`,`KeyQ`]],[{System:`Microphone`},[`KeyV`]],[{System:`Map`},[`KeyM`,`Tab`]],[{System:`Chat`},[`Enter`,`NumpadEnter`]],[{System:`CameraUp`},[`ArrowUp`]],[{System:`CameraDown`},[`ArrowDown`]],[{System:`CameraLeft`},[`ArrowLeft`]],[{System:`CameraRight`},[`ArrowRight`]],[{System:`CameraZoomIn`},[`MouseWheel Up`,`Gamepad LeftTrigger`]],[{System:`CameraZoomOut`},[`MouseWheel Down`,`Gamepad RightTrigger`]],[{System:`ScrollUp`},[`MouseWheel Up`,`GamepadLeft Up`]],[{System:`ScrollDown`},[`MouseWheel Down`,`GamepadLeft Down`]],[{System:`ScrollLeft`},[`MouseWheel Left`,`GamepadLeft Left`]],[{System:`ScrollRight`},[`MouseWheel Right`,`GamepadLeft Right`]],[{System:`PointerUp`},[`GamepadRight Up`]],[{System:`PointerDown`},[`GamepadRight Down`]],[{System:`PointerLeft`},[`GamepadRight Left`]],[{System:`PointerRight`},[`GamepadRight Right`]],...Array.from({length:10},(e,t)=>[{System:`QuickEmote${t}`},[`Numpad${t}`]]),[{System:`Places`},[`KeyZ`]],[{System:`Communities`},[`KeyO`]],[{System:`Backpack`},[`KeyI`]],[{System:`Gallery`},[`KeyG`]],[{System:`Settings`},[`KeyP`]],[{System:`Friends`},[`KeyL`]],[{System:`ChatPanel`},[`KeyT`]]],lt={hasPreviousLogin:new URLSearchParams(location.search).get(`previousLogin`)===`1`,userId:`0xmock00000000000000000000000000000000beef`,latency:600};function ut(e){let t=`single-sign-on-${e.userId}`;e.hasPreviousLogin?localStorage.getItem(t)||localStorage.setItem(t,JSON.stringify({ephemeralIdentity:{address:`0xeeee000000000000000000000000000000000001`,publicKey:`0x04`,privateKey:`0x`+`11`.repeat(32)},expiration:new Date(Date.now()+720*3600*1e3).toISOString(),authChain:[{type:`SIGNER`,payload:e.userId,signature:``},{type:`ECDSA_EPHEMERAL`,payload:`Decentraland Login
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Showcase-CEV7qZQs.js","assets/design-CF4O2Ug3.js","assets/rolldown-runtime-D9-fqq9M.js","assets/design-BGhsZiMc.css","assets/menus-SfkXRWTi.js","assets/menus-D_sZJC0D.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{A as e,F as t,H as n,I as r,L as i,N as a,R as o,S as s,U as c,W as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,i as ee,j as te,k as _,n as v,o as ne,p as y,r as re,t as ie,z as b}from"./design-CF4O2Ug3.js";import{n as ae,t as x}from"./vendor-DjcJ6bEq.js";import{A as S,B as C,C as w,D as T,E,F as oe,H as se,I as ce,L as le,M as D,N as O,O as ue,P as de,R as fe,S as k,T as pe,U as me,V as he,_ as ge,a as _e,b as ve,c as ye,d as be,f as xe,g as Se,h as Ce,i as we,j as Te,k as Ee,l as De,m as Oe,n as ke,o as Ae,p as je,r as Me,s as Ne,t as Pe,u as Fe,v as Ie,w as Le,x as Re,y as ze,z as Be}from"./menus-SfkXRWTi.js";import{a as Ve,i as He,n as Ue,o as We,r as Ge,t as Ke}from"./emoji-DrfHOLaz.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=l(),qe=x(),Je=class{ch;pending=new Map;listeners=new Set;constructor(e=me()){this.ch=new BroadcastChannel(e),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&this.handle(t.msg)}}getPreviousLogin(){return this.rpc(`getPreviousLogin`)}loginPrevious(){return this.rpc(`loginPrevious`)}loginGuest(){return this.rpc(`loginGuest`)}loginCancel(){return this.rpc(`loginCancel`)}logout(){return this.rpc(`logout`)}loginWithIdentity(e){return this.rpc(`loginIdentity`)}async jumpIn(){let e=await this.rpc(`loginPrevious`);if(e&&e.success===!1)throw Error(e.error||`Could not reuse your login`)}async loginNew(){let e=await this.rpc(`loginNew`);if(e&&e.success===!1)throw Error(e.error||`Sign-in failed`)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.ch.close(),this.pending.clear(),this.listeners.clear()}rpc(e){let t=crypto.randomUUID();return new Promise((n,r)=>{this.pending.set(t,{resolve:n,reject:r}),this.send({kind:`rpc:req`,id:t,method:e})})}handle(e){if(e.kind===`rpc:res`){let t=this.pending.get(e.id);if(!t)return;this.pending.delete(e.id),e.ok?t.resolve(e.value):t.reject(Error(e.error??`bridge rpc failed`));return}this.listeners.forEach(t=>t(e))}};function Ye(e){return btoa(JSON.stringify(e))}var Xe=class{rpc;ch;listeners=new Set;playerReadyFired=!1;readyFallbackTimer=null;constructor(e){this.rpc=e,this.ch=new BroadcastChannel(me()),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&(t.msg.kind===`event`&&t.msg.name===`playerReady`&&(this.playerReadyFired=!0),this.emit(t.msg))}}async getPreviousLogin(){let e=he();return{userId:e?se(e.identity):null}}async loginPrevious(e){let t=e===!0?` --default-on-error`:``,n=await this.rpc.command(`/login_previous${t}`);return this.scheduleReadyFallback(),n}async loginGuest(){await this.rpc.command(`/login_guest`),this.scheduleReadyFallback()}async loginCancel(){}async logout(){await this.rpc.command(`/logout`)}async loginWithIdentity(e,t){let n=t===!0?` --default-on-error`:``;await this.rpc.command(`/login_identity ${Ye(e)}${n}`),this.scheduleReadyFallback()}async jumpIn(e){let t=he();t?await this.loginWithIdentity(t.identity,e):await this.loginPrevious(e)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.ch.close(),this.listeners.clear()}renderBusy(){return this.rpc.renderBusy()}engineReady(){return this.rpc.readyToLaunch()}loadProgress(){return this.rpc.loadProgress()}loadStep(){return this.rpc.loadStep()}enginePanic(){return this.rpc.enginePanic()}clearEnginePanic(){this.rpc.clearEnginePanic()}rearmCrashWatchdog(){this.rpc.rearmCrashWatchdog()}launch(e,t){this.rpc.launch(e,t)}emit(e){this.listeners.forEach(t=>t(e))}scheduleReadyFallback(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.readyFallbackTimer=setTimeout(()=>{this.readyFallbackTimer=null,this.playerReadyFired||(this.playerReadyFired=!0,this.emit({kind:`event`,name:`playerReady`}))},6e3)}},Ze=class{win=null;setWindow(e){this.win=e}readyToLaunch(){return this.win?.__bevyReadyToLaunch===!0}loadProgress(){return this.win?.__bevyLoadProgress??0}loadStep(){return this.win?.__bevyLoadStep??null}enginePanic(){return this.win?.__bevyPanic??null}clearEnginePanic(){this.win&&(this.win.__bevyPanic=void 0)}rearmCrashWatchdog(){this.win?.__rearmCrashWatchdog?.()}launch(e,t){this.win?.__bevyLaunch?.(e,t)}ready(){return typeof this.win?.engine_console_command==`function`}async waitReady(e=9e4){let t=performance.now();for(;!this.ready();){if(performance.now()-t>e)throw Error(`engine RPC did not become ready in time`);await new Promise(e=>setTimeout(e,150))}}async command(e){return await this.waitReady(),this.win.engine_console_command(e)}renderBusy(){try{let e=this.win,t=e?.document.getElementById(`shader-compiling`);return t!=null&&e.getComputedStyle(t).display!==`none`}catch{return!1}}};function Qe(e,t,n){return{address:e,name:t,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`,bodyImage:`https://picsum.photos/seed/${encodeURIComponent(e)}/360/760`,hasClaimedName:!t.includes(`#`),isGuest:n,description:`Exploring Decentraland one plaza at a time. 🌅 DCL citizen since 2022.`,links:[{title:`Twitter`,url:`https://twitter.com`},{title:`Discord`,url:`https://discord.com`}],mutuals:30,badges:Array.from({length:8},(e,t)=>({id:`b${t}`,name:`Badge ${t+1}`,tier:[`bronze`,`silver`,`gold`][t%3],image:`https://picsum.photos/seed/badge${t}/96/96`})),photos:Array.from({length:6},(e,t)=>`https://picsum.photos/seed/photo${t}/300/300`),info:{gender:`Male`,birthdate:`26/11/1991`,pronouns:`He / Him`,relationship:`Single`,language:`Persian`,profession:`IT`,employment:`Chilling`,hobby:`games.movie.party`,realName:`mohammad`}}}var $e=[{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`},{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,picture:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`},{address:`0x1e105bb213754519903788022b962fe2b9c4b263`,name:`Pravus`,picture:`https://profile-images.decentraland.org/entities/bafkreig4xay5oxgbf75hwkjefx5hgdcdvm6a4tnpiisltslxf4jtajkbyq/face.png`},{address:`0x9f8c2a1b4d6e7f0a3b5c8d9e1f2a4b6c8d0e1f23`,name:`Johnny`},{address:`0x3a1b2c4d5e6f7081920a3b4c5d6e7f8091a2b3c4`,name:`Clara`},{address:`0x77a0b1c2d3e4f5061728394a5b6c7d8e9f001122`,name:`SpottyGoat`},{address:`0xc0ffee254729296a45a3885639ac7e10f9d54979`,name:``}],j=[{id:`c1`,name:`Decentraland Foundation`,description:`The official Decentraland Foundation community. Stay up to date with events, releases and everything happening across the metaverse.`,thumbnail:`https://picsum.photos/seed/dcl/540/360`,membersCount:1242,role:`member`,ownerName:`DCLOfficial`,privacy:`public`},{id:`c2`,name:`Chiri Storytelling`,description:`This space brings to life Chiri's adventures. Gathering cozy Social Gamers, Creators, Digi Fashion lovers, Virtual Citizens & more!`,thumbnail:``,membersCount:374,role:`none`,ownerName:`Chiri`,privacy:`private`},{id:`c3`,name:`VTATV`,description:`Virtual television and live shows broadcast from inside Decentraland.`,thumbnail:``,membersCount:186,role:`none`,ownerName:`VTATV`},{id:`c4`,name:`ABC Decentraland`,description:`Adventures and education for newcomers to the metaverse.`,thumbnail:``,membersCount:436,role:`none`,ownerName:`BillyTeacoin`},{id:`c5`,name:`Toxic Events`,description:`The wildest parties and events in DCL.`,thumbnail:``,membersCount:601,role:`member`,ownerName:`ToxicWaifu`},{id:`c6`,name:`Last Slice Creators`,description:`A community of pizza-loving 3D creators.`,thumbnail:``,membersCount:164,role:`none`,ownerName:`Lastraum`},{id:`c7`,name:`SheFi`,description:`Empowering women in web3 and DeFi.`,thumbnail:``,membersCount:310,role:`none`,ownerName:`msjoedor`},{id:`c8`,name:`Community Building DCL`,description:`Helping communities grow in Decentraland.`,thumbnail:``,membersCount:639,role:`owner`,ownerName:`TheCryptKeeper`}],et=[`base`,`common`,`uncommon`,`rare`,`epic`,`legendary`,`mythic`,`unique`,`exotic`],tt=e=>`https://peer.decentraland.org/lambdas/collections/contents/${e}/thumbnail`,nt=[{name:`casual_hair_01`,category:`hair`,label:`Casual Hair`},{name:`cornrows`,category:`hair`,label:`Cornrows`},{name:`hair_anime_01`,category:`hair`,label:`Anime Hair`},{name:`eyebrows_00`,category:`eyebrows`,label:`Eyebrows`},{name:`mouth_00`,category:`mouth`,label:`Mouth`},{name:`beard`,category:`facial_hair`,label:`Beard`},{name:`granpa_beard`,category:`facial_hair`,label:`Grandpa Beard`},{name:`f_sweater`,category:`upper_body`,label:`Sweater`},{name:`m_greenhoodie`,category:`upper_body`,label:`Green Hoodie`},{name:`blue_tshirt`,category:`upper_body`,label:`Blue T-Shirt`},{name:`sport_jacket`,category:`upper_body`,label:`Sport Jacket`},{name:`f_jeans`,category:`lower_body`,label:`Jeans`},{name:`f_brown_trousers`,category:`lower_body`,label:`Brown Trousers`},{name:`basketball_shorts`,category:`lower_body`,label:`Basketball Shorts`},{name:`sneakers`,category:`feet`,label:`Sneakers`},{name:`bun_shoes`,category:`feet`,label:`Bun Shoes`},{name:`m_greenflipflops`,category:`feet`,label:`Flip Flops`},{name:`hat`,category:`hat`,label:`Hat`},{name:`bandana`,category:`hat`,label:`Bandana`},{name:`black_sun_glasses`,category:`eyewear`,label:`Sunglasses`},{name:`piratepatch`,category:`eyewear`,label:`Pirate Patch`},{name:`blue_bandana`,category:`mask`,label:`Blue Bandana`},{name:`pink_gem_earring`,category:`earring`,label:`Pink Gem Earring`},{name:`Thunder_earring`,category:`earring`,label:`Thunder Earring`}].map((e,t)=>{let n=`urn:decentraland:off-chain:base-avatars:${e.name}`;return{urn:n,name:e.label,rarity:et[t%et.length],category:e.category,thumbnail:tt(n),equipped:t%6==0}}),rt=`urn:decentraland:off-chain:base-avatars:BaseMale`,it=e=>({bodyShape:rt,eyes:{color:{r:.37,g:.22,b:.19}},hair:{color:{r:.6,g:.36,b:.2}},skin:{color:{r:.8,g:.6,b:.47}},wearables:e,forceRender:[]}),at=[{urn:`urn:decentraland:off-chain:base-avatars:thug_life`,name:`Off-catalog Eyewear`,rarity:`epic`,category:`eyewear`,thumbnail:tt(`urn:decentraland:off-chain:base-avatars:black_sun_glasses`),equipped:!0}],ot=()=>[...nt.filter(e=>e.equipped),...at],M=e=>({name:e,description:``}),st=[{name:`fullscreen`,category:`general`,description:`Run in fullscreen mode.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1},{name:`resolution`,category:`general`,description:``,minValue:0,maxValue:2,namedVariants:[M(`1280 × 720`),M(`1920 × 1080`),M(`2560 × 1440`)],value:1,default:1,stepSize:1},{name:`graphics_quality`,category:`graphics`,description:`Overall visual quality.`,minValue:0,maxValue:3,namedVariants:[M(`Low`),M(`Medium`),M(`High`),M(`Ultra`)],value:2,default:1,stepSize:1},{name:`fps_limit`,category:`graphics`,description:`Cap the frame rate.`,minValue:30,maxValue:144,namedVariants:[],value:60,default:60,stepSize:1},{name:`master_volume`,category:`audio`,description:``,minValue:0,maxValue:100,namedVariants:[],value:80,default:100,stepSize:1},{name:`voice_chat`,category:`audio`,description:`Enable voice chat.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1}],ct=()=>[[{Scene:`IaPointer`},[`Mouse Left`,`Gamepad LeftTrigger2`]],[{Scene:`IaPrimary`},[`KeyE`,`Gamepad South`]],[{Scene:`IaSecondary`},[`KeyF`,`Gamepad East`]],[{Scene:`IaForward`},[`KeyW`,`GamepadLeft Up`]],[{Scene:`IaBackward`},[`KeyS`,`GamepadLeft Down`]],[{Scene:`IaRight`},[`KeyD`,`GamepadLeft Right`]],[{Scene:`IaLeft`},[`KeyA`,`GamepadLeft Left`]],[{Scene:`IaJump`},[`Space`,`Gamepad North`]],[{Scene:`IaWalk`},[`ControlLeft`]],[{Scene:`IaModifier`},[`ShiftLeft`]],[{Scene:`IaAction3`},[`Digit1`,`Gamepad DPadUp`]],[{Scene:`IaAction4`},[`Digit2`,`Gamepad DPadRight`]],[{Scene:`IaAction5`},[`Digit3`,`Gamepad DPadDown`]],[{Scene:`IaAction6`},[`Digit4`,`Gamepad DPadLeft`]],[{System:`CameraLock`},[`Mouse Right`,`Gamepad RightTrigger2`]],[{System:`Emote`},[`KeyB`,`Gamepad West`]],[{System:`Cancel`},[`Escape`,`Gamepad Select`]],[{System:`HideUi`},[`KeyU`]],[{System:`ShowDebugUi`},[`PageUp`]],[{System:`HideNames`},[`KeyN`]],[{System:`RollLeft`},[]],[{System:`RollRight`},[]],[{System:`PointAt`},[`Mouse Middle`,`KeyQ`]],[{System:`Microphone`},[`KeyV`]],[{System:`Map`},[`KeyM`,`Tab`]],[{System:`Chat`},[`Enter`,`NumpadEnter`]],[{System:`CameraUp`},[`ArrowUp`]],[{System:`CameraDown`},[`ArrowDown`]],[{System:`CameraLeft`},[`ArrowLeft`]],[{System:`CameraRight`},[`ArrowRight`]],[{System:`CameraZoomIn`},[`MouseWheel Up`,`Gamepad LeftTrigger`]],[{System:`CameraZoomOut`},[`MouseWheel Down`,`Gamepad RightTrigger`]],[{System:`ScrollUp`},[`MouseWheel Up`,`GamepadLeft Up`]],[{System:`ScrollDown`},[`MouseWheel Down`,`GamepadLeft Down`]],[{System:`ScrollLeft`},[`MouseWheel Left`,`GamepadLeft Left`]],[{System:`ScrollRight`},[`MouseWheel Right`,`GamepadLeft Right`]],[{System:`PointerUp`},[`GamepadRight Up`]],[{System:`PointerDown`},[`GamepadRight Down`]],[{System:`PointerLeft`},[`GamepadRight Left`]],[{System:`PointerRight`},[`GamepadRight Right`]],...Array.from({length:10},(e,t)=>[{System:`QuickEmote${t}`},[`Numpad${t}`]]),[{System:`Places`},[`KeyZ`]],[{System:`Communities`},[`KeyO`]],[{System:`Backpack`},[`KeyI`]],[{System:`Gallery`},[`KeyG`]],[{System:`Settings`},[`KeyP`]],[{System:`Friends`},[`KeyL`]],[{System:`ChatPanel`},[`KeyT`]]],lt={hasPreviousLogin:new URLSearchParams(location.search).get(`previousLogin`)===`1`,userId:`0xmock00000000000000000000000000000000beef`,latency:600};function ut(e){let t=`single-sign-on-${e.userId}`;e.hasPreviousLogin?localStorage.getItem(t)||localStorage.setItem(t,JSON.stringify({ephemeralIdentity:{address:`0xeeee000000000000000000000000000000000001`,publicKey:`0x04`,privateKey:`0x`+`11`.repeat(32)},expiration:new Date(Date.now()+720*3600*1e3).toISOString(),authChain:[{type:`SIGNER`,payload:e.userId,signature:``},{type:`ECDSA_EPHEMERAL`,payload:`Decentraland Login
|
|
3
3
|
Ephemeral address: 0xeeee
|
|
4
4
|
Expiration: `,signature:`0xabc`}]})):localStorage.removeItem(t)}function dt(e={}){let t={...lt,...e};ut(t);let n=17e11,r=[{id:`n1`,type:`social_service_friendship_accepted`,read:!1,timestamp:new Date(n).toISOString(),metadata:{sender:{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,profileImageUrl:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`}}},{id:`n2`,type:`social_service_friendship_request`,read:!1,timestamp:new Date(n-18e5).toISOString(),metadata:{sender:{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,profileImageUrl:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`}}},{id:`n3`,type:`item_sold`,read:!1,timestamp:new Date(n-36e5).toISOString(),metadata:{title:`Item sold`,description:`Your “Sunset Hoodie” sold for 120 MANA.`,image:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`}},{id:`n4`,type:`event_started`,read:!0,timestamp:new Date(n-864e5).toISOString(),metadata:{title:`Event live`,description:`Music Festival is happening now in Genesis Plaza.`}},{id:`n5`,type:`community_post_added`,read:!1,timestamp:new Date(n-24e5).toISOString(),metadata:{communityName:`Toxic Events`,communityId:`c5`,thumbnailUrl:`https://picsum.photos/seed/dcl/80/80`}},{id:`n6`,type:`credits_reminder_claim_credits`,read:!1,timestamp:new Date(n-54e5).toISOString(),metadata:{}}],i=Array.from({length:14},(e,t)=>({id:`g${t}`,url:`https://picsum.photos/seed/reel${t}/1200/800`,thumbnailUrl:`https://picsum.photos/seed/reel${t}/400/300`,isPublic:t%2==0,dateTime:String(Math.floor((n-t*3*864e5)/1e3))})),a={outfits:[{slot:0,outfit:it(nt.slice(0,5).map(e=>e.urn))},{slot:2,outfit:it(nt.slice(5,10).map(e=>e.urn))}],namesForExtraSlots:[]},o=new BroadcastChannel(me()),s=e=>new Promise(t=>setTimeout(t,e)),c=e=>{o.postMessage({to:`page`,msg:e})},l=null,u=null,d=ct(),f=null,p=!1,m=e=>{let t=d.find(([t,n])=>`System`in t&&n.includes(e));return t!=null&&`System`in t[0]?t[0].System:null},h=(e,t)=>{if(e.repeat)return;if(f!=null){if(!t)return;c({kind:`inputCaptured`,id:f,input:e.code}),f=null;return}if(p)return;let n=m(e.code);n!=null&&(c({kind:`systemAction`,action:n,pressed:t}),n===`Chat`&&t&&c({kind:`focusChat`}))},g=e=>h(e,!0),ee=e=>h(e,!1),te=[`Mouse Left`,`Mouse Middle`,`Mouse Right`,`Mouse Back`,`Mouse Forward`],_=e=>{f!=null&&(c({kind:`inputCaptured`,id:f,input:te[e.button]??`Mouse Left`}),f=null)};window.addEventListener(`keydown`,g),window.addEventListener(`keyup`,ee),window.addEventListener(`pointerdown`,_,!0);let v=()=>{setTimeout(()=>{c({kind:`event`,name:`playerReady`}),c({kind:`chatVisibility`,open:!0});let e=[564,60,0],t=n=>{let r=e[n];c({kind:`sceneLoading`,state:{visible:r>0,realmConnected:!0,title:`Genesis Plaza`,pendingAssets:r>0?r:null}}),r>0&&setTimeout(()=>t(n+1),250)};t(0)},500),c({kind:`realmInfo`,realm:`https://realm-provider.decentraland.org/main`,isWorld:!1}),c({kind:`sceneInfo`,title:`Genesis Plaza`});let e=0;u=setInterval(()=>{e+=.05;let t=e*.08,n=Math.cos(t)*40,r=Math.sin(t)*40,i=Math.atan2(-Math.sin(t),Math.cos(t))*180/Math.PI;c({kind:`playerPose`,x:n,z:r,yaw:i,camYaw:i})},50),setTimeout(()=>c({kind:`members`,members:$e}),1400);let t=Number(new URLSearchParams(location.search).get(`simhover`)??0);if(t>0){let e=[{button:0,text:`Show Profile`,enabled:!0},{button:1,text:`Open`,enabled:!0},{button:2,text:`Inspect`,enabled:!0},{button:8,text:`Jump`,enabled:!0},{button:4,text:`Grab`,enabled:!1,tooFarReason:`camera`},{button:10,text:`Use`,enabled:!0},{button:11,text:`Activate`,enabled:!0}].slice(0,Math.min(t,7));setTimeout(()=>c({kind:`hover`,actions:e}),1500)}setTimeout(()=>c({kind:`friends`,available:!0,friends:[{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,status:`online`,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`},{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,status:`online`},{address:`0x1e105bb213754519903788022b962fe2b9c4b263`,name:`Pravus`,status:`away`},{address:`0x3a1b2c4d5e6f7081920a3b4c5d6e7f8091a2b3c4`,name:`Clara#1l0u`,status:`offline`}],received:[{id:`r1`,address:`0x77a0b1c2d3e4f5061728394a5b6c7d8e9f001122`,name:`SpottyGoat`,message:`Met you at the plaza!`}],sent:[{id:`s1`,address:`0x9f8c2a1b4d6e7f0a3b5c8d9e1f2a4b6c8d0e1f23`,name:`Johnny`}],blocked:[]}),1600),setTimeout(()=>c({kind:`settings`,settings:st}),1700),[[`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,`gm everyone 👋`],[`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,`anyone going to the event?`],[`0x1e105bb213754519903788022b962fe2b9c4b263`,`this plaza looks great`]].forEach(([e,t],n)=>setTimeout(()=>c({kind:`chat`,chat:{sender:e,message:t,channel:`Nearby`}}),2500+n*2200)),new URLSearchParams(location.search).get(`perm`)===`1`&&setTimeout(()=>c({kind:`permissionRequest`,id:1,ty:`ChangeRealm`,sceneName:`Genesis Plaza`,scene:`bafkreigenesisplazahash`,realm:`https://realm-provider.decentraland.org/main`,additional:`Jump to DCL Kickoff Challenge?`}),3e3)};return o.onmessage=async e=>{let n=e.data;if(n?.to!==`scene`)return;let o=n.msg;if(await s(t.latency),o.kind===`sendChat`){c({kind:`chat`,chat:{sender:`You`,message:o.message,channel:o.channel}});return}if(o.kind!==`navAction`&&o.kind!==`friendAction`){if(o.kind===`getSettings`){c({kind:`settings`,settings:st});return}if(o.kind===`setSetting`){let e=st.find(e=>e.name===o.name);e&&(e.value=o.value),c({kind:`settings`,settings:st});return}if(o.kind===`getBindings`){c({kind:`bindings`,bindings:d});return}if(o.kind===`setBindings`){d=o.bindings,c({kind:`bindings`,bindings:d});return}if(o.kind===`resetBindings`){d=ct(),c({kind:`bindings`,bindings:d});return}if(o.kind===`captureInput`){f=o.id;return}if(o.kind===`uiFocus`){p=o.text;return}if(o.kind===`getEmotes`){c({kind:`emotes`,emotes:[`Hands Air`,`Wave`,`Fist Pump`,`Dance`,`Raise Hand`,`Clap`,`Money`,`Kiss`,`Head Explode`,`Shrug`].map((e,t)=>({slot:t,urn:`urn:decentraland:off-chain:base-emotes:${e.toLowerCase().replace(/ /g,``)}`,name:e,rarity:`base`}))});return}if(o.kind!==`triggerEmote`&&o.kind!==`equipEmote`){if(o.kind===`getWearables`){c({kind:`wearables`,equipped:ot()});return}if(o.kind===`catalogQuery`){if(o.catalog!==`wearables`){c({kind:`catalogPage`,catalog:o.catalog,items:[],total:0,requestId:o.requestId});return}let e=nt.slice();o.category!=null&&o.category!==`all`&&(e=e.filter(e=>e.category===o.category)),o.search!=null&&o.search!==``&&(e=e.filter(e=>(e.name??``).toLowerCase().includes(o.search.toLowerCase()))),o.collectiblesOnly===!0&&(e=e.filter(e=>(e.rarity??`base`)!==`base`));let t=o.direction===`asc`?1:-1;o.orderBy===`name`?e.sort((e,n)=>t*(e.name??``).localeCompare(n.name??``)):o.orderBy===`rarity`&&e.sort((e,n)=>t*(et.indexOf(e.rarity)-et.indexOf(n.rarity)));let n=e.length,r=o.page*o.pageSize;c({kind:`catalogPage`,catalog:`wearables`,items:e.slice(r,r+o.pageSize),total:n,requestId:o.requestId});return}if(o.kind===`equip`){let e=new Set(o.urns);for(let t of nt)t.equipped=e.has(t.urn);c({kind:`wearables`,equipped:ot()});return}if(o.kind===`getOutfits`){c({kind:`outfits`,metadata:a});return}if(o.kind===`saveOutfit`){a.outfits=a.outfits.filter(e=>e.slot!==o.slot),a.outfits.push({slot:o.slot,outfit:it(ot().map(e=>e.urn))}),a.outfits.sort((e,t)=>e.slot-t.slot),c({kind:`outfits`,metadata:a});return}if(o.kind===`deleteOutfit`){a.outfits=a.outfits.filter(e=>e.slot!==o.slot),c({kind:`outfits`,metadata:a});return}if(o.kind===`equipOutfit`){let e=a.outfits.find(e=>e.slot===o.slot);if(e){let t=new Set(e.outfit.wearables);for(let e of nt)e.equipped=t.has(e.urn);c({kind:`wearables`,equipped:ot()})}return}if(o.kind===`setMic`){c({kind:`mic`,enabled:o.enabled,available:!0});return}if(o.kind===`getMap`){c({kind:`mapState`,x:0,y:0});return}if(o.kind!==`engineViewport`&&o.kind!==`minimapConfig`&&o.kind!==`previewAvatar`){if(o.kind===`teleport`){c({kind:`mapState`,x:o.x,y:o.y});return}if(o.kind!==`changeRealm`&&o.kind!==`permissionResolve`){if(o.kind===`getCommunities`){c({kind:`communities`,communities:j});return}if(o.kind===`createCommunity`){j.unshift({id:`new-${j.length}`,name:o.name,description:o.description,thumbnail:``,membersCount:1,role:`owner`,ownerName:`You`,privacy:o.privacy}),c({kind:`communities`,communities:j});return}if(o.kind===`joinCommunity`){let e=j.find(e=>e.id===o.id);e&&(e.role=`member`,e.membersCount+=1),c({kind:`communities`,communities:j});return}if(o.kind===`leaveCommunity`){let e=j.find(e=>e.id===o.id);e&&(e.role=`none`,e.membersCount=Math.max(0,e.membersCount-1)),c({kind:`communities`,communities:j});return}if(o.kind===`getCommunityDetail`){let e=[`DCLOfficial`,`KazeNoKai`,`METAWOLF`,`laurenmae`,`Eax`,`Thund`,`aixa`,`Kimbo`,`BayBackner`,`Rochyou`,`Soultasium`,`franfranfran`,`olavra`,`Meshroom`],t=e=>`0x${(e+1).toString(16).padStart(40,`0`)}`,n=1440*60*1e3;c({kind:`communityDetail`,id:o.id,members:e.map((e,n)=>({address:t(n),name:e,role:n===0?`owner`:n<3?`moderator`:`member`,picture:`https://i.pravatar.cc/80?u=${e}`,hasClaimedName:!0,isFriend:n%5==0})),posts:[{id:`p1`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`It was TIME for an update. See you all in the new Plaza. Enjoy!`,timestamp:Date.now()-2*n,likes:10},{id:`p2`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`EPIC Launch Party happening now in the theatre!`,timestamp:Date.now()-16*n,likes:4},{id:`p3`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`Hey everyone! Happy Epic and Mobile Launch Day!!! Please help us spread the word and get ready to celebrate together on April 2nd! It will be EPIC.`,timestamp:Date.now()-18*n,likes:1}],places:[{id:`pl1`,title:`Music Festival Main Stage`,thumbnail:`https://picsum.photos/seed/mfest/420/260`,positions:`-66,56`,likeRate:1}],photos:Array.from({length:9},(e,t)=>({id:`ph${t}`,url:`https://picsum.photos/seed/dclph${t}/600/600`,thumbnail:`https://picsum.photos/seed/dclph${t}/300/300`})),events:[{id:`e1`,name:`Watch scary movies with Cult Horror Club`,thumbnail:`https://picsum.photos/seed/horror1/200/120`,startsAt:Date.now()+1*n},{id:`e2`,name:`Pride Sound Set with Artist X`,thumbnail:`https://picsum.photos/seed/pride/200/120`,startsAt:Date.now()+1*n+360*60*1e3},{id:`e3`,name:`Join DEEJAY FAMILY at Takeover Tuesdays`,thumbnail:`https://picsum.photos/seed/takeover/200/120`,startsAt:Date.now()+4*n},{id:`e4`,name:`PRIDE: Join Watch Party Wednesdays`,thumbnail:`https://picsum.photos/seed/watch/200/120`,startsAt:Date.now()+5*n}]});return}if(o.kind===`getNotifications`){c({kind:`notifications`,notifications:r});return}if(o.kind===`markNotificationsRead`){for(let e of r)o.ids.includes(e.id)&&(e.read=!0);return}if(o.kind===`getGallery`){c({kind:`gallery`,photos:i,current:i.length,max:500});return}if(o.kind===`getGalleryPhoto`){c({kind:`galleryPhoto`,id:o.id,meta:{userName:t.hasPreviousLogin?`Mojito`:`Guest`,userAddress:t.userId,sceneName:`Genesis Plaza`,x:-9,y:14,realm:`main`,people:$e.slice(0,3).map(e=>({address:e.address,name:e.name||`Guest`,isGuest:!1}))}});return}if(o.kind===`deleteGalleryPhoto`){let e=i.findIndex(e=>e.id===o.id);e>=0&&i.splice(e,1),c({kind:`gallery`,photos:i,current:i.length,max:500});return}if(o.kind===`getProfile`){c({kind:`profile`,profile:Qe(t.userId,t.hasPreviousLogin?`Mojito`:`Guest#beef`,!t.hasPreviousLogin)});return}if(o.kind===`getUserProfile`){let e=$e.find(e=>e.address.toLowerCase()===o.address.toLowerCase())?.name||`${o.address.slice(0,6)}…${o.address.slice(-4)}`;c({kind:`userProfile`,address:o.address,profile:Qe(o.address,e,!1)});return}if(o.kind===`reloadScene`){c({kind:`chat`,chat:{sender:``,message:`Reloading the current scene…`,channel:`Nearby`}});return}if(o.kind===`consoleCommand`){c({kind:`chat`,chat:{sender:``,message:`Console commands: reload, help, show_ui, noclip, speed, jump`,channel:`Nearby`}});return}switch(o.method){case`getPreviousLogin`:c({kind:`rpc:res`,id:o.id,ok:!0,value:{userId:t.hasPreviousLogin?t.userId:null}});return;case`loginPrevious`:c({kind:`rpc:res`,id:o.id,ok:!0,value:{success:!0,error:``}}),v();return;case`loginGuest`:c({kind:`rpc:res`,id:o.id,ok:!0}),v();return;case`loginIdentity`:c({kind:`rpc:res`,id:o.id,ok:!0}),v();return;case`loginNew`:c({kind:`loginCode`,code:`42`}),l={id:o.id,timer:setTimeout(()=>{l=null,c({kind:`rpc:res`,id:o.id,ok:!0,value:{success:!0,error:``}}),v()},2500)};return;case`loginCancel`:case`logout`:l!=null&&(clearTimeout(l.timer),c({kind:`rpc:res`,id:l.id,ok:!0,value:{success:!1,error:`cancelled`}}),l=null),c({kind:`rpc:res`,id:o.id,ok:!0});return}}}}}},()=>{window.removeEventListener(`keydown`,g),window.removeEventListener(`keyup`,ee),window.removeEventListener(`pointerdown`,_,!0),u!=null&&clearInterval(u),o.close()}}var N=c(),P={root:`_root_byo9o_2`,tabs:`_tabs_byo9o_14`,tab:`_tab_byo9o_14`,tabActive:`_tabActive_byo9o_43`,close:`_close_byo9o_47`,searchRow:`_searchRow_byo9o_63`,searchIcon:`_searchIcon_byo9o_70`,search:`_search_byo9o_63`,body:`_body_byo9o_97`,sectionHeader:`_sectionHeader_byo9o_111`,grid:`_grid_byo9o_123`,emoji:`_emoji_byo9o_128`,noResults:`_noResults_byo9o_145`};function ft({emojis:e,onPick:t}){return(0,N.jsx)(`div`,{className:P.grid,children:e.map(e=>(0,N.jsx)(`button`,{type:`button`,className:P.emoji,title:e.expression,onClick:()=>t(e),children:e.emoji},e.code))})}function pt({onPick:e,onClose:t}){let[n,r]=(0,A.useState)(0),[i,a]=(0,A.useState)(``),[o,s]=(0,A.useState)(()=>He()),c=t=>{e(t.emoji),s(Ve(t.code))},l=i.trim(),u=(0,A.useMemo)(()=>l?We(l,80):[],[l]),d=(0,A.useMemo)(()=>o.map(e=>Ke.get(e)).filter(e=>e!=null),[o]),f=Ue[n];return(0,N.jsxs)(`div`,{className:P.root,role:`dialog`,"aria-label":`Emoji picker`,children:[(0,N.jsxs)(`div`,{className:P.tabs,children:[Ue.map((e,t)=>(0,N.jsx)(`button`,{type:`button`,className:`${P.tab} ${t===n&&!l?P.tabActive:``}`.trim(),title:e.name,onClick:()=>{r(t),a(``)},children:e.icon},e.name)),(0,N.jsx)(`button`,{type:`button`,className:P.close,title:`Close`,onClick:t,children:`×`})]}),(0,N.jsxs)(`div`,{className:P.searchRow,children:[(0,N.jsx)(`span`,{className:P.searchIcon,"aria-hidden":`true`,children:`🔍`}),(0,N.jsx)(`input`,{className:P.search,value:i,onChange:e=>a(e.target.value),placeholder:`Search emoji`,onKeyDown:e=>e.stopPropagation()})]}),(0,N.jsx)(`div`,{className:P.body,children:l?u.length>0?(0,N.jsx)(ft,{emojis:u,onPick:c}):(0,N.jsx)(`div`,{className:P.noResults,children:`No results`}):(0,N.jsxs)(N.Fragment,{children:[d.length>0&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:P.sectionHeader,children:`Frequently used`}),(0,N.jsx)(ft,{emojis:d,onPick:c})]}),(0,N.jsx)(`div`,{className:P.sectionHeader,children:f.name}),(0,N.jsx)(ft,{emojis:f.emojis,onPick:c})]})})]})}var mt=/(?<url>https?:\/\/[^\s<>"']+)|(?<world>[a-z0-9][\w-]*\.(?:dcl\.)?eth\b)|(?<loc>-?\d{1,3}\s*,\s*-?\d{1,3})|(?<mention>@[\w-]+(?:#[\w]+)?)/gi;function ht(e){let t=[],n=0;for(let r of e.matchAll(mt)){let i=r.index??0;i>n&&t.push({type:`text`,value:e.slice(n,i)});let a=r.groups??{};if(a.url)t.push({type:`url`,value:a.url});else if(a.world)t.push({type:`world`,value:a.world});else if(a.loc){let[e,n]=a.loc.split(`,`).map(e=>parseInt(e.trim(),10));t.push({type:`location`,value:a.loc,x:e,y:n})}else if(a.mention){let[e,n]=a.mention.slice(1).split(`#`);t.push({type:`mention`,value:a.mention,name:e,tag:n})}n=i+r[0].length}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function gt(e){let t=new Map;for(let n of e)n.name.trim()&&(t.set(n.name.toLowerCase(),n.address),t.set(n.name.split(`#`)[0].toLowerCase(),n.address));return t}function _t(e,t){return t.get(`${e.name}#${e.tag}`.toLowerCase())??t.get(e.name.toLowerCase())}function vt(e,t,n){if(!t)return!1;let r=t.name?.split(`#`)[0].toLowerCase();return ht(e).some(e=>{if(e.type!==`mention`)return!1;let i=_t(e,n);return i&&t.address&&i.toLowerCase()===t.address.toLowerCase()||!!r&&e.name.toLowerCase()===r})}function yt({text:e,members:t,styles:n,onMention:r,onLocation:i,onWorld:a}){let o=gt(t);return(0,N.jsx)(N.Fragment,{children:ht(e).map((e,t)=>{if(e.type===`url`)return(0,N.jsx)(`a`,{className:n.url,href:e.value,target:`_blank`,rel:`noreferrer noopener`,children:e.value},t);if(e.type===`world`)return a?(0,N.jsx)(`button`,{type:`button`,className:n.world,onClick:()=>a(e.value),children:e.value},t):(0,N.jsx)(`span`,{children:e.value},t);if(e.type===`location`)return(0,N.jsx)(`button`,{type:`button`,className:n.location,onClick:()=>i(e.x,e.y),children:e.value},t);if(e.type===`mention`){let i=_t(e,o);return i?(0,N.jsxs)(`button`,{type:`button`,className:n.mention,onClick:t=>r(i,e.name,t),onContextMenu:t=>r(i,e.name,t),children:[`@`,e.name]},t):(0,N.jsx)(`span`,{children:e.value},t)}return(0,N.jsx)(`span`,{children:e.value},t)})})}var F={root:`_root_1mxu6_4`,open:`_open_1mxu6_24`,active:`_active_1mxu6_31`,messages:`_messages_1mxu6_40`,nav:`_nav_1mxu6_45`,navLeft:`_navLeft_1mxu6_57`,channelIcon:`_channelIcon_1mxu6_64`,navTitle:`_navTitle_1mxu6_69`,navRight:`_navRight_1mxu6_76`,glyph:`_glyph_1mxu6_83`,glyphLg:`_glyphLg_1mxu6_86`,empty:`_empty_1mxu6_114`,dayRow:`_dayRow_1mxu6_121`,dayPill:`_dayPill_1mxu6_126`,entry:`_entry_1mxu6_137`,bubble:`_bubble_1mxu6_142`,name:`_name_1mxu6_152`,tag:`_tag_1mxu6_157`,text:`_text_1mxu6_161`,time:`_time_1mxu6_172`,pickerWrap:`_pickerWrap_1mxu6_179`,suggest:`_suggest_1mxu6_180`,suggestList:`_suggestList_1mxu6_194`,suggestItem:`_suggestItem_1mxu6_202`,suggestActive:`_suggestActive_1mxu6_218`,suggestGlyph:`_suggestGlyph_1mxu6_222`,suggestName:`_suggestName_1mxu6_226`,noResults:`_noResults_1mxu6_229`,inputRow:`_inputRow_1mxu6_238`,input:`_input_1mxu6_238`,inputBare:`_inputBare_1mxu6_267`,ring:`_ring_1mxu6_271`,emojiBtn:`_emojiBtn_1mxu6_280`,membersPanel:`_membersPanel_1mxu6_288`,membersHeader:`_membersHeader_1mxu6_296`,back:`_back_1mxu6_305`,membersTitle:`_membersTitle_1mxu6_322`,membersCount:`_membersCount_1mxu6_327`,personIcon:`_personIcon_1mxu6_336`,membersList:`_membersList_1mxu6_340`,memberRow:`_memberRow_1mxu6_353`,memberInfo:`_memberInfo_1mxu6_363`,memberName:`_memberName_1mxu6_369`,memberStatus:`_memberStatus_1mxu6_378`,avatarBtn:`_avatarBtn_1mxu6_398`,url:`_url_1mxu6_409`,location:`_location_1mxu6_417`,mention:`_mention_1mxu6_418`,world:`_world_1mxu6_419`,mentionMe:`_mentionMe_1mxu6_435`},bt=500,xt=/^0x[0-9a-fA-F]{6,}$/,St=[`#73d3d3`,`#acf8f8`,`#ff8362`,`#ff4bed`,`#caff73`,`#a14bf3`,`#e8b9ff`,`#fea217`,`#81e1ff`,`#ff7439`,`#ffa25a`,`#ffc95b`,`#a0abff`,`#c640cd`],Ct=`#61d04f`;function wt(e){return!e||e.toLowerCase()===`system`}function Tt(e){return xt.test(e)?`${e.slice(0,6)}…${e.slice(-4)}`:e}function Et(e){return wt(e)?`DCL System`:Tt(e)}function Dt(e){return e.name.trim()?e.name:Tt(e.address)}function Ot(e){let t=e.indexOf(`#`);return t>=0?{base:e.slice(0,t),tag:e.slice(t)}:{base:e,tag:``}}function kt(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function At(e){return wt(e)?Ct:St[kt(e)%St.length]}function jt(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function Mt(e){let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Nt(e){return Mt(e)===Mt(Date.now())?`Today`:new Date(e).toLocaleDateString([],{weekday:`short`,day:`numeric`,month:`short`})}function Pt(){return(0,N.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`8`,cy:`5`,r:`2.6`,stroke:`currentColor`,strokeWidth:`1.4`}),(0,N.jsx)(`path`,{d:`M3.2 13c0-2.4 2.1-3.8 4.8-3.8s4.8 1.4 4.8 3.8`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`})]})}function Ft(){return(0,N.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 22 22`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`11`,cy:`11`,r:`10`,stroke:`currentColor`,strokeWidth:`2`}),(0,N.jsx)(`circle`,{cx:`7.6`,cy:`9`,r:`1.15`,fill:`currentColor`}),(0,N.jsx)(`circle`,{cx:`14.4`,cy:`9`,r:`1.15`,fill:`currentColor`}),(0,N.jsx)(`path`,{d:`M7 13.4c1 1.6 2.5 2.4 4 2.4s3-.8 4-2.4`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function It({len:e}){let t=Math.min(1,e/bt),n=2*Math.PI*8,r=t>=.9?`var(--brand)`:t>=.7?`var(--gold)`:`var(--green)`;return(0,N.jsxs)(`svg`,{className:F.ring,width:`20`,height:`20`,viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`10`,cy:`10`,r:8,fill:`none`,stroke:`rgba(255,255,255,0.25)`,strokeWidth:`2`}),(0,N.jsx)(`circle`,{cx:`10`,cy:`10`,r:8,fill:`none`,stroke:r,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:n,strokeDashoffset:n*(1-t),transform:`rotate(-90 10 10)`})]})}function Lt({ts:e}){return(0,N.jsx)(`div`,{className:F.dayRow,children:(0,N.jsx)(`span`,{className:F.dayPill,children:Nt(e)})})}var Rt={url:F.url,mention:F.mention,location:F.location,world:F.world};function zt({line:e,name:t,picture:n,members:r=[],me:i,onOpenProfile:o,onLocation:s,onVisitWorld:c}){let l=At(e.sender),{base:u,tag:d}=Ot(t),f={address:e.sender,name:t,picture:n},p=vt(e.message,i??null,gt(r)),m=e=>{e.type===`contextmenu`&&e.preventDefault(),o?.(f,e)};return(0,N.jsxs)(`div`,{className:`${F.entry} ${p?F.mentionMe:``}`.trim(),children:[(0,N.jsx)(`button`,{type:`button`,className:F.avatarBtn,"aria-label":`View ${u}`,onClick:m,onContextMenu:m,children:(0,N.jsx)(a,{src:n,name:t,color:l,size:28})}),(0,N.jsxs)(`div`,{className:F.bubble,children:[(0,N.jsxs)(`button`,{type:`button`,className:F.name,style:{color:l},onClick:m,onContextMenu:m,children:[u,d&&(0,N.jsx)(`span`,{className:F.tag,children:d})]}),(0,N.jsx)(`span`,{className:F.text,children:(0,N.jsx)(yt,{text:e.message,members:r,styles:Rt,onMention:(e,t,n)=>{n.type===`contextmenu`&&n.preventDefault();let i=r.find(t=>t.address.toLowerCase()===e.toLowerCase());o?.({address:e,name:i?.name??`@${t}`,picture:i?.picture},n)},onLocation:(e,t)=>s?.(e,t),onWorld:c})}),(0,N.jsx)(`span`,{className:F.time,children:jt(e.ts)})]})]})}function Bt({member:e}){let{base:t,tag:n}=Ot(Dt(e)),r=At(e.address);return(0,N.jsxs)(`div`,{className:F.memberRow,children:[(0,N.jsx)(a,{src:e.picture,name:t,color:r,size:40,status:`online`}),(0,N.jsxs)(`div`,{className:F.memberInfo,children:[(0,N.jsxs)(`span`,{className:F.memberName,style:{color:r},children:[t,n&&(0,N.jsx)(`span`,{className:F.tag,children:n})]}),(0,N.jsx)(`span`,{className:F.memberStatus,children:`Online`})]})]})}function Vt({members:e,onBack:t,onClose:n}){return(0,N.jsxs)(`div`,{className:F.membersPanel,children:[(0,N.jsxs)(`header`,{className:F.membersHeader,children:[(0,N.jsx)(o,{variant:`ghost`,className:F.glyphLg,"aria-label":`Back`,onClick:t,children:`‹`}),(0,N.jsx)(`span`,{className:F.membersTitle,children:`Nearby`}),(0,N.jsxs)(`span`,{className:F.membersCount,children:[(0,N.jsx)(`span`,{className:F.personIcon,"aria-hidden":`true`,children:`●`}),e.length,` Online`]}),(0,N.jsx)(o,{variant:`solid`,className:F.glyph,"aria-label":`Close chat`,onClick:n,children:`×`})]}),(0,N.jsx)(`div`,{className:F.membersList,children:e.length===0?(0,N.jsx)(`div`,{className:F.empty,children:`No one nearby`}):e.map(e=>(0,N.jsx)(Bt,{member:e},e.address))})]})}function Ht({chat:e,hidden:t=!1,me:n,onTeleport:r,onVisitWorld:i}){let[s,c]=(0,A.useState)(``),[l,u]=(0,A.useState)(!1),[d,f]=(0,A.useState)(!1),[p,m]=(0,A.useState)([]),[h,g]=(0,A.useState)(null),[ee,_]=(0,A.useState)(!1),[v,ne]=(0,A.useState)(!1),[y,re]=(0,A.useState)(null),[ie,b]=(0,A.useState)([]),ae=(0,A.useRef)(null),x=(0,A.useRef)(null),S=e.open,C=S&&(ee||v||l),w=!C,T=(0,A.useMemo)(()=>{let t=new Map;for(let n of e.members)n.name.trim()&&t.set(n.address.toLowerCase(),n.name);return t},[e.members]),E=(0,A.useMemo)(()=>{let t=new Map;for(let n of e.members)n.picture&&t.set(n.address.toLowerCase(),n.picture);return t},[e.members]),oe=e=>T.get(e.toLowerCase())??Et(e),se=(0,A.useMemo)(()=>{let t=[],n=``;for(let r of e.messages){let e=Mt(r.ts);e!==n&&(t.push({kind:`day`,ts:r.ts,id:`day-${e}`}),n=e),t.push({kind:`msg`,line:r})}return t},[e.messages]);(0,A.useEffect)(()=>{if(!S)return;let e=ae.current;e&&(e.scrollTop=e.scrollHeight)},[S,C]);let ce=(0,A.useRef)(!0);(0,A.useEffect)(()=>{let e=ae.current;if(!e)return;let t=()=>{ce.current=e.scrollHeight-e.scrollTop-e.clientHeight<80};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[S]),(0,A.useEffect)(()=>{if(!S)return;let e=ae.current;e&&ce.current&&(e.scrollTop=e.scrollHeight)},[e.messages,S]),(0,A.useEffect)(()=>{S&&x.current?.focus()},[S,e.focusTick]),(0,A.useEffect)(()=>{C||f(!1)},[C]);let le=()=>{e.open||e.toggle()},D=(e,t)=>{Ee(e.address,t.clientX,t.clientY)},O=e=>{c(t=>`${t.replace(/\s*$/,``)} @${e} `.trimStart()),le(),x.current?.focus()};(0,A.useEffect)(()=>{e.pendingMention&&(O(e.pendingMention),e.consumeMention())},[e.pendingMention]);let ue=/@([\w-]*)$/,de=t=>{c(t);let n=t.match(Ge);g(n?n[1]:null),m(n?We(n[1]):[]);let r=t.match(ue);re(r?r[1]:null);let i=(r?.[1]??``).toLowerCase();b(r?e.members.filter(e=>(e.name||e.address).toLowerCase().includes(i)).slice(0,6):[])},fe=e=>{let t=e.name.trim()?e.name.split(`#`)[0]:e.address;c(e=>e.replace(ue,`@${t} `)),b([]),re(null),x.current?.focus()},k=e=>{c(t=>{let n=t.match(Ge);return(n?t.slice(0,n.index):t)+e}),m([]),g(null),x.current?.focus()},pe=()=>{s.trim()&&(e.send(s),c(``),m([]),g(null),b([]),re(null))};return t?null:(0,N.jsxs)(`div`,{className:`${F.root} ${S?F.open:``} ${C?F.active:``}`.trim(),onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),children:[S&&C&&(0,N.jsxs)(`header`,{className:F.nav,children:[(0,N.jsxs)(`div`,{className:F.navLeft,children:[(0,N.jsx)(te,{size:26,className:F.channelIcon}),(0,N.jsx)(`span`,{className:F.navTitle,children:`Nearby`})]}),(0,N.jsxs)(`div`,{className:F.navRight,children:[e.members.length>0&&(0,N.jsxs)(o,{variant:`ghost`,shape:`pill`,active:d,"aria-label":`${e.members.length} nearby`,onClick:()=>f(e=>!e),children:[(0,N.jsx)(Pt,{}),e.members.length]}),(0,N.jsx)(o,{variant:`solid`,className:F.glyph,"aria-label":`Close chat`,onClick:e.toggle,children:`×`})]})]}),S&&(0,N.jsx)(`div`,{ref:ae,className:F.messages,children:se.length===0?(0,N.jsx)(`div`,{className:F.empty,children:`No messages yet`}):se.map(t=>t.kind===`day`?(0,N.jsx)(Lt,{ts:t.ts},t.id):(0,N.jsx)(zt,{line:t.line,name:oe(t.line.sender),picture:E.get(t.line.sender.toLowerCase()),members:e.members,me:n,onOpenProfile:D,onLocation:(e,t)=>r?.(e,t),onVisitWorld:i},t.line.id))}),C&&l&&(0,N.jsx)(`div`,{className:F.pickerWrap,children:(0,N.jsx)(pt,{onPick:k,onClose:()=>u(!1)})}),C&&y!=null&&ie.length>0&&(0,N.jsx)(`div`,{className:F.suggest,children:(0,N.jsx)(`ul`,{className:F.suggestList,children:ie.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,className:`${F.suggestItem} ${t===0?F.suggestActive:``}`.trim(),onClick:()=>fe(e),children:[(0,N.jsx)(a,{src:e.picture,name:e.name,color:At(e.address),size:20}),(0,N.jsx)(`span`,{className:F.suggestName,children:e.name||Tt(e.address)})]})},e.address))})}),C&&h!=null&&(0,N.jsx)(`div`,{className:F.suggest,children:p.length===0?(0,N.jsx)(`div`,{className:F.noResults,children:`No results`}):(0,N.jsx)(`ul`,{className:F.suggestList,children:p.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,className:`${F.suggestItem} ${t===0?F.suggestActive:``}`.trim(),onClick:()=>k(e.emoji),children:[(0,N.jsx)(`span`,{className:F.suggestGlyph,children:e.emoji}),(0,N.jsx)(`span`,{className:F.suggestName,children:e.expression})]})},e.code))})}),(0,N.jsxs)(`form`,{className:F.inputRow,onSubmit:e=>{e.preventDefault(),pe()},children:[(0,N.jsx)(`input`,{ref:x,className:`${F.input} ${w?F.inputBare:``}`.trim(),value:s,onChange:e=>de(e.target.value),onFocus:()=>{ne(!0),le()},onBlur:()=>ne(!1),placeholder:v?`Message Nearby`:`Press Enter to chat`,maxLength:bt,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),ie.length>0?fe(ie[0]):p.length>0?k(p[0].emoji):pe()):Le(e)&&(y==null?h==null?l?u(!1):x.current?.blur():(g(null),m([])):(re(null),b([])))}}),!w&&s.length>0&&(0,N.jsx)(It,{len:s.length}),!w&&(0,N.jsx)(o,{variant:`ghost`,size:`sm`,active:l,className:F.emojiBtn,"aria-label":`Emoji`,onClick:()=>{le(),u(e=>!e)},children:(0,N.jsx)(Ft,{})})]}),S&&C&&d&&(0,N.jsx)(Vt,{members:e.members,onBack:()=>f(!1),onClose:()=>{f(!1),e.toggle()}})]})}var I={root:`_root_hrk0u_5`,tabs:`_tabs_hrk0u_25`,tab:`_tab_hrk0u_25`,tabActive:`_tabActive_hrk0u_55`,tabBadge:`_tabBadge_hrk0u_59`,closeGlyph:`_closeGlyph_hrk0u_72`,body:`_body_hrk0u_77`,sectionHead:`_sectionHead_hrk0u_92`,chev:`_chev_hrk0u_108`,chevOpen:`_chevOpen_hrk0u_113`,row:`_row_hrk0u_117`,info:`_info_hrk0u_127`,name:`_name_hrk0u_134`,verified:`_verified_hrk0u_146`,tag:`_tag_hrk0u_151`,status:`_status_hrk0u_155`,online:`_online_hrk0u_160`,sub:`_sub_hrk0u_163`,date:`_date_hrk0u_173`,actions:`_actions_hrk0u_178`,empty:`_empty_hrk0u_190`,placeholder:`_placeholder_hrk0u_197`,phIcon:`_phIcon_hrk0u_205`,phTitle:`_phTitle_hrk0u_216`,phText:`_phText_hrk0u_221`,rowBtn:`_rowBtn_hrk0u_229`};function Ut(e,t){return e.trim()?e:O(t)}function Wt(e){return e.trim().length>0&&!e.includes(`#`)&&!/^0x[0-9a-f]+$/i.test(e)}function Gt(){return(0,N.jsxs)(`svg`,{className:I.verified,viewBox:`0 0 16 16`,"aria-label":`verified`,children:[(0,N.jsx)(`defs`,{children:(0,N.jsxs)(`linearGradient`,{id:`vrf`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#ff2d55`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#c640cd`})]})}),(0,N.jsx)(`path`,{d:`M8 1l1.7 1.2 2.1-.2 1 1.8 1.9.9-.5 2 .9 1.9-1.6 1.4.1 2.1-2 .6-1.1 1.8-2-.7-2 .7-1.1-1.8-2-.6.1-2.1L1.6 8.6l.9-1.9-.5-2 1.9-.9 1-1.8 2.1.2z`,fill:`url(#vrf)`}),(0,N.jsx)(`path`,{d:`M5.5 8l1.7 1.7L10.8 6`,stroke:`#fff`,strokeWidth:`1.4`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function Kt({name:e,address:t}){let{base:n,tag:r}=de(Ut(e,t));return(0,N.jsxs)(`span`,{className:I.name,style:{color:D(t)},children:[n,Wt(e)&&(0,N.jsx)(Gt,{}),r&&(0,N.jsx)(`span`,{className:I.tag,children:r})]})}function qt({open:e}){return(0,N.jsx)(`svg`,{className:`${I.chev} ${e?I.chevOpen:``}`.trim(),viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M2.5 7.5L6 4l3.5 3.5`,stroke:`currentColor`,strokeWidth:`1.6`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function Jt({title:e,count:t,children:n}){let[r,i]=(0,A.useState)(!0);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`button`,{type:`button`,className:I.sectionHead,onClick:()=>i(e=>!e),children:[(0,N.jsx)(qt,{open:r}),e,` (`,t,`)`]}),r&&n]})}var Yt={online:`Online`,away:`Away`,offline:`Offline`};function Xt({friend:e,onOpen:t}){let n={address:e.address,name:e.name,picture:e.picture},r=e=>{e.type===`contextmenu`&&e.preventDefault(),t?.(n,e)};return(0,N.jsxs)(`button`,{type:`button`,className:`${I.row} ${I.rowBtn}`,onClick:r,onContextMenu:r,children:[(0,N.jsx)(a,{src:e.picture,name:Ut(e.name,e.address),color:D(e.address),size:40,status:e.status}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(Kt,{name:e.name,address:e.address}),(0,N.jsx)(`span`,{className:`${I.status} ${I[e.status]}`,children:Yt[e.status]})]})]})}function Zt(e){return e?new Date(e).toLocaleDateString([],{month:`short`,day:`numeric`}).toUpperCase():``}function Qt({req:e,onAccept:t,onReject:r}){return(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(a,{src:e.picture,name:Ut(e.name,e.address),color:D(e.address),size:40}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(Kt,{name:e.name,address:e.address}),e.message&&(0,N.jsx)(`span`,{className:I.sub,children:e.message})]}),(0,N.jsx)(`span`,{className:I.date,children:Zt(e.createdAt)}),(0,N.jsxs)(`div`,{className:I.actions,children:[(0,N.jsx)(n,{variant:`secondary`,size:`sm`,onClick:r,children:`Delete`}),(0,N.jsx)(n,{variant:`primary`,size:`sm`,onClick:t,children:`Accept`})]})]})}function $t({req:e,onCancel:t}){return(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(a,{src:e.picture,name:Ut(e.name,e.address),color:D(e.address),size:40}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(Kt,{name:e.name,address:e.address}),(0,N.jsx)(`span`,{className:I.sub,children:`Request sent`})]}),(0,N.jsx)(`span`,{className:I.date,children:Zt(e.createdAt)}),(0,N.jsx)(`div`,{className:I.actions,children:(0,N.jsx)(n,{variant:`secondary`,size:`sm`,onClick:t,children:`Cancel`})})]})}function en({friends:e}){let[t,r]=(0,A.useState)(`friends`),i=(e,t)=>Ee(e.address,t.clientX,t.clientY),{online:s,offline:c}=(0,A.useMemo)(()=>{let t=[],n=[];for(let r of[...e.list].sort((e,t)=>e.name.localeCompare(t.name)))(r.status===`offline`?n:t).push(r);return{online:t,offline:n}},[e.list]);if(!e.open)return null;let l=[{id:`friends`,label:`Friends`},{id:`requests`,label:`Requests`,badge:e.received.length},{id:`blocked`,label:`Blocked`}];return(0,N.jsxs)(`div`,{className:I.root,children:[(0,N.jsxs)(`header`,{className:I.tabs,children:[l.map(e=>(0,N.jsxs)(`button`,{type:`button`,className:`${I.tab} ${t===e.id?I.tabActive:``}`.trim(),onClick:()=>r(e.id),children:[e.label,e.badge?(0,N.jsx)(`span`,{className:I.tabBadge,children:e.badge}):null]},e.id)),(0,N.jsx)(o,{variant:`solid`,className:I.closeGlyph,"aria-label":`Close friends`,onClick:e.toggle,children:`×`})]}),(0,N.jsx)(`div`,{className:I.body,children:e.available?t===`friends`?e.list.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No friends yet.`}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Jt,{title:`Online`,count:s.length,children:s.map(e=>(0,N.jsx)(Xt,{friend:e,onOpen:i},e.address))}),(0,N.jsx)(Jt,{title:`Offline`,count:c.length,children:c.map(e=>(0,N.jsx)(Xt,{friend:e,onOpen:i},e.address))})]}):t===`requests`?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Jt,{title:`Received`,count:e.received.length,children:e.received.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No Requests`}):e.received.map(t=>(0,N.jsx)(Qt,{req:t,onAccept:()=>e.act(`accept`,t.address),onReject:()=>e.act(`reject`,t.address)},t.id))}),(0,N.jsx)(Jt,{title:`Sent`,count:e.sent.length,children:e.sent.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No Requests`}):e.sent.map(t=>(0,N.jsx)($t,{req:t,onCancel:()=>e.act(`cancel`,t.address)},t.id))})]}):e.blocked.length===0?(0,N.jsxs)(`div`,{className:I.placeholder,children:[(0,N.jsx)(`div`,{className:I.phIcon,"aria-hidden":`true`,children:`⊘`}),(0,N.jsx)(`div`,{className:I.phTitle,children:`No Blocked Accounts`}),(0,N.jsx)(`div`,{className:I.phText,children:`If you block someone, you won’t see each other in-world or exchange messages, and their name and messages are hidden in public chats.`})]}):e.blocked.map(t=>(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(a,{name:O(t),color:D(t),size:40}),(0,N.jsx)(`div`,{className:I.info,children:(0,N.jsx)(`span`,{className:I.name,children:O(t)})}),(0,N.jsx)(`div`,{className:I.actions,children:(0,N.jsx)(n,{variant:`secondary`,size:`sm`,onClick:()=>e.act(`unblock`,t),children:`Unblock`})})]},t)):(0,N.jsxs)(`div`,{className:I.placeholder,children:[(0,N.jsx)(`div`,{className:I.phTitle,children:`Friends aren’t available`}),(0,N.jsx)(`div`,{className:I.phText,children:`Sign in with a wallet to add and manage friends.`})]})})]})}var tn=`__hudForwardedToCanvas`;function nn(e){return e[tn]=!0,e}function rn(e){return e[tn]===!0}var L={root:`_root_1s3k0_4`,groupTitle:`_groupTitle_1s3k0_14`,rows:`_rows_1s3k0_20`,pairBox:`_pairBox_1s3k0_28`,row:`_row_1s3k0_20`,quadBox:`_quadBox_1s3k0_43`,rowLabel:`_rowLabel_1s3k0_57`,chips:`_chips_1s3k0_62`,chipWrap:`_chipWrap_1s3k0_69`,chip:`_chip_1s3k0_62`,chipFixed:`_chipFixed_1s3k0_94`,chipConflict:`_chipConflict_1s3k0_101`,chipRemove:`_chipRemove_1s3k0_104`,chipAdd:`_chipAdd_1s3k0_124`,capturePrompt:`_capturePrompt_1s3k0_142`,captureHint:`_captureHint_1s3k0_148`},an=[[{Scene:`IaForward`},`Move Forward`],[{Scene:`IaBackward`},`Move Backward`],[{Scene:`IaLeft`},`Move Left`],[{Scene:`IaRight`},`Move Right`],[{Scene:`IaJump`},`Jump`],[{Scene:`IaWalk`},`Walk`],[{Scene:`IaModifier`},`Sprint / Modifier`],[{Scene:`IaPointer`},`Pointer / Interact`],[{Scene:`IaPrimary`},`Primary Action`],[{Scene:`IaSecondary`},`Secondary Action`],[{Scene:`IaAction3`},`Action 3`],[{Scene:`IaAction4`},`Action 4`],[{Scene:`IaAction5`},`Action 5`],[{Scene:`IaAction6`},`Action 6`],[{System:`PointAt`},`Point At`],[{System:`Microphone`},`Microphone`]],on=[[{System:`Map`},`Map`],[{System:`Places`},`Places`],[{System:`Communities`},`Communities`],[{System:`Backpack`},`Backpack`],[{System:`Gallery`},`Gallery`],[{System:`Settings`},`Settings`],[{System:`Friends`},`Friends`],[{System:`ChatPanel`},`Chat Panel`],[{System:`Chat`},`Focus Chat`],[{System:`HideUi`},`Hide UI`],[{System:`HideNames`},`Hide Nametags`],[{System:`Cancel`},`Cancel`]],sn=[[{System:`Emote`},`Emote Wheel`],...Array.from({length:10},(e,t)=>[{System:`QuickEmote${t}`},`Quick Emote ${t}`])],cn=[[`Gameplay`,an],[`Interface`,on],[`Emotes`,sn],[`Camera`,[[{System:`CameraLock`},`Camera Look`],[{System:`CameraUp`},`Camera Up`],[{System:`CameraDown`},`Camera Down`],[{System:`CameraLeft`},`Camera Left`],[{System:`CameraRight`},`Camera Right`],[{System:`CameraZoomIn`},`Camera Zoom In`],[{System:`CameraZoomOut`},`Camera Zoom Out`],[{System:`RollLeft`},`Camera Roll Left`],[{System:`RollRight`},`Camera Roll Right`]]],[`Pointer & Scroll`,[[{System:`PointerUp`},`Pointer Up`],[{System:`PointerDown`},`Pointer Down`],[{System:`PointerLeft`},`Pointer Left`],[{System:`PointerRight`},`Pointer Right`],[{System:`ScrollUp`},`Scroll Up`],[{System:`ScrollDown`},`Scroll Down`],[{System:`ScrollLeft`},`Scroll Left`],[{System:`ScrollRight`},`Scroll Right`]]]],ln=cn.flatMap(([,e])=>e),un=[[{Scene:`IaForward`},{Scene:`IaBackward`}],[{Scene:`IaLeft`},{Scene:`IaRight`}],[{System:`CameraUp`},{System:`CameraDown`}],[{System:`CameraLeft`},{System:`CameraRight`}],[{System:`PointerUp`},{System:`PointerDown`}],[{System:`PointerLeft`},{System:`PointerRight`}],[{System:`ScrollUp`},{System:`ScrollDown`}],[{System:`ScrollLeft`},{System:`ScrollRight`}],[{System:`CameraZoomIn`},{System:`CameraZoomOut`}],[{System:`RollLeft`},{System:`RollRight`}]],dn={Up:`Down`,Down:`Up`,Left:`Right`,Right:`Left`},fn=(e,t)=>un.some(n=>T(n[0],e)&&T(n[1],t)||T(n[1],e)&&T(n[0],t)),pn=[`CameraUp`,`CameraDown`,`CameraLeft`,`CameraRight`],mn=(e,t)=>pn.every((n,r)=>{let i=e[t+r]?.[0];return i!=null&&`System`in i&&i.System===n});function hn(e){let t=[];for(let n=0;n<e.length;n++)mn(e,n)?(t.push(e.slice(n,n+4)),n+=3):n+1<e.length&&fn(e[n][0],e[n+1][0])?(t.push([e[n],e[n+1]]),n++):t.push([e[n]]);return t}var gn=/^(MouseMove|MouseWheel|GamepadLeft|GamepadRight|GamepadLeftTrigger|GamepadRightTrigger) (Up|Down|Left|Right)$/;function _n(e,t,n){return e.some(([e])=>T(e,t))?e.map(([e,r])=>T(e,t)?[e,n]:[e,r]):[...e,[t,n]]}var vn=(e,t)=>e.find(([e])=>T(e,t))?.[1]??[];function yn(e,t,n,r){if(xn(t,r))return e;let i=gn.exec(r),a=i==null?void 0:un.find(e=>e.some(e=>T(e,t)));if(i==null||a==null){let i=[...vn(e,t)];return i[n]=r,_n(e,t,[...new Set(i)])}let[o,s]=[i[1],i[2]],c=T(a[0],t)?a[1]:a[0],l=(e,t,n)=>_n(e,t,[...vn(e,t).filter(e=>!e.startsWith(`${o} `)),`${o} ${n}`]);return l(l(e,t,s),c,dn[s])}var bn=e=>`System`in e&&e.System.startsWith(`Scroll`),xn=(e,t)=>bn(e)&&t.startsWith(`MouseWheel `);function Sn(e,t,n){return bn(t)?[]:ln.filter(([r])=>!bn(r)&&!T(r,t)&&(e.find(([e])=>T(r,e))?.[1]??[]).includes(n)).map(([,e])=>e)}function Cn({action:e,label:t,onRebind:n,onRemove:r}){let i=ue(),a=k(i,e);return(0,N.jsxs)(`div`,{className:L.row,children:[(0,N.jsx)(`span`,{className:L.rowLabel,children:t}),(0,N.jsxs)(`span`,{className:L.chips,children:[a.map((a,o)=>{if(xn(e,a))return(0,N.jsx)(`span`,{className:L.chipWrap,children:(0,N.jsx)(`span`,{className:`${L.chip} ${L.chipFixed}`,title:`The wheel always scrolls`,children:E(i,a)})},`${a}${o}`);let s=Sn(i.bindings,e,a);return(0,N.jsxs)(`span`,{className:L.chipWrap,children:[(0,N.jsx)(`button`,{type:`button`,className:`${L.chip} ${s.length>0?L.chipConflict:``}`.trim(),title:s.length>0?`Also bound to ${s.join(`, `)} — click to rebind`:`Click to rebind`,onClick:()=>n(e,t,o),children:E(i,a)}),(0,N.jsx)(`button`,{type:`button`,className:L.chipRemove,"aria-label":`Remove ${E(i,a)} from ${t}`,onClick:()=>r(e,o),children:`×`})]},`${a}${o}`)}),(0,N.jsx)(`button`,{type:`button`,className:L.chipAdd,"aria-label":`Add a binding for ${t}`,onClick:()=>n(e,t,a.length),children:`+`})]})]})}var wn=[`Mouse Left`,`Mouse Middle`,`Mouse Right`,`Mouse Back`,`Mouse Forward`];function Tn({cancelHint:t,label:n,onMouse:r}){return(0,A.useEffect)(()=>{let e=document.getElementById(`mygame-canvas`),t=e=>{e.preventDefault(),e.stopPropagation()},n=null,i=i=>{rn(i)||(t(i),e?.dispatchEvent(nn(new PointerEvent(i.type,i))),i.type===`pointerdown`?n=i.button:n===i.button&&r(wn[i.button]??`Mouse Left`))},a=n=>{rn(n)||(t(n),e?.dispatchEvent(nn(new WheelEvent(`wheel`,n))),r(Math.abs(n.deltaY)>=Math.abs(n.deltaX)?n.deltaY<0?`MouseWheel Up`:`MouseWheel Down`:n.deltaX<0?`MouseWheel Left`:`MouseWheel Right`))};return window.addEventListener(`pointerdown`,i,!0),window.addEventListener(`pointerup`,i,!0),window.addEventListener(`wheel`,a,{capture:!0,passive:!1}),window.addEventListener(`click`,t,!0),window.addEventListener(`auxclick`,t,!0),window.addEventListener(`contextmenu`,t,!0),()=>{window.removeEventListener(`pointerdown`,i,!0),window.removeEventListener(`pointerup`,i,!0),window.removeEventListener(`wheel`,a,{capture:!0}),window.removeEventListener(`click`,t,!0),window.removeEventListener(`auxclick`,t,!0),window.removeEventListener(`contextmenu`,t,!0)}},[r]),(0,N.jsxs)(e,{title:`Rebind ${n}`,width:400,closeButton:!1,ariaLabel:`Rebind ${n}`,children:[(0,N.jsx)(`div`,{className:L.capturePrompt,children:`Press a key, mouse or gamepad button…`}),t!=null&&(0,N.jsxs)(`div`,{className:L.captureHint,children:[t,` to cancel`]})]})}function En(e){if(T(e,{System:`Cancel`}))return[];let t=k(w(),{System:`Cancel`});return t.length>0?t:[`Escape`]}function Dn({bindings:e}){let t=(t,n,r)=>{let{input:i,cancel:a}=e.capture(),o=En(t),s=!1,c=n=>{s||(s=!0,a(),l(),!o.includes(n)&&e.set(yn(w().bindings,t,r,n)))},l=g(()=>(0,N.jsx)(Tn,{label:n,cancelHint:o.length>0?E(w(),o[0]):void 0,onMouse:c}),{onClose:()=>{s||(s=!0,a())}});i.then(c)},n=(t,n)=>{let r=w().bindings,i=vn(r,t).filter((e,t)=>t!==n);e.set(_n(r,t,i))};return(0,N.jsx)(`div`,{className:L.root,children:cn.map(([e,r])=>(0,N.jsxs)(`section`,{children:[(0,N.jsx)(`h2`,{className:L.groupTitle,children:e}),(0,N.jsx)(`div`,{className:L.rows,children:hn(r).map(e=>e.length>1?(0,N.jsx)(`div`,{className:e.length===4?`${L.pairBox} ${L.quadBox}`:L.pairBox,children:e.map(([e,r])=>(0,N.jsx)(Cn,{action:e,label:r,onRebind:t,onRemove:n},r))},e[0][1]):(0,N.jsx)(Cn,{action:e[0][0],label:e[0][1],onRebind:t,onRemove:n},e[0][1]))})]},e))})}var R={head:`_head_1bdpk_2`,title:`_title_1bdpk_8`,tabs:`_tabs_1bdpk_14`,tab:`_tab_1bdpk_14`,tabActive:`_tabActive_1bdpk_34`,reset:`_reset_1bdpk_41`,card:`_card_1bdpk_61`,grid:`_grid_1bdpk_68`,field:`_field_1bdpk_75`,fieldHead:`_fieldHead_1bdpk_80`,label:`_label_1bdpk_86`,value:`_value_1bdpk_91`,empty:`_empty_1bdpk_97`},On=`Key Bindings`;function kn(e){return e.replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function An(e){return e.namedVariants.length===2||e.namedVariants.length===0&&e.maxValue-e.minValue<=1&&e.stepSize>=1}function jn(e){return!An(e)&&e.namedVariants.length<=2}function Mn({s:e,onSet:n}){return An(e)?(0,N.jsx)(i,{checked:e.value>=1,onChange:t=>n(e.name,+!!t),"aria-label":e.name}):e.namedVariants.length>2?(0,N.jsx)(t,{variant:`light`,value:String(e.value),options:e.namedVariants.map((e,t)=>({value:String(t),label:e.name})),onChange:t=>n(e.name,Number(t)),"aria-label":e.name}):(0,N.jsx)(r,{arrows:!0,value:e.value,min:e.minValue,max:e.maxValue,step:e.stepSize||1,onChange:t=>n(e.name,t),"aria-label":e.name})}var Nn=(0,A.memo)(function({s:e,onSet:t}){return(0,N.jsxs)(`div`,{className:R.field,children:[(0,N.jsxs)(`div`,{className:R.fieldHead,children:[(0,N.jsx)(`span`,{className:R.label,children:kn(e.name)}),jn(e)&&(0,N.jsx)(`span`,{className:R.value,children:e.value})]}),(0,N.jsx)(Mn,{s:e,onSet:t})]})},(e,t)=>e.s.name===t.s.name&&e.s.value===t.s.value&&e.onSet===t.onSet);function Pn({settings:e,bindings:t,profile:n,onNavigate:r}){let i=(0,A.useMemo)(()=>[...new Set(e.list.map(e=>e.category)),On],[e.list]),[a,o]=(0,A.useState)(null);if(!e.open)return null;let s=a&&i.includes(a)?a:i[0],c=e.list.filter(e=>e.category===s),l=()=>{if(s===On){u({title:`Reset key bindings?`,body:`All bindings return to their defaults. This cannot be undone.`,confirmLabel:`Reset`}).then(e=>e&&t.reset());return}c.forEach(t=>e.set(t.name,t.default))},d=n.data;return(0,N.jsxs)(Re,{active:`settings`,profileName:d?.name,profilePicture:d?.picture,profileAddress:d?.address,profileClaimed:d?.hasClaimedName,onNavigate:r,onClose:e.toggle,children:[(0,N.jsxs)(`div`,{className:R.head,children:[(0,N.jsx)(`h1`,{className:R.title,children:`Settings`}),(0,N.jsx)(`div`,{className:R.tabs,children:i.map(e=>(0,N.jsx)(`button`,{type:`button`,className:`${R.tab} ${e===s?R.tabActive:``}`.trim(),onClick:()=>o(e),children:kn(e)},e))}),(0,N.jsx)(`button`,{type:`button`,className:R.reset,onClick:l,children:`↺ Reset all defaults`})]}),(0,N.jsx)(`div`,{className:R.card,children:s===On?(0,N.jsx)(Dn,{bindings:t}):c.length===0?(0,N.jsx)(`div`,{className:R.empty,children:`No settings available.`}):(0,N.jsx)(`div`,{className:R.grid,children:c.map(t=>(0,N.jsx)(Nn,{s:t,onSet:e.set},t.name))})})]})}var z={root:`_root_fhnuh_2`,head:`_head_fhnuh_21`,title:`_title_fhnuh_30`,closeGlyph:`_closeGlyph_fhnuh_35`,body:`_body_fhnuh_39`,name:`_name_fhnuh_48`,tag:`_tag_fhnuh_58`,addr:`_addr_fhnuh_62`,guest:`_guest_fhnuh_67`,desc:`_desc_fhnuh_75`,links:`_links_fhnuh_81`,link:`_link_fhnuh_81`,empty:`_empty_fhnuh_101`};function Fn({profile:e}){if(!e.open)return null;let t=e.data,{base:n,tag:r}=de(t?t.name.trim()?t.name:O(t.address):``),i=t?D(t.address):`var(--fill-4)`;return(0,N.jsxs)(`div`,{className:z.root,children:[(0,N.jsxs)(`header`,{className:z.head,children:[(0,N.jsx)(`span`,{className:z.title,children:`Profile`}),(0,N.jsx)(o,{variant:`solid`,className:z.closeGlyph,"aria-label":`Close profile`,onClick:e.toggle,children:`×`})]}),t?(0,N.jsxs)(`div`,{className:z.body,children:[(0,N.jsx)(a,{src:t.picture,name:n,color:i,size:88,status:`online`}),(0,N.jsxs)(`div`,{className:z.name,style:{color:i},children:[n,r&&(0,N.jsx)(`span`,{className:z.tag,children:r})]}),(0,N.jsx)(`div`,{className:z.addr,children:O(t.address)}),t.isGuest&&(0,N.jsx)(`span`,{className:z.guest,children:`Guest`}),t.description&&(0,N.jsx)(`p`,{className:z.desc,children:t.description}),t.links&&t.links.length>0&&(0,N.jsx)(`div`,{className:z.links,children:t.links.map(e=>(0,N.jsx)(`a`,{className:z.link,href:e.url,target:`_blank`,rel:`noreferrer`,children:e.title},e.url))})]}):(0,N.jsx)(`div`,{className:z.empty,children:`Profile unavailable.`})]})}var B={root:`_root_8hwrw_2`,head:`_head_8hwrw_21`,heading:`_heading_8hwrw_30`,markRead:`_markRead_8hwrw_36`,closeGlyph:`_closeGlyph_8hwrw_48`,body:`_body_8hwrw_52`,row:`_row_8hwrw_66`,unread:`_unread_8hwrw_77`,thumb:`_thumb_8hwrw_81`,img:`_img_8hwrw_92`,dot:`_dot_8hwrw_97`,info:`_info_8hwrw_104`,title:`_title_8hwrw_111`,bodyText:`_bodyText_8hwrw_120`,time:`_time_8hwrw_130`,unreadDot:`_unreadDot_8hwrw_136`,empty:`_empty_8hwrw_146`};function In(e){return e.replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function V(e,...t){for(let n of t){let t=e[n];if(typeof t==`string`&&t)return t}}function Ln(e,t,...n){let r=e[t];if(r&&typeof r==`object`)return V(r,...n)}function Rn(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.floor((Date.now()-t)/6e4);if(n<1)return`now`;if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<24)return`${r}h`;let i=Math.floor(r/24);return i<7?`${i}d`:new Date(t).toLocaleDateString([],{month:`short`,day:`numeric`})}function zn(e){return V(e,`image`,`thumbnail`,`thumbnailUrl`,`tokenImage`,`profileImageUrl`)??Ln(e,`sender`,`profileImageUrl`,`image`)}var Bn={social_service_friendship_request:`wants to be your friend!`,social_service_friendship_accepted:`accepted your friend request.`},H=e=>V(e,`communityName`)??`a community`,Vn={community_post_added:e=>({title:`New Community Announcement`,body:`A new announcement was posted in ${H(e)}.`}),community_invite_received:e=>({title:`Community Invite Received`,body:`You've been invited to join ${H(e)}.`}),community_voice_chat_started:e=>({title:`Community Voice Stream Started`,body:`${H(e)} is streaming — click to join.`}),community_renamed:e=>({title:`Community Renamed`,body:`${V(e,`oldName`)??`A community`} was renamed to ${V(e,`newName`)??H(e)}.`}),community_request_to_join_received:e=>({title:`Membership Request Received`,body:`${V(e,`userName`,`memberName`)??`Someone`} wants to join ${H(e)}.`}),community_request_to_join_accepted:e=>({title:`Membership Request Accepted`,body:`You're now a member of ${H(e)}.`}),community_deleted:e=>({title:`Community Deleted`,body:`${H(e)} has been deleted.`}),community_deleted_content_violation:e=>({title:`Community Deleted`,body:`${H(e)} was deleted for a content violation.`}),community_member_banned:e=>({title:`Banned from Community`,body:`You've been banned from ${H(e)}.`}),community_member_removed:e=>({title:`Removed from Community`,body:`You've been removed from ${H(e)}.`}),community_ownership_transferred:e=>({title:`Community Ownership Transferred`,body:`You're now the owner of ${H(e)}.`}),credits_reminder_claim_credits:()=>({title:`Marketplace Credits`,body:`You have Credits waiting to be claimed.`}),credits_reminder_complete_goals:()=>({title:`Marketplace Credits`,body:`Complete your goals to earn Credits.`}),credits_reminder_usage:()=>({title:`Marketplace Credits`,body:`Don't forget to use your Credits.`}),credits_reminder_usage_24_hours:()=>({title:`Marketplace Credits`,body:`Your Credits expire soon — use them now.`}),credits_reminder_do_not_miss_out:()=>({title:`Marketplace Credits`,body:`Don't miss out on your Credits.`}),credits_new_season_reminder:()=>({title:`New Credits Season`,body:`A new Marketplace Credits season has started.`})};function Hn(e){let t=e.metadata,n=zn(t);if(Bn[e.type])return{title:Ln(t,`sender`,`name`)??V(t,`title`)??`Someone`,body:Bn[e.type],image:n};let r=V(t,`title`);if(r!=null)return{title:r,body:V(t,`description`,`message`),image:n};let i=Vn[e.type];return i?{...i(t),image:n}:{title:In(e.type),body:V(t,`description`,`message`,`name`),image:n}}function Un({n:e}){let{title:t,body:n,image:r}=Hn(e);return(0,N.jsxs)(`div`,{className:`${B.row} ${e.read?``:B.unread}`.trim(),children:[(0,N.jsx)(`div`,{className:B.thumb,children:r?(0,N.jsx)(`img`,{className:B.img,src:r,alt:``}):(0,N.jsx)(`span`,{className:B.dot})}),(0,N.jsxs)(`div`,{className:B.info,children:[(0,N.jsx)(`span`,{className:B.title,children:t}),n&&(0,N.jsx)(`span`,{className:B.bodyText,children:n})]}),(0,N.jsx)(`span`,{className:B.time,children:Rn(e.timestamp)}),!e.read&&(0,N.jsx)(`span`,{className:B.unreadDot,"aria-label":`unread`})]})}function Wn({notifications:e}){return e.open?(0,N.jsxs)(`div`,{className:B.root,children:[(0,N.jsxs)(`header`,{className:B.head,children:[(0,N.jsx)(`span`,{className:B.heading,children:`Notifications`}),e.unread>0&&(0,N.jsx)(`button`,{type:`button`,className:B.markRead,onClick:e.markAllRead,children:`Mark all read`}),(0,N.jsx)(o,{variant:`solid`,className:B.closeGlyph,"aria-label":`Close notifications`,onClick:e.toggle,children:`×`})]}),(0,N.jsx)(`div`,{className:B.body,children:e.list.length===0?(0,N.jsx)(`div`,{className:B.empty,children:`You’re all caught up.`}):e.list.map(e=>(0,N.jsx)(Un,{n:e},e.id))})]}):null}var Gn={slot:`_slot_10ky5_2`,bg:`_bg_10ky5_6`,num:`_num_10ky5_15`},Kn=182,qn=168,Jn=92,Yn=74,Xn={base:{flap:`#A09BA8`,glows:[{c:`#CFCDD4`,cx:156.62,cy:134.02,r:123.28,b:53.79},{c:`#FCFCFC`,cx:33.93,cy:.93,r:121.93,b:53.79,o:.8}]},common:{flap:`#73D3D3`,glows:[{c:`#73D3D3`,cx:137,cy:115,r:119,b:89.96},{c:`#B5FFF6`,cx:44,cy:32,r:68,b:50}]},uncommon:{flap:`#FF8362`,glows:[{c:`#FF8362`,cx:137,cy:115,r:119,b:81.65},{c:`#FFE0B2`,cx:29.47,cy:18.47,r:77.47,b:50}]},rare:{flap:`#34CE76`,glows:[{c:`#34CE76`,cx:137,cy:115,r:106,b:53.79},{c:`#73FFAF`,cx:32.48,cy:19.06,r:77.47,b:50}]},epic:{flap:`#438FFF`,glows:[{c:`#5C9EFF`,cx:136,cy:102,r:102,b:53.79},{c:`#4DEAFF`,cx:12.47,cy:21.47,r:77.47,b:50}]},legendary:{flap:`#A14BF3`,glows:[{c:`#B66CFF`,cx:121,cy:112,r:83,b:41.72},{c:`#E579FB`,cx:12.47,cy:21.47,r:77.47,b:50}]},mythic:{flap:`#FF4BED`,glows:[{c:`#FF4BED`,cx:121,cy:112,r:83,b:53.79},{c:`#FFA6C1`,cx:12.47,cy:21.47,r:77.47,b:53.79}]},exotic:{flap:`#9CD71E`,glows:[{c:`#CAFF73`,cx:121,cy:112,r:116,b:74.89},{c:`#CAFF73`,cx:12.47,cy:21.47,r:77.47,b:58.66}]},unique:{flap:`#FEA217`,glows:[{c:`#FFDD2C`,cx:70,cy:157,r:91,b:53.79},{c:`#FFAB2C`,cx:132.9,cy:39.9,r:53.9,b:53.79}]}},Zn=`M14.8164 12.709C64.4508 -0.703243 116.612 -1.5304 166.64 10.3027C176.559 12.6489 182.063 22.9775 179.27 32.6738L145.125 151.212C142.308 160.99 132.238 166.37 122.526 164.608C103.049 161.075 83.0735 161.392 63.7158 165.54C54.0636 167.609 43.8302 162.551 40.71 152.865L2.89062 35.4668C-0.202676 25.8636 4.97707 15.368 14.8164 12.709Z`,Qn=`M4.79456 34.854C2.02502 26.2568 6.68143 16.9787 15.3385 14.6393C64.652 1.31383 116.475 0.492713 166.179 12.2493C174.905 14.3132 179.848 23.4393 177.348 32.12L143.203 150.658C140.703 159.339 131.704 164.24 122.883 162.64C103.149 159.061 82.9097 159.381 63.2967 163.584C54.53 165.463 45.3831 160.849 42.6136 152.252L4.79456 34.854Z`,$n=`M47.9447 7.70117C43.9328 8.34457 40.4114 10.7359 38.638 14.3936L17.1322 58.75C15.343 62.4402 15.0466 66.6786 16.304 70.582L4.79428 34.8545C2.02478 26.2574 6.68134 16.9791 15.3382 14.6396C26.1034 11.7307 36.9885 9.41758 47.9447 7.70117Z`,er=`M17.1325 58.7501C15.3433 62.4403 15.047 66.6787 16.3044 70.5822L13.1836 60.8956L33.8238 24.3209L17.1325 58.7501Z`,tr=`M11.0036 21.9181C10.6762 22.1695 10.615 22.639 10.867 22.9659L15.3604 26.5831L17.129 28.6697L15.533 31.4881L15.1114 35.3803C15.162 35.8414 15.6155 36.1457 16.0614 36.0179C16.4192 35.9153 16.6472 35.5652 16.5963 35.1964L17.0108 31.9443L19.1989 28.861L20.0563 33.9719C20.1331 34.4298 20.5915 34.7189 21.0379 34.5909C21.4127 34.4834 21.65 34.1151 21.5929 33.7294L20.6933 27.6476L19.6397 25.3561L21.2475 20.6279C21.4369 20.0711 20.9223 19.5309 20.357 19.6931C20.1239 19.7599 19.9394 19.9382 19.8647 20.1689L19.0229 22.5681C18.7079 23.4659 17.9771 24.1553 17.0625 24.4176C16.1661 24.6746 15.2008 24.4903 14.4621 23.921L12.0623 22.0715C11.8154 21.7316 11.3368 21.6622 11.0036 21.9181Z`;function nr({thumbnail:e,rarity:t=`base`,number:n,width:r=174,rotate:i=0}){let a=(0,A.useId)().replace(/:/g,``),o=e,s=Xn[t]??Xn.base,c=i?`rotate(${-i} ${Jn} ${Yn})`:void 0,l={fontSize:Math.round(r*.19),transform:`translateX(-50%)${i?` rotate(${-i}deg)`:``}`};return(0,N.jsxs)(`div`,{className:Gn.slot,style:{width:r,height:r*qn/Kn,transform:i?`rotate(${i}deg)`:void 0},children:[(0,N.jsxs)(`svg`,{className:Gn.bg,viewBox:`0 0 ${Kn} ${qn}`,preserveAspectRatio:`none`,children:[(0,N.jsxs)(`defs`,{children:[s.glows.map((e,t)=>(0,N.jsx)(`filter`,{id:`blur-${a}-${t}`,x:`-120`,y:`-120`,width:`420`,height:`420`,filterUnits:`userSpaceOnUse`,colorInterpolationFilters:`sRGB`,children:(0,N.jsx)(`feGaussianBlur`,{stdDeviation:e.b})},t)),(0,N.jsx)(`clipPath`,{id:`clip-${a}`,children:(0,N.jsx)(`path`,{d:Qn})})]}),(0,N.jsx)(`path`,{d:Qn,fill:`#691FA9`}),(0,N.jsxs)(`g`,{clipPath:`url(#clip-${a})`,children:[s.glows.map((e,t)=>(0,N.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:e.r,fill:e.c,opacity:e.o??1,filter:`url(#blur-${a}-${t})`},t)),o&&(0,N.jsx)(`g`,{transform:c,children:(0,N.jsx)(`image`,{href:o,x:`37.9961`,y:`20`,width:`108`,height:`108`,preserveAspectRatio:`none`})}),(0,N.jsx)(`path`,{d:$n,fill:s.flap}),(0,N.jsx)(`path`,{d:er,fill:`black`,fillOpacity:`0.1`}),(0,N.jsx)(`path`,{d:tr,fill:`#FCFCFC`}),(0,N.jsx)(`circle`,{cx:`16.2543`,cy:`21.5305`,r:`1.87704`,transform:`rotate(-16 16.2543 21.5305)`,fill:`#FCFCFC`})]}),(0,N.jsx)(`path`,{d:Zn,fill:`none`,stroke:`#f1eff5`,strokeWidth:`4`})]}),n!=null&&(0,N.jsx)(`span`,{className:Gn.num,style:l,children:n})]})}var U={backdrop:`_backdrop_okd42_2`,wheel:`_wheel_okd42_12`,slotPos:`_slotPos_okd42_21`,slotHover:`_slotHover_okd42_27`,slotEmpty:`_slotEmpty_okd42_32`,center:`_center_okd42_38`,hoverName:`_hoverName_okd42_49`,title:`_title_okd42_55`,customise:`_customise_okd42_60`,hint:`_hint_okd42_77`,close:`_close_okd42_83`},rr=215,ir=152,ar=112;function or({emotes:e,onCustomise:t}){let[n,r]=(0,A.useState)(null);if(ve(e=>{(e.key===`e`||e.key===`E`)&&(e.preventDefault(),t?.())},{capture:!1,enabled:e.open&&t!=null}),!e.open)return null;let i=Array.from({length:10},(t,n)=>{let r=(n+1)%10;return{k:n,num:r,deg:-90+n*36,emote:e.list.find(e=>e.slot===r)??null}}),a=n==null?null:e.list.find(e=>e.slot===n);return(0,N.jsx)(`div`,{className:U.backdrop,onClick:e.toggle,children:(0,N.jsxs)(`div`,{className:U.wheel,onClick:e=>e.stopPropagation(),children:[(0,N.jsx)(`button`,{type:`button`,className:U.close,"aria-label":`Close emotes`,onClick:e.toggle,children:`×`}),i.map(({num:t,deg:i,emote:a})=>{let o=i*Math.PI/180,s=rr+ir*Math.cos(o),c=rr+ir*Math.sin(o);return(0,N.jsx)(`div`,{role:`button`,"aria-label":`Emote slot ${t}${a?`: ${a.name}`:``}`,className:`${U.slotPos} ${n===t?U.slotHover:``} ${a?``:U.slotEmpty}`.trim(),style:{left:`${s}px`,top:`${c}px`},onMouseEnter:()=>a&&r(t),onMouseLeave:()=>r(e=>e===t?null:e),onClick:()=>a&&e.play(a.urn),children:(0,N.jsx)(nr,{thumbnail:a?Te(a.urn):void 0,rarity:a?.rarity??`base`,number:t,rotate:i+90,width:ar})},t)}),(0,N.jsxs)(`div`,{className:U.center,children:[(0,N.jsx)(`div`,{className:U.hoverName,children:a?.name??` `}),(0,N.jsx)(`div`,{className:U.title,children:`EMOTES`}),(0,N.jsx)(`button`,{type:`button`,className:U.customise,onClick:t,children:`Customise [E]`}),(0,N.jsx)(`div`,{className:U.hint,children:`Press [B+num] to run an emote`})]})]})})}var sr={root:`_root_2zlqk_5`,group:`_group_2zlqk_27`,divider:`_divider_2zlqk_35`},cr=[{kind:`profile`,icon:`profile`,label:`Profile`},{kind:`notifications`,icon:`notifications`,label:`Notifications`},{kind:`map`,icon:`map`,label:`Map`,hotkey:`Map`},{kind:`places`,icon:`places`,label:`Places`,hotkey:`Places`},{kind:`communities`,icon:`communities`,label:`Communities`,hotkey:`Communities`},{kind:`backpack`,icon:`backpack`,label:`Backpack`,hotkey:`Backpack`},{kind:`gallery`,icon:`gallery`,label:`Gallery`,hotkey:`Gallery`},{kind:`settings`,icon:`settings`,label:`Settings`,hotkey:`Settings`},{kind:`divider`},{kind:`help`,icon:`help`,label:`Help & Support`}],lr=[{kind:`mic`,icon:`mic`,label:`Voice chat`},{kind:`emotes`,icon:`emotes`,label:`Emotes`,hotkey:`Emote`},{kind:`divider`},{kind:`friends`,icon:`friends`,label:`Friends`,hotkey:`Friends`},{kind:`chat`,icon:`chat`,label:`Chat`,hotkey:`ChatPanel`}];function ur(e,t,n,r,i){if(e.kind===`divider`)return(0,N.jsx)(`div`,{className:sr.divider},`d${t}`);let a=`hotkey`in e&&e.hotkey!=null?pe(r,e.hotkey):void 0;return e.kind===`chat`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,badge:n.chat.unread,active:n.chat.open,onClick:n.chat.toggle},`chat`):e.kind===`friends`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,badge:n.friends.received.length,active:n.friends.open,onClick:n.friends.toggle},`friends`):e.kind===`settings`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.settings.open,onClick:n.settings.toggle},`settings`):e.kind===`profile`?(0,N.jsx)(b,{icon:e.icon,label:e.label,active:n.profile.open,onClick:i??n.profile.toggle},`profile`):e.kind===`backpack`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.backpack.open,onClick:n.backpack.toggle},`backpack`):e.kind===`communities`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.communities.open,onClick:n.communities.toggle},`communities`):e.kind===`map`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.map.open,onClick:n.map.toggle},`map`):e.kind===`places`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.places.open,onClick:n.places.toggle},`places`):e.kind===`gallery`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.gallery.open,onClick:n.gallery.toggle},`gallery`):e.kind===`notifications`?(0,N.jsx)(b,{icon:e.icon,label:e.label,badge:n.notifications.unread,active:n.notifications.open,onClick:n.notifications.toggle},`notifications`):e.kind===`emotes`?(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,active:n.emotes.open,onClick:n.emotes.toggle},`emotes`):e.kind===`mic`?(0,N.jsx)(b,{icon:e.icon,label:e.label,active:n.mic.enabled,onClick:n.mic.toggle},`mic`):e.kind===`help`?(0,N.jsx)(b,{icon:e.icon,label:e.label,onClick:()=>window.open(`https://decentraland.org/help/`,`_blank`,`noopener`)},`help`):(0,N.jsx)(b,{icon:e.icon,label:e.label,shortcut:a,onClick:()=>n.nav(e.action)},e.action)}function dr({session:e,onViewProfile:t}){let n=ue();return(0,N.jsxs)(`nav`,{className:sr.root,"aria-label":`Main navigation`,children:[(0,N.jsx)(`div`,{className:sr.group,children:cr.map((r,i)=>ur(r,i,e,n,t))}),(0,N.jsx)(`div`,{className:sr.group,children:lr.map((r,i)=>ur(r,i,e,n,t))})]})}var W={root:`_root_iexx0_8`,header:`_header_iexx0_26`,title:`_title_iexx0_38`,coords:`_coords_iexx0_47`,collapse:`_collapse_iexx0_54`,surface:`_surface_iexx0_75`,circle:`_circle_iexx0_87`,cutout:`_cutout_iexx0_101`,cutoutFill:`_cutoutFill_iexx0_105`,rotor:`_rotor_iexx0_110`,layer:`_layer_iexx0_120`,tile:`_tile_iexx0_130`,poi:`_poi_iexx0_135`,poiPin:`_poiPin_iexx0_144`,poiLabel:`_poiLabel_iexx0_153`,north:`_north_iexx0_173`,northLabel:`_northLabel_iexx0_186`,arrow:`_arrow_iexx0_196`,zoom:`_zoom_iexx0_208`,settings:`_settings_iexx0_217`,roundButton:`_roundButton_iexx0_223`};function fr({chunks:e}){let t=1280;return(0,N.jsx)(N.Fragment,{children:e.map(({col:e,row:n})=>(0,N.jsx)(`img`,{className:W.tile,src:Ce(e,n),alt:``,draggable:!1,width:t,height:t,style:{left:e*t,top:n*t}},`${e},${n}`))})}function pr({tile:e}){let t=e.meters/2,n=xe(e.centerX-t,e.centerZ+t,32),r=e.meters/16*32;return(0,N.jsx)(`img`,{className:W.tile,src:e.url,alt:``,draggable:!1,width:r,height:r,style:{left:n.x,top:n.y}})}var mr=`dcl-minimap-places`,hr=4320*60*1e3,gr=100,_r=500;function vr(e){let[t,n]=e.split(`,`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)?{x:t,y:n}:null}function yr(e){let t=(e.positions??[]).map(vr).filter(e=>e!=null);if(t.length===0)return e.base_position==null?null:vr(e.base_position);let n=t.reduce((e,t)=>({x:e.x+t.x,y:e.y+t.y}),{x:0,y:0});return{x:Math.round(n.x/t.length),y:Math.round(n.y/t.length)}}function br(e){let t=[];for(let n of e){if(n.world===!0)continue;let e=yr(n);e!=null&&t.push({id:n.id,title:n.title,categories:n.categories??[],x:e.x,y:e.y})}return t}function xr(){try{let e=localStorage.getItem(mr);if(e==null)return null;let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let{at:n,places:r}=t;return typeof n!=`number`||Date.now()-n>hr||!Array.isArray(r)?null:r}catch{return null}}function Sr(e){try{localStorage.setItem(mr,JSON.stringify({at:Date.now(),places:e}))}catch{}}var Cr=null;function wr(){let e=xr();return e==null?Cr??(Cr=(async()=>{let e=[];for(let t=0;t<_r;t+=gr){let n=await ye({limit:gr,offset:t,order_by:`like_score_best`,order:`desc`});if(e.push(...br(n.data)),n.data.length<gr)break}return Sr(e),e})(),Cr.catch(()=>{Cr=null}),Cr):Promise.resolve(e)}function Tr(e,t,n,r){return e.map(e=>({p:e,d:Math.hypot(e.x-t,e.y-n)})).filter(e=>e.d<=r).sort((e,t)=>e.d-t.d).map(e=>e.p)}var Er=`dcl-minimap-style`,Dr=`dcl-minimap-rotation`,Or=`dcl-minimap-zoom`,kr=`dcl-minimap-markers`,Ar=[`parcel`,`satellite`,`imposters`],jr=[`camera`,`north`],Mr=[`poi`,`featured`,`game`,`casino`,`social`,`music`,`art`,`fashion`,`crypto`,`education`,`shop`,`sports`,`business`,`parkour`];function Nr(e){try{return localStorage.getItem(e)}catch{return null}}function Pr(e,t){try{localStorage.setItem(e,t)}catch{}}function Fr(){let e=Nr(Er);return Ar.includes(e)?e:`satellite`}function Ir(e){Pr(Er,e)}function Lr(){let e=Nr(Dr);return jr.includes(e)?e:`north`}function Rr(e){Pr(Dr,e)}function zr(){let e=Number(Nr(Or));return!Number.isFinite(e)||e<=0?256:Math.min(768,Math.max(64,e))}function Br(e){Pr(Or,String(e))}function Vr(){try{let e=JSON.parse(Nr(kr)??`null`);return Array.isArray(e)?e.filter(e=>typeof e==`string`):[...Mr]}catch{return[...Mr]}}function Hr(e){Pr(kr,JSON.stringify(e))}var Ur={menu:`_menu_o6pdy_3`,section:`_section_o6pdy_16`,option:`_option_o6pdy_26`,check:`_check_o6pdy_44`},Wr=[{value:`camera`,label:`Rotate with camera`},{value:`north`,label:`Fixed north`}],Gr=[{value:`parcel`,label:`Parcel atlas`},{value:`satellite`,label:`Satellite`},{value:`imposters`,label:`Camera`}];function Kr(e){return e.length===0?`none`:e.length===1&&e[0]===`poi`?`poi`:e.length===Mr.length?`all`:null}var qr=[{value:`all`,label:`All`,categories:Mr},{value:`poi`,label:`Only POI`,categories:[`poi`]},{value:`none`,label:`None`,categories:[]}];function Jr({rotation:e,onRotation:t,style:n,onStyle:r,hideStyle:i,markers:a,onMarkers:o}){let s=Kr(a);return(0,N.jsxs)(`div`,{className:Ur.menu,role:`menu`,"aria-label":`Minimap settings`,children:[(0,N.jsx)(`p`,{className:Ur.section,children:`Rotation mode`}),Wr.map(n=>(0,N.jsx)(Yr,{label:n.label,selected:e===n.value,onSelect:()=>t(n.value)},n.value)),!i&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`p`,{className:Ur.section,children:`Visualization style`}),Gr.map(e=>(0,N.jsx)(Yr,{label:e.label,selected:n===e.value,onSelect:()=>r(e.value)},e.value))]}),(0,N.jsx)(`p`,{className:Ur.section,children:`Markers`}),qr.map(e=>(0,N.jsx)(Yr,{label:e.label,selected:s===e.value,onSelect:()=>o([...e.categories])},e.value))]})}function Yr({label:e,selected:t,onSelect:n}){return(0,N.jsxs)(`button`,{type:`button`,className:Ur.option,role:`menuitemradio`,"aria-checked":t,onClick:n,children:[(0,N.jsx)(`span`,{className:Ur.check,children:t&&(0,N.jsx)(v,{size:13})}),e]})}var Xr=220,Zr=.2,Qr=10;function $r({minimap:e,map:t,sceneTitle:n,setEngineViewport:r}){let[i,a]=(0,A.useState)(!0),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(Fr),[u,d]=(0,A.useState)(Lr),[f,h]=(0,A.useState)(zr),[g,te]=(0,A.useState)(Vr),[_,v]=(0,A.useState)([]),[y,ie]=(0,A.useState)([]),[b,ae]=(0,A.useState)(()=>Oe(0,0)),[x,S]=(0,A.useState)({x:0,y:0}),C=(0,A.useRef)(null),w=(0,A.useRef)(null),T=(0,A.useRef)(f),E=e.isWorld?`imposters`:c,{pose:oe,setConfig:se}=e;(0,A.useEffect)(()=>{se({style:E,rotation:u,visibleMeters:f})},[se,E,u,f]),(0,A.useEffect)(()=>{if(e.isWorld||g.length===0)return;let t=!0;return wr().then(e=>{t&&v(e)}).catch(e=>{console.warn(`[minimap] could not load place markers`,e)}),()=>{t=!1}},[e.isWorld,g.length]);let ce=(0,A.useMemo)(()=>e.isWorld?[]:Tr(_,x.x,x.y,Qr).filter(e=>e.categories.some(e=>g.includes(e))),[e.isWorld,_,x.x,x.y,g]);(0,A.useEffect)(()=>{let e=C.current;if(e==null||!i)return;let t=0,n=``,r=``,a=``,o=()=>{t=requestAnimationFrame(o);let i=oe.current,s=Xr/T.current*16/32,c=xe(i.x,i.z,32),l=u===`north`?0:-i.camYaw;e.style.setProperty(`--map-scale`,String(s)),e.style.setProperty(`--map-tx`,String(-c.x)),e.style.setProperty(`--map-ty`,String(-c.y)),e.style.setProperty(`--map-yaw`,String(l)),e.style.setProperty(`--map-arrow`,String(i.yaw+l));let d=Math.floor(i.x/16),f=Math.floor(i.z/16),p=`${d},${f}`;if(p!==a&&(a=p,S({x:d,y:f})),E===`satellite`){let e=Xr/2/s*Math.SQRT2,t=je(c.x-e,c.y-e,c.x+e,c.y+e,1280),r=t.map(e=>`${e.col},${e.row}`).join(`|`);r!==n&&(n=r,ie(t))}else if(E===`parcel`){let e=Oe(i.x,i.z);e.url!==r&&(r=e.url,ae(e))}};return t=requestAnimationFrame(o),()=>cancelAnimationFrame(t)},[oe,u,E,i]);let le=(0,A.useCallback)(e=>{let t=T.current,n=Math.min(768,Math.max(64,t*e));if(n===t)return;let r=Math.log(t),i=Math.log(n),a=performance.now(),o=e=>{let t=Math.min(1,(e-a)/(Zr*1e3));if(T.current=Math.exp(r+(i-r)*t),t<1){requestAnimationFrame(o);return}T.current=n,h(n),Br(n)};requestAnimationFrame(o)},[]),D=f>64,O=f<768;(0,A.useEffect)(()=>{if(!o)return;let e=e=>{w.current?.contains(e.target)||s(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[o]);let ue=(0,A.useCallback)(e=>{l(e),Ir(e)},[]),de=(0,A.useCallback)(e=>{d(e),Rr(e)},[]),fe=(0,A.useCallback)(e=>{te(e),Hr(e)},[]),k=(0,A.useCallback)(e=>e.stopPropagation(),[]),pe=(0,A.useMemo)(()=>E===`satellite`?(0,N.jsx)(fr,{chunks:y}):E===`parcel`?(0,N.jsx)(pr,{tile:b}):null,[E,y,b]);return(0,N.jsxs)(`div`,{className:W.root,children:[(0,N.jsxs)(`div`,{className:W.header,children:[(0,N.jsx)(`span`,{className:W.title,children:n||`Empty parcel`}),(0,N.jsxs)(`span`,{className:W.coords,children:[x.x,`,`,x.y]}),(0,N.jsx)(`button`,{type:`button`,className:W.collapse,onClick:()=>a(e=>!e),"aria-label":i?`Collapse minimap`:`Expand minimap`,"aria-expanded":i,children:i?(0,N.jsx)(ee,{size:16}):(0,N.jsx)(re,{size:16})})]}),i&&(0,N.jsxs)(`div`,{className:W.surface,ref:C,children:[(0,N.jsxs)(`button`,{type:`button`,className:E===`imposters`?`${W.circle} ${W.cutout}`:W.circle,onClick:t.toggle,"aria-label":`Open map`,children:[(0,N.jsxs)(`div`,{className:W.rotor,children:[(0,N.jsxs)(`div`,{className:W.layer,children:[pe,ce.map(e=>{let t=xe(e.x*16+16/2,e.y*16+16/2,32);return(0,N.jsxs)(`span`,{className:W.poi,style:{left:t.x,top:t.y},children:[(0,N.jsx)(`img`,{className:W.poiPin,src:Se(e.categories),alt:``,draggable:!1}),e.categories.includes(`poi`)&&(0,N.jsx)(`span`,{className:W.poiLabel,children:e.title})]},e.id)})]}),(0,N.jsx)(`span`,{className:W.north,"aria-hidden":`true`,children:(0,N.jsx)(`span`,{className:W.northLabel,children:`N`})})]}),E===`imposters`&&(0,N.jsx)(`span`,{className:W.cutoutFill,children:(0,N.jsx)(ze,{region:`map`,report:r})}),(0,N.jsx)(`svg`,{className:W.arrow,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M12 2 21 22 12 17.4 3 22Z`,fill:`var(--brand)`,stroke:`var(--text)`,strokeWidth:`1.6`,strokeLinejoin:`round`})})]}),(0,N.jsxs)(`div`,{className:W.zoom,onClick:k,role:`group`,"aria-label":`Minimap zoom`,children:[(0,N.jsx)(`button`,{type:`button`,className:W.roundButton,onClick:()=>le(1/1.5),disabled:!D,"aria-label":`Zoom in`,children:(0,N.jsx)(m,{size:14})}),(0,N.jsx)(`button`,{type:`button`,className:W.roundButton,onClick:()=>le(1.5),disabled:!O,"aria-label":`Zoom out`,children:(0,N.jsx)(p,{size:14})})]}),(0,N.jsxs)(`div`,{className:W.settings,onClick:k,ref:w,children:[(0,N.jsx)(`button`,{type:`button`,className:W.roundButton,onClick:()=>s(e=>!e),"aria-label":`Minimap settings`,"aria-expanded":o,children:(0,N.jsx)(ne,{size:14})}),o&&(0,N.jsx)(Jr,{rotation:u,onRotation:de,style:c,onStyle:ue,hideStyle:e.isWorld,markers:g,onMarkers:fe})]})]})]})}var G={root:`_root_1pc98_1`,reticle:`_reticle_1pc98_13`,reticleActive:`_reticleActive_1pc98_38`,hints:`_hints_1pc98_45`,hintsRadial:`_hintsRadial_1pc98_60`,hint:`_hint_1pc98_45`,hintReverse:`_hintReverse_1pc98_79`,hintDisabled:`_hintDisabled_1pc98_83`,hintText:`_hintText_1pc98_86`,mouse:`_mouse_1pc98_89`,cap:`_cap_1pc98_93`,proxTip:`_proxTip_1pc98_109`},ei=0,ti={0:`IaPointer`,1:`IaPrimary`,2:`IaSecondary`,3:`IaAny`,4:`IaForward`,5:`IaBackward`,6:`IaRight`,7:`IaLeft`,8:`IaJump`,9:`IaWalk`,10:`IaAction3`,11:`IaAction4`,12:`IaAction5`,13:`IaAction6`,14:`IaModifier`},ni={1:`E`,2:`F`,4:`W`,5:`S`,6:`D`,7:`A`,8:`Space`,10:`1`,11:`2`,12:`3`,13:`4`};function ri(){return(0,N.jsxs)(`svg`,{className:G.mouse,width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M11.6746 11.8961V2.99524C11.6746 2.99524 4.33789 2.98667 4.33789 11.8961H11.6746Z`,fill:`#FF7439`}),(0,N.jsx)(`rect`,{x:`4.50781`,y:`2.99524`,width:`15`,height:`20`,rx:`7.5`,stroke:`#ECEBED`,strokeWidth:`2`}),(0,N.jsx)(`path`,{d:`M4.33789 11.9952H18.9999`,stroke:`#ECEBED`}),(0,N.jsx)(`path`,{d:`M7.20715 0.590018C4.26466 1.54992 2.11196 4.23323 1.19016 6.9471`,stroke:`#ECEBED`,strokeLinecap:`round`})]})}function ii({button:e}){let t=ue(),n=ti[e],r=n==null?void 0:k(t,{Scene:n})[0];return r===`Mouse Left`||r==null&&e===ei?(0,N.jsx)(ri,{}):(0,N.jsx)(`span`,{className:G.cap,children:r==null?ni[e]??`?`:E(t,r)})}var ai=14,oi=34,si=[{x:ai,y:0,side:`r`},{x:-14,y:0,side:`l`},{x:0,y:-2*oi,side:`t`},{x:ai,y:oi,side:`r`},{x:-14,y:oi,side:`l`},{x:ai,y:-34,side:`r`},{x:-14,y:-34,side:`l`}];function ci(e){return e.side===`t`?{position:`absolute`,left:e.x,top:e.y,transform:`translate(-50%, -50%)`}:e.side===`l`?{position:`absolute`,left:e.x,top:e.y,transform:`translate(-100%, -50%)`}:{position:`absolute`,left:e.x,top:e.y,transform:`translateY(-50%)`}}var li={camera:{Icon:ie,text:`Get camera closer`},player:{Icon:h,text:`Get player closer`}};function ui({action:e,slot:t}){let n=t?.side===`l`,r=e.enabled?null:li[e.tooFarReason??`camera`];return(0,N.jsxs)(`div`,{className:`${G.hint}${n?` ${G.hintReverse}`:``}${e.enabled?``:` ${G.hintDisabled}`}`,style:t?ci(t):void 0,children:[r?(0,N.jsx)(`span`,{className:G.mouse,"data-testid":`too-far-icon-${e.tooFarReason??`camera`}`,children:(0,N.jsx)(r.Icon,{size:22})}):(0,N.jsx)(ii,{button:e.button}),(0,N.jsx)(`span`,{className:G.hintText,children:e.enabled?e.text:r?.text})]})}function di({hover:e,locked:t,proximity:n}){let r=(0,A.useSyncExternalStore)(_e,Me),[i,a]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=()=>a(document.pointerLockElement!=null);return e(),document.addEventListener(`pointerlockchange`,e),()=>document.removeEventListener(`pointerlockchange`,e)},[]);let o=t||i,s=e.length>0;return(0,A.useEffect)(()=>(we(s&&!o),()=>we(!1)),[s,o]),!o&&!s&&n.length===0?null:(0,N.jsxs)(`div`,{className:G.root,"aria-hidden":`true`,children:[o&&(0,N.jsx)(`div`,{"data-testid":`reticle`,className:`${G.reticle}${s?` ${G.reticleActive}`:``}`}),s&&(o?(0,N.jsx)(`div`,{className:G.hints,children:e.map((e,t)=>(0,N.jsx)(ui,{action:e},t))}):(0,N.jsx)(`div`,{className:G.hintsRadial,style:{left:r.x,top:r.y},children:e.slice(0,si.length).map((e,t)=>(0,N.jsx)(ui,{action:e,slot:si[t]},t))})),n.map(e=>(0,N.jsx)(`div`,{"data-testid":`proxtip-${e.id}`,className:G.proxTip,style:{left:`${e.x}px`,top:`${e.y}px`},children:e.actions.map((e,t)=>(0,N.jsxs)(`div`,{className:G.hint,children:[(0,N.jsx)(ii,{button:e.button}),(0,N.jsx)(`span`,{className:G.hintText,children:e.text})]},t))},e.id))]})}var K={modal:`_modal_h601v_4`,icon:`_icon_h601v_17`,prompt:`_prompt_h601v_27`,scene:`_scene_h601v_33`,additional:`_additional_h601v_36`,options:`_options_h601v_41`,option:`_option_h601v_41`,radio:`_radio_h601v_63`,radioOn:`_radioOn_h601v_76`,radioDot:`_radioDot_h601v_79`,input:`_input_h601v_86`,actions:`_actions_h601v_92`,deny:`_deny_h601v_98`},fi={MovePlayer:`move your avatar within the scene bounds`,ForceCamera:`temporarily change the camera view`,PlayEmote:`make your avatar perform an emote`,SetLocomotion:`temporarily modify your avatar's locomotion settings`,HideAvatarsNametags:`temporarily hide player avatars and/or nametags, and/or disables passports`,DisableVoice:`temporarily disable voice chat`,Teleport:`teleport you to a new location`,ChangeRealm:`move you to a new realm`,SpawnPortable:`spawn a portable experience`,KillPortables:`manage your active portable experiences`,Web3:`initiate a web3 transaction with your wallet`,CopyToClipboard:`copy text into the clipboard`,Fetch:`fetch data from a remote server`,Websocket:`open a web socket to communicate with a remote server`,OpenUrl:`open a url in your browser`},pi=[{value:`once`,label:`Once`},{value:`scene`,label:`Always for Scene`},{value:`realm`,label:`Always for Realm`},{value:`global`,label:`Always for Global`}];function mi(){return(0,N.jsxs)(`svg`,{width:`26`,height:`26`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,children:[(0,N.jsx)(`rect`,{x:`4`,y:`10`,width:`16`,height:`11`,rx:`2`,fill:`currentColor`}),(0,N.jsx)(`path`,{d:`M8 10V7a4 4 0 0 1 8 0v3`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]})}function hi({request:e,onResolve:t}){let[r,i]=(0,A.useState)(`once`),a=fi[e.ty]??`perform a restricted action`;return(0,N.jsxs)(`div`,{className:K.modal,role:`alertdialog`,"aria-modal":`true`,"aria-label":`Scene permission request`,onClick:e=>e.stopPropagation(),children:[(0,N.jsx)(`span`,{className:K.icon,children:(0,N.jsx)(mi,{})}),(0,N.jsxs)(`div`,{className:K.prompt,children:[`The scene `,(0,N.jsx)(`span`,{className:K.scene,children:e.sceneName||`A scene`}),` wants permission to `,a]}),e.additional?(0,N.jsx)(`div`,{className:K.additional,children:e.additional}):null,(0,N.jsx)(`div`,{className:K.options,role:`radiogroup`,"aria-label":`Apply this decision`,children:pi.map(e=>(0,N.jsxs)(`label`,{className:K.option,children:[(0,N.jsx)(`input`,{className:K.input,type:`radio`,name:`permission-level`,checked:r===e.value,onChange:()=>i(e.value)}),(0,N.jsx)(`span`,{className:`${K.radio} ${r===e.value?K.radioOn:``}`.trim(),children:r===e.value?(0,N.jsx)(`span`,{className:K.radioDot}):null}),e.label]},e.value))}),(0,N.jsxs)(`div`,{className:K.actions,children:[(0,N.jsx)(n,{variant:`primary`,onClick:()=>t(!0,r),children:`Allow`}),(0,N.jsx)(n,{variant:`ghost`,className:K.deny,onClick:()=>t(!1,r),children:`Deny`})]})]})}function gi(e,t){let n=!1,r=(r,i)=>{n||(n=!0,t(e.id,r,i))};return g(t=>(0,N.jsx)(hi,{request:e,onResolve:(e,n)=>{r(e,n),t()}}),{onClose:()=>r(!1,`once`)})}function _i(e){let[t,n]=(0,A.useState)({page:0,engine:null,ms:0});return(0,A.useEffect)(()=>{if(!e)return;let t=0,r=0,i=0,a=null,o,s=performance.now(),c=s,l=0,u=()=>{let e=window;e===a||typeof e.__engineHeartbeat!=`function`||(o=e.__engineHeartbeat,e.__engineHeartbeat=function(...e){return i++,o?.apply(this,e)},a=e)},d=e=>{if(r++,l+=e-c,c=e,u(),e-s>=500){let t=(e-s)/1e3;n({page:Math.round(r/t),engine:typeof window.__nativeEngineFps==`number`?Math.round(window.__nativeEngineFps):a?Math.round(i/t):null,ms:Number((l/r).toFixed(1))}),r=0,i=0,l=0,s=e}t=requestAnimationFrame(d)};return t=requestAnimationFrame(d),()=>{cancelAnimationFrame(t),a&&o&&(a.__engineHeartbeat=o)}},[e]),t}var q={meter:`_meter_77eb9_1`,fps:`_fps_77eb9_21`,unit:`_unit_77eb9_25`,dim:`_dim_77eb9_31`,engine:`_engine_77eb9_34`,good:`_good_77eb9_39`,warn:`_warn_77eb9_42`,bad:`_bad_77eb9_45`};function vi(){let{page:e,engine:t,ms:n}=_i(!0),r=e>=55?q.good:e>=30?q.warn:q.bad;return(0,N.jsxs)(`div`,{className:q.meter,"aria-hidden":`true`,children:[(0,N.jsxs)(`span`,{className:`${q.fps} ${r}`,children:[e,(0,N.jsx)(`span`,{className:q.unit,children:`fps`})]}),(0,N.jsxs)(`span`,{className:q.dim,children:[n,`ms`]}),t!=null&&(0,N.jsxs)(`span`,{className:q.dim,children:[`engine `,(0,N.jsx)(`b`,{className:q.engine,children:t})]})]})}var J={root:`_root_1m58s_1`,"fade-in":`_fade-in_1m58s_1`,leaving:`_leaving_1m58s_13`,"fade-out":`_fade-out_1m58s_1`,watermark:`_watermark_1m58s_18`,loading:`_loading_1m58s_38`,spinnerLogo:`_spinnerLogo_1m58s_44`,pulse:`_pulse_1m58s_1`,panel:`_panel_1m58s_52`,logo:`_logo_1m58s_60`,title:`_title_1m58s_66`,subtitle:`_subtitle_1m58s_75`,account:`_account_1m58s_83`,error:`_error_1m58s_90`,buttons:`_buttons_1m58s_96`,cta:`_cta_1m58s_105`,ctaSecondary:`_ctaSecondary_1m58s_106`,authHint:`_authHint_1m58s_135`,authCode:`_authCode_1m58s_142`,resetBox:`_resetBox_1m58s_151`,resetText:`_resetText_1m58s_160`,ctaDanger:`_ctaDanger_1m58s_167`,label:`_label_1m58s_173`,arrow:`_arrow_1m58s_181`,bootBar:`_bootBar_1m58s_188`,bootLabel:`_bootLabel_1m58s_198`,bootTrack:`_bootTrack_1m58s_205`,bootFill:`_bootFill_1m58s_212`,avatarWrap:`_avatarWrap_1m58s_220`,disc:`_disc_1m58s_233`,glow:`_glow_1m58s_249`,"glow-pulse":`_glow-pulse_1m58s_1`,avatar:`_avatar_1m58s_220`,"avatar-in":`_avatar-in_1m58s_1`,"avatar-float":`_avatar-float_1m58s_1`},yi={download:`Downloading engine`,compile:`Compiling`,init:`Initializing`,workers:`Starting workers`,gpu:`Preparing graphics`};function bi({flow:e}){if(e.engineReady)return null;let t=(e.loadStep==null?void 0:yi[e.loadStep])??`Starting…`,n=Math.round(e.loadProgress);return(0,N.jsxs)(`div`,{className:J.bootBar,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":t,children:[(0,N.jsxs)(`div`,{className:J.bootLabel,children:[t,` · `,n,`%`]}),(0,N.jsx)(`div`,{className:J.bootTrack,children:(0,N.jsx)(`div`,{className:J.bootFill,style:{width:`${n}%`}})})]})}function xi(e){return e.loadStep===`download`?`DOWNLOADING… ${Math.round(e.loadProgress)}%`:`STARTING…`}function Si(){return(0,N.jsx)(`span`,{className:J.arrow,"aria-hidden":`true`,children:(0,N.jsxs)(`svg`,{viewBox:`0 0 28 28`,width:`22`,height:`22`,children:[(0,N.jsx)(`circle`,{cx:`14`,cy:`14`,r:`14`,fill:`#fff`}),(0,N.jsx)(`path`,{d:`M12.5 9l5 5-5 5M9 14h8`,stroke:`var(--brand)`,strokeWidth:`2.4`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})]})})}function Ci(e){let[t,n]=(0,A.useState)({});return(0,A.useEffect)(()=>{if(e==null||e===``){n({});return}let t=!1;return fetch(`https://peer.decentraland.org/lambdas/profiles/${e}`).then(e=>e.json()).then(e=>{let r=e.avatars?.[0];t||n({name:r?.name,body:r?.avatar?.snapshots?.body})}).catch(()=>void 0),()=>{t=!0}},[e]),t}function wi({body:e}){let[t,n]=(0,A.useState)(!1);return t?null:(0,N.jsxs)(`div`,{className:J.avatarWrap,children:[(0,N.jsx)(`div`,{className:J.disc}),(0,N.jsx)(`div`,{className:J.glow}),(0,N.jsx)(`img`,{className:J.avatar,src:e,alt:``,draggable:!1,onError:()=>n(!0)})]})}var Ti={"sign-in-or-guest":{title:`Discover a virtual social world`,subtitle:`shaped by its community of
|
|
5
|
-
creators & explorers.`},"reuse-login-or-new":{title:`Welcome back!`,subtitle:`Ready to explore?`}};function Ei({flow:e}){(0,A.useEffect)(()=>{De()},[]);let t=e.status===`reuse-login-or-new`,n=Ci(t&&e.account!=null?e.account:void 0);return(0,N.jsx)(`div`,{className:J.root,children:e.status===`loading`?(0,N.jsx)(`div`,{className:J.loading,children:(0,N.jsx)(`div`,{className:J.spinnerLogo})}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:J.watermark}),(0,N.jsx)(Di,{flow:e,name:n.name}),t&&n.body!=null&&(0,N.jsx)(wi,{body:n.body}),(0,N.jsx)(bi,{flow:e})]})})}function Di({flow:e,name:t}){let r=e.status,i=Ti[r],a=r===`reuse-login-or-new`&&t!=null&&t!==``?`Welcome back ${t}`:i.title,o=!e.engineReady;return(0,N.jsxs)(`div`,{className:J.panel,children:[(0,N.jsx)(`div`,{className:J.logo}),(0,N.jsx)(`h1`,{className:J.title,children:a}),i.subtitle&&(0,N.jsx)(`p`,{className:J.subtitle,children:i.subtitle}),e.error&&(0,N.jsx)(`p`,{className:J.error,children:e.error}),(0,N.jsxs)(`div`,{className:J.buttons,children:[e.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`p`,{className:J.authHint,children:e.authCode==null?`Opening the sign-in page in your browser…`:`Verify this code matches the one in the browser window we just opened:`}),e.authCode!=null&&(0,N.jsx)(`div`,{className:J.authCode,children:e.authCode}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.cancelLogin,children:(0,N.jsx)(`span`,{className:J.label,children:`CANCEL`})})]}),r===`sign-in-or-guest`&&!e.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(n,{variant:`primary`,size:`lg`,className:J.cta,onClick:e.startWithAccount,disabled:e.busy,children:[(0,N.jsx)(`span`,{className:J.label,children:`START WITH ACCOUNT`}),(0,N.jsx)(Si,{})]}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.exploreAsGuest,disabled:e.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:o?xi(e):`EXPLORE AS GUEST`})})]}),r===`reuse-login-or-new`&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(n,{variant:`primary`,size:`lg`,className:J.cta,onClick:e.jumpIn,disabled:e.busy||o,children:[(0,N.jsx)(`span`,{className:J.label,children:o?xi(e):e.profileFetchFailed?`TRY AGAIN`:`JUMP INTO DECENTRALAND`}),!o&&(0,N.jsx)(Si,{})]}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.useDifferentAccount,disabled:e.busy,children:(0,N.jsx)(`span`,{className:J.label,children:`USE A DIFFERENT ACCOUNT`})}),e.profileFetchFailed&&(0,N.jsxs)(`div`,{className:J.resetBox,children:[(0,N.jsx)(`p`,{className:J.resetText,children:`If the problem persists you can continue with a fresh default profile. This permanently replaces your account's current avatar and profile.`}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:`${J.ctaSecondary} ${J.ctaDanger}`,onClick:e.resetProfileAndJumpIn,disabled:e.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:`RESET PROFILE & JUMP IN`})})]})]})]})]})}var Y={root:`_root_1vhw7_1`,"fade-in":`_fade-in_1vhw7_1`,logo:`_logo_1vhw7_24`,title:`_title_1vhw7_30`,subtitle:`_subtitle_1vhw7_36`,track:`_track_1vhw7_44`,fill:`_fill_1vhw7_52`,indeterminate:`_indeterminate_1vhw7_59`,slide:`_slide_1vhw7_1`};function Oi({scene:e}){let t=(0,A.useRef)(0),n=e?.pendingAssets??null;n!=null&&n>t.current&&(t.current=n);let r=e!=null&&!e.realmConnected,i=n!=null&&t.current>0,a=i?1-n/t.current:0,o=r?`Reconnecting…`:e?.title?e.title:`Entering Decentraland`,s=r?`Reconnecting to the realm`:n!=null&&n>0?`Loading scene assets · ${n} remaining`:`Preparing your surroundings`;return(0,N.jsxs)(`div`,{className:Y.root,children:[(0,N.jsx)(`div`,{className:Y.logo}),(0,N.jsx)(`h2`,{className:Y.title,children:o}),(0,N.jsx)(`p`,{className:Y.subtitle,children:s}),(0,N.jsx)(`div`,{className:Y.track,children:(0,N.jsx)(`div`,{className:`${Y.fill}${i?``:` `+Y.indeterminate}`,style:i?{width:`${Math.round(a*100)}%`}:void 0})})]})}function ki({onStay:t,onLeave:r}){return(0,N.jsx)(e,{title:`Leave Decentraland?`,closeButton:!1,width:420,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(n,{variant:`ghost`,onClick:t,children:`Stay`}),(0,N.jsx)(n,{variant:`primary`,onClick:r,children:`Leave`})]}),actionsEqual:!0,children:`You're about to exit the world and go back. You'll have to reconnect to return.`})}function Ai(e,t){let n=!1,r=e=>{n||(n=!0,e())};return g(e=>(0,N.jsx)(ki,{onStay:e,onLeave:()=>{r(t),e()}}),{onClose:()=>r(e)})}function ji(e){let[t,n]=(0,A.useState)(!1),r=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{if(!e)return;r.current=!1;let t=e=>{r.current||(e.preventDefault(),e.returnValue=``)},i=()=>{r.current||(window.history.pushState(null,``,window.location.href),n(!0))};return window.history.pushState(null,``,window.location.href),window.addEventListener(`beforeunload`,t),window.addEventListener(`popstate`,i),()=>{window.removeEventListener(`beforeunload`,t),window.removeEventListener(`popstate`,i)}},[e]),{confirming:t,stay:(0,A.useCallback)(()=>n(!1),[]),leave:(0,A.useCallback)(()=>{n(!1),r.current=!0,window.history.go(-2)},[])}}var Mi=1080,Ni=.6,Pi=1.3,Fi=new URLSearchParams(location.search).get(`native`)===`1`;function Ii(){(0,A.useEffect)(()=>{let e=-1,t=()=>{let t=window.__nativeUiHeight,n=typeof t==`number`&&t>0?t:window.innerHeight,r=Math.min(Pi,Math.max(Ni,n/Mi));r!==e&&(e=r,document.documentElement.style.setProperty(`--ui-scale`,r.toFixed(3)))};t(),window.addEventListener(`resize`,t);let n=Fi?window.setInterval(t,500):0;return()=>{window.removeEventListener(`resize`,t),n&&window.clearInterval(n)}},[])}var Li=/Android|iPhone|iPad|iPod|webOS|BlackBerry|Opera Mini|IEMobile|Windows Phone/i;function Ri(){return/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function zi(){return typeof navigator>`u`?!1:Li.test(navigator.userAgent)||Ri()}function Bi(){return typeof navigator>`u`?!0:/Chrome\//.test(navigator.userAgent)}function Vi(){return typeof document>`u`?!1:document.cookie.split(`;`).some(e=>e.trim().startsWith(`bypass_browser_check=`))}function Hi(){let e=navigator.userAgent;return/iPad|iPhone|iPod/.test(e)||Ri()?`ios`:/Android/i.test(e)?`android`:`other`}var Ui=5e3;async function Wi(){let e=navigator.gpu;if(e==null)return!1;let t;try{let n=await Promise.race([e.requestAdapter(),new Promise(e=>{t=setTimeout(()=>e(`timeout`),Ui)})]);return n===`timeout`?!0:n!=null}catch{return!1}finally{t!=null&&clearTimeout(t)}}var X={root:`_root_3vjgt_1`,card:`_card_3vjgt_13`,logo:`_logo_3vjgt_21`,title:`_title_3vjgt_26`,subtitle:`_subtitle_3vjgt_32`,buttons:`_buttons_3vjgt_38`,store:`_store_3vjgt_45`,steps:`_steps_3vjgt_66`,stepHint:`_stepHint_3vjgt_76`,flag:`_flag_3vjgt_82`,flagText:`_flagText_3vjgt_91`,copy:`_copy_3vjgt_102`,tryAnyway:`_tryAnyway_3vjgt_121`},Gi=`https://testflight.apple.com/join/KF4r3jlU`,Ki=`https://play.google.com/store/apps/details?id=org.decentraland.godotexplorer`,qi=`https://www.google.com/chrome/`;function Ji(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z`})})}function Yi(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z`})})}function Xi(){return(0,N.jsxs)(`svg`,{viewBox:`0 0 48 48`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsxs)(`defs`,{children:[(0,N.jsxs)(`linearGradient`,{id:`cg-a`,x1:`3.2173`,y1:`15`,x2:`44.7812`,y2:`15`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#d93025`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#ea4335`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-b`,x1:`20.7219`,y1:`47.6791`,x2:`41.5039`,y2:`11.6837`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#fcc934`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#fbbc04`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-c`,x1:`26.5981`,y1:`46.5015`,x2:`5.8161`,y2:`10.506`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#1e8e3e`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#34a853`})]})]}),(0,N.jsx)(`circle`,{cx:`24`,cy:`23.9947`,r:`12`,fill:`#fff`}),(0,N.jsx)(`path`,{d:`M24,12H44.7812a23.9939,23.9939,0,0,0-41.5639.0029L13.6079,30l.0093-.0024A11.9852,11.9852,0,0,1,24,12Z`,fill:`url(#cg-a)`}),(0,N.jsx)(`circle`,{cx:`24`,cy:`24`,r:`9.5`,fill:`#1a73e8`}),(0,N.jsx)(`path`,{d:`M34.3913,30.0029,24.0007,48A23.994,23.994,0,0,0,44.78,12.0031H23.9989l-.0025.0093A11.985,11.985,0,0,1,34.3913,30.0029Z`,fill:`url(#cg-b)`}),(0,N.jsx)(`path`,{d:`M13.6086,30.0031,3.218,12.006A23.994,23.994,0,0,0,24.0025,48L34.3931,30.0029l-.0067-.0068a11.9852,11.9852,0,0,1-20.7778.007Z`,fill:`url(#cg-c)`})]})}function Zi(){document.cookie=`bypass_browser_check=1;path=/;max-age=2592000`,location.reload()}function Qi({hint:e,target:t}){let[n,r]=(0,A.useState)(!1);return(0,A.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1200);return()=>clearTimeout(e)},[n]),(0,N.jsxs)(`li`,{children:[(0,N.jsx)(`span`,{className:X.stepHint,children:e}),(0,N.jsxs)(`div`,{className:X.flag,children:[(0,N.jsx)(`code`,{className:X.flagText,children:t}),(0,N.jsx)(`button`,{type:`button`,className:X.copy,onClick:()=>{navigator.clipboard?.writeText(t).then(()=>r(!0),()=>{})},title:`Copy`,"aria-label":`Copy`,children:n?(0,N.jsx)(v,{size:15}):(0,N.jsx)(d,{size:15})})]})]})}function $i(){return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsx)(_,{})})}function ea({reason:e=`mobile`}){if(e===`gpu`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Enable GPU acceleration`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web renders in 3D with `,(0,N.jsx)(`strong`,{children:`WebGPU`}),`, which needs a working GPU. Your browser has it turned off or can’t reach a supported GPU. In Chrome, paste each of these into a new tab (they can’t be opened by clicking), switch it on, then relaunch:`]}),(0,N.jsxs)(`ol`,{className:X.steps,children:[(0,N.jsx)(Qi,{hint:`Turn on “Use graphics acceleration when available”`,target:`chrome://settings/system`}),(0,N.jsx)(Qi,{hint:`Set “Unsafe WebGPU Support” to Enabled`,target:`chrome://flags/#enable-unsafe-webgpu`})]}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:Zi,children:`try anyway…`})]})});if(e===`browser`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Browser Not Supported`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web requires `,(0,N.jsx)(`strong`,{children:`Google Chrome`}),` on desktop to run.`]}),(0,N.jsx)(`div`,{className:X.buttons,children:(0,N.jsxs)(n,{variant:`secondary`,href:qi,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Xi,{}),(0,N.jsx)(`span`,{children:`Download Chrome`})]})}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:Zi,children:`try anyway…`})]})});let t=Hi(),r=t===`ios`||t===`other`,i=t===`android`||t===`other`;return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Decentraland`}),(0,N.jsx)(`p`,{className:X.subtitle,children:`This experience isn’t available on mobile browsers. Download the app to explore:`}),(0,N.jsxs)(`div`,{className:X.buttons,children:[r&&(0,N.jsxs)(n,{variant:`secondary`,href:Gi,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Ji,{}),(0,N.jsx)(`span`,{children:`Install from App Store`})]}),i&&(0,N.jsxs)(n,{variant:`secondary`,href:Ki,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Yi,{}),(0,N.jsx)(`span`,{children:`Install from Google Play`})]})]})]})})}var Z={layer:`_layer_1orcz_7`,head:`_head_1orcz_18`,title:`_title_1orcz_25`,lead:`_lead_1orcz_33`,params:`_params_1orcz_39`,paramValue:`_paramValue_1orcz_46`,paramDesc:`_paramDesc_1orcz_51`,advanced:`_advanced_1orcz_58`,advancedNote:`_advancedNote_1orcz_67`,exit:`_exit_1orcz_73`,proceed:`_proceed_1orcz_87`};function ta(){window.close(),window.location.replace(`https://decentraland.org`)}var na=`This Launch Link Is Not Trusted`;function ra({systemScene:t,onProceed:r}){let[i,a]=(0,A.useState)(!1);return(0,N.jsx)(`div`,{className:Z.layer,children:(0,N.jsxs)(e,{role:`alertdialog`,ariaLabel:na,width:560,closeButton:!1,header:(0,N.jsxs)(`div`,{className:Z.head,children:[(0,N.jsx)(te,{size:72}),(0,N.jsx)(`h2`,{className:Z.title,children:na})]}),actionsDirection:`column`,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(n,{autoFocus:!0,variant:`primary`,className:Z.exit,onClick:ta,children:`Exit Application`}),i?(0,N.jsxs)(`div`,{className:Z.advanced,children:[(0,N.jsx)(`p`,{className:Z.advancedNote,children:`Continuing hands this address full control of your session for as long as this tab is open. Only do this if you recognise it as your own.`}),(0,N.jsx)(n,{variant:`ghost`,className:Z.proceed,onClick:r,children:`Continue anyway`})]}):(0,N.jsx)(n,{variant:`secondary`,onClick:()=>a(!0),children:`Advanced`})]}),children:[(0,N.jsx)(`p`,{className:Z.lead,children:`Someone may be trying to change how your Explorer behaves.`}),(0,N.jsx)(`p`,{className:Z.lead,children:`This link carries a parameter the Explorer does not accept from links, because it replaces the interface with code that runs as you:`}),(0,N.jsxs)(`dl`,{className:Z.params,children:[(0,N.jsxs)(`dt`,{children:[`systemScene = `,(0,N.jsx)(`span`,{className:Z.paramValue,children:t})]}),(0,N.jsx)(`dd`,{className:Z.paramDesc,children:`Replaces the Explorer's interface with a scene loaded from this address. It can move your avatar, change your profile, and answer permission prompts on your behalf.`})]}),(0,N.jsx)(`p`,{className:Z.lead,children:`Unless you built this link yourself, the safe choice is to exit.`})]})})}var ia=ae(),Q={scrim:`_scrim_1hq83_5`,fadeIn:`_fadeIn_1hq83_1`,pop:`_pop_1hq83_27`,popIn:`_popIn_1hq83_1`,head:`_head_1hq83_53`,title:`_title_1hq83_57`,subtitle:`_subtitle_1hq83_63`,btn:`_btn_1hq83_70`,detail:`_detail_1hq83_75`},aa={launch:{title:`Something went wrong`,subtitle:`The 3D engine couldn't start. Reloading often fixes it.`},runtime:{title:`The world crashed`,subtitle:`The 3D engine stopped unexpectedly.`},react:{title:`Something went wrong`,subtitle:`The app hit an unexpected error.`}};function oa({error:t,onReload:r,onDismiss:i}){let{title:a,subtitle:o}=aa[t.source],c=(0,A.useRef)(null);return(0,A.useEffect)(s,[]),f(c,!0),(0,ia.createPortal)((0,N.jsx)(`div`,{ref:c,className:Q.scrim,tabIndex:-1,onClick:i??void 0,children:(0,N.jsx)(`div`,{className:Q.pop,children:(0,N.jsx)(e,{header:(0,N.jsxs)(`div`,{className:Q.head,children:[(0,N.jsx)(`h2`,{className:Q.title,children:a}),(0,N.jsx)(`p`,{className:Q.subtitle,children:o})]}),role:`alertdialog`,ariaLabel:a,closeButton:!1,actionsAlign:`center`,actions:(0,N.jsxs)(N.Fragment,{children:[i&&(0,N.jsx)(n,{variant:`ghost`,className:Q.btn,onClick:i,children:`Dismiss`}),(0,N.jsx)(n,{variant:`primary`,className:Q.btn,onClick:r,children:`Reload`})]}),children:(0,N.jsx)(`pre`,{className:Q.detail,children:t.message})})})}),document.body)}var sa=class extends A.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){console.error(`[react error boundary]`,e)}render(){let{error:e}=this.state;return e?(0,N.jsx)(oa,{error:{message:e.stack??e.message,source:`react`},onReload:()=>location.reload()}):this.props.children}},ca={head:`_head_qzuz3_4`,title:`_title_qzuz3_8`,subtitle:`_subtitle_qzuz3_14`,btn:`_btn_qzuz3_21`};function la(t){let r=!1,i=g(r=>(0,N.jsx)(e,{header:(0,N.jsxs)(`div`,{className:ca.head,children:[(0,N.jsx)(`h2`,{className:ca.title,children:`World not found`}),(0,N.jsx)(`p`,{className:ca.subtitle,children:t.message})]}),role:`alertdialog`,ariaLabel:`World not found`,closeButton:!1,actionsAlign:`center`,actions:(0,N.jsx)(n,{variant:`primary`,className:ca.btn,onClick:r,children:`OK`}),children:null}),{onClose:()=>{r||(r=!0,t.onDismiss())}});return()=>{r=!0,i()}}var ua=`modulepreload`,da=function(e){return`https://cdn.decentraland.org/@dcl-regenesislabs/bevy-explorer-web/0.1.0-33091834446.commit-52f5262/`+e},fa={},pa=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=da(t,n),t=s(t),t in fa)return;fa[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:ua,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ma=(0,A.lazy)(()=>pa(()=>import(`./Showcase-wslmi40y.js`).then(e=>({default:e.Showcase})),__vite__mapDeps([0,1,2,3,4,5]))),$=new URLSearchParams(location.search),ha=$.get(`mock`)===`1`?`mock`:$.get(`native`)===`1`?`native`:`engine`,ga=$.get(`showcase`)===`1`,_a=C().hideHud;function va(){return ha===`native`||$.get(`nogate`)===`1`?null:zi()||$.get(`gate`)===`1`?`mobile`:$.get(`gate`)===`browser`?`browser`:$.get(`gate`)===`gpu`?`gpu`:!Bi()&&!Vi()?`browser`:null}var ya=va(),ba=C().systemScene,xa=ba!=null&&!le(ba)?ba:null;function Sa(){Ii();let e=Ca(),t=wa(ya!=null||ha===`mock`||ha===`native`||ga),[n,r]=(0,A.useState)(!1);return xa!=null&&!n?(0,N.jsx)(ra,{systemScene:xa,onProceed:()=>r(!0)}):ya?(0,N.jsx)(ea,{reason:ya}):t===`checking`?(0,N.jsx)($i,{}):t===`blocked`?(0,N.jsx)(ea,{reason:`gpu`}):(0,N.jsxs)(sa,{children:[ga?(0,N.jsx)(A.Suspense,{fallback:null,children:(0,N.jsx)(ma,{})}):(0,N.jsx)(Ta,{}),e&&(0,N.jsx)(vi,{})]})}function Ca(){let[e,t]=(0,A.useState)($.get(`fps`)===`1`);return ve(e=>{(e.ctrlKey||e.metaKey)&&e.shiftKey&&(e.key===`F`||e.key===`f`)&&(e.preventDefault(),t(e=>!e))}),e}function wa(e){let[t,n]=(0,A.useState)(e?`ok`:`checking`);return(0,A.useEffect)(()=>{if(e)return;if($.get(`nogate`)===`1`||Vi()){n(`ok`);return}let t=!1;return Wi().then(e=>{t||n(e?`ok`:`blocked`)}),()=>{t=!0}},[e]),t}function Ta(){let{rpc:e,createDriver:t}=(0,A.useMemo)(()=>{if(ha===`mock`)return dt(),{rpc:null,createDriver:()=>new Je};if(ha===`native`)return{rpc:null,createDriver:()=>new Je};let e=new Ze;return{rpc:e,createDriver:()=>new Xe(e)}},[]),n=ke(t),r=ji(n.phase===`entering`||n.phase===`world`);(0,A.useEffect)(()=>{if(r.confirming)return Ai(r.stay,r.leave)},[r.confirming,r.stay,r.leave]);let i=n.fatalError?.source===`realm`?n.fatalError.message:null;(0,A.useEffect)(()=>{if(i!=null)return la({message:i,onDismiss:n.dismissFatal})},[i]);let a=n.fatalError!=null&&n.fatalError.source!==`realm`?{message:n.fatalError.message,source:n.fatalError.source}:null,o=n.phase===`world`?n.permissions.pending[0]?.id:void 0;(0,A.useEffect)(()=>{let e=n.permissions.pending[0];if(!(o==null||!e))return gi(e,n.permissions.resolve)},[o]);let[s,c]=(0,A.useState)(`wearables`);(0,A.useEffect)(()=>{n.backpack.open||c(`wearables`)},[n.backpack.open]);let l=()=>{let e=n.profile.data;e&&S(e.address)},u=e=>{e===`settings`?n.settings.toggle():e===`backpack`?n.backpack.toggle():e===`communities`?n.communities.toggle():e===`map`?n.map.toggle():e===`places`?n.places.toggle():e===`gallery`?n.gallery.toggle():e===`profile`?l():e===`signout`&&n.logout()},d=n.settings.open||n.backpack.open||n.communities.open||n.map.open||n.places.open||n.gallery.open;return _a?(0,N.jsxs)(oe,{value:n,children:[e&&(0,N.jsx)(ce,{rpc:e}),(0,N.jsx)(y,{}),a&&(0,N.jsx)(oa,{error:a,onReload:n.reload,onDismiss:a.source===`runtime`?n.dismissFatal:void 0})]}):(0,N.jsxs)(oe,{value:n,children:[e&&(0,N.jsx)(ce,{rpc:e}),n.phase===`login`&&(0,N.jsx)(Ei,{flow:n.login}),n.phase===`picking`&&(0,N.jsx)(Ae,{onPick:n.pickDestination}),n.phase===`entering`&&(0,N.jsx)(Oi,{scene:n.sceneLoading}),n.phase===`world`&&!n.menuOpen&&(0,N.jsxs)(N.Fragment,{children:[!d&&(0,N.jsx)(dr,{session:n,onViewProfile:l}),!d&&(0,N.jsx)($r,{minimap:n.minimap,map:n.map,sceneTitle:n.minimap.sceneTitle,setEngineViewport:n.setEngineViewport}),!d&&(0,N.jsx)(di,{hover:n.hover,locked:n.cursorLocked,proximity:n.proximity}),(0,N.jsx)(Ht,{chat:n.chat,hidden:n.friends.open||d,me:n.profile.data,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>be({worldName:e,onConfirm:()=>n.map.changeRealm(e)})}),(0,N.jsx)(en,{friends:n.friends}),(0,N.jsx)(Pn,{settings:n.settings,bindings:n.bindings,profile:n.profile,onNavigate:u}),(0,N.jsx)(Fn,{profile:n.profile}),(0,N.jsx)(Wn,{notifications:n.notifications}),(0,N.jsx)(or,{emotes:n.emotes,onCustomise:()=>{c(`emotes`),n.backpack.toggle()}}),(0,N.jsx)(Ie,{backpack:n.backpack,emotes:n.emotes,profile:n.profile,onNavigate:u,setEngineViewport:n.setEngineViewport,initialTab:s}),(0,N.jsx)(ge,{communities:n.communities,profile:n.profile,onNavigate:u}),(0,N.jsx)(Fe,{map:n.map,profile:n.profile,onNavigate:u}),(0,N.jsx)(Ne,{places:n.places,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>n.map.changeRealm(e)}),(0,N.jsx)(Pe,{gallery:n.gallery,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onViewProfile:e=>S(e.address)})]}),(0,N.jsx)(y,{}),a&&(0,N.jsx)(oa,{error:a,onReload:n.reload,onDismiss:a.source===`runtime`?n.dismissFatal:void 0})]})}var Ea=`coi_sw_reloaded`;function Da(){`serviceWorker`in navigator&&(location.pathname.endsWith(`/`)||history.replaceState(history.state,``,`${location.pathname}/${location.search}${location.hash}`),navigator.serviceWorker.register(new URL(`service_worker.js`,fe)).then(e=>{if(navigator.serviceWorker.controller){sessionStorage.removeItem(Ea);return}let t=()=>{sessionStorage.getItem(Ea)?(sessionStorage.removeItem(Ea),console.error(`[coi] service worker failed to take control after reload`)):(sessionStorage.setItem(Ea,`true`),window.location.reload())};if(e.active){t();return}let n=e.installing??e.waiting;n?.addEventListener(`statechange`,()=>{n.state===`activated`&&t()})}).catch(e=>console.log(`[coi] service worker registration failed:`,e)))}function Oa(){let e=window.cef;if(!e?.emit||!e?.listen)return;let t=new BroadcastChannel(me());t.onmessage=t=>{let n=t.data;n?.to===`scene`&&e.emit(n)},e.listen(`bridge`,e=>{try{t.postMessage(typeof e==`string`?JSON.parse(e):e)}catch{}}),e.listen(`engineFps`,e=>{window.__nativeEngineFps=Number(e)}),e.listen(`uiHeight`,e=>{window.__nativeUiHeight=Number(e),window.dispatchEvent(new Event(`resize`))}),e.listen(`engineTextFocus`,e=>{window.__engineTextFocus=e===`true`})}var ka=/^(localhost|127(\.\d{1,3}){3}|\[::1\])$/i,Aa=/^(10|192\.168|172\.(1[6-9]|2\d|3[01])|169\.254)(\.\d{1,3}){1,3}$/;function ja(e){let t;try{t=new URL(e,location.href).hostname}catch{return null}return ka.test(t)?`loopback`:Aa.test(t)||t.toLowerCase().endsWith(`.local`)?`local`:null}function Ma(){let e=window.fetch.bind(window);window.fetch=function(t,n){let r=ja(t instanceof Request?t.url:String(t));if(r==null||n!=null&&`targetAddressSpace`in n)return e(t,n);let i={...n,targetAddressSpace:r};return e(t,i)}}if(Ma(),new URLSearchParams(location.search).get(`native`)===`1`){document.documentElement.style.background=`transparent`,document.body.style.background=`transparent`,window.addEventListener(`contextmenu`,e=>e.preventDefault()),Oa();try{Object.defineProperty(document,"visibilityState",{get:()=>`visible`,configurable:!0}),Object.defineProperty(document,"hidden",{get:()=>!1,configurable:!0}),document.dispatchEvent(new Event(`visibilitychange`))}catch{}}else Da();(0,qe.createRoot)(document.getElementById(`root`)).render((0,N.jsx)(A.StrictMode,{children:(0,N.jsx)(Sa,{})}));export{Bt as i,zt as n,Lt as r,nr as t};
|
|
5
|
+
creators & explorers.`},"reuse-login-or-new":{title:`Welcome back!`,subtitle:`Ready to explore?`}};function Ei({flow:e}){(0,A.useEffect)(()=>{De()},[]);let t=e.status===`reuse-login-or-new`,n=Ci(t&&e.account!=null?e.account:void 0);return(0,N.jsx)(`div`,{className:J.root,children:e.status===`loading`?(0,N.jsx)(`div`,{className:J.loading,children:(0,N.jsx)(`div`,{className:J.spinnerLogo})}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:J.watermark}),(0,N.jsx)(Di,{flow:e,name:n.name}),t&&n.body!=null&&(0,N.jsx)(wi,{body:n.body}),(0,N.jsx)(bi,{flow:e})]})})}function Di({flow:e,name:t}){let r=e.status,i=Ti[r],a=r===`reuse-login-or-new`&&t!=null&&t!==``?`Welcome back ${t}`:i.title,o=!e.engineReady;return(0,N.jsxs)(`div`,{className:J.panel,children:[(0,N.jsx)(`div`,{className:J.logo}),(0,N.jsx)(`h1`,{className:J.title,children:a}),i.subtitle&&(0,N.jsx)(`p`,{className:J.subtitle,children:i.subtitle}),e.error&&(0,N.jsx)(`p`,{className:J.error,children:e.error}),(0,N.jsxs)(`div`,{className:J.buttons,children:[e.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`p`,{className:J.authHint,children:e.authCode==null?`Opening the sign-in page in your browser…`:`Verify this code matches the one in the browser window we just opened:`}),e.authCode!=null&&(0,N.jsx)(`div`,{className:J.authCode,children:e.authCode}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.cancelLogin,children:(0,N.jsx)(`span`,{className:J.label,children:`CANCEL`})})]}),r===`sign-in-or-guest`&&!e.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(n,{variant:`primary`,size:`lg`,className:J.cta,onClick:e.startWithAccount,disabled:e.busy,children:[(0,N.jsx)(`span`,{className:J.label,children:`START WITH ACCOUNT`}),(0,N.jsx)(Si,{})]}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.exploreAsGuest,disabled:e.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:o?xi(e):`EXPLORE AS GUEST`})})]}),r===`reuse-login-or-new`&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(n,{variant:`primary`,size:`lg`,className:J.cta,onClick:e.jumpIn,disabled:e.busy||o,children:[(0,N.jsx)(`span`,{className:J.label,children:o?xi(e):e.profileFetchFailed?`TRY AGAIN`:`JUMP INTO DECENTRALAND`}),!o&&(0,N.jsx)(Si,{})]}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:e.useDifferentAccount,disabled:e.busy,children:(0,N.jsx)(`span`,{className:J.label,children:`USE A DIFFERENT ACCOUNT`})}),e.profileFetchFailed&&(0,N.jsxs)(`div`,{className:J.resetBox,children:[(0,N.jsx)(`p`,{className:J.resetText,children:`If the problem persists you can continue with a fresh default profile. This permanently replaces your account's current avatar and profile.`}),(0,N.jsx)(n,{variant:`secondary`,size:`lg`,className:`${J.ctaSecondary} ${J.ctaDanger}`,onClick:e.resetProfileAndJumpIn,disabled:e.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:`RESET PROFILE & JUMP IN`})})]})]})]})]})}var Y={root:`_root_1vhw7_1`,"fade-in":`_fade-in_1vhw7_1`,logo:`_logo_1vhw7_24`,title:`_title_1vhw7_30`,subtitle:`_subtitle_1vhw7_36`,track:`_track_1vhw7_44`,fill:`_fill_1vhw7_52`,indeterminate:`_indeterminate_1vhw7_59`,slide:`_slide_1vhw7_1`};function Oi({scene:e}){let t=(0,A.useRef)(0),n=e?.pendingAssets??null;n!=null&&n>t.current&&(t.current=n);let r=e!=null&&!e.realmConnected,i=n!=null&&t.current>0,a=i?1-n/t.current:0,o=r?`Reconnecting…`:e?.title?e.title:`Entering Decentraland`,s=r?`Reconnecting to the realm`:n!=null&&n>0?`Loading scene assets · ${n} remaining`:`Preparing your surroundings`;return(0,N.jsxs)(`div`,{className:Y.root,children:[(0,N.jsx)(`div`,{className:Y.logo}),(0,N.jsx)(`h2`,{className:Y.title,children:o}),(0,N.jsx)(`p`,{className:Y.subtitle,children:s}),(0,N.jsx)(`div`,{className:Y.track,children:(0,N.jsx)(`div`,{className:`${Y.fill}${i?``:` `+Y.indeterminate}`,style:i?{width:`${Math.round(a*100)}%`}:void 0})})]})}function ki({onStay:t,onLeave:r}){return(0,N.jsx)(e,{title:`Leave Decentraland?`,closeButton:!1,width:420,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(n,{variant:`ghost`,onClick:t,children:`Stay`}),(0,N.jsx)(n,{variant:`primary`,onClick:r,children:`Leave`})]}),actionsEqual:!0,children:`You're about to exit the world and go back. You'll have to reconnect to return.`})}function Ai(e,t){let n=!1,r=e=>{n||(n=!0,e())};return g(e=>(0,N.jsx)(ki,{onStay:e,onLeave:()=>{r(t),e()}}),{onClose:()=>r(e)})}function ji(e){let[t,n]=(0,A.useState)(!1),r=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{if(!e)return;r.current=!1;let t=e=>{r.current||(e.preventDefault(),e.returnValue=``)},i=()=>{r.current||(window.history.pushState(null,``,window.location.href),n(!0))};return window.history.pushState(null,``,window.location.href),window.addEventListener(`beforeunload`,t),window.addEventListener(`popstate`,i),()=>{window.removeEventListener(`beforeunload`,t),window.removeEventListener(`popstate`,i)}},[e]),{confirming:t,stay:(0,A.useCallback)(()=>n(!1),[]),leave:(0,A.useCallback)(()=>{n(!1),r.current=!0,window.history.go(-2)},[])}}var Mi=1080,Ni=.6,Pi=1.3,Fi=new URLSearchParams(location.search).get(`native`)===`1`;function Ii(){(0,A.useEffect)(()=>{let e=-1,t=()=>{let t=window.__nativeUiHeight,n=typeof t==`number`&&t>0?t:window.innerHeight,r=Math.min(Pi,Math.max(Ni,n/Mi));r!==e&&(e=r,document.documentElement.style.setProperty(`--ui-scale`,r.toFixed(3)))};t(),window.addEventListener(`resize`,t);let n=Fi?window.setInterval(t,500):0;return()=>{window.removeEventListener(`resize`,t),n&&window.clearInterval(n)}},[])}var Li=/Android|iPhone|iPad|iPod|webOS|BlackBerry|Opera Mini|IEMobile|Windows Phone/i;function Ri(){return/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function zi(){return typeof navigator>`u`?!1:Li.test(navigator.userAgent)||Ri()}function Bi(){return typeof navigator>`u`?!0:/Chrome\//.test(navigator.userAgent)}function Vi(){return typeof document>`u`?!1:document.cookie.split(`;`).some(e=>e.trim().startsWith(`bypass_browser_check=`))}function Hi(){let e=navigator.userAgent;return/iPad|iPhone|iPod/.test(e)||Ri()?`ios`:/Android/i.test(e)?`android`:`other`}var Ui=5e3;async function Wi(){let e=navigator.gpu;if(e==null)return!1;let t;try{let n=await Promise.race([e.requestAdapter(),new Promise(e=>{t=setTimeout(()=>e(`timeout`),Ui)})]);return n===`timeout`?!0:n!=null}catch{return!1}finally{t!=null&&clearTimeout(t)}}var X={root:`_root_3vjgt_1`,card:`_card_3vjgt_13`,logo:`_logo_3vjgt_21`,title:`_title_3vjgt_26`,subtitle:`_subtitle_3vjgt_32`,buttons:`_buttons_3vjgt_38`,store:`_store_3vjgt_45`,steps:`_steps_3vjgt_66`,stepHint:`_stepHint_3vjgt_76`,flag:`_flag_3vjgt_82`,flagText:`_flagText_3vjgt_91`,copy:`_copy_3vjgt_102`,tryAnyway:`_tryAnyway_3vjgt_121`},Gi=`https://testflight.apple.com/join/KF4r3jlU`,Ki=`https://play.google.com/store/apps/details?id=org.decentraland.godotexplorer`,qi=`https://www.google.com/chrome/`;function Ji(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z`})})}function Yi(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z`})})}function Xi(){return(0,N.jsxs)(`svg`,{viewBox:`0 0 48 48`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsxs)(`defs`,{children:[(0,N.jsxs)(`linearGradient`,{id:`cg-a`,x1:`3.2173`,y1:`15`,x2:`44.7812`,y2:`15`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#d93025`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#ea4335`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-b`,x1:`20.7219`,y1:`47.6791`,x2:`41.5039`,y2:`11.6837`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#fcc934`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#fbbc04`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-c`,x1:`26.5981`,y1:`46.5015`,x2:`5.8161`,y2:`10.506`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#1e8e3e`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#34a853`})]})]}),(0,N.jsx)(`circle`,{cx:`24`,cy:`23.9947`,r:`12`,fill:`#fff`}),(0,N.jsx)(`path`,{d:`M24,12H44.7812a23.9939,23.9939,0,0,0-41.5639.0029L13.6079,30l.0093-.0024A11.9852,11.9852,0,0,1,24,12Z`,fill:`url(#cg-a)`}),(0,N.jsx)(`circle`,{cx:`24`,cy:`24`,r:`9.5`,fill:`#1a73e8`}),(0,N.jsx)(`path`,{d:`M34.3913,30.0029,24.0007,48A23.994,23.994,0,0,0,44.78,12.0031H23.9989l-.0025.0093A11.985,11.985,0,0,1,34.3913,30.0029Z`,fill:`url(#cg-b)`}),(0,N.jsx)(`path`,{d:`M13.6086,30.0031,3.218,12.006A23.994,23.994,0,0,0,24.0025,48L34.3931,30.0029l-.0067-.0068a11.9852,11.9852,0,0,1-20.7778.007Z`,fill:`url(#cg-c)`})]})}function Zi(){document.cookie=`bypass_browser_check=1;path=/;max-age=2592000`,location.reload()}function Qi({hint:e,target:t}){let[n,r]=(0,A.useState)(!1);return(0,A.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1200);return()=>clearTimeout(e)},[n]),(0,N.jsxs)(`li`,{children:[(0,N.jsx)(`span`,{className:X.stepHint,children:e}),(0,N.jsxs)(`div`,{className:X.flag,children:[(0,N.jsx)(`code`,{className:X.flagText,children:t}),(0,N.jsx)(`button`,{type:`button`,className:X.copy,onClick:()=>{navigator.clipboard?.writeText(t).then(()=>r(!0),()=>{})},title:`Copy`,"aria-label":`Copy`,children:n?(0,N.jsx)(v,{size:15}):(0,N.jsx)(d,{size:15})})]})]})}function $i(){return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsx)(_,{})})}function ea({reason:e=`mobile`}){if(e===`gpu`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Enable GPU acceleration`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web renders in 3D with `,(0,N.jsx)(`strong`,{children:`WebGPU`}),`, which needs a working GPU. Your browser has it turned off or can’t reach a supported GPU. In Chrome, paste each of these into a new tab (they can’t be opened by clicking), switch it on, then relaunch:`]}),(0,N.jsxs)(`ol`,{className:X.steps,children:[(0,N.jsx)(Qi,{hint:`Turn on “Use graphics acceleration when available”`,target:`chrome://settings/system`}),(0,N.jsx)(Qi,{hint:`Set “Unsafe WebGPU Support” to Enabled`,target:`chrome://flags/#enable-unsafe-webgpu`})]}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:Zi,children:`try anyway…`})]})});if(e===`browser`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Browser Not Supported`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web requires `,(0,N.jsx)(`strong`,{children:`Google Chrome`}),` on desktop to run.`]}),(0,N.jsx)(`div`,{className:X.buttons,children:(0,N.jsxs)(n,{variant:`secondary`,href:qi,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Xi,{}),(0,N.jsx)(`span`,{children:`Download Chrome`})]})}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:Zi,children:`try anyway…`})]})});let t=Hi(),r=t===`ios`||t===`other`,i=t===`android`||t===`other`;return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:Be(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Decentraland`}),(0,N.jsx)(`p`,{className:X.subtitle,children:`This experience isn’t available on mobile browsers. Download the app to explore:`}),(0,N.jsxs)(`div`,{className:X.buttons,children:[r&&(0,N.jsxs)(n,{variant:`secondary`,href:Gi,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Ji,{}),(0,N.jsx)(`span`,{children:`Install from App Store`})]}),i&&(0,N.jsxs)(n,{variant:`secondary`,href:Ki,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(Yi,{}),(0,N.jsx)(`span`,{children:`Install from Google Play`})]})]})]})})}var Z={layer:`_layer_1orcz_7`,head:`_head_1orcz_18`,title:`_title_1orcz_25`,lead:`_lead_1orcz_33`,params:`_params_1orcz_39`,paramValue:`_paramValue_1orcz_46`,paramDesc:`_paramDesc_1orcz_51`,advanced:`_advanced_1orcz_58`,advancedNote:`_advancedNote_1orcz_67`,exit:`_exit_1orcz_73`,proceed:`_proceed_1orcz_87`};function ta(){window.close(),window.location.replace(`https://decentraland.org`)}var na=`This Launch Link Is Not Trusted`;function ra({systemScene:t,onProceed:r}){let[i,a]=(0,A.useState)(!1);return(0,N.jsx)(`div`,{className:Z.layer,children:(0,N.jsxs)(e,{role:`alertdialog`,ariaLabel:na,width:560,closeButton:!1,header:(0,N.jsxs)(`div`,{className:Z.head,children:[(0,N.jsx)(te,{size:72}),(0,N.jsx)(`h2`,{className:Z.title,children:na})]}),actionsDirection:`column`,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(n,{autoFocus:!0,variant:`primary`,className:Z.exit,onClick:ta,children:`Exit Application`}),i?(0,N.jsxs)(`div`,{className:Z.advanced,children:[(0,N.jsx)(`p`,{className:Z.advancedNote,children:`Continuing hands this address full control of your session for as long as this tab is open. Only do this if you recognise it as your own.`}),(0,N.jsx)(n,{variant:`ghost`,className:Z.proceed,onClick:r,children:`Continue anyway`})]}):(0,N.jsx)(n,{variant:`secondary`,onClick:()=>a(!0),children:`Advanced`})]}),children:[(0,N.jsx)(`p`,{className:Z.lead,children:`Someone may be trying to change how your Explorer behaves.`}),(0,N.jsx)(`p`,{className:Z.lead,children:`This link carries a parameter the Explorer does not accept from links, because it replaces the interface with code that runs as you:`}),(0,N.jsxs)(`dl`,{className:Z.params,children:[(0,N.jsxs)(`dt`,{children:[`systemScene = `,(0,N.jsx)(`span`,{className:Z.paramValue,children:t})]}),(0,N.jsx)(`dd`,{className:Z.paramDesc,children:`Replaces the Explorer's interface with a scene loaded from this address. It can move your avatar, change your profile, and answer permission prompts on your behalf.`})]}),(0,N.jsx)(`p`,{className:Z.lead,children:`Unless you built this link yourself, the safe choice is to exit.`})]})})}var ia=ae(),Q={scrim:`_scrim_1hq83_5`,fadeIn:`_fadeIn_1hq83_1`,pop:`_pop_1hq83_27`,popIn:`_popIn_1hq83_1`,head:`_head_1hq83_53`,title:`_title_1hq83_57`,subtitle:`_subtitle_1hq83_63`,btn:`_btn_1hq83_70`,detail:`_detail_1hq83_75`},aa={launch:{title:`Something went wrong`,subtitle:`The 3D engine couldn't start. Reloading often fixes it.`},runtime:{title:`The world crashed`,subtitle:`The 3D engine stopped unexpectedly.`},react:{title:`Something went wrong`,subtitle:`The app hit an unexpected error.`}};function oa({error:t,onReload:r,onDismiss:i}){let{title:a,subtitle:o}=aa[t.source],c=(0,A.useRef)(null);return(0,A.useEffect)(s,[]),f(c,!0),(0,ia.createPortal)((0,N.jsx)(`div`,{ref:c,className:Q.scrim,tabIndex:-1,onClick:i??void 0,children:(0,N.jsx)(`div`,{className:Q.pop,children:(0,N.jsx)(e,{header:(0,N.jsxs)(`div`,{className:Q.head,children:[(0,N.jsx)(`h2`,{className:Q.title,children:a}),(0,N.jsx)(`p`,{className:Q.subtitle,children:o})]}),role:`alertdialog`,ariaLabel:a,closeButton:!1,actionsAlign:`center`,actions:(0,N.jsxs)(N.Fragment,{children:[i&&(0,N.jsx)(n,{variant:`ghost`,className:Q.btn,onClick:i,children:`Dismiss`}),(0,N.jsx)(n,{variant:`primary`,className:Q.btn,onClick:r,children:`Reload`})]}),children:(0,N.jsx)(`pre`,{className:Q.detail,children:t.message})})})}),document.body)}var sa=class extends A.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){console.error(`[react error boundary]`,e)}render(){let{error:e}=this.state;return e?(0,N.jsx)(oa,{error:{message:e.stack??e.message,source:`react`},onReload:()=>location.reload()}):this.props.children}},ca={head:`_head_qzuz3_4`,title:`_title_qzuz3_8`,subtitle:`_subtitle_qzuz3_14`,btn:`_btn_qzuz3_21`};function la(t){let r=!1,i=g(r=>(0,N.jsx)(e,{header:(0,N.jsxs)(`div`,{className:ca.head,children:[(0,N.jsx)(`h2`,{className:ca.title,children:`World not found`}),(0,N.jsx)(`p`,{className:ca.subtitle,children:t.message})]}),role:`alertdialog`,ariaLabel:`World not found`,closeButton:!1,actionsAlign:`center`,actions:(0,N.jsx)(n,{variant:`primary`,className:ca.btn,onClick:r,children:`OK`}),children:null}),{onClose:()=>{r||(r=!0,t.onDismiss())}});return()=>{r=!0,i()}}var ua=`modulepreload`,da=function(e){return`https://cdn.decentraland.org/@dcl-regenesislabs/bevy-explorer-web/0.1.0-33099436282.commit-aab5eda/`+e},fa={},pa=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=da(t,n),t=s(t),t in fa)return;fa[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:ua,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ma=(0,A.lazy)(()=>pa(()=>import(`./Showcase-CEV7qZQs.js`).then(e=>({default:e.Showcase})),__vite__mapDeps([0,1,2,3,4,5]))),$=new URLSearchParams(location.search),ha=$.get(`mock`)===`1`?`mock`:$.get(`native`)===`1`?`native`:`engine`,ga=$.get(`showcase`)===`1`,_a=C().hideHud;function va(){return ha===`native`||$.get(`nogate`)===`1`?null:zi()||$.get(`gate`)===`1`?`mobile`:$.get(`gate`)===`browser`?`browser`:$.get(`gate`)===`gpu`?`gpu`:!Bi()&&!Vi()?`browser`:null}var ya=va(),ba=C().systemScene,xa=ba!=null&&!le(ba)?ba:null;function Sa(){Ii();let e=Ca(),t=wa(ya!=null||ha===`mock`||ha===`native`||ga),[n,r]=(0,A.useState)(!1);return xa!=null&&!n?(0,N.jsx)(ra,{systemScene:xa,onProceed:()=>r(!0)}):ya?(0,N.jsx)(ea,{reason:ya}):t===`checking`?(0,N.jsx)($i,{}):t===`blocked`?(0,N.jsx)(ea,{reason:`gpu`}):(0,N.jsxs)(sa,{children:[ga?(0,N.jsx)(A.Suspense,{fallback:null,children:(0,N.jsx)(ma,{})}):(0,N.jsx)(Ta,{}),e&&(0,N.jsx)(vi,{})]})}function Ca(){let[e,t]=(0,A.useState)($.get(`fps`)===`1`);return ve(e=>{(e.ctrlKey||e.metaKey)&&e.shiftKey&&(e.key===`F`||e.key===`f`)&&(e.preventDefault(),t(e=>!e))}),e}function wa(e){let[t,n]=(0,A.useState)(e?`ok`:`checking`);return(0,A.useEffect)(()=>{if(e)return;if($.get(`nogate`)===`1`||Vi()){n(`ok`);return}let t=!1;return Wi().then(e=>{t||n(e?`ok`:`blocked`)}),()=>{t=!0}},[e]),t}function Ta(){let{rpc:e,createDriver:t}=(0,A.useMemo)(()=>{if(ha===`mock`)return dt(),{rpc:null,createDriver:()=>new Je};if(ha===`native`)return{rpc:null,createDriver:()=>new Je};let e=new Ze;return{rpc:e,createDriver:()=>new Xe(e)}},[]),n=ke(t),r=ji(n.phase===`entering`||n.phase===`world`);(0,A.useEffect)(()=>{if(r.confirming)return Ai(r.stay,r.leave)},[r.confirming,r.stay,r.leave]);let i=n.fatalError?.source===`realm`?n.fatalError.message:null;(0,A.useEffect)(()=>{if(i!=null)return la({message:i,onDismiss:n.dismissFatal})},[i]);let a=n.fatalError!=null&&n.fatalError.source!==`realm`?{message:n.fatalError.message,source:n.fatalError.source}:null,o=n.phase===`world`?n.permissions.pending[0]?.id:void 0;(0,A.useEffect)(()=>{let e=n.permissions.pending[0];if(!(o==null||!e))return gi(e,n.permissions.resolve)},[o]);let[s,c]=(0,A.useState)(`wearables`);(0,A.useEffect)(()=>{n.backpack.open||c(`wearables`)},[n.backpack.open]);let l=()=>{let e=n.profile.data;e&&S(e.address)},u=e=>{e===`settings`?n.settings.toggle():e===`backpack`?n.backpack.toggle():e===`communities`?n.communities.toggle():e===`map`?n.map.toggle():e===`places`?n.places.toggle():e===`gallery`?n.gallery.toggle():e===`profile`?l():e===`signout`&&n.logout()},d=n.settings.open||n.backpack.open||n.communities.open||n.map.open||n.places.open||n.gallery.open;return _a?(0,N.jsxs)(oe,{value:n,children:[e&&(0,N.jsx)(ce,{rpc:e}),(0,N.jsx)(y,{}),a&&(0,N.jsx)(oa,{error:a,onReload:n.reload,onDismiss:a.source===`runtime`?n.dismissFatal:void 0})]}):(0,N.jsxs)(oe,{value:n,children:[e&&(0,N.jsx)(ce,{rpc:e}),n.phase===`login`&&(0,N.jsx)(Ei,{flow:n.login}),n.phase===`picking`&&(0,N.jsx)(Ae,{onPick:n.pickDestination}),n.phase===`entering`&&(0,N.jsx)(Oi,{scene:n.sceneLoading}),n.phase===`world`&&!n.menuOpen&&(0,N.jsxs)(N.Fragment,{children:[!d&&(0,N.jsx)(dr,{session:n,onViewProfile:l}),!d&&(0,N.jsx)($r,{minimap:n.minimap,map:n.map,sceneTitle:n.minimap.sceneTitle,setEngineViewport:n.setEngineViewport}),!d&&(0,N.jsx)(di,{hover:n.hover,locked:n.cursorLocked,proximity:n.proximity}),(0,N.jsx)(Ht,{chat:n.chat,hidden:n.friends.open||d,me:n.profile.data,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>be({worldName:e,onConfirm:()=>n.map.changeRealm(e)})}),(0,N.jsx)(en,{friends:n.friends}),(0,N.jsx)(Pn,{settings:n.settings,bindings:n.bindings,profile:n.profile,onNavigate:u}),(0,N.jsx)(Fn,{profile:n.profile}),(0,N.jsx)(Wn,{notifications:n.notifications}),(0,N.jsx)(or,{emotes:n.emotes,onCustomise:()=>{c(`emotes`),n.backpack.toggle()}}),(0,N.jsx)(Ie,{backpack:n.backpack,emotes:n.emotes,profile:n.profile,onNavigate:u,setEngineViewport:n.setEngineViewport,initialTab:s}),(0,N.jsx)(ge,{communities:n.communities,profile:n.profile,onNavigate:u}),(0,N.jsx)(Fe,{map:n.map,profile:n.profile,onNavigate:u}),(0,N.jsx)(Ne,{places:n.places,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>n.map.changeRealm(e)}),(0,N.jsx)(Pe,{gallery:n.gallery,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onViewProfile:e=>S(e.address)})]}),(0,N.jsx)(y,{}),a&&(0,N.jsx)(oa,{error:a,onReload:n.reload,onDismiss:a.source===`runtime`?n.dismissFatal:void 0})]})}var Ea=`coi_sw_reloaded`;function Da(){`serviceWorker`in navigator&&(location.pathname.endsWith(`/`)||history.replaceState(history.state,``,`${location.pathname}/${location.search}${location.hash}`),navigator.serviceWorker.register(new URL(`service_worker.js`,fe)).then(e=>{if(navigator.serviceWorker.controller){sessionStorage.removeItem(Ea);return}let t=()=>{sessionStorage.getItem(Ea)?(sessionStorage.removeItem(Ea),console.error(`[coi] service worker failed to take control after reload`)):(sessionStorage.setItem(Ea,`true`),window.location.reload())};if(e.active){t();return}let n=e.installing??e.waiting;n?.addEventListener(`statechange`,()=>{n.state===`activated`&&t()})}).catch(e=>console.log(`[coi] service worker registration failed:`,e)))}function Oa(){let e=window.cef;if(!e?.emit||!e?.listen)return;let t=new BroadcastChannel(me());t.onmessage=t=>{let n=t.data;n?.to===`scene`&&e.emit(n)},e.listen(`bridge`,e=>{try{t.postMessage(typeof e==`string`?JSON.parse(e):e)}catch{}}),e.listen(`engineFps`,e=>{window.__nativeEngineFps=Number(e)}),e.listen(`uiHeight`,e=>{window.__nativeUiHeight=Number(e),window.dispatchEvent(new Event(`resize`))}),e.listen(`engineTextFocus`,e=>{window.__engineTextFocus=e===`true`})}var ka=/^(localhost|127(\.\d{1,3}){3}|\[::1\])$/i,Aa=/^(10|192\.168|172\.(1[6-9]|2\d|3[01])|169\.254)(\.\d{1,3}){1,3}$/;function ja(e){let t;try{t=new URL(e,location.href).hostname}catch{return null}return ka.test(t)?`loopback`:Aa.test(t)||t.toLowerCase().endsWith(`.local`)?`local`:null}function Ma(){let e=window.fetch.bind(window);window.fetch=function(t,n){let r=ja(t instanceof Request?t.url:String(t));if(r==null||n!=null&&`targetAddressSpace`in n)return e(t,n);let i={...n,targetAddressSpace:r};return e(t,i)}}if(Ma(),new URLSearchParams(location.search).get(`native`)===`1`){document.documentElement.style.background=`transparent`,document.body.style.background=`transparent`,window.addEventListener(`contextmenu`,e=>e.preventDefault()),Oa();try{Object.defineProperty(document,"visibilityState",{get:()=>`visible`,configurable:!0}),Object.defineProperty(document,"hidden",{get:()=>!1,configurable:!0}),document.dispatchEvent(new Event(`visibilitychange`))}catch{}}else Da();(0,qe.createRoot)(document.getElementById(`root`)).render((0,N.jsx)(A.StrictMode,{children:(0,N.jsx)(Sa,{})}));export{Bt as i,zt as n,Lt as r,nr as t};
|