@uptimizr/dashboard 0.4.6 → 0.4.8

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 (388) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +19 -5
  3. package/out/__next._full.txt +10 -10
  4. package/out/__next._tree.txt +1 -1
  5. package/out/_next/static/chunks/{3cp5nmtwxq4gr.js → 0-6mdj5wxsfid.js} +1 -1
  6. package/out/_next/static/chunks/{2clevl_9ayd0x.js → 0-qthfqvm1jyj.js} +1 -1
  7. package/out/_next/static/chunks/01viyuclp2gm9.js +1 -0
  8. package/out/_next/static/chunks/02aym4t2hgo5c.js +1 -0
  9. package/out/_next/static/chunks/{1fervgvgv10r-.js → 02ic9b5ejugow.js} +1 -1
  10. package/out/_next/static/chunks/03p70i4c7qt0v.js +1 -0
  11. package/out/_next/static/chunks/{3zv5kyos9vtmm.js → 03pjr-ivdicng.js} +1 -1
  12. package/out/_next/static/chunks/041a06-lxipy5.js +1 -0
  13. package/out/_next/static/chunks/{3-yhe6rcsjh88.js → 06dzkwetqis-5.js} +1 -1
  14. package/out/_next/static/chunks/{2mjjo0yj-4ro4.js → 06kvanz5-fo52.js} +1 -1
  15. package/out/_next/static/chunks/{28i3wgvgn_at1.js → 07y8ke_iy59dn.js} +1 -1
  16. package/out/_next/static/chunks/09jukc-4jl735.js +1 -0
  17. package/out/_next/static/chunks/{0cmyc-uvk93kl.js → 09khmdgez3t0a.js} +74 -74
  18. package/out/_next/static/chunks/{2x-7kbwq8tl-o.js → 0_dca4876jshu.js} +196 -196
  19. package/out/_next/static/chunks/0axcgnl5qzr6e.js +1 -0
  20. package/out/_next/static/chunks/0ay4fjomijs3n.js +1 -0
  21. package/out/_next/static/chunks/0c7fy79wlccat.js +1 -0
  22. package/out/_next/static/chunks/0cqe4-l3imct3.js +1 -0
  23. package/out/_next/static/chunks/0cssvelju788j.js +1 -0
  24. package/out/_next/static/chunks/{2-_a-v1xeo5hb.js → 0ctain5xq2wsd.js} +116 -115
  25. package/out/_next/static/chunks/{3yk0hzfq5rcs6.js → 0df-dr3otg_4w.js} +1 -1
  26. package/out/_next/static/chunks/{0i9wa8hjd-5tc.js → 0endw997j7ao9.js} +1 -1
  27. package/out/_next/static/chunks/0ev_pbit1v_qg.js +1 -0
  28. package/out/_next/static/chunks/0eyw9oiwipywb.js +1 -0
  29. package/out/_next/static/chunks/0fkzbuo1tex4u.js +1 -0
  30. package/out/_next/static/chunks/0govas0u0t4w3.js +1 -0
  31. package/out/_next/static/chunks/{287hakn2ijupp.js → 0guzhnususp3-.js} +2 -2
  32. package/out/_next/static/chunks/0h7bq_ysu17q7.js +3 -0
  33. package/out/_next/static/chunks/0hneh_3xzlo28.js +1 -0
  34. package/out/_next/static/chunks/0iaqwme19z_0s.js +1 -0
  35. package/out/_next/static/chunks/0ibmar10xndpn.js +1 -0
  36. package/out/_next/static/chunks/0ii8mqoteppgh.js +11 -0
  37. package/out/_next/static/chunks/{3ioxfi3bvznhh.js → 0ip6v64di_l6x.js} +1 -1
  38. package/out/_next/static/chunks/{184pz6z3dflfm.js → 0ixymgjgz3grn.js} +20 -20
  39. package/out/_next/static/chunks/0kuah8g7lt5ox.js +1 -0
  40. package/out/_next/static/chunks/0l3k4j19vxm17.js +1 -0
  41. package/out/_next/static/chunks/0l6hg0ohwh9-m.js +1 -0
  42. package/out/_next/static/chunks/0m4um4ylhlfan.js +1 -0
  43. package/out/_next/static/chunks/0mj837d4h0ddq.js +1 -0
  44. package/out/_next/static/chunks/0nyn-f4905o91.js +1 -0
  45. package/out/_next/static/chunks/0og6i9rsgkuif.js +1 -0
  46. package/out/_next/static/chunks/0os1x-fxzgnxs.js +1 -0
  47. package/out/_next/static/chunks/0otnra7mp0hog.js +1 -0
  48. package/out/_next/static/chunks/{3p03l0z65c8vc.js → 0oyf2xzv8ofkk.js} +253 -253
  49. package/out/_next/static/chunks/0qvsy3gcqjm12.js +1 -0
  50. package/out/_next/static/chunks/{0yd4_xh476fjn.js → 0rl4ddh2vgxyl.js} +97 -97
  51. package/out/_next/static/chunks/0rwpttmsmqvn_.js +1 -0
  52. package/out/_next/static/chunks/0so3wjp9ch93y.js +1 -0
  53. package/out/_next/static/chunks/{36pz_ews7u0xb.js → 0te4g160_rb5d.js} +1 -1
  54. package/out/_next/static/chunks/0uby-zvu799ef.js +1 -0
  55. package/out/_next/static/chunks/{2kk_vvmr2xm3d.js → 0uvn0op2mlr2u.js} +12 -12
  56. package/out/_next/static/chunks/0vwj4hxjm0igv.js +1 -0
  57. package/out/_next/static/chunks/{0r-x702_jvhud.js → 0w7c30w07uct2.js} +12 -12
  58. package/out/_next/static/chunks/0wm38z3u2133a.js +1 -0
  59. package/out/_next/static/chunks/0y7yk5al7_p8q.js +4 -0
  60. package/out/_next/static/chunks/0ycr0gi6fn6bt.js +1 -0
  61. package/out/_next/static/chunks/0ywvahq9t0tki.js +1 -0
  62. package/out/_next/static/chunks/0zh6nslagkby-.js +1 -0
  63. package/out/_next/static/chunks/{3twr9ds68-9us.js → 0zo8xa0nej3ex.js} +1 -1
  64. package/out/_next/static/chunks/{1lu7rjfvxj8yj.js → 0zsir95gpf3xw.js} +1 -1
  65. package/out/_next/static/chunks/{1j4c0nvdo5q68.js → 0zu6ryyj0ig-j.js} +1 -1
  66. package/out/_next/static/chunks/{1bv-jzy_2jiqs.js → 1-jv8k10q_1uw.js} +1 -1
  67. package/out/_next/static/chunks/{0xx7_7y5jdlh4.js → 1-s5ioie9a94e.js} +1 -1
  68. package/out/_next/static/chunks/{27z7j17kcrty_.js → 1-yos1h0qws5e.js} +11 -11
  69. package/out/_next/static/chunks/10o7brc3x027r.js +1 -0
  70. package/out/_next/static/chunks/{2xe4bgir5l-9b.js → 10pae4gb9i929.js} +504 -504
  71. package/out/_next/static/chunks/13p93itm8a3ym.js +1 -0
  72. package/out/_next/static/chunks/{2mrkv0z2i74pv.js → 147s8i_lktp4_.js} +2 -2
  73. package/out/_next/static/chunks/{3nwaovnpiyrt8.js → 14tgo5xt_3j4w.js} +3 -3
  74. package/out/_next/static/chunks/1699hx-vlak0n.js +22 -0
  75. package/out/_next/static/chunks/{2b5nt7yn-pq3a.js → 16d6n9e77rqti.js} +1 -1
  76. package/out/_next/static/chunks/{3nr48h9zwum-3.js → 16f3d5dv83rsr.js} +1 -1
  77. package/out/_next/static/chunks/16i_tpwn_cmr-.js +1 -0
  78. package/out/_next/static/chunks/{2117sv2qzo6yq.js → 16rfr165nbha0.js} +1 -1
  79. package/out/_next/static/chunks/16sl51pvzo4tf.js +1 -0
  80. package/out/_next/static/chunks/1760s-32qpwgg.js +1 -0
  81. package/out/_next/static/chunks/{3rj-5v0j_2-_2.js → 18kq07c5xy_4g.js} +4 -4
  82. package/out/_next/static/chunks/{2wgh5i70bzelt.js → 190tbzt861ao3.js} +392 -392
  83. package/out/_next/static/chunks/19bhv6cupnnyj.js +1 -0
  84. package/out/_next/static/chunks/1_14pn2wwebxy.js +1 -0
  85. package/out/_next/static/chunks/{2_lw4d7t-xcqi.js → 1_kikmeubh0wq.js} +523 -522
  86. package/out/_next/static/chunks/1ay3z6agelsvz.js +1 -0
  87. package/out/_next/static/chunks/1b-fi3bfmpe31.js +1 -0
  88. package/out/_next/static/chunks/1bae3tqv53x9_.js +1 -0
  89. package/out/_next/static/chunks/{2s4fzgzkwjluu.js → 1bf421g4peccx.js} +2 -2
  90. package/out/_next/static/chunks/1bfony5qsc5tp.js +1 -0
  91. package/out/_next/static/chunks/{3vtmucpx25o7q.js → 1ddt0ot7kl8vq.js} +584 -584
  92. package/out/_next/static/chunks/1emz2vjkgck4z.js +1 -0
  93. package/out/_next/static/chunks/1eogzzw8i1wsg.js +1 -0
  94. package/out/_next/static/chunks/1g9p2h1-31q8o.js +1 -0
  95. package/out/_next/static/chunks/1gcz1k1v1woca.js +1 -0
  96. package/out/_next/static/chunks/1h8lyicgqhpxa.js +1 -0
  97. package/out/_next/static/chunks/{0e5dcxmkprebg.js → 1hot663akaepl.js} +1 -1
  98. package/out/_next/static/chunks/1i7pgl3ks5ye0.js +1 -0
  99. package/out/_next/static/chunks/{0xzamrecplwzw.js → 1i8sk_qgpdjhs.js} +1 -1
  100. package/out/_next/static/chunks/1kk3ct7pkpf3b.js +1 -0
  101. package/out/_next/static/chunks/1kq9o8del67le.js +1 -0
  102. package/out/_next/static/chunks/1l7tzyx2mumlq.js +1 -0
  103. package/out/_next/static/chunks/1n_uwed9o--go.js +1 -0
  104. package/out/_next/static/chunks/1o351eldttogn.js +1 -0
  105. package/out/_next/static/chunks/{1f07l3q77zat1.js → 1ogs4_aj84bfn.js} +1 -1
  106. package/out/_next/static/chunks/{3_dm45k0vk1aa.js → 1p206txlluipi.js} +565 -565
  107. package/out/_next/static/chunks/1p2bt1w845v6c.js +1 -0
  108. package/out/_next/static/chunks/1p3rgz4aef1gk.js +1 -0
  109. package/out/_next/static/chunks/{0ypejzd74ixbw.js → 1qcgdx9yl0gfx.js} +15 -15
  110. package/out/_next/static/chunks/1ql3mm2w5r-m8.js +1 -0
  111. package/out/_next/static/chunks/1qvcyuyshi3ll.js +53 -0
  112. package/out/_next/static/chunks/1r0yyg5a_0knc.js +1 -0
  113. package/out/_next/static/chunks/{374lzksboll-t.js → 1sa6qiidtcyk2.js} +1 -1
  114. package/out/_next/static/chunks/1t-9vrdrsi8le.js +1 -0
  115. package/out/_next/static/chunks/1t97zo0tlpbnz.js +1 -0
  116. package/out/_next/static/chunks/1te2tinzqnwck.js +1 -0
  117. package/out/_next/static/chunks/{3j3ol_d1vsdhx.js → 1trt-m2nrck0v.js} +1 -1
  118. package/out/_next/static/chunks/{3vu5y270muh-7.js → 1ty9jpwr3o_st.js} +1 -1
  119. package/out/_next/static/chunks/{415g3asdds1ac.js → 1u6w6veke8rze.js} +1 -1
  120. package/out/_next/static/chunks/{0-laj-bivzp4x.js → 1u900urmrbv73.js} +1 -1
  121. package/out/_next/static/chunks/{0o73w0cn5n_vl.js → 1vz2gd8k74lpi.js} +1 -1
  122. package/out/_next/static/chunks/1wkpl9bfb0wn7.js +1 -0
  123. package/out/_next/static/chunks/1wrly9a9c3teq.js +1 -0
  124. package/out/_next/static/chunks/1x0m05155yy4e.js +1 -0
  125. package/out/_next/static/chunks/{1my968s78he8g.js → 1xf1wfow43ekc.js} +15 -15
  126. package/out/_next/static/chunks/1y10o40v9odam.js +1 -0
  127. package/out/_next/static/chunks/{3_gfl66zf638s.js → 1y_zykt3fpen4.js} +901 -906
  128. package/out/_next/static/chunks/1ye6xtbm16pg4.js +1 -0
  129. package/out/_next/static/chunks/1z6_57k5h31u7.js +1 -0
  130. package/out/_next/static/chunks/1zboqft0h6mop.js +1 -0
  131. package/out/_next/static/chunks/1zr3c351x0ri5.js +1 -0
  132. package/out/_next/static/chunks/2-5p2lcedvrli.js +1 -0
  133. package/out/_next/static/chunks/{1_4hh3dfop93j.js → 206hxrq60f1_e.js} +1 -1
  134. package/out/_next/static/chunks/20r05k3-studj.js +1 -0
  135. package/out/_next/static/chunks/22gs24kj2du56.js +1 -0
  136. package/out/_next/static/chunks/22x5pd1gyp7sf.js +1 -0
  137. package/out/_next/static/chunks/{3qo7e6b73mfxq.js → 22z-2t_yp1jzs.js} +1 -1
  138. package/out/_next/static/chunks/{3d43gd91r06y6.js → 23hmfdw6z5zfy.js} +507 -505
  139. package/out/_next/static/chunks/23y1krqnc-8sm.js +1 -0
  140. package/out/_next/static/chunks/{0gk5rnci1hznh.js → 24tbkj1qkux88.js} +2 -2
  141. package/out/_next/static/chunks/{2-i29-jdbwww6.js → 26cmri51v7497.js} +111 -111
  142. package/out/_next/static/chunks/27jalbk9zu-2b.js +1 -0
  143. package/out/_next/static/chunks/285d2s9096ryc.js +1 -0
  144. package/out/_next/static/chunks/296ykep2nvppv.js +1 -0
  145. package/out/_next/static/chunks/29nehg5cal-ug.js +1 -0
  146. package/out/_next/static/chunks/2_a56_k3x7to6.js +1 -0
  147. package/out/_next/static/chunks/2a-0l6eb1blh3.js +4 -0
  148. package/out/_next/static/chunks/{2oacwtbslo90t.js → 2a31-txop1jzg.js} +360 -360
  149. package/out/_next/static/chunks/2bse5vll1o-x0.js +1 -0
  150. package/out/_next/static/chunks/2ct40spu9wfj7.js +1 -0
  151. package/out/_next/static/chunks/{2epukrz6paj9n.js → 2ept01b7t-e03.js} +1 -1
  152. package/out/_next/static/chunks/{22yht3s7c-xih.js → 2ey5dqelco_g5.js} +1 -1
  153. package/out/_next/static/chunks/2fd_009hw7y0m.js +1 -0
  154. package/out/_next/static/chunks/{2fspbfbxbswzd.js → 2ftz9kaxrsgxh.js} +1 -1
  155. package/out/_next/static/chunks/2gefdnozflr7p.js +1 -0
  156. package/out/_next/static/chunks/{2as_br1awqk6k.js → 2gs-u1n5uv7iz.js} +496 -496
  157. package/out/_next/static/chunks/{1a94whad0y57f.js → 2hizqql79u-54.js} +1 -1
  158. package/out/_next/static/chunks/2iqf2dpdg_vfl.js +1 -0
  159. package/out/_next/static/chunks/2j7z127s_ycjd.js +1 -0
  160. package/out/_next/static/chunks/2kax7uslfxdnx.js +31 -0
  161. package/out/_next/static/chunks/{2laz1v9fg2a2z.js → 2lh_w9rzy3vek.js} +1 -1
  162. package/out/_next/static/chunks/{3mmy9zsb7zo-m.js → 2ln1na26qwp-3.js} +23 -23
  163. package/out/_next/static/chunks/2n08l1q5o_27e.js +1 -0
  164. package/out/_next/static/chunks/2n7268gyd9z-6.js +1 -0
  165. package/out/_next/static/chunks/2nq9cgjmtqwvp.js +1 -0
  166. package/out/_next/static/chunks/{25brs445bjbik.js → 2oj8qc_pv14nk.js} +2 -2
  167. package/out/_next/static/chunks/2q24e72-olbe8.js +1 -0
  168. package/out/_next/static/chunks/2qc4hscs26cro.js +1 -0
  169. package/out/_next/static/chunks/2qe46redkqhfg.js +1 -0
  170. package/out/_next/static/chunks/2qmfe0mqw150h.js +1 -0
  171. package/out/_next/static/chunks/2qtc0nbl_521e.js +1 -0
  172. package/out/_next/static/chunks/2rofu6gu1xzuq.js +1 -0
  173. package/out/_next/static/chunks/2tdi94rkq739i.js +1 -0
  174. package/out/_next/static/chunks/2u_2sacqa9xa7.js +1 -0
  175. package/out/_next/static/chunks/2ujqz6088shm5.js +1 -0
  176. package/out/_next/static/chunks/{3my05px5mv_s5.js → 2urh9qafp3fiw.js} +235 -235
  177. package/out/_next/static/chunks/{23-y1f_zw56vo.js → 2v06n4z8wsmn9.js} +1 -1
  178. package/out/_next/static/chunks/2vp-5skbk1nfu.js +1 -0
  179. package/out/_next/static/chunks/2vu973j_n6cpx.js +1 -0
  180. package/out/_next/static/chunks/2wwra56rehfcj.js +1 -0
  181. package/out/_next/static/chunks/2xpwr97h2asal.js +1 -0
  182. package/out/_next/static/chunks/3000-0b8n9t_2.js +1 -0
  183. package/out/_next/static/chunks/{0q0i4pdyq66gb.js → 30t3203d7p2da.js} +1 -1
  184. package/out/_next/static/chunks/{3t4ys6th6gf2w.js → 31kto7-dxkt3z.js} +1 -1
  185. package/out/_next/static/chunks/{0j0a0wvmmghxj.js → 32oflcl79d8mu.js} +1 -1
  186. package/out/_next/static/chunks/32ovg81ae0l03.js +1 -0
  187. package/out/_next/static/chunks/{2c8rmxz151fxa.js → 331kthnvoma7n.js} +224 -224
  188. package/out/_next/static/chunks/337kn1mn34rc6.js +1 -0
  189. package/out/_next/static/chunks/{336ckqpboqmbn.js → 33xug8kf0-a1o.js} +1 -1
  190. package/out/_next/static/chunks/34dcb7_flbrvo.js +1 -0
  191. package/out/_next/static/chunks/34zotyeqrz_nq.js +1 -0
  192. package/out/_next/static/chunks/351wsmi75l8db.js +1 -0
  193. package/out/_next/static/chunks/36yv-ialtpx98.js +1 -0
  194. package/out/_next/static/chunks/37hwasxtee5e0.js +1 -0
  195. package/out/_next/static/chunks/37t0iclgxes05.js +1 -0
  196. package/out/_next/static/chunks/{1x0j78ohufpul.js → 37xnvnx1jxfaf.js} +1 -1
  197. package/out/_next/static/chunks/{29hkkj9raxte9.js → 38w74ixqt-9co.js} +77 -77
  198. package/out/_next/static/chunks/{0jap7l5-bskj4.js → 39t2x_9zd2rst.js} +12 -12
  199. package/out/_next/static/chunks/{38q0enmlg5q9o.js → 39v73timmzwny.js} +2 -2
  200. package/out/_next/static/chunks/{3puu2_-t0lln9.js → 3_xqc3658d8sw.js} +12 -12
  201. package/out/_next/static/chunks/3ba8eudvlczwe.js +1 -0
  202. package/out/_next/static/chunks/3buezhxqc8n6n.js +1 -0
  203. package/out/_next/static/chunks/3c5iwwj-fhbue.js +1 -0
  204. package/out/_next/static/chunks/{2kmmk9coo9_b0.js → 3d8ot2tw6yqfq.js} +143 -143
  205. package/out/_next/static/chunks/3dc057ffe7ij-.js +1 -0
  206. package/out/_next/static/chunks/3djnlzwj9869o.js +1 -0
  207. package/out/_next/static/chunks/{2_6b9lraq-exh.js → 3fuqxjjf8o1v9.js} +5 -5
  208. package/out/_next/static/chunks/{0j2ygtc_-bo3m.js → 3gt6rzg9qw-an.js} +1 -1
  209. package/out/_next/static/chunks/{0rykrf_vofbad.js → 3h_05w5j8x538.js} +1 -1
  210. package/out/_next/static/chunks/{3txu-i5qn183a.js → 3hkhd1_k8xohv.js} +321 -321
  211. package/out/_next/static/chunks/{2h07np207nlx7.js → 3ijcc5tfisfnj.js} +1 -1
  212. package/out/_next/static/chunks/3j0dbpd9zop3p.js +1 -0
  213. package/out/_next/static/chunks/{14e4k-718qadd.js → 3ju83xk-ca7ma.js} +163 -168
  214. package/out/_next/static/chunks/3jxhl4apmhbm1.js +13 -0
  215. package/out/_next/static/chunks/{1h1gixjbjkbsl.js → 3la99oz_0p0r6.js} +5 -5
  216. package/out/_next/static/chunks/{1mt4cnd_d6jvf.js → 3n1b34fd5fdrh.js} +1 -1
  217. package/out/_next/static/chunks/3nq_hq4x3rn3r.js +1 -0
  218. package/out/_next/static/chunks/3pgb1kkqrdl9t.js +1 -0
  219. package/out/_next/static/chunks/3pik_-jj-zkfl.js +1 -0
  220. package/out/_next/static/chunks/{1zmx71cvc6ksk.js → 3q38kdbzd2nbd.js} +1 -1
  221. package/out/_next/static/chunks/3q5zl4ks17au2.js +1 -0
  222. package/out/_next/static/chunks/{1t2g1v0ubcsam.js → 3qr10445lte-n.js} +1 -1
  223. package/out/_next/static/chunks/3r-8bnguvxsyo.js +1 -0
  224. package/out/_next/static/chunks/3sg56j8boe-3o.js +1 -0
  225. package/out/_next/static/chunks/3u7zj1-jdg781.js +1 -0
  226. package/out/_next/static/chunks/{0o0qtv35dqv3i.js → 3wj5dmf6cywz8.js} +239 -239
  227. package/out/_next/static/chunks/{2iu0_3cx-ny74.js → 3wr_oijfsq8lr.js} +11 -11
  228. package/out/_next/static/chunks/3xu0dh1ikzwj2.js +1 -0
  229. package/out/_next/static/chunks/{0vzo-8t8c26k9.js → 3y5tpixt23-fl.js} +1 -1
  230. package/out/_next/static/chunks/40gjf-_jt8upu.js +5 -0
  231. package/out/_next/static/chunks/41f12o_5lf-i9.js +1 -0
  232. package/out/_next/static/chunks/42ma8lqduohlc.js +1 -0
  233. package/out/_next/static/chunks/43usshq2nc125.js +1 -0
  234. package/out/_next/static/chunks/{161yjxmdz9obc.js → 44bl4ufopbmyh.js} +1 -1
  235. package/out/_next/static/chunks/44iutzkw9r21x.js +1 -0
  236. package/out/_next/static/chunks/turbopack-1xrxa3noq196-.js +1 -0
  237. package/out/_not-found/__next._full.txt +11 -11
  238. package/out/_not-found/__next._not-found.__PAGE__.txt +19 -2
  239. package/out/_not-found/__next._tree.txt +1 -1
  240. package/out/_not-found.html +1 -1
  241. package/out/_not-found.txt +11 -11
  242. package/out/index.html +1 -1
  243. package/out/index.txt +10 -10
  244. package/package.json +11 -11
  245. package/out/__next._head.txt +0 -6
  246. package/out/__next._index.txt +0 -5
  247. package/out/_next/static/chunks/0-k4hp87gwues.js +0 -1
  248. package/out/_next/static/chunks/04zj0yf1qhk1o.js +0 -1
  249. package/out/_next/static/chunks/06fbalmyyfpsy.js +0 -1
  250. package/out/_next/static/chunks/07hgbbqksqd1g.js +0 -1
  251. package/out/_next/static/chunks/08ou2nvy48e0u.js +0 -1
  252. package/out/_next/static/chunks/08y5-irjbsiy8.js +0 -1
  253. package/out/_next/static/chunks/0_jrfk2u1u3fi.js +0 -1
  254. package/out/_next/static/chunks/0a475u_q5i_dd.js +0 -62
  255. package/out/_next/static/chunks/0aad2r4s4wl1x.js +0 -5
  256. package/out/_next/static/chunks/0d9pxx1w_zqr9.js +0 -1
  257. package/out/_next/static/chunks/0gnjtwq-474uc.js +0 -1
  258. package/out/_next/static/chunks/0gsh_d0m5xss1.js +0 -1
  259. package/out/_next/static/chunks/0ibzpjo0h731v.js +0 -1
  260. package/out/_next/static/chunks/0j_3k5qhv_mdx.js +0 -1
  261. package/out/_next/static/chunks/0jis2w2mfx062.js +0 -1
  262. package/out/_next/static/chunks/0jjvp2slpf7d6.js +0 -1
  263. package/out/_next/static/chunks/0ko10wo4rc9-b.js +0 -1
  264. package/out/_next/static/chunks/0lqmvz6k2h_of.js +0 -1
  265. package/out/_next/static/chunks/0lwjmr8efrlbt.js +0 -17
  266. package/out/_next/static/chunks/0noxyupihh8dk.js +0 -1
  267. package/out/_next/static/chunks/0o1vph7x9shzu.js +0 -1
  268. package/out/_next/static/chunks/0p6phe9kjlxn8.js +0 -1
  269. package/out/_next/static/chunks/0ptxb9dcwsw3o.js +0 -1
  270. package/out/_next/static/chunks/0q8pt8fd0ma30.js +0 -1
  271. package/out/_next/static/chunks/0qqx9aoz8l5d2.js +0 -1
  272. package/out/_next/static/chunks/0tsk32q-88t_7.js +0 -1
  273. package/out/_next/static/chunks/0u7577db_ivyr.js +0 -1
  274. package/out/_next/static/chunks/0unnrt0un064x.js +0 -1
  275. package/out/_next/static/chunks/0uygtr4mo3h0v.js +0 -1
  276. package/out/_next/static/chunks/0vf3facit951s.js +0 -1
  277. package/out/_next/static/chunks/0xyija62b6txc.js +0 -1
  278. package/out/_next/static/chunks/0zeb37703zcz3.js +0 -1
  279. package/out/_next/static/chunks/0zu5ato7-1-q9.js +0 -1
  280. package/out/_next/static/chunks/0zydv7y47dxgh.js +0 -1
  281. package/out/_next/static/chunks/103x4jwovb6d-.js +0 -1
  282. package/out/_next/static/chunks/107wfq84g9-kn.js +0 -1
  283. package/out/_next/static/chunks/10afagk8yn__n.js +0 -1
  284. package/out/_next/static/chunks/12ory_c78yl31.js +0 -1
  285. package/out/_next/static/chunks/133dqp8_7_yo6.js +0 -1
  286. package/out/_next/static/chunks/1365lgwdd4vuo.js +0 -1
  287. package/out/_next/static/chunks/146ou-ohb_qhs.js +0 -1
  288. package/out/_next/static/chunks/14orr68xgdykd.js +0 -1
  289. package/out/_next/static/chunks/15qfoj-vl9thu.js +0 -1
  290. package/out/_next/static/chunks/166yqx3_qvbpy.js +0 -1
  291. package/out/_next/static/chunks/16gwjao676ieb.js +0 -1
  292. package/out/_next/static/chunks/16rmmzhy2p7bw.js +0 -1
  293. package/out/_next/static/chunks/17_jjyx4jz9dd.js +0 -1
  294. package/out/_next/static/chunks/18h9ugdz6igdb.js +0 -1
  295. package/out/_next/static/chunks/19d8n5t7ka2fb.js +0 -1
  296. package/out/_next/static/chunks/1_rbzw3n4fk0g.js +0 -1
  297. package/out/_next/static/chunks/1aa9g197l4twm.js +0 -1
  298. package/out/_next/static/chunks/1bq0fcnt1wy86.js +0 -1
  299. package/out/_next/static/chunks/1c6mho7e0enta.js +0 -1
  300. package/out/_next/static/chunks/1dfaheve77dhi.js +0 -1
  301. package/out/_next/static/chunks/1dgf112ehnhm1.js +0 -1
  302. package/out/_next/static/chunks/1eirucr9s6-h5.js +0 -1
  303. package/out/_next/static/chunks/1fsof7un7igrn.js +0 -1
  304. package/out/_next/static/chunks/1gvu5a6ffbs7l.js +0 -1
  305. package/out/_next/static/chunks/1iel4pzhhh-c3.js +0 -1
  306. package/out/_next/static/chunks/1iojfx3-g4_n9.js +0 -1
  307. package/out/_next/static/chunks/1j4jt5q7px8sy.js +0 -1
  308. package/out/_next/static/chunks/1jjw9hxgi2vzi.js +0 -1
  309. package/out/_next/static/chunks/1k_8olnprvi8r.js +0 -1
  310. package/out/_next/static/chunks/1l0rt7d4m-xdk.js +0 -5
  311. package/out/_next/static/chunks/1s0dpdqy480hg.js +0 -1
  312. package/out/_next/static/chunks/1t-yolk97lmot.js +0 -12
  313. package/out/_next/static/chunks/1tbes2sv-qzcx.js +0 -1
  314. package/out/_next/static/chunks/1upy8a5cb75kt.js +0 -1
  315. package/out/_next/static/chunks/1xed71f608m4b.js +0 -1
  316. package/out/_next/static/chunks/1z790xxb46gxy.js +0 -1
  317. package/out/_next/static/chunks/219n3q-_eengm.js +0 -1
  318. package/out/_next/static/chunks/21wo3vdr_uby8.js +0 -1
  319. package/out/_next/static/chunks/25gep78-izw79.js +0 -4
  320. package/out/_next/static/chunks/26i7dn31afdtm.js +0 -1
  321. package/out/_next/static/chunks/27hbplu797elx.js +0 -1
  322. package/out/_next/static/chunks/2992eiy52nazj.js +0 -1
  323. package/out/_next/static/chunks/29_n5j-hg_gsa.js +0 -1
  324. package/out/_next/static/chunks/29bxq-67oazfg.js +0 -1
  325. package/out/_next/static/chunks/29ings58w7kp1.js +0 -1
  326. package/out/_next/static/chunks/2_n0cpkdsjzli.js +0 -1
  327. package/out/_next/static/chunks/2a3iy701j4r_y.js +0 -1
  328. package/out/_next/static/chunks/2al9dh3_1ixhv.js +0 -1
  329. package/out/_next/static/chunks/2awr1c_vfsutb.js +0 -1
  330. package/out/_next/static/chunks/2bxe3kjr17tdp.js +0 -1
  331. package/out/_next/static/chunks/2dvbzar93ooc-.js +0 -1
  332. package/out/_next/static/chunks/2e-vp0e11g9ew.js +0 -1
  333. package/out/_next/static/chunks/2exj9-0p6n9x-.js +0 -1
  334. package/out/_next/static/chunks/2gf8l6hbmt7v3.js +0 -1
  335. package/out/_next/static/chunks/2h9i_adbqaxs4.js +0 -1
  336. package/out/_next/static/chunks/2jio3sio-_43z.js +0 -1
  337. package/out/_next/static/chunks/2neieeo9g2u56.js +0 -1
  338. package/out/_next/static/chunks/2pb_uosb-aa8x.js +0 -1
  339. package/out/_next/static/chunks/2qu-gpm3ux1l6.js +0 -1
  340. package/out/_next/static/chunks/2rsi6v7qmqx2b.js +0 -1
  341. package/out/_next/static/chunks/2tdvuc-27khif.js +0 -1
  342. package/out/_next/static/chunks/2trolrgd7neax.js +0 -1
  343. package/out/_next/static/chunks/2uyuafmoe5wi0.js +0 -3
  344. package/out/_next/static/chunks/2w2e0pxgs-n8f.js +0 -1
  345. package/out/_next/static/chunks/2xujlsx3stqig.js +0 -1
  346. package/out/_next/static/chunks/30y71dxdpv52d.js +0 -1
  347. package/out/_next/static/chunks/32c-e_v8_2xkf.js +0 -1
  348. package/out/_next/static/chunks/32oj0iudhp8bm.js +0 -1
  349. package/out/_next/static/chunks/33p9du6y9eegg.js +0 -1
  350. package/out/_next/static/chunks/38om-j0h0rryk.js +0 -1
  351. package/out/_next/static/chunks/39cou9lia_g7l.js +0 -1
  352. package/out/_next/static/chunks/39pkya0_bvcaj.js +0 -1
  353. package/out/_next/static/chunks/39rhmj_32ujyj.js +0 -1
  354. package/out/_next/static/chunks/3_1zzmx92j9c0.js +0 -1
  355. package/out/_next/static/chunks/3_earszshuz4n.js +0 -1
  356. package/out/_next/static/chunks/3ap_uxc8lx7ni.js +0 -1
  357. package/out/_next/static/chunks/3b6na8zrex8jo.js +0 -1
  358. package/out/_next/static/chunks/3c0cxt72vilyz.js +0 -1
  359. package/out/_next/static/chunks/3g78x0pdaoi_4.js +0 -1
  360. package/out/_next/static/chunks/3gjvl1p-tugfe.js +0 -4
  361. package/out/_next/static/chunks/3i8iro1gas1vx.js +0 -1
  362. package/out/_next/static/chunks/3kpqfqr99vo7z.js +0 -1
  363. package/out/_next/static/chunks/3lladf_wemm-2.js +0 -1
  364. package/out/_next/static/chunks/3n62hbywoknop.js +0 -1
  365. package/out/_next/static/chunks/3o_dmzpahx-5g.js +0 -1
  366. package/out/_next/static/chunks/3r7v7un976sn7.js +0 -1
  367. package/out/_next/static/chunks/3rl_nhqwew40w.js +0 -1
  368. package/out/_next/static/chunks/3s7hqij6xp_4e.js +0 -1
  369. package/out/_next/static/chunks/3si3migsmvz9o.js +0 -1
  370. package/out/_next/static/chunks/3uarw1i1ij1er.js +0 -1
  371. package/out/_next/static/chunks/3un-w6wutw1qn.js +0 -1
  372. package/out/_next/static/chunks/3v8kgnjk27wbe.js +0 -1
  373. package/out/_next/static/chunks/3we1khqfexh3x.js +0 -1
  374. package/out/_next/static/chunks/3z35loj4i-id4.js +0 -1
  375. package/out/_next/static/chunks/42lqt7ig40wk5.js +0 -1
  376. package/out/_next/static/chunks/42s6ghsurq5q7.js +0 -1
  377. package/out/_next/static/chunks/42yctcfi2rfwr.js +0 -1
  378. package/out/_next/static/chunks/43_fau1gg69eo.js +0 -1
  379. package/out/_next/static/chunks/43ywrdzg_7af8.js +0 -31
  380. package/out/_next/static/chunks/44m1ijc5cv80x.js +0 -1
  381. package/out/_next/static/chunks/453_bg0lgesmp.js +0 -1
  382. package/out/_next/static/chunks/turbopack-1s36ieuku1ds3.js +0 -1
  383. package/out/_not-found/__next._head.txt +0 -6
  384. package/out/_not-found/__next._index.txt +0 -5
  385. package/out/_not-found/__next._not-found.txt +0 -5
  386. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → 4r0L0ZMJeBwOJCVDsvvZ4}/_buildManifest.js +0 -0
  387. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → 4r0L0ZMJeBwOJCVDsvvZ4}/_clientMiddlewareManifest.js +0 -0
  388. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → 4r0L0ZMJeBwOJCVDsvvZ4}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,47150,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])},79105,e=>{"use strict";let t=(0,e.i(36460).IsNavigatorAvailable)()&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);function r(e){return"number"==typeof e?e:e.value}e.s(["_AreSameIntegerClass",0,function(e,t){return"FlowGraphInteger"===e&&"FlowGraphInteger"===t},"_AreSameMatrixClass",0,function(e,t){return e===t&&("Matrix"===e||"Matrix2D"===e||"Matrix3D"===e)},"_AreSameVectorOrQuaternionClass",0,function(e,t){return e===t&&("Vector2"===e||"Vector3"===e||"Vector4"===e||"Quaternion"===e)},"_GetClassNameOf",0,function(e){if(e.getClassName)return e.getClassName()},"_IsDescendantOf",0,function e(t,r){return!!(t.parent&&(t.parent===r||e(t.parent,r)))},"_IsMacPlatform",0,t,"getNumericValue",0,r,"isNumeric",0,function(e,t){let i="number"==typeof e||"number"==typeof e?.value;return i&&!t?!isNaN(r(e)):i}])},16347,e=>{"use strict";class t{static _CheckLimit(e,r){let i=t._LogLimitOutputs[e];return i?i.current++:(i={limit:r,current:1},t._LogLimitOutputs[e]=i),i.current<=i.limit}static _GenerateLimitMessage(e,r=1){let i=t._LogLimitOutputs[e];if(!i||!t.MessageLimitReached)return;let s=this._Levels[r];i.current===i.limit&&t[s.name](t.MessageLimitReached.replace(/%LIMIT%/g,""+i.limit).replace(/%TYPE%/g,s.name??""))}static _AddLogEntry(e){t._LogCache=e+t._LogCache,t.OnNewCacheEntry&&t.OnNewCacheEntry(e)}static _FormatMessage(e){let t=e=>e<10?"0"+e:""+e,r=new Date;return"["+t(r.getHours())+":"+t(r.getMinutes())+":"+t(r.getSeconds())+"]: "+e}static _LogDisabled(e,t){}static _LogEnabled(e=1,r,i){let s=Array.isArray(r)?r[0]:r;if(void 0!==i&&!t._CheckLimit(s,i))return;let n=t._FormatMessage(s),a=this._Levels[e],o=Array.isArray(r)?r.slice(1):[];a.logFunc&&a.logFunc("BJS - "+n,...o);let l=`<div style='color:${a.color}'>${n}</div><br>`;t._AddLogEntry(l),t._GenerateLimitMessage(s,e)}static get LogCache(){return t._LogCache}static ClearLogCache(){t._LogCache="",t._LogLimitOutputs={},t.errorsCount=0}static set LogLevels(e){for(let r of(t.Log=t._LogDisabled,t.Warn=t._LogDisabled,t.Error=t._LogDisabled,[t.MessageLogLevel,t.WarningLogLevel,t.ErrorLogLevel]))(e&r)===r&&(t[this._Levels[r].name]=t._LogEnabled.bind(t,r))}}t.NoneLogLevel=0,t.MessageLogLevel=1,t.WarningLogLevel=2,t.ErrorLogLevel=4,t.AllLogLevel=7,t.MessageLimitReached="Too many %TYPE%s (%LIMIT%), no more %TYPE%s will be reported for this message.",t._LogCache="",t._LogLimitOutputs={},t._Levels=[{},{color:"white",logFunc:console.log,name:"Log"},{color:"orange",logFunc:console.warn,name:"Warn"},{},{color:"red",logFunc:console.error,name:"Error"}],t.errorsCount=0,t.Log=t._LogEnabled.bind(t,t.MessageLogLevel),t.Warn=t._LogEnabled.bind(t,t.WarningLogLevel),t.Error=t._LogEnabled.bind(t,t.ErrorLogLevel),e.s(["Logger",0,t])},80065,e=>{"use strict";e.s(["RandomGUID",0,function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}])},75105,32304,15356,e=>{"use strict";var t,r,i=e.i(69400),s=e.i(19919);class n{constructor(e){this.value=this._toInt(e)}_toInt(e){return 0|e}add(e){return new n(this.value+e.value)}subtract(e){return new n(this.value-e.value)}multiply(e){return new n(Math.imul(this.value,e.value))}divide(e){return new n(this.value/e.value)}getClassName(){return n.ClassName}equals(e){return this.value===e.value}static FromValue(e){return new n(e)}toString(){return this.value.toString()}}n.ClassName="FlowGraphInteger",e.s(["FlowGraphInteger",0,n],32304);class a{constructor(e=[1,0,0,1]){this._m=e}get m(){return this._m}transformVector(e){return this.transformVectorToRef(e,new i.Vector2)}transformVectorToRef(e,t){return t.x=e.x*this._m[0]+e.y*this._m[1],t.y=e.x*this._m[2]+e.y*this._m[3],t}asArray(){return this.toArray()}toArray(e=[]){for(let t=0;t<4;t++)e[t]=this._m[t];return e}fromArray(e){for(let t=0;t<4;t++)this._m[t]=e[t];return this}multiplyToRef(e,t){let r=e._m,i=this._m,s=t._m;return s[0]=r[0]*i[0]+r[1]*i[2],s[1]=r[0]*i[1]+r[1]*i[3],s[2]=r[2]*i[0]+r[3]*i[2],s[3]=r[2]*i[1]+r[3]*i[3],t}multiply(e){return this.multiplyToRef(e,new a)}divideToRef(e,t){let r=this._m,i=e._m,s=t._m;return s[0]=r[0]/i[0],s[1]=r[1]/i[1],s[2]=r[2]/i[2],s[3]=r[3]/i[3],t}divide(e){return this.divideToRef(e,new a)}addToRef(e,t){let r=this._m,i=e.m,s=t.m;return s[0]=r[0]+i[0],s[1]=r[1]+i[1],s[2]=r[2]+i[2],s[3]=r[3]+i[3],t}add(e){return this.addToRef(e,new a)}subtractToRef(e,t){let r=this._m,i=e.m,s=t.m;return s[0]=r[0]-i[0],s[1]=r[1]-i[1],s[2]=r[2]-i[2],s[3]=r[3]-i[3],t}subtract(e){return this.subtractToRef(e,new a)}transpose(){let e=this._m;return new a([e[0],e[2],e[1],e[3]])}determinant(){let e=this._m;return e[0]*e[3]-e[1]*e[2]}inverse(){let e=this.determinant();if(0===e)throw Error("Matrix is not invertible");let t=this._m,r=1/e;return new a([t[3]*r,-t[1]*r,-t[2]*r,t[0]*r])}equals(e,t=0){let r=this._m,i=e.m;return 0===t?r[0]===i[0]&&r[1]===i[1]&&r[2]===i[2]&&r[3]===i[3]:Math.abs(r[0]-i[0])<t&&Math.abs(r[1]-i[1])<t&&Math.abs(r[2]-i[2])<t&&Math.abs(r[3]-i[3])<t}getClassName(){return"FlowGraphMatrix2D"}toString(){return`FlowGraphMatrix2D(${this._m.join(", ")})`}}class o{constructor(e=[1,0,0,0,1,0,0,0,1]){this._m=e}get m(){return this._m}transformVector(e){return this.transformVectorToRef(e,new i.Vector3)}transformVectorToRef(e,t){let r=this._m;return t.x=e.x*r[0]+e.y*r[1]+e.z*r[2],t.y=e.x*r[3]+e.y*r[4]+e.z*r[5],t.z=e.x*r[6]+e.y*r[7]+e.z*r[8],t}multiplyToRef(e,t){let r=e._m,i=this._m,s=t.m;return s[0]=r[0]*i[0]+r[1]*i[3]+r[2]*i[6],s[1]=r[0]*i[1]+r[1]*i[4]+r[2]*i[7],s[2]=r[0]*i[2]+r[1]*i[5]+r[2]*i[8],s[3]=r[3]*i[0]+r[4]*i[3]+r[5]*i[6],s[4]=r[3]*i[1]+r[4]*i[4]+r[5]*i[7],s[5]=r[3]*i[2]+r[4]*i[5]+r[5]*i[8],s[6]=r[6]*i[0]+r[7]*i[3]+r[8]*i[6],s[7]=r[6]*i[1]+r[7]*i[4]+r[8]*i[7],s[8]=r[6]*i[2]+r[7]*i[5]+r[8]*i[8],t}multiply(e){return this.multiplyToRef(e,new o)}divideToRef(e,t){let r=this._m,i=e.m,s=t.m;return s[0]=r[0]/i[0],s[1]=r[1]/i[1],s[2]=r[2]/i[2],s[3]=r[3]/i[3],s[4]=r[4]/i[4],s[5]=r[5]/i[5],s[6]=r[6]/i[6],s[7]=r[7]/i[7],s[8]=r[8]/i[8],t}divide(e){return this.divideToRef(e,new o)}addToRef(e,t){let r=this._m,i=e.m,s=t.m;return s[0]=r[0]+i[0],s[1]=r[1]+i[1],s[2]=r[2]+i[2],s[3]=r[3]+i[3],s[4]=r[4]+i[4],s[5]=r[5]+i[5],s[6]=r[6]+i[6],s[7]=r[7]+i[7],s[8]=r[8]+i[8],t}add(e){return this.addToRef(e,new o)}subtractToRef(e,t){let r=this._m,i=e.m,s=t.m;return s[0]=r[0]-i[0],s[1]=r[1]-i[1],s[2]=r[2]-i[2],s[3]=r[3]-i[3],s[4]=r[4]-i[4],s[5]=r[5]-i[5],s[6]=r[6]-i[6],s[7]=r[7]-i[7],s[8]=r[8]-i[8],t}subtract(e){return this.subtractToRef(e,new o)}toArray(e=[]){for(let t=0;t<9;t++)e[t]=this._m[t];return e}asArray(){return this.toArray()}fromArray(e){for(let t=0;t<9;t++)this._m[t]=e[t];return this}transpose(){let e=this._m;return new o([e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]])}determinant(){let e=this._m;return e[0]*(e[4]*e[8]-e[5]*e[7])-e[1]*(e[3]*e[8]-e[5]*e[6])+e[2]*(e[3]*e[7]-e[4]*e[6])}inverse(){let e=this.determinant();if(0===e)throw Error("Matrix is not invertible");let t=this._m,r=1/e;return new o([(t[4]*t[8]-t[5]*t[7])*r,(t[2]*t[7]-t[1]*t[8])*r,(t[1]*t[5]-t[2]*t[4])*r,(t[5]*t[6]-t[3]*t[8])*r,(t[0]*t[8]-t[2]*t[6])*r,(t[2]*t[3]-t[0]*t[5])*r,(t[3]*t[7]-t[4]*t[6])*r,(t[1]*t[6]-t[0]*t[7])*r,(t[0]*t[4]-t[1]*t[3])*r])}equals(e,t=0){let r=this._m,i=e.m;return 0===t?r[0]===i[0]&&r[1]===i[1]&&r[2]===i[2]&&r[3]===i[3]&&r[4]===i[4]&&r[5]===i[5]&&r[6]===i[6]&&r[7]===i[7]&&r[8]===i[8]:Math.abs(r[0]-i[0])<t&&Math.abs(r[1]-i[1])<t&&Math.abs(r[2]-i[2])<t&&Math.abs(r[3]-i[3])<t&&Math.abs(r[4]-i[4])<t&&Math.abs(r[5]-i[5])<t&&Math.abs(r[6]-i[6])<t&&Math.abs(r[7]-i[7])<t&&Math.abs(r[8]-i[8])<t}getClassName(){return"FlowGraphMatrix3D"}toString(){return`FlowGraphMatrix3D(${this._m.join(", ")})`}}e.s(["FlowGraphMatrix2D",0,a,"FlowGraphMatrix3D",0,o],15356),(t=r||(r={})).Any="any",t.String="string",t.Number="number",t.Boolean="boolean",t.Object="object",t.Integer="FlowGraphInteger",t.Vector2="Vector2",t.Vector3="Vector3",t.Vector4="Vector4",t.Quaternion="Quaternion",t.Matrix="Matrix",t.Matrix2D="Matrix2D",t.Matrix3D="Matrix3D",t.Color3="Color3",t.Color4="Color4";class l{constructor(e,t,r=-1){this.typeName=e,this.defaultValue=t,this.animationType=r}serialize(e){e.typeName=this.typeName,e.defaultValue=this.defaultValue}}let c=new l("any",void 0),h=new l("string",""),u=new l("number",0,0),d=new l("boolean",!1),f=new l("Vector2",i.Vector2.Zero(),5),m=new l("Vector3",i.Vector3.Zero(),1),p=new l("Vector4",i.Vector4.Zero()),_=new l("Matrix",i.Matrix.Identity(),3),g=new l("Matrix2D",new a),T=new l("Matrix3D",new o),I=new l("Color3",s.Color3.Black(),4),y=new l("Color4",new s.Color4(0,0,0,0),7),E=new l("Quaternion",i.Quaternion.Identity(),2),x=new l("FlowGraphInteger",new n(0),0),S=!1;e.s(["RegisterFlowGraphRichTypes",0,function(){S||(S=!0,E.typeTransformer=e=>{if(e.getClassName){if("Vector4"===e.getClassName())return i.Quaternion.FromArray(e.asArray());else if("Vector3"===e.getClassName())return i.Quaternion.FromEulerVector(e);else if("Matrix"===e.getClassName())return i.Quaternion.FromRotationMatrix(e)}return e})},"RichTypeAny",0,c,"RichTypeBoolean",0,d,"RichTypeFlowGraphInteger",0,x,"RichTypeMatrix",0,_,"RichTypeMatrix2D",0,g,"RichTypeMatrix3D",0,T,"RichTypeNumber",0,u,"RichTypeQuaternion",0,E,"RichTypeString",0,h,"RichTypeVector2",0,f,"RichTypeVector3",0,m,"RichTypeVector4",0,p,"getAnimationTypeByFlowGraphType",0,function(e){switch(e){case"number":default:return 0;case"Vector2":return 5;case"Vector3":return 1;case"Matrix":return 3;case"Color3":return 4;case"Color4":return 7;case"Quaternion":return 2}},"getRichTypeByAnimationType",0,function(e){switch(e){case 0:return u;case 5:return f;case 1:return m;case 3:return _;case 4:return I;case 7:return y;case 2:return E;default:return c}},"getRichTypeByFlowGraphType",0,function(e){switch(e){case"string":return h;case"number":return u;case"boolean":return d;case"Vector2":return f;case"Vector3":return m;case"Vector4":return p;case"Matrix":return _;case"Color3":return I;case"Color4":return y;case"Quaternion":return E;case"FlowGraphInteger":return x;case"Matrix2D":return g;case"Matrix3D":return T;default:return c}},"getRichTypeFromValue",0,function(e){switch(typeof e){case"string":return h;case"number":return u;case"boolean":return d;case"object":if(e.getClassName)switch(e.getClassName()){case"Vector2":return f;case"Vector3":return m;case"Vector4":return p;case"Matrix":return _;case"Color3":return I;case"Color4":return y;case"Quaternion":return E;case"FlowGraphInteger":return x;case"Matrix2D":return g;case"Matrix3D":return T}return c;default:return c}}],75105)},14967,e=>{"use strict";var t=e.i(16347),r=e.i(19919),i=e.i(69400),s=e.i(32304),n=e.i(75105),a=e.i(15356);function o(e){return"Vector2"===e||"Vector3"===e||"Vector4"===e||"Quaternion"===e||"Color3"===e||"Color4"===e}function l(e,t){if(!e||!e.id&&!e.name)return;let r=t.getNodes().filter(t=>e.id?t.id===e.id:t.name===e.name);if(0===r.length)return;let i=e.type??e.className,s=i?r.filter(e=>e.getClassName()===i):[],n=s.length>0?s:r;return(e.uniqueId?n.find(t=>t.uniqueId===e.uniqueId):void 0)??n[0]}e.s(["GetSceneNodeFromSerializedReference",0,l,"defaultValueParseFunction",0,function e(t,c,h,u){let d,f=c[t],m=f?.type??f?.className,p=l(f,u);if(p)d=p;else if(o(m))d=function(e,t,s=!1){if("Vector2"===e)return i.Vector2.FromArray(t);if("Vector3"===e)return s&&(t[2]*=-1),i.Vector3.FromArray(t);if("Vector4"===e)return i.Vector4.FromArray(t);if("Quaternion"===e)return s&&(t[2]*=-1,t[3]*=-1),i.Quaternion.FromArray(t);if("Color3"===e)return new r.Color3(t[0],t[1],t[2]);else if("Color4"===e)return new r.Color4(t[0],t[1],t[2],t[3]);else throw Error(`Unknown vector class name ${e}`)}(m,f.value);else if("AnimationGroup"===m){let e=u.animationGroups.filter(e=>e.name===f.name);d=1===e.length?e[0]:e.find(e=>e.uniqueId===f.uniqueId)}else d="Matrix"===m?i.Matrix.FromArray(f.value):"Matrix2D"===m?new a.FlowGraphMatrix2D(f.value):"Matrix3D"===m?new a.FlowGraphMatrix3D(f.value):"FlowGraphInteger"===m?s.FlowGraphInteger.FromValue(f.value):"number"===m||"string"===m||"boolean"===m?f.value[0]:f&&void 0!==f.value?f.value:Array.isArray(f)&&f.length>0&&"object"==typeof f[0]&&null!==f[0]&&"eventData"in f[0]?f.reduce((t,r)=>(r.eventData&&(t[r.id]={type:(0,n.getRichTypeByFlowGraphType)(r.type)},void 0!==r.value&&(t[r.id].value=e("value",r,h,u))),t),{}):f;return d},"defaultValueSerializationFunction",0,function(e,r,i){var s;let n=r?.getClassName?.()??"";if(o(n)||"Matrix"===(s=n)||"Matrix2D"===s||"Matrix3D"===s)i[e]={value:r.asArray(),className:n};else if("FlowGraphInteger"===n)i[e]={value:r.value,className:n};else if(n&&(r.id||r.name))i[e]={id:r.id,name:r.name,className:n,uniqueId:r.uniqueId};else if("object"!=typeof r||null===r)i[e]=r;else{if("pathConverter"===e||Object.values(r).some(e=>"function"==typeof e))return;try{i[e]=JSON.parse(JSON.stringify(r))}catch{t.Logger.Warn(`FlowGraph serialization: value for key "${e}" is not JSON-serializable and was skipped.`)}}},"needsPathConverter",0,function(e){return"FlowGraphJsonPointerParserBlock"===e}])},69081,e=>{"use strict";var t,r,i=e.i(80065);(t=r||(r={}))[t.Input=0]="Input",t[t.Output=1]="Output",e.s(["FlowGraphConnection",0,class{constructor(e,t,r){this._ownerBlock=r,this._connectedPoint=[],this.uniqueId=(0,i.RandomGUID)(),this.connectedPointIds=[],this.name=e,this._connectionType=t}get connectionType(){return this._connectionType}_isSingularConnection(){return!0}isConnected(){return this._connectedPoint.length>0}connectTo(e){if(this._connectionType===e._connectionType)throw Error(`Cannot connect two points of type ${this.connectionType}`);if(this._isSingularConnection()&&this._connectedPoint.length>0||e._isSingularConnection()&&e._connectedPoint.length>0)throw Error("Max number of connections for point reached");this._connectedPoint.push(e),e._connectedPoint.push(this)}disconnectFrom(e,t=!0){let r=this._connectedPoint.indexOf(e),i=e._connectedPoint.indexOf(this);-1!==r&&-1!==i&&(t&&this._connectedPoint.splice(r,1),e._connectedPoint.splice(i,1))}disconnectFromAll(){for(let e of this._connectedPoint)this.disconnectFrom(e,!1);this._connectedPoint.length=0}dispose(){for(let e of this._connectedPoint)this.disconnectFrom(e)}serialize(e={}){for(let t of(e.uniqueId=this.uniqueId,e.name=this.name,e._connectionType=this._connectionType,e.connectedPointIds=[],e.className=this.getClassName(),this._connectedPoint))e.connectedPointIds.push(t.uniqueId)}getClassName(){return"FGConnection"}deserialize(e){this.uniqueId=e.uniqueId,this.name=e.name,this._connectionType=e._connectionType,this.connectedPointIds=e.connectedPointIds}}])},17884,e=>{"use strict";var t=e.i(80065),r=e.i(69081),i=e.i(3864),s=e.i(14967);class n extends r.FlowGraphConnection{constructor(e,t,r,s,n=s.defaultValue,a=!1){super(e,t,r),this.richType=s,this._defaultValue=n,this._optional=a,this._isDisabled=!1,this._lastValue=null,this.dataTransformer=null,this.onValueChangedObservable=new i.Observable}get optional(){return this._optional}get isDisabled(){return this._isDisabled}set isDisabled(e){this._isDisabled!==e&&(this._isDisabled=e,this._isDisabled&&this.disconnectFromAll())}_isSingularConnection(){return 0===this.connectionType}setValue(e,t){t._getConnectionValue(this)!==e&&(t._setConnectionValue(this,e),this.onValueChangedObservable.notifyObservers(e))}resetToDefaultValue(e){e._setConnectionValue(this,this._defaultValue)}_reresolveDefaultValueForScene(e){let t,r=this._defaultValue;if(!r||"object"!=typeof r)return;if("function"==typeof r.getClassName&&"function"==typeof r.getScene){if(r.getScene()===e)return;t={id:r.id,name:r.name,className:r.getClassName(),uniqueId:r.uniqueId}}else{if("string"!=typeof r.className||!r.id&&!r.name||void 0!==r.value)return;t=r}let i=(0,s.GetSceneNodeFromSerializedReference)(t,e);i&&(this._defaultValue=i)}connectTo(e){this._isDisabled||super.connectTo(e)}_getValueOrDefault(e){let t=e._getConnectionValue(this)??this._defaultValue;return this.dataTransformer?this.dataTransformer(t):t}getValue(e){if(1===this.connectionType){e._notifyExecuteNode(this._ownerBlock),this._ownerBlock._updateOutputs(e);let t=this._getValueOrDefault(e);return this._lastValue=t,this.richType.typeTransformer?this.richType.typeTransformer(t):t}let t=this.isConnected()?this._connectedPoint[0].getValue(e):this._getValueOrDefault(e);return this._lastValue=t,this.richType.typeTransformer?this.richType.typeTransformer(t):t}_getLastValue(){return this._lastValue}getClassName(){return"FlowGraphDataConnection"}serialize(e={}){super.serialize(e),e.richType={},this.richType.serialize(e.richType),e.optional=this._optional,(0,s.defaultValueSerializationFunction)("defaultValue",this._defaultValue,e)}}e.s(["FlowGraphBlock",0,class{constructor(e){this.config=e,this.uniqueId=(0,t.RandomGUID)(),this.name=this.config?.name??this.getClassName(),this.dataInputs=[],this.dataOutputs=[]}_updateOutputs(e){}registerDataInput(e,t,r){let i=new n(e,0,this,t,r);return this.dataInputs.push(i),i}registerDataOutput(e,t,r){let i=new n(e,1,this,t,r);return this.dataOutputs.push(i),i}getDataInput(e){return this.dataInputs.find(t=>t.name===e)}getDataOutput(e){return this.dataOutputs.find(t=>t.name===e)}serialize(e={},t=s.defaultValueSerializationFunction){if(e.uniqueId=this.uniqueId,e.config={},this.config){let r=this.config;for(let i of Object.keys(r))t(i,r[i],e.config)}for(let t of(e.dataInputs=[],e.dataOutputs=[],e.className=this.getClassName(),this.dataInputs)){let r={};t.serialize(r),e.dataInputs.push(r)}for(let t of this.dataOutputs){let r={};t.serialize(r),e.dataOutputs.push(r)}}deserialize(e){}_log(e,t,r){e.logger?.addLogItem({action:t,payload:r,className:this.getClassName(),uniqueId:this.uniqueId})}getClassName(){return"FlowGraphBlock"}}],17884)},44938,e=>{"use strict";var t=e.i(17884),r=e.i(69081);class i extends r.FlowGraphConnection{constructor(){super(...arguments),this.priority=0,this._lastActivationTime=-1}_isSingularConnection(){return!1}connectTo(e){super.connectTo(e),this._connectedPoint.sort((e,t)=>t.priority-e.priority)}_activateSignal(e){if(this._lastActivationTime=performance.now(),e.logger?.addLogItem({action:"ActivateSignal",className:this._ownerBlock.getClassName(),uniqueId:this._ownerBlock.uniqueId,payload:{connectionType:this.connectionType,name:this.name}}),0===this.connectionType){if(e._shouldBreak(this._ownerBlock,this))return;e._notifyExecuteNode(this._ownerBlock);let t=performance.now();this._ownerBlock._execute(e,this),this._ownerBlock._lastExecutionTime=performance.now()-t,e._increaseExecutionId()}else for(let t of this._connectedPoint)t._activateSignal(e)}}class s extends t.FlowGraphBlock{constructor(e){super(e),this.priority=0,this._lastExecutionTime=-1,this.signalInputs=[],this.signalOutputs=[],this.in=this._registerSignalInput("in"),this.error=this._registerSignalOutput("error")}_registerSignalInput(e){let t=new i(e,0,this);return this.signalInputs.push(t),t}_registerSignalOutput(e){let t=new i(e,1,this);return this.signalOutputs.push(t),t}_unregisterSignalInput(e){let t=this.signalInputs.findIndex(t=>t.name===e);-1!==t&&(this.signalInputs[t].dispose(),this.signalInputs.splice(t,1))}_unregisterSignalOutput(e){let t=this.signalOutputs.findIndex(t=>t.name===e);-1!==t&&(this.signalOutputs[t].dispose(),this.signalOutputs.splice(t,1))}_reportError(e,t){this.error.payload="string"==typeof t?Error(t):t,this.error._activateSignal(e)}getSignalInput(e){return this.signalInputs.find(t=>t.name===e)}getSignalOutput(e){return this.signalOutputs.find(t=>t.name===e)}serialize(e={}){for(let t of(super.serialize(e),e.signalInputs=[],e.signalOutputs=[],this.signalInputs)){let r={};t.serialize(r),e.signalInputs.push(r)}for(let t of this.signalOutputs){let r={};t.serialize(r),e.signalOutputs.push(r)}}deserialize(e){for(let t=0;t<e.signalInputs.length;t++){let r=this.getSignalInput(e.signalInputs[t].name);if(r)r.deserialize(e.signalInputs[t]);else throw Error("Could not find signal input with name "+e.signalInputs[t].name+" in block "+e.className)}for(let t=0;t<e.signalOutputs.length;t++){let r=this.getSignalOutput(e.signalOutputs[t].name);if(r)r.deserialize(e.signalOutputs[t]);else throw Error("Could not find signal output with name "+e.signalOutputs[t].name+" in block "+e.className)}}getClassName(){return"FlowGraphExecutionBlock"}}e.s(["FlowGraphExecutionBlock",0,s],44938)},62478,e=>{"use strict";var t=e.i(44938);class r extends t.FlowGraphExecutionBlock{constructor(e){super(e),this.out=this._registerSignalOutput("out")}}e.s(["FlowGraphExecutionBlockWithOutSignal",0,r])},79440,e=>{"use strict";var t=e.i(62478);class r extends t.FlowGraphExecutionBlockWithOutSignal{constructor(e,t){if(super(e),this._eventsSignalOutputs={},this.done=this._registerSignalOutput("done"),t)for(const e of t)this._eventsSignalOutputs[e]=this._registerSignalOutput(e+"Event")}_executeOnTick(e){}_startPendingTasks(e){e._getExecutionVariable(this,"_initialized",!1)&&(this._cancelPendingTasks(e),this._resetAfterCanceled(e)),this._preparePendingTasks(e),e._addPendingBlock(this),this.out._activateSignal(e),e._setExecutionVariable(this,"_initialized",!0)}_resetAfterCanceled(e){e._deleteExecutionVariable(this,"_initialized"),e._removePendingBlock(this)}}e.s(["FlowGraphAsyncExecutionBlock",0,r])},78992,e=>{"use strict";var t=e.i(79440);class r extends t.FlowGraphAsyncExecutionBlock{constructor(e){super(e),this.initPriority=0,this.type="NoTrigger",this._unregisterSignalInput("in")}deserialize(e){let t={...e};t.signalInputs=(e.signalInputs??[]).filter(e=>"in"!==e.name),super.deserialize(t)}_execute(e){e._notifyExecuteNode(this),this.done._activateSignal(e),this.out._activateSignal(e)}_startPendingTasks(e){e._getExecutionVariable(this,"_initialized",!1)&&(this._cancelPendingTasks(e),this._resetAfterCanceled(e)),this._preparePendingTasks(e),e._addPendingBlock(this),e._setExecutionVariable(this,"_initialized",!0)}}e.s(["FlowGraphEventBlock",0,r])},92329,e=>{"use strict";(0,e.i(75105).RegisterFlowGraphRichTypes)(),e.s([])},93661,e=>{"use strict";var t=e.i(51843);let r=!1;e.s(["RegisterAbstractEngineTexture",0,function(){r||(r=!0,t.AbstractEngine.prototype.createDepthStencilTexture=function(e,t,r){if(!t.isCube)return this._createDepthStencilTexture(e,t,r);{let r=e.width||e;return this._createDepthStencilCubeTexture(r,t)}})}])},11829,e=>{"use strict";var t=e.i(41041),r=e.i(12877),i=e.i(3864),s=e.i(59052),n=e.i(16771);let a={positions:[1,1,-1,1,-1,-1,1,-1],indices:[0,1,2,0,2,3]};class o{static RegisterShaderCodeProcessing(e,t){t?o._CustomShaderCodeProcessing[e??""]=t:delete o._CustomShaderCodeProcessing[e??""]}static _GetShaderCodeProcessing(e){return o._CustomShaderCodeProcessing[e]??o._CustomShaderCodeProcessing[""]}get name(){return this.options.name}set name(e){this.options.name=e}isReady(){return this._drawWrapper.effect?.isReady()??!1}get drawWrapper(){return this._drawWrapper}get effect(){return this._drawWrapper.effect}set effect(e){this._drawWrapper.effect=e}constructor(e){this.alphaMode=0,this.onEffectCreatedObservable=new i.Observable(void 0,!0),this.onApplyObservable=new i.Observable,this._shadersLoaded=!1,this._webGPUReady=!1,this._importPromises=[],this.options={...e,name:e.name||"effectWrapper",engine:e.engine,uniforms:e.uniforms||e.uniformNames||[],uniformNames:void 0,samplers:e.samplers||e.samplerNames||[],samplerNames:void 0,attributeNames:e.attributeNames||["position"],uniformBuffers:e.uniformBuffers||[],defines:e.defines||"",useShaderStore:e.useShaderStore||!1,vertexUrl:e.vertexUrl||e.vertexShader||"postprocess",vertexShader:void 0,fragmentShader:e.fragmentShader||"pass",indexParameters:e.indexParameters,blockCompilation:e.blockCompilation||!1,shaderLanguage:e.shaderLanguage||0,onCompiled:e.onCompiled||void 0,extraInitializations:e.extraInitializations||void 0,extraInitializationsAsync:e.extraInitializationsAsync||void 0,useAsPostProcess:e.useAsPostProcess??!1,allowEmptySourceTexture:e.allowEmptySourceTexture??!1},this.options.uniformNames=this.options.uniforms,this.options.samplerNames=this.options.samplers,this.options.vertexShader=this.options.vertexUrl,this.options.useAsPostProcess&&(this.options.allowEmptySourceTexture||-1!==this.options.samplers.indexOf("textureSampler")||this.options.samplers.push("textureSampler"),-1===this.options.uniforms.indexOf("scale")&&this.options.uniforms.push("scale")),e.vertexUrl||e.vertexShader?this._shaderPath={vertexSource:this.options.vertexShader}:(this.options.useAsPostProcess||(this.options.uniforms.push("scale"),this.onApplyObservable.add(()=>{this.effect.setFloat2("scale",1,1)})),this._shaderPath={vertex:this.options.vertexShader}),this._shaderPath.fragmentSource=this.options.fragmentShader,this._shaderPath.spectorName=this.options.name,this.options.useShaderStore&&(this._shaderPath.fragment=this._shaderPath.fragmentSource,this._shaderPath.vertex||(this._shaderPath.vertex=this._shaderPath.vertexSource),delete this._shaderPath.fragmentSource,delete this._shaderPath.vertexSource),this.onApplyObservable.add(()=>{this.bind()}),this.options.useShaderStore||(this._onContextRestoredObserver=this.options.engine.onContextRestoredObservable.add(()=>{this.effect._pipelineContext=null,this.effect._prepareEffect()})),this._drawWrapper=new n.DrawWrapper(this.options.engine),this._webGPUReady=1===this.options.shaderLanguage;const t=Array.isArray(this.options.defines)?this.options.defines.join("\n"):this.options.defines;this._postConstructor(this.options.blockCompilation,t,this.options.extraInitializations)}_gatherImports(e=!1,t){}_postConstructor(t,r=null,i,s){this._importPromises.length=0,s&&this._importPromises.push(...s);let n=this.options.engine.isWebGPU&&!o.ForceGLSL;this._gatherImports(n,this._importPromises),this.options.useShaderStore&&"postprocess"===this._shaderPath.vertex&&this._importPromises.push(n&&this._webGPUReady?e.A(99691):e.A(75856)),void 0!==i&&i(n,this._importPromises),n&&this._webGPUReady&&(this.options.shaderLanguage=1),t||this.updateEffect(r)}updateEffect(e=null,t=null,r=null,i,n,a,l,c){let h,u=o._GetShaderCodeProcessing(this.name);if(u?.defineCustomBindings){let i=t?.slice()??[];i.push(...this.options.uniforms);let s=r?.slice()??[];s.push(...this.options.samplers),e=u.defineCustomBindings(this.name,e,i,s),t=i,r=s}this.options.defines=e||"";let d=this._shadersLoaded||0===this._importPromises.length?void 0:async()=>{await Promise.all(this._importPromises),this._shadersLoaded=!0};h=this.options.extraInitializationsAsync?async()=>{await d?.(),await this.options.extraInitializationsAsync()}:d,this.options.useShaderStore?this._drawWrapper.effect=this.options.engine.createEffect({vertex:l??this._shaderPath.vertex,fragment:c??this._shaderPath.fragment},{attributes:this.options.attributeNames,uniformsNames:t||this.options.uniforms,uniformBuffersNames:this.options.uniformBuffers,samplers:r||this.options.samplers,defines:null!==e?e:"",fallbacks:null,onCompiled:n??this.options.onCompiled,onError:a??null,indexParameters:i||this.options.indexParameters,processCodeAfterIncludes:u?.processCodeAfterIncludes?(e,t)=>u.processCodeAfterIncludes(this.name,e,t):null,processFinalCode:u?.processFinalCode?(e,t)=>u.processFinalCode(this.name,e,t):null,shaderLanguage:this.options.shaderLanguage,extraInitializationsAsync:h},this.options.engine):this._drawWrapper.effect=new s.Effect(this._shaderPath,this.options.attributeNames,t||this.options.uniforms,r||this.options.samplerNames,this.options.engine,e,void 0,n||this.options.onCompiled,void 0,void 0,void 0,this.options.shaderLanguage,h),this.onEffectCreatedObservable.notifyObservers(this._drawWrapper.effect)}bind(e=!1){this.options.useAsPostProcess&&!e&&(this.options.engine.setAlphaMode(this.alphaMode),this.drawWrapper.effect.setFloat2("scale",1,1)),o._GetShaderCodeProcessing(this.name)?.bindCustomBindings?.(this.name,this._drawWrapper.effect)}dispose(e=!1){this._onContextRestoredObserver&&(this.effect.getEngine().onContextRestoredObservable.remove(this._onContextRestoredObserver),this._onContextRestoredObserver=null),this.onEffectCreatedObservable.clear(),this._drawWrapper.dispose(!0)}}o.ForceGLSL=!1,o._CustomShaderCodeProcessing={},e.s(["EffectRenderer",0,class{constructor(e,i=a){this._fullscreenViewport=new r.Viewport(0,0,1,1);const s=i.positions??a.positions,n=i.indices??a.indices;this.engine=e,this._vertexBuffers={[t.VertexBuffer.PositionKind]:new t.VertexBuffer(e,s,t.VertexBuffer.PositionKind,!1,!1,2)},this._indexBuffer=e.createIndexBuffer(n),this._indexBufferLength=n.length,this._onContextRestoredObserver=e.onContextRestoredObservable.add(()=>{for(let t in this._indexBuffer=e.createIndexBuffer(n),this._vertexBuffers)this._vertexBuffers[t]._rebuild()})}setViewport(e=this._fullscreenViewport){this.engine.setViewport(e)}bindBuffers(e){this.engine.bindBuffers(this._vertexBuffers,this._indexBuffer,e)}applyEffectWrapper(e,t=!1,r=!1){this.engine.setState(!0),this.engine.depthCullingState.depthTest=t,this.engine.stencilState.stencilTest=r,this.engine.enableEffect(e.drawWrapper),this.bindBuffers(e.effect),e.onApplyObservable.notifyObservers({})}saveStates(){this._savedStateDepthTest=this.engine.depthCullingState.depthTest,this._savedStateStencilTest=this.engine.stencilState.stencilTest}restoreStates(){this.engine.depthCullingState.depthTest=this._savedStateDepthTest,this.engine.stencilState.stencilTest=this._savedStateStencilTest}draw(){this.engine.drawElementsType(0,0,this._indexBufferLength)}_isRenderTargetTexture(e){return void 0!==e.renderTarget}render(e,t=null){if(!e.effect.isReady())return;this.saveStates(),this.setViewport();let r=null===t?null:this._isRenderTargetTexture(t)?t.renderTarget:t;r&&this.engine.bindFramebuffer(r),this.applyEffectWrapper(e),this.draw(),r&&this.engine.unBindFramebuffer(r),this.restoreStates()}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),delete this._vertexBuffers[t.VertexBuffer.PositionKind]),this._indexBuffer&&this.engine._releaseBuffer(this._indexBuffer),this._onContextRestoredObserver&&(this.engine.onContextRestoredObservable.remove(this._onContextRestoredObserver),this._onContextRestoredObserver=null)}},"EffectWrapper",0,o])},93872,e=>{"use strict";var t,r;(r=t||(t={})).Animation="Animation",r.AnimationGroup="AnimationGroup",r.Mesh="Mesh",r.Material="Material",r.Camera="Camera",r.Light="Light",e.s(["GetFlowGraphAssetWithType",0,function(e,t,r,i){switch(t){case"Animation":return i?e.animations.find(e=>e.uniqueId===r)??null:e.animations[r]??null;case"AnimationGroup":return i?e.animationGroups.find(e=>e.uniqueId===r)??null:e.animationGroups[r]??null;case"Mesh":return i?e.meshes.find(e=>e.uniqueId===r)??null:e.meshes[r]??null;case"Material":return i?e.materials.find(e=>e.uniqueId===r)??null:e.materials[r]??null;case"Camera":return i?e.cameras.find(e=>e.uniqueId===r)??null:e.cameras[r]??null;case"Light":return i?e.lights.find(e=>e.uniqueId===r)??null:e.lights[r]??null;default:return null}}])},64433,e=>{"use strict";var t,r,i=e.i(92180),s=e.i(3864),n=e.i(66460),a=e.i(23003),o=e.i(16347),l=e.i(31837),c=e.i(14958),h=e.i(49165),u=e.i(80065),d=e.i(51843),f=e.i(98207);async function m(e,t){let r=t.method||"GET";return await new Promise((i,s)=>{let n=new f.WebRequest;n.addEventListener("readystatechange",()=>{if(4==n.readyState)if(200==n.status){let e={};if(t.responseHeaders)for(let r of t.responseHeaders)e[r]=n.getResponseHeader(r)||"";i({response:n.response,headerValues:e})}else s(`Unable to fetch data from ${e}. Error code: ${n.status}`)}),n.open(r,e),n.send()})}(t=r||(r={}))[t.Clean=0]="Clean",t[t.Stop=1]="Stop",t[t.Sync=2]="Sync",t[t.NoSync=3]="NoSync";let p=new s.Observable,_={},g=!1;function T(){return _[".babylon"]}function I(e,t){let r=_[e];return r||(o.Logger.Warn("Unable to find a plugin to load "+e+" files. Trying to use .babylon default plugin. To load from a specific filetype (eg. gltf) see: https://doc.babylonjs.com/features/featuresDeepDive/importers/loadingFileTypes"),t?T():void 0)}function y(e,t,r){let i,s=(i="Unable to load from "+(e.rawData?"binary data":e.url),t?i+=`: ${t}`:r&&(i+=`: ${r}`),i);return new h.RuntimeError(s,h.ErrorCodes.SceneLoaderError,r)}function E(e){return e instanceof Error?e.message:String(e)}function x(e,t){return t instanceof h.RuntimeError&&t.errorCode===h.ErrorCodes.SceneLoaderError?t:y(e,E(t),t)}function S(e,t){if(!(e.importMesh||e.load||e.loadAssetContainer))return e;let r=e=>{let r,i=e((e,t)=>{r={message:e,exception:t}});if(!i)throw y(t,r?.message,r?.exception);return i};return{name:e.name,extensions:e.extensions,importMeshAsync:async(t,i,s,n)=>{let a=[],o=[],l=[];return r(r=>e.importMesh(t,i,s,n,a,o,l,r)),{meshes:a,particleSystems:o,skeletons:l,animationGroups:[],transformNodes:[],geometries:[],lights:[],spriteManagers:[]}},loadAsync:async(t,i,s)=>{r(r=>e.load(t,i,s,r))},loadAssetContainerAsync:async(t,i,s)=>r(r=>e.loadAssetContainer(t,i,s,r))}}function v(e,t,r){let i=E(r);e&&t?e(t,i,r):o.Logger.Error(i)}function M(e){if(e)return t=>{try{e(t)}catch(e){o.Logger.Warn("Error in onProgress callback: "+E(e))}}}async function P(e,t,r,i,s,n){var a,o;let l,h,u,f="data:"===(a=e.url).substring(0,5)?a.substring(5):null;if(e.rawData&&!i)throw Error("When using ArrayBufferView to load data the file extension must be provided.");let g=f||i?"":(-1!==(h=(o=e.url).indexOf("?"))&&(o=o.substring(0,h)),u=o.lastIndexOf("."),o.substring(u,o.length).toLowerCase()),E=i?I(i,!0):f?function(e){for(let t in _){let r=_[t].plugin;if(r.canDirectLoad&&r.canDirectLoad(e))return _[t]}return T()}(e.url):I(g,!1);if(!E&&g){if(e.url&&!e.url.startsWith("blob:")){let t=await m(e.url,{method:"HEAD",responseHeaders:["Content-Type"]}),r=t.headerValues?t.headerValues["Content-Type"]:"";r&&(E=function(e){for(let t in _){let r=_[t];if(r.mimeType===e)return r}}(r))}E||(E=T())}if(!E)throw Error(`No plugin or fallback for ${i??e.url}`);if(n?.[E.plugin.name]?.enabled===!1)throw Error(`The '${E.plugin.name}' plugin is disabled via the loader options passed to the loading operation.`);if(e.rawData&&!E.isBinary)throw Error("Loading from ArrayBufferView can not be used with plugins that don't support binary loading.");if(E.plugin.createPlugin){let t=E.plugin;try{let e=t.createPlugin(n??{});l=e instanceof Promise?await e:e}catch(t){throw y(e,"Error instantiating plugin.",t)}}else l=E.plugin;if(!l)throw Error(`The loader plugin corresponding to the '${i}' file type has not been found. If using es6, please import the plugin you wish to use before.`);if(p.notifyObservers(l),f&&(l.canDirectLoad&&l.canDirectLoad(e.url)||!(0,c.IsBase64DataUrl)(e.url))){if(l.directLoad){let r;try{r=await l.directLoad(t,f)}catch(t){throw y(e,"Error in directLoad of _loadData: "+t,t)}return{plugin:l,data:r}}return{plugin:l,data:f}}let x=E.isBinary;return await new Promise((i,n)=>{let a=null,o=!1,c=l.onDisposeObservable?.add(()=>{o=!0,a&&(a.abort(),a=null),u(y(e,"Loading was aborted because the plugin was disposed."))}),h=()=>{c&&l.onDisposeObservable?.remove(c)},u=e=>{h(),n(e)},f=(r,s)=>{var n;t.isDisposed?u(y(e,"Scene has been disposed")):(n={plugin:l,data:r,responseURL:s},h(),i(n))},m=()=>{if(o)return;let i=(t,r)=>{u(y(e,t?.statusText,r))};if(!l.loadFile&&e.rawData)return void u(y(e,"Plugin does not support loading ArrayBufferView."));try{a=l.loadFile?l.loadFile(t,e.rawData||e.file||e.url,e.rootUrl,f,r,x,i,s):t._loadFile(e.file||e.url,f,r,!0,x,i)}catch(t){u(y(e,void 0,t))}},p=t.getEngine(),_=!e.file&&!e.rawData&&p.enableOfflineSupport;if(_){let r=!1;for(let i of t.disableOfflineSupportExceptionRules)if(i.test(e.url)){r=!0;break}_=!r}if(_&&d.AbstractEngine.OfflineProviderFactory)try{t.offlineProvider=d.AbstractEngine.OfflineProviderFactory(e.url,m,p.disableManifestCheck)}catch(t){u(y(e,void 0,t))}else m()})}function R(e,t){let r,s,n=null,a=null;if(t)if(t.name)r=`file:${t.name}`,s=t.name,n=t;else if(ArrayBuffer.isView(t))r="",s=(0,u.RandomGUID)(),a=t;else if(t.startsWith("data:"))r=t,s="";else if(e){if("/"===t.substring(0,1))return i.Tools.Error("Wrong sceneFilename parameter"),null;r=e+t,s=t}else r=t,s=i.Tools.GetFilename(t),e=i.Tools.GetFolderPath(t);else r=e,s=i.Tools.GetFilename(e),e=i.Tools.GetFolderPath(e);return{url:r,rootUrl:e,name:s,file:n,rawData:a}}function A(e){if("string"==typeof e.extensions)_[e.extensions.toLowerCase()]={plugin:e,isBinary:!1};else{let t=e.extensions;for(let r of Object.keys(t))_[r.toLowerCase()]={plugin:e,isBinary:t[r].isBinary,mimeType:t[r].mimeType}}}async function b(e,t,r){let{meshNames:i,rootUrl:s="",onProgress:n,pluginExtension:a,name:o,pluginOptions:l}=r??{};return await C(i,s,e,t,n,a,o,l)}async function C(e,t,r="",i=a.EngineStore.LastCreatedScene,s,n,o="",l={}){if(!i)throw Error("No scene available to import mesh to");let c=R(t,r);if(!c)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let h={};i.addPendingData(h);let u=M(s);try{let t,{plugin:r,data:s,responseURL:a}=await P(c,i,u,n??null,o,l);r.rewriteRootURL&&(c.rootUrl=r.rewriteRootURL(c.rootUrl,a));try{t=await S(r,c).importMeshAsync(e,i,s,c.rootUrl,u,c.name)}catch(e){throw x(c,e)}return i.loadingPluginName=r.name,i.importedMeshesFiles.push(c.url),t}finally{i.removePendingData(h)}}async function L(e,t="",r=a.EngineStore.LastCreatedEngine,i,s,o="",l={}){if(!r)throw Error("No engine available");let c=new n.Scene(r);try{await D(e,t,c,i,s,o,l)}catch(e){throw c.dispose(),e}return c}async function D(e,t="",r=a.EngineStore.LastCreatedScene,i,s,n="",o={}){if(!r)throw Error("No scene available to append to");let c=R(e,t);if(!c)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let h={};r.addPendingData(h),l.SceneLoaderFlags.ShowLoadingScreen&&!g&&(g=!0,r.getEngine().displayLoadingUI(),r.executeWhenReady(()=>{r.getEngine().hideLoadingUI(),g=!1}));let u=M(i);try{let{plugin:e,data:t}=await P(c,r,u,s??null,n,o);try{await S(e,c).loadAsync(r,t,c.rootUrl,u,c.name)}catch(e){throw x(c,e)}return r.loadingPluginName=e.name,r}finally{r.removePendingData(h)}}async function w(e,t="",r=a.EngineStore.LastCreatedScene,i,s,n="",o={}){if(!r)throw Error("No scene available to load asset container to");let l=R(e,t);if(!l)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let c={};r.addPendingData(c);let h=M(i);try{let e,{plugin:t,data:i}=await P(l,r,h,s??null,n,o),a=S(t,l);if(!a.loadAssetContainerAsync)throw y(l,"LoadAssetContainer is not supported by this plugin. Plugin did not provide a loadAssetContainer or loadAssetContainerAsync method.");try{e=await a.loadAssetContainerAsync(r,i,l.rootUrl,h,l.name)}catch(e){throw x(l,e)}return e.populateRootNodes(),r.loadingPluginName=t.name,e}finally{r.removePendingData(c)}}async function F(e,t,r){let{rootUrl:i="",onProgress:s,pluginExtension:n,name:a,pluginOptions:o}=r??{};return await w(i,e,t,s,n,a,o)}async function B(e,t="",r=a.EngineStore.LastCreatedScene,i=!0,s=0,n=null,o,l,c="",h={}){if(!r)throw Error("No scene available to load animations to");if(i){for(let e of r.animatables)e.reset();for(let e of(r.stopAllAnimations(),r.animationGroups.slice()))e.dispose();for(let e of r.getNodes())e.animations&&(e.animations=[])}else switch(s){case 0:for(let e of r.animationGroups.slice())e.dispose();break;case 1:for(let e of r.animationGroups)e.stop();break;case 2:for(let e of r.animationGroups)e.reset(),e.restart();break;case 3:break;default:throw Error("Unknown animation group loading mode value '"+s+"'")}let u=r.animatables.length,d=await w(e,t,r,o,l,c,h);d.mergeAnimationsTo(r,r.animatables.slice(u),n),d.dispose(),r.onAnimationFileImportedObservable.notifyObservers(r)}class V{static get ForceFullSceneLoadingForIncremental(){return l.SceneLoaderFlags.ForceFullSceneLoadingForIncremental}static set ForceFullSceneLoadingForIncremental(e){l.SceneLoaderFlags.ForceFullSceneLoadingForIncremental=e}static get ShowLoadingScreen(){return l.SceneLoaderFlags.ShowLoadingScreen}static set ShowLoadingScreen(e){l.SceneLoaderFlags.ShowLoadingScreen=e}static get loggingLevel(){return l.SceneLoaderFlags.loggingLevel}static set loggingLevel(e){l.SceneLoaderFlags.loggingLevel=e}static get CleanBoneMatrixWeights(){return l.SceneLoaderFlags.CleanBoneMatrixWeights}static set CleanBoneMatrixWeights(e){l.SceneLoaderFlags.CleanBoneMatrixWeights=e}static GetDefaultPlugin(){return T()}static GetPluginForExtension(e){return I(e,!0)?.plugin}static IsPluginForExtensionAvailable(e){return!!_[e]}static RegisterPlugin(e){A(e)}static ImportMesh(e,t,r,i,s,n,o,l,c,h){let u=i??a.EngineStore.LastCreatedScene;(async()=>{try{let a=await C(e,t,r,i,n,l,c,h);s?.(a.meshes,a.particleSystems,a.skeletons,a.animationGroups,a.transformNodes,a.geometries,a.lights,a.spriteManagers)}catch(e){v(o,u,e)}})()}static async ImportMeshAsync(e,t,r,i,s,n,a){return await C(e,t,r,i,s,n,a)}static Load(e,t,r,i,s,n,o,l){(async()=>{try{let n=await L(e,t,r,s,o,l);i?.(n)}catch(e){v(n,a.EngineStore.LastCreatedScene,e)}})()}static async LoadAsync(e,t,r,i,s,n){return await L(e,t,r,i,s,n)}static Append(e,t,r,i,s,n,o,l){let c=r??a.EngineStore.LastCreatedScene;(async()=>{try{let n=await D(e,t,r,s,o,l);i?.(n)}catch(e){v(n,c,e)}})()}static async AppendAsync(e,t,r,i,s,n){return await D(e,t,r,i,s,n)}static LoadAssetContainer(e,t,r,i,s,n,o,l){let c=r??a.EngineStore.LastCreatedScene;(async()=>{try{let n=await w(e,t,r,s,o,l);i?.(n)}catch(e){v(n,c,e)}})()}static async LoadAssetContainerAsync(e,t,r,i,s,n){return await w(e,t,r,i,s,n)}static ImportAnimations(e,t,r,i,s,n,o,l,c,h,u){let d=r??a.EngineStore.LastCreatedScene;(async()=>{try{await B(e,t,r,i,s,n,l,h,u),o?.(d)}catch(e){v(c,d,e)}})()}static async ImportAnimationsAsync(e,t,r,i,s,n,o,l,c,h,u){let d=r??a.EngineStore.LastCreatedScene;return await B(e,t,d,i,s,n,l,h,u),d}}V.NO_LOGGING=0,V.MINIMAL_LOGGING=1,V.SUMMARY_LOGGING=2,V.DETAILED_LOGGING=3,V.OnPluginActivatedObservable=p,e.s(["ImportMeshAsync",0,b,"LoadAssetContainerAsync",0,F,"RegisterSceneLoaderPlugin",0,A],64433)},63693,1717,e=>{"use strict";var t=e.i(87627);class r{constructor(e){this._samples=Array(e),this.reset()}add(e){let t;if(this.isSaturated()){let e=this._samples[this._pos];t=e-this.average,this.average-=t/(this._sampleCount-1),this._m2-=t*(e-this.average)}else this._sampleCount++;t=e-this.average,this.average+=t/this._sampleCount,this._m2+=t*(e-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=e,this._pos++,this._pos%=this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}}e.s(["PerformanceMonitor",0,class{constructor(e=30){this._enabled=!0,this._rollingFrameTime=new r(e)}sampleFrame(e=t.PrecisionDate.Now){if(this._enabled){if(null!=this._lastFrameTimeMs){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.add(t)}this._lastFrameTimeMs=e}}get averageFrameTime(){return this._rollingFrameTime.average}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return 1e3/this._rollingFrameTime.average}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return 0===e?0:1e3/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}get isEnabled(){return this._enabled}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}}],63693);var i=e.i(36460),s=e.i(51843),n=e.i(23003);function a(e){return Number.isFinite(e.ascent)&&Number.isFinite(e.height)&&Number.isFinite(e.descent)&&e.height>0}async function o(e,t,r){return await new Promise((i,s)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{e.createImageBitmap(n,r).then(e=>{i(e)})})},n.onerror=()=>{s(`Error loading image ${n.src}`)},n.src=t})}function l(e){if(e.requestPointerLock){let t=e.requestPointerLock();t instanceof Promise?t.then(()=>{e.focus()}).catch(()=>{}):e.focus()}}e.s(["CreateImageBitmapFromSource",0,o,"ExitFullscreen",0,function(){let e=document;document.exitFullscreen?document.exitFullscreen():e.webkitCancelFullScreen&&e.webkitCancelFullScreen()},"ExitPointerlock",0,function(){document.exitPointerLock&&document.exitPointerLock()},"GetFontOffset",0,function(e){var t;let r,s,n,o,l=function(e){let t,r;if(!(0,i.IsDocumentAvailable)()||!document.body)return null;let s=document.createElement("span");s.textContent="Hg",s.style.font=e;let n=document.createElement("div");n.style.display="inline-block",n.style.width="1px",n.style.height="0px",n.style.verticalAlign="bottom";let o=document.createElement("div");o.style.whiteSpace="nowrap",o.appendChild(s),o.appendChild(n),document.body.appendChild(o);try{r=n.getBoundingClientRect().top-s.getBoundingClientRect().top,n.style.verticalAlign="baseline",t=n.getBoundingClientRect().top-s.getBoundingClientRect().top}finally{document.body.removeChild(o)}let l={ascent:t,height:r,descent:r-t};return a(l)?l:null}(e);if(l)return l;let c=function(e){let t=null;try{"u">typeof OffscreenCanvas?t=new OffscreenCanvas(64,64):(0,i.IsDocumentAvailable)()&&"function"==typeof document.createElement&&((t=document.createElement("canvas")).width=64,t.height=64);let r=t?.getContext("2d");if(!r)return null;r.font=e;let s=r.measureText("Hg"),n=Number(s.actualBoundingBoxAscent??s.fontBoundingBoxAscent),o=Number(s.actualBoundingBoxDescent??s.fontBoundingBoxDescent),l={ascent:n,height:n+o,descent:o};return a(l)?l:null}catch{return null}finally{let e=t;"function"==typeof e?.dispose&&e.dispose()}}(e);return c||(n=.8*(s=Math.max(1,(t=e,(r=/(?:^|\s)([0-9]+(?:\.[0-9]+)?)px(?:\/|\s|$)/.exec(String(t||"")))?Number(r[1]):16))),{ascent:n,height:n+(o=.2*s),descent:o})},"RequestFullscreen",0,function(e){let t=e.requestFullscreen||e.webkitRequestFullscreen;t&&t.call(e)},"RequestPointerlock",0,l,"ResizeImageBitmap",0,function(e,t,r,i){let s=e.createCanvas(r,i).getContext("2d");if(!s)throw Error("Unable to get 2d context for resizeImageBitmap");return s.drawImage(t,0,0),s.getImageData(0,0,r,i).data},"_CommonDispose",0,function(e,t){1===n.EngineStore.Instances.length&&s.AbstractEngine.audioEngine&&(s.AbstractEngine.audioEngine.dispose(),s.AbstractEngine.audioEngine=null);let r=e.getHostWindow();r&&"function"==typeof r.removeEventListener&&(r.removeEventListener("blur",e._onBlur),r.removeEventListener("focus",e._onFocus)),t&&(t.removeEventListener("focus",e._onCanvasFocus),t.removeEventListener("blur",e._onCanvasBlur),t.removeEventListener("pointerout",e._onCanvasPointerOut),t.removeEventListener("contextmenu",e._onCanvasContextMenu)),(0,i.IsDocumentAvailable)()&&(document.removeEventListener("fullscreenchange",e._onFullscreenChange),document.removeEventListener("mozfullscreenchange",e._onFullscreenChange),document.removeEventListener("webkitfullscreenchange",e._onFullscreenChange),document.removeEventListener("msfullscreenchange",e._onFullscreenChange),document.removeEventListener("pointerlockchange",e._onPointerLockChange),document.removeEventListener("mspointerlockchange",e._onPointerLockChange),document.removeEventListener("mozpointerlockchange",e._onPointerLockChange),document.removeEventListener("webkitpointerlockchange",e._onPointerLockChange))},"_CommonInit",0,function(e,t,r){e._onCanvasFocus=()=>{e.onCanvasFocusObservable.notifyObservers(e)},e._onCanvasBlur=()=>{e.onCanvasBlurObservable.notifyObservers(e)},e._onCanvasContextMenu=t=>{e.disableContextMenu&&t.preventDefault()},t.addEventListener("focus",e._onCanvasFocus),t.addEventListener("blur",e._onCanvasBlur),t.addEventListener("contextmenu",e._onCanvasContextMenu),e._onBlur=()=>{e.disablePerformanceMonitorInBackground&&e.performanceMonitor.disable(),e._windowIsBackground=!0},e._onFocus=()=>{e.disablePerformanceMonitorInBackground&&e.performanceMonitor.enable(),e._windowIsBackground=!1},e._onCanvasPointerOut=r=>{document.elementFromPoint(r.clientX,r.clientY)!==t&&e.onCanvasPointerOutObservable.notifyObservers(r)};let n=e.getHostWindow();n&&"function"==typeof n.addEventListener&&(n.addEventListener("blur",e._onBlur),n.addEventListener("focus",e._onFocus)),t.addEventListener("pointerout",e._onCanvasPointerOut),!r.doNotHandleTouchAction&&t&&t.setAttribute&&(t.setAttribute("touch-action","none"),t.style.touchAction="none",t.style.webkitTapHighlightColor="transparent"),!s.AbstractEngine.audioEngine&&r.audioEngine&&s.AbstractEngine.AudioEngineFactory&&(s.AbstractEngine.audioEngine=s.AbstractEngine.AudioEngineFactory(e.getRenderingCanvas(),e.getAudioContext(),e.getAudioDestination())),(0,i.IsDocumentAvailable)()&&(e._onFullscreenChange=()=>{e.isFullscreen=!!document.fullscreenElement,e.isFullscreen&&e._pointerLockRequested&&t&&l(t)},document.addEventListener("fullscreenchange",e._onFullscreenChange,!1),document.addEventListener("webkitfullscreenchange",e._onFullscreenChange,!1),e._onPointerLockChange=()=>{e.isPointerLock=document.pointerLockElement===t},document.addEventListener("pointerlockchange",e._onPointerLockChange,!1),document.addEventListener("webkitpointerlockchange",e._onPointerLockChange,!1)),e.enableOfflineSupport=void 0!==s.AbstractEngine.OfflineProviderFactory,e._deterministicLockstep=!!r.deterministicLockstep,e._lockstepMaxSteps=r.lockstepMaxSteps||0,e._timeStep=r.timeStep||1/60}],1717)},22932,e=>{"use strict";var t=e.i(51843);let r=!1;e.s(["RegisterAbstractEngineDom",0,function(){r||(r=!0,t.AbstractEngine.prototype.getInputElement=function(){return this._renderingCanvas},t.AbstractEngine.prototype.getRenderingCanvasClientRect=function(){return this._renderingCanvas?this._renderingCanvas.getBoundingClientRect():null},t.AbstractEngine.prototype.getInputElementClientRect=function(){return this._renderingCanvas?this.getInputElement().getBoundingClientRect():null},t.AbstractEngine.prototype.getAspectRatio=function(e,t=!1){let r=e.viewport;return this.getRenderWidth(t)*r.width/(this.getRenderHeight(t)*r.height)},t.AbstractEngine.prototype.getScreenAspectRatio=function(){return this.getRenderWidth(!0)/this.getRenderHeight(!0)},t.AbstractEngine.prototype._verifyPointerLock=function(){this._onPointerLockChange?.()})}])},34149,e=>{"use strict";var t=e.i(8636),r=e.i(23003),i=e.i(94559),s=e.i(63693),n=e.i(26220),a=e.i(16347),o=e.i(52951),l=e.i(51843),c=e.i(1717),h=e.i(11267),u=e.i(44816),d=e.i(22932),f=e.i(67213);class m extends i.ThinEngine{static get NpmPackage(){return l.AbstractEngine.NpmPackage}static get Version(){return l.AbstractEngine.Version}static get Instances(){return r.EngineStore.Instances}static get LastCreatedEngine(){return r.EngineStore.LastCreatedEngine}static get LastCreatedScene(){return r.EngineStore.LastCreatedScene}static DefaultLoadingScreenFactory(e){return l.AbstractEngine.DefaultLoadingScreenFactory(e)}get _supportsHardwareTextureRescaling(){return!!m._RescalePostProcessFactory}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}get performanceMonitor(){return this._performanceMonitor}constructor(e,t,r,i=!1){if((0,d.RegisterAbstractEngineDom)(),(0,f.RegisterAbstractEngineRenderPass)(),super(e,t,r,i),this._performanceMonitor=new s.PerformanceMonitor,this._drawCalls=new h.PerfCounter,!e)return;this._features.supportRenderPasses=!0}_initGLContext(){super._initGLContext(),this._rescalePostProcess=null}_sharedInit(e){super._sharedInit(e),(0,c._CommonInit)(this,e,this._creationOptions)}resizeImageBitmap(e,t,r){return(0,c.ResizeImageBitmap)(this,e,t,r)}async _createImageBitmapFromSource(e,t){return await (0,c.CreateImageBitmapFromSource)(this,e,t)}switchFullscreen(e){this.isFullscreen?this.exitFullscreen():this.enterFullscreen(e)}enterFullscreen(e){!this.isFullscreen&&(this._pointerLockRequested=e,this._renderingCanvas&&(0,c.RequestFullscreen)(this._renderingCanvas))}exitFullscreen(){this.isFullscreen&&(0,c.ExitFullscreen)()}setDitheringState(e){e?this._gl.enable(this._gl.DITHER):this._gl.disable(this._gl.DITHER)}setRasterizerState(e){e?this._gl.disable(this._gl.RASTERIZER_DISCARD):this._gl.enable(this._gl.RASTERIZER_DISCARD)}setDirectViewport(e,t,r,i){let s=this._cachedViewport;return this._cachedViewport=null,this._viewport(e,t,r,i),s}scissorClear(e,t,r,i,s){this.enableScissor(e,t,r,i),this.clear(s,!0,!0,!0),this.disableScissor()}getVertexShaderSource(e){let t=this._gl.getAttachedShaders(e);return t?this._gl.getShaderSource(t[0]):null}getFragmentShaderSource(e){let t=this._gl.getAttachedShaders(e);return t?this._gl.getShaderSource(t[1]):null}set framebufferDimensionsObject(e){this._framebufferDimensionsObject=e,this._framebufferDimensionsObject&&this.onResizeObservable.notifyObservers(this)}_rebuildBuffers(){for(let e of this.scenes)e.resetCachedMaterial(),e._rebuildGeometries();for(let e of this._virtualScenes)e.resetCachedMaterial(),e._rebuildGeometries();super._rebuildBuffers()}getFontOffset(e){return(0,c.GetFontOffset)(e)}enterPointerlock(){this._renderingCanvas&&(0,c.RequestPointerlock)(this._renderingCanvas)}exitPointerlock(){(0,c.ExitPointerlock)()}beginFrame(){this._measureFps(),super.beginFrame()}_deletePipelineContext(e){e&&e.program&&e.transformFeedback&&(this.deleteTransformFeedback(e.transformFeedback),e.transformFeedback=null),super._deletePipelineContext(e)}createShaderProgram(e,t,r,i,s,n=null){s=s||this._gl,this.onBeforeShaderCompilationObservable.notifyObservers(this);let a=super.createShaderProgram(e,t,r,i,s,n);return this.onAfterShaderCompilationObservable.notifyObservers(this),a}_createShaderProgram(e,t,r,i,s=null){let n=i.createProgram();if(e.program=n,!n)throw Error("Unable to create program");if(i.attachShader(n,t),i.attachShader(n,r),this.webGLVersion>1&&s){let t=this.createTransformFeedback();this.bindTransformFeedback(t),this.setTranformFeedbackVaryings(n,s),e.transformFeedback=t}return i.linkProgram(n),this.webGLVersion>1&&s&&this.bindTransformFeedback(null),e.context=i,e.vertexShader=t,e.fragmentShader=r,e.isParallelCompiled||this._finalizePipelineContext(e),n}_releaseTexture(e){super._releaseTexture(e)}_releaseRenderTargetWrapper(e){for(let t of(super._releaseRenderTargetWrapper(e),this.scenes)){for(let r of t.postProcesses)r._outputTexture===e&&(r._outputTexture=null);for(let r of t.cameras)for(let t of r._postProcesses)t&&t._outputTexture===e&&(t._outputTexture=null)}}_rescaleTexture(e,t,r,i,s){this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MAG_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MIN_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_S,this._gl.CLAMP_TO_EDGE),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_T,this._gl.CLAMP_TO_EDGE);let n=this.createRenderTargetTexture({width:t.width,height:t.height},{generateMipMaps:!1,type:0,samplingMode:2,generateDepthBuffer:!1,generateStencilBuffer:!1});if(!this._rescalePostProcess&&m._RescalePostProcessFactory&&(this._rescalePostProcess=m._RescalePostProcessFactory(this)),this._rescalePostProcess){this._rescalePostProcess.externalTextureSamplerBinding=!0;let a=()=>{this._rescalePostProcess.onApply=function(t){t._bindTexture("textureSampler",e)};let a=r;a||(a=this.scenes[this.scenes.length-1]),a.postProcessManager.directRender([this._rescalePostProcess],n,!0),this._bindTextureDirectly(this._gl.TEXTURE_2D,t,!0),this._gl.copyTexImage2D(this._gl.TEXTURE_2D,0,i,0,0,t.width,t.height,0),this.unBindFramebuffer(n),n.dispose(),s&&s()},o=this._rescalePostProcess.getEffect();o?o.executeWhenCompiled(a):this._rescalePostProcess.onEffectCreatedObservable.addOnce(e=>{e.executeWhenCompiled(a)})}}wrapWebGLTexture(e,r=!1,i=3,s=0,n=0){let a=new o.WebGLHardwareTexture(e,this._gl),l=new t.InternalTexture(this,15,!0);return l._hardwareTexture=a,l.baseWidth=s,l.baseHeight=n,l.width=s,l.height=n,l.isReady=!0,l.useMipMaps=r,this.updateTextureSamplingMode(i,l),l}updateWrappedWebGLTexture(e,t){if(15!==e.source)throw Error("updateWrappedWebGLTexture: target InternalTexture was not produced by wrapWebGLTexture.");for(let t of this._renderTargetWrapperCache)if(t.textures?.includes(e)){if(t.isMulti)throw Error("updateWrappedWebGLTexture: wrapped texture is part of a multi render-target; not supported. Dispose and re-wrap.");if(t._depthStencilTexture)throw Error("updateWrappedWebGLTexture: wrapped texture's render-target wrapper has a depth/stencil texture; not supported. Dispose and re-wrap.")}for(let r in e._hardwareTexture=new o.WebGLHardwareTexture(t,this._gl),e.isReady=!0,e._cachedCoordinatesMode=null,e._cachedWrapU=null,e._cachedWrapV=null,e._cachedWrapR=null,e._cachedAnisotropicFilteringLevel=null,this._boundTexturesCache)this._boundTexturesCache[r]===e&&(this._boundTexturesCache[r]=null);this.updateTextureSamplingMode(e.samplingMode,e);let r=this._gl;for(let i of this._renderTargetWrapperCache){if(i.texture!==e)continue;let s=i.samples,n=s>1;i._framebuffer&&r.deleteFramebuffer(i._framebuffer),!n&&i._depthStencilBuffer&&(r.deleteRenderbuffer(i._depthStencilBuffer),i._depthStencilBuffer=null);let a=this._currentFramebuffer,o=r.createFramebuffer();this._bindUnboundFramebuffer(o),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0),n||(i._depthStencilBuffer=this._setupFramebufferDepthAttachments(i._generateStencilBuffer,i._generateDepthBuffer,i.width,i.height)),this._bindUnboundFramebuffer(a),i._framebuffer=o,n&&(i._samples=1,this.updateRenderTargetTextureSampleCount(i,s))}}_uploadImageToTexture(e,t,r=0,i=0){let s=this._gl,n=this._getWebGLTextureType(e.type),a=this._getInternalFormat(e.format),o=this._getRGBABufferInternalSizedFormat(e.type,a),l=e.isCube?s.TEXTURE_CUBE_MAP:s.TEXTURE_2D;this._bindTextureDirectly(l,e,!0),this._unpackFlipY(e.invertY);let c=s.TEXTURE_2D;e.isCube&&(c=s.TEXTURE_CUBE_MAP_POSITIVE_X+r),s.texImage2D(c,i,o,a,n,t),this._bindTextureDirectly(l,null,!0)}updateTextureComparisonFunction(e,t){if(1===this.webGLVersion)return void a.Logger.Error("WebGL 1 does not support texture comparison.");let r=this._gl;e.isCube?(this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,e,!0),0===t?(r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_COMPARE_FUNC,515),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_COMPARE_MODE,r.NONE)):(r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_COMPARE_FUNC,t),r.texParameteri(r.TEXTURE_CUBE_MAP,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null)):(this._bindTextureDirectly(this._gl.TEXTURE_2D,e,!0),0===t?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_COMPARE_FUNC,515),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_COMPARE_MODE,r.NONE)):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_COMPARE_FUNC,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_2D,null)),e._comparisonFunction=t}createInstancesBuffer(e){let t=this._gl.createBuffer();if(!t)throw Error("Unable to create instance buffer");let r=new n.WebGLDataBuffer(t);return r.capacity=e,this.bindArrayBuffer(r),this._gl.bufferData(this._gl.ARRAY_BUFFER,e,this._gl.DYNAMIC_DRAW),r.references=1,r}deleteInstancesBuffer(e){this._gl.deleteBuffer(e)}async _clientWaitAsync(e,t=0,r=10){let i=this._gl;return await new Promise((s,n)=>{(0,u._RetryWithInterval)(()=>{let r=i.clientWaitSync(e,t,0);if(r==i.WAIT_FAILED)throw Error("clientWaitSync failed");return r!=i.TIMEOUT_EXPIRED},s,n,r)})}_readPixelsAsync(e,t,r,i,s,n,a){if(this._webGLVersion<2)throw Error("_readPixelsAsync only work on WebGL2+");let o=this._gl,l=o.createBuffer();o.bindBuffer(o.PIXEL_PACK_BUFFER,l),o.bufferData(o.PIXEL_PACK_BUFFER,a.byteLength,o.STREAM_READ),o.readPixels(e,t,r,i,s,n,0),o.bindBuffer(o.PIXEL_PACK_BUFFER,null);let c=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);return c?(o.flush(),this._clientWaitAsync(c,0,10).then(()=>(o.deleteSync(c),o.bindBuffer(o.PIXEL_PACK_BUFFER,l),o.getBufferSubData(o.PIXEL_PACK_BUFFER,0,a),o.bindBuffer(o.PIXEL_PACK_BUFFER,null),o.deleteBuffer(l),a))):null}dispose(){this.hideLoadingUI?.(),this._rescalePostProcess&&this._rescalePostProcess.dispose(),(0,c._CommonDispose)(this,this._renderingCanvas),super.dispose()}}m.ALPHA_DISABLE=0,m.ALPHA_ADD=1,m.ALPHA_COMBINE=2,m.ALPHA_SUBTRACT=3,m.ALPHA_MULTIPLY=4,m.ALPHA_MAXIMIZED=5,m.ALPHA_ONEONE=6,m.ALPHA_PREMULTIPLIED=7,m.ALPHA_PREMULTIPLIED_PORTERDUFF=8,m.ALPHA_INTERPOLATE=9,m.ALPHA_SCREENMODE=10,m.DELAYLOADSTATE_NONE=0,m.DELAYLOADSTATE_LOADED=1,m.DELAYLOADSTATE_LOADING=2,m.DELAYLOADSTATE_NOTLOADED=4,m.NEVER=512,m.ALWAYS=519,m.LESS=513,m.EQUAL=514,m.LEQUAL=515,m.GREATER=516,m.GEQUAL=518,m.NOTEQUAL=517,m.KEEP=7680,m.REPLACE=7681,m.INCR=7682,m.DECR=7683,m.INVERT=5386,m.INCR_WRAP=34055,m.DECR_WRAP=34056,m.TEXTURE_CLAMP_ADDRESSMODE=0,m.TEXTURE_WRAP_ADDRESSMODE=1,m.TEXTURE_MIRROR_ADDRESSMODE=2,m.TEXTUREFORMAT_ALPHA=0,m.TEXTUREFORMAT_LUMINANCE=1,m.TEXTUREFORMAT_LUMINANCE_ALPHA=2,m.TEXTUREFORMAT_RGB=4,m.TEXTUREFORMAT_RGBA=5,m.TEXTUREFORMAT_RED=6,m.TEXTUREFORMAT_R=6,m.TEXTUREFORMAT_R16_UNORM=33322,m.TEXTUREFORMAT_RG16_UNORM=33324,m.TEXTUREFORMAT_RGB16_UNORM=32852,m.TEXTUREFORMAT_RGBA16_UNORM=32859,m.TEXTUREFORMAT_R16_SNORM=36760,m.TEXTUREFORMAT_RG16_SNORM=36761,m.TEXTUREFORMAT_RGB16_SNORM=36762,m.TEXTUREFORMAT_RGBA16_SNORM=36763,m.TEXTUREFORMAT_RG=7,m.TEXTUREFORMAT_RED_INTEGER=8,m.TEXTUREFORMAT_R_INTEGER=8,m.TEXTUREFORMAT_RG_INTEGER=9,m.TEXTUREFORMAT_RGB_INTEGER=10,m.TEXTUREFORMAT_RGBA_INTEGER=11,m.TEXTURETYPE_UNSIGNED_BYTE=0,m.TEXTURETYPE_UNSIGNED_INT=0,m.TEXTURETYPE_FLOAT=1,m.TEXTURETYPE_HALF_FLOAT=2,m.TEXTURETYPE_BYTE=3,m.TEXTURETYPE_SHORT=4,m.TEXTURETYPE_UNSIGNED_SHORT=5,m.TEXTURETYPE_INT=6,m.TEXTURETYPE_UNSIGNED_INTEGER=7,m.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4=8,m.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1=9,m.TEXTURETYPE_UNSIGNED_SHORT_5_6_5=10,m.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV=11,m.TEXTURETYPE_UNSIGNED_INT_24_8=12,m.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV=13,m.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV=14,m.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV=15,m.TEXTURE_NEAREST_SAMPLINGMODE=1,m.TEXTURE_BILINEAR_SAMPLINGMODE=2,m.TEXTURE_TRILINEAR_SAMPLINGMODE=3,m.TEXTURE_NEAREST_NEAREST_MIPLINEAR=8,m.TEXTURE_LINEAR_LINEAR_MIPNEAREST=11,m.TEXTURE_LINEAR_LINEAR_MIPLINEAR=3,m.TEXTURE_NEAREST_NEAREST_MIPNEAREST=4,m.TEXTURE_NEAREST_LINEAR_MIPNEAREST=5,m.TEXTURE_NEAREST_LINEAR_MIPLINEAR=6,m.TEXTURE_NEAREST_LINEAR=7,m.TEXTURE_NEAREST_NEAREST=1,m.TEXTURE_LINEAR_NEAREST_MIPNEAREST=9,m.TEXTURE_LINEAR_NEAREST_MIPLINEAR=10,m.TEXTURE_LINEAR_LINEAR=2,m.TEXTURE_LINEAR_NEAREST=12,m.TEXTURE_EXPLICIT_MODE=0,m.TEXTURE_SPHERICAL_MODE=1,m.TEXTURE_PLANAR_MODE=2,m.TEXTURE_CUBIC_MODE=3,m.TEXTURE_PROJECTION_MODE=4,m.TEXTURE_SKYBOX_MODE=5,m.TEXTURE_INVCUBIC_MODE=6,m.TEXTURE_EQUIRECTANGULAR_MODE=7,m.TEXTURE_FIXED_EQUIRECTANGULAR_MODE=8,m.TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE=9,m.SCALEMODE_FLOOR=1,m.SCALEMODE_NEAREST=2,m.SCALEMODE_CEILING=3,e.s(["Engine",0,m])},82571,91586,57113,25970,e=>{"use strict";let t,r,i,s,n,a,o,l,c,h,u,d,f,m;var p,_=e.i(57575),g=e.i(9855),T=e.i(55288),I=e.i(69400),y=e.i(84106),E=e.i(26924);class x{constructor(e,t,r){this._cameraPosition=t,this._behavior=r,this.activeInput=!1,this.speed=1,this.zoomSpeed=1,this.panSpeed=1,this.rotationXSpeed=1,this.rotationYSpeed=1,this._zoomSpeedMultiplier=1,this._panSpeedMultiplier=1,this.zoomInertia=.9,this.panInertia=.9,this.rotationInertia=.9,this.zoomAccumulatedPixels=0,this.panAccumulatedPixels=new I.Vector3,this.rotationAccumulatedPixels=new I.Vector3,this.zoomDeltaCurrentFrame=0,this.panDeltaCurrentFrame=I.Vector3.Zero(),this.rotationDeltaCurrentFrame=I.Vector3.Zero(),this._zoomVelocity=0,this._panVelocity=new I.Vector3,this.referenceFrameRate=60,this._rotationVelocity=new I.Vector3,this._prevFrameTimeMs=0,this._scene=e}computeCurrentFrameDeltas(){let e=this._scene.getEngine().getDeltaTime(),t=this._getEffectiveDeltaMs(e);if(0===this._zoomVelocity&&0===this.zoomAccumulatedPixels&&0===this._panVelocity.x&&0===this._panVelocity.y&&0===this._panVelocity.z&&0===this.panAccumulatedPixels.x&&0===this.panAccumulatedPixels.y&&0===this.panAccumulatedPixels.z&&0===this._rotationVelocity.x&&0===this._rotationVelocity.y&&0===this._rotationVelocity.z&&0===this.rotationAccumulatedPixels.x&&0===this.rotationAccumulatedPixels.y&&0===this.rotationAccumulatedPixels.z&&!this.activeInput){this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,e>0&&(this._prevFrameTimeMs=e);return}this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,(this.panAccumulatedPixels.lengthSquared()>0||this.rotationAccumulatedPixels.lengthSquared()>0||0!==this.zoomAccumulatedPixels)&&this._behavior?.isInterpolating&&this._behavior.stopAllAnimations(),this._panVelocity.copyFromFloats(this._calculateCurrentVelocity(this._panVelocity.x,this.panAccumulatedPixels.x,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.y,this.panAccumulatedPixels.y,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.z,this.panAccumulatedPixels.z,this.panInertia)),this._panVelocity.scaleToRef(this.speed*this.panSpeed*this._panSpeedMultiplier*t,this.panDeltaCurrentFrame),this._rotationVelocity.copyFromFloats(this._calculateCurrentVelocity(this._rotationVelocity.x,this.rotationAccumulatedPixels.x,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.y,this.rotationAccumulatedPixels.y,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.z,this.rotationAccumulatedPixels.z,this.rotationInertia)),this.rotationDeltaCurrentFrame.copyFromFloats(this._rotationVelocity.x*this.speed*this.rotationXSpeed*t,this._rotationVelocity.y*this.speed*this.rotationYSpeed*t,0),this._zoomVelocity=this._calculateCurrentVelocity(this._zoomVelocity,this.zoomAccumulatedPixels,this.zoomInertia),this.zoomDeltaCurrentFrame=this._zoomVelocity*(this.speed*this.zoomSpeed*this._zoomSpeedMultiplier)*t,e>0&&(this._prevFrameTimeMs=e),this.zoomAccumulatedPixels=0,this.panAccumulatedPixels.setAll(0),this.rotationAccumulatedPixels.setAll(0),this.activeInput=!1}resetRotationVelocity(){this._rotationVelocity.setAll(0),this.rotationAccumulatedPixels.setAll(0)}resetPanVelocity(){this._panVelocity.setAll(0),this.panAccumulatedPixels.setAll(0)}resetZoomVelocity(){this._zoomVelocity=0,this.zoomAccumulatedPixels=0}get isInterpolating(){return!!this._behavior?.isInterpolating}getFrameIndependentDecay(e){let t=this._scene.getEngine().getDeltaTime();return Math.pow(e,this._getEffectiveDeltaMs(t)/(1e3/this.referenceFrameRate))}getFrameIndependentInputScale(e){let t=1-e;return t<=0?1:(1-this.getFrameIndependentDecay(e))/t}_getEffectiveDeltaMs(e){return e>0?e:this._prevFrameTimeMs>0?this._prevFrameTimeMs:1e3/this.referenceFrameRate}_calculateCurrentVelocity(e,t,r){let i=e,s=this._scene.getEngine().getDeltaTime(),n=this._getEffectiveDeltaMs(s);if(0===n)return i;let a=this.getFrameIndependentDecay(r);if(i*=a,0!==t||this.activeInput){let e=1-r;i+=t/n*(e>0?(1-a)/e:1)}else 1e-6>Math.abs(i)&&(i=0);return i}}e.s(["CameraMovement",0,x],91586);class S{constructor(e,t){this.inputMap=[],this.handlers=e,this._createDefaultEntries=t,this.resetInputMap()}resolveInteraction(e,t){for(let r of this.inputMap)if(r.source===e&&this._entryMatches(r,t))return r;return null}resetInputMap(){this.inputMap=this._createDefaultEntries?.()??[]}getEntry(e,t,r){let i=this.inputMap;for(let s=0;s<i.length;s++){let n=i[s];if(n.source===e&&n.interaction===t&&this._entryConditionsMatch(n,r))return n}}getEntries(e,t,r){let i=[],s=this.inputMap;for(let n=0;n<s.length;n++){let a=s[n];a.source===e&&a.interaction===t&&this._entryConditionsMatch(a,r)&&i.push(a)}return i}addEntry(e){let t=this._entrySpecificity(e),r=this.inputMap.length;for(let e=0;e<this.inputMap.length;e++)if(this._entrySpecificity(this.inputMap[e])<t){r=e;break}this.inputMap.splice(r,0,e)}setInteraction(e,t,r){let i=this.resolveInteraction(e,t);return i&&this._entryCoversAllConditionsOf(i,t)?i.interaction=r:this.addEntry({source:e,...t??{},interaction:r}),!0}_entryCoversAllConditionsOf(e,t){if(!t)return!0;for(let r of Object.keys(t)){let i=t[r];if(void 0!==i){if("modifiers"===r){let t=e.modifiers??{};for(let e of Object.keys(i))if(void 0!==i[e]&&void 0===t[e])return!1}else if(void 0===e[r])return!1}}return!0}setInteractions(e,t,r){let i=0,s=this.inputMap;for(let n=0;n<s.length;n++){let a=s[n];a.source===e&&this._entryMatches(a,t)&&(a.interaction=r,i++)}return i}_entryMatches(e,t){switch(e.source){case"pointer":if(void 0!==e.button&&e.button!==t?.button)return!1;return this._matchModifiers(e.modifiers,t?.modifiers);case"wheel":return this._matchModifiers(e.modifiers,t?.modifiers);case"touch":if(void 0!==e.touchCount&&e.touchCount!==t?.touchCount)return!1;return!0;case"keyboard":if(void 0!==e.key&&(Array.isArray(e.key)?-1===e.key.indexOf(t?.key??-1):e.key!==t?.key))return!1;return this._matchModifiers(e.modifiers,t?.modifiers)}}_entryConditionsMatch(e,t){if(!t)return!0;switch(e.source){case"pointer":if("button"in t&&e.button!==t.button)return!1;return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers);case"wheel":return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers);case"touch":return!("touchCount"in t)||e.touchCount===t.touchCount;case"keyboard":if("key"in t){if(void 0===e.key)return void 0===t.key;if(void 0===t.key||(Array.isArray(e.key)?-1===e.key.indexOf(t.key):e.key!==t.key))return!1}return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers)}}_entrySpecificity(e){let t=0;return"button"in e&&void 0!==e.button&&t++,"key"in e&&void 0!==e.key&&t++,"touchCount"in e&&void 0!==e.touchCount&&t++,"modifiers"in e&&e.modifiers&&t++,t}_matchModifiers(e,t){return!e||(void 0===e.ctrl||e.ctrl===(t?.ctrl??!1))&&(void 0===e.shift||e.shift===(t?.shift??!1))&&(void 0===e.alt||e.alt===(t?.alt??!1))}_entryModifiersMatch(e,t){return t?void 0===t.ctrl&&void 0===t.shift&&void 0===t.alt?!e||void 0===e.ctrl&&void 0===e.shift&&void 0===e.alt:(void 0===t.ctrl||e?.ctrl===t.ctrl)&&(void 0===t.shift||e?.shift===t.shift)&&(void 0===t.alt||e?.alt===t.alt):!e}}e.s(["InputMapper",0,S],57113);class v extends x{constructor(e,t,r){super(e,t,r),this.input=new S({translate:(e,t,r)=>{this.panAccumulatedPixels.x+=e,this.panAccumulatedPixels.y+=t,this.panAccumulatedPixels.z+=r},rotate:(e,t)=>{this.rotationAccumulatedPixels.x+=e,this.rotationAccumulatedPixels.y+=t}},()=>this._createDefaultInputMap())}_createDefaultInputMap(){return[{source:"pointer",interaction:"rotate"},{source:"keyboard",interaction:"translate"},{source:"keyboard",interaction:"rotate"},{source:"touch",interaction:"rotate"},{source:"touch",interaction:"translate"}]}}let M=I.Matrix.Zero(),P=I.Quaternion.Identity(),R=(n=T.Camera,a=[],o=[],l=[],c=[],h=[],u=[],d=[],f=[],p=class extends n{get inertia(){return this._targetInertia}set inertia(e){this._targetInertia=e,this.movement&&(this.movement.panInertia=e,this.movement.rotationInertia=e)}constructor(e,t,r,i=!0){super(e,t,r,i),this.cameraDirection=new I.Vector3(0,0,0),this.cameraRotation=new I.Vector2(0,0),this._targetInertia=.9,this.updateUpVectorFromRotation=(0,_.__runInitializers)(this,a,!1),this.rotation=((0,_.__runInitializers)(this,o),(0,_.__runInitializers)(this,l,void 0)),this.rotationQuaternion=(0,_.__runInitializers)(this,c),this.speed=(0,_.__runInitializers)(this,h,2),this.noRotationConstraint=((0,_.__runInitializers)(this,u),!1),this.invertRotation=!1,this.inverseRotationSpeed=.2,this._panningEpsilon=y.Epsilon,this._rotationEpsilon=y.Epsilon,this.lockedTarget=(0,_.__runInitializers)(this,d,null),this._currentTarget=((0,_.__runInitializers)(this,f),I.Vector3.Zero()),this._initialFocalDistance=1,this._viewMatrix=I.Matrix.Zero(),this._cameraTransformMatrix=I.Matrix.Zero(),this._cameraRotationMatrix=I.Matrix.Zero(),this._transformedReferencePoint=I.Vector3.Zero(),this._deferredPositionUpdate=new I.Vector3,this._deferredRotationQuaternionUpdate=new I.Quaternion,this._deferredRotationUpdate=new I.Vector3,this._deferredUpdated=!1,this._deferOnly=!1,this._cachedRotationZ=0,this._cachedQuaternionRotationZ=0,this._referencePoint=I.Vector3.Forward(this.getScene().useRightHandedSystem),this.rotation=new I.Vector3(0,this.getScene().useRightHandedSystem?Math.PI:0,0),this.movement=new v(this.getScene(),this.position),this.movement.panInertia=this.inertia,this.movement.rotationInertia=this.inertia}getFrontPosition(e){this.getWorldMatrix();let t=I.TmpVectors.Vector3[0],r=I.TmpVectors.Vector3[1];return r.set(0,0,this._scene.useRightHandedSystem?-1:1),this.getDirectionToRef(r,t),t.scaleInPlace(e),this.globalPosition.add(t)}_getLockedTargetPosition(){if(!this.lockedTarget)return null;if(this.lockedTarget.absolutePosition){let e=this.lockedTarget;e.computeWorldMatrix().getTranslationToRef(e.absolutePosition)}return this.lockedTarget.absolutePosition||this.lockedTarget}storeState(){return this._storedPosition=this.position.clone(),this._storedRotation=this.rotation.clone(),this.rotationQuaternion&&(this._storedRotationQuaternion=this.rotationQuaternion.clone()),super.storeState()}_restoreStateValues(){return!!super._restoreStateValues()&&(this.position=this._storedPosition.clone(),this.rotation=this._storedRotation.clone(),this.rotationQuaternion&&this._storedRotationQuaternion&&(this.rotationQuaternion=this._storedRotationQuaternion.clone()),this.cameraDirection.copyFromFloats(0,0,0),this.cameraRotation.copyFromFloats(0,0),!0)}_initCache(){super._initCache(),this._cache.lockedTarget=new I.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotation=new I.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotationQuaternion=new I.Quaternion(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)}_updateCache(e){e||super._updateCache();let t=this._getLockedTargetPosition();t?this._cache.lockedTarget?this._cache.lockedTarget.copyFrom(t):this._cache.lockedTarget=t.clone():this._cache.lockedTarget=null,this._cache.rotation.copyFrom(this.rotation),this.rotationQuaternion&&this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion)}_isSynchronizedViewMatrix(){if(!super._isSynchronizedViewMatrix())return!1;let e=this._getLockedTargetPosition();return(this._cache.lockedTarget?this._cache.lockedTarget.equals(e):!e)&&(this.rotationQuaternion?this.rotationQuaternion.equals(this._cache.rotationQuaternion):this._cache.rotation.equals(this.rotation))}_computeLocalCameraSpeed(){let e=this.getEngine();return this.speed*Math.sqrt(e.getDeltaTime()/(100*e.getFps()))}setTarget(e){this.upVector.normalize(),this._initialFocalDistance=e.subtract(this.position).length(),this.position.z===e.z&&(this.position.z+=y.Epsilon),this._referencePoint.normalize().scaleInPlace(this._initialFocalDistance),this.getScene().useRightHandedSystem?I.Matrix.LookAtRHToRef(this.position,e,I.Vector3.UpReadOnly,M):I.Matrix.LookAtLHToRef(this.position,e,I.Vector3.UpReadOnly,M),M.invert();let t=this.rotationQuaternion||P;I.Quaternion.FromRotationMatrixToRef(M,t),t.toEulerAnglesToRef(this.rotation),this.rotation.z=0}get target(){return this.getTarget()}set target(e){this.setTarget(e)}getTarget(){return this._currentTarget}_decideIfNeedsToMove(){return Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0}_updatePosition(){if(this.parent){this.parent.getWorldMatrix().invertToRef(I.TmpVectors.Matrix[0]),I.Vector3.TransformNormalToRef(this.cameraDirection,I.TmpVectors.Matrix[0],I.TmpVectors.Vector3[0]),this._deferredPositionUpdate.addInPlace(I.TmpVectors.Vector3[0]),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate);return}this._deferredPositionUpdate.addInPlace(this.cameraDirection),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate)}_checkInputs(){let e=this.movement,t=0!==this.cameraDirection.x||0!==this.cameraDirection.y||0!==this.cameraDirection.z;e.panAccumulatedPixels.addInPlace(this.cameraDirection),e.rotationAccumulatedPixels.x+=this.cameraRotation.x,e.rotationAccumulatedPixels.y+=this.cameraRotation.y,e.computeCurrentFrameDeltas(),this.cameraDirection.copyFrom(e.panDeltaCurrentFrame),this.cameraRotation.set(e.rotationDeltaCurrentFrame.x,e.rotationDeltaCurrentFrame.y);let r=this.speed*this._panningEpsilon;!t&&Math.abs(this.cameraDirection.x)<r&&Math.abs(this.cameraDirection.y)<r&&Math.abs(this.cameraDirection.z)<r&&(this.cameraDirection.setAll(0),e.resetPanVelocity());let i=this.invertRotation?-this.inverseRotationSpeed:1,s=this._decideIfNeedsToMove(),n=!!(this.cameraRotation.x||this.cameraRotation.y);this._deferredUpdated=!1,this._deferredRotationUpdate.copyFrom(this.rotation),this._deferredPositionUpdate.copyFrom(this.position),this.rotationQuaternion&&this._deferredRotationQuaternionUpdate.copyFrom(this.rotationQuaternion),s&&this._updatePosition(),n&&(this.rotationQuaternion&&this.rotationQuaternion.toEulerAnglesToRef(this._deferredRotationUpdate),this._deferredRotationUpdate.x+=this.cameraRotation.x*i,this._deferredRotationUpdate.y+=this.cameraRotation.y*i,!this.noRotationConstraint&&(this._deferredRotationUpdate.x>1.570796&&(this._deferredRotationUpdate.x=1.570796),this._deferredRotationUpdate.x<-1.570796&&(this._deferredRotationUpdate.x=-1.570796)),this._deferOnly?this._deferredUpdated=!0:this.rotation.copyFrom(this._deferredRotationUpdate),this.rotationQuaternion&&this._deferredRotationUpdate.lengthSquared()&&(I.Quaternion.RotationYawPitchRollToRef(this._deferredRotationUpdate.y,this._deferredRotationUpdate.x,this._deferredRotationUpdate.z,this._deferredRotationQuaternionUpdate),this._deferOnly?this._deferredUpdated=!0:this.rotationQuaternion.copyFrom(this._deferredRotationQuaternionUpdate))),this.cameraDirection.setAll(0),this.cameraRotation.set(0,0),super._checkInputs()}_updateCameraRotationMatrix(){this.rotationQuaternion?this.rotationQuaternion.toRotationMatrix(this._cameraRotationMatrix):I.Matrix.RotationYawPitchRollToRef(this.rotation.y,this.rotation.x,this.rotation.z,this._cameraRotationMatrix)}_rotateUpVectorWithCameraRotationMatrix(){return I.Vector3.TransformNormalToRef(I.Vector3.UpReadOnly,this._cameraRotationMatrix,this.upVector),this}_getViewMatrix(){return this.lockedTarget&&this.setTarget(this._getLockedTargetPosition()),this._updateCameraRotationMatrix(),this.rotationQuaternion&&this._cachedQuaternionRotationZ!=this.rotationQuaternion.z?(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedQuaternionRotationZ=this.rotationQuaternion.z):this._cachedRotationZ!==this.rotation.z&&(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedRotationZ=this.rotation.z),I.Vector3.TransformCoordinatesToRef(this._referencePoint,this._cameraRotationMatrix,this._transformedReferencePoint),this.position.addToRef(this._transformedReferencePoint,this._currentTarget),this.updateUpVectorFromRotation&&(this.rotationQuaternion?E.Axis.Y.rotateByQuaternionToRef(this.rotationQuaternion,this.upVector):(I.Quaternion.FromEulerVectorToRef(this.rotation,P),E.Axis.Y.rotateByQuaternionToRef(P,this.upVector))),this._computeViewMatrix(this.position,this._currentTarget,this.upVector),this._viewMatrix}_computeViewMatrix(e,t,r){if(this.getScene().useRightHandedSystem?I.Matrix.LookAtRHToRef(e,t,r,this._viewMatrix):I.Matrix.LookAtLHToRef(e,t,r,this._viewMatrix),this.parent){let e=this.parent.getWorldMatrix();this._viewMatrix.invert(),this._viewMatrix.multiplyToRef(e,this._viewMatrix),this._viewMatrix.invert(),this._markSyncedWithParent()}}createRigCamera(e,t){if(this.cameraRigMode!==T.Camera.RIG_MODE_NONE){let t=new p(e,this.position.clone(),this.getScene());return t.isRigCamera=!0,t.rigParent=this,this.cameraRigMode===T.Camera.RIG_MODE_VR&&(this.rotationQuaternion||(this.rotationQuaternion=new I.Quaternion),t._cameraRigParams={},t.rotationQuaternion=new I.Quaternion),t.mode=this.mode,t.orthoLeft=this.orthoLeft,t.orthoRight=this.orthoRight,t.orthoTop=this.orthoTop,t.orthoBottom=this.orthoBottom,t}return null}_updateRigCameras(){let e=this._rigCameras[0],t=this._rigCameras[1];switch(this.computeWorldMatrix(),this.cameraRigMode){case T.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case T.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case T.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:case T.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case T.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:{let r=this.cameraRigMode===T.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?1:-1,i=this.cameraRigMode===T.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?-1:1;this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*r,e),this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*i,t);break}case T.Camera.RIG_MODE_VR:e.rotationQuaternion&&t.rotationQuaternion&&this.rotationQuaternion?(e.rotationQuaternion.copyFrom(this.rotationQuaternion),t.rotationQuaternion.copyFrom(this.rotationQuaternion)):(e.rotation.copyFrom(this.rotation),t.rotation.copyFrom(this.rotation)),e.position.copyFrom(this.position),t.position.copyFrom(this.position)}super._updateRigCameras()}_getRigCamPositionAndTarget(e,t){this.getTarget().subtractToRef(this.position,p._TargetFocalPoint),p._TargetFocalPoint.normalize().scaleInPlace(this._initialFocalDistance);let r=p._TargetFocalPoint.addInPlace(this.position);I.Matrix.TranslationToRef(-r.x,-r.y,-r.z,p._TargetTransformMatrix),p._TargetTransformMatrix.multiplyToRef(I.Matrix.RotationAxis(t.upVector,e),p._RigCamTransformMatrix),I.Matrix.TranslationToRef(r.x,r.y,r.z,p._TargetTransformMatrix),p._RigCamTransformMatrix.multiplyToRef(p._TargetTransformMatrix,p._RigCamTransformMatrix),I.Vector3.TransformCoordinatesToRef(this.position,p._RigCamTransformMatrix,t.position),t.setTarget(r)}getClassName(){return"TargetCamera"}},m="function"==typeof Symbol&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0,t=[(0,g.serialize)()],r=[(0,g.serializeAsVector3)()],i=[(0,g.serialize)()],s=[(0,g.serializeAsMeshReference)("lockedTargetId")],(0,_.__esDecorate)(null,null,t,{kind:"field",name:"updateUpVectorFromRotation",static:!1,private:!1,access:{has:e=>"updateUpVectorFromRotation"in e,get:e=>e.updateUpVectorFromRotation,set:(e,t)=>{e.updateUpVectorFromRotation=t}},metadata:m},a,o),(0,_.__esDecorate)(null,null,r,{kind:"field",name:"rotation",static:!1,private:!1,access:{has:e=>"rotation"in e,get:e=>e.rotation,set:(e,t)=>{e.rotation=t}},metadata:m},l,c),(0,_.__esDecorate)(null,null,i,{kind:"field",name:"speed",static:!1,private:!1,access:{has:e=>"speed"in e,get:e=>e.speed,set:(e,t)=>{e.speed=t}},metadata:m},h,u),(0,_.__esDecorate)(null,null,s,{kind:"field",name:"lockedTarget",static:!1,private:!1,access:{has:e=>"lockedTarget"in e,get:e=>e.lockedTarget,set:(e,t)=>{e.lockedTarget=t}},metadata:m},d,f),m&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:m}),p._RigCamTransformMatrix=new I.Matrix,p._TargetTransformMatrix=new I.Matrix,p._TargetFocalPoint=new I.Vector3,p);e.s(["TargetCamera",0,R],82571);var A=e.i(16347),b=e.i(2060),C={};e.s(["CameraInputTypes",0,C,"CameraInputsManager",0,class{constructor(e){this.attachedToElement=!1,this.attached={},this.camera=e,this.checkInputs=()=>{}}add(e){let t=e.getSimpleName();this.attached[t]?A.Logger.Warn("camera input of type "+t+" already exists on camera"):(this.attached[t]=e,e.camera=this.camera,e.checkInputs&&(this.checkInputs=this._addCheckInputs(e.checkInputs.bind(e))),this.attachedToElement&&e.attachControl(this.noPreventDefault))}remove(e){for(let t in this.attached){let r=this.attached[t];if(r===e){r.detachControl(),r.camera=null,delete this.attached[t],this.rebuildInputCheck();return}}}removeByType(e){for(let t in this.attached){let r=this.attached[t];r.getClassName()===e&&(r.detachControl(),r.camera=null,delete this.attached[t],this.rebuildInputCheck())}}_addCheckInputs(e){let t=this.checkInputs;return()=>{t(),e()}}attachInput(e){this.attachedToElement&&e.attachControl(this.noPreventDefault)}attachElement(e=!1){if(!this.attachedToElement)for(let t in e=!T.Camera.ForceAttachControlToAlwaysPreventDefault&&e,this.attachedToElement=!0,this.noPreventDefault=e,this.attached)this.attached[t].attachControl(e)}detachElement(e=!1){for(let t in this.attached)this.attached[t].detachControl(),e&&(this.attached[t].camera=null);this.attachedToElement=!1}rebuildInputCheck(){for(let e in this.checkInputs=()=>{},this.attached){let t=this.attached[e];t.checkInputs&&(this.checkInputs=this._addCheckInputs(t.checkInputs.bind(t)))}}clear(){this.attachedToElement&&this.detachElement(!0),this.attached={},this.attachedToElement=!1,this.checkInputs=()=>{}}serialize(e){let t={};for(let e in this.attached){let r=this.attached[e],i=b.SerializationHelper.Serialize(r);t[r.getClassName()]=i}e.inputsmgr=t}parse(e){let t=e.inputsmgr;if(t)for(let e in this.clear(),t){let r=C[e];if(r){let i=t[e],s=b.SerializationHelper.Parse(()=>new r,i,null);this.add(s)}}else for(let t in this.attached){let r=C[this.attached[t].getClassName()];if(r){let i=b.SerializationHelper.Parse(()=>new r,e,null);this.remove(this.attached[t]),this.add(i)}}}}],25970)},10501,e=>{"use strict";(0,e.i(69400).RegisterMathVector)(),e.s([])},60837,e=>{"use strict";(0,e.i(64831).RegisterMesh)(),e.s([])},89304,e=>{"use strict";var t=e.i(17884);e.i(92329);var r=e.i(75105);class i extends t.FlowGraphBlock{constructor(e){super(e);const t=e.glTF,i=t?.animations?.map(e=>e._babylonAnimationGroup)||[];this.animationGroups=this.registerDataOutput("animationGroups",r.RichTypeAny,i);const s=t?.nodes?.map(e=>e._babylonTransformNode)||[];this.nodes=this.registerDataOutput("nodes",r.RichTypeAny,s)}getClassName(){return"FlowGraphGLTFDataProvider"}}e.s(["FlowGraphGLTFDataProvider",0,i])},11376,e=>{"use strict";class t{constructor(e){this._pendingActions=[],this._workerInfos=e.map(e=>({workerPromise:Promise.resolve(e),idle:!0}))}dispose(){for(let e of this._workerInfos)e.workerPromise.then(e=>{e.terminate()});this._workerInfos.length=0,this._pendingActions.length=0}push(e){this._executeOnIdleWorker(e)||this._pendingActions.push(e)}_executeOnIdleWorker(e){for(let t of this._workerInfos)if(t.idle)return this._execute(t,e),!0;return!1}_execute(e,t){e.idle=!1,e.workerPromise.then(r=>{t(r,()=>{let t=this._pendingActions.shift();t?this._execute(e,t):e.idle=!0})})}}class r extends t{constructor(e,t,i=r.DefaultOptions){super([]),this._maxWorkers=e,this._createWorkerAsync=t,this._options=i}push(e){if(!this._executeOnIdleWorker(e))if(this._workerInfos.length<this._maxWorkers){let t={workerPromise:this._createWorkerAsync(),idle:!1};this._workerInfos.push(t),this._execute(t,e)}else this._pendingActions.push(e)}_execute(e,t){e.timeoutId&&(clearTimeout(e.timeoutId),delete e.timeoutId),super._execute(e,(r,i)=>{t(r,()=>{i(),e.idle&&(e.timeoutId=setTimeout(()=>{e.workerPromise.then(e=>{e.terminate()});let t=this._workerInfos.indexOf(e);-1!==t&&this._workerInfos.splice(t,1)},this._options.idleTimeElapsedBeforeRelease))})})}}r.DefaultOptions={idleTimeElapsedBeforeRelease:1e3},e.s(["AutoReleaseWorkerPool",0,r])},3578,e=>{"use strict";var t=e.i(69400),r=e.i(16347),i=e.i(13035),s=e.i(64831),n=e.i(6252),a=e.i(25343),o=e.i(41041),l=e.i(44520);class c extends i.AbstractMesh{constructor(e,t){for(const r of(super(e,t.getScene()),this._indexInSourceMeshInstanceArray=-1,this._distanceToCamera=0,t.addInstance(this),this._sourceMesh=t,this._unIndexed=t._unIndexed,this.position.copyFrom(t.position),this.rotation.copyFrom(t.rotation),this.scaling.copyFrom(t.scaling),t.rotationQuaternion&&(this.rotationQuaternion=t.rotationQuaternion.clone()),this.animations=t.animations.slice(),t.getAnimationRanges()))null!=r&&this.createAnimationRange(r.name,r.from,r.to);if(this.infiniteDistance=t.infiniteDistance,this.setPivotMatrix(t.getPivotMatrix()),t.skeleton||t.morphTargetManager||!t.hasBoundingInfo)this.refreshBoundingInfo(!0,!0);else{const e=t.getBoundingInfo();this.buildBoundingInfo(e.minimum,e.maximum)}this._syncSubMeshes()}getClassName(){return"InstancedMesh"}get lightSources(){return this._sourceMesh._lightSources}_resyncLightSources(){}_resyncLightSource(){}_removeLightSource(){}get receiveShadows(){return this._sourceMesh.receiveShadows}set receiveShadows(e){this._sourceMesh?.receiveShadows!==e&&r.Logger.Warn("Setting receiveShadows on an instanced mesh has no effect")}get material(){return this._sourceMesh.material}set material(e){this._sourceMesh?.material!==e&&r.Logger.Warn("Setting material on an instanced mesh has no effect")}get visibility(){return this._sourceMesh.visibility}set visibility(e){this._sourceMesh?.visibility!==e&&r.Logger.Warn("Setting visibility on an instanced mesh has no effect")}get skeleton(){return this._sourceMesh.skeleton}set skeleton(e){this._sourceMesh?.skeleton!==e&&r.Logger.Warn("Setting skeleton on an instanced mesh has no effect")}get renderingGroupId(){return this._sourceMesh.renderingGroupId}set renderingGroupId(e){this._sourceMesh&&e!==this._sourceMesh.renderingGroupId&&r.Logger.Warn("Note - setting renderingGroupId of an instanced mesh has no effect on the scene")}getTotalVertices(){return this._sourceMesh?this._sourceMesh.getTotalVertices():0}getTotalIndices(){return this._sourceMesh.getTotalIndices()}get sourceMesh(){return this._sourceMesh}get geometry(){return this._sourceMesh._geometry}createInstance(e){return this._sourceMesh.createInstance(e)}isReady(e=!1){return this._sourceMesh.isReady(e,!0)}getVerticesData(e,t,r){return this._sourceMesh.getVerticesData(e,t,r)}copyVerticesData(e,t){this._sourceMesh.copyVerticesData(e,t)}getVertexBuffer(e,t){return this._sourceMesh.getVertexBuffer(e,t)}setVerticesData(e,t,r,i){return this.sourceMesh&&this.sourceMesh.setVerticesData(e,t,r,i),this.sourceMesh}updateVerticesData(e,t,r,i){return this.sourceMesh&&this.sourceMesh.updateVerticesData(e,t,r,i),this.sourceMesh}setIndices(e,t=null){return this.sourceMesh&&this.sourceMesh.setIndices(e,t),this.sourceMesh}isVerticesDataPresent(e){return this._sourceMesh.isVerticesDataPresent(e)}getIndices(){return this._sourceMesh.getIndices()}get _positions(){return this._sourceMesh._positions}refreshBoundingInfo(e=!1,t=!1){if(this.hasBoundingInfo&&this.getBoundingInfo().isLocked)return this;let r=this._sourceMesh.geometry?this._sourceMesh.geometry.boundingBias:null;return this._refreshBoundingInfo(this._sourceMesh._getData("object"==typeof e?e:{applySkeleton:e,applyMorph:t},null,o.VertexBuffer.PositionKind),r),this}_preActivate(){return this._currentLOD&&this._currentLOD._preActivate(),this}_activate(e,t){if(super._activate(e,t),this._sourceMesh.subMeshes||r.Logger.Warn("Instances should only be created for meshes with geometry."),this._currentLOD){if(this._currentLOD._getWorldMatrixDeterminant()>=0!=this._getWorldMatrixDeterminant()>=0)return this._internalAbstractMeshDataInfo._actAsRegularMesh=!0,!0;if(this._internalAbstractMeshDataInfo._actAsRegularMesh=!1,this._currentLOD._registerInstanceForRenderId(this,e),t){if(!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate=!0,!0}else if(!this._currentLOD._internalAbstractMeshDataInfo._isActive)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances=!0,!0}return!1}_postActivate(){this._sourceMesh.edgesShareWithInstances&&this._sourceMesh._edgesRenderer&&this._sourceMesh._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup?(this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer),this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix())):this._edgesRenderer&&this._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup&&this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer)}getWorldMatrix(){if(this._currentLOD&&this._currentLOD!==this._sourceMesh&&this._currentLOD.billboardMode!==a.TransformNode.BILLBOARDMODE_NONE&&this._currentLOD._masterMesh!==this){this._billboardWorldMatrix||(this._billboardWorldMatrix=new t.Matrix);let e=this._currentLOD._masterMesh;return this._currentLOD._masterMesh=this,t.TmpVectors.Vector3[7].copyFrom(this._currentLOD.position),this._currentLOD.position.set(0,0,0),this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(!0)),this._currentLOD.position.copyFrom(t.TmpVectors.Vector3[7]),this._currentLOD._masterMesh=e,this._billboardWorldMatrix}return super.getWorldMatrix()}get isAnInstance(){return!0}getLOD(e){if(!e)return this;let t=this.sourceMesh.getLODLevels();if(t&&0!==t.length){let t=this.getBoundingInfo();this._currentLOD=this.sourceMesh.getLOD(e,t.boundingSphere)}else this._currentLOD=this.sourceMesh;return this._currentLOD}_preActivateForIntermediateRendering(e){return this.sourceMesh._preActivateForIntermediateRendering(e)}_syncSubMeshes(){if(this.releaseSubMeshes(),this._sourceMesh.subMeshes)for(let e=0;e<this._sourceMesh.subMeshes.length;e++)this._sourceMesh.subMeshes[e].clone(this,this._sourceMesh);return this}_generatePointsArray(){return this._sourceMesh._generatePointsArray()}_updateBoundingInfo(){return this.hasBoundingInfo?this.getBoundingInfo().update(this.worldMatrixFromCache):this.buildBoundingInfo(this.absolutePosition,this.absolutePosition,this.worldMatrixFromCache),this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache),this}clone(e,t=null,r,i){let s=(i||this._sourceMesh).createInstance(e);if(n.DeepCopier.DeepCopy(this,s,["name","subMeshes","uniqueId","parent","lightSources","receiveShadows","material","visibility","skeleton","sourceMesh","isAnInstance","facetNb","isFacetDataEnabled","isBlocked","useBones","hasInstances","collider","edgesRenderer","forward","up","right","absolutePosition","absoluteScaling","absoluteRotationQuaternion","isWorldMatrixFrozen","nonUniformScaling","behaviors","worldMatrixFromCache","hasThinInstances","hasBoundingInfo","geometry"],[]),t&&(s.parent=t),!r)for(let e=0;e<this.getScene().meshes.length;e++){let t=this.getScene().meshes[e];t.parent===this&&t.clone(t.name,s)}return s.computeWorldMatrix(!0),this.onClonedObservable.notifyObservers(s),s}dispose(e,t=!1){this._sourceMesh.removeInstance(this),super.dispose(e,t)}_serializeAsParent(e){super._serializeAsParent(e),e.parentId=this._sourceMesh.uniqueId,e.parentInstanceIndex=this._indexInSourceMeshInstanceArray}instantiateHierarchy(e=null,t,r){let i=this.clone("Clone of "+(this.name||this.id),e||this.parent,!0,t&&t.newSourcedMesh);for(let e of(i&&r&&r(this,i),this.getChildTransformNodes(!0)))e.instantiateHierarchy(i,t,r);return i}}let h=!1;e.s(["InstancedMesh",0,c,"RegisterInstancedMesh",0,function(){h||(h=!0,s.Mesh._instancedMeshFactory=(e,t)=>{let r=new c(e,t);if(t.instancedBuffers)for(let e in r.instancedBuffers={},t.instancedBuffers)r.instancedBuffers[e]=t.instancedBuffers[e];return r},s.Mesh.prototype.registerInstancedBuffer=function(e,t){if(this._userInstancedBuffersStorage?.vertexBuffers[e]?.dispose(),this._userInstancedBuffersStorage?.renderPasses)for(let t in this._userInstancedBuffersStorage.renderPasses){let r=this._userInstancedBuffersStorage.renderPasses[t];r[e]?.dispose(),delete r[e]}if(!this.instancedBuffers)for(let e of(this.instancedBuffers={},this.instances))e.instancedBuffers={};for(let r of(this._userInstancedBuffersStorage||(this._userInstancedBuffersStorage={data:{},vertexBuffers:{},strides:{},sizes:{},vertexArrayObjects:this.getEngine().getCaps().vertexArrayObject?{}:void 0}),this.instancedBuffers[e]=null,this._userInstancedBuffersStorage.strides[e]=t,this._userInstancedBuffersStorage.sizes[e]=32*t,this._userInstancedBuffersStorage.data[e]=new Float32Array(this._userInstancedBuffersStorage.sizes[e]),this._userInstancedBuffersStorage.vertexBuffers[e]=this._instanceDataStorage.useMonoDataStorageRenderPass?new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[e],e,!0,!1,t,!0):null,this.instances))r.instancedBuffers[e]=null;this._invalidateInstanceVertexArrayObject(),this._markSubMeshesAsAttributesDirty()},s.Mesh.prototype._processInstancedBuffers=function(e,t){let r,i=e?e.length:0,s=!this._instanceDataStorage.useMonoDataStorageRenderPass;if(s){let e=this._instanceDataStorage.engine.currentRenderPassId;this._userInstancedBuffersStorage.renderPasses||(this._userInstancedBuffersStorage.renderPasses={}),this._userInstancedBuffersStorage.renderPasses[e]||(this._userInstancedBuffersStorage.renderPasses[e]={}),r=this._userInstancedBuffersStorage.renderPasses[e]}for(let n in this.instancedBuffers){let a=this._userInstancedBuffersStorage.sizes[n],l=this._userInstancedBuffersStorage.strides[n],c=(i+1)*l;for(;a<c;)a*=2;this._userInstancedBuffersStorage.data[n].length!=a&&(this._userInstancedBuffersStorage.data[n]=new Float32Array(a),this._userInstancedBuffersStorage.sizes[n]=a,s?r[n]&&(r[n].dispose(),r[n]=null):this._userInstancedBuffersStorage.vertexBuffers[n]&&(this._userInstancedBuffersStorage.vertexBuffers[n].dispose(),this._userInstancedBuffersStorage.vertexBuffers[n]=null));let h=this._userInstancedBuffersStorage.data[n],u=0;if(t){let e=this.instancedBuffers[n]??0;e.toArray?e.toArray(h,u):e.copyToArray?e.copyToArray(h,u):h[u]=e,u+=l}for(let t=0;t<i;t++){let r=e[t].instancedBuffers[n]??0;r.toArray?r.toArray(h,u):r.copyToArray?r.copyToArray(h,u):h[u]=r,u+=l}s?r[n]?r[n].updateDirectly(h,0):(r[n]=new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[n],n,!0,!1,l,!0),this._invalidateInstanceVertexArrayObject()):this._userInstancedBuffersStorage.vertexBuffers[n]?this._userInstancedBuffersStorage.vertexBuffers[n].updateDirectly(h,0):(this._userInstancedBuffersStorage.vertexBuffers[n]=new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[n],n,!0,!1,l,!0),this._invalidateInstanceVertexArrayObject())}},s.Mesh.prototype._invalidateInstanceVertexArrayObject=function(){if(this._userInstancedBuffersStorage&&void 0!==this._userInstancedBuffersStorage.vertexArrayObjects){for(let e in this._userInstancedBuffersStorage.vertexArrayObjects)this.getEngine().releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[e]);this._userInstancedBuffersStorage.vertexArrayObjects={}}},s.Mesh.prototype._disposeInstanceSpecificData=function(){for(let e in this._instanceDataStorage.renderPasses)this._instanceDataStorage.renderPasses[e].instancesBuffer?.dispose();for(this._instanceDataStorage.renderPasses={},this._instanceDataStorage.dataStorageRenderPass?.instancesBuffer?.dispose();this.instances.length;)this.instances[0].dispose();for(let e in this.instancedBuffers)this._userInstancedBuffersStorage.vertexBuffers[e]&&this._userInstancedBuffersStorage.vertexBuffers[e].dispose();this._invalidateInstanceVertexArrayObject(),this.instancedBuffers={}},(0,l.RegisterClass)("BABYLON.InstancedMesh",c))}])},21758,27480,68056,e=>{"use strict";e.s([],27480);var t=e.i(69400),r=e.i(16347),i=e.i(90025),s=e.i(64831),n=e.i(41041);let a="bakedVertexAnimationSettingsInstanced";function o(e){let t=e.bakedVertexAnimationManager?.texture?.getInternalTexture()?._bufferView;return t instanceof Float32Array||t instanceof Uint16Array}let l=!1;function c(){l||(l=!0,s.Mesh.prototype.thinInstanceAdd=function(e,t=!0){if(!this.getScene().getEngine().getCaps().instancedArrays)return r.Logger.Error("Thin Instances are not supported on this device as Instanced Array extension not supported"),-1;this._thinInstanceUpdateBufferSize("matrix",Array.isArray(e)?e.length:1);let i=this._thinInstanceDataStorage.instancesCount;if(Array.isArray(e))for(let r=0;r<e.length;++r)this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++,e[r],r===e.length-1&&t);else this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++,e,t);return i},s.Mesh.prototype.thinInstanceAddSelf=function(e=!0){return this.thinInstanceAdd(t.Matrix.IdentityReadOnly,e)},s.Mesh.prototype.thinInstanceRegisterAttribute=function(e,t){e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),this.removeVerticesData(e),this._thinInstanceInitializeUserStorage(),this._userThinInstanceBuffersStorage.strides[e]=t,this._userThinInstanceBuffersStorage.sizes[e]=t*Math.max(32,this._thinInstanceDataStorage.instancesCount),this._userThinInstanceBuffersStorage.data[e]=new Float32Array(this._userThinInstanceBuffersStorage.sizes[e]),this._userThinInstanceBuffersStorage.vertexBuffers[e]=new n.VertexBuffer(this.getEngine(),this._userThinInstanceBuffersStorage.data[e],e,!0,!1,t,!0),this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[e])},s.Mesh.prototype.thinInstanceSetMatrixAt=function(e,t,r=!0){if(!this._thinInstanceDataStorage.matrixData||e>=this._thinInstanceDataStorage.instancesCount)return!1;let i=this._thinInstanceDataStorage.matrixData;return t.copyToArray(i,16*e),this._thinInstanceDataStorage.worldMatrices&&(this._thinInstanceDataStorage.worldMatrices[e]=t),r&&(this.thinInstanceBufferUpdated("matrix"),this.doNotSyncBoundingInfo||this.thinInstanceRefreshBoundingInfo(!1)),!0},s.Mesh.prototype.thinInstanceSetAttributeAt=function(e,t,r,i=!0){return e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),!!this._userThinInstanceBuffersStorage&&!!this._userThinInstanceBuffersStorage.data[e]&&!(t>=this._thinInstanceDataStorage.instancesCount)&&(this._thinInstanceUpdateBufferSize(e,0),this._userThinInstanceBuffersStorage.data[e].set(r,t*this._userThinInstanceBuffersStorage.strides[e]),i&&this.thinInstanceBufferUpdated(e),!0)},Object.defineProperty(s.Mesh.prototype,"thinInstanceCount",{get:function(){return this._thinInstanceDataStorage.instancesCount},set:function(e){let t=this._thinInstanceDataStorage.matrixData??this.source?._thinInstanceDataStorage.matrixData;e<=(t?t.length/16:0)&&(this._thinInstanceDataStorage.instancesCount=e)},enumerable:!0,configurable:!0}),s.Mesh.prototype._thinInstanceCreateMatrixBuffer=function(e,t,r=!0){let i=new n.Buffer(this.getEngine(),t,!r,16,!1,!0);for(let t=0;t<4;t++)this.setVerticesBuffer(i.createVertexBuffer(e+t,4*t,4));return i},s.Mesh.prototype.thinInstanceSetBuffer=function(e,t,r=0,i=!0){if(r=r||16,"matrix"===e)this._thinInstanceDataStorage.matrixBuffer?.dispose(),this._thinInstanceDataStorage.matrixBuffer=null,this._thinInstanceDataStorage.matrixBufferSize=t?t.length:32*r,this._thinInstanceDataStorage.matrixData=t,this._thinInstanceDataStorage.worldMatrices=null,null!==t?(this._thinInstanceDataStorage.instancesCount=t.length/r,this._thinInstanceDataStorage.matrixBuffer=this._thinInstanceCreateMatrixBuffer("world",t,i),this.doNotSyncBoundingInfo||this.thinInstanceRefreshBoundingInfo(!1)):(this._thinInstanceDataStorage.instancesCount=0,this.doNotSyncBoundingInfo||this.refreshBoundingInfo());else if("previousMatrix"===e)this._thinInstanceDataStorage.previousMatrixBuffer?.dispose(),this._thinInstanceDataStorage.previousMatrixBuffer=null,this._thinInstanceDataStorage.previousMatrixData=t,null!==t&&(this._thinInstanceDataStorage.previousMatrixBuffer=this._thinInstanceCreateMatrixBuffer("previousWorld",t,i));else if("splatIndex"===e&&t){this._thinInstanceInitializeUserStorage(),this._thinInstanceDataStorage.instancesCount=t.length/r,this._userThinInstanceBuffersStorage.data[e]=t,this._userThinInstanceBuffersStorage.strides[e]=r,this._userThinInstanceBuffersStorage.sizes[e]=t.length;let i=new n.Buffer(this.getEngine(),t,!0,16,!1,!0);this._thinInstanceDataStorage.matrixBuffer=i;for(let t=0;t<4;t++)this.setVerticesBuffer(i.createVertexBuffer(e+t,4*t,4))}else e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),null===t?this._userThinInstanceBuffersStorage?.data[e]&&(this.removeVerticesData(e),delete this._userThinInstanceBuffersStorage.data[e],delete this._userThinInstanceBuffersStorage.strides[e],delete this._userThinInstanceBuffersStorage.sizes[e],delete this._userThinInstanceBuffersStorage.vertexBuffers[e]):(this._thinInstanceInitializeUserStorage(),this._userThinInstanceBuffersStorage.data[e]=t,this._userThinInstanceBuffersStorage.strides[e]=r,this._userThinInstanceBuffersStorage.sizes[e]=t.length,this._userThinInstanceBuffersStorage.vertexBuffers[e]=new n.VertexBuffer(this.getEngine(),t,e,!i,!1,r,!0),this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[e]))},s.Mesh.prototype.thinInstanceBufferUpdated=function(e){"matrix"===e?(this.thinInstanceAllowAutomaticStaticBufferRecreation&&this._thinInstanceDataStorage.matrixBuffer&&!this._thinInstanceDataStorage.matrixBuffer.isUpdatable()&&this._thinInstanceRecreateBuffer(e),this._thinInstanceDataStorage.matrixBuffer?.updateDirectly(this._thinInstanceDataStorage.matrixData,0,this._thinInstanceDataStorage.instancesCount)):"previousMatrix"===e?(this.thinInstanceAllowAutomaticStaticBufferRecreation&&this._thinInstanceDataStorage.previousMatrixBuffer&&!this._thinInstanceDataStorage.previousMatrixBuffer.isUpdatable()&&this._thinInstanceRecreateBuffer(e),this._thinInstanceDataStorage.previousMatrixBuffer?.updateDirectly(this._thinInstanceDataStorage.previousMatrixData,0,this._thinInstanceDataStorage.instancesCount)):"splatIndex"===e?this._thinInstanceDataStorage.matrixBuffer?.updateDirectly(this._userThinInstanceBuffersStorage.data[e],0,this._thinInstanceDataStorage.instancesCount):(e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),this._userThinInstanceBuffersStorage?.vertexBuffers[e]&&(this.thinInstanceAllowAutomaticStaticBufferRecreation&&!this._userThinInstanceBuffersStorage.vertexBuffers[e].isUpdatable()&&this._thinInstanceRecreateBuffer(e),this._userThinInstanceBuffersStorage.vertexBuffers[e].updateDirectly(this._userThinInstanceBuffersStorage.data[e],0)))},s.Mesh.prototype.thinInstancePartialBufferUpdate=function(e,t,r){if("matrix"===e)this._thinInstanceDataStorage.matrixBuffer&&("number"==typeof t?this._thinInstanceDataStorage.matrixBuffer.updateDirectly(new Float32Array(this._thinInstanceDataStorage.matrixData.buffer,this._thinInstanceDataStorage.matrixData.byteOffset+16*r*Float32Array.BYTES_PER_ELEMENT,16*t),16*r):this._thinInstanceDataStorage.matrixBuffer.updateDirectly(t,r));else if(e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),this._userThinInstanceBuffersStorage?.vertexBuffers[e]){let i=this._userThinInstanceBuffersStorage.vertexBuffers[e];if("number"==typeof t){let i=new Float32Array(this._userThinInstanceBuffersStorage.data[e].buffer,this._userThinInstanceBuffersStorage.data[e].byteOffset+r*this._userThinInstanceBuffersStorage.strides[e]*Float32Array.BYTES_PER_ELEMENT,t*this._userThinInstanceBuffersStorage.strides[e]);this._userThinInstanceBuffersStorage.vertexBuffers[e].updateDirectly(i,r*this._userThinInstanceBuffersStorage.strides[e])}else i.updateDirectly(t,r)}},s.Mesh.prototype.thinInstanceGetWorldMatrices=function(){if(!this._thinInstanceDataStorage.matrixData||!this._thinInstanceDataStorage.matrixBuffer)return[];let e=this._thinInstanceDataStorage.matrixData;if(!this._thinInstanceDataStorage.worldMatrices){this._thinInstanceDataStorage.worldMatrices=[];for(let r=0;r<this._thinInstanceDataStorage.instancesCount;++r)this._thinInstanceDataStorage.worldMatrices[r]=t.Matrix.FromArray(e,16*r)}return this._thinInstanceDataStorage.worldMatrices},s.Mesh.prototype.thinInstanceRefreshBoundingInfo=function(e=!1,r=!1,s=!1,l=!1){if(!this._thinInstanceDataStorage.matrixData||!this._thinInstanceDataStorage.matrixBuffer)return;let c=this._thinInstanceDataStorage.boundingVectors;if(e||!this.rawBoundingInfo){if(c.length=0,l&&function(e,r,s){let l=e._userThinInstanceBuffersStorage,c=l?.data[a],h=l?.strides[a];if(!c||!h||h<4||!o(e))return!1;let u=e._thinInstanceDataStorage.matrixData;if(!u)return!1;let d={},f=t.TmpVectors.Vector4[0],m=t.TmpVectors.Vector3[1],p=t.TmpVectors.Vector3[2],_=t.TmpVectors.Vector3[3],g=t.TmpVectors.Vector3[4],T=t.TmpVectors.Vector3[5],I=t.TmpVectors.Vector3[6],y=t.TmpVectors.Matrix[2],E=e.geometry?e.geometry.boundingBias:null,x=e.getTotalVertices();m.setAll(1/0),p.setAll(-1/0),_.setAll(1/0),g.setAll(-1/0);for(let r=0;r<e._thinInstanceDataStorage.instancesCount;++r){let i=r*h;f.set(c[i],c[i+1],c[i+2],c[i+3]);let a=e._getData({applyMorph:s,applyBakedVertexAnimation:!0,bakedVertexAnimationSettings:f,updatePositionsArray:!1,cache:d},null,n.VertexBuffer.PositionKind);if(!a)return!1;T.setAll(1/0),I.setAll(-1/0);for(let e=0;e<3*x;e+=3){let t=a[e],r=a[e+1],i=a[e+2];t<T.x&&(T.x=t),r<T.y&&(T.y=r),i<T.z&&(T.z=i),t>I.x&&(I.x=t),r>I.y&&(I.y=r),i>I.z&&(I.z=i)}E&&(T.x-=T.x*E.x+E.y,T.y-=T.y*E.x+E.y,T.z-=T.z*E.x+E.y,I.x+=I.x*E.x+E.y,I.y+=I.y*E.x+E.y,I.z+=I.z*E.x+E.y),m.minimizeInPlace(T),p.maximizeInPlace(I),t.Matrix.FromArrayToRef(u,16*r,y),E?function(e,r,i,s,n){let a=t.TmpVectors.Vector3[7],o=t.TmpVectors.Vector3[8];for(let l=0;l<2;++l)for(let c=0;c<2;++c)for(let h=0;h<2;++h)a.set(l?r.x:e.x,c?r.y:e.y,h?r.z:e.z),t.Vector3.TransformCoordinatesToRef(a,i,o),s.minimizeInPlace(o),n.maximizeInPlace(o)}(T,I,y,_,g):function(e,r,i,s,n){let a=t.TmpVectors.Vector3[7];for(let o=0;o<3*r;o+=3)t.Vector3.TransformCoordinatesFromFloatsToRef(e[o],e[o+1],e[o+2],i,a),s.minimizeInPlace(a),n.maximizeInPlace(a)}(a,x,y,_,g)}if(!isFinite(m.x)||!isFinite(_.x))return!1;e.getBoundingInfo().reConstruct(_,g),e.rawBoundingInfo=new i.BoundingInfo(m,p);var S=e.rawBoundingInfo;r.length=0;for(let e=0;e<S.boundingBox.vectors.length;++e)r.push(S.boundingBox.vectors[e].clone());return e._updateBoundingInfo(),!0}(this,c,s))return;l&&this.bakedVertexAnimationManager?.isEnabled&&o(this)?this.refreshBoundingInfo({applySkeleton:r,applyMorph:s,applyBakedVertexAnimation:!0,updatePositionsArray:!1}):this.refreshBoundingInfo(r,s);let e=this.getBoundingInfo();this.rawBoundingInfo=new i.BoundingInfo(e.minimum,e.maximum)}let h=this.getBoundingInfo(),u=this._thinInstanceDataStorage.matrixData;if(0===c.length)for(let e=0;e<h.boundingBox.vectors.length;++e)c.push(h.boundingBox.vectors[e].clone());t.TmpVectors.Vector3[0].setAll(1/0),t.TmpVectors.Vector3[1].setAll(-1/0);for(let e=0;e<this._thinInstanceDataStorage.instancesCount;++e){t.Matrix.FromArrayToRef(u,16*e,t.TmpVectors.Matrix[0]);for(let e=0;e<c.length;++e)t.Vector3.TransformCoordinatesToRef(c[e],t.TmpVectors.Matrix[0],t.TmpVectors.Vector3[2]),t.TmpVectors.Vector3[0].minimizeInPlace(t.TmpVectors.Vector3[2]),t.TmpVectors.Vector3[1].maximizeInPlace(t.TmpVectors.Vector3[2])}h.reConstruct(t.TmpVectors.Vector3[0],t.TmpVectors.Vector3[1]),this._updateBoundingInfo()},s.Mesh.prototype._thinInstanceRecreateBuffer=function(e,t=!0){"matrix"===e?(this._thinInstanceDataStorage.matrixBuffer?.dispose(),this._thinInstanceDataStorage.matrixBuffer=this._thinInstanceCreateMatrixBuffer("world",this._thinInstanceDataStorage.matrixData,t)):"previousMatrix"===e?this._scene.needsPreviousWorldMatrices&&(this._thinInstanceDataStorage.previousMatrixBuffer?.dispose(),this._thinInstanceDataStorage.previousMatrixBuffer=this._thinInstanceCreateMatrixBuffer("previousWorld",this._thinInstanceDataStorage.previousMatrixData??this._thinInstanceDataStorage.matrixData,t)):(e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind),this._userThinInstanceBuffersStorage.vertexBuffers[e]?.dispose(),this._userThinInstanceBuffersStorage.vertexBuffers[e]=new n.VertexBuffer(this.getEngine(),this._userThinInstanceBuffersStorage.data[e],e,!t,!1,this._userThinInstanceBuffersStorage.strides[e],!0),this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[e]))},s.Mesh.prototype._thinInstanceUpdateBufferSize=function(e,t=1){e===n.VertexBuffer.ColorKind&&(e=n.VertexBuffer.ColorInstanceKind);let r="matrix"===e;if(!r&&(!this._userThinInstanceBuffersStorage||!this._userThinInstanceBuffersStorage.strides[e]))return;let i=r?16:this._userThinInstanceBuffersStorage.strides[e],s=r?this._thinInstanceDataStorage.matrixBufferSize:this._userThinInstanceBuffersStorage.sizes[e],a=r?this._thinInstanceDataStorage.matrixData:this._userThinInstanceBuffersStorage.data[e],o=(this._thinInstanceDataStorage.instancesCount+t)*i,l=s;for(;l<o;)l*=2;if(!a||s!=l){if(a){let e=new Float32Array(l);e.set(a,0),a=e}else a=new Float32Array(l);r?(this._thinInstanceDataStorage.matrixBuffer?.dispose(),this._thinInstanceDataStorage.matrixBuffer=this._thinInstanceCreateMatrixBuffer("world",a,!1),this._thinInstanceDataStorage.matrixData=a,this._thinInstanceDataStorage.matrixBufferSize=l,this._scene.needsPreviousWorldMatrices&&!this._thinInstanceDataStorage.previousMatrixData&&(this._thinInstanceDataStorage.previousMatrixBuffer?.dispose(),this._thinInstanceDataStorage.previousMatrixBuffer=this._thinInstanceCreateMatrixBuffer("previousWorld",a,!1))):(this._userThinInstanceBuffersStorage.vertexBuffers[e]?.dispose(),this._userThinInstanceBuffersStorage.data[e]=a,this._userThinInstanceBuffersStorage.sizes[e]=l,this._userThinInstanceBuffersStorage.vertexBuffers[e]=new n.VertexBuffer(this.getEngine(),a,e,!0,!1,i,!0),this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[e]))}},s.Mesh.prototype._thinInstanceInitializeUserStorage=function(){this._userThinInstanceBuffersStorage||(this._userThinInstanceBuffersStorage={data:{},sizes:{},vertexBuffers:{},strides:{}})},s.Mesh.prototype._disposeThinInstanceSpecificData=function(){this._thinInstanceDataStorage?.matrixBuffer&&(this._thinInstanceDataStorage.matrixBuffer.dispose(),this._thinInstanceDataStorage.matrixBuffer=null),this._thinInstanceDataStorage?.previousMatrixBuffer&&(this._thinInstanceDataStorage.previousMatrixBuffer.dispose(),this._thinInstanceDataStorage.previousMatrixBuffer=null)})}e.s(["RegisterThinInstanceMesh",0,c],68056),c(),e.s([],21758)},88,e=>{"use strict";var t=e.i(69400);let r=[Math.sqrt(1/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(3/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(15/(4*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(5/(16*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(15/(16*Math.PI))],i=[()=>1,e=>e.y,e=>e.z,e=>e.x,e=>e.x*e.y,e=>e.y*e.z,e=>3*e.z*e.z-1,e=>e.x*e.z,e=>e.x*e.x-e.y*e.y],s=(e,t)=>r[e]*i[e](t),n=[Math.PI,2*Math.PI/3,2*Math.PI/3,2*Math.PI/3,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4];class a{constructor(){this.preScaled=!1,this.l00=t.Vector3.Zero(),this.l1_1=t.Vector3.Zero(),this.l10=t.Vector3.Zero(),this.l11=t.Vector3.Zero(),this.l2_2=t.Vector3.Zero(),this.l2_1=t.Vector3.Zero(),this.l20=t.Vector3.Zero(),this.l21=t.Vector3.Zero(),this.l22=t.Vector3.Zero()}addLight(e,r,i){t.TmpVectors.Vector3[0].set(r.r,r.g,r.b);let n=t.TmpVectors.Vector3[0],a=t.TmpVectors.Vector3[1];n.scaleToRef(i,a),a.scaleToRef(s(0,e),t.TmpVectors.Vector3[2]),this.l00.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(1,e),t.TmpVectors.Vector3[2]),this.l1_1.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(2,e),t.TmpVectors.Vector3[2]),this.l10.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(3,e),t.TmpVectors.Vector3[2]),this.l11.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(4,e),t.TmpVectors.Vector3[2]),this.l2_2.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(5,e),t.TmpVectors.Vector3[2]),this.l2_1.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(6,e),t.TmpVectors.Vector3[2]),this.l20.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(7,e),t.TmpVectors.Vector3[2]),this.l21.addInPlace(t.TmpVectors.Vector3[2]),a.scaleToRef(s(8,e),t.TmpVectors.Vector3[2]),this.l22.addInPlace(t.TmpVectors.Vector3[2])}scaleInPlace(e){this.l00.scaleInPlace(e),this.l1_1.scaleInPlace(e),this.l10.scaleInPlace(e),this.l11.scaleInPlace(e),this.l2_2.scaleInPlace(e),this.l2_1.scaleInPlace(e),this.l20.scaleInPlace(e),this.l21.scaleInPlace(e),this.l22.scaleInPlace(e)}convertIncidentRadianceToIrradiance(){this.l00.scaleInPlace(n[0]),this.l1_1.scaleInPlace(n[1]),this.l10.scaleInPlace(n[2]),this.l11.scaleInPlace(n[3]),this.l2_2.scaleInPlace(n[4]),this.l2_1.scaleInPlace(n[5]),this.l20.scaleInPlace(n[6]),this.l21.scaleInPlace(n[7]),this.l22.scaleInPlace(n[8])}convertIrradianceToLambertianRadiance(){this.scaleInPlace(1/Math.PI)}preScaleForRendering(){this.preScaled=!0,this.l00.scaleInPlace(r[0]),this.l1_1.scaleInPlace(r[1]),this.l10.scaleInPlace(r[2]),this.l11.scaleInPlace(r[3]),this.l2_2.scaleInPlace(r[4]),this.l2_1.scaleInPlace(r[5]),this.l20.scaleInPlace(r[6]),this.l21.scaleInPlace(r[7]),this.l22.scaleInPlace(r[8])}updateFromArray(e){return t.Vector3.FromArrayToRef(e[0],0,this.l00),t.Vector3.FromArrayToRef(e[1],0,this.l1_1),t.Vector3.FromArrayToRef(e[2],0,this.l10),t.Vector3.FromArrayToRef(e[3],0,this.l11),t.Vector3.FromArrayToRef(e[4],0,this.l2_2),t.Vector3.FromArrayToRef(e[5],0,this.l2_1),t.Vector3.FromArrayToRef(e[6],0,this.l20),t.Vector3.FromArrayToRef(e[7],0,this.l21),t.Vector3.FromArrayToRef(e[8],0,this.l22),this}updateFromFloatsArray(e){return t.Vector3.FromFloatsToRef(e[0],e[1],e[2],this.l00),t.Vector3.FromFloatsToRef(e[3],e[4],e[5],this.l1_1),t.Vector3.FromFloatsToRef(e[6],e[7],e[8],this.l10),t.Vector3.FromFloatsToRef(e[9],e[10],e[11],this.l11),t.Vector3.FromFloatsToRef(e[12],e[13],e[14],this.l2_2),t.Vector3.FromFloatsToRef(e[15],e[16],e[17],this.l2_1),t.Vector3.FromFloatsToRef(e[18],e[19],e[20],this.l20),t.Vector3.FromFloatsToRef(e[21],e[22],e[23],this.l21),t.Vector3.FromFloatsToRef(e[24],e[25],e[26],this.l22),this}static FromArray(e){return new a().updateFromArray(e)}static FromPolynomial(e){let t=new a;return t.l00=e.xx.scale(.376127).add(e.yy.scale(.376127)).add(e.zz.scale(.376126)),t.l1_1=e.y.scale(.977204),t.l10=e.z.scale(.977204),t.l11=e.x.scale(.977204),t.l2_2=e.xy.scale(1.16538),t.l2_1=e.yz.scale(1.16538),t.l20=e.zz.scale(1.34567).subtract(e.xx.scale(.672834)).subtract(e.yy.scale(.672834)),t.l21=e.zx.scale(1.16538),t.l22=e.xx.scale(1.16538).subtract(e.yy.scale(1.16538)),t.l1_1.scaleInPlace(-1),t.l11.scaleInPlace(-1),t.l2_1.scaleInPlace(-1),t.l21.scaleInPlace(-1),t.scaleInPlace(Math.PI),t}}class o{constructor(){this.x=t.Vector3.Zero(),this.y=t.Vector3.Zero(),this.z=t.Vector3.Zero(),this.xx=t.Vector3.Zero(),this.yy=t.Vector3.Zero(),this.zz=t.Vector3.Zero(),this.xy=t.Vector3.Zero(),this.yz=t.Vector3.Zero(),this.zx=t.Vector3.Zero()}get preScaledHarmonics(){return this._harmonics||(this._harmonics=a.FromPolynomial(this)),this._harmonics.preScaled||this._harmonics.preScaleForRendering(),this._harmonics}addAmbient(e){t.TmpVectors.Vector3[0].copyFromFloats(e.r,e.g,e.b);let r=t.TmpVectors.Vector3[0];this.xx.addInPlace(r),this.yy.addInPlace(r),this.zz.addInPlace(r)}scaleInPlace(e){this.x.scaleInPlace(e),this.y.scaleInPlace(e),this.z.scaleInPlace(e),this.xx.scaleInPlace(e),this.yy.scaleInPlace(e),this.zz.scaleInPlace(e),this.yz.scaleInPlace(e),this.zx.scaleInPlace(e),this.xy.scaleInPlace(e)}updateFromHarmonics(e){return this._harmonics=e,this.x.copyFrom(e.l11),this.x.scaleInPlace(1.02333).scaleInPlace(-1),this.y.copyFrom(e.l1_1),this.y.scaleInPlace(1.02333).scaleInPlace(-1),this.z.copyFrom(e.l10),this.z.scaleInPlace(1.02333),this.xx.copyFrom(e.l00),t.TmpVectors.Vector3[0].copyFrom(e.l20).scaleInPlace(.247708),t.TmpVectors.Vector3[1].copyFrom(e.l22).scaleInPlace(.429043),this.xx.scaleInPlace(.886277).subtractInPlace(t.TmpVectors.Vector3[0]).addInPlace(t.TmpVectors.Vector3[1]),this.yy.copyFrom(e.l00),this.yy.scaleInPlace(.886277).subtractInPlace(t.TmpVectors.Vector3[0]).subtractInPlace(t.TmpVectors.Vector3[1]),this.zz.copyFrom(e.l00),t.TmpVectors.Vector3[0].copyFrom(e.l20).scaleInPlace(.495417),this.zz.scaleInPlace(.886277).addInPlace(t.TmpVectors.Vector3[0]),this.yz.copyFrom(e.l2_1),this.yz.scaleInPlace(.858086).scaleInPlace(-1),this.zx.copyFrom(e.l21),this.zx.scaleInPlace(.858086).scaleInPlace(-1),this.xy.copyFrom(e.l2_2),this.xy.scaleInPlace(.858086),this.scaleInPlace(1/Math.PI),this}static FromHarmonics(e){return new o().updateFromHarmonics(e)}static FromArray(e){let r=new o;return t.Vector3.FromArrayToRef(e[0],0,r.x),t.Vector3.FromArrayToRef(e[1],0,r.y),t.Vector3.FromArrayToRef(e[2],0,r.z),t.Vector3.FromArrayToRef(e[3],0,r.xx),t.Vector3.FromArrayToRef(e[4],0,r.yy),t.Vector3.FromArrayToRef(e[5],0,r.zz),t.Vector3.FromArrayToRef(e[6],0,r.yz),t.Vector3.FromArrayToRef(e[7],0,r.zx),t.Vector3.FromArrayToRef(e[8],0,r.xy),r}}e.s(["SphericalHarmonics",0,a,"SphericalPolynomial",0,o])},28854,e=>{"use strict";var t=e.i(16347);let r=new Map;function i(e,i){var s;s=e,r.delete(s)&&t.Logger.Warn(`Extension with the name '${e}' already exists`),r.set(e,i)}e.s(["_GetCompatibleTextureLoader",0,function(t,s){("image/ktx"===s||"image/ktx2"===s)&&(t=".ktx"),!r.has(t)&&(t.endsWith(".ies")&&i(".ies",async()=>await e.A(15999).then(e=>new e._IESTextureLoader)),t.endsWith(".dds")&&i(".dds",async()=>await e.A(83965).then(e=>new e._DDSTextureLoader)),t.endsWith(".basis")&&i(".basis",async()=>await e.A(43880).then(e=>new e._BasisTextureLoader)),t.endsWith(".env")&&i(".env",async()=>await e.A(3291).then(e=>new e._ENVTextureLoader)),t.endsWith(".hdr")&&i(".hdr",async()=>await e.A(44715).then(e=>new e._HDRTextureLoader)),(t.endsWith(".ktx")||t.endsWith(".ktx2"))&&(i(".ktx",async()=>await e.A(23789).then(e=>new e._KTXTextureLoader)),i(".ktx2",async()=>await e.A(23789).then(e=>new e._KTXTextureLoader))),t.endsWith(".tga")&&i(".tga",async()=>await e.A(43066).then(e=>new e._TGATextureLoader)),t.endsWith(".exr")&&i(".exr",async()=>await e.A(75542).then(e=>new e._ExrTextureLoader)));let n=r.get(t);return n?Promise.resolve(n(s)):null}])},74006,e=>{"use strict";var t=e.i(8636),r=e.i(16347),i=e.i(14958),s=e.i(80065),n=e.i(28854),a=e.i(51843);let o=!1;e.s(["RegisterAbstractEngineCubeTexture",0,function(){o||(o=!0,a.AbstractEngine.prototype._partialLoadFile=function(e,t,r,i,s=null){this._loadFile(e,e=>{r[t]=e,r._internalCount++,6===r._internalCount&&i(r)},void 0,void 0,!0,(e,t)=>{s&&e&&s(e.status+" "+e.statusText,t)})},a.AbstractEngine.prototype._cascadeLoadFiles=function(e,t,r,i=null){let s=[];s._internalCount=0;for(let e=0;e<6;e++)this._partialLoadFile(r[e],e,s,t,i)},a.AbstractEngine.prototype._cascadeLoadImgs=function(e,t,r,i,s=null,n){let a=[];a._internalCount=0;for(let o=0;o<6;o++)this._partialLoadImg(i[o],o,a,e,t,r,s,n)},a.AbstractEngine.prototype._partialLoadImg=function(e,t,r,n,a,o,l=null,c){let h=(0,s.RandomGUID)();(0,i.LoadImage)(e,e=>{r[t]=e,r._internalCount++,n&&n.removePendingData(h),6===r._internalCount&&o&&o(a,r)},(e,t)=>{n&&n.removePendingData(h),l&&l(e,t)},n?n.offlineProvider:null,c),n&&n.addPendingData(h)},a.AbstractEngine.prototype.createCubeTextureBase=function(e,i,s,a,o=null,l=null,c,h=null,u=!1,d=0,f=0,m=null,p=null,_=null,g=!1,T=null){let I,y,E=m||new t.InternalTexture(this,7);E.isCube=!0,E.url=e,E.generateMipMaps=!a,E._lodGenerationScale=d,E._lodGenerationOffset=f,E._useSRGBBuffer=!!g&&this._caps.supportSRGBBuffers&&(this.version>1||this.isWebGPU||!!a),E!==m&&(E.label=e.substring(0,60)),this._doNotHandleContextLost||(E._extension=h,E._files=s,E._buffer=T);let x=e;this._transformTextureUrl&&!m&&(e=this._transformTextureUrl(e));let S=h??((y=(I=e.split("?")[0]).lastIndexOf("."))>-1?I.substring(y).toLowerCase():""),v=(0,n._GetCompatibleTextureLoader)(S),M=(e,t)=>{E.dispose(),l?l(e,t):e&&r.Logger.Warn(e)},P=(t,n)=>{e===x?t&&M(t.status+" "+t.statusText,n):(r.Logger.Warn(`Failed to load ${e}, falling back to the ${x}`),this.createCubeTextureBase(x,i,s,!!a,o,M,c,h,u,d,f,E,p,_,g,T))};if(v)v.then(t=>{let r=e=>{p&&p(E,e),t.loadCubeData(e,E,u,o,(e,t)=>{M(e,t)})};T?r(T):s&&6===s.length?t.supportCascades?this._cascadeLoadFiles(i,e=>r(e.map(e=>new Uint8Array(e))),s,M):M("Textures type does not support cascades."):this._loadFile(e,e=>r(new Uint8Array(e)),void 0,i?i.offlineProvider||null:void 0,!0,P)});else{if(!s||0===s.length)throw Error("Cannot load cubemap because files were not defined, or the correct loader was not found.");this._cascadeLoadImgs(i,E,(e,t)=>{_&&_(e,t)},s,M)}return this._internalTexturesCache.push(E),E})}],74006)},84953,e=>{"use strict";let t,r,i;var s,n=e.i(57575),a=e.i(11829),o=e.i(92180),l=e.i(63235),c=e.i(23003),h=e.i(16347),u=e.i(1229),d=e.i(9855);let f=null;async function m(){let t=c.EngineStore.LastCreatedEngine?.createCanvas(100,100)??new OffscreenCanvas(100,100);t instanceof OffscreenCanvas&&h.Logger.Warn("DumpData: OffscreenCanvas will be used for dumping data. This may result in lossy alpha values.");let{ThinEngine:r}=await e.A(1155);if(!r.IsSupported)throw Error("DumpData: No WebGL context available. Cannot dump data.");let i=new r(t,!1,{preserveDrawingBuffer:!0,depth:!1,stencil:!1,alpha:!0,premultipliedAlpha:!1,antialias:!1,failIfMajorPerformanceCaveat:!1});c.EngineStore.Instances.pop(),c.EngineStore.OnEnginesDisposedObservable.add(e=>{i&&e!==i&&!i.isDisposed&&0===c.EngineStore.Instances.length&&E()}),i.getCaps().parallelShaderCompile=void 0;let s=new a.EffectRenderer(i),{passPixelShader:n}=await e.A(34796),o=new a.EffectWrapper({engine:i,name:n.name,fragmentShader:n.shader,samplerNames:["textureSampler"]});return{canvas:t,dumpEngine:{engine:i,renderer:s,wrapper:o}}}async function p(){return f||(f=m()),await f}let _=(r=[],s=class{static async EncodeImageAsync(e,t,r,i,s,n){let a=await p(),l=a.dumpEngine;l.engine.setSize(t,r,!0);let c=l.engine.createRawTexture(e,t,r,5,!1,!s,1);return l.renderer.setViewport(),l.renderer.applyEffectWrapper(l.wrapper),l.wrapper.effect._bindTexture("textureSampler",c),l.renderer.draw(),c.dispose(),await new Promise((e,t)=>{o.Tools.ToBlob(a.canvas,r=>{r?e(r):t(Error("EncodeImageAsync: Failed to convert canvas to blob."))},i,n)})}},i="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,t=[d.nativeOverride],(0,n.__esDecorate)(s,null,t,{kind:"method",name:"EncodeImageAsync",static:!0,private:!1,access:{has:e=>"EncodeImageAsync"in e,get:e=>e.EncodeImageAsync},metadata:i},null,r),i&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i}),(0,n.__runInitializers)(s,r),s),g=_.EncodeImageAsync;async function T(e,t,r,i,s="image/png",n,a){let o=new Uint8Array((await r.readPixels(0,0,e,t)).buffer);y(e,t,o,i,s,n,!0,void 0,a)}async function I(e,t,r,i="image/png",s,n=!1,a=!1,c){if(r instanceof Float32Array){let e=new Uint8Array(r.length),t=r.length;for(;t--;){let i=r[t];e[t]=Math.round(255*(0,l.Clamp)(i))}r=e}let d=await _.EncodeImageAsync(r,e,t,i,n,c);void 0!==s&&o.Tools.DownloadBlob(d,s),d.type!==i&&h.Logger.Warn(`DumpData: The requested mimeType '${i}' is not supported. The result has mimeType '${d.type}' instead.`);let f=await d.arrayBuffer();return a?f:`data:${i};base64,${(0,u.EncodeArrayBufferToBase64)(f)}`}function y(e,t,r,i,s="image/png",n,a=!1,o=!1,l){void 0!==n||i||(n=""),I(e,t,r,s,n,a,o,l).then(e=>{i&&i(e)})}function E(){f&&(f?.then(e=>{e.canvas instanceof HTMLCanvasElement&&e.canvas.remove(),e.dumpEngine&&(e.dumpEngine.engine.dispose(),e.dumpEngine.renderer.dispose(),e.dumpEngine.wrapper.dispose())}),f=null)}let x=!1;e.s(["Dispose",0,E,"DumpData",0,y,"DumpDataAsync",0,I,"DumpFramebuffer",0,T,"DumpTools",0,{DumpData:y,DumpDataAsync:I,DumpFramebuffer:T,Dispose:E},"EncodeImageAsync",0,g,"RegisterDumpTools",0,function(){x||(x=!0,o.Tools.DumpData=y,o.Tools.DumpDataAsync=I,o.Tools.DumpFramebuffer=T)}])},34010,e=>{"use strict";var t=e.i(44265),r=e.i(69400),i=e.i(63235),s=e.i(88),n=e.i(8636),a=e.i(74868),o=(e.i(66460),e.i(62575)),l=e.i(16347),c=e.i(48747),h=e.i(84953),u=e.i(83592);let d="image/png",f=[134,22,135,150,246,214,150,54];function m(e){if(e.version>2)throw Error(`Unsupported babylon environment map version "${e.version}". Latest supported version is "2".`);return 2===e.version?e:e={...e,version:2,imageType:d}}async function p(e,t,r,i,s,n,a,o,l,c,h){return await new Promise((u,d)=>{if(r){let r=t.createTexture(null,!0,!0,null,1,null,e=>{d(e)},e);i?.onEffectCreatedObservable.addOnce(o=>{o.executeWhenCompiled(()=>{i.externalTextureSamplerBinding=!0,i.onApply=i=>{i._bindTexture("textureSampler",r),i.setFloat2("scale",1,t._features.needsInvertingBitmap&&e instanceof ImageBitmap?-1:1)},t.scenes.length&&(t.scenes[0].postProcessManager.directRender([i],c,!0,n,a),t.restoreDefaultFramebuffer(),r.dispose(),URL.revokeObjectURL(s),u())})})}else{if(t._uploadImageToTexture(h,e,n,a),o){let r=l[a];r&&t._uploadImageToTexture(r._texture,e,n,0)}u()}})}async function _(e,t,r=d){let i=e.getEngine();e.format=5,e.type=0,e.generateMipMaps=!0,e._cachedAnisotropicFilteringLevel=null,i.updateTextureSamplingMode(3,e),await T(e,t,!0,r),e.isReady=!0}async function g(e,t,r,i=d,s=null){let o=e.getEngine(),l=new n.InternalTexture(o,5),c=new a.BaseTexture(o,l);e._irradianceTexture=c,c._dominantDirection=s,l.isCube=!0,l.format=5,l.type=0,l.generateMipMaps=!0,l._cachedAnisotropicFilteringLevel=null,l.generateMipMaps=!0,l.width=r,l.height=r,o.updateTextureSamplingMode(3,l),await T(l,[t],!1,i),o.generateMipMapsForCubemap(l),l.isReady=!0}async function T(r,s,l,c=d){if(!(0,t.IsExponentOfTwo)(r.width))throw Error("Texture size must be a power of two");let h=(0,i.ILog2)(r.width)+1,f=r.getEngine(),m=!1,_=!1,g=null,I=null,y=null,E=f.getCaps();E.textureLOD?f._features.supportRenderAndCopyToLodForFloatTextures?E.textureHalfFloatRender&&E.textureHalfFloatLinearFiltering?(m=!0,r.type=2):E.textureFloatRender&&E.textureFloatLinearFiltering&&(m=!0,r.type=1):m=!1:(m=!1,_=l);let x=0;if(m)f.isWebGPU?(x=1,await e.A(18585)):await e.A(94589),g=new o.PostProcess("rgbdDecode","rgbdDecode",null,null,1,null,3,f,!1,void 0,r.type,void 0,null,!1,void 0,x),r._isRGBD=!1,r.invertY=!1,I=f.createRenderTargetCubeTexture(r.width,{generateDepthBuffer:!1,generateMipMaps:!0,generateStencilBuffer:!1,samplingMode:3,type:r.type,format:5});else if(r._isRGBD=!0,r.invertY=!0,_){y={};let e=r._lodGenerationScale,t=r._lodGenerationOffset;for(let i=0;i<3;i++){let s=(h-1)*e+t,o=Math.round(Math.min(Math.max(t+(s-t)*(1-i/2),0),s)),l=new n.InternalTexture(f,2);l.isCube=!0,l.invertY=!0,l.generateMipMaps=!1,f.updateTextureSamplingMode(2,l);let c=new a.BaseTexture(null);switch(c._isCube=!0,c._texture=l,y[o]=c,i){case 0:r._lodTextureLow=c;break;case 1:r._lodTextureMid=c;break;case 2:r._lodTextureHigh=c}}}let S=[];for(let e=0;e<s.length;e++)for(let t=0;t<6;t++){let i,n=s[e][t],a=new Blob([(0,u.GetBlobBufferSource)(n)],{type:c}),o=URL.createObjectURL(a);if(f._features.forceBitmapOverHTMLImageElement)i=f.createImageBitmap(a,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then(async i=>await p(i,f,m,g,o,t,e,_,y,I,r));else{let s=new Image;s.src=o,i=new Promise((i,n)=>{s.onload=()=>{p(s,f,m,g,o,t,e,_,y,I,r).then(()=>i()).catch(e=>{n(e)})},s.onerror=e=>{n(e)}})}S.push(i)}if(await Promise.all(S),s.length<h){let e,t=Math.pow(2,h-1-s.length),i=t*t*4;switch(r.type){case 0:e=new Uint8Array(i);break;case 2:e=new Uint16Array(i);break;case 1:e=new Float32Array(i)}for(let t=s.length;t<h;t++)for(let i=0;i<6;i++)f._uploadArrayBufferViewToTexture(I?.texture||r,e,i,t)}if(I){let e=r._irradianceTexture;r._irradianceTexture=null,f._releaseTexture(r),I._swapAndDie(r),r._irradianceTexture=e}g&&g.dispose(),_&&(r._lodTextureHigh&&r._lodTextureHigh._texture&&(r._lodTextureHigh._texture.isReady=!0),r._lodTextureMid&&r._lodTextureMid._texture&&(r._lodTextureMid._texture.isReady=!0),r._lodTextureLow&&r._lodTextureLow._texture&&(r._lodTextureLow._texture.isReady=!0))}e.s(["GetEnvInfo",0,function(e){let t,r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=0;for(let e=0;e<f.length;e++)if(r.getUint8(i++)!==f[e])return l.Logger.Error("Not a babylon environment map"),null;let s="";for(;t=r.getUint8(i++);)s+=String.fromCharCode(t);let n=JSON.parse(s);return(n=m(n)).binaryDataPosition=i,n.specular&&(n.specular.lodGenerationScale=n.specular.lodGenerationScale||.8),n},"UploadEnvLevelsAsync",0,function(e,t,i){let s=(i=m(i)).specular;if(!s)return Promise.resolve([]);e._lodGenerationScale=s.lodGenerationScale;let n=[],a=function(e,t){let r=(t=m(t)).specular,i=Math.log2(t.width);if(i=Math.round(i)+1,r.mipmaps.length!==6*i)throw Error(`Unsupported specular mipmaps number "${r.mipmaps.length}"`);let s=Array(i);for(let n=0;n<i;n++){s[n]=Array(6);for(let i=0;i<6;i++){let a=r.mipmaps[6*n+i];s[n][i]=new Uint8Array(e.buffer,e.byteOffset+t.binaryDataPosition+a.position,a.length)}}return s}(t,i);n.push(_(e,a,i.imageType));let o=i.irradiance?.irradianceTexture;if(o){let s=function(e,t){t=m(t);let r=Array(6),i=t.irradiance?.irradianceTexture;if(i){if(6!==i.faces.length)throw Error(`Incorrect irradiance texture faces number "${i.faces.length}"`);for(let s=0;s<6;s++){let n=i.faces[s];r[s]=new Uint8Array(e.buffer,e.byteOffset+t.binaryDataPosition+n.position,n.length)}}return r}(t,i),a=null;i.irradiance?.irradianceTexture?.dominantDirection&&(a=r.Vector3.FromArray(i.irradiance.irradianceTexture.dominantDirection)),n.push(g(e,s,o.size,i.imageType,a))}return Promise.all(n)},"UploadEnvSpherical",0,function(e,t){let i=(t=m(t)).irradiance;if(!i)return;let n=new s.SphericalPolynomial;r.Vector3.FromArrayToRef(i.x,0,n.x),r.Vector3.FromArrayToRef(i.y,0,n.y),r.Vector3.FromArrayToRef(i.z,0,n.z),r.Vector3.FromArrayToRef(i.xx,0,n.xx),r.Vector3.FromArrayToRef(i.yy,0,n.yy),r.Vector3.FromArrayToRef(i.zz,0,n.zz),r.Vector3.FromArrayToRef(i.yz,0,n.yz),r.Vector3.FromArrayToRef(i.zx,0,n.zx),r.Vector3.FromArrayToRef(i.xy,0,n.xy),e._sphericalPolynomial=n},"_UpdateRGBDAsync",0,function(e,t,r,i,s){let n=_(e.getEngine().createRawCubeTexture(null,e.width,e.format,e.type,e.generateMipMaps,e.invertY,e.samplingMode,e._compression),t).then(()=>e);return e.onRebuildCallback=e=>({proxy:n,isReady:!0,isAsync:!0}),e._source=13,e._bufferViewArrayArray=t,e._lodGenerationScale=i,e._lodGenerationOffset=s,e._sphericalPolynomial=r,_(e,t).then(()=>(e.isReady=!0,e))}])},90160,e=>{"use strict";let t,r,i,s,n,a,o,l,c,h,u,d,f,m,p,_,g,T,I,y,E,x,S,v,M,P,R,A,b,C,L,D,w,F,B,V;var O,k,N=e.i(57575),U=e.i(9855),z=e.i(69400),G=e.i(19919),j=e.i(52624),W=e.i(96333),H=e.i(44520),X=e.i(60420),q=e.i(2060);let Y=(m=j.Node,p=[],_=[],g=[],T=[],I=[],y=[],E=[],x=[],S=[],v=[],M=[],P=[],R=[],A=[],b=[],C=[],L=[],D=[],w=[],F=[],B=[],O=class extends m{get range(){return this._range}set range(e){this._range=e,this._inverseSquaredRange=1/(this.range*this.range)}get intensityMode(){return this._intensityMode}set intensityMode(e){this._intensityMode=e,this._computePhotometricScale()}get radius(){return this._radius}set radius(e){this._radius=e,this._computePhotometricScale()}get renderPriority(){return(0,N.__classPrivateFieldGet)(this,k,"f")}set renderPriority(e){(0,N.__classPrivateFieldSet)(this,k,e,"f")}get shadowEnabled(){return this._shadowEnabled}set shadowEnabled(e){this._shadowEnabled!==e&&(this._shadowEnabled=e,this._markMeshesAsLightDirty())}get includedOnlyMeshes(){return this._includedOnlyMeshes}set includedOnlyMeshes(e){this._includedOnlyMeshes=e,this._hookArrayForIncludedOnly(e)}get excludedMeshes(){return this._excludedMeshes}set excludedMeshes(e){this._excludedMeshes=e,this._hookArrayForExcluded(e)}get excludeWithLayerMask(){return this._excludeWithLayerMask}set excludeWithLayerMask(e){this._excludeWithLayerMask=e,this._resyncMeshes()}get includeOnlyWithLayerMask(){return this._includeOnlyWithLayerMask}set includeOnlyWithLayerMask(e){this._includeOnlyWithLayerMask=e,this._resyncMeshes()}get lightmapMode(){return this._lightmapMode}set lightmapMode(e){this._lightmapMode!==e&&(this._lightmapMode=e,this._markMeshesAsLightDirty())}getViewMatrix(e){return null}getProjectionMatrix(e,t){return null}constructor(e,t,r){super(e,t,!1),this.diffuse=((0,N.__runInitializers)(this,p),(0,N.__runInitializers)(this,_,new G.Color3(1,1,1))),this.specular=((0,N.__runInitializers)(this,g),(0,N.__runInitializers)(this,T,new G.Color3(1,1,1))),this.falloffType=((0,N.__runInitializers)(this,I),(0,N.__runInitializers)(this,y,O.FALLOFF_DEFAULT)),this.intensity=((0,N.__runInitializers)(this,E),(0,N.__runInitializers)(this,x,1)),this._range=((0,N.__runInitializers)(this,S),Number.MAX_VALUE),this._inverseSquaredRange=0,this._photometricScale=1,this._intensityMode=O.INTENSITYMODE_AUTOMATIC,this._radius=1e-5,this._renderPriority=(0,N.__runInitializers)(this,v,void 0),k.set(this,((0,N.__runInitializers)(this,M),(0,N.__runInitializers)(this,P,0))),this._shadowEnabled=((0,N.__runInitializers)(this,R),(0,N.__runInitializers)(this,A,!0)),this._includedOnlyMeshes=(0,N.__runInitializers)(this,b),this._excludeWithLayerMask=(0,N.__runInitializers)(this,C,0),this._includeOnlyWithLayerMask=((0,N.__runInitializers)(this,L),(0,N.__runInitializers)(this,D,0)),this._lightmapMode=((0,N.__runInitializers)(this,w),(0,N.__runInitializers)(this,F,0)),this._shadowGenerators=((0,N.__runInitializers)(this,B),null),this._excludedMeshesIds=[],this._includedOnlyMeshesIds=[],this._currentViewDepth=0,this._clusteredContainer=null,this._isLight=!0,r||this.getScene().addLight(this),this._uniformBuffer=new W.UniformBuffer(this.getScene().getEngine(),void 0,void 0,e),this._buildUniformLayout(),this.includedOnlyMeshes=[],this.excludedMeshes=[],r||this._resyncMeshes()}transferTexturesToEffect(e,t){return this}_bindLight(e,t,r,i,s=!0){let n=e.toString(),a=!1;if(this._uniformBuffer.bindToEffect(r,"Light"+n),this._renderId!==t.getRenderId()||this._lastUseSpecular!==i||!this._uniformBuffer.useUbo){this._renderId=t.getRenderId(),this._lastUseSpecular=i;let e=this.getScaledIntensity();this.transferToEffect(r,n),this.diffuse.scaleToRef(e,G.TmpColors.Color3[0]),this._uniformBuffer.updateColor4("vLightDiffuse",G.TmpColors.Color3[0],this.range,n),i&&(this.specular.scaleToRef(e,G.TmpColors.Color3[1]),this._uniformBuffer.updateColor4("vLightSpecular",G.TmpColors.Color3[1],this.radius,n)),a=!0}if(this.transferTexturesToEffect(r,n),t.shadowsEnabled&&this.shadowEnabled&&s){let e=this.getShadowGenerator(t.activeCamera)??this.getShadowGenerator();e&&(e.bindShadowLight(n,r),a=!0)}a?this._uniformBuffer.update():this._uniformBuffer.bindUniformBuffer()}getClassName(){return"Light"}toString(e){let t="Name: "+this.name;if(t+=", type: "+["Point","Directional","Spot","Hemispheric","Clustered"][this.getTypeID()],this.animations)for(let r=0;r<this.animations.length;r++)t+=", animation[0]: "+this.animations[r].toString(e);return t}_syncParentEnabledState(){super._syncParentEnabledState(),this.isDisposed()||this._resyncMeshes()}setEnabled(e){super.setEnabled(e),this._resyncMeshes()}getShadowGenerator(e=null){return null===this._shadowGenerators?null:this._shadowGenerators.get(e)??null}getShadowGenerators(){return this._shadowGenerators}getAbsolutePosition(){return z.Vector3.Zero()}canAffectMesh(e){return!e||(!this.includedOnlyMeshes||!(this.includedOnlyMeshes.length>0)||-1!==this.includedOnlyMeshes.indexOf(e))&&(!this.excludedMeshes||!(this.excludedMeshes.length>0)||-1===this.excludedMeshes.indexOf(e))&&(0===this.includeOnlyWithLayerMask||(this.includeOnlyWithLayerMask&e.layerMask)!=0)&&(0===this.excludeWithLayerMask||!(this.excludeWithLayerMask&e.layerMask))}dispose(e,t=!1){if(this._shadowGenerators){let e=this._shadowGenerators.values();for(let t=e.next();!0!==t.done;t=e.next())t.value.dispose();this._shadowGenerators=null}if(this.getScene().stopAnimation(this),this._parentContainer){let e=this._parentContainer.lights.indexOf(this);e>-1&&this._parentContainer.lights.splice(e,1),this._parentContainer=null}for(let e of this.getScene().meshes)e._removeLightSource(this,!0);this._uniformBuffer.dispose(),this.getScene().removeLight(this),super.dispose(e,t)}getTypeID(){return 0}getScaledIntensity(){return this._photometricScale*this.intensity}clone(e,t=null){let r=O.GetConstructorFromName(this.getTypeID(),e,this.getScene());if(!r)return null;let i=q.SerializationHelper.Clone(r,this);return e&&(i.name=e),t&&(i.parent=t),i.setEnabled(this.isEnabled()),this.onClonedObservable.notifyObservers(i),i}serialize(){let e=q.SerializationHelper.Serialize(this);if(e.uniqueId=this.uniqueId,e.type=this.getTypeID(),this.parent&&this.parent._serializeAsParent(e),this.excludedMeshes.length>0)for(let t of(e.excludedMeshesIds=[],this.excludedMeshes))e.excludedMeshesIds.push(t.id);if(this.includedOnlyMeshes.length>0)for(let t of(e.includedOnlyMeshesIds=[],this.includedOnlyMeshes))e.includedOnlyMeshesIds.push(t.id);return q.SerializationHelper.AppendSerializedAnimations(this,e),e.ranges=this.serializeAnimationRanges(),e.isEnabled=this.isEnabled(),e}static GetConstructorFromName(e,t,r){let i=j.Node.Construct("Light_Type_"+e,t,r);return i||null}static Parse(e,t,r=""){let i=O.GetConstructorFromName(e.type,e.name,t);if(!i)return null;let s=q.SerializationHelper.Parse(i,e,t,r);if(e.excludedMeshesIds&&(s._excludedMeshesIds=e.excludedMeshesIds),e.includedOnlyMeshesIds&&(s._includedOnlyMeshesIds=e.includedOnlyMeshesIds),void 0!==e.parentId&&(s._waitingParentId=e.parentId),void 0!==e.parentInstanceIndex&&(s._waitingParentInstanceIndex=e.parentInstanceIndex),void 0!==e.falloffType&&(s.falloffType=e.falloffType),void 0!==e.lightmapMode&&(s.lightmapMode=e.lightmapMode),e.animations){for(let t=0;t<e.animations.length;t++){let r=e.animations[t],i=(0,H.GetClass)("BABYLON.Animation");i&&s.animations.push(i.Parse(r))}j.Node.ParseAnimationRanges(s,e,t)}return e.autoAnimate&&t.beginAnimation(s,e.autoAnimateFrom,e.autoAnimateTo,e.autoAnimateLoop,e.autoAnimateSpeed||1),void 0!==e.isEnabled&&s.setEnabled(e.isEnabled),s._onParsed(e,t,r),s}_onParsed(e,t,r=""){}_hookArrayForExcluded(e){let t=e.push;e.push=(...r)=>{let i=t.apply(e,r);if(this._clusteredContainer)return i;for(let e of r)e._resyncLightSource(this);return i};let r=e.splice;if(e.splice=(t,i)=>{let s=r.call(e,t,i??e.length);if(this._clusteredContainer)return s;for(let e of s)e._resyncLightSource(this);return s},!this._clusteredContainer)for(let t of e)t._resyncLightSource(this)}_hookArrayForIncludedOnly(e){let t=e.push;e.push=(...r)=>{let i=t.apply(e,r);return this._resyncMeshes(),i};let r=e.splice;e.splice=(t,i)=>{let s=r.call(e,t,i??e.length);return this._resyncMeshes(),s},this._resyncMeshes()}_resyncMeshes(){if(!this._clusteredContainer)for(let e of this.getScene().meshes)e._resyncLightSource(this)}_markMeshesAsLightDirty(){for(let e of this.getScene().meshes)-1!==e.lightSources.indexOf(this)&&e._markSubMeshesAsLightDirty()}_computePhotometricScale(){this._photometricScale=this._getPhotometricScale(),this.getScene().resetCachedMaterial()}_getPhotometricScale(){let e=0,t=this.getTypeID(),r=this.intensityMode;switch(r===O.INTENSITYMODE_AUTOMATIC&&(r=t===O.LIGHTTYPEID_DIRECTIONALLIGHT?O.INTENSITYMODE_ILLUMINANCE:O.INTENSITYMODE_LUMINOUSINTENSITY),t){case O.LIGHTTYPEID_POINTLIGHT:case O.LIGHTTYPEID_SPOTLIGHT:switch(r){case O.INTENSITYMODE_LUMINOUSPOWER:e=1/(4*Math.PI);break;case O.INTENSITYMODE_LUMINOUSINTENSITY:e=1;break;case O.INTENSITYMODE_LUMINANCE:e=this.radius*this.radius}break;case O.LIGHTTYPEID_DIRECTIONALLIGHT:switch(r){case O.INTENSITYMODE_ILLUMINANCE:e=1;break;case O.INTENSITYMODE_LUMINANCE:{let t=this.radius;e=2*Math.PI*(1-Math.cos(t=Math.max(t,.001)))}}break;case O.LIGHTTYPEID_HEMISPHERICLIGHT:case O.LIGHTTYPEID_RECT_AREALIGHT:e=1}return e}_reorderLightsInScene(){let e=this.getScene();0!=this._renderPriority&&(e.requireLightSorting=!0),this.getScene().sortLightsByPriority()}areLightTexturesReady(){return!0}_isReady(){return!0}},k=new WeakMap,V="function"==typeof Symbol&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0,t=[(0,U.serializeAsColor3)()],r=[(0,U.serializeAsColor3)()],i=[(0,U.serialize)()],s=[(0,U.serialize)()],n=[(0,U.serialize)()],a=[(0,U.serialize)()],o=[(0,U.serialize)()],l=[(0,U.serialize)()],c=[(0,U.expandToProperty)("_reorderLightsInScene")],h=[(0,U.serialize)("shadowEnabled")],u=[(0,U.serialize)("excludeWithLayerMask")],d=[(0,U.serialize)("includeOnlyWithLayerMask")],f=[(0,U.serialize)("lightmapMode")],(0,N.__esDecorate)(O,null,n,{kind:"getter",name:"range",static:!1,private:!1,access:{has:e=>"range"in e,get:e=>e.range},metadata:V},null,p),(0,N.__esDecorate)(O,null,a,{kind:"getter",name:"intensityMode",static:!1,private:!1,access:{has:e=>"intensityMode"in e,get:e=>e.intensityMode},metadata:V},null,p),(0,N.__esDecorate)(O,null,o,{kind:"getter",name:"radius",static:!1,private:!1,access:{has:e=>"radius"in e,get:e=>e.radius},metadata:V},null,p),(0,N.__esDecorate)(O,null,c,{kind:"accessor",name:"renderPriority",static:!1,private:!1,access:{has:e=>"renderPriority"in e,get:e=>e.renderPriority,set:(e,t)=>{e.renderPriority=t}},metadata:V},P,R),(0,N.__esDecorate)(null,null,t,{kind:"field",name:"diffuse",static:!1,private:!1,access:{has:e=>"diffuse"in e,get:e=>e.diffuse,set:(e,t)=>{e.diffuse=t}},metadata:V},_,g),(0,N.__esDecorate)(null,null,r,{kind:"field",name:"specular",static:!1,private:!1,access:{has:e=>"specular"in e,get:e=>e.specular,set:(e,t)=>{e.specular=t}},metadata:V},T,I),(0,N.__esDecorate)(null,null,i,{kind:"field",name:"falloffType",static:!1,private:!1,access:{has:e=>"falloffType"in e,get:e=>e.falloffType,set:(e,t)=>{e.falloffType=t}},metadata:V},y,E),(0,N.__esDecorate)(null,null,s,{kind:"field",name:"intensity",static:!1,private:!1,access:{has:e=>"intensity"in e,get:e=>e.intensity,set:(e,t)=>{e.intensity=t}},metadata:V},x,S),(0,N.__esDecorate)(null,null,l,{kind:"field",name:"_renderPriority",static:!1,private:!1,access:{has:e=>"_renderPriority"in e,get:e=>e._renderPriority,set:(e,t)=>{e._renderPriority=t}},metadata:V},v,M),(0,N.__esDecorate)(null,null,h,{kind:"field",name:"_shadowEnabled",static:!1,private:!1,access:{has:e=>"_shadowEnabled"in e,get:e=>e._shadowEnabled,set:(e,t)=>{e._shadowEnabled=t}},metadata:V},A,b),(0,N.__esDecorate)(null,null,u,{kind:"field",name:"_excludeWithLayerMask",static:!1,private:!1,access:{has:e=>"_excludeWithLayerMask"in e,get:e=>e._excludeWithLayerMask,set:(e,t)=>{e._excludeWithLayerMask=t}},metadata:V},C,L),(0,N.__esDecorate)(null,null,d,{kind:"field",name:"_includeOnlyWithLayerMask",static:!1,private:!1,access:{has:e=>"_includeOnlyWithLayerMask"in e,get:e=>e._includeOnlyWithLayerMask,set:(e,t)=>{e._includeOnlyWithLayerMask=t}},metadata:V},D,w),(0,N.__esDecorate)(null,null,f,{kind:"field",name:"_lightmapMode",static:!1,private:!1,access:{has:e=>"_lightmapMode"in e,get:e=>e._lightmapMode,set:(e,t)=>{e._lightmapMode=t}},metadata:V},F,B),V&&Object.defineProperty(O,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:V}),O.FALLOFF_DEFAULT=X.LightConstants.FALLOFF_DEFAULT,O.FALLOFF_PHYSICAL=X.LightConstants.FALLOFF_PHYSICAL,O.FALLOFF_GLTF=X.LightConstants.FALLOFF_GLTF,O.FALLOFF_STANDARD=X.LightConstants.FALLOFF_STANDARD,O.LIGHTMAP_DEFAULT=X.LightConstants.LIGHTMAP_DEFAULT,O.LIGHTMAP_SPECULAR=X.LightConstants.LIGHTMAP_SPECULAR,O.LIGHTMAP_SHADOWSONLY=X.LightConstants.LIGHTMAP_SHADOWSONLY,O.INTENSITYMODE_AUTOMATIC=X.LightConstants.INTENSITYMODE_AUTOMATIC,O.INTENSITYMODE_LUMINOUSPOWER=X.LightConstants.INTENSITYMODE_LUMINOUSPOWER,O.INTENSITYMODE_LUMINOUSINTENSITY=X.LightConstants.INTENSITYMODE_LUMINOUSINTENSITY,O.INTENSITYMODE_ILLUMINANCE=X.LightConstants.INTENSITYMODE_ILLUMINANCE,O.INTENSITYMODE_LUMINANCE=X.LightConstants.INTENSITYMODE_LUMINANCE,O.LIGHTTYPEID_POINTLIGHT=X.LightConstants.LIGHTTYPEID_POINTLIGHT,O.LIGHTTYPEID_DIRECTIONALLIGHT=X.LightConstants.LIGHTTYPEID_DIRECTIONALLIGHT,O.LIGHTTYPEID_SPOTLIGHT=X.LightConstants.LIGHTTYPEID_SPOTLIGHT,O.LIGHTTYPEID_HEMISPHERICLIGHT=X.LightConstants.LIGHTTYPEID_HEMISPHERICLIGHT,O.LIGHTTYPEID_RECT_AREALIGHT=X.LightConstants.LIGHTTYPEID_RECT_AREALIGHT,O);e.s(["Light",0,Y])},88083,23017,e=>{"use strict";let t,r,i,s,n,a,o,l;var c,h=e.i(57575),u=e.i(9855),d=e.i(69400),f=e.i(19919),m=e.i(90160),p=e.i(52624),_=e.i(44520);let g=(i=m.Light,s=[],n=[],a=[],o=[],c=class extends i{constructor(e,t,r,i){super(e,r,i),this.groundColor=(0,h.__runInitializers)(this,s,new f.Color3(0,0,0)),this.direction=((0,h.__runInitializers)(this,n),(0,h.__runInitializers)(this,a,void 0)),(0,h.__runInitializers)(this,o),this.direction=t||d.Vector3.Up()}_buildUniformLayout(){this._uniformBuffer.addUniform("vLightData",4),this._uniformBuffer.addUniform("vLightDiffuse",4),this._uniformBuffer.addUniform("vLightSpecular",4),this._uniformBuffer.addUniform("vLightGround",3),this._uniformBuffer.addUniform("shadowsInfo",3),this._uniformBuffer.addUniform("depthValues",2),this._uniformBuffer.create()}getClassName(){return"HemisphericLight"}setDirectionToTarget(e){return this.direction=d.Vector3.Normalize(e.subtract(d.Vector3.Zero())),this.direction}getShadowGenerator(){return null}transferToEffect(e,t){let r=d.Vector3.Normalize(this.direction);return this._uniformBuffer.updateFloat4("vLightData",r.x,r.y,r.z,0,t),this._uniformBuffer.updateColor3("vLightGround",this.groundColor.scale(this.intensity),t),this}transferToNodeMaterialEffect(e,t){let r=d.Vector3.Normalize(this.direction);return e.setFloat3(t,r.x,r.y,r.z),this}computeWorldMatrix(){return this._worldMatrix||(this._worldMatrix=d.Matrix.Identity()),this._worldMatrix}getTypeID(){return m.Light.LIGHTTYPEID_HEMISPHERICLIGHT}prepareLightSpecificDefines(e,t){e["HEMILIGHT"+t]=!0}},l="function"==typeof Symbol&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0,t=[(0,u.serializeAsColor3)()],r=[(0,u.serializeAsVector3)()],(0,h.__esDecorate)(null,null,t,{kind:"field",name:"groundColor",static:!1,private:!1,access:{has:e=>"groundColor"in e,get:e=>e.groundColor,set:(e,t)=>{e.groundColor=t}},metadata:l},s,n),(0,h.__esDecorate)(null,null,r,{kind:"field",name:"direction",static:!1,private:!1,access:{has:e=>"direction"in e,get:e=>e.direction,set:(e,t)=>{e.direction=t}},metadata:l},a,o),l&&Object.defineProperty(c,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l}),c),T=!1;function I(){T||(T=!0,p.Node.AddNodeConstructor("Light_Type_3",(e,t)=>()=>new g(e,d.Vector3.Zero(),t)),(0,_.RegisterClass)("BABYLON.HemisphericLight",g))}e.s(["HemisphericLight",0,g,"RegisterHemisphericLight",0,I],23017),I(),e.s([],88083)},5742,e=>{e.v(t=>Promise.all(["static/chunks/0rykrf_vofbad.js"].map(t=>e.l(t))).then(()=>t(12838)))},7762,e=>{e.v(t=>Promise.all(["static/chunks/2x-7kbwq8tl-o.js"].map(t=>e.l(t))).then(()=>t(82389)))},99505,e=>{e.v(t=>Promise.all(["static/chunks/0yd4_xh476fjn.js","static/chunks/0o0qtv35dqv3i.js"].map(t=>e.l(t))).then(()=>t(53959)))},33106,e=>{e.v(t=>Promise.all(["static/chunks/3rj-5v0j_2-_2.js","static/chunks/3txu-i5qn183a.js"].map(t=>e.l(t))).then(()=>t(10959)))},98824,e=>{e.v(t=>Promise.all(["static/chunks/2-_a-v1xeo5hb.js","static/chunks/3p03l0z65c8vc.js"].map(t=>e.l(t))).then(()=>t(96119)))},96210,e=>{e.v(t=>Promise.all(["static/chunks/1z790xxb46gxy.js","static/chunks/3ap_uxc8lx7ni.js"].map(t=>e.l(t))).then(()=>t(52542)))},56339,e=>{e.v(e=>Promise.resolve().then(()=>e(22001)))},10545,e=>{e.v(t=>Promise.all(["static/chunks/3yk0hzfq5rcs6.js","static/chunks/33p9du6y9eegg.js"].map(t=>e.l(t))).then(()=>t(18344)))},2972,e=>{e.v(e=>Promise.resolve().then(()=>e(7263)))},63527,e=>{e.v(t=>Promise.all(["static/chunks/3cp5nmtwxq4gr.js","static/chunks/0noxyupihh8dk.js"].map(t=>e.l(t))).then(()=>t(1744)))},30493,e=>{e.v(e=>Promise.resolve().then(()=>e(13142)))},75856,e=>{e.v(t=>Promise.all(["static/chunks/2117sv2qzo6yq.js"].map(t=>e.l(t))).then(()=>t(37145)))},99691,e=>{e.v(t=>Promise.all(["static/chunks/2clevl_9ayd0x.js"].map(t=>e.l(t))).then(()=>t(36257)))},60624,e=>{e.v(t=>Promise.all(["static/chunks/1j4jt5q7px8sy.js"].map(t=>e.l(t))).then(()=>t(44449)))},34796,e=>{e.v(t=>Promise.all(["static/chunks/3twr9ds68-9us.js"].map(t=>e.l(t))).then(()=>t(11681)))},77151,e=>{e.v(t=>Promise.all(["static/chunks/3ioxfi3bvznhh.js"].map(t=>e.l(t))).then(()=>t(64489)))},62237,e=>{e.v(t=>Promise.all(["static/chunks/1lu7rjfvxj8yj.js"].map(t=>e.l(t))).then(()=>t(65185)))},58869,e=>{e.v(t=>Promise.all(["static/chunks/1x0j78ohufpul.js"].map(t=>e.l(t))).then(()=>t(30728)))},77607,e=>{e.v(t=>Promise.all(["static/chunks/1a94whad0y57f.js"].map(t=>e.l(t))).then(()=>t(3536)))},10896,e=>{e.v(t=>Promise.all(["static/chunks/2epukrz6paj9n.js"].map(t=>e.l(t))).then(()=>t(7940)))},60434,e=>{e.v(t=>Promise.all(["static/chunks/3nr48h9zwum-3.js"].map(t=>e.l(t))).then(()=>t(58395)))},89634,e=>{e.v(t=>Promise.all(["static/chunks/3-yhe6rcsjh88.js"].map(t=>e.l(t))).then(()=>t(69241)))},57528,e=>{e.v(t=>Promise.all(["static/chunks/22yht3s7c-xih.js"].map(t=>e.l(t))).then(()=>t(8406)))},96465,e=>{e.v(t=>Promise.all(["static/chunks/1j4c0nvdo5q68.js"].map(t=>e.l(t))).then(()=>t(48820)))},94589,e=>{e.v(t=>Promise.all(["static/chunks/0gk5rnci1hznh.js"].map(t=>e.l(t))).then(()=>t(3449)))},18585,e=>{e.v(t=>Promise.all(["static/chunks/25brs445bjbik.js"].map(t=>e.l(t))).then(()=>t(98959)))},96401,e=>{e.v(t=>Promise.all(["static/chunks/287hakn2ijupp.js"].map(t=>e.l(t))).then(()=>t(66860)))},85357,e=>{e.v(t=>Promise.all(["static/chunks/2mrkv0z2i74pv.js"].map(t=>e.l(t))).then(()=>t(25124)))},1155,e=>{e.v(t=>Promise.all(["static/chunks/0zu5ato7-1-q9.js"].map(t=>e.l(t))).then(()=>t(13600)))},15999,e=>{e.v(t=>Promise.all(["static/chunks/3si3migsmvz9o.js"].map(t=>e.l(t))).then(()=>t(69003)))},83965,e=>{e.v(t=>Promise.all(["static/chunks/0xx7_7y5jdlh4.js"].map(t=>e.l(t))).then(()=>t(98134)))},43880,e=>{e.v(t=>Promise.all(["static/chunks/3t4ys6th6gf2w.js"].map(t=>e.l(t))).then(()=>t(98885)))},3291,e=>{e.v(t=>Promise.all(["static/chunks/42s6ghsurq5q7.js"].map(t=>e.l(t))).then(()=>t(74208)))},44715,e=>{e.v(t=>Promise.all(["static/chunks/0i9wa8hjd-5tc.js"].map(t=>e.l(t))).then(()=>t(98671)))},23789,e=>{e.v(t=>Promise.all(["static/chunks/2xujlsx3stqig.js"].map(t=>e.l(t))).then(()=>t(42960)))},43066,e=>{e.v(t=>Promise.all(["static/chunks/1gvu5a6ffbs7l.js"].map(t=>e.l(t))).then(()=>t(75411)))},75542,e=>{e.v(t=>Promise.all(["static/chunks/0vzo-8t8c26k9.js"].map(t=>e.l(t))).then(()=>t(57009)))},55237,e=>{e.v(t=>Promise.all(["static/chunks/0jap7l5-bskj4.js"].map(t=>e.l(t))).then(()=>t(27095)))},47780,e=>{e.v(t=>Promise.all(["static/chunks/2kmmk9coo9_b0.js"].map(t=>e.l(t))).then(()=>t(23206)))},32365,e=>{e.v(t=>Promise.all(["static/chunks/0r-x702_jvhud.js"].map(t=>e.l(t))).then(()=>t(80359)))},43640,e=>{e.v(t=>Promise.all(["static/chunks/2-i29-jdbwww6.js"].map(t=>e.l(t))).then(()=>t(1433)))},37070,e=>{e.v(t=>Promise.all(["static/chunks/1my968s78he8g.js"].map(t=>e.l(t))).then(()=>t(21325)))},4987,e=>{e.v(t=>Promise.all(["static/chunks/0lwjmr8efrlbt.js"].map(t=>e.l(t))).then(()=>t(89707)))},61777,e=>{e.v(t=>Promise.all(["static/chunks/0ypejzd74ixbw.js"].map(t=>e.l(t))).then(()=>t(51925)))},484,e=>{e.v(t=>Promise.all(["static/chunks/1t-yolk97lmot.js"].map(t=>e.l(t))).then(()=>t(63463)))},9097,e=>{e.v(t=>Promise.all(["static/chunks/16rmmzhy2p7bw.js","static/chunks/0ibzpjo0h731v.js"].map(t=>e.l(t))).then(()=>t(51842)))},58970,e=>{e.v(t=>Promise.all(["static/chunks/1s0dpdqy480hg.js"].map(t=>e.l(t))).then(()=>t(96138)))},93957,e=>{e.v(t=>Promise.all(["static/chunks/1eirucr9s6-h5.js"].map(t=>e.l(t))).then(()=>t(49716)))},92238,e=>{e.v(t=>Promise.all(["static/chunks/29_n5j-hg_gsa.js"].map(t=>e.l(t))).then(()=>t(76427)))},51880,e=>{e.v(t=>Promise.all(["static/chunks/2awr1c_vfsutb.js"].map(t=>e.l(t))).then(()=>t(47951)))},76501,e=>{e.v(t=>Promise.all(["static/chunks/453_bg0lgesmp.js"].map(t=>e.l(t))).then(()=>t(64513)))},62758,e=>{e.v(t=>Promise.all(["static/chunks/36pz_ews7u0xb.js"].map(t=>e.l(t))).then(()=>t(96161)))},89398,e=>{e.v(t=>Promise.all(["static/chunks/14orr68xgdykd.js"].map(t=>e.l(t))).then(()=>t(38808)))},64400,e=>{e.v(t=>Promise.all(["static/chunks/0-laj-bivzp4x.js"].map(t=>e.l(t))).then(()=>t(81329)))},11649,e=>{e.v(t=>Promise.all(["static/chunks/21wo3vdr_uby8.js"].map(t=>e.l(t))).then(()=>t(10515)))},48291,e=>{e.v(t=>Promise.all(["static/chunks/2bxe3kjr17tdp.js"].map(t=>e.l(t))).then(()=>t(57726)))},54787,e=>{e.v(t=>Promise.all(["static/chunks/0p6phe9kjlxn8.js"].map(t=>e.l(t))).then(()=>t(3464)))},12369,e=>{e.v(t=>Promise.all(["static/chunks/0jis2w2mfx062.js"].map(t=>e.l(t))).then(()=>t(70107)))},97359,e=>{e.v(t=>Promise.all(["static/chunks/3n62hbywoknop.js"].map(t=>e.l(t))).then(()=>t(8676)))},53258,e=>{e.v(t=>Promise.all(["static/chunks/3uarw1i1ij1er.js"].map(t=>e.l(t))).then(()=>t(45633)))},33766,e=>{e.v(t=>Promise.all(["static/chunks/1zmx71cvc6ksk.js"].map(t=>e.l(t))).then(()=>t(75551)))},92223,e=>{e.v(t=>Promise.all(["static/chunks/39cou9lia_g7l.js"].map(t=>e.l(t))).then(()=>t(31740)))},41935,e=>{e.v(t=>Promise.all(["static/chunks/19d8n5t7ka2fb.js"].map(t=>e.l(t))).then(()=>t(73)))},10683,e=>{e.v(t=>Promise.all(["static/chunks/1jjw9hxgi2vzi.js"].map(t=>e.l(t))).then(()=>t(50270)))},35168,e=>{e.v(t=>Promise.all(["static/chunks/0q0i4pdyq66gb.js"].map(t=>e.l(t))).then(()=>t(34197)))},14975,e=>{e.v(t=>Promise.all(["static/chunks/04zj0yf1qhk1o.js"].map(t=>e.l(t))).then(()=>t(69163)))},6064,e=>{e.v(t=>Promise.all(["static/chunks/2fspbfbxbswzd.js"].map(t=>e.l(t))).then(()=>t(67685)))},91783,e=>{e.v(t=>Promise.all(["static/chunks/2mjjo0yj-4ro4.js"].map(t=>e.l(t))).then(()=>t(74895)))},46862,e=>{e.v(t=>Promise.all(["static/chunks/2b5nt7yn-pq3a.js"].map(t=>e.l(t))).then(()=>t(10358)))},4126,e=>{e.v(t=>Promise.all(["static/chunks/161yjxmdz9obc.js"].map(t=>e.l(t))).then(()=>t(22140)))},46843,e=>{e.v(t=>Promise.all(["static/chunks/133dqp8_7_yo6.js"].map(t=>e.l(t))).then(()=>t(56175)))},374,e=>{e.v(t=>Promise.all(["static/chunks/1tbes2sv-qzcx.js"].map(t=>e.l(t))).then(()=>t(40311)))},53268,e=>{e.v(t=>Promise.all(["static/chunks/39rhmj_32ujyj.js"].map(t=>e.l(t))).then(()=>t(43095)))},52687,e=>{e.v(t=>Promise.all(["static/chunks/2h9i_adbqaxs4.js"].map(t=>e.l(t))).then(()=>t(68077)))},38869,e=>{e.v(t=>Promise.all(["static/chunks/44m1ijc5cv80x.js"].map(t=>e.l(t))).then(()=>t(44169)))},61379,e=>{e.v(t=>Promise.all(["static/chunks/3vu5y270muh-7.js"].map(t=>e.l(t))).then(()=>t(54330)))},9466,e=>{e.v(t=>Promise.all(["static/chunks/07hgbbqksqd1g.js"].map(t=>e.l(t))).then(()=>t(94106)))},46941,e=>{e.v(t=>Promise.all(["static/chunks/1t2g1v0ubcsam.js"].map(t=>e.l(t))).then(()=>t(39411)))},19046,e=>{e.v(t=>Promise.all(["static/chunks/06fbalmyyfpsy.js"].map(t=>e.l(t))).then(()=>t(16308)))},99122,e=>{e.v(t=>Promise.all(["static/chunks/0_jrfk2u1u3fi.js"].map(t=>e.l(t))).then(()=>t(82719)))},46703,e=>{e.v(t=>Promise.all(["static/chunks/1k_8olnprvi8r.js"].map(t=>e.l(t))).then(()=>t(8862)))},51475,e=>{e.v(t=>Promise.all(["static/chunks/30y71dxdpv52d.js"].map(t=>e.l(t))).then(()=>t(36449)))},19760,e=>{e.v(t=>Promise.all(["static/chunks/29bxq-67oazfg.js"].map(t=>e.l(t))).then(()=>t(82154)))},48603,e=>{e.v(t=>Promise.all(["static/chunks/0uygtr4mo3h0v.js"].map(t=>e.l(t))).then(()=>t(63912)))},88701,e=>{e.v(t=>Promise.all(["static/chunks/26i7dn31afdtm.js"].map(t=>e.l(t))).then(()=>t(74401)))},46701,e=>{e.v(t=>Promise.all(["static/chunks/2laz1v9fg2a2z.js"].map(t=>e.l(t))).then(()=>t(92702)))},16709,e=>{e.v(t=>Promise.all(["static/chunks/1f07l3q77zat1.js"].map(t=>e.l(t))).then(()=>t(46891)))},9676,e=>{e.v(t=>Promise.all(["static/chunks/3un-w6wutw1qn.js"].map(t=>e.l(t))).then(()=>t(9813)))},76431,e=>{e.v(t=>Promise.all(["static/chunks/1mt4cnd_d6jvf.js"].map(t=>e.l(t))).then(()=>t(95877)))},18796,e=>{e.v(t=>Promise.all(["static/chunks/1_4hh3dfop93j.js"].map(t=>e.l(t))).then(()=>t(11277)))},29326,e=>{e.v(t=>Promise.all(["static/chunks/0j_3k5qhv_mdx.js"].map(t=>e.l(t))).then(()=>t(7603)))},99726,e=>{e.v(t=>Promise.all(["static/chunks/2trolrgd7neax.js"].map(t=>e.l(t))).then(()=>t(83676)))},40185,e=>{e.v(t=>Promise.all(["static/chunks/0d9pxx1w_zqr9.js"].map(t=>e.l(t))).then(()=>t(68274)))},73268,e=>{e.v(t=>Promise.all(["static/chunks/1dfaheve77dhi.js"].map(t=>e.l(t))).then(()=>t(68893)))},18546,e=>{e.v(t=>Promise.all(["static/chunks/3b6na8zrex8jo.js"].map(t=>e.l(t))).then(()=>t(87873)))},68843,e=>{e.v(t=>Promise.all(["static/chunks/2h07np207nlx7.js"].map(t=>e.l(t))).then(()=>t(47682)))},45285,e=>{e.v(t=>Promise.all(["static/chunks/1aa9g197l4twm.js"].map(t=>e.l(t))).then(()=>t(41189)))},53904,e=>{e.v(t=>Promise.all(["static/chunks/0e5dcxmkprebg.js"].map(t=>e.l(t))).then(()=>t(52193)))},14886,e=>{e.v(t=>Promise.all(["static/chunks/415g3asdds1ac.js"].map(t=>e.l(t))).then(()=>t(53857)))},8859,e=>{e.v(t=>Promise.all(["static/chunks/0o73w0cn5n_vl.js"].map(t=>e.l(t))).then(()=>t(34179)))},48328,e=>{e.v(t=>Promise.all(["static/chunks/28i3wgvgn_at1.js"].map(t=>e.l(t))).then(()=>t(53577)))},56909,e=>{e.v(t=>Promise.all(["static/chunks/0j2ygtc_-bo3m.js"].map(t=>e.l(t))).then(()=>t(25966)))},92341,e=>{e.v(t=>Promise.all(["static/chunks/3j3ol_d1vsdhx.js"].map(t=>e.l(t))).then(()=>t(33135)))},92763,e=>{e.v(t=>Promise.all(["static/chunks/3zv5kyos9vtmm.js"].map(t=>e.l(t))).then(()=>t(99605)))},81310,e=>{e.v(t=>Promise.all(["static/chunks/2neieeo9g2u56.js"].map(t=>e.l(t))).then(()=>t(61352)))},48234,e=>{e.v(t=>Promise.all(["static/chunks/3_earszshuz4n.js"].map(t=>e.l(t))).then(()=>t(5490)))},14335,e=>{e.v(t=>Promise.all(["static/chunks/0qqx9aoz8l5d2.js"].map(t=>e.l(t))).then(()=>t(8981)))},45533,e=>{e.v(t=>Promise.all(["static/chunks/42lqt7ig40wk5.js"].map(t=>e.l(t))).then(()=>t(35388)))},68070,e=>{e.v(t=>Promise.all(["static/chunks/374lzksboll-t.js"].map(t=>e.l(t))).then(()=>t(58883)))},99278,e=>{e.v(t=>Promise.all(["static/chunks/0xzamrecplwzw.js"].map(t=>e.l(t))).then(()=>t(64153)))},47909,e=>{e.v(t=>Promise.all(["static/chunks/17_jjyx4jz9dd.js"].map(t=>e.l(t))).then(()=>t(14435)))},62279,e=>{e.v(t=>Promise.all(["static/chunks/32c-e_v8_2xkf.js"].map(t=>e.l(t))).then(()=>t(5686)))},46795,e=>{e.v(t=>Promise.all(["static/chunks/0o1vph7x9shzu.js"].map(t=>e.l(t))).then(()=>t(10678)))},8946,e=>{e.v(t=>Promise.all(["static/chunks/3qo7e6b73mfxq.js"].map(t=>e.l(t))).then(()=>t(78640)))},76576,e=>{e.v(t=>Promise.all(["static/chunks/0-k4hp87gwues.js"].map(t=>e.l(t))).then(()=>t(40491)))},2259,e=>{e.v(t=>Promise.all(["static/chunks/2dvbzar93ooc-.js"].map(t=>e.l(t))).then(()=>t(70095)))},10338,e=>{e.v(e=>Promise.resolve().then(()=>e(89304)))},60264,e=>{e.v(t=>Promise.all(["static/chunks/336ckqpboqmbn.js"].map(t=>e.l(t))).then(()=>t(63306)))},3958,e=>{e.v(t=>Promise.all(["static/chunks/1bv-jzy_2jiqs.js"].map(t=>e.l(t))).then(()=>t(45193)))},98374,e=>{e.v(t=>Promise.all(["static/chunks/23-y1f_zw56vo.js"].map(t=>e.l(t))).then(()=>t(74081)))},11916,e=>{e.v(t=>Promise.all(["static/chunks/0j0a0wvmmghxj.js"].map(t=>e.l(t))).then(()=>t(40818)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29183,t=>{"use strict";let e,i,a,s,n,r,o,h,l,u,c,_,m,d,p,g,f,y,b,v,T,I,P,O,R,A,C,M,S,z,D,k,w,B,E,x,L,N,V,F,Z,U,Y,X,W,H,K,G,q,j,Q,J,$,tt,te,ti,ta,ts,tn,tr,to,th,tl,tu,tc,t_,tm,td,tp,tg,tf,ty,tb,tv,tT,tI,tP,tO,tR,tA,tC,tM,tS,tz,tD,tk,tw,tB,tE,tx,tL,tN,tV,tF,tZ,tU,tY,tX,tW,tH,tK,tG,tq,tj,tQ,tJ,t$,t0,t1,t3,t2,t5,t6,t8,t4,t9,t7,et,ee,ei,ea,es,en,er,eo,eh,el,eu,ec,e_,em,ed,ep,eg,ef,ey,eb,ev,eT,eI,eP,eO,eR,eA,eC,eM,eS,ez,eD,ek,ew,eB,eE,ex,eL,eN,eV,eF;var eZ,eU,eY,eX,eW,eH,eK,eG,eq=t.i(57575),ej=t.i(9855),eQ=t.i(3864),eJ=t.i(69400),e$=t.i(63235),e0=t.i(52624),e1=t.i(64831),e3=t.i(84964),e2=t.i(87627),e5=t.i(84106);class e6{constructor(){this._zoomStopsAnimation=!1,this._idleRotationSpeed=.05,this._idleRotationWaitTime=2e3,this._idleRotationSpinupTime=2e3,this.targetAlpha=null,this._attachedCamera=null,this._isPointerDown=!1,this._lastFrameTime=null,this._lastInteractionTime=-1/0,this._cameraRotationSpeed=0,this._lastFrameRadius=0}get name(){return"AutoRotation"}set zoomStopsAnimation(t){this._zoomStopsAnimation=t}get zoomStopsAnimation(){return this._zoomStopsAnimation}set idleRotationSpeed(t){this._idleRotationSpeed=t}get idleRotationSpeed(){return this._idleRotationSpeed}set idleRotationWaitTime(t){this._idleRotationWaitTime=t}get idleRotationWaitTime(){return this._idleRotationWaitTime}set idleRotationSpinupTime(t){this._idleRotationSpinupTime=t}get idleRotationSpinupTime(){return this._idleRotationSpinupTime}get rotationInProgress(){return Math.abs(this._cameraRotationSpeed)>0}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t;let e=this._attachedCamera.getScene();this._onPrePointerObservableObserver=e.onPrePointerObservable.add(t=>{if(t.type===e3.PointerEventTypes.POINTERDOWN){this._isPointerDown=!0;return}t.type===e3.PointerEventTypes.POINTERUP&&(this._isPointerDown=!1)}),this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{if(this._reachTargetAlpha())return;let t=e2.PrecisionDate.Now,e=0;null!=this._lastFrameTime&&(e=t-this._lastFrameTime),this._lastFrameTime=t,this._applyUserInteraction();let i=Math.max(Math.min((t-this._lastInteractionTime-this._idleRotationWaitTime)/this._idleRotationSpinupTime,1),0);this._cameraRotationSpeed=this._idleRotationSpeed*i,this._attachedCamera&&(this._attachedCamera.alpha-=this._cameraRotationSpeed*(e/1e3))})}detach(){if(!this._attachedCamera)return;let t=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&t.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._attachedCamera=null,this._lastFrameTime=null}resetLastInteractionTime(t){this._lastInteractionTime=t??e2.PrecisionDate.Now}_reachTargetAlpha(){return!!this._attachedCamera&&!!this.targetAlpha&&Math.abs(this._attachedCamera.alpha-this.targetAlpha)<e5.Epsilon}_userIsZooming(){return!!this._attachedCamera&&0!==this._attachedCamera.inertialRadiusOffset}_shouldAnimationStopForInteraction(){if(!this._attachedCamera)return!1;let t=!1;return this._lastFrameRadius===this._attachedCamera.radius&&0!==this._attachedCamera.inertialRadiusOffset&&(t=!0),this._lastFrameRadius=this._attachedCamera.radius,this._zoomStopsAnimation?t:this._userIsZooming()}_applyUserInteraction(){this._userIsMoving()&&!this._shouldAnimationStopForInteraction()&&(this._lastInteractionTime=e2.PrecisionDate.Now)}_userIsMoving(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)}}var e8=t.i(40780),e4=t.i(8265);class e9{constructor(){this.transitionDuration=450,this.lowerRadiusTransitionRange=2,this.upperRadiusTransitionRange=-2,this._autoTransitionRange=!1,this._attachedCamera=null,this._radiusIsAnimating=!1,this._radiusBounceTransition=null,this._animatables=[]}get name(){return"Bouncing"}get autoTransitionRange(){return this._autoTransitionRange}set autoTransitionRange(t){if(this._autoTransitionRange===t)return;this._autoTransitionRange=t;let e=this._attachedCamera;e&&(t?this._onMeshTargetChangedObserver=e.onMeshTargetChangedObservable.add(t=>{if(t&&(t.computeWorldMatrix(!0),t.getBoundingInfo)){let e=t.getBoundingInfo().diagonalLength;this.lowerRadiusTransitionRange=.05*e,this.upperRadiusTransitionRange=.05*e}}):this._onMeshTargetChangedObserver&&e.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver))}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t,this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{this._attachedCamera&&(this._isRadiusAtLimit(this._attachedCamera.lowerRadiusLimit)&&this._applyBoundRadiusAnimation(this.lowerRadiusTransitionRange),this._isRadiusAtLimit(this._attachedCamera.upperRadiusLimit)&&this._applyBoundRadiusAnimation(this.upperRadiusTransitionRange))})}detach(){this._attachedCamera&&(this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null)}_isRadiusAtLimit(t){return!!this._attachedCamera&&this._attachedCamera.radius===t&&!this._radiusIsAnimating}_applyBoundRadiusAnimation(t){if(!this._attachedCamera)return;this._radiusBounceTransition||(e9.EasingFunction.setEasingMode(e9.EasingMode),this._radiusBounceTransition=e4.Animation.CreateAnimation("radius",e4.Animation.ANIMATIONTYPE_FLOAT,60,e9.EasingFunction)),this._cachedWheelPrecision=this._attachedCamera.wheelPrecision,this._attachedCamera.wheelPrecision=1/0,this._attachedCamera.inertialRadiusOffset=0,this.stopAllAnimations(),this._radiusIsAnimating=!0;let e=e4.Animation.TransitionTo("radius",this._attachedCamera.radius+t,this._attachedCamera,this._attachedCamera.getScene(),60,this._radiusBounceTransition,this.transitionDuration,()=>this._clearAnimationLocks());e&&this._animatables.push(e)}_clearAnimationLocks(){this._radiusIsAnimating=!1,this._attachedCamera&&(this._attachedCamera.wheelPrecision=this._cachedWheelPrecision)}stopAllAnimations(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0].onAnimationEnd=null,this._animatables[0].stop(),this._animatables.shift()}}e9.EasingFunction=new e8.BackEase(.3),e9.EasingMode=e8.EasingFunction.EASINGMODE_EASEOUT;class e7{constructor(){this.onTargetFramingAnimationEndObservable=new eQ.Observable,this._mode=e7.FitFrustumSidesMode,this._radiusScale=1,this._positionScale=.5,this._defaultElevation=.3,this._elevationReturnTime=1500,this._elevationReturnWaitTime=1e3,this._zoomStopsAnimation=!1,this._framingTime=1500,this.autoCorrectCameraLimitsAndSensibility=!0,this._attachedCamera=null,this._isPointerDown=!1,this._lastInteractionTime=-1/0,this._animatables=[],this._betaIsAnimating=!1}get name(){return"Framing"}set mode(t){this._mode=t}get mode(){return this._mode}set radiusScale(t){this._radiusScale=t}get radiusScale(){return this._radiusScale}set positionScale(t){this._positionScale=t}get positionScale(){return this._positionScale}set defaultElevation(t){this._defaultElevation=t}get defaultElevation(){return this._defaultElevation}set elevationReturnTime(t){this._elevationReturnTime=t}get elevationReturnTime(){return this._elevationReturnTime}set elevationReturnWaitTime(t){this._elevationReturnWaitTime=t}get elevationReturnWaitTime(){return this._elevationReturnWaitTime}set zoomStopsAnimation(t){this._zoomStopsAnimation=t}get zoomStopsAnimation(){return this._zoomStopsAnimation}set framingTime(t){this._framingTime=t}get framingTime(){return this._framingTime}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t;let e=this._attachedCamera.getScene();e7.EasingFunction.setEasingMode(e7.EasingMode),this._onPrePointerObservableObserver=e.onPrePointerObservable.add(t=>{if(t.type===e3.PointerEventTypes.POINTERDOWN){this._isPointerDown=!0;return}t.type===e3.PointerEventTypes.POINTERUP&&(this._isPointerDown=!1)}),this._onMeshTargetChangedObserver=t.onMeshTargetChangedObservable.add(t=>{t&&t.getBoundingInfo&&this.zoomOnMesh(t,void 0,()=>{this.onTargetFramingAnimationEndObservable.notifyObservers()})}),this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{this._applyUserInteraction(),this._maintainCameraAboveGround()})}detach(){if(!this._attachedCamera)return;let t=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&t.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null}zoomOnMesh(t,e=!1,i=null){t.computeWorldMatrix(!0);let a=t.getBoundingInfo().boundingBox;this.zoomOnBoundingInfo(a.minimumWorld,a.maximumWorld,e,i)}zoomOnMeshHierarchy(t,e=!1,i=null){t.computeWorldMatrix(!0);let a=t.getHierarchyBoundingVectors(!0);this.zoomOnBoundingInfo(a.min,a.max,e,i)}zoomOnMeshesHierarchy(t,e=!1,i=null){let a=new eJ.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new eJ.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let e=0;e<t.length;e++){let i=t[e].getHierarchyBoundingVectors(!0);eJ.Vector3.CheckExtends(i.min,a,s),eJ.Vector3.CheckExtends(i.max,a,s)}this.zoomOnBoundingInfo(a,s,e,i)}zoomOnBoundingInfo(t,e,i=!1,a=null){let s;if(!this._attachedCamera)return!1;let n=t.y,r=n+(e.y-n)*this._positionScale,o=e.subtract(t).scale(.5);if(!isFinite(r))return!1;if(i)s=new eJ.Vector3(0,r,0);else{let e=t.add(o);s=new eJ.Vector3(e.x,r,e.z)}this._vectorTransition||(this._vectorTransition=e4.Animation.CreateAnimation("target",e4.Animation.ANIMATIONTYPE_VECTOR3,60,e7.EasingFunction)),this._betaIsAnimating=!0;let h=e4.Animation.TransitionTo("target",s,this._attachedCamera,this._attachedCamera.getScene(),60,this._vectorTransition,this._framingTime);h&&this._animatables.push(h);let l=0;if(this._mode===e7.FitFrustumSidesMode){let i=this._calculateLowerRadiusFromModelBoundingSphere(t,e);this.autoCorrectCameraLimitsAndSensibility&&(this._attachedCamera.lowerRadiusLimit=o.length()+this._attachedCamera.minZ),l=i}else this._mode===e7.IgnoreBoundsSizeMode&&(l=this._calculateLowerRadiusFromModelBoundingSphere(t,e),this.autoCorrectCameraLimitsAndSensibility&&null===this._attachedCamera.lowerRadiusLimit&&(this._attachedCamera.lowerRadiusLimit=this._attachedCamera.minZ));if(this.autoCorrectCameraLimitsAndSensibility){let i=e.subtract(t).length();this._attachedCamera.panningSensibility=5e3/i,this._attachedCamera.wheelPrecision=100/l}return this._radiusTransition||(this._radiusTransition=e4.Animation.CreateAnimation("radius",e4.Animation.ANIMATIONTYPE_FLOAT,60,e7.EasingFunction)),(h=e4.Animation.TransitionTo("radius",l,this._attachedCamera,this._attachedCamera.getScene(),60,this._radiusTransition,this._framingTime,()=>{this.stopAllAnimations(),a&&a(),this._attachedCamera&&this._attachedCamera.useInputToRestoreState&&this._attachedCamera.storeState()}))&&this._animatables.push(h),!0}_calculateLowerRadiusFromModelBoundingSphere(t,e){let i=this._attachedCamera;if(!i)return 0;let a=i._calculateLowerRadiusFromModelBoundingSphere(t,e,this._radiusScale);return i.lowerRadiusLimit&&this._mode===e7.IgnoreBoundsSizeMode&&(a=a<i.lowerRadiusLimit?i.lowerRadiusLimit:a),i.upperRadiusLimit&&(a=a>i.upperRadiusLimit?i.upperRadiusLimit:a),a}_maintainCameraAboveGround(){if(this._elevationReturnTime<0)return;let t=e2.PrecisionDate.Now-this._lastInteractionTime,e=.5*Math.PI-this._defaultElevation,i=.5*Math.PI;if(this._attachedCamera&&!this._betaIsAnimating&&this._attachedCamera.beta>i&&t>=this._elevationReturnWaitTime){this._betaIsAnimating=!0,this.stopAllAnimations(),this._betaTransition||(this._betaTransition=e4.Animation.CreateAnimation("beta",e4.Animation.ANIMATIONTYPE_FLOAT,60,e7.EasingFunction));let t=e4.Animation.TransitionTo("beta",e,this._attachedCamera,this._attachedCamera.getScene(),60,this._betaTransition,this._elevationReturnTime,()=>{this._clearAnimationLocks(),this.stopAllAnimations()});t&&this._animatables.push(t)}}_clearAnimationLocks(){this._betaIsAnimating=!1}_applyUserInteraction(){this.isUserIsMoving&&(this._lastInteractionTime=e2.PrecisionDate.Now,this.stopAllAnimations(),this._clearAnimationLocks())}stopAllAnimations(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0]&&(this._animatables[0].onAnimationEnd=null,this._animatables[0].stop()),this._animatables.shift()}get isUserIsMoving(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)}}e7.EasingFunction=new e8.ExponentialEase,e7.EasingMode=e8.EasingFunction.EASINGMODE_EASEINOUT,e7.IgnoreBoundsSizeMode=0,e7.FitFrustumSidesMode=1;var it=t.i(55288),ie=t.i(82571),ii=t.i(25970),ia=t.i(92180);let is=(P=(h=(i=[],a=[],eZ=class{constructor(){this._currentMousePointerIdDown=-1,this.buttons=(0,eq.__runInitializers)(this,i,[0,1,2]),this._pointerInput=(0,eq.__runInitializers)(this,a)}attachControl(t){t=ia.Tools.BackCompatCameraNoPreventDefault(arguments);let e=this.camera.getEngine(),i=e.getInputElement(),a=0,s=null;this._pointA=null,this._pointB=null,this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0,this._pointerInput=n=>{let r=n.event,o="touch"===r.pointerType;if(n.type!==e3.PointerEventTypes.POINTERMOVE&&-1===this.buttons.indexOf(r.button))return;let h=r.target;if(this._altKey=r.altKey,this._ctrlKey=r.ctrlKey,this._metaKey=r.metaKey,this._shiftKey=r.shiftKey,this._buttonsPressed=r.buttons,e.isPointerLock){let t=r.movementX,e=r.movementY;this.onTouch(null,t,e),this._pointA=null,this._pointB=null}else if(n.type!==e3.PointerEventTypes.POINTERDOWN&&n.type!==e3.PointerEventTypes.POINTERDOUBLETAP&&o&&this._pointA?.pointerId!==r.pointerId&&this._pointB?.pointerId!==r.pointerId)return;else if(n.type===e3.PointerEventTypes.POINTERDOWN&&(-1===this._currentMousePointerIdDown||o)){try{h?.setPointerCapture(r.pointerId)}catch(t){}if(null===this._pointA)this._pointA={x:r.clientX,y:r.clientY,pointerId:r.pointerId,type:r.pointerType,button:r.button};else{if(null!==this._pointB)return;this._pointB={x:r.clientX,y:r.clientY,pointerId:r.pointerId,type:r.pointerType,button:r.button}}-1!==this._currentMousePointerIdDown||o||(this._currentMousePointerIdDown=r.pointerId),this.onButtonDown(r),!t&&(r.preventDefault(),i&&i.focus())}else if(n.type===e3.PointerEventTypes.POINTERDOUBLETAP)this.onDoubleTap(r.pointerType,r);else if(n.type===e3.PointerEventTypes.POINTERUP&&(this._currentMousePointerIdDown===r.pointerId||o)){try{h?.releasePointerCapture(r.pointerId)}catch(t){}o||(this._pointB=null),e._badOS?this._pointA=this._pointB=null:this._pointB&&this._pointA&&this._pointA.pointerId==r.pointerId?(this._pointA=this._pointB,this._pointB=null):this._pointA&&this._pointB&&this._pointB.pointerId==r.pointerId?this._pointB=null:this._pointA=this._pointB=null,(0!==a||s)&&(this.onMultiTouch(this._pointA,this._pointB,a,0,s,null),a=0,s=null),this._currentMousePointerIdDown=-1,this.onButtonUp(r),t||r.preventDefault()}else if(n.type===e3.PointerEventTypes.POINTERMOVE){if(t||r.preventDefault(),this._pointA&&null===this._pointB){let t=r.clientX-this._pointA.x,e=r.clientY-this._pointA.y;this._pointA.x=r.clientX,this._pointA.y=r.clientY,this.onTouch(this._pointA,t,e)}else if(this._pointA&&this._pointB){let t=this._pointA.pointerId===r.pointerId?this._pointA:this._pointB;t.x=r.clientX,t.y=r.clientY;let e=this._pointA.x-this._pointB.x,i=this._pointA.y-this._pointB.y,o=e*e+i*i,h={x:(this._pointA.x+this._pointB.x)/2,y:(this._pointA.y+this._pointB.y)/2,pointerId:r.pointerId,type:n.type};this.onMultiTouch(this._pointA,this._pointB,a,o,s,h),s=h,a=o}}},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput,e3.PointerEventTypes.POINTERDOWN|e3.PointerEventTypes.POINTERUP|e3.PointerEventTypes.POINTERMOVE|e3.PointerEventTypes.POINTERDOUBLETAP),this._onLostFocus=()=>{this._pointA=this._pointB=null,a=0,s=null,this.onLostFocus()},this._contextMenuBind=t=>this.onContextMenu(t),i&&i.addEventListener("contextmenu",this._contextMenuBind,!1);let n=this.camera.getScene().getEngine().getHostWindow();n&&ia.Tools.RegisterTopRootEvents(n,[{name:"blur",handler:this._onLostFocus}])}detachControl(){if(this._onLostFocus){let t=this.camera.getScene().getEngine().getHostWindow();t&&ia.Tools.UnregisterTopRootEvents(t,[{name:"blur",handler:this._onLostFocus}])}if(this._observer){if(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null,this._contextMenuBind){let t=this.camera.getScene().getEngine().getInputElement();t&&t.removeEventListener("contextmenu",this._contextMenuBind)}this._onLostFocus=null}this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0,this._currentMousePointerIdDown=-1}getClassName(){return"BaseCameraPointersInput"}getSimpleName(){return"pointers"}onDoubleTap(t,e){}onTouch(t,e,i){}onMultiTouch(t,e,i,a,s,n){}onContextMenu(t){t.preventDefault()}onButtonDown(t){}onButtonUp(t){}onLostFocus(){}},s="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,e=[(0,ej.serialize)()],(0,eq.__esDecorate)(null,null,e,{kind:"field",name:"buttons",static:!1,private:!1,access:{has:t=>"buttons"in t,get:t=>t.buttons,set:(t,e)=>{t.buttons=e}},metadata:s},i,a),s&&Object.defineProperty(eZ,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),eZ),l=[],u=[],c=[],_=[],m=[],d=[],eU=class extends h{constructor(){super(...arguments),this.pinchZoom=(0,eq.__runInitializers)(this,l,!0),this.multiTouchPanning=((0,eq.__runInitializers)(this,u),(0,eq.__runInitializers)(this,c,!0)),this.multiTouchPanAndZoom=((0,eq.__runInitializers)(this,_),(0,eq.__runInitializers)(this,m,!0)),this._isPinching=((0,eq.__runInitializers)(this,d),!1),this._twoFingerActivityCount=0,this._shouldStartPinchZoom=!1}_computePinchZoom(t,e){}_computeMultiTouchPanning(t,e){}onMultiTouch(t,e,i,a,s,n){0===i&&null===s||(0!==a||null!==n)&&(this.multiTouchPanAndZoom?(this._computePinchZoom(i,a),this._computeMultiTouchPanning(s,n)):this.multiTouchPanning&&this.pinchZoom?(this._twoFingerActivityCount++,this._isPinching||this._shouldStartPinchZoom?(this._computePinchZoom(i,a),this._isPinching=!0):this._computeMultiTouchPanning(s,n)):this.multiTouchPanning?this._computeMultiTouchPanning(s,n):this.pinchZoom&&this._computePinchZoom(i,a))}onButtonUp(t){this._twoFingerActivityCount=0,this._isPinching=!1}onLostFocus(){this._twoFingerActivityCount=0,this._isPinching=!1}},p="function"==typeof Symbol&&Symbol.metadata?Object.create(h[Symbol.metadata]??null):void 0,n=[(0,ej.serialize)()],r=[(0,ej.serialize)()],o=[(0,ej.serialize)()],(0,eq.__esDecorate)(null,null,n,{kind:"field",name:"pinchZoom",static:!1,private:!1,access:{has:t=>"pinchZoom"in t,get:t=>t.pinchZoom,set:(t,e)=>{t.pinchZoom=e}},metadata:p},l,u),(0,eq.__esDecorate)(null,null,r,{kind:"field",name:"multiTouchPanning",static:!1,private:!1,access:{has:t=>"multiTouchPanning"in t,get:t=>t.multiTouchPanning,set:(t,e)=>{t.multiTouchPanning=e}},metadata:p},c,_),(0,eq.__esDecorate)(null,null,o,{kind:"field",name:"multiTouchPanAndZoom",static:!1,private:!1,access:{has:t=>"multiTouchPanAndZoom"in t,get:t=>t.multiTouchPanAndZoom,set:(t,e)=>{t.multiTouchPanAndZoom=e}},metadata:p},m,d),p&&Object.defineProperty(eU,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:p}),eU),O=[],R=[],A=[],C=[],M=[],S=[],z=[],D=[],k=[],w=[],B=[],E=[],x=[],L=[],eY=class extends P{constructor(){super(...arguments),this.buttons=(0,eq.__runInitializers)(this,O,[0,1,2]),this.angularSensibilityX=((0,eq.__runInitializers)(this,R),(0,eq.__runInitializers)(this,A,1e3)),this.angularSensibilityY=((0,eq.__runInitializers)(this,C),(0,eq.__runInitializers)(this,M,1e3)),this.pinchPrecision=((0,eq.__runInitializers)(this,S),(0,eq.__runInitializers)(this,z,12)),this.pinchDeltaPercentage=((0,eq.__runInitializers)(this,D),(0,eq.__runInitializers)(this,k,0)),this.useNaturalPinchZoom=((0,eq.__runInitializers)(this,w),(0,eq.__runInitializers)(this,B,!1)),this.panningSensibility=((0,eq.__runInitializers)(this,E),(0,eq.__runInitializers)(this,x,1e3)),this.pinchInwards=((0,eq.__runInitializers)(this,L),!0),this._activeEntry=null,this._pointerLockConditions={button:0,modifiers:{}},this._pointerModifiers={ctrl:!1,alt:!1,shift:!1},this._pointerConditions={modifiers:this._pointerModifiers}}getClassName(){return"ArcRotateCameraPointersInput"}_computeMultiTouchPanning(t,e){if(t&&e){let i=e.x-t.x,a=e.y-t.y,s=this.camera.movement.input.getEntry("pointer","pan"),n=s?.sensitivity??(0!==this.panningSensibility?1/this.panningSensibility:0);0!==n&&(this.camera.movement.activeInput=!0,this.camera.movement.panAccumulatedPixels.x+=-i*n,this.camera.movement.panAccumulatedPixels.y+=a*n)}}_computePinchZoom(t,e){let i=this.camera.radius||eY.MinimumRadiusForPinch;if(this.useNaturalPinchZoom)this.camera.radius=i*Math.sqrt(t)/Math.sqrt(e);else if(this.pinchDeltaPercentage){let a=(e-t)*.001*i*this.pinchDeltaPercentage;this.camera.movement.activeInput=!0,this.camera.movement.zoomAccumulatedPixels+=a}else{let i=(e-t)/(this.pinchPrecision*(this.pinchInwards?1:-1)*(this.angularSensibilityX+this.angularSensibilityY)/2);this.camera.movement.activeInput=!0,this.camera.movement.zoomAccumulatedPixels+=i}}onTouch(t,e,i){let a=this._activeEntry??(this.camera.getEngine().isPointerLock?this.camera.movement.input.resolveInteraction("pointer",this._pointerLockConditions):null);if(a){if("pan"===a.interaction){let t=a.sensitivity??(0!==this.panningSensibility?1/this.panningSensibility:0);0!==t&&(this.camera.movement.activeInput=!0,this.camera.movement.panAccumulatedPixels.x+=-e*t,this.camera.movement.panAccumulatedPixels.y+=i*t)}else if("rotate"===a.interaction){let t=a.sensitivityX??a.sensitivity??1/this.angularSensibilityX,s=a.sensitivityY??a.sensitivity??1/this.angularSensibilityY;this.camera.movement.activeInput=!0,this.camera.movement.rotationAccumulatedPixels.x+=-e*t,this.camera.movement.rotationAccumulatedPixels.y+=-i*s}}}onDoubleTap(){this.camera.useInputToRestoreState&&this.camera.restoreState()}onMultiTouch(t,e,i,a,s,n){this._shouldStartPinchZoom=this._twoFingerActivityCount<20&&Math.abs(Math.sqrt(a)-Math.sqrt(i))>this.camera.pinchToPanMaxDistance,super.onMultiTouch(t,e,i,a,s,n)}onButtonDown(t){this._pointerConditions.button=t.button,this._pointerModifiers.ctrl=t.ctrlKey,this._pointerModifiers.alt=t.altKey,this._pointerModifiers.shift=t.shiftKey,this._activeEntry=this.camera.movement.input.resolveInteraction("pointer",this._pointerConditions),super.onButtonDown(t)}onButtonUp(t){this._activeEntry=null,super.onButtonUp(t)}onLostFocus(){this._activeEntry=null,super.onLostFocus()}},N="function"==typeof Symbol&&Symbol.metadata?Object.create(P[Symbol.metadata]??null):void 0,g=[(0,ej.serialize)()],f=[(0,ej.serialize)()],y=[(0,ej.serialize)()],b=[(0,ej.serialize)()],v=[(0,ej.serialize)()],T=[(0,ej.serialize)()],I=[(0,ej.serialize)()],(0,eq.__esDecorate)(null,null,g,{kind:"field",name:"buttons",static:!1,private:!1,access:{has:t=>"buttons"in t,get:t=>t.buttons,set:(t,e)=>{t.buttons=e}},metadata:N},O,R),(0,eq.__esDecorate)(null,null,f,{kind:"field",name:"angularSensibilityX",static:!1,private:!1,access:{has:t=>"angularSensibilityX"in t,get:t=>t.angularSensibilityX,set:(t,e)=>{t.angularSensibilityX=e}},metadata:N},A,C),(0,eq.__esDecorate)(null,null,y,{kind:"field",name:"angularSensibilityY",static:!1,private:!1,access:{has:t=>"angularSensibilityY"in t,get:t=>t.angularSensibilityY,set:(t,e)=>{t.angularSensibilityY=e}},metadata:N},M,S),(0,eq.__esDecorate)(null,null,b,{kind:"field",name:"pinchPrecision",static:!1,private:!1,access:{has:t=>"pinchPrecision"in t,get:t=>t.pinchPrecision,set:(t,e)=>{t.pinchPrecision=e}},metadata:N},z,D),(0,eq.__esDecorate)(null,null,v,{kind:"field",name:"pinchDeltaPercentage",static:!1,private:!1,access:{has:t=>"pinchDeltaPercentage"in t,get:t=>t.pinchDeltaPercentage,set:(t,e)=>{t.pinchDeltaPercentage=e}},metadata:N},k,w),(0,eq.__esDecorate)(null,null,T,{kind:"field",name:"useNaturalPinchZoom",static:!1,private:!1,access:{has:t=>"useNaturalPinchZoom"in t,get:t=>t.useNaturalPinchZoom,set:(t,e)=>{t.useNaturalPinchZoom=e}},metadata:N},B,E),(0,eq.__esDecorate)(null,null,I,{kind:"field",name:"panningSensibility",static:!1,private:!1,access:{has:t=>"panningSensibility"in t,get:t=>t.panningSensibility,set:(t,e)=>{t.panningSensibility=e}},metadata:N},x,L),N&&Object.defineProperty(eY,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:N}),eY.MinimumRadiusForPinch=.001,eY);ii.CameraInputTypes.ArcRotateCameraPointersInput=is;var ir=t.i(71092);let io=(j=[],Q=[],J=[],$=[],tt=[],te=[],ti=[],ta=[],ts=[],tn=[],tr=[],to=[],th=[],tl=[],tu=[],tc=[],t_=[],tm=[],td=[],tp=[],tg=[],eX=class{constructor(){this.camera=(0,eq.__runInitializers)(this,j),this.keysUp=(0,eq.__runInitializers)(this,Q,[38]),this.keysDown=((0,eq.__runInitializers)(this,J),(0,eq.__runInitializers)(this,$,[40])),this.keysLeft=((0,eq.__runInitializers)(this,tt),(0,eq.__runInitializers)(this,te,[37])),this.keysRight=((0,eq.__runInitializers)(this,ti),(0,eq.__runInitializers)(this,ta,[39])),this.keysReset=((0,eq.__runInitializers)(this,ts),(0,eq.__runInitializers)(this,tn,[220])),this.keysZoomIn=((0,eq.__runInitializers)(this,tr),(0,eq.__runInitializers)(this,to,[187,107])),this.keysZoomOut=((0,eq.__runInitializers)(this,th),(0,eq.__runInitializers)(this,tl,[189,109])),this.panningSensibility=((0,eq.__runInitializers)(this,tu),(0,eq.__runInitializers)(this,tc,50)),this.zoomingSensibility=((0,eq.__runInitializers)(this,t_),(0,eq.__runInitializers)(this,tm,25)),this.angularSpeed=((0,eq.__runInitializers)(this,td),(0,eq.__runInitializers)(this,tp,.01)),this._useAltToZoom=((0,eq.__runInitializers)(this,tg),!0),this._keys=[],this._keyboardModifiers={ctrl:!1,alt:!1},this._keyboardConditions={modifiers:this._keyboardModifiers},this._rotateDirection=new eJ.Vector2,this._panDirection=new eJ.Vector2}get useAltToZoom(){return this._useAltToZoom}set useAltToZoom(t){this._useAltToZoom=t,this._applyUseAltToZoomToInputMap()}_applyUseAltToZoomToInputMap(){if(!this.camera?.movement)return;let t=this.camera.movement.input,e=t.getEntry("keyboard","zoom",{modifiers:{alt:!0}});!this._useAltToZoom&&e?t.inputMap.splice(t.inputMap.indexOf(e),1):this._useAltToZoom&&!e&&t.addEntry({source:"keyboard",modifiers:{alt:!0},interaction:"zoom"})}attachControl(t){t=ia.Tools.BackCompatCameraNoPreventDefault(arguments),this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._applyUseAltToZoomToInputMap(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add(()=>{this._keys.length=0}),this._onKeyboardObserver=this._scene.onKeyboardObservable.add(e=>{let i=e.event;if(!i.metaKey){if(e.type===ir.KeyboardEventTypes.KEYDOWN)this._ctrlPressed=i.ctrlKey,this._altPressed=i.altKey,(-1!==this.keysUp.indexOf(i.keyCode)||-1!==this.keysDown.indexOf(i.keyCode)||-1!==this.keysLeft.indexOf(i.keyCode)||-1!==this.keysRight.indexOf(i.keyCode)||-1!==this.keysReset.indexOf(i.keyCode)||-1!==this.keysZoomIn.indexOf(i.keyCode)||-1!==this.keysZoomOut.indexOf(i.keyCode))&&(-1===this._keys.indexOf(i.keyCode)&&this._keys.push(i.keyCode),i.preventDefault&&!t&&i.preventDefault());else if(-1!==this.keysUp.indexOf(i.keyCode)||-1!==this.keysDown.indexOf(i.keyCode)||-1!==this.keysLeft.indexOf(i.keyCode)||-1!==this.keysRight.indexOf(i.keyCode)||-1!==this.keysReset.indexOf(i.keyCode)||-1!==this.keysZoomIn.indexOf(i.keyCode)||-1!==this.keysZoomOut.indexOf(i.keyCode)){let e=this._keys.indexOf(i.keyCode);e>=0&&this._keys.splice(e,1),i.preventDefault&&!t&&i.preventDefault()}}}))}detachControl(){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys.length=0}checkInputs(){if(this._onKeyboardObserver){let t=this.camera,e=t.movement.input;this._keyboardModifiers.ctrl=this._ctrlPressed,this._keyboardModifiers.alt=this._altPressed;let i=this._rotateDirection.set(0,0),a=this._panDirection.set(0,0),s=0,n=0;for(let r=0;r<this._keys.length;r++){let o=this._keys[r];if(this._keyboardConditions.key=o,-1===this.keysReset.indexOf(o)){let t=e.resolveInteraction("keyboard",this._keyboardConditions);if(t)if("pan"===t.interaction)n=Math.max(n,t.sensitivity??1/this.panningSensibility),-1!==this.keysLeft.indexOf(o)?a.x-=1:-1!==this.keysRight.indexOf(o)?a.x+=1:-1!==this.keysUp.indexOf(o)?a.y+=1:-1!==this.keysDown.indexOf(o)&&(a.y-=1);else if("zoom"===t.interaction){let i=t.sensitivity??1/this.zoomingSensibility;-1!==this.keysUp.indexOf(o)||-1!==this.keysZoomIn.indexOf(o)?e.handlers.zoom(i):(-1!==this.keysDown.indexOf(o)||-1!==this.keysZoomOut.indexOf(o))&&e.handlers.zoom(-i)}else"rotate"===t.interaction&&(s=Math.max(s,t.sensitivity??this.angularSpeed),-1!==this.keysLeft.indexOf(o)?i.x-=1:-1!==this.keysRight.indexOf(o)?i.x+=1:-1!==this.keysUp.indexOf(o)?i.y-=1:-1!==this.keysDown.indexOf(o)&&(i.y+=1))}-1!==this.keysReset.indexOf(o)&&t.useInputToRestoreState&&t.restoreState()}(0!==i.x||0!==i.y)&&(i.normalize().scaleInPlace(s),e.handlers.rotate(i.x,i.y)),(0!==a.x||0!==a.y)&&(a.normalize().scaleInPlace(n),e.handlers.pan(a.x,a.y))}}getClassName(){return"ArcRotateCameraKeyboardMoveInput"}getSimpleName(){return"keyboard"}},tf="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,V=[(0,ej.serialize)()],F=[(0,ej.serialize)()],Z=[(0,ej.serialize)()],U=[(0,ej.serialize)()],Y=[(0,ej.serialize)()],X=[(0,ej.serialize)()],W=[(0,ej.serialize)()],H=[(0,ej.serialize)()],K=[(0,ej.serialize)()],G=[(0,ej.serialize)()],q=[(0,ej.serialize)()],(0,eq.__esDecorate)(eX,null,q,{kind:"getter",name:"useAltToZoom",static:!1,private:!1,access:{has:t=>"useAltToZoom"in t,get:t=>t.useAltToZoom},metadata:tf},null,j),(0,eq.__esDecorate)(null,null,V,{kind:"field",name:"keysUp",static:!1,private:!1,access:{has:t=>"keysUp"in t,get:t=>t.keysUp,set:(t,e)=>{t.keysUp=e}},metadata:tf},Q,J),(0,eq.__esDecorate)(null,null,F,{kind:"field",name:"keysDown",static:!1,private:!1,access:{has:t=>"keysDown"in t,get:t=>t.keysDown,set:(t,e)=>{t.keysDown=e}},metadata:tf},$,tt),(0,eq.__esDecorate)(null,null,Z,{kind:"field",name:"keysLeft",static:!1,private:!1,access:{has:t=>"keysLeft"in t,get:t=>t.keysLeft,set:(t,e)=>{t.keysLeft=e}},metadata:tf},te,ti),(0,eq.__esDecorate)(null,null,U,{kind:"field",name:"keysRight",static:!1,private:!1,access:{has:t=>"keysRight"in t,get:t=>t.keysRight,set:(t,e)=>{t.keysRight=e}},metadata:tf},ta,ts),(0,eq.__esDecorate)(null,null,Y,{kind:"field",name:"keysReset",static:!1,private:!1,access:{has:t=>"keysReset"in t,get:t=>t.keysReset,set:(t,e)=>{t.keysReset=e}},metadata:tf},tn,tr),(0,eq.__esDecorate)(null,null,X,{kind:"field",name:"keysZoomIn",static:!1,private:!1,access:{has:t=>"keysZoomIn"in t,get:t=>t.keysZoomIn,set:(t,e)=>{t.keysZoomIn=e}},metadata:tf},to,th),(0,eq.__esDecorate)(null,null,W,{kind:"field",name:"keysZoomOut",static:!1,private:!1,access:{has:t=>"keysZoomOut"in t,get:t=>t.keysZoomOut,set:(t,e)=>{t.keysZoomOut=e}},metadata:tf},tl,tu),(0,eq.__esDecorate)(null,null,H,{kind:"field",name:"panningSensibility",static:!1,private:!1,access:{has:t=>"panningSensibility"in t,get:t=>t.panningSensibility,set:(t,e)=>{t.panningSensibility=e}},metadata:tf},tc,t_),(0,eq.__esDecorate)(null,null,K,{kind:"field",name:"zoomingSensibility",static:!1,private:!1,access:{has:t=>"zoomingSensibility"in t,get:t=>t.zoomingSensibility,set:(t,e)=>{t.zoomingSensibility=e}},metadata:tf},tm,td),(0,eq.__esDecorate)(null,null,G,{kind:"field",name:"angularSpeed",static:!1,private:!1,access:{has:t=>"angularSpeed"in t,get:t=>t.angularSpeed,set:(t,e)=>{t.angularSpeed=e}},metadata:tf},tp,tg),tf&&Object.defineProperty(eX,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:tf}),eX);ii.CameraInputTypes.ArcRotateCameraKeyboardMoveInput=io;var ih=t.i(96042),il=t.i(4021);let iu=(tT=[],tI=[],tP=[],tO=[],tR=[],tA=[],eW=class{constructor(){this.wheelPrecision=(0,eq.__runInitializers)(this,tT,3),this.zoomToMouseLocation=((0,eq.__runInitializers)(this,tI),(0,eq.__runInitializers)(this,tP,!1)),this.wheelDeltaPercentage=((0,eq.__runInitializers)(this,tO),(0,eq.__runInitializers)(this,tR,0)),this.customComputeDeltaFromMouseWheel=((0,eq.__runInitializers)(this,tA),null),this._viewOffset=new eJ.Vector3(0,0,0),this._globalOffset=new eJ.Vector3(0,0,0),this._inertialPanning=eJ.Vector3.Zero(),this._zoomToMouseRadiusOffset=0}_computeDeltaFromMouseWheelLegacyEvent(t,e){let i=.01*t*this.wheelDeltaPercentage*e;return t>0?i/(1+this.wheelDeltaPercentage):i*(1+this.wheelDeltaPercentage)}attachControl(t){t=ia.Tools.BackCompatCameraNoPreventDefault(arguments),this._wheel=e=>{let i;if(e.type!==e3.PointerEventTypes.POINTERWHEEL)return;let a=e.event,s=a.deltaMode===il.EventConstants.DOM_DELTA_LINE?40:1,n=-(a.deltaY*s);if(this.customComputeDeltaFromMouseWheel)i=this.customComputeDeltaFromMouseWheel(n,this,a);else if(this.wheelDeltaPercentage){if((i=this._computeDeltaFromMouseWheelLegacyEvent(n,this.camera.radius))>0){let t=this.zoomToMouseLocation?this._zoomToMouseRadiusOffset:this.camera.inertialRadiusOffset,e=this.camera.radius,a=t+i;for(let t=0;t<20&&!(e<=a)&&!(.001>Math.abs(a*this.camera.inertia));t++)e-=a,a*=this.camera.inertia;e=(0,e$.Clamp)(e,0,Number.MAX_VALUE),i=this._computeDeltaFromMouseWheelLegacyEvent(n,e)}}else{let t=this.camera.movement.input.getEntry("wheel","zoom");i=n*(t?.sensitivity??1/(40*this.wheelPrecision))}i&&(this.zoomToMouseLocation?(this._hitPlane||this._updateHitPlane(),this._zoomToMouse(i)):this.camera.movement.zoomAccumulatedPixels+=i),a.preventDefault&&!t&&a.preventDefault()},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._wheel,e3.PointerEventTypes.POINTERWHEEL),this.zoomToMouseLocation&&this._inertialPanning.setAll(0)}detachControl(){this._observer&&(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null,this._wheel=null)}checkInputs(){if(!this.zoomToMouseLocation)return;let t=this.camera;if(Math.abs(this._zoomToMouseRadiusOffset)+this._inertialPanning.lengthSquared()+Math.abs(t.inertialAlphaOffset)+Math.abs(t.inertialBetaOffset)+Math.abs(t.inertialRadiusOffset)){this._updateHitPlane(),t.target.addInPlace(this._inertialPanning),t.radius-=this._zoomToMouseRadiusOffset;let e=t.movement.getFrameIndependentDecay(t.inertia);this._inertialPanning.scaleInPlace(e),this._zoomToMouseRadiusOffset*=e,this._zeroIfClose(this._inertialPanning),Math.abs(this._zoomToMouseRadiusOffset)<e5.Epsilon&&(this._zoomToMouseRadiusOffset=0)}}getClassName(){return"ArcRotateCameraMouseWheelInput"}getSimpleName(){return"mousewheel"}_updateHitPlane(){let t=this.camera,e=t.target.subtract(t.position);this._hitPlane=ih.Plane.FromPositionAndNormal(t.target,e)}_getPosition(){let t=this.camera,e=t.getScene(),i=e.createPickingRay(e.pointerX,e.pointerY,eJ.Matrix.Identity(),t,!1);(0!==t.targetScreenOffset.x||0!==t.targetScreenOffset.y)&&(this._viewOffset.set(t.targetScreenOffset.x,t.targetScreenOffset.y,0),t.getViewMatrix().invertToRef(t._cameraTransformMatrix),this._globalOffset=eJ.Vector3.TransformNormal(this._viewOffset,t._cameraTransformMatrix),i.origin.addInPlace(this._globalOffset));let a=0;return this._hitPlane&&(a=i.intersectsPlane(this._hitPlane)??0),i.origin.addInPlace(i.direction.scaleInPlace(a))}_zoomToMouse(t){let e=this.camera,i=1-e.inertia,a=e.movement.getFrameIndependentInputScale(e.inertia);if(e.lowerRadiusLimit){let s=e.lowerRadiusLimit??0;e.radius-(this._zoomToMouseRadiusOffset+t*a)/i<s&&(t=((e.radius-s)*i-this._zoomToMouseRadiusOffset)/a)}if(e.upperRadiusLimit){let s=e.upperRadiusLimit??0;e.radius-(this._zoomToMouseRadiusOffset+t*a)/i>s&&(t=((e.radius-s)*i-this._zoomToMouseRadiusOffset)/a)}let s=t/i/e.radius,n=this._getPosition(),r=eJ.TmpVectors.Vector3[6];n.subtractToRef(e.target,r),r.scaleInPlace(s),r.scaleInPlace(i),r.scaleInPlace(a),this._inertialPanning.addInPlace(r),this._zoomToMouseRadiusOffset+=t*a}_zeroIfClose(t){Math.abs(t.x)<e5.Epsilon&&(t.x=0),Math.abs(t.y)<e5.Epsilon&&(t.y=0),Math.abs(t.z)<e5.Epsilon&&(t.z=0)}},tC="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,ty=[(0,ej.serialize)()],tb=[(0,ej.serialize)()],tv=[(0,ej.serialize)()],(0,eq.__esDecorate)(null,null,ty,{kind:"field",name:"wheelPrecision",static:!1,private:!1,access:{has:t=>"wheelPrecision"in t,get:t=>t.wheelPrecision,set:(t,e)=>{t.wheelPrecision=e}},metadata:tC},tT,tI),(0,eq.__esDecorate)(null,null,tb,{kind:"field",name:"zoomToMouseLocation",static:!1,private:!1,access:{has:t=>"zoomToMouseLocation"in t,get:t=>t.zoomToMouseLocation,set:(t,e)=>{t.zoomToMouseLocation=e}},metadata:tC},tP,tO),(0,eq.__esDecorate)(null,null,tv,{kind:"field",name:"wheelDeltaPercentage",static:!1,private:!1,access:{has:t=>"wheelDeltaPercentage"in t,get:t=>t.wheelDeltaPercentage,set:(t,e)=>{t.wheelDeltaPercentage=e}},metadata:tC},tR,tA),tC&&Object.defineProperty(eW,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:tC}),eW);ii.CameraInputTypes.ArcRotateCameraMouseWheelInput=iu;var ic=ii,i_=t.i(85050);class im extends ic.CameraInputsManager{constructor(t){super(t)}addMouseWheel(){return this.add(new iu),this}addPointers(){return this.add(new is),this}addKeyboard(){return this.add(new io),this}}(eK=im.prototype).addVRDeviceOrientation??(eK.addVRDeviceOrientation=(0,i_._MissingSideEffect)("ArcRotateCameraInputsManager","addVRDeviceOrientation")),(eG=im.prototype).addGamepad??(eG.addGamepad=(0,i_._MissingSideEffect)("ArcRotateCameraInputsManager","addGamepad"));var id=t.i(44520),ip=t.i(91586),ig=t.i(57113);class iy extends ip.CameraMovement{constructor(t,e,i){super(t,e,i),this.input=new ig.InputMapper({pan:(t,e)=>{this.panAccumulatedPixels.x+=t,this.panAccumulatedPixels.y+=e},rotate:(t,e)=>{this.rotationAccumulatedPixels.x+=t,this.rotationAccumulatedPixels.y+=e},zoom:t=>{this.zoomAccumulatedPixels+=t}},()=>this._createDefaultInputMap())}_createDefaultInputMap(){return[{source:"pointer",button:0,modifiers:{ctrl:!0},interaction:"pan"},{source:"pointer",button:0,interaction:"rotate"},{source:"pointer",button:2,interaction:"pan"},{source:"wheel",interaction:"zoom"},{source:"keyboard",key:[187,107,189,109],interaction:"zoom"},{source:"keyboard",modifiers:{ctrl:!0},interaction:"pan"},{source:"keyboard",modifiers:{alt:!0},interaction:"zoom"},{source:"keyboard",interaction:"rotate"}]}}function ib(t){let e=Math.PI/2;return(0!==t.x||0!==t.z)&&(e=Math.acos(t.x/Math.sqrt(Math.pow(t.x,2)+Math.pow(t.z,2)))),t.z<0&&(e=2*Math.PI-e),e}function iv(t,e){return Math.acos(t/e)}function iT(t,e){return isNaN(t)?e:t}let iI=(t3=ie.TargetCamera,t2=[],t5=[],t6=[],t8=[],t4=[],t9=[],t7=[],et=[],ee=[],ei=[],ea=[],es=[],en=[],er=[],eo=[],eh=[],el=[],eu=[],ec=[],e_=[],em=[],ed=[],ep=[],eg=[],ef=[],ey=[],eb=[],ev=[],eT=[],eI=[],eP=[],eO=[],eR=[],eA=[],eC=[],eM=[],eS=[],ez=[],eD=[],ek=[],ew=[],eB=[],eE=[],ex=[],eL=[],eN=[],eV=[],eH=class extends t3{get target(){return this._target}set target(t){this.setTarget(t)}get targetHost(){return this._targetHost}set targetHost(t){t&&this.setTarget(t)}getTarget(){return this.target}get position(){return this._position}set position(t){this.setPosition(t)}set upVector(t){this._upToYMatrix||(this._yToUpMatrix=new eJ.Matrix,this._upToYMatrix=new eJ.Matrix,this._upVector=eJ.Vector3.Zero()),t.normalize(),this._upVector.copyFrom(t),this.setMatUp()}get upVector(){return this._upVector}setMatUp(){eJ.Matrix.RotationAlignToRef(eJ.Vector3.UpReadOnly,this._upVector,this._yToUpMatrix),eJ.Matrix.RotationAlignToRef(this._upVector,eJ.Vector3.UpReadOnly,this._upToYMatrix)}get inertialAlphaOffset(){if(0!==this._inertialAlphaOffset)return this._inertialAlphaOffset;if(0!==this.movement.rotationAccumulatedPixels.x)return this.movement.rotationAccumulatedPixels.x;let t=this.movement.rotationDeltaCurrentFrame.x;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialAlphaOffset(t){this._inertialAlphaOffset=t,0===t&&this.movement.resetRotationVelocity()}get inertialBetaOffset(){if(0!==this._inertialBetaOffset)return this._inertialBetaOffset;if(0!==this.movement.rotationAccumulatedPixels.y)return this.movement.rotationAccumulatedPixels.y;let t=this.movement.rotationDeltaCurrentFrame.y;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialBetaOffset(t){this._inertialBetaOffset=t,0===t&&this.movement.resetRotationVelocity()}get inertialRadiusOffset(){if(0!==this._inertialRadiusOffset)return this._inertialRadiusOffset;if(0!==this.movement.zoomAccumulatedPixels)return this.movement.zoomAccumulatedPixels;let t=this.movement.zoomDeltaCurrentFrame;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialRadiusOffset(t){this._inertialRadiusOffset=t,0===t&&this.movement.resetZoomVelocity()}get panningInertia(){return this._panningInertia}set panningInertia(t){this._panningInertia=t,this.movement&&(this.movement.panInertia=t)}get inertia(){return this._inertia}set inertia(t){this._inertia=t,this.movement&&(this.movement.rotationInertia=t,this.movement.zoomInertia=t)}get angularSensibilityX(){let t=this.inputs.attached.pointers;return t?t.angularSensibilityX:0}set angularSensibilityX(t){let e=this.inputs.attached.pointers;e&&(e.angularSensibilityX=t)}get angularSensibilityY(){let t=this.inputs.attached.pointers;return t?t.angularSensibilityY:0}set angularSensibilityY(t){let e=this.inputs.attached.pointers;e&&(e.angularSensibilityY=t)}get pinchPrecision(){let t=this.inputs.attached.pointers;return t?t.pinchPrecision:0}set pinchPrecision(t){let e=this.inputs.attached.pointers;e&&(e.pinchPrecision=t)}get pinchDeltaPercentage(){let t=this.inputs.attached.pointers;return t?t.pinchDeltaPercentage:0}set pinchDeltaPercentage(t){let e=this.inputs.attached.pointers;e&&(e.pinchDeltaPercentage=t)}get useNaturalPinchZoom(){let t=this.inputs.attached.pointers;return!!t&&t.useNaturalPinchZoom}set useNaturalPinchZoom(t){let e=this.inputs.attached.pointers;e&&(e.useNaturalPinchZoom=t)}get panningSensibility(){let t=this.inputs.attached.pointers;return t?t.panningSensibility:0}set panningSensibility(t){let e=this.inputs.attached.pointers;e&&(e.panningSensibility=t)}get keysUp(){let t=this.inputs.attached.keyboard;return t?t.keysUp:[]}set keysUp(t){let e=this.inputs.attached.keyboard;e&&(e.keysUp=t)}get keysDown(){let t=this.inputs.attached.keyboard;return t?t.keysDown:[]}set keysDown(t){let e=this.inputs.attached.keyboard;e&&(e.keysDown=t)}get keysLeft(){let t=this.inputs.attached.keyboard;return t?t.keysLeft:[]}set keysLeft(t){let e=this.inputs.attached.keyboard;e&&(e.keysLeft=t)}get keysRight(){let t=this.inputs.attached.keyboard;return t?t.keysRight:[]}set keysRight(t){let e=this.inputs.attached.keyboard;e&&(e.keysRight=t)}get wheelPrecision(){let t=this.inputs.attached.mousewheel;return t?t.wheelPrecision:0}set wheelPrecision(t){let e=this.inputs.attached.mousewheel;e&&(e.wheelPrecision=t)}get zoomToMouseLocation(){let t=this.inputs.attached.mousewheel;return!!t&&t.zoomToMouseLocation}set zoomToMouseLocation(t){let e=this.inputs.attached.mousewheel;e&&(e.zoomToMouseLocation=t)}get wheelDeltaPercentage(){let t=this.inputs.attached.mousewheel;return t?t.wheelDeltaPercentage:0}set wheelDeltaPercentage(t){let e=this.inputs.attached.mousewheel;e&&(e.wheelDeltaPercentage=t)}get _useCtrlForPanning(){return this._useCtrlForPanningInternal}set _useCtrlForPanning(t){this._useCtrlForPanningInternal=t;let e=this.movement.input,i=e.getEntry("keyboard","pan",{modifiers:{ctrl:!0}});!t&&i?e.inputMap.splice(e.inputMap.indexOf(i),1):t&&!i&&e.addEntry({source:"keyboard",modifiers:{ctrl:!0},interaction:"pan"});let a=e.getEntry("pointer","pan",{modifiers:{ctrl:!0}});!t&&a?e.inputMap.splice(e.inputMap.indexOf(a),1):t&&!a&&e.addEntry({source:"pointer",button:0,modifiers:{ctrl:!0},interaction:"pan"})}get _panningMouseButton(){return this._panningMouseButtonInternal}set _panningMouseButton(t){this._panningMouseButtonInternal=t;let e=this.movement.input.getEntry("pointer","pan",{modifiers:{}});e&&(e.button=t)}get isInterpolating(){return this._isInterpolating}get bouncingBehavior(){return this._bouncingBehavior}get useBouncingBehavior(){return null!=this._bouncingBehavior}set useBouncingBehavior(t){t!==this.useBouncingBehavior&&(t?(this._bouncingBehavior=new e9,this.addBehavior(this._bouncingBehavior)):this._bouncingBehavior&&(this.removeBehavior(this._bouncingBehavior),this._bouncingBehavior=null))}get framingBehavior(){return this._framingBehavior}get useFramingBehavior(){return null!=this._framingBehavior}set useFramingBehavior(t){t!==this.useFramingBehavior&&(t?(this._framingBehavior=new e7,this.addBehavior(this._framingBehavior)):this._framingBehavior&&(this.removeBehavior(this._framingBehavior),this._framingBehavior=null))}get autoRotationBehavior(){return this._autoRotationBehavior}get useAutoRotationBehavior(){return null!=this._autoRotationBehavior}set useAutoRotationBehavior(t){t!==this.useAutoRotationBehavior&&(t?(this._autoRotationBehavior=new e6,this.addBehavior(this._autoRotationBehavior)):this._autoRotationBehavior&&(this.removeBehavior(this._autoRotationBehavior),this._autoRotationBehavior=null))}constructor(t,e,i,a,s,n,r=!0){super(t,eJ.Vector3.Zero(),n,r),this.alpha=((0,eq.__runInitializers)(this,t2),(0,eq.__runInitializers)(this,t5,void 0)),this.beta=((0,eq.__runInitializers)(this,t6),(0,eq.__runInitializers)(this,t8,void 0)),this.radius=((0,eq.__runInitializers)(this,t4),(0,eq.__runInitializers)(this,t9,void 0)),this.overrideCloneAlphaBetaRadius=((0,eq.__runInitializers)(this,t7),(0,eq.__runInitializers)(this,et,void 0)),this._target=((0,eq.__runInitializers)(this,ee),(0,eq.__runInitializers)(this,ei,void 0)),this._targetHost=((0,eq.__runInitializers)(this,ea),(0,eq.__runInitializers)(this,es,void 0)),this._upToYMatrix=(0,eq.__runInitializers)(this,en),this._inertialAlphaOffset=0,this._inertialBetaOffset=0,this._inertialRadiusOffset=0,this.lowerAlphaLimit=(0,eq.__runInitializers)(this,er,null),this.upperAlphaLimit=((0,eq.__runInitializers)(this,eo),(0,eq.__runInitializers)(this,eh,null)),this.lowerBetaLimit=((0,eq.__runInitializers)(this,el),(0,eq.__runInitializers)(this,eu,.01)),this.upperBetaLimit=((0,eq.__runInitializers)(this,ec),(0,eq.__runInitializers)(this,e_,Math.PI-.01)),this.lowerRadiusLimit=((0,eq.__runInitializers)(this,em),(0,eq.__runInitializers)(this,ed,null)),this.upperRadiusLimit=((0,eq.__runInitializers)(this,ep),(0,eq.__runInitializers)(this,eg,null)),this.lowerTargetYLimit=((0,eq.__runInitializers)(this,ef),(0,eq.__runInitializers)(this,ey,-1/0)),this.inertialPanningX=((0,eq.__runInitializers)(this,eb),(0,eq.__runInitializers)(this,ev,0)),this.inertialPanningY=((0,eq.__runInitializers)(this,eT),(0,eq.__runInitializers)(this,eI,0)),this.pinchToPanMaxDistance=((0,eq.__runInitializers)(this,eP),(0,eq.__runInitializers)(this,eO,20)),this.panningDistanceLimit=((0,eq.__runInitializers)(this,eR),(0,eq.__runInitializers)(this,eA,null)),this.panningOriginTarget=((0,eq.__runInitializers)(this,eC),(0,eq.__runInitializers)(this,eM,eJ.Vector3.Zero())),this._panningInertia=((0,eq.__runInitializers)(this,eS),.9),this._inertia=.9,this.zoomOnFactor=(0,eq.__runInitializers)(this,ez,1),this.targetScreenOffset=((0,eq.__runInitializers)(this,eD),(0,eq.__runInitializers)(this,ek,eJ.Vector2.Zero())),this.allowUpsideDown=((0,eq.__runInitializers)(this,ew),(0,eq.__runInitializers)(this,eB,!0)),this.useInputToRestoreState=((0,eq.__runInitializers)(this,eE),(0,eq.__runInitializers)(this,ex,!0)),this.restoreStateInterpolationFactor=((0,eq.__runInitializers)(this,eL),(0,eq.__runInitializers)(this,eN,0)),this._currentInterpolationFactor=((0,eq.__runInitializers)(this,eV),0),this._viewMatrix=new eJ.Matrix,this._useCtrlForPanningInternal=!0,this._panningMouseButtonInternal=2,this.panningAxis=new eJ.Vector3(1,1,0),this._transformedDirection=new eJ.Vector3,this.mapPanning=!1,this._isInterpolating=!1,this.onMeshTargetChangedObservable=new eQ.Observable,this.checkCollisions=!1,this.collisionRadius=new eJ.Vector3(.5,.5,.5),this._previousPosition=eJ.Vector3.Zero(),this._collisionVelocity=eJ.Vector3.Zero(),this._newPosition=eJ.Vector3.Zero(),this._computationVector=eJ.Vector3.Zero(),this._goalAlpha=NaN,this._goalBeta=NaN,this._goalRadius=NaN,this._goalTarget=new eJ.Vector3(NaN,NaN,NaN),this._goalTargetScreenOffset=new eJ.Vector2(NaN,NaN),this._onCollisionPositionChange=(t,e,i=null)=>{i?(this.setPosition(e),this.onCollide&&this.onCollide(i)):this._previousPosition.copyFrom(this._position);let a=Math.cos(this.alpha),s=Math.sin(this.alpha),n=Math.cos(this.beta),r=Math.sin(this.beta);0===r&&(r=1e-4);let o=this._getTargetPosition();this._computationVector.copyFromFloats(this.radius*a*r,this.radius*n,this.radius*s*r),o.addToRef(this._computationVector,this._newPosition),this._position.copyFrom(this._newPosition);let h=this.upVector;this.allowUpsideDown&&this.beta<0&&(h=(h=h.clone()).negate()),this._computeViewMatrix(this._position,o,h),this._viewMatrix.addAtIndex(12,this.targetScreenOffset.x),this._viewMatrix.addAtIndex(13,this.targetScreenOffset.y),this._collisionTriggered=!1},this._target=eJ.Vector3.Zero(),s&&this.setTarget(s),this.alpha=e,this.beta=i,this.radius=a,this.getViewMatrix(),this.inputs=new im(this),this.inputs.addKeyboard().addMouseWheel().addPointers(),this.movement=new iy(this.getScene(),this._position),this.movement.rotationInertia=this._inertia,this.movement.zoomInertia=this._inertia,this.movement.panInertia=this._panningInertia}_initCache(){super._initCache(),this._cache._target=new eJ.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.alpha=void 0,this._cache.beta=void 0,this._cache.radius=void 0,this._cache.targetScreenOffset=eJ.Vector2.Zero()}_updateCache(t){t||super._updateCache(),this._cache._target.copyFrom(this._getTargetPosition()),this._cache.alpha=this.alpha,this._cache.beta=this.beta,this._cache.radius=this.radius,this._cache.targetScreenOffset.copyFrom(this.targetScreenOffset)}_getTargetPosition(){if(this._targetHost&&this._targetHost.getAbsolutePosition){let t=this._targetHost.getAbsolutePosition();this._targetBoundingCenter?t.addToRef(this._targetBoundingCenter,this._target):this._target.copyFrom(t)}let t=this._getLockedTargetPosition();return t||this._target}storeState(){return this._storedAlpha=this.alpha,this._storedBeta=this.beta,this._storedRadius=this.radius,this._storedTarget=this._getTargetPosition().clone(),this._storedTargetScreenOffset=this.targetScreenOffset.clone(),super.storeState()}_restoreStateValues(){return this.hasStateStored()&&this.restoreStateInterpolationFactor>e5.Epsilon&&this.restoreStateInterpolationFactor<1?(this.interpolateTo(this._storedAlpha,this._storedBeta,this._storedRadius,this._storedTarget,this._storedTargetScreenOffset,this.restoreStateInterpolationFactor),!0):!!super._restoreStateValues()&&(this.setTarget(this._storedTarget.clone()),this.alpha=this._storedAlpha,this.beta=this._storedBeta,this.radius=this._storedRadius,this.targetScreenOffset=this._storedTargetScreenOffset.clone(),this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0,!0)}stopInterpolation(){this._goalAlpha=NaN,this._goalBeta=NaN,this._goalRadius=NaN,this._goalTarget.set(NaN,NaN,NaN),this._goalTargetScreenOffset.set(NaN,NaN)}interpolateTo(t=this.alpha,e=this.beta,i=this.radius,a=this.target,s=this.targetScreenOffset,n){this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0,null!=n?this._currentInterpolationFactor=n:0!==this.restoreStateInterpolationFactor?this._currentInterpolationFactor=this.restoreStateInterpolationFactor:this._currentInterpolationFactor=.1,this._goalAlpha=iT(t,this._goalAlpha),this._goalBeta=iT(e,this._goalBeta),this._goalRadius=iT(i,this._goalRadius),this._goalTarget.set(iT(a.x,this._goalTarget.x),iT(a.y,this._goalTarget.y),iT(a.z,this._goalTarget.z)),this._goalTargetScreenOffset.set(iT(s.x,this._goalTargetScreenOffset.x),iT(s.y,this._goalTargetScreenOffset.y)),this._goalAlpha=(0,e$.Clamp)(this._goalAlpha,this.lowerAlphaLimit??-1/0,this.upperAlphaLimit??1/0),this._goalBeta=(0,e$.Clamp)(this._goalBeta,this.lowerBetaLimit??-1/0,this.upperBetaLimit??1/0),this._goalRadius=(0,e$.Clamp)(this._goalRadius,this.lowerRadiusLimit??-1/0,this.upperRadiusLimit??1/0),this._goalTarget.y=(0,e$.Clamp)(this._goalTarget.y,this.lowerTargetYLimit??-1/0,1/0),this._isInterpolating=!0}_isSynchronizedViewMatrix(){return!!super._isSynchronizedViewMatrix()&&this._cache._target.equals(this._getTargetPosition())&&this._cache.alpha===this.alpha&&this._cache.beta===this.beta&&this._cache.radius===this.radius&&this._cache.targetScreenOffset.equals(this.targetScreenOffset)}attachControl(t,e,i=!0,a=2){let s=arguments;e=ia.Tools.BackCompatCameraNoPreventDefault(s),this._useCtrlForPanning=i,this._panningMouseButton=a,"boolean"==typeof s[0]&&(s.length>1&&(this._useCtrlForPanning=s[1]),s.length>2&&(this._panningMouseButton=s[2])),this.inputs.attachElement(e),this._reset=()=>{this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0}}detachControl(){this.inputs.detachElement(),this._reset&&this._reset()}_applyRotationAndZoomDelta(t,e,i){let a=this.invertRotation?-1:1,s=t*this._calculateHandednessMultiplier();this.beta<0&&(s*=-1),this.alpha+=s*a,this.beta+=e*a,this.radius-=i}_applyPanDelta(t,e){let i=eJ.TmpVectors.Vector3[0].copyFromFloats(t,e,e);if(this._viewMatrix.invertToRef(this._cameraTransformMatrix),i.multiplyInPlace(this.panningAxis),eJ.Vector3.TransformNormalToRef(i,this._cameraTransformMatrix,this._transformedDirection),this.mapPanning){let t=this.upVector,e=eJ.Vector3.CrossToRef(this._transformedDirection,t,this._transformedDirection);eJ.Vector3.CrossToRef(t,e,this._transformedDirection)}else this.panningAxis.y||(this._transformedDirection.y=0);if(!this._targetHost)if(this.panningDistanceLimit)this._transformedDirection.addInPlace(this._target),eJ.Vector3.DistanceSquared(this._transformedDirection,this.panningOriginTarget)<=this.panningDistanceLimit*this.panningDistanceLimit&&this._target.copyFrom(this._transformedDirection);else{if(this.parent){let t=eJ.TmpVectors.Matrix[0];this.parent.getWorldMatrix().getRotationMatrixToRef(t),t.transposeToRef(t),eJ.Vector3.TransformCoordinatesToRef(this._transformedDirection,t,this._transformedDirection)}this._target.addInPlace(this._transformedDirection)}}_checkInputs(){if(this._collisionTriggered)return;this.inputs.checkInputs();let t=!1;this.movement.computeCurrentFrameDeltas();let e=this.movement.rotationDeltaCurrentFrame,i=this.movement.zoomDeltaCurrentFrame,a=this.movement.panDeltaCurrentFrame;if((0!==e.x||0!==e.y||0!==i||0!==a.x||0!==a.y)&&(t=!0,(0!==e.x||0!==e.y||0!==i)&&this._applyRotationAndZoomDelta(e.x,e.y,i),(0!==a.x||0!==a.y)&&this._applyPanDelta(a.x,a.y)),(0!==this._inertialAlphaOffset||0!==this._inertialBetaOffset||0!==this._inertialRadiusOffset)&&(this._applyRotationAndZoomDelta(this._inertialAlphaOffset,this._inertialBetaOffset,this._inertialRadiusOffset),this._inertialAlphaOffset*=this.inertia,this._inertialBetaOffset*=this.inertia,this._inertialRadiusOffset*=this.inertia,Math.abs(this._inertialAlphaOffset)<this._rotationEpsilon&&(this._inertialAlphaOffset=0),Math.abs(this._inertialBetaOffset)<this._rotationEpsilon&&(this._inertialBetaOffset=0),Math.abs(this._inertialRadiusOffset)<this._rotationEpsilon&&(this._inertialRadiusOffset=0),t=!0),0!==this.inertialPanningX||0!==this.inertialPanningY){this._applyPanDelta(this.inertialPanningX,this.inertialPanningY),this.inertialPanningX*=this.panningInertia,this.inertialPanningY*=this.panningInertia;let e=this._panningEpsilon;Math.abs(this.inertialPanningX)<e&&(this.inertialPanningX=0),Math.abs(this.inertialPanningY)<e&&(this.inertialPanningY=0),t=!0}if(t)this.stopInterpolation();else if(this._isInterpolating){let t=!1,e=1-Math.pow(2,-(this._scene.getEngine().getDeltaTime()/1e3)/this._currentInterpolationFactor),i=iT(this._goalRadius,this.radius);if(!isNaN(this._goalTarget.x)||!isNaN(this._goalTarget.y)||!isNaN(this._goalTarget.z)){let a=eJ.TmpVectors.Vector3[0].set(iT(this._goalTarget.x,this._target.x),iT(this._goalTarget.y,this._target.y),iT(this._goalTarget.z,this._target.z));eJ.Vector3.LerpToRef(this.target,a,e,this._target),10*eJ.Vector3.Distance(this.target,a)/i<e5.Epsilon?(this._goalTarget.set(NaN,NaN,NaN),this.target.copyFrom(a),this.setTarget(this.target,!1,!0,!0)):t=!0}if(!isNaN(this._goalAlpha)||!isNaN(this._goalBeta)){let i=eJ.Quaternion.RotationAlphaBetaGammaToRef(iT(this._goalAlpha,this.alpha),iT(this._goalBeta,this.beta),0,eJ.TmpVectors.Quaternion[0]),a=eJ.Quaternion.RotationAlphaBetaGammaToRef(this.alpha,this.beta,0,eJ.TmpVectors.Quaternion[1]),s=eJ.Quaternion.SlerpToRef(a,i,e,eJ.TmpVectors.Quaternion[2]);s.normalize();let n=s.toAlphaBetaGammaToRef(eJ.TmpVectors.Vector3[0]);if(this.alpha=n.x,this.beta=n.y,s.isApprox(i,e5.Epsilon/5)){this._goalAlpha=NaN,this._goalBeta=NaN;let t=i.toAlphaBetaGammaToRef(eJ.TmpVectors.Vector3[0]);this.alpha=t.x,this.beta=t.y}else t=!0}if(isNaN(this._goalRadius)||(this.radius+=(i-this.radius)*e,Math.abs(i/this.radius-1)<e5.Epsilon?(this._goalRadius=NaN,this.radius=i):t=!0),!isNaN(this._goalTargetScreenOffset.x)||!isNaN(this._goalTargetScreenOffset.y)){let i=eJ.TmpVectors.Vector2[0].set(iT(this._goalTargetScreenOffset.x,this.targetScreenOffset.x),iT(this._goalTargetScreenOffset.y,this.targetScreenOffset.y));eJ.Vector2.LerpToRef(this.targetScreenOffset,i,e,this.targetScreenOffset),eJ.Vector2.Distance(this.targetScreenOffset,i)<e5.Epsilon?(this._goalTargetScreenOffset.set(NaN,NaN),this.targetScreenOffset.copyFrom(i)):t=!0}this._isInterpolating=t}this._checkLimits(),super._checkInputs()}_checkLimits(){null===this.lowerBetaLimit||void 0===this.lowerBetaLimit?this.allowUpsideDown&&this.beta>Math.PI&&(this.beta=this.beta-2*Math.PI):this.beta<this.lowerBetaLimit&&(this.beta=this.lowerBetaLimit),null===this.upperBetaLimit||void 0===this.upperBetaLimit?this.allowUpsideDown&&this.beta<-Math.PI&&(this.beta=this.beta+2*Math.PI):this.beta>this.upperBetaLimit&&(this.beta=this.upperBetaLimit),null!==this.lowerAlphaLimit&&this.alpha<this.lowerAlphaLimit&&(this.alpha=this.lowerAlphaLimit),null!==this.upperAlphaLimit&&this.alpha>this.upperAlphaLimit&&(this.alpha=this.upperAlphaLimit),null!==this.lowerRadiusLimit&&this.radius<this.lowerRadiusLimit&&(this.radius=this.lowerRadiusLimit,this.inertialRadiusOffset=0),null!==this.upperRadiusLimit&&this.radius>this.upperRadiusLimit&&(this.radius=this.upperRadiusLimit,this.inertialRadiusOffset=0),this.target.y=Math.max(this.target.y,this.lowerTargetYLimit)}rebuildAnglesAndRadius(){this._position.subtractToRef(this._getTargetPosition(),this._computationVector),(0!==this._upVector.x||1!==this._upVector.y||0!==this._upVector.z)&&eJ.Vector3.TransformCoordinatesToRef(this._computationVector,this._upToYMatrix,this._computationVector),this.radius=this._computationVector.length(),0===this.radius&&(this.radius=1e-4);let t=this.alpha;this.alpha=ib(this._computationVector),this.beta=iv(this._computationVector.y,this.radius);let e=Math.round((t-this.alpha)/(2*Math.PI));this.alpha+=2*e*Math.PI,this._checkLimits()}setPosition(t){this._position.equals(t)||(this._position.copyFrom(t),this.rebuildAnglesAndRadius())}setTarget(t,e=!1,i=!1,a=!1){if(a=this.overrideCloneAlphaBetaRadius??a,t.computeWorldMatrix)e&&t.getBoundingInfo?this._targetBoundingCenter=t.getBoundingInfo().boundingBox.centerWorld.clone():this._targetBoundingCenter=null,t.computeWorldMatrix(),this._targetHost=t,this._target=this._getTargetPosition(),this.onMeshTargetChangedObservable.notifyObservers(this._targetHost);else{let e=this._getTargetPosition();if(e&&!i&&e.equals(t))return;this._targetHost=null,this._target=t,this._targetBoundingCenter=null,this.onMeshTargetChangedObservable.notifyObservers(null)}a||this.rebuildAnglesAndRadius()}_getViewMatrix(){let t=Math.cos(this.alpha),e=Math.sin(this.alpha),i=Math.cos(this.beta),a=Math.sin(this.beta);0===a&&(a=1e-4),0===this.radius&&(this.radius=1e-4);let s=this._getTargetPosition();if(this._computationVector.copyFromFloats(this.radius*t*a,this.radius*i,this.radius*e*a),(0!==this._upVector.x||1!==this._upVector.y||0!==this._upVector.z)&&eJ.Vector3.TransformCoordinatesToRef(this._computationVector,this._yToUpMatrix,this._computationVector),s.addToRef(this._computationVector,this._newPosition),this.getScene().collisionsEnabled&&this.checkCollisions){let t=this.getScene().collisionCoordinator;this._collider||(this._collider=t.createCollider()),this._collider._radius=this.collisionRadius,this._newPosition.subtractToRef(this._position,this._collisionVelocity),this._collisionTriggered=!0,t.getNewPosition(this._position,this._collisionVelocity,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)}else{this._position.copyFrom(this._newPosition);let t=this.upVector;this.allowUpsideDown&&a<0&&(t=t.negate()),this._computeViewMatrix(this._position,s,t),this._viewMatrix.addAtIndex(12,this.targetScreenOffset.x),this._viewMatrix.addAtIndex(13,this.targetScreenOffset.y)}return this._currentTarget.copyFrom(s),this._viewMatrix}zoomOn(t,e=!1){t=t||this.getScene().meshes;let i=e1.Mesh.MinMax(t),a=this._calculateLowerRadiusFromModelBoundingSphere(i.min,i.max);if(a=Math.max(Math.min(a,this.upperRadiusLimit||Number.MAX_VALUE),this.lowerRadiusLimit||0),this.radius=a*this.zoomOnFactor,this.mode===it.Camera.ORTHOGRAPHIC_CAMERA){let t=this.getScene().getEngine().getAspectRatio(this),e=a*this.zoomOnFactor/2;this.orthoLeft=-e*t,this.orthoRight=e*t,this.orthoBottom=-e,this.orthoTop=e}this.focusOn({min:i.min,max:i.max,distance:a},e)}focusOn(t,e=!1){let i,a;if(void 0===t.min){let e=t||this.getScene().meshes;i=e1.Mesh.MinMax(e),a=eJ.Vector3.Distance(i.min,i.max)}else i=t,a=t.distance;this._target=e1.Mesh.Center(i),e||(this.maxZ=2*a)}createRigCamera(t,e){let i=0;switch(this.cameraRigMode){case it.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case it.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case it.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case it.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:case it.Camera.RIG_MODE_VR:i=this._cameraRigParams.stereoHalfAngle*(0===e?1:-1);break;case it.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:i=this._cameraRigParams.stereoHalfAngle*(0===e?-1:1)}let a=new eH(t,this.alpha+i,this.beta,this.radius,this._target,this.getScene());return a._cameraRigParams={},a.isRigCamera=!0,a.rigParent=this,a.upVector=this.upVector,a.mode=this.mode,a.orthoLeft=this.orthoLeft,a.orthoRight=this.orthoRight,a.orthoBottom=this.orthoBottom,a.orthoTop=this.orthoTop,a}_updateRigCameras(){let t=this._rigCameras[0],e=this._rigCameras[1];switch(t.beta=e.beta=this.beta,this.cameraRigMode){case it.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case it.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case it.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case it.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:case it.Camera.RIG_MODE_VR:t.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle,e.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle;break;case it.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:t.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle,e.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle}super._updateRigCameras()}_calculateLowerRadiusFromModelBoundingSphere(t,e,i=1){let a=eJ.Vector3.Distance(t,e),s=this.getScene().getEngine().getAspectRatio(this),n=Math.tan(this.fov/2),r=n*s,o=.5*a*i;return Math.max(o*Math.sqrt(1+1/(r*r)),o*Math.sqrt(1+1/(n*n)))}dispose(){this.inputs.clear(),super.dispose()}getClassName(){return"ArcRotateCamera"}},eF="function"==typeof Symbol&&Symbol.metadata?Object.create(t3[Symbol.metadata]??null):void 0,tM=[(0,ej.serialize)()],tS=[(0,ej.serialize)()],tz=[(0,ej.serialize)()],tD=[(0,ej.serialize)()],tk=[(0,ej.serializeAsVector3)("target")],tw=[(0,ej.serializeAsMeshReference)("targetHost")],tB=[(0,ej.serialize)()],tE=[(0,ej.serialize)()],tx=[(0,ej.serialize)()],tL=[(0,ej.serialize)()],tN=[(0,ej.serialize)()],tV=[(0,ej.serialize)()],tF=[(0,ej.serialize)()],tZ=[(0,ej.serialize)()],tU=[(0,ej.serialize)()],tY=[(0,ej.serialize)()],tX=[(0,ej.serialize)()],tW=[(0,ej.serialize)()],tH=[(0,ej.serialize)()],tK=[(0,ej.serialize)()],tG=[(0,ej.serializeAsVector3)()],tq=[(0,ej.serialize)()],tj=[(0,ej.serialize)()],tQ=[(0,ej.serialize)()],tJ=[(0,ej.serializeAsVector2)()],t$=[(0,ej.serialize)()],t0=[(0,ej.serialize)()],t1=[(0,ej.serialize)()],(0,eq.__esDecorate)(eH,null,tB,{kind:"getter",name:"inertialAlphaOffset",static:!1,private:!1,access:{has:t=>"inertialAlphaOffset"in t,get:t=>t.inertialAlphaOffset},metadata:eF},null,t2),(0,eq.__esDecorate)(eH,null,tE,{kind:"getter",name:"inertialBetaOffset",static:!1,private:!1,access:{has:t=>"inertialBetaOffset"in t,get:t=>t.inertialBetaOffset},metadata:eF},null,t2),(0,eq.__esDecorate)(eH,null,tx,{kind:"getter",name:"inertialRadiusOffset",static:!1,private:!1,access:{has:t=>"inertialRadiusOffset"in t,get:t=>t.inertialRadiusOffset},metadata:eF},null,t2),(0,eq.__esDecorate)(eH,null,tq,{kind:"getter",name:"panningInertia",static:!1,private:!1,access:{has:t=>"panningInertia"in t,get:t=>t.panningInertia},metadata:eF},null,t2),(0,eq.__esDecorate)(eH,null,tj,{kind:"getter",name:"zoomToMouseLocation",static:!1,private:!1,access:{has:t=>"zoomToMouseLocation"in t,get:t=>t.zoomToMouseLocation},metadata:eF},null,t2),(0,eq.__esDecorate)(null,null,tM,{kind:"field",name:"alpha",static:!1,private:!1,access:{has:t=>"alpha"in t,get:t=>t.alpha,set:(t,e)=>{t.alpha=e}},metadata:eF},t5,t6),(0,eq.__esDecorate)(null,null,tS,{kind:"field",name:"beta",static:!1,private:!1,access:{has:t=>"beta"in t,get:t=>t.beta,set:(t,e)=>{t.beta=e}},metadata:eF},t8,t4),(0,eq.__esDecorate)(null,null,tz,{kind:"field",name:"radius",static:!1,private:!1,access:{has:t=>"radius"in t,get:t=>t.radius,set:(t,e)=>{t.radius=e}},metadata:eF},t9,t7),(0,eq.__esDecorate)(null,null,tD,{kind:"field",name:"overrideCloneAlphaBetaRadius",static:!1,private:!1,access:{has:t=>"overrideCloneAlphaBetaRadius"in t,get:t=>t.overrideCloneAlphaBetaRadius,set:(t,e)=>{t.overrideCloneAlphaBetaRadius=e}},metadata:eF},et,ee),(0,eq.__esDecorate)(null,null,tk,{kind:"field",name:"_target",static:!1,private:!1,access:{has:t=>"_target"in t,get:t=>t._target,set:(t,e)=>{t._target=e}},metadata:eF},ei,ea),(0,eq.__esDecorate)(null,null,tw,{kind:"field",name:"_targetHost",static:!1,private:!1,access:{has:t=>"_targetHost"in t,get:t=>t._targetHost,set:(t,e)=>{t._targetHost=e}},metadata:eF},es,en),(0,eq.__esDecorate)(null,null,tL,{kind:"field",name:"lowerAlphaLimit",static:!1,private:!1,access:{has:t=>"lowerAlphaLimit"in t,get:t=>t.lowerAlphaLimit,set:(t,e)=>{t.lowerAlphaLimit=e}},metadata:eF},er,eo),(0,eq.__esDecorate)(null,null,tN,{kind:"field",name:"upperAlphaLimit",static:!1,private:!1,access:{has:t=>"upperAlphaLimit"in t,get:t=>t.upperAlphaLimit,set:(t,e)=>{t.upperAlphaLimit=e}},metadata:eF},eh,el),(0,eq.__esDecorate)(null,null,tV,{kind:"field",name:"lowerBetaLimit",static:!1,private:!1,access:{has:t=>"lowerBetaLimit"in t,get:t=>t.lowerBetaLimit,set:(t,e)=>{t.lowerBetaLimit=e}},metadata:eF},eu,ec),(0,eq.__esDecorate)(null,null,tF,{kind:"field",name:"upperBetaLimit",static:!1,private:!1,access:{has:t=>"upperBetaLimit"in t,get:t=>t.upperBetaLimit,set:(t,e)=>{t.upperBetaLimit=e}},metadata:eF},e_,em),(0,eq.__esDecorate)(null,null,tZ,{kind:"field",name:"lowerRadiusLimit",static:!1,private:!1,access:{has:t=>"lowerRadiusLimit"in t,get:t=>t.lowerRadiusLimit,set:(t,e)=>{t.lowerRadiusLimit=e}},metadata:eF},ed,ep),(0,eq.__esDecorate)(null,null,tU,{kind:"field",name:"upperRadiusLimit",static:!1,private:!1,access:{has:t=>"upperRadiusLimit"in t,get:t=>t.upperRadiusLimit,set:(t,e)=>{t.upperRadiusLimit=e}},metadata:eF},eg,ef),(0,eq.__esDecorate)(null,null,tY,{kind:"field",name:"lowerTargetYLimit",static:!1,private:!1,access:{has:t=>"lowerTargetYLimit"in t,get:t=>t.lowerTargetYLimit,set:(t,e)=>{t.lowerTargetYLimit=e}},metadata:eF},ey,eb),(0,eq.__esDecorate)(null,null,tX,{kind:"field",name:"inertialPanningX",static:!1,private:!1,access:{has:t=>"inertialPanningX"in t,get:t=>t.inertialPanningX,set:(t,e)=>{t.inertialPanningX=e}},metadata:eF},ev,eT),(0,eq.__esDecorate)(null,null,tW,{kind:"field",name:"inertialPanningY",static:!1,private:!1,access:{has:t=>"inertialPanningY"in t,get:t=>t.inertialPanningY,set:(t,e)=>{t.inertialPanningY=e}},metadata:eF},eI,eP),(0,eq.__esDecorate)(null,null,tH,{kind:"field",name:"pinchToPanMaxDistance",static:!1,private:!1,access:{has:t=>"pinchToPanMaxDistance"in t,get:t=>t.pinchToPanMaxDistance,set:(t,e)=>{t.pinchToPanMaxDistance=e}},metadata:eF},eO,eR),(0,eq.__esDecorate)(null,null,tK,{kind:"field",name:"panningDistanceLimit",static:!1,private:!1,access:{has:t=>"panningDistanceLimit"in t,get:t=>t.panningDistanceLimit,set:(t,e)=>{t.panningDistanceLimit=e}},metadata:eF},eA,eC),(0,eq.__esDecorate)(null,null,tG,{kind:"field",name:"panningOriginTarget",static:!1,private:!1,access:{has:t=>"panningOriginTarget"in t,get:t=>t.panningOriginTarget,set:(t,e)=>{t.panningOriginTarget=e}},metadata:eF},eM,eS),(0,eq.__esDecorate)(null,null,tQ,{kind:"field",name:"zoomOnFactor",static:!1,private:!1,access:{has:t=>"zoomOnFactor"in t,get:t=>t.zoomOnFactor,set:(t,e)=>{t.zoomOnFactor=e}},metadata:eF},ez,eD),(0,eq.__esDecorate)(null,null,tJ,{kind:"field",name:"targetScreenOffset",static:!1,private:!1,access:{has:t=>"targetScreenOffset"in t,get:t=>t.targetScreenOffset,set:(t,e)=>{t.targetScreenOffset=e}},metadata:eF},ek,ew),(0,eq.__esDecorate)(null,null,t$,{kind:"field",name:"allowUpsideDown",static:!1,private:!1,access:{has:t=>"allowUpsideDown"in t,get:t=>t.allowUpsideDown,set:(t,e)=>{t.allowUpsideDown=e}},metadata:eF},eB,eE),(0,eq.__esDecorate)(null,null,t0,{kind:"field",name:"useInputToRestoreState",static:!1,private:!1,access:{has:t=>"useInputToRestoreState"in t,get:t=>t.useInputToRestoreState,set:(t,e)=>{t.useInputToRestoreState=e}},metadata:eF},ex,eL),(0,eq.__esDecorate)(null,null,t1,{kind:"field",name:"restoreStateInterpolationFactor",static:!1,private:!1,access:{has:t=>"restoreStateInterpolationFactor"in t,get:t=>t.restoreStateInterpolationFactor,set:(t,e)=>{t.restoreStateInterpolationFactor=e}},metadata:eF},eN,eV),eF&&Object.defineProperty(eH,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:eF}),eH),iP=!1;function iO(){iP||(iP=!0,e0.Node.AddNodeConstructor("ArcRotateCamera",(t,e)=>()=>new iI(t,0,0,1,eJ.Vector3.Zero(),e)),(0,id.RegisterClass)("BABYLON.ArcRotateCamera",iI))}t.s(["ArcRotateCamera",0,iI,"ComputeAlpha",0,ib,"ComputeBeta",0,iv,"RegisterArcRotateCamera",0,iO],76612),iO(),t.s([],81325),t.i(81325),t.i(76612),t.s(["ArcRotateCamera",0,iI,"ComputeAlpha",0,ib,"ComputeBeta",0,iv,"RegisterArcRotateCamera",0,iO],29183)}]);