@uptimizr/dashboard 0.1.2 → 0.2.0

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.
Files changed (240) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +4 -4
  3. package/out/__next._full.txt +11 -11
  4. package/out/__next._head.txt +4 -4
  5. package/out/__next._index.txt +4 -4
  6. package/out/__next._tree.txt +2 -2
  7. package/out/_next/static/chunks/002cjeoit6-up.js +1 -0
  8. package/out/_next/static/chunks/02n1uiltexy3w.js +1 -0
  9. package/out/_next/static/chunks/03ab2khhe8-x5.js +1 -0
  10. package/out/_next/static/chunks/04_yytpc2paxy.js +1 -0
  11. package/out/_next/static/chunks/06qot1qvlsqaz.js +1 -0
  12. package/out/_next/static/chunks/07eeopuufsqp-.js +1501 -0
  13. package/out/_next/static/chunks/08a5xek662n8n.js +1 -0
  14. package/out/_next/static/chunks/08wuc9--s8zn_.js +1 -0
  15. package/out/_next/static/chunks/0927l-ygd5c8d.js +1 -0
  16. package/out/_next/static/chunks/09510356f0lad.js +1 -0
  17. package/out/_next/static/chunks/0_eu72k69lxj7.js +1 -0
  18. package/out/_next/static/chunks/0beajlqy8p8b5.js +1 -0
  19. package/out/_next/static/chunks/0c83pe1mpx456.js +1 -0
  20. package/out/_next/static/chunks/0echnagbkyx79.js +1198 -0
  21. package/out/_next/static/chunks/0eh1ml86u8dh7.js +1 -0
  22. package/out/_next/static/chunks/0fh-9h9ylxskr.js +674 -0
  23. package/out/_next/static/chunks/0fzmc1up21g1i.js +1 -0
  24. package/out/_next/static/chunks/0g_v2zswo4l6f.js +1 -0
  25. package/out/_next/static/chunks/0grlb9lo8e502.js +1 -0
  26. package/out/_next/static/chunks/0h22pg-0xrxnm.js +1 -0
  27. package/out/_next/static/chunks/0j6p1pmc14t96.js +1 -0
  28. package/out/_next/static/chunks/0j_6dx-sttgsy.js +1 -0
  29. package/out/_next/static/chunks/0j__xaq_8_di1.js +1 -0
  30. package/out/_next/static/chunks/0kfd-cvj5fvtz.js +1 -0
  31. package/out/_next/static/chunks/0o_mp98xzqfyf.js +1 -0
  32. package/out/_next/static/chunks/0otsec99kdkt7.js +213 -0
  33. package/out/_next/static/chunks/0ql-s-tsmel_u.js +151 -0
  34. package/out/_next/static/chunks/0r47gs_e93cka.js +1 -0
  35. package/out/_next/static/chunks/0sqys6o2pbe1q.js +1328 -0
  36. package/out/_next/static/chunks/0titqrn1qmcsv.js +1 -0
  37. package/out/_next/static/chunks/0tnlbw78tgaxp.js +4 -0
  38. package/out/_next/static/chunks/0tw4dyl-cp-hd.js +1 -0
  39. package/out/_next/static/chunks/0vbce-8omgurc.js +1 -0
  40. package/out/_next/static/chunks/0vfsg5byzep_0.js +1 -0
  41. package/out/_next/static/chunks/{0gv7mblzv3dl3.js → 0w8_1yjvol1f0.js} +20 -20
  42. package/out/_next/static/chunks/0xh144a5fz58h.js +1 -0
  43. package/out/_next/static/chunks/0xjltg_pph0c8.js +1 -0
  44. package/out/_next/static/chunks/0yeqgh0dnas8d.js +1 -0
  45. package/out/_next/static/chunks/101-7e_7up7rk.js +1 -0
  46. package/out/_next/static/chunks/128e51hj_04r0.js +1 -0
  47. package/out/_next/static/chunks/{10fnxpln_5xfd.js → 12kv810lohbsx.js} +2 -2
  48. package/out/_next/static/chunks/137xbvd4nd41j.js +3 -0
  49. package/out/_next/static/chunks/14bws-suyy5zu.js +1 -0
  50. package/out/_next/static/chunks/14ggsmqwej_tt.js +1656 -0
  51. package/out/_next/static/chunks/17genz6pkmty_.js +1 -0
  52. package/out/_next/static/chunks/17xd8hnazzr0g.js +1454 -0
  53. package/out/_next/static/chunks/18dczy9ylt2s_.js +1 -0
  54. package/out/_next/static/chunks/18xs_kvsaolb0.js +1 -0
  55. package/out/_next/static/chunks/19016f8-ry0z6.js +1 -0
  56. package/out/_next/static/chunks/1_6oejyxj39li.js +1 -0
  57. package/out/_next/static/chunks/1_aon8nz9p1fr.js +1 -0
  58. package/out/_next/static/chunks/1_qzlkuxukhpq.js +779 -0
  59. package/out/_next/static/chunks/1akaj5rhgitn3.js +1 -0
  60. package/out/_next/static/chunks/1bvl1ws7b_3gn.js +1 -0
  61. package/out/_next/static/chunks/1cdbk6kxyr1c9.js +1 -0
  62. package/out/_next/static/chunks/1fbjkk55uu4_g.js +1 -0
  63. package/out/_next/static/chunks/1furcfsgrw_3g.js +1 -0
  64. package/out/_next/static/chunks/1g0-f1g3gn_rs.js +1 -0
  65. package/out/_next/static/chunks/1g7emwu85bifo.js +557 -0
  66. package/out/_next/static/chunks/{37vzwr3ciejf1.js → 1gs-5722l4u59.js} +1 -1
  67. package/out/_next/static/chunks/1gt4kh0_xmigy.js +1 -0
  68. package/out/_next/static/chunks/1h8xzuuhhglu9.js +1 -0
  69. package/out/_next/static/chunks/1hatz-jlztrn0.js +1 -0
  70. package/out/_next/static/chunks/1iioifo7i0t0_.js +1 -0
  71. package/out/_next/static/chunks/{0impkpmxx3ttp.js → 1iiz7jqgj20z0.js} +1 -1
  72. package/out/_next/static/chunks/1kujmd5n0j9nk.js +1 -0
  73. package/out/_next/static/chunks/{2kazjq29jeamx.js → 1ltux4lwz7muf.js} +160 -372
  74. package/out/_next/static/chunks/1m_buecgcq67j.js +740 -0
  75. package/out/_next/static/chunks/1n9sy0yt5d2vq.js +1 -0
  76. package/out/_next/static/chunks/1p1gz6dseck--.js +1 -0
  77. package/out/_next/static/chunks/1p1xtsfwvpuqo.js +1 -0
  78. package/out/_next/static/chunks/1p8f6okk2ewbz.js +1 -0
  79. package/out/_next/static/chunks/1qg_etglhvp9h.js +740 -0
  80. package/out/_next/static/chunks/1th_t5ujeqlkf.js +1 -0
  81. package/out/_next/static/chunks/1thr-mdzbu96v.js +1 -0
  82. package/out/_next/static/chunks/1tta1a064979p.js +1 -0
  83. package/out/_next/static/chunks/1u_riwm0nfww7.js +1 -0
  84. package/out/_next/static/chunks/1ua15kzid0_8p.js +2560 -0
  85. package/out/_next/static/chunks/1uu-rt_8p1edp.js +2712 -0
  86. package/out/_next/static/chunks/1uu93wuxigx4k.js +1 -0
  87. package/out/_next/static/chunks/{1flb8adpj6_2o.js → 1xpwp4m1tqugp.js} +1 -1
  88. package/out/_next/static/chunks/1ynju1jqfrcv0.js +1 -0
  89. package/out/_next/static/chunks/1zfojlgb15okk.js +1 -0
  90. package/out/_next/static/chunks/1zj8x5wbgnzz-.js +1 -0
  91. package/out/_next/static/chunks/1zl6t15gh34nn.js +1 -0
  92. package/out/_next/static/chunks/{1thjncpj7u6pq.js → 223vrr_4sfhsj.js} +1 -1
  93. package/out/_next/static/chunks/22cr2b04btguf.js +1 -0
  94. package/out/_next/static/chunks/242xhzxxetctz.js +1 -0
  95. package/out/_next/static/chunks/24essz5mmvx-6.js +1 -0
  96. package/out/_next/static/chunks/256k1jw1m--l7.js +146 -0
  97. package/out/_next/static/chunks/259obyrpxcv6r.js +1 -0
  98. package/out/_next/static/chunks/26v9yqicofqba.js +1 -0
  99. package/out/_next/static/chunks/290d93hmm_e8b.js +1 -0
  100. package/out/_next/static/chunks/2_2fk7iddrs43.js +1 -0
  101. package/out/_next/static/chunks/{00k_j_r7bv_eb.js → 2bjlls8-qe05r.js} +9 -9
  102. package/out/_next/static/chunks/2ckd7f1wbfod-.js +1 -0
  103. package/out/_next/static/chunks/{163fa70v4mgxj.js → 2d6hru4qo23tt.js} +1 -1
  104. package/out/_next/static/chunks/2ejvntxtvf5o9.js +1 -0
  105. package/out/_next/static/chunks/2f7_3tzf7xhps.js +1 -0
  106. package/out/_next/static/chunks/2gxd_o1g89_bv.js +1 -0
  107. package/out/_next/static/chunks/2hd2txb4-m9k1.js +1 -0
  108. package/out/_next/static/chunks/2hpxou_cnp4f_.js +1 -0
  109. package/out/_next/static/chunks/2izioctrfc0s5.js +1 -0
  110. package/out/_next/static/chunks/2jhnk4h4n0udv.js +1 -0
  111. package/out/_next/static/chunks/2jpkhkk9zi8-f.js +1 -0
  112. package/out/_next/static/chunks/2kpet_l1kq2sx.js +1 -0
  113. package/out/_next/static/chunks/2mdbvf1b5h00_.css +3 -0
  114. package/out/_next/static/chunks/2nck5w4c7leb7.js +1 -0
  115. package/out/_next/static/chunks/2our10fwtj87e.js +1 -0
  116. package/out/_next/static/chunks/2qq3uzsbiicw3.js +1194 -0
  117. package/out/_next/static/chunks/2qqqpu0ahfdda.js +1 -0
  118. package/out/_next/static/chunks/2u-f7mmxvk8wj.js +1 -0
  119. package/out/_next/static/chunks/2ue1wo4ryk87z.js +1 -0
  120. package/out/_next/static/chunks/2uk-vwlxe9-xr.js +1 -0
  121. package/out/_next/static/chunks/2ur5-lxdvv1jm.js +1 -0
  122. package/out/_next/static/chunks/2veqsohwfhfqc.js +1 -0
  123. package/out/_next/static/chunks/2vqlv9wnewhu9.js +1 -0
  124. package/out/_next/static/chunks/{1zvc1tv--w8nn.js → 2wzshintp5lf8.js} +1 -1
  125. package/out/_next/static/chunks/2x-00glogc485.js +1 -0
  126. package/out/_next/static/chunks/2yfxy0f5fqs4o.js +1 -0
  127. package/out/_next/static/chunks/2z88mt3ixktu3.js +1 -0
  128. package/out/_next/static/chunks/2z_jn9ud28fk7.js +1 -0
  129. package/out/_next/static/chunks/3-eswqjobiqk1.js +1 -0
  130. package/out/_next/static/chunks/30-tbi7pys6fp.js +4 -0
  131. package/out/_next/static/chunks/30c-nsedy_ce0.js +1 -0
  132. package/out/_next/static/chunks/31u5lbu1vxznh.js +1 -0
  133. package/out/_next/static/chunks/{2feca0xcipcyt.js → 32ahba5ezp467.js} +156 -156
  134. package/out/_next/static/chunks/337hn35kts7ud.js +1 -0
  135. package/out/_next/static/chunks/33dgpebv-tf73.js +1 -0
  136. package/out/_next/static/chunks/36jkdhq6kb-cf.js +1 -0
  137. package/out/_next/static/chunks/37epa8fz59vba.js +1166 -0
  138. package/out/_next/static/chunks/3833xfnz0a-ub.js +1 -0
  139. package/out/_next/static/chunks/38awrh_qxn22k.js +1 -0
  140. package/out/_next/static/chunks/{0wrm9jr-9bw0e.js → 38x3c1ra5slhe.js} +383 -913
  141. package/out/_next/static/chunks/39idqlqlcp5b9.js +1 -0
  142. package/out/_next/static/chunks/{2a3spdq-m8drh.js → 3_gku1pwluoo0.js} +1 -1
  143. package/out/_next/static/chunks/3_mu-4rdjajna.js +1450 -0
  144. package/out/_next/static/chunks/3coacc4-g-g5c.js +1 -0
  145. package/out/_next/static/chunks/3e00fzdfkclzq.js +1 -0
  146. package/out/_next/static/chunks/3e8fmlq0k5wkg.js +1 -0
  147. package/out/_next/static/chunks/3e9tzyrt4_98z.js +1 -0
  148. package/out/_next/static/chunks/3edelqkq92pil.js +1 -0
  149. package/out/_next/static/chunks/3figbil1t4ssj.js +593 -0
  150. package/out/_next/static/chunks/3gimb3z_mteou.js +1 -0
  151. package/out/_next/static/chunks/{2p2vv6cc9i-3q.js → 3idaz_s77e-j_.js} +9 -9
  152. package/out/_next/static/chunks/3j-4wuhs5weba.js +1 -0
  153. package/out/_next/static/chunks/3jjfnwvybayy7.js +1 -0
  154. package/out/_next/static/chunks/3jwm5dfk_78gc.js +1 -0
  155. package/out/_next/static/chunks/3k9d4ylc3li2t.js +1352 -0
  156. package/out/_next/static/chunks/3l3_0ack3gy4k.js +1 -0
  157. package/out/_next/static/chunks/3lwhs5ja7tun3.js +1 -0
  158. package/out/_next/static/chunks/3m6nmp2dca6un.js +1342 -0
  159. package/out/_next/static/chunks/3mbnfpufs2-7e.js +7 -0
  160. package/out/_next/static/chunks/3mcd08gmt038z.js +1 -0
  161. package/out/_next/static/chunks/3mt5th7b1i_u9.js +1 -0
  162. package/out/_next/static/chunks/3ne77mjdz2y7o.js +1 -0
  163. package/out/_next/static/chunks/3puhrqtujktyv.js +1 -0
  164. package/out/_next/static/chunks/3rdifucupcgkg.js +1 -0
  165. package/out/_next/static/chunks/3riekaxl3uxfb.js +1195 -0
  166. package/out/_next/static/chunks/3sdoskq_buttj.js +1 -0
  167. package/out/_next/static/chunks/3tg-ma9tv9xu4.js +1 -0
  168. package/out/_next/static/chunks/3tm-pqpmq_ppw.js +1 -0
  169. package/out/_next/static/chunks/3w9go565cjhq3.js +1636 -0
  170. package/out/_next/static/chunks/3wi9gzq2mtr_q.js +8 -0
  171. package/out/_next/static/chunks/3xagd_2_9zft2.js +1 -0
  172. package/out/_next/static/chunks/3xsq_anpad-fb.js +1 -0
  173. package/out/_next/static/chunks/3ycv2qq7vpbua.js +1 -0
  174. package/out/_next/static/chunks/3z84au-mitjjw.js +1 -0
  175. package/out/_next/static/chunks/4030dhur2h70-.js +1 -0
  176. package/out/_next/static/chunks/40ffffml4h_3r.js +4 -0
  177. package/out/_next/static/chunks/{3-shckrcpvbxu.js → 41wt50z9tx9cx.js} +108 -711
  178. package/out/_next/static/chunks/431slrqh0wa0g.js +1 -0
  179. package/out/_next/static/chunks/43s_lbd1i2krj.js +1 -0
  180. package/out/_next/static/chunks/{0-2y-_oomza2l.js → 44nxswtahaq4w.js} +18 -18
  181. package/out/_next/static/chunks/45bwefvdpztfs.js +1 -0
  182. package/out/_next/static/chunks/{turbopack-0sgd6pfbe1fy6.js → turbopack-19105pdhzxp1x.js} +1 -1
  183. package/out/_not-found/__next._full.txt +9 -9
  184. package/out/_not-found/__next._head.txt +4 -4
  185. package/out/_not-found/__next._index.txt +4 -4
  186. package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
  187. package/out/_not-found/__next._not-found.txt +3 -3
  188. package/out/_not-found/__next._tree.txt +2 -2
  189. package/out/_not-found.html +1 -1
  190. package/out/_not-found.txt +9 -9
  191. package/out/index.html +1 -1
  192. package/out/index.txt +11 -11
  193. package/package.json +5 -4
  194. package/out/_next/static/chunks/068j6934u8j16.js +0 -1
  195. package/out/_next/static/chunks/09e4adtr6w0xe.js +0 -1
  196. package/out/_next/static/chunks/0_rf76jneiwal.js +0 -176
  197. package/out/_next/static/chunks/0aznt7717miff.js +0 -1
  198. package/out/_next/static/chunks/0cu-q5q3a7uf3.js +0 -1
  199. package/out/_next/static/chunks/0fskcfh9vbhtv.js +0 -1
  200. package/out/_next/static/chunks/0gg-ii7i6d_p6.js +0 -1
  201. package/out/_next/static/chunks/0tx1j_ghpz7rc.css +0 -3
  202. package/out/_next/static/chunks/0ufbyo1x3qkmo.js +0 -1
  203. package/out/_next/static/chunks/0wwcfw8i3j_zx.js +0 -1
  204. package/out/_next/static/chunks/0wwkrsvxwi57d.js +0 -1
  205. package/out/_next/static/chunks/0ys9-ozuluawt.js +0 -1
  206. package/out/_next/static/chunks/1-61zh4waha61.js +0 -1
  207. package/out/_next/static/chunks/10r_824wzt8hj.js +0 -1
  208. package/out/_next/static/chunks/123xxske5c9na.js +0 -1
  209. package/out/_next/static/chunks/13isnf0--pmx1.js +0 -1
  210. package/out/_next/static/chunks/157d9euci08yu.js +0 -1
  211. package/out/_next/static/chunks/18u58lorfahxi.js +0 -4
  212. package/out/_next/static/chunks/1_aahautsz2v_.js +0 -1
  213. package/out/_next/static/chunks/1o1d0p-v1z8ty.js +0 -1
  214. package/out/_next/static/chunks/1vdjn0pkoyypn.js +0 -1
  215. package/out/_next/static/chunks/1yehxf-fmeicg.js +0 -1
  216. package/out/_next/static/chunks/1zx2q-r32thv1.js +0 -4
  217. package/out/_next/static/chunks/2-sjjedfr0kfq.js +0 -1
  218. package/out/_next/static/chunks/25b9x-li-tvk2.js +0 -1
  219. package/out/_next/static/chunks/2aelw3far6rii.js +0 -1
  220. package/out/_next/static/chunks/2aor7m-wbis85.js +0 -1
  221. package/out/_next/static/chunks/2clzipqap01hp.js +0 -1
  222. package/out/_next/static/chunks/2fh-_9b6tqhvb.js +0 -1
  223. package/out/_next/static/chunks/2g5gecypj0rqe.js +0 -1
  224. package/out/_next/static/chunks/2szdcpl41-kzv.js +0 -1
  225. package/out/_next/static/chunks/2u6shh3oeycm-.js +0 -1
  226. package/out/_next/static/chunks/2unhhuv0arlcv.js +0 -1
  227. package/out/_next/static/chunks/2z5eqx5do5std.js +0 -1
  228. package/out/_next/static/chunks/310uz81hnnzsu.js +0 -1
  229. package/out/_next/static/chunks/3aqbf_wkg2sih.js +0 -3
  230. package/out/_next/static/chunks/3i3gbhccmhu7j.js +0 -210
  231. package/out/_next/static/chunks/3mqy-84_ul3t2.js +0 -1
  232. package/out/_next/static/chunks/3nz-dh9d7cehk.js +0 -1
  233. package/out/_next/static/chunks/3pufs8g4ui943.js +0 -1
  234. package/out/_next/static/chunks/3t06schbtqonl.js +0 -1
  235. package/out/_next/static/chunks/3v3-7fio3nw_t.js +0 -1
  236. package/out/_next/static/chunks/3v5ha25nxo43j.js +0 -1
  237. package/out/_next/static/chunks/3zskk1hxu3-_o.js +0 -1
  238. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_buildManifest.js +0 -0
  239. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_clientMiddlewareManifest.js +0 -0
  240. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50454,e=>{"use strict";e.s(["StringDictionary",0,class{constructor(){this._count=0,this._data={}}copyFrom(e){this.clear(),e.forEach((e,t)=>this.add(e,t))}get(e){let t=this._data[e];if(void 0!==t)return t}getOrAddWithFactory(e,t){let i=this.get(e);return void 0!==i||(i=t(e))&&this.add(e,i),i}getOrAdd(e,t){let i=this.get(e);return void 0!==i?i:(this.add(e,t),t)}contains(e){return void 0!==this._data[e]}add(e,t){return void 0===this._data[e]&&(this._data[e]=t,++this._count,!0)}set(e,t){return void 0!==this._data[e]&&(this._data[e]=t,!0)}getAndRemove(e){let t=this.get(e);return void 0!==t?(delete this._data[e],--this._count,t):null}remove(e){return!!this.contains(e)&&(delete this._data[e],--this._count,!0)}clear(){this._data={},this._count=0}get count(){return this._count}forEach(e){for(let t in this._data){let i=this._data[t];e(t,i)}}first(e){for(let t in this._data){let i=this._data[t],s=e(t,i);if(s)return s}return null}}])},46862,e=>{"use strict";var t=e.i(10272),i=e.i(37143),s=e.i(99267),r=e.i(70653),n=e.i(80871);function a(e){e.push("vCameraColorCurveNeutral","vCameraColorCurvePositive","vCameraColorCurveNegative")}class o{constructor(){this._dirty=!0,this._tempColor=new r.Color4(0,0,0,0),this._globalCurve=new r.Color4(0,0,0,0),this._highlightsCurve=new r.Color4(0,0,0,0),this._midtonesCurve=new r.Color4(0,0,0,0),this._shadowsCurve=new r.Color4(0,0,0,0),this._positiveCurve=new r.Color4(0,0,0,0),this._negativeCurve=new r.Color4(0,0,0,0),this._globalHue=30,this._globalDensity=0,this._globalSaturation=0,this._globalExposure=0,this._highlightsHue=30,this._highlightsDensity=0,this._highlightsSaturation=0,this._highlightsExposure=0,this._midtonesHue=30,this._midtonesDensity=0,this._midtonesSaturation=0,this._midtonesExposure=0,this._shadowsHue=30,this._shadowsDensity=0,this._shadowsSaturation=0,this._shadowsExposure=0}get globalHue(){return this._globalHue}set globalHue(e){this._globalHue=e,this._dirty=!0}get globalDensity(){return this._globalDensity}set globalDensity(e){this._globalDensity=e,this._dirty=!0}get globalSaturation(){return this._globalSaturation}set globalSaturation(e){this._globalSaturation=e,this._dirty=!0}get globalExposure(){return this._globalExposure}set globalExposure(e){this._globalExposure=e,this._dirty=!0}get highlightsHue(){return this._highlightsHue}set highlightsHue(e){this._highlightsHue=e,this._dirty=!0}get highlightsDensity(){return this._highlightsDensity}set highlightsDensity(e){this._highlightsDensity=e,this._dirty=!0}get highlightsSaturation(){return this._highlightsSaturation}set highlightsSaturation(e){this._highlightsSaturation=e,this._dirty=!0}get highlightsExposure(){return this._highlightsExposure}set highlightsExposure(e){this._highlightsExposure=e,this._dirty=!0}get midtonesHue(){return this._midtonesHue}set midtonesHue(e){this._midtonesHue=e,this._dirty=!0}get midtonesDensity(){return this._midtonesDensity}set midtonesDensity(e){this._midtonesDensity=e,this._dirty=!0}get midtonesSaturation(){return this._midtonesSaturation}set midtonesSaturation(e){this._midtonesSaturation=e,this._dirty=!0}get midtonesExposure(){return this._midtonesExposure}set midtonesExposure(e){this._midtonesExposure=e,this._dirty=!0}get shadowsHue(){return this._shadowsHue}set shadowsHue(e){this._shadowsHue=e,this._dirty=!0}get shadowsDensity(){return this._shadowsDensity}set shadowsDensity(e){this._shadowsDensity=e,this._dirty=!0}get shadowsSaturation(){return this._shadowsSaturation}set shadowsSaturation(e){this._shadowsSaturation=e,this._dirty=!0}get shadowsExposure(){return this._shadowsExposure}set shadowsExposure(e){this._shadowsExposure=e,this._dirty=!0}getClassName(){return"ColorCurves"}_getColorGradingDataToRef(e,t,i,s,r){null!=e&&(e=o._Clamp(e,0,360),t=o._Clamp(t,-100,100),i=o._Clamp(i,-100,100),s=o._Clamp(s,-100,100),t=.5*o._ApplyColorGradingSliderNonlinear(t),s=o._ApplyColorGradingSliderNonlinear(s),t<0&&(t*=-1,e=(e+180)%360),o._FromHSBToRef(e,t,50+.25*s,r),r.scaleToRef(2,r),r.a=1+.01*i)}static _ApplyColorGradingSliderNonlinear(e){let t=Math.abs(e/=100);return t=Math.pow(t,2),e<0&&(t*=-1),t*=100}static _FromHSBToRef(e,t,i,s){let r=o._Clamp(e,0,360),n=o._Clamp(t/100,0,1),a=o._Clamp(i/100,0,1);if(0===n)s.r=a,s.g=a,s.b=a;else{let e=Math.floor(r/=60),t=r-e,i=a*(1-n),o=a*(1-n*t),h=a*(1-n*(1-t));switch(e){case 0:s.r=a,s.g=h,s.b=i;break;case 1:s.r=o,s.g=a,s.b=i;break;case 2:s.r=i,s.g=a,s.b=h;break;case 3:s.r=i,s.g=o,s.b=a;break;case 4:s.r=h,s.g=i,s.b=a;break;default:s.r=a,s.g=i,s.b=o}}s.a=1}static _Clamp(e,t,i){return Math.min(Math.max(e,t),i)}clone(){return n.SerializationHelper.Clone(()=>new o,this)}serialize(){return n.SerializationHelper.Serialize(this)}_bind(e,t="vCameraColorCurvePositive",i="vCameraColorCurveNeutral",s="vCameraColorCurveNegative"){this._dirty&&(this._dirty=!1,this._getColorGradingDataToRef(this._globalHue,this._globalDensity,this._globalSaturation,this._globalExposure,this._globalCurve),this._getColorGradingDataToRef(this._highlightsHue,this._highlightsDensity,this._highlightsSaturation,this._highlightsExposure,this._tempColor),this._tempColor.multiplyToRef(this._globalCurve,this._highlightsCurve),this._getColorGradingDataToRef(this._midtonesHue,this._midtonesDensity,this._midtonesSaturation,this._midtonesExposure,this._tempColor),this._tempColor.multiplyToRef(this._globalCurve,this._midtonesCurve),this._getColorGradingDataToRef(this._shadowsHue,this._shadowsDensity,this._shadowsSaturation,this._shadowsExposure,this._tempColor),this._tempColor.multiplyToRef(this._globalCurve,this._shadowsCurve),this._highlightsCurve.subtractToRef(this._midtonesCurve,this._positiveCurve),this._midtonesCurve.subtractToRef(this._shadowsCurve,this._negativeCurve)),e&&(e.setFloat4(t,this._positiveCurve.r,this._positiveCurve.g,this._positiveCurve.b,this._positiveCurve.a),e.setFloat4(i,this._midtonesCurve.r,this._midtonesCurve.g,this._midtonesCurve.b,this._midtonesCurve.a),e.setFloat4(s,this._negativeCurve.r,this._negativeCurve.g,this._negativeCurve.b,this._negativeCurve.a))}}o.PrepareUniforms=a,(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_globalHue",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_globalDensity",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_globalSaturation",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_globalExposure",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_highlightsHue",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_highlightsDensity",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_highlightsSaturation",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_highlightsExposure",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_midtonesHue",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_midtonesDensity",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_midtonesSaturation",void 0),(0,t.__decorate)([(0,i.serialize)()],o.prototype,"_midtonesExposure",void 0);var h=e.i(68179);class l{constructor(){this.colorCurves=new o,this._colorCurvesEnabled=!1,this._colorGradingEnabled=!1,this._colorGradingWithGreenDepth=!0,this._colorGradingBGR=!0,this._exposure=1,this._toneMappingEnabled=!1,this._toneMappingType=l.TONEMAPPING_STANDARD,this._contrast=1,this.vignetteStretch=0,this.vignetteCenterX=0,this.vignetteCenterY=0,this.vignetteWeight=1.5,this.vignetteColor=new r.Color4(0,0,0,0),this.vignetteCameraFov=.5,this._vignetteBlendMode=l.VIGNETTEMODE_MULTIPLY,this._vignetteEnabled=!1,this._ditheringEnabled=!1,this._ditheringIntensity=1/255,this._skipFinalColorClamp=!1,this._applyByPostProcess=!1,this._isEnabled=!0,this.outputTextureWidth=0,this.outputTextureHeight=0,this.onUpdateParameters=new s.Observable}get colorCurvesEnabled(){return this._colorCurvesEnabled}set colorCurvesEnabled(e){this._colorCurvesEnabled!==e&&(this._colorCurvesEnabled=e,this._updateParameters())}get colorGradingTexture(){return this._colorGradingTexture}set colorGradingTexture(e){this._colorGradingTexture!==e&&(this._colorGradingTexture=e,this._updateParameters())}get colorGradingEnabled(){return this._colorGradingEnabled}set colorGradingEnabled(e){this._colorGradingEnabled!==e&&(this._colorGradingEnabled=e,this._updateParameters())}get colorGradingWithGreenDepth(){return this._colorGradingWithGreenDepth}set colorGradingWithGreenDepth(e){this._colorGradingWithGreenDepth!==e&&(this._colorGradingWithGreenDepth=e,this._updateParameters())}get colorGradingBGR(){return this._colorGradingBGR}set colorGradingBGR(e){this._colorGradingBGR!==e&&(this._colorGradingBGR=e,this._updateParameters())}get exposure(){return this._exposure}set exposure(e){this._exposure!==e&&(this._exposure=e,this._updateParameters())}get toneMappingEnabled(){return this._toneMappingEnabled}set toneMappingEnabled(e){this._toneMappingEnabled!==e&&(this._toneMappingEnabled=e,this._updateParameters())}get toneMappingType(){return this._toneMappingType}set toneMappingType(e){this._toneMappingType!==e&&(this._toneMappingType=e,this._updateParameters())}get contrast(){return this._contrast}set contrast(e){this._contrast!==e&&(this._contrast=e,this._updateParameters())}get vignetteCentreY(){return this.vignetteCenterY}set vignetteCentreY(e){this.vignetteCenterY=e}get vignetteCentreX(){return this.vignetteCenterX}set vignetteCentreX(e){this.vignetteCenterX=e}get vignetteBlendMode(){return this._vignetteBlendMode}set vignetteBlendMode(e){this._vignetteBlendMode!==e&&(this._vignetteBlendMode=e,this._updateParameters())}get vignetteEnabled(){return this._vignetteEnabled}set vignetteEnabled(e){this._vignetteEnabled!==e&&(this._vignetteEnabled=e,this._updateParameters())}get ditheringEnabled(){return this._ditheringEnabled}set ditheringEnabled(e){this._ditheringEnabled!==e&&(this._ditheringEnabled=e,this._updateParameters())}get ditheringIntensity(){return this._ditheringIntensity}set ditheringIntensity(e){this._ditheringIntensity!==e&&(this._ditheringIntensity=e,this._updateParameters())}get skipFinalColorClamp(){return this._skipFinalColorClamp}set skipFinalColorClamp(e){this._skipFinalColorClamp!==e&&(this._skipFinalColorClamp=e,this._updateParameters())}get applyByPostProcess(){return this._applyByPostProcess}set applyByPostProcess(e){this._applyByPostProcess!==e&&(this._applyByPostProcess=e,this._updateParameters())}get isEnabled(){return this._isEnabled}set isEnabled(e){this._isEnabled!==e&&(this._isEnabled=e,this._updateParameters())}_updateParameters(){this.onUpdateParameters.notifyObservers(this)}getClassName(){return"ImageProcessingConfiguration"}prepareDefines(e,t=!1){if(t!==this.applyByPostProcess||!this._isEnabled){e.VIGNETTE=!1,e.TONEMAPPING=0,e.CONTRAST=!1,e.EXPOSURE=!1,e.COLORCURVES=!1,e.COLORGRADING=!1,e.COLORGRADING3D=!1,e.DITHER=!1,e.IMAGEPROCESSING=!1,e.SKIPFINALCOLORCLAMP=this.skipFinalColorClamp,e.IMAGEPROCESSINGPOSTPROCESS=this.applyByPostProcess&&this._isEnabled;return}if(e.VIGNETTE=this.vignetteEnabled,e.VIGNETTEBLENDMODEMULTIPLY=this.vignetteBlendMode===l._VIGNETTEMODE_MULTIPLY,e.VIGNETTEBLENDMODEOPAQUE=!e.VIGNETTEBLENDMODEMULTIPLY,this._toneMappingEnabled)switch(this._toneMappingType){case l.TONEMAPPING_KHR_PBR_NEUTRAL:e.TONEMAPPING=3;break;case l.TONEMAPPING_ACES:e.TONEMAPPING=2;break;default:e.TONEMAPPING=1}else e.TONEMAPPING=0;e.CONTRAST=1!==this.contrast,e.EXPOSURE=1!==this.exposure,e.COLORCURVES=this.colorCurvesEnabled&&!!this.colorCurves,e.COLORGRADING=this.colorGradingEnabled&&!!this.colorGradingTexture,e.COLORGRADING?e.COLORGRADING3D=this.colorGradingTexture.is3D:e.COLORGRADING3D=!1,e.SAMPLER3DGREENDEPTH=this.colorGradingWithGreenDepth,e.SAMPLER3DBGRMAP=this.colorGradingBGR,e.DITHER=this._ditheringEnabled,e.IMAGEPROCESSINGPOSTPROCESS=this.applyByPostProcess,e.SKIPFINALCOLORCLAMP=this.skipFinalColorClamp,e.IMAGEPROCESSING=e.VIGNETTE||!!e.TONEMAPPING||e.CONTRAST||e.EXPOSURE||e.COLORCURVES||e.COLORGRADING||e.DITHER}isReady(){return!this.colorGradingEnabled||!this.colorGradingTexture||this.colorGradingTexture.isReady()}bind(e,t){if(this._colorCurvesEnabled&&this.colorCurves&&function(e,t,i="vCameraColorCurvePositive",s="vCameraColorCurveNeutral",r="vCameraColorCurveNegative"){e._bind(t,i,s,r)}(this.colorCurves,e),this._vignetteEnabled||this._ditheringEnabled){let i=1/(this.outputTextureWidth||e.getEngine().getRenderWidth()),s=1/(this.outputTextureHeight||e.getEngine().getRenderHeight());if(e.setFloat2("vInverseScreenSize",i,s),this._ditheringEnabled&&e.setFloat("ditherIntensity",.5*this._ditheringIntensity),this._vignetteEnabled){let r=null!=t?t:s/i,n=Math.tan(.5*this.vignetteCameraFov),a=n*r,o=Math.sqrt(a*n);a=(0,h.Mix)(a,o,this.vignetteStretch),n=(0,h.Mix)(n,o,this.vignetteStretch),e.setFloat4("vignetteSettings1",a,n,-a*this.vignetteCenterX,-n*this.vignetteCenterY);let l=-2*this.vignetteWeight;e.setFloat4("vignetteSettings2",this.vignetteColor.r,this.vignetteColor.g,this.vignetteColor.b,l)}}if(e.setFloat("exposureLinear",this.exposure),e.setFloat("contrast",this.contrast),this.colorGradingTexture){e.setTexture("txColorTransform",this.colorGradingTexture);let t=this.colorGradingTexture.getSize().height;e.setFloat4("colorTransformSettings",(t-1)/t,.5/t,t,this.colorGradingTexture.level)}}clone(){return n.SerializationHelper.Clone(()=>new l,this)}serialize(){return n.SerializationHelper.Serialize(this)}static get VIGNETTEMODE_MULTIPLY(){return this._VIGNETTEMODE_MULTIPLY}static get VIGNETTEMODE_OPAQUE(){return this._VIGNETTEMODE_OPAQUE}}l.TONEMAPPING_STANDARD=0,l.TONEMAPPING_ACES=1,l.TONEMAPPING_KHR_PBR_NEUTRAL=2,l.PrepareUniforms=function(e,t){t.EXPOSURE&&e.push("exposureLinear"),t.CONTRAST&&e.push("contrast"),t.COLORGRADING&&e.push("colorTransformSettings"),(t.VIGNETTE||t.DITHER)&&e.push("vInverseScreenSize"),t.VIGNETTE&&(e.push("vignetteSettings1"),e.push("vignetteSettings2")),t.COLORCURVES&&a(e),t.DITHER&&e.push("ditherIntensity")},l.PrepareSamplers=function(e,t){t.COLORGRADING&&e.push("txColorTransform")},l._VIGNETTEMODE_MULTIPLY=0,l._VIGNETTEMODE_OPAQUE=1,(0,t.__decorate)([(0,i.serializeAsColorCurves)()],l.prototype,"colorCurves",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_colorCurvesEnabled",void 0),(0,t.__decorate)([(0,i.serializeAsTexture)("colorGradingTexture")],l.prototype,"_colorGradingTexture",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_colorGradingEnabled",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_colorGradingWithGreenDepth",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_colorGradingBGR",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_exposure",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_toneMappingEnabled",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_toneMappingType",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_contrast",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"vignetteStretch",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"vignetteCenterX",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"vignetteCenterY",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"vignetteWeight",void 0),(0,t.__decorate)([(0,i.serializeAsColor4)()],l.prototype,"vignetteColor",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"vignetteCameraFov",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_vignetteBlendMode",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_vignetteEnabled",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_ditheringEnabled",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_ditheringIntensity",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_skipFinalColorClamp",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_applyByPostProcess",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"_isEnabled",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"outputTextureWidth",void 0),(0,t.__decorate)([(0,i.serialize)()],l.prototype,"outputTextureHeight",void 0),e.s(["ImageProcessingConfiguration",0,l],46862)},38705,5785,44903,e=>{"use strict";class t{constructor(e,t,i,s,r,n){this.source=e,this.pointerX=t,this.pointerY=i,this.meshUnderPointer=s,this.sourceEvent=r,this.additionalData=n}static CreateNew(e,i,s){let r=e.getScene();return new t(e,r.pointerX,r.pointerY,r.meshUnderPointer||e,i,s)}static CreateNewFromSprite(e,i,s,r){return new t(e,i.pointerX,i.pointerY,i.meshUnderPointer,s,r)}static CreateNewFromScene(e,i){return new t(null,e.pointerX,e.pointerY,e.meshUnderPointer,i)}static CreateNewFromPrimitive(e,i,s,r){return new t(e,i.x,i.y,null,s,r)}}e.s(["ActionEvent",0,t],38705);var i,s,r,n,a,o,h,l,d,c,u,g,p,_,v=e.i(21222);class m{constructor(){this.hoverCursor="",this.actions=[],this.isRecursive=!1,this.disposeWhenUnowned=!0}static get HasTriggers(){for(let e in m.Triggers)if(Object.prototype.hasOwnProperty.call(m.Triggers,e))return!0;return!1}static get HasPickTriggers(){for(let e in m.Triggers)if(Object.prototype.hasOwnProperty.call(m.Triggers,e)){let t=parseInt(e);if(t>=1&&t<=7)return!0}return!1}static HasSpecificTrigger(e){for(let t in m.Triggers)if(Object.prototype.hasOwnProperty.call(m.Triggers,t)&&parseInt(t)===e)return!0;return!1}}m.Triggers={};var f=e.i(50107),b=e.i(96265),y=e.i(36365);(i=l||(l={}))[i.Generic=0]="Generic",i[i.Keyboard=1]="Keyboard",i[i.Mouse=2]="Mouse",i[i.Touch=3]="Touch",i[i.DualShock=4]="DualShock",i[i.Xbox=5]="Xbox",i[i.Switch=6]="Switch",i[i.DualSense=7]="DualSense",(s=d||(d={}))[s.Horizontal=0]="Horizontal",s[s.Vertical=1]="Vertical",s[s.LeftClick=2]="LeftClick",s[s.MiddleClick=3]="MiddleClick",s[s.RightClick=4]="RightClick",s[s.BrowserBack=5]="BrowserBack",s[s.BrowserForward=6]="BrowserForward",s[s.MouseWheelX=7]="MouseWheelX",s[s.MouseWheelY=8]="MouseWheelY",s[s.MouseWheelZ=9]="MouseWheelZ",s[s.Move=12]="Move",(r=c||(c={}))[r.Horizontal=0]="Horizontal",r[r.Vertical=1]="Vertical",r[r.LeftClick=2]="LeftClick",r[r.MiddleClick=3]="MiddleClick",r[r.RightClick=4]="RightClick",r[r.BrowserBack=5]="BrowserBack",r[r.BrowserForward=6]="BrowserForward",r[r.MouseWheelX=7]="MouseWheelX",r[r.MouseWheelY=8]="MouseWheelY",r[r.MouseWheelZ=9]="MouseWheelZ",r[r.DeltaHorizontal=10]="DeltaHorizontal",r[r.DeltaVertical=11]="DeltaVertical",(n=u||(u={}))[n.Cross=0]="Cross",n[n.Circle=1]="Circle",n[n.Square=2]="Square",n[n.Triangle=3]="Triangle",n[n.L1=4]="L1",n[n.R1=5]="R1",n[n.L2=6]="L2",n[n.R2=7]="R2",n[n.Share=8]="Share",n[n.Options=9]="Options",n[n.L3=10]="L3",n[n.R3=11]="R3",n[n.DPadUp=12]="DPadUp",n[n.DPadDown=13]="DPadDown",n[n.DPadLeft=14]="DPadLeft",n[n.DPadRight=15]="DPadRight",n[n.Home=16]="Home",n[n.TouchPad=17]="TouchPad",n[n.LStickXAxis=18]="LStickXAxis",n[n.LStickYAxis=19]="LStickYAxis",n[n.RStickXAxis=20]="RStickXAxis",n[n.RStickYAxis=21]="RStickYAxis",(a=g||(g={}))[a.Cross=0]="Cross",a[a.Circle=1]="Circle",a[a.Square=2]="Square",a[a.Triangle=3]="Triangle",a[a.L1=4]="L1",a[a.R1=5]="R1",a[a.L2=6]="L2",a[a.R2=7]="R2",a[a.Create=8]="Create",a[a.Options=9]="Options",a[a.L3=10]="L3",a[a.R3=11]="R3",a[a.DPadUp=12]="DPadUp",a[a.DPadDown=13]="DPadDown",a[a.DPadLeft=14]="DPadLeft",a[a.DPadRight=15]="DPadRight",a[a.Home=16]="Home",a[a.TouchPad=17]="TouchPad",a[a.LStickXAxis=18]="LStickXAxis",a[a.LStickYAxis=19]="LStickYAxis",a[a.RStickXAxis=20]="RStickXAxis",a[a.RStickYAxis=21]="RStickYAxis",(o=p||(p={}))[o.A=0]="A",o[o.B=1]="B",o[o.X=2]="X",o[o.Y=3]="Y",o[o.LB=4]="LB",o[o.RB=5]="RB",o[o.LT=6]="LT",o[o.RT=7]="RT",o[o.Back=8]="Back",o[o.Start=9]="Start",o[o.LS=10]="LS",o[o.RS=11]="RS",o[o.DPadUp=12]="DPadUp",o[o.DPadDown=13]="DPadDown",o[o.DPadLeft=14]="DPadLeft",o[o.DPadRight=15]="DPadRight",o[o.Home=16]="Home",o[o.LStickXAxis=17]="LStickXAxis",o[o.LStickYAxis=18]="LStickYAxis",o[o.RStickXAxis=19]="RStickXAxis",o[o.RStickYAxis=20]="RStickYAxis",(h=_||(_={}))[h.B=0]="B",h[h.A=1]="A",h[h.Y=2]="Y",h[h.X=3]="X",h[h.L=4]="L",h[h.R=5]="R",h[h.ZL=6]="ZL",h[h.ZR=7]="ZR",h[h.Minus=8]="Minus",h[h.Plus=9]="Plus",h[h.LS=10]="LS",h[h.RS=11]="RS",h[h.DPadUp=12]="DPadUp",h[h.DPadDown=13]="DPadDown",h[h.DPadLeft=14]="DPadLeft",h[h.DPadRight=15]="DPadRight",h[h.Home=16]="Home",h[h.Capture=17]="Capture",h[h.LStickXAxis=18]="LStickXAxis",h[h.LStickYAxis=19]="LStickYAxis",h[h.RStickXAxis=20]="RStickXAxis",h[h.RStickYAxis=21]="RStickYAxis";var P=e.i(99267),C=e.i(76696);class M{static CreateDeviceEvent(e,t,i,s,r,n,a){switch(e){case l.Keyboard:return this._CreateKeyboardEvent(i,s,r,n);case l.Mouse:if(i===d.MouseWheelX||i===d.MouseWheelY||i===d.MouseWheelZ)return this._CreateWheelEvent(e,t,i,s,r,n);case l.Touch:return this._CreatePointerEvent(e,t,i,s,r,n,a);default:throw`Unable to generate event for device ${l[e]}`}}static _CreatePointerEvent(e,t,i,s,r,n,a){let o=this._CreateMouseEvent(e,t,i,s,r,n);return e===l.Mouse?(o.deviceType=l.Mouse,o.pointerId=1,o.pointerType="mouse"):(o.deviceType=l.Touch,o.pointerId=a??t,o.pointerType="touch"),o.buttons=0+r.pollInput(e,t,d.LeftClick)+2*r.pollInput(e,t,d.RightClick)+4*r.pollInput(e,t,d.MiddleClick),i===d.Move?o.type="pointermove":i>=d.LeftClick&&i<=d.RightClick&&(o.type=1===s?"pointerdown":"pointerup",o.button=i-2),o}static _CreateWheelEvent(e,t,i,s,r,n){let a=this._CreateMouseEvent(e,t,i,s,r,n);switch(a.pointerId=1,a.type="wheel",a.deltaMode=C.EventConstants.DOM_DELTA_PIXEL,a.deltaX=0,a.deltaY=0,a.deltaZ=0,i){case d.MouseWheelX:a.deltaX=s;break;case d.MouseWheelY:a.deltaY=s;break;case d.MouseWheelZ:a.deltaZ=s}return a}static _CreateMouseEvent(e,t,i,s,r,n){let a=this._CreateEvent(n),o=r.pollInput(e,t,d.Horizontal),h=r.pollInput(e,t,d.Vertical);return n?(a.movementX=0,a.movementY=0,a.offsetX=a.movementX-n.getBoundingClientRect().x,a.offsetY=a.movementY-n.getBoundingClientRect().y):(a.movementX=r.pollInput(e,t,10),a.movementY=r.pollInput(e,t,11),a.offsetX=0,a.offsetY=0),this._CheckNonCharacterKeys(a,r),a.clientX=o,a.clientY=h,a.x=o,a.y=h,a.deviceType=e,a.deviceSlot=t,a.inputIndex=i,a}static _CreateKeyboardEvent(e,t,i,s){let r=this._CreateEvent(s);return this._CheckNonCharacterKeys(r,i),r.deviceType=l.Keyboard,r.deviceSlot=0,r.inputIndex=e,r.type=1===t?"keydown":"keyup",r.key=String.fromCharCode(e),r.keyCode=e,r}static _CheckNonCharacterKeys(e,t){let i=t.isDeviceAvailable(l.Keyboard),s=i&&1===t.pollInput(l.Keyboard,0,18),r=i&&1===t.pollInput(l.Keyboard,0,17),n=i&&(1===t.pollInput(l.Keyboard,0,91)||1===t.pollInput(l.Keyboard,0,92)||1===t.pollInput(l.Keyboard,0,93)),a=i&&1===t.pollInput(l.Keyboard,0,16);e.altKey=s,e.ctrlKey=r,e.metaKey=n,e.shiftKey=a}static _CreateEvent(e){let t={};return t.preventDefault=()=>{},t.target=e,t}}class O{constructor(e,t,i){this._nativeInput=_native.DeviceInputSystem?new _native.DeviceInputSystem(e,t,(e,t,s,r)=>{let n=M.CreateDeviceEvent(e,t,s,r,this);i(e,t,n)}):this._createDummyNativeInput()}pollInput(e,t,i){return this._nativeInput.pollInput(e,t,i)}isDeviceAvailable(e){return e===l.Mouse||e===l.Touch}dispose(){this._nativeInput.dispose()}_createDummyNativeInput(){return{pollInput:()=>0,isDeviceAvailable:()=>!1,dispose:()=>{}}}}var T=e.i(64545),S=e.i(65740);let R=Object.keys(d).length/2;class E{constructor(e,t,i,s){this._inputs=[],this._keyboardActive=!1,this._pointerActive=!1,this._usingSafari=S.Tools.IsSafari(),this._usingMacOs=(0,T.IsNavigatorAvailable)()&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),this._keyboardDownEvent=e=>{},this._keyboardUpEvent=e=>{},this._keyboardBlurEvent=e=>{},this._pointerMoveEvent=e=>{},this._pointerDownEvent=e=>{},this._pointerUpEvent=e=>{},this._pointerCancelEvent=e=>{},this._pointerCancelTouch=e=>{},this._pointerLeaveEvent=e=>{},this._pointerWheelEvent=e=>{},this._pointerBlurEvent=e=>{},this._pointerMacOsChromeOutEvent=e=>{},this._eventsAttached=!1,this._mouseId=-1,this._isUsingFirefox=(0,T.IsNavigatorAvailable)()&&navigator.userAgent&&-1!==navigator.userAgent.indexOf("Firefox"),this._isUsingChromium=(0,T.IsNavigatorAvailable)()&&navigator.userAgent&&-1!==navigator.userAgent.indexOf("Chrome"),this._maxTouchPoints=0,this._pointerInputClearObserver=null,this._gamepadConnectedEvent=e=>{},this._gamepadDisconnectedEvent=e=>{},this._eventPrefix=S.Tools.GetPointerPrefix(e),this._engine=e,this._onDeviceConnected=t,this._onDeviceDisconnected=i,this._onInputChanged=s,this._mouseId=+!this._isUsingFirefox,this._enableEvents(),this._usingMacOs&&(this._metaKeys=[]),this._engine._onEngineViewChanged||(this._engine._onEngineViewChanged=()=>{this._enableEvents()})}pollInput(e,t,i){let s=this._inputs[e][t];if(!s)throw`Unable to find device ${l[e]}`;e>=l.DualShock&&e<=l.DualSense&&this._updateDevice(e,t,i);let r=s[i];if(void 0===r)throw`Unable to find input ${i} for device ${l[e]} in slot ${t}`;return i===d.Move&&S.Tools.Warn("Unable to provide information for PointerInput.Move. Try using PointerInput.Horizontal or PointerInput.Vertical for move data."),r}isDeviceAvailable(e){return void 0!==this._inputs[e]}dispose(){this._onDeviceConnected=()=>{},this._onDeviceDisconnected=()=>{},this._onInputChanged=()=>{},delete this._engine._onEngineViewChanged,this._elementToAttachTo&&this._disableEvents()}_enableEvents(){let e=this?._engine.getInputElement();if(e&&(!this._eventsAttached||this._elementToAttachTo!==e)){if(this._disableEvents(),this._inputs){for(let e of this._inputs)if(e)for(let t in e){let i=e[+t];if(i)for(let e=0;e<i.length;e++)i[e]=0}}this._elementToAttachTo=e,this._elementToAttachTo.tabIndex=-1!==this._elementToAttachTo.tabIndex?this._elementToAttachTo.tabIndex:this._engine.canvasTabIndex,this._handleKeyActions(),this._handlePointerActions(),this._handleGamepadActions(),this._eventsAttached=!0,this._checkForConnectedDevices()}}_disableEvents(){this._elementToAttachTo&&(this._elementToAttachTo.removeEventListener("blur",this._keyboardBlurEvent),this._elementToAttachTo.removeEventListener("blur",this._pointerBlurEvent),this._elementToAttachTo.removeEventListener("keydown",this._keyboardDownEvent),this._elementToAttachTo.removeEventListener("keyup",this._keyboardUpEvent),this._elementToAttachTo.removeEventListener(this._eventPrefix+"move",this._pointerMoveEvent),this._elementToAttachTo.removeEventListener(this._eventPrefix+"down",this._pointerDownEvent),this._elementToAttachTo.removeEventListener(this._eventPrefix+"up",this._pointerUpEvent),this._elementToAttachTo.removeEventListener(this._eventPrefix+"cancel",this._pointerCancelEvent),this._elementToAttachTo.removeEventListener(this._eventPrefix+"leave",this._pointerLeaveEvent),this._elementToAttachTo.removeEventListener(this._wheelEventName,this._pointerWheelEvent),this._usingMacOs&&this._isUsingChromium&&this._elementToAttachTo.removeEventListener("lostpointercapture",this._pointerMacOsChromeOutEvent),window.removeEventListener("gamepadconnected",this._gamepadConnectedEvent),window.removeEventListener("gamepaddisconnected",this._gamepadDisconnectedEvent)),this._pointerInputClearObserver&&this._engine.onEndFrameObservable.remove(this._pointerInputClearObserver),this._eventsAttached=!1}_checkForConnectedDevices(){if(navigator.getGamepads)for(let e of navigator.getGamepads())e&&this._addGamePad(e);"function"==typeof matchMedia&&matchMedia("(pointer:fine)").matches&&this._addPointerDevice(l.Mouse,0,0,0)}_addGamePad(e){let t=this._getGamepadDeviceType(e.id),i=e.index;this._gamepads=this._gamepads||Array(e.index+1),this._registerDevice(t,i,e.buttons.length+e.axes.length),this._gamepads[i]=t}_addPointerDevice(e,t,i,s){this._pointerActive||(this._pointerActive=!0),this._registerDevice(e,t,R);let r=this._inputs[e][t];r[0]=i,r[1]=s}_registerDevice(e,t,i){if(void 0===t)throw`Unable to register device ${l[e]} to undefined slot.`;if(this._inputs[e]||(this._inputs[e]={}),!this._inputs[e][t]){let s=Array(i);s.fill(0),this._inputs[e][t]=s,this._onDeviceConnected(e,t)}}_unregisterDevice(e,t){this._inputs[e][t]&&(delete this._inputs[e][t],this._onDeviceDisconnected(e,t))}_handleKeyActions(){this._keyboardDownEvent=e=>{this._keyboardActive||(this._keyboardActive=!0,this._registerDevice(l.Keyboard,0,255));let t=this._inputs[l.Keyboard][0];t&&(t[e.keyCode]=1,e.inputIndex=e.keyCode,this._usingMacOs&&e.metaKey&&"Meta"!==e.key&&!this._metaKeys.includes(e.keyCode)&&this._metaKeys.push(e.keyCode),this._onInputChanged(l.Keyboard,0,e))},this._keyboardUpEvent=e=>{this._keyboardActive||(this._keyboardActive=!0,this._registerDevice(l.Keyboard,0,255));let t=this._inputs[l.Keyboard][0];if(t){if(t[e.keyCode]=0,e.inputIndex=e.keyCode,this._usingMacOs&&"Meta"===e.key&&this._metaKeys.length>0){for(let e of this._metaKeys){let i=M.CreateDeviceEvent(l.Keyboard,0,e,0,this,this._elementToAttachTo);t[e]=0,this._onInputChanged(l.Keyboard,0,i)}this._metaKeys.splice(0,this._metaKeys.length)}this._onInputChanged(l.Keyboard,0,e)}},this._keyboardBlurEvent=()=>{if(this._keyboardActive){let e=this._inputs[l.Keyboard][0];for(let t=0;t<e.length;t++)if(0!==e[t]){e[t]=0;let i=M.CreateDeviceEvent(l.Keyboard,0,t,0,this,this._elementToAttachTo);this._onInputChanged(l.Keyboard,0,i)}this._usingMacOs&&this._metaKeys.splice(0,this._metaKeys.length)}},this._elementToAttachTo.addEventListener("keydown",this._keyboardDownEvent),this._elementToAttachTo.addEventListener("keyup",this._keyboardUpEvent),this._elementToAttachTo.addEventListener("blur",this._keyboardBlurEvent)}_handlePointerActions(){this._maxTouchPoints=(0,T.IsNavigatorAvailable)()&&navigator.maxTouchPoints||2,this._activeTouchIds||(this._activeTouchIds=Array(this._maxTouchPoints));for(let e=0;e<this._maxTouchPoints;e++)this._activeTouchIds[e]=-1;this._pointerMoveEvent=e=>{let t=this._getPointerType(e),i=t===l.Mouse?0:this._activeTouchIds.indexOf(e.pointerId);if(t===l.Touch&&-1===i){let s=this._activeTouchIds.indexOf(-1);if(!(s>=0))return void S.Tools.Warn(`Max number of touches exceeded. Ignoring touches in excess of ${this._maxTouchPoints}`);i=s,this._activeTouchIds[s]=e.pointerId,this._onDeviceConnected(t,i)}this._inputs[t]||(this._inputs[t]={}),this._inputs[t][i]||this._addPointerDevice(t,i,e.clientX,e.clientY);let s=this._inputs[t][i];s&&(e.inputIndex=d.Move,s[d.Horizontal]=e.clientX,s[d.Vertical]=e.clientY,t===l.Touch&&0===s[d.LeftClick]&&(s[d.LeftClick]=1),void 0===e.pointerId&&(e.pointerId=this._mouseId),this._onInputChanged(t,i,e),this._usingSafari||-1===e.button||(e.inputIndex=e.button+2,s[e.button+2]=+!s[e.button+2],this._onInputChanged(t,i,e)))},this._pointerDownEvent=e=>{let t=this._getPointerType(e),i=t===l.Mouse?0:e.pointerId;if(t===l.Touch){let t=this._activeTouchIds.indexOf(e.pointerId);if(-1===t&&(t=this._activeTouchIds.indexOf(-1)),!(t>=0))return void S.Tools.Warn(`Max number of touches exceeded. Ignoring touches in excess of ${this._maxTouchPoints}`);i=t,this._activeTouchIds[t]=e.pointerId}this._inputs[t]||(this._inputs[t]={}),this._inputs[t][i]?t===l.Touch&&this._onDeviceConnected(t,i):this._addPointerDevice(t,i,e.clientX,e.clientY);let s=this._inputs[t][i];if(s){let r=s[d.Horizontal],n=s[d.Vertical];if(t===l.Mouse){if(void 0===e.pointerId&&(e.pointerId=this._mouseId),!document.pointerLockElement)try{this._elementToAttachTo.setPointerCapture(this._mouseId)}catch(e){}}else if(e.pointerId&&!document.pointerLockElement)try{this._elementToAttachTo.setPointerCapture(e.pointerId)}catch(e){}s[d.Horizontal]=e.clientX,s[d.Vertical]=e.clientY,s[e.button+2]=1,e.inputIndex=e.button+2,this._onInputChanged(t,i,e),(r!==e.clientX||n!==e.clientY)&&(e.inputIndex=d.Move,this._onInputChanged(t,i,e))}},this._pointerUpEvent=e=>{let t=this._getPointerType(e),i=t===l.Mouse?0:this._activeTouchIds.indexOf(e.pointerId);if(t===l.Touch)if(-1===i)return;else this._activeTouchIds[i]=-1;let s=this._inputs[t]?.[i],r=e.button,n=s&&0!==s[r+2];if(!n&&this._isUsingFirefox&&this._usingMacOs&&s&&(n=0!==s[(r=2*(2!==r))+2]),n){let n=s[d.Horizontal],a=s[d.Vertical];s[d.Horizontal]=e.clientX,s[d.Vertical]=e.clientY,s[r+2]=0,void 0===e.pointerId&&(e.pointerId=this._mouseId),(n!==e.clientX||a!==e.clientY)&&(e.inputIndex=d.Move,this._onInputChanged(t,i,e)),e.inputIndex=r+2,t===l.Mouse&&this._mouseId>=0&&this._elementToAttachTo.hasPointerCapture?.(this._mouseId)?this._elementToAttachTo.releasePointerCapture(this._mouseId):e.pointerId&&this._elementToAttachTo.hasPointerCapture?.(e.pointerId)&&this._elementToAttachTo.releasePointerCapture(e.pointerId),this._onInputChanged(t,i,e),t===l.Touch&&this._onDeviceDisconnected(t,i)}},this._pointerCancelTouch=e=>{let t=this._activeTouchIds.indexOf(e);if(-1===t)return;this._elementToAttachTo.hasPointerCapture?.(e)&&this._elementToAttachTo.releasePointerCapture(e),this._inputs[l.Touch][t][d.LeftClick]=0;let i=M.CreateDeviceEvent(l.Touch,t,d.LeftClick,0,this,this._elementToAttachTo,e);this._onInputChanged(l.Touch,t,i),this._activeTouchIds[t]=-1,this._onDeviceDisconnected(l.Touch,t)},this._pointerCancelEvent=e=>{if("mouse"===e.pointerType){let e=this._inputs[l.Mouse][0];this._mouseId>=0&&this._elementToAttachTo.hasPointerCapture?.(this._mouseId)&&this._elementToAttachTo.releasePointerCapture(this._mouseId);for(let t=d.LeftClick;t<=d.BrowserForward;t++)if(1===e[t]){e[t]=0;let i=M.CreateDeviceEvent(l.Mouse,0,t,0,this,this._elementToAttachTo);this._onInputChanged(l.Mouse,0,i)}}else this._pointerCancelTouch(e.pointerId)},this._pointerLeaveEvent=e=>{"pen"===e.pointerType&&this._pointerCancelTouch(e.pointerId)},this._wheelEventName="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";let e=!1,t=function(){};try{let i=Object.defineProperty({},"passive",{get:function(){e=!0}});this._elementToAttachTo.addEventListener("test",t,i),this._elementToAttachTo.removeEventListener("test",t,i)}catch(e){}this._pointerBlurEvent=()=>{if(this.isDeviceAvailable(l.Mouse)){let e=this._inputs[l.Mouse][0];this._mouseId>=0&&this._elementToAttachTo.hasPointerCapture?.(this._mouseId)&&this._elementToAttachTo.releasePointerCapture(this._mouseId);for(let t=d.LeftClick;t<=d.BrowserForward;t++)if(1===e[t]){e[t]=0;let i=M.CreateDeviceEvent(l.Mouse,0,t,0,this,this._elementToAttachTo);this._onInputChanged(l.Mouse,0,i)}}if(this.isDeviceAvailable(l.Touch)){let e=this._inputs[l.Touch];for(let t=0;t<this._activeTouchIds.length;t++){let i=this._activeTouchIds[t];if(this._elementToAttachTo.hasPointerCapture?.(i)&&this._elementToAttachTo.releasePointerCapture(i),-1!==i&&e[t]?.[d.LeftClick]===1){e[t][d.LeftClick]=0;let s=M.CreateDeviceEvent(l.Touch,t,d.LeftClick,0,this,this._elementToAttachTo,i);this._onInputChanged(l.Touch,t,s),this._activeTouchIds[t]=-1,this._onDeviceDisconnected(l.Touch,t)}}}},this._pointerWheelEvent=e=>{let t=l.Mouse;this._inputs[t]||(this._inputs[t]=[]),this._inputs[t][0]||(this._pointerActive=!0,this._registerDevice(t,0,R));let i=this._inputs[t][0];i&&(i[d.MouseWheelX]=e.deltaX||0,i[d.MouseWheelY]=e.deltaY||e.wheelDelta||0,i[d.MouseWheelZ]=e.deltaZ||0,void 0===e.pointerId&&(e.pointerId=this._mouseId),0!==i[d.MouseWheelX]&&(e.inputIndex=d.MouseWheelX,this._onInputChanged(t,0,e)),0!==i[d.MouseWheelY]&&(e.inputIndex=d.MouseWheelY,this._onInputChanged(t,0,e)),0!==i[d.MouseWheelZ]&&(e.inputIndex=d.MouseWheelZ,this._onInputChanged(t,0,e)))},this._usingMacOs&&this._isUsingChromium&&(this._pointerMacOsChromeOutEvent=e=>{e.buttons>1&&this._pointerCancelEvent(e)},this._elementToAttachTo.addEventListener("lostpointercapture",this._pointerMacOsChromeOutEvent)),this._elementToAttachTo.addEventListener(this._eventPrefix+"move",this._pointerMoveEvent),this._elementToAttachTo.addEventListener(this._eventPrefix+"down",this._pointerDownEvent),this._elementToAttachTo.addEventListener(this._eventPrefix+"up",this._pointerUpEvent),this._elementToAttachTo.addEventListener(this._eventPrefix+"cancel",this._pointerCancelEvent),this._elementToAttachTo.addEventListener(this._eventPrefix+"leave",this._pointerLeaveEvent),this._elementToAttachTo.addEventListener("blur",this._pointerBlurEvent),this._elementToAttachTo.addEventListener(this._wheelEventName,this._pointerWheelEvent,!!e&&{passive:!1}),this._pointerInputClearObserver=this._engine.onEndFrameObservable.add(()=>{if(this.isDeviceAvailable(l.Mouse)){let e=this._inputs[l.Mouse][0];e[d.MouseWheelX]=0,e[d.MouseWheelY]=0,e[d.MouseWheelZ]=0}})}_handleGamepadActions(){this._gamepadConnectedEvent=e=>{this._addGamePad(e.gamepad)},this._gamepadDisconnectedEvent=e=>{if(this._gamepads){let t=this._getGamepadDeviceType(e.gamepad.id),i=e.gamepad.index;this._unregisterDevice(t,i),delete this._gamepads[i]}},window.addEventListener("gamepadconnected",this._gamepadConnectedEvent),window.addEventListener("gamepaddisconnected",this._gamepadDisconnectedEvent)}_updateDevice(e,t,i){let s=navigator.getGamepads()[t];if(s&&e===this._gamepads[t]){let r=this._inputs[e][t];i>=s.buttons.length?r[i]=s.axes[i-s.buttons.length].valueOf():r[i]=s.buttons[i].value}}_getGamepadDeviceType(e){return -1!==e.indexOf("054c")?-1!==e.indexOf("0ce6")?l.DualSense:l.DualShock:-1!==e.indexOf("Xbox One")||-1!==e.search("Xbox 360")||-1!==e.search("xinput")||-1!==e.indexOf("045e")&&-1===e.indexOf("Surface Dock")?l.Xbox:-1!==e.indexOf("057e")?l.Switch:l.Generic}_getPointerType(e){let t=l.Mouse;return("touch"===e.pointerType||"pen"===e.pointerType||e.touches)&&(t=l.Touch),t}}class I{constructor(e,t,i=0){this.deviceType=t,this.deviceSlot=i,this.onInputChangedObservable=new P.Observable,this._deviceInputSystem=e}getInput(e){return this._deviceInputSystem.pollInput(this.deviceType,this.deviceSlot,e)}}class k{constructor(e){this._registeredManagers=[],this._refCount=0,this.registerManager=e=>{for(let t=0;t<this._devices.length;t++){let i=this._devices[t];for(let s in i){let i=+s;e._addDevice(new I(this._deviceInputSystem,t,i))}}this._registeredManagers.push(e)},this.unregisterManager=e=>{let t=this._registeredManagers.indexOf(e);t>-1&&this._registeredManagers.splice(t,1)};const t=Object.keys(l).length/2;this._devices=Array(t);const i=(e,t)=>{for(let i of(this._devices[e]||(this._devices[e]=[]),this._devices[e][t]||(this._devices[e][t]=t),this._registeredManagers)){let s=new I(this._deviceInputSystem,e,t);i._addDevice(s)}},s=(e,t)=>{for(let i of(this._devices[e]?.[t]&&delete this._devices[e][t],this._registeredManagers))i._removeDevice(e,t)},r=(e,t,i)=>{if(i)for(let s of this._registeredManagers)s._onInputChanged(e,t,i)};"u">typeof _native?this._deviceInputSystem=new O(i,s,r):this._deviceInputSystem=new E(e,i,s,r)}dispose(){this._deviceInputSystem.dispose()}}class D{getDeviceSource(e,t){if(void 0===t){if(void 0===this._firstDevice[e])return null;t=this._firstDevice[e]}return this._devices[e]&&void 0!==this._devices[e][t]?this._devices[e][t]:null}getDeviceSources(e){return this._devices[e]?this._devices[e].filter(e=>!!e):[]}constructor(e){const t=Object.keys(l).length/2;this._devices=Array(t),this._firstDevice=Array(t),this._engine=e,this._engine._deviceSourceManager||(this._engine._deviceSourceManager=new k(e)),this._engine._deviceSourceManager._refCount++,this.onDeviceConnectedObservable=new P.Observable(e=>{for(let t of this._devices)if(t)for(let i of t)i&&this.onDeviceConnectedObservable.notifyObserver(e,i)}),this.onDeviceDisconnectedObservable=new P.Observable,this._engine._deviceSourceManager.registerManager(this),this._onDisposeObserver=e.onDisposeObservable.add(()=>{this.dispose()})}dispose(){this.onDeviceConnectedObservable.clear(),this.onDeviceDisconnectedObservable.clear(),this._engine._deviceSourceManager&&(this._engine._deviceSourceManager.unregisterManager(this),--this._engine._deviceSourceManager._refCount<1&&(this._engine._deviceSourceManager.dispose(),delete this._engine._deviceSourceManager)),this._engine.onDisposeObservable.remove(this._onDisposeObserver)}_addDevice(e){this._devices[e.deviceType]||(this._devices[e.deviceType]=[]),this._devices[e.deviceType][e.deviceSlot]||(this._devices[e.deviceType][e.deviceSlot]=e,this._updateFirstDevices(e.deviceType)),this.onDeviceConnectedObservable.notifyObservers(e)}_removeDevice(e,t){let i=this._devices[e]?.[t];this.onDeviceDisconnectedObservable.notifyObservers(i),this._devices[e]?.[t]&&delete this._devices[e][t],this._updateFirstDevices(e)}_onInputChanged(e,t,i){this._devices[e]?.[t]?.onInputChangedObservable.notifyObservers(i)}_updateFirstDevices(e){switch(e){case l.Keyboard:case l.Mouse:this._firstDevice[e]=0;break;case l.Touch:case l.DualSense:case l.DualShock:case l.Xbox:case l.Switch:case l.Generic:{delete this._firstDevice[e];let t=this._devices[e];if(t){for(let i=0;i<t.length;i++)if(t[i]){this._firstDevice[e]=i;break}}}}}}var A=e.i(81623);class w{}w._IsPickingAvailable=!1,e.s(["_ImportHelper",0,w],5785);class x{constructor(){this._singleClick=!1,this._doubleClick=!1,this._hasSwiped=!1,this._ignore=!1}get singleClick(){return this._singleClick}get doubleClick(){return this._doubleClick}get hasSwiped(){return this._hasSwiped}get ignore(){return this._ignore}set singleClick(e){this._singleClick=e}set doubleClick(e){this._doubleClick=e}set hasSwiped(e){this._hasSwiped=e}set ignore(e){this._ignore=e}}class B{constructor(e){if(this._alreadyAttached=!1,this._meshPickProceed=!1,this._currentPickResult=null,this._previousPickResult=null,this._activePointerIds=[],this._activePointerIdsCount=0,this._doubleClickOccured=!1,this._isSwiping=!1,this._swipeButtonPressed=-1,this._skipPointerTap=!1,this._isMultiTouchGesture=!1,this._pointerX=0,this._pointerY=0,this._startingPointerPosition=new b.Vector2(0,0),this._previousStartingPointerPosition=new b.Vector2(0,0),this._startingPointerTime=0,this._previousStartingPointerTime=0,this._pointerCaptures={},this._meshUnderPointerId={},this._movePointerInfo=null,this._cameraObserverCount=0,this._delayedClicks=[null,null,null,null,null],this._deviceSourceManager=null,this._scene=e||A.EngineStore.LastCreatedScene,!this._scene)return}get meshUnderPointer(){return this._movePointerInfo&&(this._movePointerInfo._generatePickInfo(),this._movePointerInfo=null),this._pointerOverMesh}getMeshUnderPointerByPointerId(e){return this._meshUnderPointerId[e]||null}get unTranslatedPointer(){return new b.Vector2(this._unTranslatedPointerX,this._unTranslatedPointerY)}get pointerX(){return this._pointerX}set pointerX(e){this._pointerX=e}get pointerY(){return this._pointerY}set pointerY(e){this._pointerY=e}_updatePointerPosition(e){let t=this._scene.getEngine().getInputElementClientRect();t&&(this._pointerX=e.clientX-t.left,this._pointerY=e.clientY-t.top,this._unTranslatedPointerX=this._pointerX,this._unTranslatedPointerY=this._pointerY)}_processPointerMove(e,t){let i,s=this._scene,r=s.getEngine(),n=r.getInputElement();for(let i of(n&&(n.tabIndex=r.canvasTabIndex,s.doNotHandleCursors||(n.style.cursor=s.defaultCursor)),this._setCursorAndPointerOverMesh(e,t,s),s._pointerMoveStage)){e=e||this._pickMove(t);let s=!!e?.pickedMesh;e=i.action(this._unTranslatedPointerX,this._unTranslatedPointerY,e,s,n)}let a=t.inputIndex>=d.MouseWheelX&&t.inputIndex<=d.MouseWheelZ?v.PointerEventTypes.POINTERWHEEL:v.PointerEventTypes.POINTERMOVE;s.onPointerMove&&(e=e||this._pickMove(t),s.onPointerMove(t,e,a)),e?(i=new v.PointerInfo(a,t,e),this._setRayOnPointerInfo(e,t)):(i=new v.PointerInfo(a,t,null,this),this._movePointerInfo=i),s.onPointerObservable.hasObservers()&&s.onPointerObservable.notifyObservers(i,a)}_setRayOnPointerInfo(e,t){let i=this._scene;e&&w._IsPickingAvailable&&!e.ray&&(e.ray=i.createPickingRay(t.offsetX,t.offsetY,b.Matrix.Identity(),i.activeCamera))}_addCameraPointerObserver(e,t){return this._cameraObserverCount++,this._scene.onPointerObservable.add(e,t)}_removeCameraPointerObserver(e){return this._cameraObserverCount--,this._scene.onPointerObservable.remove(e)}_checkForPicking(){return!!(this._scene.onPointerObservable.observers.length>this._cameraObserverCount||this._scene.onPointerPick)}_checkPrePointerObservable(e,t,i){let s=this._scene,r=new v.PointerInfoPre(i,t,this._unTranslatedPointerX,this._unTranslatedPointerY);return e&&(r.originalPickingInfo=e,r.ray=e.ray,"xr-near"===t.pointerType&&e.originMesh&&(r.nearInteractionPickingInfo=e)),s.onPrePointerObservable.notifyObservers(r,i),!!r.skipOnPointerObservable}_pickMove(e){let t=this._scene,i=t.pick(this._unTranslatedPointerX,this._unTranslatedPointerY,t.pointerMovePredicate,t.pointerMoveFastCheck,t.cameraToUseForPointers,t.pointerMoveTrianglePredicate);return this._setCursorAndPointerOverMesh(i,e,t),i}_setCursorAndPointerOverMesh(e,t,i){let s=i.getEngine().getInputElement();if(e?.pickedMesh){if(this.setPointerOverMesh(e.pickedMesh,t.pointerId,e,t),!i.doNotHandleCursors&&s&&this._pointerOverMesh){let e=this._pointerOverMesh._getActionManagerForTrigger();e&&e.hasPointerTriggers&&(s.style.cursor=e.hoverCursor||i.hoverCursor)}}else this.setPointerOverMesh(null,t.pointerId,e,t)}simulatePointerMove(e,t){let i=new PointerEvent("pointermove",t);i.inputIndex=d.Move,this._checkPrePointerObservable(e,i,v.PointerEventTypes.POINTERMOVE)||this._processPointerMove(e,i)}simulatePointerDown(e,t){let i=new PointerEvent("pointerdown",t);i.inputIndex=i.button+2,this._checkPrePointerObservable(e,i,v.PointerEventTypes.POINTERDOWN)||this._processPointerDown(e,i)}_processPointerDown(e,i){let s,r=this._scene;if(e?.pickedMesh){this._pickedDownMesh=e.pickedMesh;let s=e.pickedMesh._getActionManagerForTrigger();if(s){if(s.hasPickTriggers)switch(s.processTrigger(5,new t(e.pickedMesh,r.pointerX,r.pointerY,e.pickedMesh,i,e)),i.button){case 0:s.processTrigger(2,new t(e.pickedMesh,r.pointerX,r.pointerY,e.pickedMesh,i,e));break;case 1:s.processTrigger(4,new t(e.pickedMesh,r.pointerX,r.pointerY,e.pickedMesh,i,e));break;case 2:s.processTrigger(3,new t(e.pickedMesh,r.pointerX,r.pointerY,e.pickedMesh,i,e))}s.hasSpecificTrigger(8)&&window.setTimeout(()=>{let e=r.pick(this._unTranslatedPointerX,this._unTranslatedPointerY,e=>e.isPickable&&e.isVisible&&e.isReady()&&e.actionManager&&e.actionManager.hasSpecificTrigger(8)&&e===this._pickedDownMesh,!1,r.cameraToUseForPointers);e?.pickedMesh&&s&&0!==this._activePointerIdsCount&&Date.now()-this._startingPointerTime>B.LongPressDelay&&!this._isPointerSwiping()&&(this._startingPointerTime=0,s.processTrigger(8,t.CreateNew(e.pickedMesh,i)))},B.LongPressDelay)}}else for(let t of r._pointerDownStage)e=t.action(this._unTranslatedPointerX,this._unTranslatedPointerY,e,i,!1);let n=v.PointerEventTypes.POINTERDOWN;e?(r.onPointerDown&&r.onPointerDown(i,e,n),s=new v.PointerInfo(n,i,e),this._setRayOnPointerInfo(e,i)):s=new v.PointerInfo(n,i,null,this),r.onPointerObservable.hasObservers()&&r.onPointerObservable.notifyObservers(s,n)}_isPointerSwiping(){return this._isSwiping}simulatePointerUp(e,t,i){let s=new PointerEvent("pointerup",t);s.inputIndex=d.Move;let r=new x;i?r.doubleClick=!0:r.singleClick=!0,this._checkPrePointerObservable(e,s,v.PointerEventTypes.POINTERUP)||this._processPointerUp(e,s,r)}_processPointerUp(e,i,s){let r=this._scene;if(e?.pickedMesh){if(this._pickedUpMesh=e.pickedMesh,this._pickedDownMesh===this._pickedUpMesh&&(r.onPointerPick&&r.onPointerPick(i,e),s.singleClick&&!s.ignore&&r.onPointerObservable.observers.length>this._cameraObserverCount)){let t=v.PointerEventTypes.POINTERPICK,s=new v.PointerInfo(t,i,e);this._setRayOnPointerInfo(e,i),r.onPointerObservable.notifyObservers(s,t)}let n=e.pickedMesh._getActionManagerForTrigger();if(n&&!s.ignore){n.processTrigger(7,t.CreateNew(e.pickedMesh,i,e)),!s.hasSwiped&&s.singleClick&&n.processTrigger(1,t.CreateNew(e.pickedMesh,i,e));let r=e.pickedMesh._getActionManagerForTrigger(6);s.doubleClick&&r&&r.processTrigger(6,t.CreateNew(e.pickedMesh,i,e))}}else if(!s.ignore)for(let t of r._pointerUpStage)e=t.action(this._unTranslatedPointerX,this._unTranslatedPointerY,e,i,s.doubleClick);if(this._pickedDownMesh&&this._pickedDownMesh!==this._pickedUpMesh){let e=this._pickedDownMesh._getActionManagerForTrigger(16);e&&e.processTrigger(16,t.CreateNew(this._pickedDownMesh,i))}if(!s.ignore){let t=new v.PointerInfo(v.PointerEventTypes.POINTERUP,i,e);if(this._setRayOnPointerInfo(e,i),r.onPointerObservable.notifyObservers(t,v.PointerEventTypes.POINTERUP),r.onPointerUp&&r.onPointerUp(i,e,v.PointerEventTypes.POINTERUP),!s.hasSwiped&&!this._skipPointerTap&&!this._isMultiTouchGesture){let t=0;if(s.singleClick?t=v.PointerEventTypes.POINTERTAP:s.doubleClick&&(t=v.PointerEventTypes.POINTERDOUBLETAP),t){let s=new v.PointerInfo(t,i,e);r.onPointerObservable.hasObservers()&&r.onPointerObservable.hasSpecificMask(t)&&r.onPointerObservable.notifyObservers(s,t)}}}}isPointerCaptured(e=0){return this._pointerCaptures[e]}attachControl(e=!0,i=!0,s=!0,r=null){let n=this._scene,a=n.getEngine();r||(r=a.getInputElement()),this._alreadyAttached&&this.detachControl(),r&&(this._alreadyAttachedTo=r),this._deviceSourceManager=new D(a),this._initActionManager=e=>{if(!this._meshPickProceed){let t=!n.skipPointerUpPicking&&(0!==n._registeredActions||this._checkForPicking()||n.onPointerUp)?n.pick(this._unTranslatedPointerX,this._unTranslatedPointerY,n.pointerUpPredicate,n.pointerUpFastCheck,n.cameraToUseForPointers,n.pointerUpTrianglePredicate):null;this._currentPickResult=t,t&&(e=t.hit&&t.pickedMesh?t.pickedMesh._getActionManagerForTrigger():null),this._meshPickProceed=!0}return e},this._delayedSimpleClick=(e,t,i)=>{if((Date.now()-this._previousStartingPointerTime>B.DoubleClickDelay&&!this._doubleClickOccured||e!==this._previousButtonPressed)&&(this._doubleClickOccured=!1,t.singleClick=!0,t.ignore=!1,this._delayedClicks[e])){let t=this._delayedClicks[e].evt,i=v.PointerEventTypes.POINTERTAP,s=new v.PointerInfo(i,t,this._currentPickResult);n.onPointerObservable.hasObservers()&&n.onPointerObservable.hasSpecificMask(i)&&n.onPointerObservable.notifyObservers(s,i),this._delayedClicks[e]=null}},this._initClickEvent=(e,t,i,s)=>{let r=new x;this._currentPickResult=null;let n=null,a=e.hasSpecificMask(v.PointerEventTypes.POINTERPICK)||t.hasSpecificMask(v.PointerEventTypes.POINTERPICK)||e.hasSpecificMask(v.PointerEventTypes.POINTERTAP)||t.hasSpecificMask(v.PointerEventTypes.POINTERTAP)||e.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP)||t.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP);!a&&m&&(n=this._initActionManager(n,r))&&(a=n.hasPickTriggers);let o=!1;if(a=a&&!this._isMultiTouchGesture){let a=i.button;if(r.hasSwiped=this._isPointerSwiping(),!r.hasSwiped){let h=!B.ExclusiveDoubleClickMode;if(!h&&(h=!e.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP)&&!t.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP))&&!m.HasSpecificTrigger(6)&&(n=this._initActionManager(n,r))&&(h=!n.hasSpecificTrigger(6)),h)(Date.now()-this._previousStartingPointerTime>B.DoubleClickDelay||a!==this._previousButtonPressed)&&(r.singleClick=!0,s(r,this._currentPickResult),o=!0);else{let e={evt:i,clickInfo:r,timeoutId:window.setTimeout(this._delayedSimpleClick.bind(this,a,r,s),B.DoubleClickDelay)};this._delayedClicks[a]=e}let l=e.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP)||t.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP);!l&&m.HasSpecificTrigger(6)&&(n=this._initActionManager(n,r))&&(l=n.hasSpecificTrigger(6)),l&&(a===this._previousButtonPressed&&Date.now()-this._previousStartingPointerTime<B.DoubleClickDelay&&!this._doubleClickOccured?(r.hasSwiped||this._isPointerSwiping()?(this._doubleClickOccured=!1,this._previousStartingPointerTime=this._startingPointerTime,this._previousStartingPointerPosition.x=this._startingPointerPosition.x,this._previousStartingPointerPosition.y=this._startingPointerPosition.y,this._previousButtonPressed=a,B.ExclusiveDoubleClickMode?(this._delayedClicks[a]&&(clearTimeout(this._delayedClicks[a]?.timeoutId),this._delayedClicks[a]=null),s(r,this._previousPickResult)):s(r,this._currentPickResult)):(this._previousStartingPointerTime=0,this._doubleClickOccured=!0,r.doubleClick=!0,r.ignore=!1,B.ExclusiveDoubleClickMode&&this._delayedClicks[a]&&(clearTimeout(this._delayedClicks[a]?.timeoutId),this._delayedClicks[a]=null),s(r,this._currentPickResult)),o=!0):(this._doubleClickOccured=!1,this._previousStartingPointerTime=this._startingPointerTime,this._previousStartingPointerPosition.x=this._startingPointerPosition.x,this._previousStartingPointerPosition.y=this._startingPointerPosition.y,this._previousButtonPressed=a))}}o||s(r,this._currentPickResult)},this._onPointerMove=e=>{if(this._updatePointerPosition(e),this._isSwiping||-1===this._swipeButtonPressed||(this._isSwiping=Math.abs(this._startingPointerPosition.x-this._pointerX)>B.DragMovementThreshold||Math.abs(this._startingPointerPosition.y-this._pointerY)>B.DragMovementThreshold),a.isPointerLock&&a._verifyPointerLock(),this._checkPrePointerObservable(null,e,e.inputIndex>=d.MouseWheelX&&e.inputIndex<=d.MouseWheelZ?v.PointerEventTypes.POINTERWHEEL:v.PointerEventTypes.POINTERMOVE)||!n.cameraToUseForPointers&&!n.activeCamera)return;if(n.skipPointerMovePicking)return void this._processPointerMove(new f.PickingInfo,e);n.pointerMovePredicate||(n.pointerMovePredicate=e=>e.isPickable&&e.isVisible&&e.isReady()&&e.isEnabled()&&(e.enablePointerMoveEvents||n.constantlyUpdateMeshUnderPointer||null!==e._getActionManagerForTrigger())&&(!n.cameraToUseForPointers||(n.cameraToUseForPointers.layerMask&e.layerMask)!=0));let t=n._registeredActions>0||n.constantlyUpdateMeshUnderPointer?this._pickMove(e):null;this._processPointerMove(t,e)},this._onPointerDown=e=>{let t,i=this._activePointerIds.indexOf(-1);if(-1===i?this._activePointerIds.push(e.pointerId):this._activePointerIds[i]=e.pointerId,this._activePointerIdsCount++,this._pickedDownMesh=null,this._meshPickProceed=!1,B.ExclusiveDoubleClickMode){for(let t=0;t<this._delayedClicks.length;t++)if(this._delayedClicks[t])if(e.button===t)clearTimeout(this._delayedClicks[t]?.timeoutId);else{let e=this._delayedClicks[t].clickInfo;this._doubleClickOccured=!1,e.singleClick=!0,e.ignore=!1;let i=this._delayedClicks[t].evt,s=v.PointerEventTypes.POINTERTAP,r=new v.PointerInfo(s,i,this._currentPickResult);n.onPointerObservable.hasObservers()&&n.onPointerObservable.hasSpecificMask(s)&&n.onPointerObservable.notifyObservers(r,s),this._delayedClicks[t]=null}}this._updatePointerPosition(e),-1===this._swipeButtonPressed&&(this._swipeButtonPressed=e.button),n.preventDefaultOnPointerDown&&r&&(e.preventDefault(),r.focus()),this._startingPointerPosition.x=this._pointerX,this._startingPointerPosition.y=this._pointerY,this._startingPointerTime=Date.now(),this._checkPrePointerObservable(null,e,v.PointerEventTypes.POINTERDOWN)||(n.cameraToUseForPointers||n.activeCamera)&&(this._pointerCaptures[e.pointerId]=!0,n.pointerDownPredicate||(n.pointerDownPredicate=e=>e.isPickable&&e.isVisible&&e.isReady()&&e.isEnabled()&&(!n.cameraToUseForPointers||(n.cameraToUseForPointers.layerMask&e.layerMask)!=0)),this._pickedDownMesh=null,t=!n.skipPointerDownPicking&&(0!==n._registeredActions||this._checkForPicking()||n.onPointerDown)?n.pick(this._unTranslatedPointerX,this._unTranslatedPointerY,n.pointerDownPredicate,n.pointerDownFastCheck,n.cameraToUseForPointers,n.pointerDownTrianglePredicate):new f.PickingInfo,this._processPointerDown(t,e))},this._onPointerUp=e=>{let t=this._activePointerIds.indexOf(e.pointerId);-1!==t&&(this._activePointerIds[t]=-1,this._activePointerIdsCount--,this._pickedUpMesh=null,this._meshPickProceed=!1,this._updatePointerPosition(e),n.preventDefaultOnPointerUp&&r&&(e.preventDefault(),r.focus()),this._initClickEvent(n.onPrePointerObservable,n.onPointerObservable,e,(t,i)=>{if(n.onPrePointerObservable.hasObservers()&&(this._skipPointerTap=!1,!t.ignore)){if(this._checkPrePointerObservable(null,e,v.PointerEventTypes.POINTERUP)){this._swipeButtonPressed===e.button&&(this._isSwiping=!1,this._swipeButtonPressed=-1),0===e.buttons&&(this._pointerCaptures[e.pointerId]=!1);return}!t.hasSwiped&&(t.singleClick&&n.onPrePointerObservable.hasSpecificMask(v.PointerEventTypes.POINTERTAP)&&this._checkPrePointerObservable(null,e,v.PointerEventTypes.POINTERTAP)&&(this._skipPointerTap=!0),t.doubleClick&&n.onPrePointerObservable.hasSpecificMask(v.PointerEventTypes.POINTERDOUBLETAP)&&this._checkPrePointerObservable(null,e,v.PointerEventTypes.POINTERDOUBLETAP)&&(this._skipPointerTap=!0))}if(!this._pointerCaptures[e.pointerId]){this._swipeButtonPressed===e.button&&(this._isSwiping=!1,this._swipeButtonPressed=-1);return}0===e.buttons&&(this._pointerCaptures[e.pointerId]=!1),(n.cameraToUseForPointers||n.activeCamera)&&(n.pointerUpPredicate||(n.pointerUpPredicate=e=>e.isPickable&&e.isVisible&&e.isReady()&&e.isEnabled()&&(!n.cameraToUseForPointers||(n.cameraToUseForPointers.layerMask&e.layerMask)!=0)),!this._meshPickProceed&&(m&&m.HasTriggers||this._checkForPicking()||n.onPointerUp)&&this._initActionManager(null,t),i||(i=this._currentPickResult),this._processPointerUp(i,e,t),this._previousPickResult=this._currentPickResult,this._swipeButtonPressed===e.button&&(this._isSwiping=!1,this._swipeButtonPressed=-1))}))},this._onKeyDown=e=>{let i=y.KeyboardEventTypes.KEYDOWN;if(n.onPreKeyboardObservable.hasObservers()){let t=new y.KeyboardInfoPre(i,e);if(n.onPreKeyboardObservable.notifyObservers(t,i),t.skipOnKeyboardObservable)return}if(n.onKeyboardObservable.hasObservers()){let t=new y.KeyboardInfo(i,e);n.onKeyboardObservable.notifyObservers(t,i)}n.actionManager&&n.actionManager.processTrigger(14,t.CreateNewFromScene(n,e))},this._onKeyUp=e=>{let i=y.KeyboardEventTypes.KEYUP;if(n.onPreKeyboardObservable.hasObservers()){let t=new y.KeyboardInfoPre(i,e);if(n.onPreKeyboardObservable.notifyObservers(t,i),t.skipOnKeyboardObservable)return}if(n.onKeyboardObservable.hasObservers()){let t=new y.KeyboardInfo(i,e);n.onKeyboardObservable.notifyObservers(t,i)}n.actionManager&&n.actionManager.processTrigger(15,t.CreateNewFromScene(n,e))},this._deviceSourceManager.onDeviceConnectedObservable.add(t=>{t.deviceType===l.Mouse?t.onInputChangedObservable.add(r=>{this._originMouseEvent=r,r.inputIndex===d.LeftClick||r.inputIndex===d.MiddleClick||r.inputIndex===d.RightClick||r.inputIndex===d.BrowserBack||r.inputIndex===d.BrowserForward?i&&1===t.getInput(r.inputIndex)?this._onPointerDown(r):e&&0===t.getInput(r.inputIndex)&&this._onPointerUp(r):s&&(r.inputIndex===d.Move?this._onPointerMove(r):(r.inputIndex===d.MouseWheelX||r.inputIndex===d.MouseWheelY||r.inputIndex===d.MouseWheelZ)&&this._onPointerMove(r))}):t.deviceType===l.Touch?t.onInputChangedObservable.add(r=>{r.inputIndex===d.LeftClick&&(i&&1===t.getInput(r.inputIndex)?(this._onPointerDown(r),this._activePointerIdsCount>1&&(this._isMultiTouchGesture=!0)):e&&0===t.getInput(r.inputIndex)&&(this._onPointerUp(r),0===this._activePointerIdsCount&&(this._isMultiTouchGesture=!1))),s&&r.inputIndex===d.Move&&this._onPointerMove(r)}):t.deviceType===l.Keyboard&&t.onInputChangedObservable.add(e=>{"keydown"===e.type?this._onKeyDown(e):"keyup"===e.type&&this._onKeyUp(e)})}),this._alreadyAttached=!0}detachControl(){this._alreadyAttached&&(this._deviceSourceManager.dispose(),this._deviceSourceManager=null,this._alreadyAttachedTo&&!this._scene.doNotHandleCursors&&(this._alreadyAttachedTo.style.cursor=this._scene.defaultCursor),this._alreadyAttached=!1,this._alreadyAttachedTo=null)}setPointerOverMesh(e,i=0,s,r){let n;if(this._meshUnderPointerId[i]===e&&(!e||!e._internalAbstractMeshDataInfo._pointerOverDisableMeshTesting))return;let a=this._meshUnderPointerId[i];a&&(n=a._getActionManagerForTrigger(10))&&n.processTrigger(10,new t(a,this._pointerX,this._pointerY,e,r,{pointerId:i})),e?(this._meshUnderPointerId[i]=e,this._pointerOverMesh=e,(n=e._getActionManagerForTrigger(9))&&n.processTrigger(9,new t(e,this._pointerX,this._pointerY,e,r,{pointerId:i,pickResult:s}))):(delete this._meshUnderPointerId[i],this._pointerOverMesh=null),this._scene.onMeshUnderPointerUpdatedObservable.hasObservers()&&this._scene.onMeshUnderPointerUpdatedObservable.notifyObservers({mesh:e,pointerId:i})}getPointerOverMesh(){return this.meshUnderPointer}_invalidateMesh(e){for(let t in this._pointerOverMesh===e&&(this._pointerOverMesh=null),this._pickedDownMesh===e&&(this._pickedDownMesh=null),this._pickedUpMesh===e&&(this._pickedUpMesh=null),this._meshUnderPointerId)this._meshUnderPointerId[t]===e&&delete this._meshUnderPointerId[t]}}B.DragMovementThreshold=10,B.LongPressDelay=500,B.DoubleClickDelay=300,B.ExclusiveDoubleClickMode=!1,e.s(["InputManager",0,B],44903)},7581,e=>{"use strict";class t{static get UniqueId(){let e=this._UniqueIdCounter;return this._UniqueIdCounter++,e}}t._UniqueIdCounter=1,e.s(["UniqueIdGenerator",0,t])},66749,e=>{"use strict";var t,i,s,r,n,a,o,h,l,d,c,u,g,p,_,v,m,f,b,y,P,C,M,O,T,S,R,E,I,k,D,A,w,x,B,N,L,F,U,G,W,X,z,j,Y,H,V,q,K,Z,$,Q,J,ee,et,ei=e.i(65740),es=e.i(23240),er=e.i(36395),en=e.i(99267),ea=e.i(45707),eo=e.i(50454),eh=e.i(76312),el=e.i(96265),ed=e.i(46862),ec=e.i(33855),eu=e.i(50107),eg=e.i(38705),ep=e.i(63132),e_=e.i(94160),ev=e.i(471),em=e.i(19905),ef=e.i(64545),eb=e.i(81623),ey=e.i(75405),eP=e.i(44903),eC=e.i(67359),eM=e.i(70653),eO=e.i(85531),eT=e.i(7581),eS=e.i(46712),eR=e.i(21823),eE=e.i(48657);class eI{constructor(){this.pointerDownFastCheck=!1,this.pointerUpFastCheck=!1,this.pointerMoveFastCheck=!1,this.skipPointerMovePicking=!1,this.skipPointerDownPicking=!1,this.skipPointerUpPicking=!1}}var ek=e.i(13379),eD=e.i(77052);let eA=new el.Vector4,ew=new el.Vector4;(t=et||(et={}))[t.BackwardCompatible=0]="BackwardCompatible",t[t.Intermediate=1]="Intermediate",t[t.Aggressive=2]="Aggressive";class ex{static DefaultMaterialFactory(e){throw(0,ey._WarnImport)("StandardMaterial")}static CollisionCoordinatorFactory(){throw(0,ey._WarnImport)("DefaultCollisionCoordinator")}get clearColor(){return this._clearColor}set clearColor(e){e!==this._clearColor&&(this._clearColor=e,this.onClearColorChangedObservable.notifyObservers(this._clearColor))}get imageProcessingConfiguration(){return this._imageProcessingConfiguration}get performancePriority(){return this._performancePriority}set performancePriority(e){if(e!==this._performancePriority){switch(this._performancePriority=e,e){case 0:this.skipFrustumClipping=!1,this._renderingManager.maintainStateBetweenFrames=!1,this.skipPointerMovePicking=!1,this.autoClear=!0;break;case 1:this.skipFrustumClipping=!1,this._renderingManager.maintainStateBetweenFrames=!1,this.skipPointerMovePicking=!0,this.autoClear=!1;break;case 2:this.skipFrustumClipping=!0,this._renderingManager.maintainStateBetweenFrames=!0,this.skipPointerMovePicking=!0,this.autoClear=!1}this.onScenePerformancePriorityChangedObservable.notifyObservers(e)}}set forceWireframe(e){this._forceWireframe!==e&&(this._forceWireframe=e,this.markAllMaterialsAsDirty(16))}get forceWireframe(){return this._forceWireframe}set skipFrustumClipping(e){this._skipFrustumClipping!==e&&(this._skipFrustumClipping=e)}get skipFrustumClipping(){return this._skipFrustumClipping}set forcePointsCloud(e){this._forcePointsCloud!==e&&(this._forcePointsCloud=e,this.markAllMaterialsAsDirty(16))}get forcePointsCloud(){return this._forcePointsCloud}get environmentTexture(){return this._environmentTexture}set environmentTexture(e){this._environmentTexture!==e&&(this._environmentTexture=e,this.onEnvironmentTextureChangedObservable.notifyObservers(e),this.markAllMaterialsAsDirty(1))}getNodes(){let e=[];for(let t of(e=(e=(e=(e=e.concat(this.meshes)).concat(this.lights)).concat(this.cameras)).concat(this.transformNodes),this.skeletons))e=e.concat(t.bones);return e}get animationPropertiesOverride(){return this._animationPropertiesOverride}set animationPropertiesOverride(e){this._animationPropertiesOverride=e}set onDispose(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)}set beforeRender(e){this._onBeforeRenderObserver&&this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),e&&(this._onBeforeRenderObserver=this.onBeforeRenderObservable.add(e))}set afterRender(e){this._onAfterRenderObserver&&this.onAfterRenderObservable.remove(this._onAfterRenderObserver),e&&(this._onAfterRenderObserver=this.onAfterRenderObservable.add(e))}set beforeCameraRender(e){this._onBeforeCameraRenderObserver&&this.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver),this._onBeforeCameraRenderObserver=this.onBeforeCameraRenderObservable.add(e)}set afterCameraRender(e){this._onAfterCameraRenderObserver&&this.onAfterCameraRenderObservable.remove(this._onAfterCameraRenderObserver),this._onAfterCameraRenderObserver=this.onAfterCameraRenderObservable.add(e)}get pointerDownPredicate(){return this._pointerPickingConfiguration.pointerDownPredicate}set pointerDownPredicate(e){this._pointerPickingConfiguration.pointerDownPredicate=e}get pointerUpPredicate(){return this._pointerPickingConfiguration.pointerUpPredicate}set pointerUpPredicate(e){this._pointerPickingConfiguration.pointerUpPredicate=e}get pointerMovePredicate(){return this._pointerPickingConfiguration.pointerMovePredicate}set pointerMovePredicate(e){this._pointerPickingConfiguration.pointerMovePredicate=e}get pointerDownFastCheck(){return this._pointerPickingConfiguration.pointerDownFastCheck}set pointerDownFastCheck(e){this._pointerPickingConfiguration.pointerDownFastCheck=e}get pointerUpFastCheck(){return this._pointerPickingConfiguration.pointerUpFastCheck}set pointerUpFastCheck(e){this._pointerPickingConfiguration.pointerUpFastCheck=e}get pointerMoveFastCheck(){return this._pointerPickingConfiguration.pointerMoveFastCheck}set pointerMoveFastCheck(e){this._pointerPickingConfiguration.pointerMoveFastCheck=e}get skipPointerMovePicking(){return this._pointerPickingConfiguration.skipPointerMovePicking}set skipPointerMovePicking(e){this._pointerPickingConfiguration.skipPointerMovePicking=e}get skipPointerDownPicking(){return this._pointerPickingConfiguration.skipPointerDownPicking}set skipPointerDownPicking(e){this._pointerPickingConfiguration.skipPointerDownPicking=e}get skipPointerUpPicking(){return this._pointerPickingConfiguration.skipPointerUpPicking}set skipPointerUpPicking(e){this._pointerPickingConfiguration.skipPointerUpPicking=e}get unTranslatedPointer(){return this._inputManager.unTranslatedPointer}static get DragMovementThreshold(){return eP.InputManager.DragMovementThreshold}static set DragMovementThreshold(e){eP.InputManager.DragMovementThreshold=e}static get LongPressDelay(){return eP.InputManager.LongPressDelay}static set LongPressDelay(e){eP.InputManager.LongPressDelay=e}static get DoubleClickDelay(){return eP.InputManager.DoubleClickDelay}static set DoubleClickDelay(e){eP.InputManager.DoubleClickDelay=e}static get ExclusiveDoubleClickMode(){return eP.InputManager.ExclusiveDoubleClickMode}static set ExclusiveDoubleClickMode(e){eP.InputManager.ExclusiveDoubleClickMode=e}get _eyePosition(){return this._forcedViewPosition??this.activeCamera?.globalPosition??el.Vector3.ZeroReadOnly}bindEyePosition(e,t="vEyePosition",i=!1){let s=this._eyePosition,r=this.useRightHandedSystem===(null!=this._mirroredCameraPosition),n=this.floatingOriginOffset,a=eA.set(s.x,s.y,s.z,r?-1:1),o=a.subtractFromFloatsToRef(n.x,n.y,n.z,0,ew);return e&&(i?e.setFloat3(t,o.x,o.y,o.z):e.setVector4(t,o)),a}finalizeSceneUbo(){let e=this.getSceneUniformBuffer(),t=this.bindEyePosition(null),i=this.floatingOriginOffset;return e.updateFloat4("vEyePosition",t.x-i.x,t.y-i.y,t.z-i.z,t.w),e.update(),e}set useRightHandedSystem(e){this._useRightHandedSystem!==e&&(this._useRightHandedSystem=e,this.markAllMaterialsAsDirty(16))}get useRightHandedSystem(){return this._useRightHandedSystem}setStepId(e){this._currentStepId=e}getStepId(){return this._currentStepId}getInternalStep(){return this._currentInternalStep}set fogEnabled(e){this._fogEnabled!==e&&(this._fogEnabled=e,this.markAllMaterialsAsDirty(16))}get fogEnabled(){return this._fogEnabled}set fogMode(e){this._fogMode!==e&&(this._fogMode=e,this.markAllMaterialsAsDirty(16))}get fogMode(){return this._fogMode}get prePass(){return!!this.prePassRenderer&&this.prePassRenderer.defaultRT.enabled}set shadowsEnabled(e){this._shadowsEnabled!==e&&(this._shadowsEnabled=e,this.markAllMaterialsAsDirty(2))}get shadowsEnabled(){return this._shadowsEnabled}set lightsEnabled(e){this._lightsEnabled!==e&&(this._lightsEnabled=e,this.markAllMaterialsAsDirty(2))}get lightsEnabled(){return this._lightsEnabled}get activeCameras(){return this._activeCameras}set activeCameras(e){this._unObserveActiveCameras&&(this._unObserveActiveCameras(),this._unObserveActiveCameras=null),e&&(this._unObserveActiveCameras=(0,eE._ObserveArray)(e,()=>{this.onActiveCamerasChanged.notifyObservers(this)})),this._activeCameras=e}get activeCamera(){return this._activeCamera}set activeCamera(e){e!==this._activeCamera&&(this._activeCamera=e,this.onActiveCameraChanged.notifyObservers(this))}get _hasDefaultMaterial(){return ex.DefaultMaterialFactory!==ex._OriginalDefaultMaterialFactory}get defaultMaterial(){return this._defaultMaterial||(this._defaultMaterial=ex.DefaultMaterialFactory(this)),this._defaultMaterial}set defaultMaterial(e){this._defaultMaterial=e}set texturesEnabled(e){this._texturesEnabled!==e&&(this._texturesEnabled=e,this.markAllMaterialsAsDirty(1))}get texturesEnabled(){return this._texturesEnabled}get frameGraph(){return this._frameGraph}set frameGraph(e){if(this._frameGraph){this._frameGraph=e,e||(this.customRenderFunction=this._currentCustomRenderFunction);return}this._frameGraph=e,e&&(this._currentCustomRenderFunction=this.customRenderFunction,this.customRenderFunction=this._renderWithFrameGraph,this.activeCamera=null)}set skeletonsEnabled(e){this._skeletonsEnabled!==e&&(this._skeletonsEnabled=e,this.markAllMaterialsAsDirty(8))}get skeletonsEnabled(){return this._skeletonsEnabled}get collisionCoordinator(){return this._collisionCoordinator||(this._collisionCoordinator=ex.CollisionCoordinatorFactory(),this._collisionCoordinator.init(this)),this._collisionCoordinator}get renderingManager(){return this._renderingManager}get frustumPlanes(){return this._frustumPlanes}_registerTransientComponents(){if(this._transientComponents.length>0){for(let e of this._transientComponents)e.register();this._transientComponents.length=0}}_addComponent(e){this._components.push(e),this._transientComponents.push(e),e.addFromContainer&&e.serialize&&this._serializableComponents.push(e)}_getComponent(e){for(let t of this._components)if(t.name===e)return t;return null}get uniqueId(){return this._uniqueId}constructor(e,t){this._inputManager=new eP.InputManager(this),this.cameraToUseForPointers=null,this._isScene=!0,this._blockEntityCollection=!1,this.autoClear=!0,this.autoClearDepthAndStencil=!0,this._clearColor=new eM.Color4(.2,.2,.3,1),this.onClearColorChangedObservable=new en.Observable,this.ambientColor=new eM.Color3(0,0,0),this.environmentIntensity=1,this.iblIntensity=1,this._performancePriority=0,this.onScenePerformancePriorityChangedObservable=new en.Observable,this._forceWireframe=!1,this._skipFrustumClipping=!1,this._forcePointsCloud=!1,this.rootNodes=[],this.cameras=[],this.lights=[],this.meshes=[],this.skeletons=[],this.particleSystems=[],this.animations=[],this.animationGroups=[],this.multiMaterials=[],this.materials=[],this.morphTargetManagers=[],this.geometries=[],this.transformNodes=[],this.actionManagers=[],this.objectRenderers=[],this.textures=[],this._environmentTexture=null,this.postProcesses=[],this.effectLayers=[],this.sounds=null,this.layers=[],this.lensFlareSystems=[],this.proceduralTextures=[],this.animationsEnabled=!0,this._animationPropertiesOverride=null,this.useConstantAnimationDeltaTime=!1,this.constantlyUpdateMeshUnderPointer=!1,this.hoverCursor="pointer",this.defaultCursor="",this.doNotHandleCursors=!1,this.preventDefaultOnPointerDown=!0,this.preventDefaultOnPointerUp=!0,this.metadata=null,this.reservedDataStore=null,this.disableOfflineSupportExceptionRules=[],this.onDisposeObservable=new en.Observable,this._onDisposeObserver=null,this.onBeforeRenderObservable=new en.Observable,this._onBeforeRenderObserver=null,this.onAfterRenderObservable=new en.Observable,this.onAfterRenderCameraObservable=new en.Observable,this._onAfterRenderObserver=null,this.onBeforeAnimationsObservable=new en.Observable,this.onAfterAnimationsObservable=new en.Observable,this.onBeforeDrawPhaseObservable=new en.Observable,this.onAfterDrawPhaseObservable=new en.Observable,this.onReadyObservable=new en.Observable,this.onBeforeCameraRenderObservable=new en.Observable,this._onBeforeCameraRenderObserver=null,this.onAfterCameraRenderObservable=new en.Observable,this._onAfterCameraRenderObserver=null,this.onBeforeActiveMeshesEvaluationObservable=new en.Observable,this.onAfterActiveMeshesEvaluationObservable=new en.Observable,this.onBeforeParticlesRenderingObservable=new en.Observable,this.onAfterParticlesRenderingObservable=new en.Observable,this.onDataLoadedObservable=new en.Observable,this.onNewCameraAddedObservable=new en.Observable,this.onCameraRemovedObservable=new en.Observable,this.onNewLightAddedObservable=new en.Observable,this.onLightRemovedObservable=new en.Observable,this.onNewGeometryAddedObservable=new en.Observable,this.onGeometryRemovedObservable=new en.Observable,this.onNewTransformNodeAddedObservable=new en.Observable,this.onTransformNodeRemovedObservable=new en.Observable,this.onNewMeshAddedObservable=new en.Observable,this.onMeshRemovedObservable=new en.Observable,this.onNewSkeletonAddedObservable=new en.Observable,this.onSkeletonRemovedObservable=new en.Observable,this.onNewParticleSystemAddedObservable=new en.Observable,this.onParticleSystemRemovedObservable=new en.Observable,this.onNewAnimationGroupAddedObservable=new en.Observable,this.onAnimationGroupRemovedObservable=new en.Observable,this.onNewMaterialAddedObservable=new en.Observable,this.onNewMultiMaterialAddedObservable=new en.Observable,this.onMaterialRemovedObservable=new en.Observable,this.onMultiMaterialRemovedObservable=new en.Observable,this.onNewTextureAddedObservable=new en.Observable,this.onTextureRemovedObservable=new en.Observable,this.onNewFrameGraphAddedObservable=new en.Observable,this.onFrameGraphRemovedObservable=new en.Observable,this.onNewObjectRendererAddedObservable=new en.Observable,this.onObjectRendererRemovedObservable=new en.Observable,this.onNewPostProcessAddedObservable=new en.Observable,this.onPostProcessRemovedObservable=new en.Observable,this.onNewEffectLayerAddedObservable=new en.Observable,this.onEffectLayerRemovedObservable=new en.Observable,this.onBeforeRenderTargetsRenderObservable=new en.Observable,this.onAfterRenderTargetsRenderObservable=new en.Observable,this.onBeforeStepObservable=new en.Observable,this.onAfterStepObservable=new en.Observable,this.onActiveCameraChanged=new en.Observable,this.onActiveCamerasChanged=new en.Observable,this.onBeforeRenderingGroupObservable=new en.Observable,this.onAfterRenderingGroupObservable=new en.Observable,this.onMeshImportedObservable=new en.Observable,this.onAnimationFileImportedObservable=new en.Observable,this.onEnvironmentTextureChangedObservable=new en.Observable,this.onMeshUnderPointerUpdatedObservable=new en.Observable,this._registeredForLateAnimationBindings=new ea.SmartArrayNoDuplicate(256),this._pointerPickingConfiguration=new eI,this.onPrePointerObservable=new en.Observable,this.onPointerObservable=new en.Observable,this.onPreKeyboardObservable=new en.Observable,this.onKeyboardObservable=new en.Observable,this._useRightHandedSystem=!1,this._timeAccumulator=0,this._currentStepId=0,this._currentInternalStep=0,this._fogEnabled=!0,this._fogMode=ex.FOGMODE_NONE,this.fogColor=new eM.Color3(.2,.2,.3),this.fogDensity=.1,this.fogStart=0,this.fogEnd=1e3,this.needsPreviousWorldMatrices=!1,this._shadowsEnabled=!0,this._lightsEnabled=!0,this._unObserveActiveCameras=null,this._texturesEnabled=!0,this._frameGraph=null,this.frameGraphs=[],this.physicsEnabled=!0,this.particlesEnabled=!0,this.spritesEnabled=!0,this._skeletonsEnabled=!0,this.lensFlaresEnabled=!0,this.collisionsEnabled=!0,this.gravity=new el.Vector3(0,-9.807,0),this.postProcessesEnabled=!0,this.renderTargetsEnabled=!0,this.dumpNextRenderTargets=!1,this.customRenderTargets=[],this.importedMeshesFiles=[],this.probesEnabled=!0,this._meshesForIntersections=new ea.SmartArrayNoDuplicate(256),this.proceduralTexturesEnabled=!0,this._totalVertices=new eC.PerfCounter,this._activeIndices=new eC.PerfCounter,this._activeParticles=new eC.PerfCounter,this._activeBones=new eC.PerfCounter,this._animationTime=0,this.animationTimeScale=1,this._renderId=0,this._frameId=0,this._executeWhenReadyTimeoutId=null,this._intermediateRendering=!1,this._defaultFrameBufferCleared=!1,this._viewUpdateFlag=-1,this._projectionUpdateFlag=-1,this._toBeDisposed=Array(256),this._activeRequests=[],this._delayedFileRequests=null,this._pendingData=[],this._isDisposed=!1,this._isReadyChecks=[],this.dispatchAllSubMeshesOfActiveMeshes=!1,this._activeMeshes=new ea.SmartArray(256),this._processedMaterials=new ea.SmartArray(256),this._renderTargets=new ea.SmartArrayNoDuplicate(256),this._materialsRenderTargets=new ea.SmartArrayNoDuplicate(256),this._activeParticleSystems=new ea.SmartArray(256),this._activeSkeletons=new ea.SmartArrayNoDuplicate(32),this._softwareSkinnedMeshes=new ea.SmartArrayNoDuplicate(32),this._activeAnimatables=[],this._transformMatrix=el.Matrix.Zero(),this.requireLightSorting=!1,this._components=[],this._serializableComponents=[],this._transientComponents=[],this._beforeCameraUpdateStage=em.Stage.Create(),this._beforeClearStage=em.Stage.Create(),this._beforeRenderTargetClearStage=em.Stage.Create(),this._gatherRenderTargetsStage=em.Stage.Create(),this._gatherActiveCameraRenderTargetsStage=em.Stage.Create(),this._isReadyForMeshStage=em.Stage.Create(),this._beforeEvaluateActiveMeshStage=em.Stage.Create(),this._evaluateSubMeshStage=em.Stage.Create(),this._preActiveMeshStage=em.Stage.Create(),this._cameraDrawRenderTargetStage=em.Stage.Create(),this._beforeCameraDrawStage=em.Stage.Create(),this._beforeRenderTargetDrawStage=em.Stage.Create(),this._beforeRenderingGroupDrawStage=em.Stage.Create(),this._beforeRenderingMeshStage=em.Stage.Create(),this._afterRenderingMeshStage=em.Stage.Create(),this._afterRenderingGroupDrawStage=em.Stage.Create(),this._afterCameraDrawStage=em.Stage.Create(),this._afterCameraPostProcessStage=em.Stage.Create(),this._afterRenderTargetDrawStage=em.Stage.Create(),this._afterRenderTargetPostProcessStage=em.Stage.Create(),this._afterRenderStage=em.Stage.Create(),this._pointerMoveStage=em.Stage.Create(),this._pointerDownStage=em.Stage.Create(),this._pointerUpStage=em.Stage.Create(),this._geometriesByUniqueId=null,this._uniqueId=0,this._defaultMeshCandidates={data:[],length:0},this._defaultSubMeshCandidates={data:[],length:0},this.onReadyTimeoutObservable=new en.Observable,this.onReadyTimeoutDuration=12e4,this._timeoutChecksStartTime=0,this._floatingOriginScene=void 0,this._preventFreeActiveMeshesAndRenderingGroups=!1,this._activeMeshesFrozen=!1,this._activeMeshesFrozenButKeepClipping=!1,this._skipEvaluateActiveMeshesCompletely=!1,this._freezeActiveMeshesCancel=null,this._useCurrentFrameBuffer=!1,this._allowPostProcessClearColor=!0,this.getDeterministicFrameTime=()=>this._engine.getTimeStep(),this._getFloatingOriginScene=()=>this._floatingOriginScene,this._registeredActions=0,this._blockMaterialDirtyMechanism=!1,this._perfCollector=null,this.activeCameras=[],this._uniqueId=this.getUniqueId();const i={useGeometryUniqueIdsMap:!0,useMaterialMeshMap:!0,useClonedMeshMap:!0,virtual:!1,defaultCameraLayerMask:0xfffffff,defaultRenderableLayerMask:0xfffffff,...t};this.defaultCameraLayerMask=i.defaultCameraLayerMask,this.defaultRenderableLayerMask=i.defaultRenderableLayerMask,e=this._engine=e||eb.EngineStore.LastCreatedEngine,i.virtual?e._virtualScenes.push(this):(eb.EngineStore._LastCreatedScene=this,e.scenes.push(this)),(e.getCreationOptions().useLargeWorldRendering||t?.useFloatingOrigin)&&((0,e_.OverrideMatrixFunctions)(),this._floatingOriginScene=this,e_.FloatingOriginCurrentScene.getScene=this._getFloatingOriginScene),this._uid=null,this._renderingManager=new ev.RenderingManager(this),ep.PostProcessManager&&(this.postProcessManager=new ep.PostProcessManager(this)),(0,ef.IsWindowObjectExist)()&&this.attachControl(),this._createUbo(),ed.ImageProcessingConfiguration&&(this._imageProcessingConfiguration=new ed.ImageProcessingConfiguration),this.setDefaultCandidateProviders(),i.useGeometryUniqueIdsMap&&(this._geometriesByUniqueId={}),this.useMaterialMeshMap=i.useMaterialMeshMap,this.useClonedMeshMap=i.useClonedMeshMap,t&&t.virtual||e.onNewSceneAddedObservable.notifyObservers(this)}getClassName(){return"Scene"}_getDefaultMeshCandidates(){return this._defaultMeshCandidates.data=this.meshes,this._defaultMeshCandidates.length=this.meshes.length,this._defaultMeshCandidates}_getDefaultSubMeshCandidates(e){return this._defaultSubMeshCandidates.data=e.subMeshes,this._defaultSubMeshCandidates.length=e.subMeshes.length,this._defaultSubMeshCandidates}setDefaultCandidateProviders(){this.getActiveMeshCandidates=()=>this._getDefaultMeshCandidates(),this.getActiveSubMeshCandidates=e=>this._getDefaultSubMeshCandidates(e),this.getIntersectingSubMeshCandidates=(e,t)=>this._getDefaultSubMeshCandidates(e),this.getCollidingSubMeshCandidates=(e,t)=>this._getDefaultSubMeshCandidates(e)}get meshUnderPointer(){return this._inputManager.meshUnderPointer}get pointerX(){return this._inputManager.pointerX}set pointerX(e){this._inputManager.pointerX=e}get pointerY(){return this._inputManager.pointerY}set pointerY(e){this._inputManager.pointerY=e}getCachedMaterial(){return this._cachedMaterial}getCachedEffect(){return this._cachedEffect}getCachedVisibility(){return this._cachedVisibility}isCachedMaterialInvalid(e,t,i=1){return this._cachedEffect!==t||this._cachedMaterial!==e||this._cachedVisibility!==i}getEngine(){return this._engine}getTotalVertices(){return this._totalVertices.current}get totalVerticesPerfCounter(){return this._totalVertices}getActiveIndices(){return this._activeIndices.current}get totalActiveIndicesPerfCounter(){return this._activeIndices}getActiveParticles(){return this._activeParticles.current}get activeParticlesPerfCounter(){return this._activeParticles}getActiveBones(){return this._activeBones.current}get activeBonesPerfCounter(){return this._activeBones}getActiveMeshes(){return this._activeMeshes}getAnimationRatio(){return void 0!==this._animationRatio?this._animationRatio:1}getRenderId(){return this._renderId}getFrameId(){return this._frameId}incrementRenderId(){this._renderId++}_createUbo(){this.setSceneUniformBuffer(this.createSceneUniformBuffer())}simulatePointerMove(e,t){return this._inputManager.simulatePointerMove(e,t),this}simulatePointerDown(e,t){return this._inputManager.simulatePointerDown(e,t),this}simulatePointerUp(e,t,i){return this._inputManager.simulatePointerUp(e,t,i),this}isPointerCaptured(e=0){return this._inputManager.isPointerCaptured(e)}attachControl(e=!0,t=!0,i=!0){this._inputManager.attachControl(e,t,i)}detachControl(){this._inputManager.detachControl()}isReady(e=!0){let t;if(this._isDisposed)return!1;let i=this.getEngine(),s=i.currentRenderPassId;i.currentRenderPassId=this.activeCamera?.renderPassId??s;let r=!0;for(this._pendingData.length>0&&(r=!1),this.prePassRenderer?.update(),this.useOrderIndependentTransparency&&this.depthPeelingRenderer&&r&&(r=this.depthPeelingRenderer.isReady()),e&&(this._processedMaterials.reset(),this._materialsRenderTargets.reset()),t=0;t<this.meshes.length;t++){let s=this.meshes[t];if(!s.subMeshes||0===s.subMeshes.length)continue;if(!s.isReady(!0)){r=!1;continue}let n=s.hasThinInstances||"InstancedMesh"===s.getClassName()||"InstancedLinesMesh"===s.getClassName()||i.getCaps().instancedArrays&&s.instances.length>0;for(let e of this._isReadyForMeshStage)e.action(s,n)||(r=!1);if(!e)continue;let a=s.material||this.defaultMaterial;if(a)if(a._storeEffectOnSubMeshes)for(let e of s.subMeshes){let t=e.getMaterial();t&&t.hasRenderTargetTextures&&null!=t.getRenderTargetTextures&&-1===this._processedMaterials.indexOf(t)&&(this._processedMaterials.push(t),this._materialsRenderTargets.concatWithNoDuplicate(t.getRenderTargetTextures()))}else a.hasRenderTargetTextures&&null!=a.getRenderTargetTextures&&-1===this._processedMaterials.indexOf(a)&&(this._processedMaterials.push(a),this._materialsRenderTargets.concatWithNoDuplicate(a.getRenderTargetTextures()))}if(e){for(t=0;t<this._materialsRenderTargets.length;++t)this._materialsRenderTargets.data[t].isReadyForRendering()||(r=!1);for(t=0;t<this.customRenderTargets.length;++t)this.customRenderTargets[t].isReadyForRendering()||(r=!1)}for(t=0;t<this.geometries.length;t++)2===this.geometries[t].delayLoadState&&(r=!1);if(this.activeCameras&&this.activeCameras.length>0)for(let e of this.activeCameras)e.isReady(!0)||(r=!1);else this.activeCamera&&!this.activeCamera.isReady(!0)&&(r=!1);for(let e of this.particleSystems)e.isReady()||(r=!1);if(this.proceduralTexturesEnabled)for(let e of this.proceduralTextures)e.isReady()||(r=!1);if(this.layers)for(let e of this.layers)e.isReady()||(r=!1);if(this.effectLayers)for(let e of this.effectLayers)e.isLayerReady()||(r=!1);for(let e of this._isReadyChecks)e.isReady()||(r=!1);return i.areAllEffectsReady()||(r=!1),i.currentRenderPassId=s,r}resetCachedMaterial(){this._cachedMaterial=null,this._cachedEffect=null,this._cachedVisibility=null}registerBeforeRender(e){this.onBeforeRenderObservable.add(e)}unregisterBeforeRender(e){this.onBeforeRenderObservable.removeCallback(e)}registerAfterRender(e){this.onAfterRenderObservable.add(e)}unregisterAfterRender(e){this.onAfterRenderObservable.removeCallback(e)}_executeOnceBeforeRender(e){let t=()=>{e(),setTimeout(()=>{this.unregisterBeforeRender(t)})};this.registerBeforeRender(t)}executeOnceBeforeRender(e,t){void 0!==t?setTimeout(()=>{this._executeOnceBeforeRender(e)},t):this._executeOnceBeforeRender(e)}addPendingData(e){this._pendingData.push(e)}removePendingData(e){let t=this.isLoading,i=this._pendingData.indexOf(e);-1!==i&&this._pendingData.splice(i,1),t&&!this.isLoading&&this.onDataLoadedObservable.notifyObservers(this)}getWaitingItemsCount(){return this._pendingData.length}get isLoading(){return this._pendingData.length>0}addIsReadyCheck(e){-1===this._isReadyChecks.indexOf(e)&&this._isReadyChecks.push(e)}removeIsReadyCheck(e){let t=this._isReadyChecks.indexOf(e);-1!==t&&this._isReadyChecks.splice(t,1)}executeWhenReady(e,t=!1){this.onReadyObservable.addOnce(e),null===this._executeWhenReadyTimeoutId&&this._checkIsReady(t)}async whenReadyAsync(e=!1){return await new Promise(t=>{this.executeWhenReady(()=>{t()},e)})}_clearReadynessChecksData(){this._timeoutChecksStartTime=0,this.onReadyTimeoutObservable.clear(),this.onReadyObservable.clear(),this._executeWhenReadyTimeoutId=null}_checkIsReady(e=!1){if(this._registerTransientComponents(),0===this._timeoutChecksStartTime)this._timeoutChecksStartTime=er.PrecisionDate.Now;else if(this.onReadyTimeoutDuration>0&&er.PrecisionDate.Now-this._timeoutChecksStartTime>this.onReadyTimeoutDuration){this.onReadyTimeoutObservable.notifyObservers(this),this._clearReadynessChecksData();return}if(this.isReady(e)){this.onReadyObservable.notifyObservers(this),this._clearReadynessChecksData();return}this._isDisposed?this._clearReadynessChecksData():this._executeWhenReadyTimeoutId=setTimeout(()=>{this.incrementRenderId(),this._checkIsReady(e)},100)}get animatables(){return this._activeAnimatables}resetLastAnimationTimeFrame(){this._animationTimeLast=er.PrecisionDate.Now}getViewMatrix(){return this._viewMatrix}getProjectionMatrix(){return this._projectionMatrix}getInverseProjectionMatrix(){return this._inverseProjectionMatrix}getTransformMatrix(){return this._transformMatrix}setTransformMatrix(e,t,i,s){this._multiviewSceneUboIsActive=!!(i&&s&&this._multiviewSceneUbo),(this._viewUpdateFlag!==e.updateFlag||this._projectionUpdateFlag!==t.updateFlag)&&(this._viewUpdateFlag=e.updateFlag,this._projectionUpdateFlag=t.updateFlag,this._viewMatrix=e,this._projectionMatrix=t,this._inverseProjectionMatrix||(this._inverseProjectionMatrix=new el.Matrix),this._projectionMatrix.invertToRef(this._inverseProjectionMatrix),this._viewMatrix.multiplyToRef(this._projectionMatrix,this._transformMatrix),this._frustumPlanes?eO.Frustum.GetPlanesToRef(this._transformMatrix,this._frustumPlanes):this._frustumPlanes=eO.Frustum.GetPlanes(this._transformMatrix),this._multiviewSceneUboIsActive&&this._multiviewSceneUbo.useUbo?this._updateMultiviewUbo(i,s):this._sceneUbo.useUbo&&(this._sceneUbo.updateMatrix("viewProjection",this._transformMatrix),this._sceneUbo.updateMatrix("view",this._viewMatrix),this._sceneUbo.updateMatrix("projection",this._projectionMatrix),this._sceneUbo.updateMatrix("inverseProjection",this._inverseProjectionMatrix)))}getSceneUniformBuffer(){return this._multiviewSceneUboIsActive&&this._multiviewSceneUbo?this._multiviewSceneUbo:this._sceneUbo}createSceneUniformBuffer(e,t){let i="boolean"==typeof t?t:t?.trackUBOsInFrame,s=new ec.UniformBuffer(this._engine,void 0,!1,e??"scene",void 0,i);return s.addUniform("viewProjection",16),s.addUniform("view",16),s.addUniform("projection",16),s.addUniform("vEyePosition",4),s.addUniform("inverseProjection",16),s}setSceneUniformBuffer(e){this._sceneUbo=e,this._viewUpdateFlag=-1,this._projectionUpdateFlag=-1}get floatingOriginMode(){return void 0!==this._floatingOriginScene}get floatingOriginOffset(){return this.floatingOriginMode?this._eyePosition:el.Vector3.ZeroReadOnly}getUniqueId(){return eT.UniqueIdGenerator.UniqueId}addMesh(e,t=!1){if(!this._blockEntityCollection&&(this.meshes.push(e),e._resyncLightSources(),e.parent||e._addToSceneRootNodes(),es.TimingTools.SetImmediate(()=>{this.onNewMeshAddedObservable.notifyObservers(e)}),t))for(let t of e.getChildMeshes())this.addMesh(t)}removeMesh(e,t=!1){let i=this.meshes.indexOf(e);if(-1!==i&&(this.meshes.splice(i,1),e.parent||e._removeFromSceneRootNodes()),this._inputManager._invalidateMesh(e),this.onMeshRemovedObservable.notifyObservers(e),t)for(let t of e.getChildMeshes())this.removeMesh(t);return i}addTransformNode(e){this._blockEntityCollection||(e.getScene()!==this||-1===e._indexInSceneTransformNodesArray)&&(e._indexInSceneTransformNodesArray=this.transformNodes.length,this.transformNodes.push(e),e.parent||e._addToSceneRootNodes(),this.onNewTransformNodeAddedObservable.notifyObservers(e))}removeTransformNode(e){let t=e._indexInSceneTransformNodesArray;if(-1!==t){if(t!==this.transformNodes.length-1){let e=this.transformNodes[this.transformNodes.length-1];this.transformNodes[t]=e,e._indexInSceneTransformNodesArray=t}e._indexInSceneTransformNodesArray=-1,this.transformNodes.pop(),e.parent||e._removeFromSceneRootNodes()}return this.onTransformNodeRemovedObservable.notifyObservers(e),t}removeSkeleton(e){let t=this.skeletons.indexOf(e);return -1!==t&&(this.skeletons.splice(t,1),this.onSkeletonRemovedObservable.notifyObservers(e),this._executeActiveContainerCleanup(this._activeSkeletons)),t}removeMorphTargetManager(e){let t=this.morphTargetManagers.indexOf(e);return -1!==t&&this.morphTargetManagers.splice(t,1),t}removeLight(e){let t=this.lights.indexOf(e);if(-1!==t){for(let t of this.meshes)t._removeLightSource(e,!1);this.lights.splice(t,1),this.sortLightsByPriority(),e.parent||e._removeFromSceneRootNodes(),this.onLightRemovedObservable.notifyObservers(e)}return t}removeCamera(e){let t=this.cameras.indexOf(e);if(-1!==t&&(this.cameras.splice(t,1),e.parent||e._removeFromSceneRootNodes()),this.activeCameras){let t=this.activeCameras.indexOf(e);-1!==t&&this.activeCameras.splice(t,1)}return this.activeCamera===e&&(this.cameras.length>0?this.activeCamera=this.cameras[0]:this.activeCamera=null),this.onCameraRemovedObservable.notifyObservers(e),t}removeParticleSystem(e){let t=this.particleSystems.indexOf(e);return -1!==t&&(this.particleSystems.splice(t,1),this._executeActiveContainerCleanup(this._activeParticleSystems)),this.onParticleSystemRemovedObservable.notifyObservers(e),t}removeAnimation(e){let t=this.animations.indexOf(e);return -1!==t&&this.animations.splice(t,1),t}stopAnimation(e,t,i){}removeAnimationGroup(e){let t=this.animationGroups.indexOf(e);return -1!==t&&this.animationGroups.splice(t,1),this.onAnimationGroupRemovedObservable.notifyObservers(e),t}removeMultiMaterial(e){let t=this.multiMaterials.indexOf(e);return -1!==t&&this.multiMaterials.splice(t,1),this.onMultiMaterialRemovedObservable.notifyObservers(e),t}removeMaterial(e){let t=e._indexInSceneMaterialArray;if(-1!==t&&t<this.materials.length){if(t!==this.materials.length-1){let e=this.materials[this.materials.length-1];this.materials[t]=e,e._indexInSceneMaterialArray=t}e._indexInSceneMaterialArray=-1,this.materials.pop()}return this.onMaterialRemovedObservable.notifyObservers(e),t}removeActionManager(e){let t=this.actionManagers.indexOf(e);return -1!==t&&this.actionManagers.splice(t,1),t}removeTexture(e){let t=this.textures.indexOf(e);return -1!==t&&this.textures.splice(t,1),this.onTextureRemovedObservable.notifyObservers(e),t}removeFrameGraph(e){let t=this.frameGraphs.indexOf(e);return -1!==t&&this.frameGraphs.splice(t,1),this.onFrameGraphRemovedObservable.notifyObservers(e),t}removeObjectRenderer(e){let t=this.objectRenderers.indexOf(e);return -1!==t&&this.objectRenderers.splice(t,1),this.onObjectRendererRemovedObservable.notifyObservers(e),t}removePostProcess(e){let t=this.postProcesses.indexOf(e);return -1!==t&&this.postProcesses.splice(t,1),this.onPostProcessRemovedObservable.notifyObservers(e),t}removeEffectLayer(e){let t=this.effectLayers.indexOf(e);return -1!==t&&this.effectLayers.splice(t,1),this.onEffectLayerRemovedObservable.notifyObservers(e),t}addLight(e){if(!this._blockEntityCollection){for(let t of(this.lights.push(e),this.sortLightsByPriority(),e.parent||e._addToSceneRootNodes(),this.meshes))-1===t.lightSources.indexOf(e)&&(t.lightSources.push(e),t._resyncLightSources());es.TimingTools.SetImmediate(()=>{this.onNewLightAddedObservable.notifyObservers(e)})}}sortLightsByPriority(){this.requireLightSorting&&this.lights.sort(eR.LightConstants.CompareLightsPriority)}addCamera(e){!this._blockEntityCollection&&(this.cameras.push(e),es.TimingTools.SetImmediate(()=>{this.onNewCameraAddedObservable.notifyObservers(e)}),e.parent||e._addToSceneRootNodes())}addSkeleton(e){this._blockEntityCollection||(this.skeletons.push(e),es.TimingTools.SetImmediate(()=>{this.onNewSkeletonAddedObservable.notifyObservers(e)}))}addParticleSystem(e){this._blockEntityCollection||(this.particleSystems.push(e),es.TimingTools.SetImmediate(()=>{this.onNewParticleSystemAddedObservable.notifyObservers(e)}))}addAnimation(e){this._blockEntityCollection||this.animations.push(e)}addAnimationGroup(e){this._blockEntityCollection||(this.animationGroups.push(e),es.TimingTools.SetImmediate(()=>{this.onNewAnimationGroupAddedObservable.notifyObservers(e)}))}addMultiMaterial(e){this._blockEntityCollection||(this.multiMaterials.push(e),es.TimingTools.SetImmediate(()=>{this.onNewMultiMaterialAddedObservable.notifyObservers(e)}))}addMaterial(e){this._blockEntityCollection||(e.getScene()!==this||-1===e._indexInSceneMaterialArray)&&(e._indexInSceneMaterialArray=this.materials.length,this.materials.push(e),es.TimingTools.SetImmediate(()=>{this.onNewMaterialAddedObservable.notifyObservers(e)}))}addMorphTargetManager(e){this._blockEntityCollection||this.morphTargetManagers.push(e)}addGeometry(e){this._blockEntityCollection||(this._geometriesByUniqueId&&(this._geometriesByUniqueId[e.uniqueId]=this.geometries.length),this.geometries.push(e))}addActionManager(e){this.actionManagers.push(e)}addTexture(e){this._blockEntityCollection||(this.textures.push(e),this.onNewTextureAddedObservable.notifyObservers(e))}addFrameGraph(e){this.frameGraphs.push(e),es.TimingTools.SetImmediate(()=>{this.onNewFrameGraphAddedObservable.notifyObservers(e)})}addObjectRenderer(e){this.objectRenderers.push(e),es.TimingTools.SetImmediate(()=>{this.onNewObjectRendererAddedObservable.notifyObservers(e)})}addPostProcess(e){this._blockEntityCollection||(this.postProcesses.push(e),es.TimingTools.SetImmediate(()=>{this.onNewPostProcessAddedObservable.notifyObservers(e)}))}addEffectLayer(e){this._blockEntityCollection||(this.effectLayers.push(e),es.TimingTools.SetImmediate(()=>{this.onNewEffectLayerAddedObservable.notifyObservers(e)}))}switchActiveCamera(e,t=!0){this._engine.getInputElement()&&(this.activeCamera&&this.activeCamera.detachControl(),this.activeCamera=e,t&&e.attachControl())}setActiveCameraById(e){let t=this.getCameraById(e);return t?(this.activeCamera=t,t):null}setActiveCameraByName(e){let t=this.getCameraByName(e);return t?(this.activeCamera=t,t):null}getAnimationGroupByName(e){for(let t=0;t<this.animationGroups.length;t++)if(this.animationGroups[t].name===e)return this.animationGroups[t];return null}_getMaterial(e,t){for(let e=0;e<this.materials.length;e++){let i=this.materials[e];if(t(i))return i}if(e)for(let e=0;e<this.multiMaterials.length;e++){let i=this.multiMaterials[e];if(t(i))return i}return null}getMaterialByUniqueID(e,t=!1){return this.getMaterialByUniqueId(e,t)}getMaterialByUniqueId(e,t=!1){return this._getMaterial(t,t=>t.uniqueId===e)}getMaterialById(e,t=!1){return this._getMaterial(t,t=>t.id===e)}getMaterialByName(e,t=!1){return this._getMaterial(t,t=>t.name===e)}getLastMaterialById(e,t=!1){for(let t=this.materials.length-1;t>=0;t--)if(this.materials[t].id===e)return this.materials[t];if(t){for(let t=this.multiMaterials.length-1;t>=0;t--)if(this.multiMaterials[t].id===e)return this.multiMaterials[t]}return null}getTextureByUniqueId(e){for(let t=0;t<this.textures.length;t++)if(this.textures[t].uniqueId===e)return this.textures[t];return null}getTextureByName(e){for(let t=0;t<this.textures.length;t++)if(this.textures[t].name===e)return this.textures[t];return null}getCameraById(e){for(let t=0;t<this.cameras.length;t++)if(this.cameras[t].id===e)return this.cameras[t];return null}getCameraByUniqueId(e){for(let t=0;t<this.cameras.length;t++)if(this.cameras[t].uniqueId===e)return this.cameras[t];return null}getCameraByName(e){for(let t=0;t<this.cameras.length;t++)if(this.cameras[t].name===e)return this.cameras[t];return null}getBoneById(e){for(let t=0;t<this.skeletons.length;t++){let i=this.skeletons[t];for(let t=0;t<i.bones.length;t++)if(i.bones[t].id===e)return i.bones[t]}return null}getBoneByName(e){for(let t=0;t<this.skeletons.length;t++){let i=this.skeletons[t];for(let t=0;t<i.bones.length;t++)if(i.bones[t].name===e)return i.bones[t]}return null}getLightByName(e){for(let t=0;t<this.lights.length;t++)if(this.lights[t].name===e)return this.lights[t];return null}getLightById(e){for(let t=0;t<this.lights.length;t++)if(this.lights[t].id===e)return this.lights[t];return null}getLightByUniqueId(e){for(let t=0;t<this.lights.length;t++)if(this.lights[t].uniqueId===e)return this.lights[t];return null}getParticleSystemById(e){for(let t=0;t<this.particleSystems.length;t++)if(this.particleSystems[t].id===e)return this.particleSystems[t];return null}getGeometryById(e){for(let t=0;t<this.geometries.length;t++)if(this.geometries[t].id===e)return this.geometries[t];return null}_getGeometryByUniqueId(e){if(this._geometriesByUniqueId){let t=this._geometriesByUniqueId[e];if(void 0!==t)return this.geometries[t]}else for(let t=0;t<this.geometries.length;t++)if(this.geometries[t].uniqueId===e)return this.geometries[t];return null}getFrameGraphByName(e){for(let t=0;t<this.frameGraphs.length;t++)if(this.frameGraphs[t].name===e)return this.frameGraphs[t];return null}pushGeometry(e,t){return!(!t&&this._getGeometryByUniqueId(e.uniqueId))&&(this.addGeometry(e),es.TimingTools.SetImmediate(()=>{this.onNewGeometryAddedObservable.notifyObservers(e)}),!0)}removeGeometry(e){let t;if(this._geometriesByUniqueId){if(void 0===(t=this._geometriesByUniqueId[e.uniqueId]))return!1}else if((t=this.geometries.indexOf(e))<0)return!1;if(t!==this.geometries.length-1){let e=this.geometries[this.geometries.length-1];e&&(this.geometries[t]=e,this._geometriesByUniqueId&&(this._geometriesByUniqueId[e.uniqueId]=t))}return this._geometriesByUniqueId&&(this._geometriesByUniqueId[e.uniqueId]=void 0),this.geometries.pop(),this.onGeometryRemovedObservable.notifyObservers(e),!0}getGeometries(){return this.geometries}getMeshById(e){for(let t=0;t<this.meshes.length;t++)if(this.meshes[t].id===e)return this.meshes[t];return null}getMeshesById(e){return this.meshes.filter(function(t){return t.id===e})}getTransformNodeById(e){for(let t=0;t<this.transformNodes.length;t++)if(this.transformNodes[t].id===e)return this.transformNodes[t];return null}getTransformNodeByUniqueId(e){for(let t=0;t<this.transformNodes.length;t++)if(this.transformNodes[t].uniqueId===e)return this.transformNodes[t];return null}getTransformNodesById(e){return this.transformNodes.filter(function(t){return t.id===e})}getMeshByUniqueId(e){for(let t=0;t<this.meshes.length;t++)if(this.meshes[t].uniqueId===e)return this.meshes[t];return null}getLastMeshById(e){for(let t=this.meshes.length-1;t>=0;t--)if(this.meshes[t].id===e)return this.meshes[t];return null}getLastTransformNodeById(e){for(let t=this.transformNodes.length-1;t>=0;t--)if(this.transformNodes[t].id===e)return this.transformNodes[t];return null}getLastEntryById(e){let t;for(t=this.meshes.length-1;t>=0;t--)if(this.meshes[t].id===e)return this.meshes[t];for(t=this.transformNodes.length-1;t>=0;t--)if(this.transformNodes[t].id===e)return this.transformNodes[t];for(t=this.cameras.length-1;t>=0;t--)if(this.cameras[t].id===e)return this.cameras[t];for(t=this.lights.length-1;t>=0;t--)if(this.lights[t].id===e)return this.lights[t];for(t=this.skeletons.length-1;t>=0;t--){let i=this.skeletons[t];for(let t=i.bones.length-1;t>=0;t--)if(i.bones[t].id===e)return i.bones[t]}return null}getNodeById(e){let t=this.getMeshById(e);if(t)return t;let i=this.getTransformNodeById(e);if(i)return i;let s=this.getLightById(e);if(s)return s;let r=this.getCameraById(e);if(r)return r;let n=this.getBoneById(e);return n||null}getNodeByName(e){let t=this.getMeshByName(e);if(t)return t;let i=this.getTransformNodeByName(e);if(i)return i;let s=this.getLightByName(e);if(s)return s;let r=this.getCameraByName(e);if(r)return r;let n=this.getBoneByName(e);return n||null}getMeshByName(e){for(let t=0;t<this.meshes.length;t++)if(this.meshes[t].name===e)return this.meshes[t];return null}getTransformNodeByName(e){for(let t=0;t<this.transformNodes.length;t++)if(this.transformNodes[t].name===e)return this.transformNodes[t];return null}getLastSkeletonById(e){for(let t=this.skeletons.length-1;t>=0;t--)if(this.skeletons[t].id===e)return this.skeletons[t];return null}getSkeletonByUniqueId(e){for(let t=0;t<this.skeletons.length;t++)if(this.skeletons[t].uniqueId===e)return this.skeletons[t];return null}getSkeletonById(e){for(let t=0;t<this.skeletons.length;t++)if(this.skeletons[t].id===e)return this.skeletons[t];return null}getSkeletonByName(e){for(let t=0;t<this.skeletons.length;t++)if(this.skeletons[t].name===e)return this.skeletons[t];return null}getMorphTargetManagerById(e){for(let t=0;t<this.morphTargetManagers.length;t++)if(this.morphTargetManagers[t].uniqueId===e)return this.morphTargetManagers[t];return null}getMorphTargetById(e){for(let t=0;t<this.morphTargetManagers.length;++t){let i=this.morphTargetManagers[t];for(let t=0;t<i.numTargets;++t){let s=i.getTarget(t);if(s.id===e)return s}}return null}getMorphTargetByName(e){for(let t=0;t<this.morphTargetManagers.length;++t){let i=this.morphTargetManagers[t];for(let t=0;t<i.numTargets;++t){let s=i.getTarget(t);if(s.name===e)return s}}return null}getPostProcessByName(e){for(let t=0;t<this.postProcesses.length;++t){let i=this.postProcesses[t];if(i.name===e)return i}return null}isActiveMesh(e){return -1!==this._activeMeshes.indexOf(e)}get uid(){return this._uid||(this._uid=ei.Tools.RandomId()),this._uid}addExternalData(e,t){return this._externalData||(this._externalData=new eo.StringDictionary),this._externalData.add(e,t)}getExternalData(e){return this._externalData?this._externalData.get(e):null}getOrAddExternalDataWithFactory(e,t){return this._externalData||(this._externalData=new eo.StringDictionary),this._externalData.getOrAddWithFactory(e,t)}removeExternalData(e){return this._externalData.remove(e)}_evaluateSubMesh(e,t,i,s){if(s||e.isInFrustum(this._frustumPlanes)){for(let i of this._evaluateSubMeshStage)i.action(t,e);let i=e.getMaterial();null!=i&&(i.hasRenderTargetTextures&&null!=i.getRenderTargetTextures&&-1===this._processedMaterials.indexOf(i)&&(this._processedMaterials.push(i),this._materialsRenderTargets.concatWithNoDuplicate(i.getRenderTargetTextures())),this._renderingManager.dispatch(e,t,i))}}freeProcessedMaterials(){this._processedMaterials.dispose()}get blockfreeActiveMeshesAndRenderingGroups(){return this._preventFreeActiveMeshesAndRenderingGroups}set blockfreeActiveMeshesAndRenderingGroups(e){this._preventFreeActiveMeshesAndRenderingGroups!==e&&(e&&(this.freeActiveMeshes(),this.freeRenderingGroups()),this._preventFreeActiveMeshesAndRenderingGroups=e)}freeActiveMeshes(){if(!this.blockfreeActiveMeshesAndRenderingGroups&&(this._activeMeshes.dispose(),this.activeCamera&&this.activeCamera._activeMeshes&&this.activeCamera._activeMeshes.dispose(),this.activeCameras))for(let e=0;e<this.activeCameras.length;e++){let t=this.activeCameras[e];t&&t._activeMeshes&&t._activeMeshes.dispose()}}freeRenderingGroups(){if(!this.blockfreeActiveMeshesAndRenderingGroups&&(this._renderingManager&&this._renderingManager.freeRenderingGroups(),this.textures))for(let e=0;e<this.textures.length;e++){let t=this.textures[e];t&&t.renderList&&t.freeRenderingGroups()}}_isInIntermediateRendering(){return this._intermediateRendering}freezeActiveMeshes(e=!1,t,i,s=!0,r=!1){if(this.frameGraph){this._renderWithFrameGraph(!0,!1,!0);let n=this.frameGraph.getTasksByClassName(["FrameGraphObjectRendererTask","FrameGraphGeometryRendererTask"]);for(let e of n)e.objectRenderer._freezeActiveMeshes(s);return this._freezeActiveMeshesCancel=(0,es._RetryWithInterval)(()=>{let e=!0,t=!0;for(let i of n)e&&(e=i.objectRenderer._isFrozen),t&&(t=null!==i.objectRenderer._freezeActiveMeshesCancel);if(e)return!0;if(!t)throw Error("Freezing active meshes was cancelled");return!1},()=>{this._freezeActiveMeshesCancel=null,this._activeMeshesFrozen=!0,this._activeMeshesFrozenButKeepClipping=r,this._skipEvaluateActiveMeshesCompletely=e,t?.()},(e,t)=>{if(this._freezeActiveMeshesCancel=null,this.unfreezeActiveMeshes(),t){let t="Scene: Timeout while waiting for meshes to be frozen.";i?i(t):(ek.Logger.Error(t),e&&ek.Logger.Error(e))}else{let t="Scene: An unexpected error occurred while trying to freeze active meshes.";i?i(t):(ek.Logger.Error(t),e&&(ek.Logger.Error(e),e.stack&&ek.Logger.Error(e.stack)))}}),this}return this.executeWhenReady(()=>{if(!this.activeCamera){i&&i("No active camera found");return}if(this._frustumPlanes||this.updateTransformMatrix(),this._evaluateActiveMeshes(),this._activeMeshesFrozen=!0,this._activeMeshesFrozenButKeepClipping=r,this._skipEvaluateActiveMeshesCompletely=e,s)for(let e=0;e<this._activeMeshes.length;e++)this._activeMeshes.data[e]._freeze();t&&t()}),this}unfreezeActiveMeshes(){for(let e=0;e<this.meshes.length;e++){let t=this.meshes[e];t._internalAbstractMeshDataInfo&&(t._internalAbstractMeshDataInfo._isActive=!1)}if(this._freezeActiveMeshesCancel?.(),this._freezeActiveMeshesCancel=null,this.frameGraph)for(let e of this.frameGraph.getTasksByClassName(["FrameGraphObjectRendererTask","FrameGraphGeometryRendererTask"]))e.objectRenderer._unfreezeActiveMeshes();else for(let e=0;e<this._activeMeshes.length;e++)this._activeMeshes.data[e]._unFreeze();return this._activeMeshesFrozen=!1,this}_executeActiveContainerCleanup(e){(!this._engine.snapshotRendering||1!==this._engine.snapshotRenderingMode)&&this._activeMeshesFrozen&&this._activeMeshes.length||this.onBeforeRenderObservable.addOnce(()=>e.dispose())}_evaluateActiveMeshes(){if(this._engine.snapshotRendering&&1===this._engine.snapshotRenderingMode){this._activeMeshes.length>0&&(this.activeCamera?._activeMeshes.reset(),this._activeMeshes.reset(),this._renderingManager.reset(),this._processedMaterials.reset(),this._activeParticleSystems.reset(),this._activeSkeletons.reset(),this._softwareSkinnedMeshes.reset());return}if(this._activeMeshesFrozen&&this._activeMeshes.length){if(!this._skipEvaluateActiveMeshesCompletely){let e=this._activeMeshes.length;for(let t=0;t<e;t++)this._activeMeshes.data[t].computeWorldMatrix()}if(this._activeParticleSystems){let e=this._activeParticleSystems.length;for(let t=0;t<e;t++)this._activeParticleSystems.data[t].animate()}this._renderingManager.resetSprites();return}if(!this.activeCamera)return;for(let e of(this.onBeforeActiveMeshesEvaluationObservable.notifyObservers(this),this.activeCamera._activeMeshes.reset(),this._activeMeshes.reset(),this._renderingManager.reset(),this._processedMaterials.reset(),this._activeParticleSystems.reset(),this._activeSkeletons.reset(),this._softwareSkinnedMeshes.reset(),this._materialsRenderTargets.reset(),this._beforeEvaluateActiveMeshStage))e.action();let e=this.getActiveMeshCandidates(),t=e.length;for(let i=0;i<t;i++){let t=e.data[i],s=t._internalAbstractMeshDataInfo._currentLOD.get(this.activeCamera);if(s?s[1]=-1:(s=[t,-1],t._internalAbstractMeshDataInfo._currentLOD.set(this.activeCamera,s)),t.isBlocked||(this._totalVertices.addCount(t.getTotalVertices(),!1),!t.isReady()||!t.isEnabled()||t.scaling.hasAZeroComponent))continue;t.computeWorldMatrix(),t.actionManager&&t.actionManager.hasSpecificTriggers2(12,13)&&this._meshesForIntersections.pushNoDuplicate(t);let r=this.customLODSelector?this.customLODSelector(t,this.activeCamera):t.getLOD(this.activeCamera);if(s[0]=r,s[1]=this._frameId,null!=r&&(r!==t&&0!==r.billboardMode&&r.computeWorldMatrix(),t._preActivate(),t.isVisible&&t.visibility>0&&(t.layerMask&this.activeCamera.layerMask)!=0&&(this._skipFrustumClipping||t.alwaysSelectAsActiveMesh||t.isInFrustum(this._frustumPlanes)))){for(let e of(this._activeMeshes.push(t),this.activeCamera._activeMeshes.push(t),r!==t&&r._activate(this._renderId,!1),this._preActiveMeshStage))e.action(t);t._activate(this._renderId,!1)&&(t.isAnInstance?t._internalAbstractMeshDataInfo._actAsRegularMesh&&(r=t):r._internalAbstractMeshDataInfo._onlyForInstances=!1,r._internalAbstractMeshDataInfo._isActive=!0,this._activeMesh(t,r)),t._postActivate()}}if(this.onAfterActiveMeshesEvaluationObservable.notifyObservers(this),this.particlesEnabled){this.onBeforeParticlesRenderingObservable.notifyObservers(this);for(let e=0;e<this.particleSystems.length;e++){let t=this.particleSystems[e];if(!t.isStarted()||!t.emitter)continue;let i=t.emitter;(!i.position||i.isEnabled())&&(this._activeParticleSystems.push(t),t.animate(),this._renderingManager.dispatchParticles(t))}this.onAfterParticlesRenderingObservable.notifyObservers(this)}}_prepareSkeleton(e){this._skeletonsEnabled&&e.skeleton&&(this._activeSkeletons.pushNoDuplicate(e.skeleton)&&(e.skeleton.prepare(),this._activeBones.addCount(e.skeleton.bones.length,!1)),!e.computeBonesUsingShaders&&this._softwareSkinnedMeshes.pushNoDuplicate(e)&&this.frameGraph&&e.applySkeleton(e.skeleton))}_activeMesh(e,t){this._prepareSkeleton(t);let i=e.hasInstances||e.isAnInstance||this.dispatchAllSubMeshesOfActiveMeshes||this._skipFrustumClipping||t.alwaysSelectAsActiveMesh;if(t&&t.subMeshes&&t.subMeshes.length>0){let s=this.getActiveSubMeshCandidates(t),r=s.length;i=i||1===r;for(let n=0;n<r;n++){let r=s.data[n];this._evaluateSubMesh(r,t,e,i)}}}updateTransformMatrix(e){let t=this.activeCamera;if(t)if(t._renderingMultiview){let i=t._rigCameras[0],s=t._rigCameras[1];this.setTransformMatrix(i.getViewMatrix(),i.getProjectionMatrix(e),s.getViewMatrix(),s.getProjectionMatrix(e))}else this.setTransformMatrix(t.getViewMatrix(),t.getProjectionMatrix(e))}_bindFrameBuffer(e,t=!0){!this._useCurrentFrameBuffer&&(e&&e._multiviewTexture?e._multiviewTexture._bindFrameBuffer():e&&e.outputRenderTarget?e.outputRenderTarget._bindFrameBuffer():this._engine._currentFrameBufferIsDefaultFrameBuffer()||this._engine.restoreDefaultFramebuffer()),t&&this._clearFrameBuffer(e)}_clearFrameBuffer(e){if(e&&e._multiviewTexture);else if(e&&e.outputRenderTarget&&!e._renderingMultiview){let t=e.outputRenderTarget;t.onClearObservable.hasObservers()?t.onClearObservable.notifyObservers(this._engine):t.skipInitialClear||e.isRightCamera||(this.autoClear&&this._engine.clear(t.clearColor||this._clearColor,!t._cleared,!0,!0),t._cleared=!0)}else this._defaultFrameBufferCleared?this._engine.clear(null,!1,!0,!0):(this._defaultFrameBufferCleared=!0,this._clear())}_renderForCamera(e,t,i=!0){if(e&&e._skipRendering)return;let s=this._engine;if(this._activeCamera=e,!this.activeCamera)throw Error("Active camera not set");if(s.setViewport(this.activeCamera.viewport),this.resetCachedMaterial(),this._renderId++,!this.prePass&&i){let t=!0;e._renderingMultiview&&e.outputRenderTarget&&(t=e.outputRenderTarget.skipInitialClear,this.autoClear&&(this._defaultFrameBufferCleared=!1,e.outputRenderTarget.skipInitialClear=!1)),this._bindFrameBuffer(this._activeCamera),e._renderingMultiview&&e.outputRenderTarget&&(e.outputRenderTarget.skipInitialClear=t)}this.updateTransformMatrix(),this.onBeforeCameraRenderObservable.notifyObservers(this.activeCamera),this._engine.currentRenderPassId=e.outputRenderTarget?.renderPassId??e.renderPassId??0,this._evaluateActiveMeshes();for(let e=0;e<this._softwareSkinnedMeshes.length;e++){let t=this._softwareSkinnedMeshes.data[e];t.applySkeleton(t.skeleton)}for(let i of(this.onBeforeRenderTargetsRenderObservable.notifyObservers(this),this._renderTargets.concatWithNoDuplicate(this._materialsRenderTargets),e.customRenderTargets&&e.customRenderTargets.length>0&&this._renderTargets.concatWithNoDuplicate(e.customRenderTargets),t&&t.customRenderTargets&&t.customRenderTargets.length>0&&this._renderTargets.concatWithNoDuplicate(t.customRenderTargets),this.environmentTexture&&this.environmentTexture.isRenderTarget&&this._renderTargets.pushNoDuplicate(this.environmentTexture),this._gatherActiveCameraRenderTargetsStage))i.action(this._renderTargets);let r=!1;if(this.renderTargetsEnabled){let e;if(this._intermediateRendering=!0,this._renderTargets.length>0){ei.Tools.StartPerformanceCounter("Render targets",this._renderTargets.length>0);let t=this.getBoundingBoxRenderer?.();for(let i=0;i<this._renderTargets.length;i++){let s=this._renderTargets.data[i];if(s._shouldRender()){this._renderId++;let i=s.activeCamera&&s.activeCamera!==this.activeCamera;t&&!e&&((e=t.renderList.length>0?t.renderList.data.slice():[]).length=t.renderList.length),s.render(i,this.dumpNextRenderTargets),r=!0}}t&&e&&(t.renderList.data=e,t.renderList.length=e.length),ei.Tools.EndPerformanceCounter("Render targets",this._renderTargets.length>0),this._renderId++}if(this._cameraDrawRenderTargetStage.length>0){let t=this.getBoundingBoxRenderer?.();for(let i of(t&&!e&&((e=t.renderList.length>0?t.renderList.data.slice():[]).length=t.renderList.length),this._cameraDrawRenderTargetStage))r=i.action(this.activeCamera)||r;t&&e&&(t.renderList.data=e,t.renderList.length=e.length)}this._intermediateRendering=!1}for(let t of(r&&!this.prePass&&(this._bindFrameBuffer(this._activeCamera,!1),this.updateTransformMatrix()),this.onAfterRenderTargetsRenderObservable.notifyObservers(this),!this.postProcessManager||e._multiviewTexture||this.prePass||this.postProcessManager._prepareFrame(),this._beforeCameraDrawStage))t.action(this.activeCamera);this.onBeforeDrawPhaseObservable.notifyObservers(this);let n=s.snapshotRendering&&1===s.snapshotRenderingMode;for(let e of(n&&this.finalizeSceneUbo(),this._renderingManager.render(null,null,!0,!n),this.onAfterDrawPhaseObservable.notifyObservers(this),this._afterCameraDrawStage))e.action(this.activeCamera);if(this.postProcessManager&&!e._multiviewTexture){let t=e.outputRenderTarget?e.outputRenderTarget.renderTarget:void 0;this.postProcessManager._finalizeFrame(e.isIntermediate,t)}for(let e of this._afterCameraPostProcessStage)e.action(this.activeCamera);this._renderTargets.reset(),this.onAfterCameraRenderObservable.notifyObservers(this.activeCamera)}_processSubCameras(e,t=!0){if(0===e.cameraRigMode||e._renderingMultiview){e._renderingMultiview&&!this._multiviewSceneUbo&&this._createMultiviewUbo(),this._renderForCamera(e,void 0,t),this.onAfterRenderCameraObservable.notifyObservers(e);return}if(e._useMultiviewToSingleView)this._renderMultiviewToSingleView(e);else{this.onBeforeCameraRenderObservable.notifyObservers(e);for(let t=0;t<e._rigCameras.length;t++)this._renderForCamera(e._rigCameras[t],e)}this._activeCamera=e,this.updateTransformMatrix(),this.onAfterRenderCameraObservable.notifyObservers(e)}_checkIntersections(){for(let e=0;e<this._meshesForIntersections.length;e++){let t=this._meshesForIntersections.data[e];if(t.actionManager)for(let e=0;t.actionManager&&e<t.actionManager.actions.length;e++){let i=t.actionManager.actions[e];if(12===i.trigger||13===i.trigger){let e=i.getTriggerParameter(),s=e.mesh?e.mesh:e,r=s.intersectsMesh(t,e.usePreciseIntersection),n=t._intersectionsInProgress.indexOf(s);r&&-1===n?12===i.trigger?(i._executeCurrent(eg.ActionEvent.CreateNew(t,void 0,s)),t._intersectionsInProgress.push(s)):13===i.trigger&&t._intersectionsInProgress.push(s):!r&&n>-1&&(13===i.trigger&&i._executeCurrent(eg.ActionEvent.CreateNew(t,void 0,s)),t.actionManager.hasSpecificTrigger(13,e=>s===(e.mesh?e.mesh:e))&&13!==i.trigger||t._intersectionsInProgress.splice(n,1))}}}}_advancePhysicsEngineStep(e){}_animate(e){}animate(){if(this._engine.isDeterministicLockStep()){let e=Math.max(ex.MinDeltaTime,Math.min(this._engine.getDeltaTime(),ex.MaxDeltaTime))+this._timeAccumulator,t=this._engine.getTimeStep(),i=1e3/t/1e3,s=0,r=this._engine.getLockstepMaxSteps(),n=Math.floor(e/t);for(n=Math.min(n,r);e>0&&s<n;)this.onBeforeStepObservable.notifyObservers(this),this._animationRatio=t*i,this._animate(t),this.onAfterAnimationsObservable.notifyObservers(this),this.physicsEnabled&&this._advancePhysicsEngineStep(t),this.onAfterStepObservable.notifyObservers(this),this._currentStepId++,s++,e-=t;this._timeAccumulator=e<0?0:e}else{let e=this.useConstantAnimationDeltaTime?16:Math.max(ex.MinDeltaTime,Math.min(this._engine.getDeltaTime(),ex.MaxDeltaTime));this._animationRatio=.06*e,this._animate(),this.onAfterAnimationsObservable.notifyObservers(this),this.physicsEnabled&&this._advancePhysicsEngineStep(e)}}_clear(){(this.autoClearDepthAndStencil||this.autoClear)&&this._engine.clear(this._clearColor,this.autoClear||this.forceWireframe||this.forcePointsCloud,this.autoClearDepthAndStencil,this.autoClearDepthAndStencil)}_checkCameraRenderTarget(e){if(e?.outputRenderTarget&&!e?.isRigCamera&&(e.outputRenderTarget._cleared=!1),e?.rigCameras?.length)for(let t=0;t<e.rigCameras.length;++t){let i=e.rigCameras[t].outputRenderTarget;i&&(i._cleared=!1)}}resetDrawCache(e){if(this.meshes)for(let t of this.meshes)t.resetDrawCache(e)}_renderWithFrameGraph(e=!0,t=!1,i=!1){if(this.activeCamera=null,this.activeCameras=null,e){for(let e of this.cameras)if(e.update(),0!==e.cameraRigMode)for(let t=0;t<e._rigCameras.length;t++)e._rigCameras[t].update()}this.onBeforeRenderObservable.notifyObservers(this),this.onBeforeRenderTargetsRenderObservable.notifyObservers(this),this._renderTargets.reset();let s=this._frameGraph?.findMainCamera()??null;if(this.renderTargetsEnabled){this.environmentTexture&&this.environmentTexture.isRenderTarget&&this._renderTargets.pushNoDuplicate(this.environmentTexture),this._renderTargets.concatWithNoDuplicate(this.customRenderTargets),ei.Tools.StartPerformanceCounter("Custom render targets",this._renderTargets.length>0);for(let e=0;e<this._renderTargets.length;e++){let t=this._renderTargets.data[e],i=t.activeCamera||s;this._renderRenderTarget(t,i,!0,this.dumpNextRenderTargets)}ei.Tools.EndPerformanceCounter("Custom render targets",this._renderTargets.length>0),this._renderId++}for(let e of(this.onAfterRenderTargetsRenderObservable.notifyObservers(this),this._beforeClearStage))e.action();if(this._engine.snapshotRendering&&1===this._engine.snapshotRenderingMode)this._activeParticleSystems.reset(),this._activeSkeletons.reset(),this._softwareSkinnedMeshes.reset();else{let e=this.getActiveMeshCandidates(),t=e.length;if(this._activeMeshesFrozen){if(!this._skipEvaluateActiveMeshesCompletely)for(let i=0;i<t;i++){let t=e.data[i];t._internalAbstractMeshDataInfo._wasActiveLastFrame&&t.computeWorldMatrix()}if(this.particlesEnabled){let e=this._activeParticleSystems.length;for(let t=0;t<e;t++)this._activeParticleSystems.data[t].animate()}}else{this._activeParticleSystems.reset(),this._activeSkeletons.reset(),this._softwareSkinnedMeshes.reset();for(let s=0;s<t;s++){let t=e.data[s];t._internalAbstractMeshDataInfo._wasActiveLastFrame=!1,!t.isBlocked&&(this._totalVertices.addCount(t.getTotalVertices(),!1),t.isReady()&&t.isEnabled()&&!t.scaling.hasAZeroComponent&&(t.computeWorldMatrix(i),t.actionManager&&t.actionManager.hasSpecificTriggers2(12,13)&&this._meshesForIntersections.pushNoDuplicate(t)))}if(this.particlesEnabled)for(let e=0;e<this.particleSystems.length;e++){let t=this.particleSystems[e];if(!t.isStarted()||!t.emitter)continue;let i=t.emitter;(!i.position||i.isEnabled())&&(this._activeParticleSystems.push(t),t.animate())}}}this.frameGraph?.execute()}_renderRenderTarget(e,t,i=!1,s=!1){if(this._intermediateRendering=!0,e._shouldRender()){if(this._renderId++,this.activeCamera=t,!this.activeCamera)throw Error("Active camera not set");this._engine.setViewport(this.activeCamera.viewport),this.updateTransformMatrix(),e.render(i,s)}this._intermediateRendering=!1}render(e=!0,t=!1){if(!this.isDisposed){if(this.onReadyObservable.hasObservers()&&null===this._executeWhenReadyTimeoutId&&this._checkIsReady(),e_.FloatingOriginCurrentScene.getScene=this._getFloatingOriginScene,this._frameId++,this._defaultFrameBufferCleared=!1,this._checkCameraRenderTarget(this.activeCamera),this.activeCameras?.length)for(let e of this.activeCameras)this._checkCameraRenderTarget(e);for(let e of(this._registerTransientComponents(),this._activeParticles.fetchNewFrame(),this._totalVertices.fetchNewFrame(),this._activeIndices.fetchNewFrame(),this._activeBones.fetchNewFrame(),this._meshesForIntersections.reset(),this.resetCachedMaterial(),this.onBeforeAnimationsObservable.notifyObservers(this),this.actionManager&&this.actionManager.processTrigger(11),t||this.animate(),this._beforeCameraUpdateStage))e.action();if(e){if(this.activeCameras&&this.activeCameras.length>0)for(let e=0;e<this.activeCameras.length;e++){let t=this.activeCameras[e];if(t.update(),0!==t.cameraRigMode)for(let e=0;e<t._rigCameras.length;e++)t._rigCameras[e].update()}else if(this.activeCamera&&(this.activeCamera.update(),0!==this.activeCamera.cameraRigMode))for(let e=0;e<this.activeCamera._rigCameras.length;e++)this.activeCamera._rigCameras[e].update()}if(this.customRenderFunction)this._renderId++,this._engine.currentRenderPassId=0,this.customRenderFunction(e,t);else{this.onBeforeRenderObservable.notifyObservers(this),this.onBeforeRenderTargetsRenderObservable.notifyObservers(this);let e=this.activeCameras?.length?this.activeCameras[0]:this.activeCamera;if(this.renderTargetsEnabled){ei.Tools.StartPerformanceCounter("Custom render targets",this.customRenderTargets.length>0);for(let t=0;t<this.customRenderTargets.length;t++){let i=this.customRenderTargets[t],s=i.activeCamera||this.activeCamera;this._renderRenderTarget(i,s,e!==s,this.dumpNextRenderTargets)}ei.Tools.EndPerformanceCounter("Custom render targets",this.customRenderTargets.length>0),this._renderId++}for(let t of(this._engine.currentRenderPassId=e?.renderPassId??0,this.activeCamera=e,this._activeCamera&&22!==this._activeCamera.cameraRigMode&&!this.prePass&&this._bindFrameBuffer(this._activeCamera,!1),this.onAfterRenderTargetsRenderObservable.notifyObservers(this),this._beforeClearStage))t.action();for(let e of(this._clearFrameBuffer(this.activeCamera),this._gatherRenderTargetsStage))e.action(this._renderTargets);if(this.activeCameras&&this.activeCameras.length>0)for(let e=0;e<this.activeCameras.length;e++)this._processSubCameras(this.activeCameras[e],e>0);else{if(!this.activeCamera)throw Error("No camera defined");this._processSubCameras(this.activeCamera,!!this.activeCamera.outputRenderTarget)}}for(let e of(this._checkIntersections(),this._afterRenderStage))e.action();if(this.afterRender&&this.afterRender(),this.onAfterRenderObservable.notifyObservers(this),this._toBeDisposed.length){for(let e=0;e<this._toBeDisposed.length;e++){let t=this._toBeDisposed[e];t&&t.dispose()}this._toBeDisposed.length=0}this.dumpNextRenderTargets&&(this.dumpNextRenderTargets=!1),this._activeBones.addCount(0,!0),this._activeIndices.addCount(0,!0),this._activeParticles.addCount(0,!0),this._engine.restoreDefaultFramebuffer()}}freezeMaterials(){for(let e=0;e<this.materials.length;e++)this.materials[e].freeze()}unfreezeMaterials(){for(let e=0;e<this.materials.length;e++)this.materials[e].unfreeze()}dispose(){if(this.isDisposed)return;if(this.beforeRender=null,this.afterRender=null,this.metadata=null,this.skeletons.length=0,this.morphTargetManagers.length=0,this._transientComponents.length=0,this._isReadyForMeshStage.clear(),this._beforeEvaluateActiveMeshStage.clear(),this._evaluateSubMeshStage.clear(),this._preActiveMeshStage.clear(),this._cameraDrawRenderTargetStage.clear(),this._beforeCameraDrawStage.clear(),this._beforeRenderTargetDrawStage.clear(),this._beforeRenderingGroupDrawStage.clear(),this._beforeRenderingMeshStage.clear(),this._afterRenderingMeshStage.clear(),this._afterRenderingGroupDrawStage.clear(),this._afterCameraDrawStage.clear(),this._afterRenderTargetDrawStage.clear(),this._afterRenderStage.clear(),this._beforeCameraUpdateStage.clear(),this._beforeClearStage.clear(),this._gatherRenderTargetsStage.clear(),this._gatherActiveCameraRenderTargetsStage.clear(),this._pointerMoveStage.clear(),this._pointerDownStage.clear(),this._pointerUpStage.clear(),this._isReadyChecks.length=0,this.importedMeshesFiles=[],this._activeAnimatables&&(0,ey._IsSideEffectImplemented)(this.stopAllAnimations)){for(let e of this._activeAnimatables)e.onAnimationEndObservable.clear(),e.onAnimationEnd=null;this.stopAllAnimations()}for(let e of(this.resetCachedMaterial(),this.activeCamera&&(this.activeCamera._activeMeshes.dispose(),this.activeCamera=null),this.activeCameras=null,this._activeMeshes.dispose(),this._renderingManager.dispose(),this._processedMaterials.dispose(),this._activeParticleSystems.dispose(),this._activeSkeletons.dispose(),this._softwareSkinnedMeshes.dispose(),this._renderTargets.dispose(),this._materialsRenderTargets.dispose(),this._registeredForLateAnimationBindings.dispose(),this._meshesForIntersections.dispose(),this._toBeDisposed.length=0,this._activeRequests.slice()))e.abort();this._activeRequests.length=0;try{this.onDisposeObservable.notifyObservers(this)}catch(e){ek.Logger.Error("An error occurred while calling onDisposeObservable!",e)}if(this.detachControl(),this._engine.getInputElement?.())for(let e=0;e<this.cameras.length;e++)this.cameras[e].detachControl();this._disposeList(this.animationGroups),this._disposeList(this.lights),this._defaultMaterial&&this._defaultMaterial.dispose(),this._disposeList(this.multiMaterials),this._disposeList(this.materials),this._disposeList(this.meshes,e=>e.dispose(!0)),this._disposeList(this.transformNodes,e=>e.dispose(!0));let e=this.cameras;this._disposeList(e),this._disposeList(this.particleSystems),this._disposeList(this.postProcesses),this._disposeList(this.textures),this._disposeList(this.morphTargetManagers),this._disposeList(this.frameGraphs),this._sceneUbo.dispose(),this._multiviewSceneUbo&&this._multiviewSceneUbo.dispose(),this.postProcessManager.dispose(),this._disposeList(this._components);let t=this._engine.scenes.indexOf(this);if(t>-1&&this._engine.scenes.splice(t,1),this._floatingOriginScene=void 0,0===this._engine.scenes.length&&(0,e_.ResetMatrixFunctions)(),eb.EngineStore._LastCreatedScene===this){eb.EngineStore._LastCreatedScene=null;let e=eb.EngineStore.Instances.length-1;for(;e>=0;){let t=eb.EngineStore.Instances[e];if(t.scenes.length>0){eb.EngineStore._LastCreatedScene=t.scenes[this._engine.scenes.length-1];break}e--}}(t=this._engine._virtualScenes.indexOf(this))>-1&&this._engine._virtualScenes.splice(t,1),this._engine.wipeCaches(!0),this.onDisposeObservable.clear(),this.onBeforeRenderObservable.clear(),this.onAfterRenderObservable.clear(),this.onBeforeRenderTargetsRenderObservable.clear(),this.onAfterRenderTargetsRenderObservable.clear(),this.onAfterStepObservable.clear(),this.onBeforeStepObservable.clear(),this.onBeforeActiveMeshesEvaluationObservable.clear(),this.onAfterActiveMeshesEvaluationObservable.clear(),this.onBeforeParticlesRenderingObservable.clear(),this.onAfterParticlesRenderingObservable.clear(),this.onBeforeDrawPhaseObservable.clear(),this.onAfterDrawPhaseObservable.clear(),this.onBeforeAnimationsObservable.clear(),this.onAfterAnimationsObservable.clear(),this.onDataLoadedObservable.clear(),this.onBeforeRenderingGroupObservable.clear(),this.onAfterRenderingGroupObservable.clear(),this.onMeshImportedObservable.clear(),this.onBeforeCameraRenderObservable.clear(),this.onAfterCameraRenderObservable.clear(),this.onAfterRenderCameraObservable.clear(),this.onReadyObservable.clear(),this.onNewCameraAddedObservable.clear(),this.onCameraRemovedObservable.clear(),this.onNewLightAddedObservable.clear(),this.onLightRemovedObservable.clear(),this.onNewGeometryAddedObservable.clear(),this.onGeometryRemovedObservable.clear(),this.onNewTransformNodeAddedObservable.clear(),this.onTransformNodeRemovedObservable.clear(),this.onNewMeshAddedObservable.clear(),this.onMeshRemovedObservable.clear(),this.onNewSkeletonAddedObservable.clear(),this.onSkeletonRemovedObservable.clear(),this.onNewMaterialAddedObservable.clear(),this.onNewMultiMaterialAddedObservable.clear(),this.onMaterialRemovedObservable.clear(),this.onMultiMaterialRemovedObservable.clear(),this.onNewTextureAddedObservable.clear(),this.onTextureRemovedObservable.clear(),this.onNewFrameGraphAddedObservable.clear(),this.onFrameGraphRemovedObservable.clear(),this.onNewObjectRendererAddedObservable.clear(),this.onObjectRendererRemovedObservable.clear(),this.onPrePointerObservable.clear(),this.onPointerObservable.clear(),this.onPreKeyboardObservable.clear(),this.onKeyboardObservable.clear(),this.onActiveCameraChanged.clear(),this.onScenePerformancePriorityChangedObservable.clear(),this.onClearColorChangedObservable.clear(),this.onEnvironmentTextureChangedObservable.clear(),this.onMeshUnderPointerUpdatedObservable.clear(),this._isDisposed=!0}_disposeList(e,t){let i=e.slice(0);for(let e of(t=t??(e=>e.dispose()),i))t(e);e.length=0}get isDisposed(){return this._isDisposed}clearCachedVertexData(){for(let e=0;e<this.meshes.length;e++){let t=this.meshes[e].geometry;t&&t.clearCachedData()}}cleanCachedTextureBuffer(){for(let e of this.textures)e._buffer&&(e._buffer=null)}getWorldExtends(e){let t=new el.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),i=new el.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let s of(e=e||(()=>!0),this.meshes.filter(e))){if(s.computeWorldMatrix(!0),!s.subMeshes||0===s.subMeshes.length||s.infiniteDistance)continue;let e=s.getBoundingInfo(),r=e.boundingBox.minimumWorld,n=e.boundingBox.maximumWorld;el.Vector3.CheckExtends(r,t,i),el.Vector3.CheckExtends(n,t,i)}return t.x===Number.MAX_VALUE?{min:el.Vector3.Zero(),max:el.Vector3.Zero()}:{min:t,max:i}}createPickingRay(e,t,i,s,r=!1){throw(0,ey._WarnImport)("Ray")}createPickingRayToRef(e,t,i,s,r,n=!1,a=!1){throw(0,ey._WarnImport)("Ray")}createPickingRayInCameraSpace(e,t,i){throw(0,ey._WarnImport)("Ray")}createPickingRayInCameraSpaceToRef(e,t,i,s){throw(0,ey._WarnImport)("Ray")}pick(e,t,i,s,r,n){let a=(0,ey._WarnImport)("Ray",!0);return a&&ek.Logger.Warn(a),new eu.PickingInfo}pickWithBoundingInfo(e,t,i,s,r){let n=(0,ey._WarnImport)("Ray",!0);return n&&ek.Logger.Warn(n),new eu.PickingInfo}pickWithRay(e,t,i,s){throw(0,ey._WarnImport)("Ray")}multiPick(e,t,i,s,r){throw(0,ey._WarnImport)("Ray")}multiPickWithRay(e,t,i){throw(0,ey._WarnImport)("Ray")}setPointerOverMesh(e,t,i){this._inputManager.setPointerOverMesh(e,t,i)}getPointerOverMesh(){return this._inputManager.getPointerOverMesh()}_rebuildGeometries(){for(let e of this.geometries)e._rebuild();for(let e of this.meshes)e._rebuild();for(let e of(this.postProcessManager&&this.postProcessManager._rebuild(),this._components))e.rebuild();for(let e of this.particleSystems)e.rebuild();if(this.spriteManagers)for(let e of this.spriteManagers)e.rebuild()}_rebuildTextures(){for(let e of this.textures)e._rebuild(!0);this.markAllMaterialsAsDirty(1)}_getByTags(e,t,i){if(void 0===t)return e;let s=[];for(let r in e){let n=e[r];eh.Tags&&eh.Tags.MatchesQuery(n,t)&&(!i||i(n))&&s.push(n)}return s}getMeshesByTags(e,t){return this._getByTags(this.meshes,e,t)}getCamerasByTags(e,t){return this._getByTags(this.cameras,e,t)}getLightsByTags(e,t){return this._getByTags(this.lights,e,t)}getMaterialByTags(e,t){return this._getByTags(this.materials,e,t).concat(this._getByTags(this.multiMaterials,e,t))}getTransformNodesByTags(e,t){return this._getByTags(this.transformNodes,e,t)}setRenderingOrder(e,t=null,i=null,s=null){this._renderingManager.setRenderingOrder(e,t,i,s)}setRenderingAutoClearDepthStencil(e,t,i=!0,s=!0){this._renderingManager.setRenderingAutoClearDepthStencil(e,t,i,s)}getAutoClearDepthStencilSetup(e){return this._renderingManager.getAutoClearDepthStencilSetup(e)}_forceBlockMaterialDirtyMechanism(e){this._blockMaterialDirtyMechanism=e}get blockMaterialDirtyMechanism(){return this._blockMaterialDirtyMechanism}set blockMaterialDirtyMechanism(e){this._blockMaterialDirtyMechanism!==e&&(this._blockMaterialDirtyMechanism=e,e||this.markAllMaterialsAsDirty(127))}markAllMaterialsAsDirty(e,t){if(!this._blockMaterialDirtyMechanism)for(let i of this.materials)(!t||t(i))&&i.markAsDirty(e)}_loadFile(e,t,i,s,r,n,a){let o=(0,eS.LoadFile)(e,t,i,s?this.offlineProvider:void 0,r,n,a);return this._activeRequests.push(o),o.onCompleteObservable.add(e=>{this._activeRequests.splice(this._activeRequests.indexOf(e),1)}),o}async _loadFileAsync(e,t,i,s,r){return await new Promise((n,a)=>{this._loadFile(e,e=>{n(e)},t,i,s,(e,t)=>{a(t)},r)})}async _loadDelayedFileAsync(e,t,i){this._delayedFileRequests||(this._delayedFileRequests=new Map);let s=`${e}|${t?"binary":"string"}`,r=this._delayedFileRequests.get(s);if(!r){let n=r=t?this._loadFileAsync(e,void 0,i,!0):this._loadFileAsync(e,void 0,i,!1);(async()=>{try{await n}catch{}this._delayedFileRequests?.delete(s)})(),this._delayedFileRequests.set(s,r)}return await r}_requestFile(e,t,i,s,r,n,a){let o=(0,eS.RequestFile)(e,t,i,s?this.offlineProvider:void 0,r,n,a);return this._activeRequests.push(o),o.onCompleteObservable.add(e=>{this._activeRequests.splice(this._activeRequests.indexOf(e),1)}),o}async _requestFileAsync(e,t,i,s,r){return await new Promise((n,a)=>{this._requestFile(e,e=>{n(e)},t,i,s,e=>{a(e)},r)})}_readFile(e,t,i,s,r){let n=(0,eS.ReadFile)(e,t,i,s,r);return this._activeRequests.push(n),n.onCompleteObservable.add(e=>{this._activeRequests.splice(this._activeRequests.indexOf(e),1)}),n}async _readFileAsync(e,t,i){return await new Promise((s,r)=>{this._readFile(e,e=>{s(e)},t,i,e=>{r(e)})})}getPerfCollector(){throw(0,ey._WarnImport)("performanceViewerSceneExtension")}setActiveCameraByID(e){return this.setActiveCameraById(e)}getMaterialByID(e){return this.getMaterialById(e)}getLastMaterialByID(e){return this.getLastMaterialById(e)}getTextureByUniqueID(e){return this.getTextureByUniqueId(e)}getCameraByID(e){return this.getCameraById(e)}getCameraByUniqueID(e){return this.getCameraByUniqueId(e)}getBoneByID(e){return this.getBoneById(e)}getLightByID(e){return this.getLightById(e)}getLightByUniqueID(e){return this.getLightByUniqueId(e)}getParticleSystemByID(e){return this.getParticleSystemById(e)}getGeometryByID(e){return this.getGeometryById(e)}getMeshByID(e){return this.getMeshById(e)}getMeshByUniqueID(e){return this.getMeshByUniqueId(e)}getLastMeshByID(e){return this.getLastMeshById(e)}getMeshesByID(e){return this.getMeshesById(e)}getTransformNodeByID(e){return this.getTransformNodeById(e)}getTransformNodeByUniqueID(e){return this.getTransformNodeByUniqueId(e)}getTransformNodesByID(e){return this.getTransformNodesById(e)}getNodeByID(e){return this.getNodeById(e)}getLastEntryByID(e){return this.getLastEntryById(e)}getLastSkeletonByID(e){return this.getLastSkeletonById(e)}}ex.FOGMODE_NONE=0,ex.FOGMODE_EXP=1,ex.FOGMODE_EXP2=2,ex.FOGMODE_LINEAR=3,ex.MinDeltaTime=1,ex.MaxDeltaTime=1e3,ex._OriginalDefaultMaterialFactory=ex.DefaultMaterialFactory;let eB=!1;(i=ex.prototype).sortActiveAnimatables??(i.sortActiveAnimatables=(0,ey._MissingSideEffect)("Scene","sortActiveAnimatables")),(s=ex.prototype).beginWeightedAnimation??(s.beginWeightedAnimation=(0,ey._MissingSideEffect)("Scene","beginWeightedAnimation")),(r=ex.prototype).beginAnimation??(r.beginAnimation=(0,ey._MissingSideEffect)("Scene","beginAnimation")),(n=ex.prototype).beginHierarchyAnimation??(n.beginHierarchyAnimation=(0,ey._MissingSideEffect)("Scene","beginHierarchyAnimation")),(a=ex.prototype).beginDirectAnimation??(a.beginDirectAnimation=(0,ey._MissingSideEffect)("Scene","beginDirectAnimation")),(o=ex.prototype).beginDirectHierarchyAnimation??(o.beginDirectHierarchyAnimation=(0,ey._MissingSideEffect)("Scene","beginDirectHierarchyAnimation")),(h=ex.prototype).getAnimatableByTarget??(h.getAnimatableByTarget=(0,ey._MissingSideEffect)("Scene","getAnimatableByTarget")),(l=ex.prototype).getAllAnimatablesByTarget??(l.getAllAnimatablesByTarget=(0,ey._MissingSideEffect)("Scene","getAllAnimatablesByTarget")),(d=ex.prototype).stopAllAnimations??(d.stopAllAnimations=(0,ey._MissingSideEffect)("Scene","stopAllAnimations")),(c=ex.prototype).getSoundByName??(c.getSoundByName=(0,ey._MissingSideEffect)("Scene","getSoundByName")),(u=ex.prototype).createOrUpdateSelectionOctree??(u.createOrUpdateSelectionOctree=(0,ey._MissingSideEffect)("Scene","createOrUpdateSelectionOctree")),(g=ex.prototype).createDefaultLight??(g.createDefaultLight=(0,ey._MissingSideEffect)("Scene","createDefaultLight")),(p=ex.prototype).createDefaultCamera??(p.createDefaultCamera=(0,ey._MissingSideEffect)("Scene","createDefaultCamera")),(_=ex.prototype).createDefaultCameraOrLight??(_.createDefaultCameraOrLight=(0,ey._MissingSideEffect)("Scene","createDefaultCameraOrLight")),(v=ex.prototype).createDefaultSkybox??(v.createDefaultSkybox=(0,ey._MissingSideEffect)("Scene","createDefaultSkybox")),(m=ex.prototype).createDefaultEnvironment??(m.createDefaultEnvironment=(0,ey._MissingSideEffect)("Scene","createDefaultEnvironment")),(f=ex.prototype).createDefaultVRExperience??(f.createDefaultVRExperience=(0,ey._MissingSideEffect)("Scene","createDefaultVRExperience")),(b=ex.prototype).createDefaultXRExperienceAsync??(b.createDefaultXRExperienceAsync=(0,ey._MissingSideEffect)("Scene","createDefaultXRExperienceAsync")),(y=ex.prototype).getGlowLayerByName??(y.getGlowLayerByName=(0,ey._MissingSideEffect)("Scene","getGlowLayerByName")),(P=ex.prototype).getHighlightLayerByName??(P.getHighlightLayerByName=(0,ey._MissingSideEffect)("Scene","getHighlightLayerByName")),(C=ex.prototype).getSelectionOutlineLayerByName??(C.getSelectionOutlineLayerByName=(0,ey._MissingSideEffect)("Scene","getSelectionOutlineLayerByName")),(M=ex.prototype).removeLensFlareSystem??(M.removeLensFlareSystem=(0,ey._MissingSideEffect)("Scene","removeLensFlareSystem")),(O=ex.prototype).addLensFlareSystem??(O.addLensFlareSystem=(0,ey._MissingSideEffect)("Scene","addLensFlareSystem")),(T=ex.prototype).getLensFlareSystemByName??(T.getLensFlareSystemByName=(0,ey._MissingSideEffect)("Scene","getLensFlareSystemByName")),(S=ex.prototype).getLensFlareSystemByID??(S.getLensFlareSystemByID=(0,ey._MissingSideEffect)("Scene","getLensFlareSystemByID")),(R=ex.prototype).getLensFlareSystemById??(R.getLensFlareSystemById=(0,ey._MissingSideEffect)("Scene","getLensFlareSystemById")),(E=ex.prototype).getPhysicsEngine??(E.getPhysicsEngine=(0,ey._MissingSideEffect)("Scene","getPhysicsEngine")),(I=ex.prototype).enablePhysics??(I.enablePhysics=(0,ey._MissingSideEffect)("Scene","enablePhysics")),(k=ex.prototype).disablePhysicsEngine??(k.disablePhysicsEngine=(0,ey._MissingSideEffect)("Scene","disablePhysicsEngine")),(D=ex.prototype).isPhysicsEnabled??(D.isPhysicsEnabled=(0,ey._MissingSideEffect)("Scene","isPhysicsEnabled")),(A=ex.prototype).deleteCompoundImpostor??(A.deleteCompoundImpostor=(0,ey._MissingSideEffect)("Scene","deleteCompoundImpostor")),(w=ex.prototype).removeReflectionProbe??(w.removeReflectionProbe=(0,ey._MissingSideEffect)("Scene","removeReflectionProbe")),(x=ex.prototype).addReflectionProbe??(x.addReflectionProbe=(0,ey._MissingSideEffect)("Scene","addReflectionProbe")),(B=ex.prototype).getBoundingBoxRenderer??(B.getBoundingBoxRenderer=(0,ey._MissingSideEffect)("Scene","getBoundingBoxRenderer")),(N=ex.prototype).enableDepthRenderer??(N.enableDepthRenderer=(0,ey._MissingSideEffect)("Scene","enableDepthRenderer")),(L=ex.prototype).disableDepthRenderer??(L.disableDepthRenderer=(0,ey._MissingSideEffect)("Scene","disableDepthRenderer")),(F=ex.prototype).enableFluidRenderer??(F.enableFluidRenderer=(0,ey._MissingSideEffect)("Scene","enableFluidRenderer")),(U=ex.prototype).disableFluidRenderer??(U.disableFluidRenderer=(0,ey._MissingSideEffect)("Scene","disableFluidRenderer")),(G=ex.prototype).enableGeometryBufferRenderer??(G.enableGeometryBufferRenderer=(0,ey._MissingSideEffect)("Scene","enableGeometryBufferRenderer")),(W=ex.prototype).disableGeometryBufferRenderer??(W.disableGeometryBufferRenderer=(0,ey._MissingSideEffect)("Scene","disableGeometryBufferRenderer")),(X=ex.prototype).enableIblCdfGenerator??(X.enableIblCdfGenerator=(0,ey._MissingSideEffect)("Scene","enableIblCdfGenerator")),(z=ex.prototype).disableIblCdfGenerator??(z.disableIblCdfGenerator=(0,ey._MissingSideEffect)("Scene","disableIblCdfGenerator")),(j=ex.prototype).getOutlineRenderer??(j.getOutlineRenderer=(0,ey._MissingSideEffect)("Scene","getOutlineRenderer")),(Y=ex.prototype).enablePrePassRenderer??(Y.enablePrePassRenderer=(0,ey._MissingSideEffect)("Scene","enablePrePassRenderer")),(H=ex.prototype).disablePrePassRenderer??(H.disablePrePassRenderer=(0,ey._MissingSideEffect)("Scene","disablePrePassRenderer")),(V=ex.prototype).enableSubSurfaceForPrePass??(V.enableSubSurfaceForPrePass=(0,ey._MissingSideEffect)("Scene","enableSubSurfaceForPrePass")),(q=ex.prototype).disableSubSurfaceForPrePass??(q.disableSubSurfaceForPrePass=(0,ey._MissingSideEffect)("Scene","disableSubSurfaceForPrePass")),(K=ex.prototype).pickSprite??(K.pickSprite=(0,ey._MissingSideEffect)("Scene","pickSprite")),(Z=ex.prototype).pickSpriteWithRay??(Z.pickSpriteWithRay=(0,ey._MissingSideEffect)("Scene","pickSpriteWithRay")),($=ex.prototype).multiPickSprite??($.multiPickSprite=(0,ey._MissingSideEffect)("Scene","multiPickSprite")),(Q=ex.prototype).multiPickSpriteWithRay??(Q.multiPickSpriteWithRay=(0,ey._MissingSideEffect)("Scene","multiPickSpriteWithRay")),(J=ex.prototype).setPointerOverSprite??(J.setPointerOverSprite=(0,ey._MissingSideEffect)("Scene","setPointerOverSprite")),(ee=ex.prototype).getPointerOverSprite??(ee.getPointerOverSprite=(0,ey._MissingSideEffect)("Scene","getPointerOverSprite")),Object.getOwnPropertyDescriptor(ex.prototype,"mainSoundTrack")||Object.defineProperty(ex.prototype,"mainSoundTrack",(0,ey._MissingSideEffectProperty)("Scene","mainSoundTrack")),Object.getOwnPropertyDescriptor(ex.prototype,"soundTracks")||Object.defineProperty(ex.prototype,"soundTracks",(0,ey._MissingSideEffectProperty)("Scene","soundTracks")),Object.getOwnPropertyDescriptor(ex.prototype,"audioEnabled")||Object.defineProperty(ex.prototype,"audioEnabled",(0,ey._MissingSideEffectProperty)("Scene","audioEnabled")),Object.getOwnPropertyDescriptor(ex.prototype,"headphone")||Object.defineProperty(ex.prototype,"headphone",(0,ey._MissingSideEffectProperty)("Scene","headphone")),Object.getOwnPropertyDescriptor(ex.prototype,"audioListenerPositionProvider")||Object.defineProperty(ex.prototype,"audioListenerPositionProvider",(0,ey._MissingSideEffectProperty)("Scene","audioListenerPositionProvider")),Object.getOwnPropertyDescriptor(ex.prototype,"audioListenerRotationProvider")||Object.defineProperty(ex.prototype,"audioListenerRotationProvider",(0,ey._MissingSideEffectProperty)("Scene","audioListenerRotationProvider")),Object.getOwnPropertyDescriptor(ex.prototype,"audioPositioningRefreshRate")||Object.defineProperty(ex.prototype,"audioPositioningRefreshRate",(0,ey._MissingSideEffectProperty)("Scene","audioPositioningRefreshRate")),Object.getOwnPropertyDescriptor(ex.prototype,"selectionOctree")||Object.defineProperty(ex.prototype,"selectionOctree",(0,ey._MissingSideEffectProperty)("Scene","selectionOctree")),Object.getOwnPropertyDescriptor(ex.prototype,"debugLayer")||Object.defineProperty(ex.prototype,"debugLayer",(0,ey._MissingSideEffectProperty)("Scene","debugLayer")),Object.getOwnPropertyDescriptor(ex.prototype,"gamepadManager")||Object.defineProperty(ex.prototype,"gamepadManager",(0,ey._MissingSideEffectProperty)("Scene","gamepadManager")),Object.getOwnPropertyDescriptor(ex.prototype,"simplificationQueue")||Object.defineProperty(ex.prototype,"simplificationQueue",(0,ey._MissingSideEffectProperty)("Scene","simplificationQueue")),Object.getOwnPropertyDescriptor(ex.prototype,"onBeforePhysicsObservable")||Object.defineProperty(ex.prototype,"onBeforePhysicsObservable",(0,ey._MissingSideEffectProperty)("Scene","onBeforePhysicsObservable")),Object.getOwnPropertyDescriptor(ex.prototype,"onAfterPhysicsObservable")||Object.defineProperty(ex.prototype,"onAfterPhysicsObservable",(0,ey._MissingSideEffectProperty)("Scene","onAfterPhysicsObservable")),Object.getOwnPropertyDescriptor(ex.prototype,"reflectionProbes")||Object.defineProperty(ex.prototype,"reflectionProbes",(0,ey._MissingSideEffectProperty)("Scene","reflectionProbes")),Object.getOwnPropertyDescriptor(ex.prototype,"forceShowBoundingBoxes")||Object.defineProperty(ex.prototype,"forceShowBoundingBoxes",(0,ey._MissingSideEffectProperty)("Scene","forceShowBoundingBoxes")),Object.getOwnPropertyDescriptor(ex.prototype,"depthPeelingRenderer")||Object.defineProperty(ex.prototype,"depthPeelingRenderer",(0,ey._MissingSideEffectProperty)("Scene","depthPeelingRenderer")),Object.getOwnPropertyDescriptor(ex.prototype,"useOrderIndependentTransparency")||Object.defineProperty(ex.prototype,"useOrderIndependentTransparency",(0,ey._MissingSideEffectProperty)("Scene","useOrderIndependentTransparency")),Object.getOwnPropertyDescriptor(ex.prototype,"fluidRenderer")||Object.defineProperty(ex.prototype,"fluidRenderer",(0,ey._MissingSideEffectProperty)("Scene","fluidRenderer")),Object.getOwnPropertyDescriptor(ex.prototype,"geometryBufferRenderer")||Object.defineProperty(ex.prototype,"geometryBufferRenderer",(0,ey._MissingSideEffectProperty)("Scene","geometryBufferRenderer")),Object.getOwnPropertyDescriptor(ex.prototype,"iblCdfGenerator")||Object.defineProperty(ex.prototype,"iblCdfGenerator",(0,ey._MissingSideEffectProperty)("Scene","iblCdfGenerator")),Object.getOwnPropertyDescriptor(ex.prototype,"prePassRenderer")||Object.defineProperty(ex.prototype,"prePassRenderer",(0,ey._MissingSideEffectProperty)("Scene","prePassRenderer")),Object.getOwnPropertyDescriptor(ex.prototype,"subSurfaceConfiguration")||Object.defineProperty(ex.prototype,"subSurfaceConfiguration",(0,ey._MissingSideEffectProperty)("Scene","subSurfaceConfiguration")),Object.getOwnPropertyDescriptor(ex.prototype,"spriteManagers")||Object.defineProperty(ex.prototype,"spriteManagers",(0,ey._MissingSideEffectProperty)("Scene","spriteManagers")),Object.getOwnPropertyDescriptor(ex.prototype,"onBeforeSpritesRenderingObservable")||Object.defineProperty(ex.prototype,"onBeforeSpritesRenderingObservable",(0,ey._MissingSideEffectProperty)("Scene","onBeforeSpritesRenderingObservable")),Object.getOwnPropertyDescriptor(ex.prototype,"onAfterSpritesRenderingObservable")||Object.defineProperty(ex.prototype,"onAfterSpritesRenderingObservable",(0,ey._MissingSideEffectProperty)("Scene","onAfterSpritesRenderingObservable")),e.s(["RegisterScene",0,function(){eB||(eB=!0,(0,eD.RegisterClass)("BABYLON.Scene",ex))},"Scene",0,ex,"ScenePerformancePriority",0,et],66749)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12423,e=>{"use strict";class t{static GetShadersRepository(e=0){return 0===e?t.ShadersRepository:t.ShadersRepositoryWGSL}static GetShadersStore(e=0){return 0===e?t.ShadersStore:t.ShadersStoreWGSL}static GetIncludesShadersStore(e=0){return 0===e?t.IncludesShadersStore:t.IncludesShadersStoreWGSL}}t.ShadersRepository="src/Shaders/",t.ShadersStore={},t.IncludesShadersStore={},t.ShadersRepositoryWGSL="src/ShadersWGSL/",t.ShadersStoreWGSL={},t.IncludesShadersStoreWGSL={},e.s(["ShaderStore",0,t])},63132,471,e=>{"use strict";var t=e.i(35407),s=e.i(99267);e.s(["PostProcessManager",0,class{constructor(e){this._vertexBuffers={},this._activePostProcesses=[],this.onBeforeRenderObservable=new s.Observable,this._scene=e}_prepareBuffers(){if(this._vertexBuffers[t.VertexBuffer.PositionKind])return;let e=[];e.push(1,1),e.push(-1,1),e.push(-1,-1),e.push(1,-1),this._vertexBuffers[t.VertexBuffer.PositionKind]=new t.VertexBuffer(this._scene.getEngine(),e,t.VertexBuffer.PositionKind,!1,!1,2),this._buildIndexBuffer()}_buildIndexBuffer(){let e=[];e.push(0),e.push(1),e.push(2),e.push(0),e.push(2),e.push(3),this._indexBuffer=this._scene.getEngine().createIndexBuffer(e)}_getActivePostProcesses(e){let t=this._activePostProcesses;t.length=0;for(let s=0;s<e.length;s++){let r=e[s];r&&t.push(r)}return t}_rebuild(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e._rebuild(),this._buildIndexBuffer())}_prepareFrame(e=null,t=null){let s=this._scene.activeCamera;return!!s&&!!(t=t||this._getActivePostProcesses(s._postProcesses))&&0!==t.length&&!!this._scene.postProcessesEnabled&&(t[0].activate(s,e,null!=t),!0)}directRender(e,t=null,s=!1,r=0,i=0,a=!1,n=e.length){let o=this._scene.getEngine();for(let h=0;h<n;h++){h<e.length-1?e[h+1].activate(this._scene.activeCamera||this._scene,t?.texture):(t?o.bindFramebuffer(t,r,void 0,void 0,s,i):a||o.restoreDefaultFramebuffer(),o._debugInsertMarker?.(`post process ${e[h].name} output`));let n=e[h],l=n.apply();l&&(n.onBeforeRenderObservable.notifyObservers(l),this._prepareBuffers(),o.bindBuffers(this._vertexBuffers,this._indexBuffer,l),o.drawElementsType(0,0,6),n.onAfterRenderObservable.notifyObservers(l))}o.setDepthBuffer(!0),o.setDepthWrite(!0)}_finalizeFrame(e,t,s,r,i=!1){let a=this._scene.activeCamera;if(!a||(this.onBeforeRenderObservable.notifyObservers(this),0===(r=r||this._getActivePostProcesses(a._postProcesses)).length||!this._scene.postProcessesEnabled))return;let n=this._scene.getEngine();for(let o=0,h=r.length;o<h;o++){let l=r[o];if(o<h-1?l._outputTexture=r[o+1].activate(a,t?.texture):(t?(n.bindFramebuffer(t,s,void 0,void 0,i),l._outputTexture=t):(n.restoreDefaultFramebuffer(),l._outputTexture=null),n._debugInsertMarker?.(`post process ${r[o].name} output`)),e)break;let c=l.apply();c&&(l.onBeforeRenderObservable.notifyObservers(c),this._prepareBuffers(),n.bindBuffers(this._vertexBuffers,this._indexBuffer,c),n.drawElementsType(0,0,6),l.onAfterRenderObservable.notifyObservers(c))}n.setDepthBuffer(!0),n.setDepthWrite(!0),n.setAlphaMode(0)}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),this._vertexBuffers[t.VertexBuffer.PositionKind]=null),this._indexBuffer&&(this._scene.getEngine()._releaseBuffer(this._indexBuffer),this._indexBuffer=null)}}],63132);var r=e.i(45707),i=e.i(96265);class a{set opaqueSortCompareFn(e){e?this._opaqueSortCompareFn=e:this._opaqueSortCompareFn=a.PainterSortCompare,this._renderOpaque=this._renderOpaqueSorted}set alphaTestSortCompareFn(e){e?this._alphaTestSortCompareFn=e:this._alphaTestSortCompareFn=a.PainterSortCompare,this._renderAlphaTest=this._renderAlphaTestSorted}set transparentSortCompareFn(e){e?this._transparentSortCompareFn=e:this._transparentSortCompareFn=a.defaultTransparentSortCompare,this._renderTransparent=this._renderTransparentSorted}constructor(e,t,s=null,i=null,a=null){this.index=e,this._opaqueSubMeshes=new r.SmartArray(256),this._transparentSubMeshes=new r.SmartArray(256),this._alphaTestSubMeshes=new r.SmartArray(256),this._depthOnlySubMeshes=new r.SmartArray(256),this._particleSystems=new r.SmartArray(256),this._spriteManagers=new r.SmartArray(256),this._empty=!0,this._edgesRenderers=new r.SmartArrayNoDuplicate(16),this.disableDepthPrePass=!1,this._scene=t,this.opaqueSortCompareFn=s,this.alphaTestSortCompareFn=i,this.transparentSortCompareFn=a}render(e,t,s,r,i=!0,a=!0,n=!0,o=!0,h){if(e)return void e(this._opaqueSubMeshes,this._alphaTestSubMeshes,this._transparentSubMeshes,this._depthOnlySubMeshes);let l=this._scene.getEngine();i&&0!==this._depthOnlySubMeshes.length&&(l.setColorWrite(!1),this._renderAlphaTest(this._depthOnlySubMeshes),l.setColorWrite(!0)),a&&0!==this._opaqueSubMeshes.length&&this._renderOpaque(this._opaqueSubMeshes),n&&0!==this._alphaTestSubMeshes.length&&this._renderAlphaTest(this._alphaTestSubMeshes);let c=l.getStencilBuffer();if(l.setStencilBuffer(!1),t&&this._renderSprites(),s&&this._renderParticles(r),this.onBeforeTransparentRendering&&this.onBeforeTransparentRendering(),o&&(h||0!==this._transparentSubMeshes.length||this._scene.useOrderIndependentTransparency)){if(l.setStencilBuffer(c),h)h(this._transparentSubMeshes,this);else if(this._scene.useOrderIndependentTransparency){let e=this._scene.depthPeelingRenderer.render(this._transparentSubMeshes);e.length&&this._renderTransparent(e)}else this._renderTransparent(this._transparentSubMeshes);l.setAlphaMode(0)}if(l.setStencilBuffer(!1),a&&this._edgesRenderers.length){for(let e=0;e<this._edgesRenderers.length;e++)this._edgesRenderers.data[e].render();l.setAlphaMode(0)}l.setStencilBuffer(c)}_renderOpaqueSorted(e){a._RenderSorted(e,this._opaqueSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderAlphaTestSorted(e){a._RenderSorted(e,this._alphaTestSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderTransparentSorted(e){a._RenderSorted(e,this._transparentSortCompareFn,this._scene.activeCamera,!0,this.disableDepthPrePass)}static _RenderSorted(e,t,s,r,n){let o,h=0,l=s?s.globalPosition:a._ZeroVector;if(r)for(;h<e.length;h++)(o=e.data[h])._alphaIndex=o.getMesh().alphaIndex,o._distanceToCamera=i.Vector3.Distance(o.getBoundingInfo().boundingSphere.centerWorld,l);let c=e.length===e.data.length?e.data:e.data.slice(0,e.length);t&&c.sort(t);let p=c[0].getMesh().getScene();for(h=0;h<c.length;h++)if(o=c[h],!p._activeMeshesFrozenButKeepClipping||o.isInFrustum(p._frustumPlanes)){if(r){let e=o.getMaterial();if(e&&e.needDepthPrePass&&!n){let t=e.getScene().getEngine();t.setColorWrite(!1),t.setAlphaMode(0),o.render(!1),t.setColorWrite(!0)}}o.render(r)}}static defaultTransparentSortCompare(e,t){return e._alphaIndex>t._alphaIndex?1:e._alphaIndex<t._alphaIndex?-1:a.backToFrontSortCompare(e,t)}static backToFrontSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?1:e._distanceToCamera>t._distanceToCamera?-1:0}static frontToBackSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?-1:+(e._distanceToCamera>t._distanceToCamera)}static PainterSortCompare(e,t){let s=e.getMesh(),r=t.getMesh();return s.material&&r.material?s.material.uniqueId-r.material.uniqueId:s.uniqueId-r.uniqueId}prepare(){this._opaqueSubMeshes.reset(),this._transparentSubMeshes.reset(),this._alphaTestSubMeshes.reset(),this._depthOnlySubMeshes.reset(),this._particleSystems.reset(),this.prepareSprites(),this._edgesRenderers.reset(),this._empty=!0}prepareSprites(){this._spriteManagers.reset()}dispose(){this._opaqueSubMeshes.dispose(),this._transparentSubMeshes.dispose(),this._alphaTestSubMeshes.dispose(),this._depthOnlySubMeshes.dispose(),this._particleSystems.dispose(),this._spriteManagers.dispose(),this._edgesRenderers.dispose()}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),void 0===s&&(s=e.getMaterial()),null!=s&&(s.needAlphaBlendingForMesh(t)?this._transparentSubMeshes.push(e):s.needAlphaTestingForMesh(t)?(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._alphaTestSubMeshes.push(e)):(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._opaqueSubMeshes.push(e)),t._renderingGroup=this,t._edgesRenderer&&t.isEnabled()&&t.isVisible&&t._edgesRenderer.isEnabled&&this._edgesRenderers.pushNoDuplicate(t._edgesRenderer),this._empty=!1)}dispatchSprites(e){this._spriteManagers.push(e),this._empty=!1}dispatchParticles(e){this._particleSystems.push(e),this._empty=!1}_renderParticles(e){if(0===this._particleSystems.length)return;let t=this._scene.activeCamera;this._scene.onBeforeParticlesRenderingObservable.notifyObservers(this._scene);for(let s=0;s<this._particleSystems.length;s++){let r=this._particleSystems.data[s];if(0===(t&&t.layerMask&r.layerMask))continue;let i=r.emitter;i.position&&e&&-1===e.indexOf(i)||this._scene._activeParticles.addCount(r.render(),!1)}this._scene.onAfterParticlesRenderingObservable.notifyObservers(this._scene)}_renderSprites(){if(!this._scene.spritesEnabled||0===this._spriteManagers.length)return;let e=this._scene.activeCamera;this._scene.onBeforeSpritesRenderingObservable.notifyObservers(this._scene);for(let t=0;t<this._spriteManagers.length;t++){let s=this._spriteManagers.data[t];0!==(e&&e.layerMask&s.layerMask)&&s.render()}this._scene.onAfterSpritesRenderingObservable.notifyObservers(this._scene)}}a._ZeroVector=i.Vector3.Zero();class n{}class o{get disableDepthPrePass(){return this._disableDepthPrePass}set disableDepthPrePass(e){for(let t of(this._disableDepthPrePass=e,this._renderingGroups))t.disableDepthPrePass=e}get maintainStateBetweenFrames(){return this._maintainStateBetweenFrames}set maintainStateBetweenFrames(e){e!==this._maintainStateBetweenFrames&&(this._maintainStateBetweenFrames=e,this._maintainStateBetweenFrames||this.restoreDispachedFlags())}restoreDispachedFlags(){for(let e of this._scene.meshes)if(e.subMeshes)for(let t of e.subMeshes)t._wasDispatched=!1;if(this._scene.spriteManagers)for(let e of this._scene.spriteManagers)e._wasDispatched=!1;for(let e of this._scene.particleSystems)e._wasDispatched=!1}constructor(e){this._useSceneAutoClearSetup=!1,this._disableDepthPrePass=!1,this._renderingGroups=[],this._autoClearDepthStencil={},this._customOpaqueSortCompareFn={},this._customAlphaTestSortCompareFn={},this._customTransparentSortCompareFn={},this._renderingGroupInfo=new n,this._maintainStateBetweenFrames=!1,this._scene=e;for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++)this._autoClearDepthStencil[e]={autoClear:!0,depth:!0,stencil:!0}}get renderingGroups(){return this._renderingGroups}getRenderingGroup(e){let t=e||0;return this._prepareRenderingGroup(t),this._renderingGroups[t]}_clearDepthStencilBuffer(e=!0,t=!0){this._depthStencilBufferAlreadyCleaned||(this._scene.getEngine().clear(null,!1,e,t),this._depthStencilBufferAlreadyCleaned=!0)}render(e,t,s,r,i=!0,a=!0,n=!0,h=!0,l){let c=this._renderingGroupInfo;if(c.scene=this._scene,c.camera=this._scene.activeCamera,c.renderingManager=this,this._scene.spriteManagers&&r)for(let e=0;e<this._scene.spriteManagers.length;e++){let t=this._scene.spriteManagers[e];this.dispatchSprites(t)}for(let p=o.MIN_RENDERINGGROUPS;p<o.MAX_RENDERINGGROUPS;p++){this._depthStencilBufferAlreadyCleaned=p===o.MIN_RENDERINGGROUPS;let u=this._renderingGroups[p];if(!u||u._empty)continue;let d=1<<p;if(c.renderingGroupId=p,this._scene.onBeforeRenderingGroupObservable.notifyObservers(c,d),o.AUTOCLEAR){let e=this._useSceneAutoClearSetup?this._scene.getAutoClearDepthStencilSetup(p):this._autoClearDepthStencil[p];e&&e.autoClear&&this._clearDepthStencilBuffer(e.depth,e.stencil)}for(let e of this._scene._beforeRenderingGroupDrawStage)e.action(p);for(let o of(u.render(e,r,s,t,i,a,n,h,l),this._scene._afterRenderingGroupDrawStage))o.action(p);this._scene.onAfterRenderingGroupObservable.notifyObservers(c,d)}}reset(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepare()}}resetSprites(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepareSprites()}}dispose(){this.freeRenderingGroups(),this._renderingGroups.length=0,this._renderingGroupInfo=null}freeRenderingGroups(){for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.dispose()}}_prepareRenderingGroup(e){void 0===this._renderingGroups[e]&&(this._renderingGroups[e]=new a(e,this._scene,this._customOpaqueSortCompareFn[e],this._customAlphaTestSortCompareFn[e],this._customTransparentSortCompareFn[e]),this._renderingGroups[e].disableDepthPrePass=this._disableDepthPrePass)}dispatchSprites(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchSprites(e))}dispatchParticles(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchParticles(e))}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(t.renderingGroupId).dispatch(e,t,s))}setRenderingOrder(e,t=null,s=null,r=null){if(this._customOpaqueSortCompareFn[e]=t,this._customAlphaTestSortCompareFn[e]=s,this._customTransparentSortCompareFn[e]=r,this._renderingGroups[e]){let t=this._renderingGroups[e];t.opaqueSortCompareFn=this._customOpaqueSortCompareFn[e],t.alphaTestSortCompareFn=this._customAlphaTestSortCompareFn[e],t.transparentSortCompareFn=this._customTransparentSortCompareFn[e]}}setRenderingAutoClearDepthStencil(e,t,s=!0,r=!0){this._autoClearDepthStencil[e]={autoClear:t,depth:s,stencil:r}}getAutoClearDepthStencilSetup(e){return this._autoClearDepthStencil[e]}}o.MAX_RENDERINGGROUPS=4,o.MIN_RENDERINGGROUPS=0,o.AUTOCLEAR=!0,e.s(["RenderingManager",0,o],471)},67359,e=>{"use strict";var t=e.i(36395);class s{get min(){return this._min}get max(){return this._max}get average(){return this._average}get lastSecAverage(){return this._lastSecAverage}get current(){return this._current}get total(){return this._totalAccumulated}get count(){return this._totalValueCount}constructor(){this._startMonitoringTime=0,this._min=0,this._max=0,this._average=0,this._lastSecAverage=0,this._current=0,this._totalValueCount=0,this._totalAccumulated=0,this._lastSecAccumulated=0,this._lastSecTime=0,this._lastSecValueCount=0}fetchNewFrame(){this._totalValueCount++,this._current=0,this._lastSecValueCount++}addCount(e,t){s.Enabled&&(this._current+=e,t&&this._fetchResult())}beginMonitoring(){s.Enabled&&(this._startMonitoringTime=t.PrecisionDate.Now)}endMonitoring(e=!0){if(!s.Enabled)return;e&&this.fetchNewFrame();let r=t.PrecisionDate.Now;this._current=r-this._startMonitoringTime,e&&this._fetchResult()}endFrame(){this._fetchResult()}_fetchResult(){this._totalAccumulated+=this._current,this._lastSecAccumulated+=this._current,this._min=Math.min(this._min,this._current),this._max=Math.max(this._max,this._current),this._average=this._totalAccumulated/this._totalValueCount;let e=t.PrecisionDate.Now;e-this._lastSecTime>1e3&&(this._lastSecAverage=this._lastSecAccumulated/this._lastSecValueCount,this._lastSecTime=e,this._lastSecAccumulated=0,this._lastSecValueCount=0)}}s.Enabled=!0,e.s(["PerfCounter",0,s])},85531,e=>{"use strict";var t=e.i(65002);class s{static GetPlanes(e){let r=[];for(let e=0;e<6;e++)r.push(new t.Plane(0,0,0,0));return s.GetPlanesToRef(e,r),r}static GetNearPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[2],t.normal.y=s[7]+s[6],t.normal.z=s[11]+s[10],t.d=s[15]+s[14],t.normalize()}static GetFarPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[2],t.normal.y=s[7]-s[6],t.normal.z=s[11]-s[10],t.d=s[15]-s[14],t.normalize()}static GetLeftPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[0],t.normal.y=s[7]+s[4],t.normal.z=s[11]+s[8],t.d=s[15]+s[12],t.normalize()}static GetRightPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[0],t.normal.y=s[7]-s[4],t.normal.z=s[11]-s[8],t.d=s[15]-s[12],t.normalize()}static GetTopPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[1],t.normal.y=s[7]-s[5],t.normal.z=s[11]-s[9],t.d=s[15]-s[13],t.normalize()}static GetBottomPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[1],t.normal.y=s[7]+s[5],t.normal.z=s[11]+s[9],t.d=s[15]+s[13],t.normalize()}static GetPlanesToRef(e,t){s.GetNearPlaneToRef(e,t[0]),s.GetFarPlaneToRef(e,t[1]),s.GetLeftPlaneToRef(e,t[2]),s.GetRightPlaneToRef(e,t[3]),s.GetTopPlaneToRef(e,t[4]),s.GetBottomPlaneToRef(e,t[5])}static IsPointInFrustum(e,t){for(let s=0;s<6;s++)if(0>t[s].dotCoordinate(e))return!1;return!0}}e.s(["Frustum",0,s])},50107,e=>{"use strict";var t=e.i(96265),s=e.i(35407);e.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(e=!1,r=!0){let i;if(!this.pickedMesh||r&&!this.pickedMesh.isVerticesDataPresent(s.VertexBuffer.NormalKind))return null;let a=this.pickedMesh.getIndices();a?.length===0&&(a=null);let n=t.TmpVectors.Vector3[0],o=t.TmpVectors.Vector3[1],h=t.TmpVectors.Vector3[2];if(r){let e=this.pickedMesh.getVerticesData(s.VertexBuffer.NormalKind),r=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],n):n.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],h):h.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]);r=r.scale(this.bu),l=l.scale(this.bv),c=c.scale(1-this.bu-this.bv),i=new t.Vector3(r.x+l.x+c.x,r.y+l.y+c.y,r.z+l.z+c.z)}else{let e=this.pickedMesh.getVerticesData(s.VertexBuffer.PositionKind),r=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],n):n.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],h):h.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]),p=r.subtract(l),u=c.subtract(l);i=t.Vector3.Cross(p,u)}let l=(e,s)=>{if(-1!==this.thinInstanceIndex){let r=e._thinInstanceDataStorage.matrixData,i=this.thinInstanceIndex<<4;if(r&&r.length>i){let e=t.TmpVectors.Matrix[0];t.Matrix.FromArrayToRef(r,i,e),t.Vector3.TransformNormalToRef(s,e,s)}}let r=e.getWorldMatrix();e.nonUniformScaling&&(t.TmpVectors.Matrix[0].copyFrom(r),(r=t.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),r.invert(),r.transposeToRef(t.TmpVectors.Matrix[1]),r=t.TmpVectors.Matrix[1]),t.Vector3.TransformNormalToRef(s,r,s)};if(e&&l(this.pickedMesh,i),this.ray){let s=t.TmpVectors.Vector3[0].copyFrom(i);e||l(this.pickedMesh,s),t.Vector3.Dot(s,this.ray.direction)>0&&i.negateInPlace()}return i.normalize(),i}getTextureCoordinates(e=s.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(e))return null;let r=this.pickedMesh.getIndices();if(!r)return null;let i=this.pickedMesh.getVerticesData(e);if(!i)return null;let a=t.Vector2.FromArray(i,2*r[3*this.faceId]),n=t.Vector2.FromArray(i,2*r[3*this.faceId+1]),o=t.Vector2.FromArray(i,2*r[3*this.faceId+2]);return a=a.scale(this.bu),n=n.scale(this.bv),o=o.scale(1-this.bu-this.bv),new t.Vector2(a.x+n.x+o.x,a.y+n.y+o.y)}}])},21222,e=>{"use strict";var t=e.i(96265);class s{}s.POINTERDOWN=1,s.POINTERUP=2,s.POINTERMOVE=4,s.POINTERWHEEL=8,s.POINTERPICK=16,s.POINTERTAP=32,s.POINTERDOUBLETAP=64;class r{constructor(e,t){this.type=e,this.event=t}}e.s(["PointerEventTypes",0,s,"PointerInfo",0,class extends r{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(e,t,s,r=null){super(e,t),this._pickInfo=s,this._inputManager=r}_generatePickInfo(){this._inputManager&&(this._pickInfo=this._inputManager._pickMove(this.event),this._inputManager._setRayOnPointerInfo(this._pickInfo,this.event),this._inputManager=null)}},"PointerInfoPre",0,class extends r{constructor(e,s,r,i){super(e,s),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new t.Vector2(r,i)}}])},36365,e=>{"use strict";class t{}t.KEYDOWN=1,t.KEYUP=2;class s{constructor(e,t){this.type=e,this.event=t}}e.s(["KeyboardEventTypes",0,t,"KeyboardInfo",0,s,"KeyboardInfoPre",0,class extends s{get skipOnPointerObservable(){return this.skipOnKeyboardObservable}set skipOnPointerObservable(e){this.skipOnKeyboardObservable=e}constructor(e,t){super(e,t),this.type=e,this.event=t,this.skipOnKeyboardObservable=!1}}])},76696,e=>{"use strict";var t,s;(s=t||(t={}))[s.PointerMove=0]="PointerMove",s[s.PointerDown=1]="PointerDown",s[s.PointerUp=2]="PointerUp";class r{}r.DOM_DELTA_PIXEL=0,r.DOM_DELTA_LINE=1,r.DOM_DELTA_PAGE=2,e.s(["EventConstants",0,r])},73073,e=>{"use strict";var t=e.i(66749);(0,t.RegisterScene)(),e.s([],68893),e.i(68893),e.s(["RegisterScene",()=>t.RegisterScene,"Scene",()=>t.Scene,"ScenePerformancePriority",()=>t.ScenePerformancePriority],73073)}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35182,25626,63406,31213,e=>{"use strict";var f=e.i(12423);let n="clipPlaneFragmentDeclaration",i=`#ifdef CLIPPLANE
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35182,63406,e=>{"use strict";var f=e.i(12423);let n="clipPlaneFragmentDeclaration",i=`#ifdef CLIPPLANE
2
2
  varying fClipDistance: f32;
3
3
  #endif
4
4
  #ifdef CLIPPLANE2
@@ -16,21 +16,7 @@ varying fClipDistance5: f32;
16
16
  #ifdef CLIPPLANE6
17
17
  varying fClipDistance6: f32;
18
18
  #endif
19
- `;f.ShaderStore.IncludesShadersStoreWGSL[n]||(f.ShaderStore.IncludesShadersStoreWGSL[n]=i),e.s(["clipPlaneFragmentDeclarationWGSL",0,{name:n,shader:i}],35182);let r="fogFragmentDeclaration",o=`#ifdef FOG
20
- #define FOGMODE_NONE 0.
21
- #define FOGMODE_EXP 1.
22
- #define FOGMODE_EXP2 2.
23
- #define FOGMODE_LINEAR 3.
24
- const E=2.71828;uniform vFogInfos: vec4f;uniform vFogColor: vec3f;varying vFogDistance: vec3f;fn CalcFogFactor()->f32
25
- {var fogCoeff: f32=1.0;var fogStart: f32=uniforms.vFogInfos.y;var fogEnd: f32=uniforms.vFogInfos.z;var fogDensity: f32=uniforms.vFogInfos.w;var fogDistance: f32=length(fragmentInputs.vFogDistance);if (FOGMODE_LINEAR==uniforms.vFogInfos.x)
26
- {fogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);}
27
- else if (FOGMODE_EXP==uniforms.vFogInfos.x)
28
- {fogCoeff=1.0/pow(E,fogDistance*fogDensity);}
29
- else if (FOGMODE_EXP2==uniforms.vFogInfos.x)
30
- {fogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);}
31
- return clamp(fogCoeff,0.0,1.0);}
32
- #endif
33
- `;f.ShaderStore.IncludesShadersStoreWGSL[r]||(f.ShaderStore.IncludesShadersStoreWGSL[r]=o),e.s(["fogFragmentDeclarationWGSL",0,{name:r,shader:o}],25626);let a="clipPlaneFragment",t=`#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
19
+ `;f.ShaderStore.IncludesShadersStoreWGSL[n]||(f.ShaderStore.IncludesShadersStoreWGSL[n]=i),e.s(["clipPlaneFragmentDeclarationWGSL",0,{name:n,shader:i}],35182);let r="clipPlaneFragment",o=`#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
34
20
  if (false) {}
35
21
  #endif
36
22
  #ifdef CLIPPLANE
@@ -57,14 +43,28 @@ else if (fragmentInputs.fClipDistance5>0.0)
57
43
  else if (fragmentInputs.fClipDistance6>0.0)
58
44
  {discard;}
59
45
  #endif
60
- `;f.ShaderStore.IncludesShadersStoreWGSL[a]||(f.ShaderStore.IncludesShadersStoreWGSL[a]=t),e.s(["clipPlaneFragmentWGSL",0,{name:a,shader:t}],63406);let d="fogFragment",s=`#ifdef FOG
46
+ `;f.ShaderStore.IncludesShadersStoreWGSL[r]||(f.ShaderStore.IncludesShadersStoreWGSL[r]=o),e.s(["clipPlaneFragmentWGSL",0,{name:r,shader:o}],63406)},25626,31213,e=>{"use strict";var f=e.i(12423);let n="fogFragmentDeclaration",i=`#ifdef FOG
47
+ #define FOGMODE_NONE 0.
48
+ #define FOGMODE_EXP 1.
49
+ #define FOGMODE_EXP2 2.
50
+ #define FOGMODE_LINEAR 3.
51
+ const E=2.71828;uniform vFogInfos: vec4f;uniform vFogColor: vec3f;varying vFogDistance: vec3f;fn CalcFogFactor()->f32
52
+ {var fogCoeff: f32=1.0;var fogStart: f32=uniforms.vFogInfos.y;var fogEnd: f32=uniforms.vFogInfos.z;var fogDensity: f32=uniforms.vFogInfos.w;var fogDistance: f32=length(fragmentInputs.vFogDistance);if (FOGMODE_LINEAR==uniforms.vFogInfos.x)
53
+ {fogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);}
54
+ else if (FOGMODE_EXP==uniforms.vFogInfos.x)
55
+ {fogCoeff=1.0/pow(E,fogDistance*fogDensity);}
56
+ else if (FOGMODE_EXP2==uniforms.vFogInfos.x)
57
+ {fogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);}
58
+ return clamp(fogCoeff,0.0,1.0);}
59
+ #endif
60
+ `;f.ShaderStore.IncludesShadersStoreWGSL[n]||(f.ShaderStore.IncludesShadersStoreWGSL[n]=i),e.s(["fogFragmentDeclarationWGSL",0,{name:n,shader:i}],25626);let r="fogFragment",o=`#ifdef FOG
61
61
  var fog: f32=CalcFogFactor();
62
62
  #ifdef PBR
63
63
  fog=toLinearSpace(fog);
64
64
  #endif
65
65
  color= vec4f(mix(uniforms.vFogColor,color.rgb,fog),color.a);
66
66
  #endif
67
- `;f.ShaderStore.IncludesShadersStoreWGSL[d]||(f.ShaderStore.IncludesShadersStoreWGSL[d]=s),e.s(["fogFragmentWGSL",0,{name:d,shader:s}],31213)},51075,e=>{"use strict";var f=e.i(12423),n=e.i(35182),i=e.i(25626),r=e.i(63406),o=e.i(31213);let a="colorPixelShader",t=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
67
+ `;f.ShaderStore.IncludesShadersStoreWGSL[r]||(f.ShaderStore.IncludesShadersStoreWGSL[r]=o),e.s(["fogFragmentWGSL",0,{name:r,shader:o}],31213)},51075,e=>{"use strict";var f=e.i(12423),n=e.i(35182),i=e.i(25626),r=e.i(63406),o=e.i(31213);let a="colorPixelShader",t=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
68
68
  #define VERTEXCOLOR
69
69
  varying vColor: vec4f;
70
70
  #else
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13379,t=>{"use strict";class r{static _CheckLimit(t,e){let i=r._LogLimitOutputs[t];return i?i.current++:(i={limit:e,current:1},r._LogLimitOutputs[t]=i),i.current<=i.limit}static _GenerateLimitMessage(t,e=1){let i=r._LogLimitOutputs[t];if(!i||!r.MessageLimitReached)return;let s=this._Levels[e];i.current===i.limit&&r[s.name](r.MessageLimitReached.replace(/%LIMIT%/g,""+i.limit).replace(/%TYPE%/g,s.name??""))}static _AddLogEntry(t){r._LogCache=t+r._LogCache,r.OnNewCacheEntry&&r.OnNewCacheEntry(t)}static _FormatMessage(t){let r=t=>t<10?"0"+t:""+t,e=new Date;return"["+r(e.getHours())+":"+r(e.getMinutes())+":"+r(e.getSeconds())+"]: "+t}static _LogDisabled(t,r){}static _LogEnabled(t=1,e,i){let s=Array.isArray(e)?e[0]:e;if(void 0!==i&&!r._CheckLimit(s,i))return;let a=r._FormatMessage(s),n=this._Levels[t],h=Array.isArray(e)?e.slice(1):[];n.logFunc&&n.logFunc("BJS - "+a,...h);let o=`<div style='color:${n.color}'>${a}</div><br>`;r._AddLogEntry(o),r._GenerateLimitMessage(s,t)}static get LogCache(){return r._LogCache}static ClearLogCache(){r._LogCache="",r._LogLimitOutputs={},r.errorsCount=0}static set LogLevels(t){for(let e of(r.Log=r._LogDisabled,r.Warn=r._LogDisabled,r.Error=r._LogDisabled,[r.MessageLogLevel,r.WarningLogLevel,r.ErrorLogLevel]))(t&e)===e&&(r[this._Levels[e].name]=r._LogEnabled.bind(r,e))}}r.NoneLogLevel=0,r.MessageLogLevel=1,r.WarningLogLevel=2,r.ErrorLogLevel=4,r.AllLogLevel=7,r.MessageLimitReached="Too many %TYPE%s (%LIMIT%), no more %TYPE%s will be reported for this message.",r._LogCache="",r._LogLimitOutputs={},r._Levels=[{},{color:"white",logFunc:console.log,name:"Log"},{color:"orange",logFunc:console.warn,name:"Warn"},{},{color:"red",logFunc:console.error,name:"Error"}],r.errorsCount=0,r.Log=r._LogEnabled.bind(r,r.MessageLogLevel),r.Warn=r._LogEnabled.bind(r,r.WarningLogLevel),r.Error=r._LogEnabled.bind(r,r.ErrorLogLevel),t.s(["Logger",0,r])},84768,t=>{"use strict";t.s(["RandomGUID",0,function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let r=16*Math.random()|0;return("x"===t?r:3&r|8).toString(16)})}])},70653,t=>{"use strict";var r=t.i(48657),e=t.i(89030),i=t.i(46703),s=t.i(77052);function a(t){return Math.pow(t,e.ToLinearSpace)}function n(t){return t<=.04045?.0773993808*t:Math.pow(.947867299*(t+.055),2.4)}function h(t){return Math.pow(t,e.ToGammaSpace)}function o(t){return t<=.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class g{constructor(t=0,r=0,e=0){this.r=t,this.g=r,this.b=e}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+"}"}getClassName(){return"Color3"}getHashCode(){let t=255*this.r|0;return 397*(t=397*t^255*this.g)^255*this.b}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,this}fromArray(t,r=0){return g.FromArrayToRef(t,r,this),this}toColor4(t=1){return new l(this.r,this.g,this.b,t)}asArray(){return[this.r,this.g,this.b]}toLuminance(){return .3*this.r+.59*this.g+.11*this.b}multiply(t){return new g(this.r*t.r,this.g*t.g,this.b*t.b)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyByFloats(t,r,e){return new g(this.r*t,this.g*r,this.b*e)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t.r,t.g,t.b)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t.r,t.g,t.b)}minimizeInPlaceFromFloats(t,r,e){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this}maximizeInPlaceFromFloats(t,r,e){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b}equalsFloats(t,r,e){return this.equalsToFloats(t,r,e)}equalsToFloats(t,r,e){return this.r===t&&this.g===r&&this.b===e}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}scale(t){return new g(this.r*t,this.g*t,this.b*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e}add(t){return new g(this.r+t.r,this.g+t.g,this.b+t.b)}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addInPlaceFromFloats(t,r,e){return this.r+=t,this.g+=r,this.b+=e,this}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r}subtract(t){return new g(this.r-t.r,this.g-t.g,this.b-t.b)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this}subtractFromFloats(t,r,e){return new g(this.r-t,this.g-r,this.b-e)}subtractFromFloatsToRef(t,r,e,i){return i.r=this.r-t,i.g=this.g-r,i.b=this.b-e,i}clone(){return new g(this.r,this.g,this.b)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyFromFloats(t,r,e){return this.r=t,this.g=r,this.b=e,this}set(t,r,e){return this.copyFromFloats(t,r,e)}setAll(t){return this.r=this.g=this.b=t,this}toHexString(){let t=Math.round(255*this.r),r=Math.round(255*this.g),e=Math.round(255*this.b);return"#"+(0,i.ToHex)(t)+(0,i.ToHex)(r)+(0,i.ToHex)(e)}fromHexString(t){return"#"!==t.substring(0,1)||7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255),this}toHSV(){return this.toHSVToRef(new g)}toHSVToRef(t){let r=this.r,e=this.g,i=this.b,s=Math.max(r,e,i),a=Math.min(r,e,i),n=0,h=0,o=s-a;return 0!==s&&(h=o/s),s!=a&&(s==r?(n=(e-i)/o,e<i&&(n+=6)):s==e?n=(i-r)/o+2:s==i&&(n=(r-e)/o+4),n*=60),t.r=n,t.g=h,t.b=s,t}toLinearSpace(t=!1){let r=new g;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)):(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)),this}toGammaSpace(t=!1){let r=new g;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),this}static HSVtoRGBToRef(t,r,e,i){let s=e*r,a=t/60,n=s*(1-Math.abs(a%2-1)),h=0,o=0,g=0;a>=0&&a<=1?(h=s,o=n):a>=1&&a<=2?(h=n,o=s):a>=2&&a<=3?(o=s,g=n):a>=3&&a<=4?(o=n,g=s):a>=4&&a<=5?(h=n,g=s):a>=5&&a<=6&&(h=s,g=n);let l=e-s;return i.r=h+l,i.g=o+l,i.b=g+l,i}static FromHSV(t,r,e){let i=new g(0,0,0);return g.HSVtoRGBToRef(t,r,e,i),i}static FromHexString(t){return new g(0,0,0).fromHexString(t)}static FromArray(t,r=0){return new g(t[r],t[r+1],t[r+2])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2]}static FromInts(t,r,e){return new g(t/255,r/255,e/255)}static Lerp(t,r,e){let i=new g(0,0,0);return g.LerpToRef(t,r,e,i),i}static LerpToRef(t,r,e,i){i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e}static Hermite(t,r,e,i,s){let a=s*s,n=s*a,h=2*n-3*a+1,o=-2*n+3*a,l=n-2*a+s,c=n-a;return new g(t.r*h+e.r*o+r.r*l+i.r*c,t.g*h+e.g*o+r.g*l+i.g*c,t.b*h+e.b*o+r.b*l+i.b*c)}static Hermite1stDerivative(t,r,e,i,s){let a=g.Black();return this.Hermite1stDerivativeToRef(t,r,e,i,s,a),a}static Hermite1stDerivativeToRef(t,r,e,i,s,a){let n=s*s;a.r=(n-s)*6*t.r+(3*n-4*s+1)*r.r+(-n+s)*6*e.r+(3*n-2*s)*i.r,a.g=(n-s)*6*t.g+(3*n-4*s+1)*r.g+(-n+s)*6*e.g+(3*n-2*s)*i.g,a.b=(n-s)*6*t.b+(3*n-4*s+1)*r.b+(-n+s)*6*e.b+(3*n-2*s)*i.b}static Red(){return new g(1,0,0)}static Green(){return new g(0,1,0)}static Blue(){return new g(0,0,1)}static Black(){return new g(0,0,0)}static get BlackReadOnly(){return g._BlackReadOnly}static White(){return new g(1,1,1)}static Purple(){return new g(.5,0,.5)}static Magenta(){return new g(1,0,1)}static Yellow(){return new g(1,1,0)}static Gray(){return new g(.5,.5,.5)}static Teal(){return new g(0,1,1)}static Random(){return new g(Math.random(),Math.random(),Math.random())}}g._V8PerformanceHack=new g(.5,.5,.5),g._BlackReadOnly=g.Black();class l{constructor(t=0,r=0,e=0,i=1){this.r=t,this.g=r,this.b=e,this.a=i}asArray(){return[this.r,this.g,this.b,this.a]}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,t[r+3]=this.a,this}fromArray(t,r=0){return this.r=t[r],this.g=t[r+1],this.b=t[r+2],this.a=t[r+3],this}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}add(t){return new l(this.r+t.r,this.g+t.g,this.b+t.b,this.a+t.a)}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r.a=this.a+t.a,r}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this}addInPlaceFromFloats(t,r,e,i){return this.r+=t,this.g+=r,this.b+=e,this.a+=i,this}subtract(t){return new l(this.r-t.r,this.g-t.g,this.b-t.b,this.a-t.a)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r.a=this.a-t.a,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this}subtractFromFloats(t,r,e,i){return new l(this.r-t,this.g-r,this.b-e,this.a-i)}subtractFromFloatsToRef(t,r,e,i,s){return s.r=this.r-t,s.g=this.g-r,s.b=this.b-e,s.a=this.a-i,s}scale(t){return new l(this.r*t,this.g*t,this.b*t,this.a*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r.a=this.a*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r.a+=this.a*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e.a=(0,i.Clamp)(this.a,t,r),e}multiply(t){return new l(this.r*t.r,this.g*t.g,this.b*t.b,this.a*t.a)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r.a=this.a*t.a,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a,this}multiplyByFloats(t,r,e,i){return new l(this.r*t,this.g*r,this.b*e,this.a*i)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a),this}maximizeInPlace(t){return this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a),this}minimizeInPlaceFromFloats(t,r,e,i){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this.a=Math.min(i,this.a),this}maximizeInPlaceFromFloats(t,r,e,i){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this.a=Math.max(i,this.a),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)&&(0,i.WithinEpsilon)(this.a,t.a,r)}equalsToFloats(t,r,e,i){return this.r===t&&this.g===r&&this.b===e&&this.a===i}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+" A:"+this.a+"}"}getClassName(){return"Color4"}getHashCode(){let t=255*this.r|0;return 397*(t=397*(t=397*t^255*this.g)^255*this.b)^255*this.a}clone(){return new l().copyFrom(this)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}copyFromFloats(t,r,e,i){return this.r=t,this.g=r,this.b=e,this.a=i,this}set(t,r,e,i){return this.copyFromFloats(t,r,e,i)}setAll(t){return this.r=this.g=this.b=this.a=t,this}toHexString(t=!1){let r=Math.round(255*this.r),e=Math.round(255*this.g),s=Math.round(255*this.b);if(t)return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s);let a=Math.round(255*this.a);return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s)+(0,i.ToHex)(a)}fromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255,9===t.length&&(this.a=parseInt(t.substring(7,9),16)/255)),this}toLinearSpace(t=!1){let r=new l;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)):(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)),t.a=this.a,this}toGammaSpace(t=!1){let r=new l;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),t.a=this.a,this}static FromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length?new l(0,0,0,0):new l(0,0,0,1).fromHexString(t)}static Lerp(t,r,e){return l.LerpToRef(t,r,e,new l)}static LerpToRef(t,r,e,i){return i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e,i.a=t.a+(r.a-t.a)*e,i}static Hermite(t,r,e,i,s){let a=s*s,n=s*a,h=2*n-3*a+1,o=-2*n+3*a,g=n-2*a+s,c=n-a;return new l(t.r*h+e.r*o+r.r*g+i.r*c,t.g*h+e.g*o+r.g*g+i.g*c,t.b*h+e.b*o+r.b*g+i.b*c,t.a*h+e.a*o+r.a*g+i.a*c)}static Hermite1stDerivative(t,r,e,i,s){let a=new l;return this.Hermite1stDerivativeToRef(t,r,e,i,s,a),a}static Hermite1stDerivativeToRef(t,r,e,i,s,a){let n=s*s;a.r=(n-s)*6*t.r+(3*n-4*s+1)*r.r+(-n+s)*6*e.r+(3*n-2*s)*i.r,a.g=(n-s)*6*t.g+(3*n-4*s+1)*r.g+(-n+s)*6*e.g+(3*n-2*s)*i.g,a.b=(n-s)*6*t.b+(3*n-4*s+1)*r.b+(-n+s)*6*e.b+(3*n-2*s)*i.b,a.a=(n-s)*6*t.a+(3*n-4*s+1)*r.a+(-n+s)*6*e.a+(3*n-2*s)*i.a}static FromColor3(t,r=1){return new l(t.r,t.g,t.b,r)}static FromArray(t,r=0){return new l(t[r],t[r+1],t[r+2],t[r+3])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2],e.a=t[r+3]}static FromInts(t,r,e,i){return new l(t/255,r/255,e/255,i/255)}static CheckColors4(t,r){if(t.length===3*r){let r=[];for(let e=0;e<t.length;e+=3){let i=e/3*4;r[i]=t[e],r[i+1]=t[e+1],r[i+2]=t[e+2],r[i+3]=1}return r}return t}}l._V8PerformanceHack=new l(.5,.5,.5,.5);class c{}c.Color3=(0,r.BuildArray)(3,g.Black),c.Color4=(0,r.BuildArray)(3,()=>new l(0,0,0,0));let u=!1;t.s(["Color3",0,g,"Color4",0,l,"RegisterMathColor",0,function(){u||(u=!0,Object.defineProperties(g.prototype,{dimension:{value:[3]},rank:{value:1}}),Object.defineProperties(l.prototype,{dimension:{value:[4]},rank:{value:1}}),(0,s.RegisterClass)("BABYLON.Color3",g),(0,s.RegisterClass)("BABYLON.Color4",l))},"TmpColors",0,c])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/3sjq_xoi4rbyg.js","static/chunks/10fnxpln_5xfd.js","static/chunks/0tl_moiyi2txt.js"],runtimeModuleIds:[57693]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),C=Symbol("turbopack error");function P(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,P(t)},e=>{r[C]=e,P(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[C])throw e[C];return e[U]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[C]=e):i(u[U]),P(n)}),n&&-1===n.status&&(n.status=0)};let v=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}v.prototype=URL.prototype,u.U=v,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,_=new Map;u.M=_;let $=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!_.has(e)||$.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let x=Promise.resolve(void 0),A=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,x);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=_.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,_)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/3sjq_xoi4rbyg.js","static/chunks/12kv810lohbsx.js","static/chunks/0tl_moiyi2txt.js"],runtimeModuleIds:[57693]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),v=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,C(t)},e=>{r[v]=e,C(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[v])throw e[v];return e[U]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[v]=e):i(u[U]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let x=Promise.resolve(void 0),A=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,x);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();