@crystaldesign/diva-web-planner-react 24.12.1 → 24.12.2

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 (1632) hide show
  1. package/build/esm/ArticleProperties-ae46ca4c.js +164 -0
  2. package/build/esm/CatalogProperties-55c1f206.js +452 -0
  3. package/build/esm/IconHandler-09d6a195.js +77 -0
  4. package/build/esm/OptionProperties-bd82a080.js +161 -0
  5. package/build/esm/OptionValueProperties-a6f16733.js +116 -0
  6. package/build/esm/Planner2DGrid-e48b5ca2.js +641 -0
  7. package/build/esm/Planner3DImage-66e8660c.js +1163 -0
  8. package/build/esm/index-006533b1.js +50 -0
  9. package/build/esm/index-007adf53.js +93 -0
  10. package/build/esm/index-01987bf6.js +150 -0
  11. package/build/esm/index-026d1611.js +111 -0
  12. package/build/esm/index-02faba26.js +107 -0
  13. package/build/esm/index-034d49c5.js +27 -0
  14. package/build/esm/index-045780c8.js +83 -0
  15. package/build/esm/index-04587647.js +80 -0
  16. package/build/esm/index-04a39170.js +27 -0
  17. package/build/esm/index-04a482fb.js +64 -0
  18. package/build/esm/index-05a22851.js +82 -0
  19. package/build/esm/index-05a4a614.js +88 -0
  20. package/build/esm/index-09f0a8c6.js +27 -0
  21. package/build/esm/index-09ff2c54.js +144 -0
  22. package/build/esm/index-0bbe1ed1.js +46 -0
  23. package/build/esm/index-0d325bc5.js +27 -0
  24. package/build/esm/index-0f77ff80.js +56 -0
  25. package/build/esm/index-128b55c4.js +171 -0
  26. package/build/esm/index-12c52965.js +113 -0
  27. package/build/esm/index-13e2e52a.js +92 -0
  28. package/build/esm/index-149440ca.js +76 -0
  29. package/build/esm/index-14b3068f.js +43 -0
  30. package/build/esm/index-172f6990.js +101 -0
  31. package/build/esm/index-175124dc.js +82 -0
  32. package/build/esm/index-17b9bd47.js +53 -0
  33. package/build/esm/index-17c6fbee.js +157 -0
  34. package/build/esm/index-18c3125f.js +91 -0
  35. package/build/esm/index-1aca6434.js +123 -0
  36. package/build/esm/index-1d0a47ee.js +71 -0
  37. package/build/esm/index-1d6343e1.js +51 -0
  38. package/build/esm/index-1db9fa64.js +27 -0
  39. package/build/esm/index-20cccd24.js +142 -0
  40. package/build/esm/index-216d0640.js +73 -0
  41. package/build/esm/index-2354871b.js +57 -0
  42. package/build/esm/index-254bbd22.js +156 -0
  43. package/build/esm/index-25a5625a.js +70 -0
  44. package/build/esm/index-27562269.js +37 -0
  45. package/build/esm/index-281e885e.js +132 -0
  46. package/build/esm/index-290cbde3.js +63 -0
  47. package/build/esm/index-2990371a.js +94 -0
  48. package/build/esm/index-2a5ba6f5.js +54 -0
  49. package/build/esm/index-2ac53d11.js +41 -0
  50. package/build/esm/index-2aea635c.js +213 -0
  51. package/build/esm/index-2b5ec618.js +75 -0
  52. package/build/esm/index-2b89fc2f.js +37 -0
  53. package/build/esm/index-2c822684.js +82 -0
  54. package/build/esm/index-2d031a33.js +45 -0
  55. package/build/esm/index-2ddeac75.js +179 -0
  56. package/build/esm/index-2e05a2fe.js +110 -0
  57. package/build/esm/index-2f826da9.js +87 -0
  58. package/build/esm/index-2fbcc9a0.js +23 -0
  59. package/build/esm/index-315d2ee6.js +144 -0
  60. package/build/esm/index-36247e96.js +41 -0
  61. package/build/esm/index-394d1db7.js +25 -0
  62. package/build/esm/index-39941675.js +77 -0
  63. package/build/esm/index-3c029a3c.js +42 -0
  64. package/build/esm/index-3d3600b0.js +53 -0
  65. package/build/esm/index-3d3f1085.js +37 -0
  66. package/build/esm/index-3eb46ff8.js +54 -0
  67. package/build/esm/index-43457297.js +106 -0
  68. package/build/esm/index-4390dab1.js +46 -0
  69. package/build/esm/index-43c9d393.js +97 -0
  70. package/build/esm/index-44532f4c.js +99 -0
  71. package/build/esm/index-44df4cb9.js +57 -0
  72. package/build/esm/index-46f09e50.js +38 -0
  73. package/build/esm/index-48416df1.js +52 -0
  74. package/build/esm/index-49cacebf.js +40 -0
  75. package/build/esm/index-4a60116e.js +97 -0
  76. package/build/esm/index-4d286359.js +48 -0
  77. package/build/esm/index-4d3d68cf.js +39 -0
  78. package/build/esm/index-4eaa7c24.js +53 -0
  79. package/build/esm/index-4eaf1ccd.js +53 -0
  80. package/build/esm/index-4fc2b558.js +112 -0
  81. package/build/esm/index-505bf067.js +275 -0
  82. package/build/esm/index-544849b2.js +27 -0
  83. package/build/esm/index-574b8859.js +116 -0
  84. package/build/esm/index-5baab7e3.js +67 -0
  85. package/build/esm/index-60fc2e5d.js +75 -0
  86. package/build/esm/index-629efca6.js +187 -0
  87. package/build/esm/index-62e17fb9.js +40 -0
  88. package/build/esm/index-64b03192.js +175 -0
  89. package/build/esm/index-65cf94b7.js +148 -0
  90. package/build/esm/index-69734441.js +42 -0
  91. package/build/esm/index-69c267e2.js +154 -0
  92. package/build/esm/index-6b92e094.js +49 -0
  93. package/build/esm/index-6ca55428.js +27 -0
  94. package/build/esm/index-6d11130b.js +78 -0
  95. package/build/esm/index-6e7f7eba.js +69 -0
  96. package/build/esm/index-6ee095e2.js +65 -0
  97. package/build/esm/index-6f288148.js +120 -0
  98. package/build/esm/index-74ef0b12.js +43 -0
  99. package/build/esm/index-75170f98.js +27 -0
  100. package/build/esm/index-777f7c8b.js +129 -0
  101. package/build/esm/index-79195dcd.js +61 -0
  102. package/build/esm/index-79ae59af.js +117 -0
  103. package/build/esm/index-7e653fc8.js +83 -0
  104. package/build/esm/index-7fd777ff.js +91 -0
  105. package/build/esm/index-804c2d5a.js +64 -0
  106. package/build/esm/index-827c93e9.js +115 -0
  107. package/build/esm/index-82d0463d.js +123 -0
  108. package/build/esm/index-83a7d3d4.js +36 -0
  109. package/build/esm/index-852e17fc.js +108 -0
  110. package/build/esm/index-858fe985.js +175 -0
  111. package/build/esm/index-8622e738.js +121 -0
  112. package/build/esm/index-8629a1bf.js +27 -0
  113. package/build/esm/index-8a29cc60.js +139 -0
  114. package/build/esm/index-8d56120e.js +129 -0
  115. package/build/esm/index-8d995614.js +27 -0
  116. package/build/esm/index-8e08e905.js +61 -0
  117. package/build/esm/index-8ee6b72a.js +48 -0
  118. package/build/esm/index-90a6f413.js +164 -0
  119. package/build/esm/index-91039156.js +146 -0
  120. package/build/esm/index-929e26ea.js +111 -0
  121. package/build/esm/index-93bcbec2.js +176 -0
  122. package/build/esm/index-93e11beb.js +42 -0
  123. package/build/esm/index-94c27655.js +32 -0
  124. package/build/esm/index-95d6461d.js +190 -0
  125. package/build/esm/index-96559b5b.js +44 -0
  126. package/build/esm/index-9665fbd3.js +27 -0
  127. package/build/esm/index-9814670f.js +98 -0
  128. package/build/esm/index-989d7f6f.js +156 -0
  129. package/build/esm/index-99c6d749.js +27 -0
  130. package/build/esm/index-99ebc11e.js +242 -0
  131. package/build/esm/index-9b868343.js +43 -0
  132. package/build/esm/index-9c37e259.js +27 -0
  133. package/build/esm/index-9cd42bb1.js +27 -0
  134. package/build/esm/index-9fab3ae7.js +36 -0
  135. package/build/esm/index-9fddf7e5.js +167 -0
  136. package/build/esm/index-a07cd98d.js +43 -0
  137. package/build/esm/index-a12e34ed.js +30 -0
  138. package/build/esm/index-a2b243ec.js +62 -0
  139. package/build/esm/index-a2eeb354.js +113 -0
  140. package/build/esm/index-a387b45d.js +62 -0
  141. package/build/esm/index-a5d0a29b.js +27 -0
  142. package/build/esm/index-aafcc157.js +127 -0
  143. package/build/esm/index-abc1e4ab.js +27 -0
  144. package/build/esm/index-abe5e5ac.js +68 -0
  145. package/build/esm/index-acc09820.js +27 -0
  146. package/build/esm/index-ad0aaac8.js +68 -0
  147. package/build/esm/index-ad6a467a.js +452 -0
  148. package/build/esm/index-ada9d9f7.js +123 -0
  149. package/build/esm/index-ae8b9faf.js +78 -0
  150. package/build/esm/index-b06f7da0.js +157 -0
  151. package/build/esm/index-b1591e03.js +68 -0
  152. package/build/esm/index-b160720f.js +75 -0
  153. package/build/esm/index-b1ce50e8.js +9662 -0
  154. package/build/esm/index-b26c373f.js +137 -0
  155. package/build/esm/index-b3ea460f.js +73 -0
  156. package/build/esm/index-b5fec82d.js +102 -0
  157. package/build/esm/index-b64d341b.js +32 -0
  158. package/build/esm/index-b92ed1e3.js +58 -0
  159. package/build/esm/index-b9f528e3.js +127 -0
  160. package/build/esm/index-bc321873.js +102 -0
  161. package/build/esm/index-bca2ed02.js +85 -0
  162. package/build/esm/index-bd34e444.js +40 -0
  163. package/build/esm/index-bdbe6d06.js +91 -0
  164. package/build/esm/index-bec06309.js +53 -0
  165. package/build/esm/index-bef6c71d.js +62 -0
  166. package/build/esm/index-bf9fef75.js +27 -0
  167. package/build/esm/index-bfd53b6e.js +121 -0
  168. package/build/esm/index-c2e74233.js +76 -0
  169. package/build/esm/index-c2f5f0fe.js +127 -0
  170. package/build/esm/index-c3af8a75.js +551 -0
  171. package/build/esm/index-c6ab7dc8.js +45 -0
  172. package/build/esm/index-c6df7146.js +177 -0
  173. package/build/esm/index-c989e397.js +129 -0
  174. package/build/esm/index-c9c87a81.js +156 -0
  175. package/build/esm/index-c9f6bc84.js +50 -0
  176. package/build/esm/index-cb4be6ea.js +95 -0
  177. package/build/esm/index-ccf477bb.js +59 -0
  178. package/build/esm/index-ce931e5c.js +156 -0
  179. package/build/esm/index-cebf3102.js +123 -0
  180. package/build/esm/index-cec49b40.js +139 -0
  181. package/build/esm/index-d1b20602.js +134 -0
  182. package/build/esm/index-d2d373d7.js +108 -0
  183. package/build/esm/index-d42464ca.js +121 -0
  184. package/build/esm/index-d50af463.js +202 -0
  185. package/build/esm/index-d72d742b.js +64 -0
  186. package/build/esm/index-d83bf046.js +91 -0
  187. package/build/esm/index-d8f27d18.js +127 -0
  188. package/build/esm/index-d9ecae01.js +52 -0
  189. package/build/esm/index-db399b60.js +78 -0
  190. package/build/esm/index-dd7ce17a.js +38 -0
  191. package/build/esm/index-dd888e43.js +27 -0
  192. package/build/esm/index-dde3d39a.js +163 -0
  193. package/build/esm/index-df644d3c.js +65 -0
  194. package/build/esm/index-e0a9fa82.js +43 -0
  195. package/build/esm/index-e17a2ebe.js +136 -0
  196. package/build/esm/index-e23fffaf.js +59 -0
  197. package/build/esm/index-e444067a.js +96 -0
  198. package/build/esm/index-e49b7d8f.js +59 -0
  199. package/build/esm/index-e4b94632.js +34 -0
  200. package/build/esm/index-e4d20f71.js +35 -0
  201. package/build/esm/index-e5790106.js +131 -0
  202. package/build/esm/index-e645224c.js +27 -0
  203. package/build/esm/index-e777fccb.js +69 -0
  204. package/build/esm/index-e7d51d80.js +48 -0
  205. package/build/esm/index-e803fc98.js +215 -0
  206. package/build/esm/index-e8b324ec.js +46 -0
  207. package/build/esm/index-e9717fd4.js +153 -0
  208. package/build/esm/index-e9765413.js +31 -0
  209. package/build/esm/index-e9a4c6bc.js +81 -0
  210. package/build/esm/index-e9f5b499.js +49 -0
  211. package/build/esm/index-ea30b469.js +76 -0
  212. package/build/esm/index-ea629c8c.js +94 -0
  213. package/build/esm/index-ea767ae5.js +172 -0
  214. package/build/esm/index-eaf17684.js +54 -0
  215. package/build/esm/index-eb157022.js +47 -0
  216. package/build/esm/index-ec1b9a71.js +97 -0
  217. package/build/esm/index-f2293426.js +52 -0
  218. package/build/esm/index-f2984bcf.js +87 -0
  219. package/build/esm/index-f29ffeee.js +36 -0
  220. package/build/esm/index-f31f8a63.js +56 -0
  221. package/build/esm/index-f4389a63.js +27 -0
  222. package/build/esm/index-f49fead3.js +141 -0
  223. package/build/esm/index-f5136aa5.js +86 -0
  224. package/build/esm/index-f65d5986.js +128 -0
  225. package/build/esm/index-f72a9b8e.js +55 -0
  226. package/build/esm/index-f8cc4062.js +170 -0
  227. package/build/esm/index-f9327e80.js +27 -0
  228. package/build/esm/index-f947da3e.js +45 -0
  229. package/build/esm/index-f99568af.js +186 -0
  230. package/build/esm/index-fdeb0733.js +268 -0
  231. package/build/esm/index-fe4c1834.js +46 -0
  232. package/build/esm/index-ff4d2c8d.js +88 -0
  233. package/build/esm/index.js +1 -1
  234. package/build/esm/index.module-10107dda.js +9 -0
  235. package/build/esm/index.module-2b635a51.js +44 -0
  236. package/build/esm/index.module-39160195.js +10 -0
  237. package/build/esm/index.module-61ceae80.js +19 -0
  238. package/build/esm/index.module-6f60eb45.js +20 -0
  239. package/build/esm/index.module-77fb085d.js +18 -0
  240. package/build/esm/index.module-7c9e8cb2.js +9 -0
  241. package/build/esm/index.module-7efc88b9.js +8 -0
  242. package/build/esm/index.module-92381bbb.js +12 -0
  243. package/build/esm/index.module-ba8f7e4f.js +17 -0
  244. package/build/esm/index.module-d7cab182.js +24 -0
  245. package/build/esm/index.module-ea2cb833.js +13 -0
  246. package/build/esm/index.module-eb97a21b.js +10 -0
  247. package/build/esm/index.module-fe9bf425.js +10 -0
  248. package/build/esm/requestProductForm-7e181171.js +295 -0
  249. package/build/types/web-planner-react/src/components/Product/Product/serious/CheckoutForm/index.d.ts.map +1 -1
  250. package/build/umd/1036.diva-web-planner-react.umd.min.js +2 -0
  251. package/build/umd/1036.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  252. package/build/umd/1118.diva-web-planner-react.umd.min.js +2 -0
  253. package/build/umd/1118.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  254. package/build/umd/1123.diva-web-planner-react.umd.min.js +2 -0
  255. package/build/umd/1123.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  256. package/build/umd/1128.diva-web-planner-react.umd.min.js +2 -0
  257. package/build/umd/1128.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  258. package/build/umd/1143.diva-web-planner-react.umd.min.js +2 -0
  259. package/build/umd/1143.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  260. package/build/umd/1144.diva-web-planner-react.umd.min.js +2 -0
  261. package/build/umd/1144.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  262. package/build/umd/115.diva-web-planner-react.umd.min.js +2 -0
  263. package/build/umd/115.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  264. package/build/umd/1207.diva-web-planner-react.umd.min.js +2 -0
  265. package/build/umd/1207.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  266. package/build/umd/1212.diva-web-planner-react.umd.min.js +2 -0
  267. package/build/umd/1212.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  268. package/build/umd/1222.diva-web-planner-react.umd.min.js +2 -0
  269. package/build/umd/1222.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  270. package/build/umd/124.diva-web-planner-react.umd.min.js +2 -0
  271. package/build/umd/124.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  272. package/build/umd/1269.diva-web-planner-react.umd.min.js +2 -0
  273. package/build/umd/1269.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  274. package/build/umd/1329.diva-web-planner-react.umd.min.js +2 -0
  275. package/build/umd/1329.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  276. package/build/umd/1418.diva-web-planner-react.umd.min.js +2 -0
  277. package/build/umd/1418.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  278. package/build/umd/1463.diva-web-planner-react.umd.min.js +2 -0
  279. package/build/umd/1463.diva-web-planner-react.umd.min.js.LICENSE.txt +33 -0
  280. package/build/umd/1482.diva-web-planner-react.umd.min.js +2 -0
  281. package/build/umd/1482.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  282. package/build/umd/1510.diva-web-planner-react.umd.min.js +2 -0
  283. package/build/umd/1510.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  284. package/build/umd/1512.diva-web-planner-react.umd.min.js +2 -0
  285. package/build/umd/1512.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  286. package/build/umd/1535.diva-web-planner-react.umd.min.js +2 -0
  287. package/build/umd/1535.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  288. package/build/umd/1548.diva-web-planner-react.umd.min.js +2 -0
  289. package/build/umd/1548.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  290. package/build/umd/158.diva-web-planner-react.umd.min.js +2 -0
  291. package/build/umd/158.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  292. package/build/umd/1603.diva-web-planner-react.umd.min.js +2 -0
  293. package/build/umd/1603.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  294. package/build/umd/1608.diva-web-planner-react.umd.min.js +2 -0
  295. package/build/umd/1608.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  296. package/build/umd/1681.diva-web-planner-react.umd.min.js +2 -0
  297. package/build/umd/1681.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  298. package/build/umd/170.diva-web-planner-react.umd.min.js +2 -0
  299. package/build/umd/170.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  300. package/build/umd/1701.diva-web-planner-react.umd.min.js +2 -0
  301. package/build/umd/1701.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  302. package/build/umd/1732.diva-web-planner-react.umd.min.js +2 -0
  303. package/build/umd/1732.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  304. package/build/umd/182.diva-web-planner-react.umd.min.js +2 -0
  305. package/build/umd/182.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  306. package/build/umd/1896.diva-web-planner-react.umd.min.js +2 -0
  307. package/build/umd/1896.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  308. package/build/umd/1912.diva-web-planner-react.umd.min.js +2 -0
  309. package/build/umd/1912.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  310. package/build/umd/1922.diva-web-planner-react.umd.min.js +2 -0
  311. package/build/umd/1922.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  312. package/build/umd/1932.diva-web-planner-react.umd.min.js +2 -0
  313. package/build/umd/1932.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  314. package/build/umd/1996.diva-web-planner-react.umd.min.js +2 -0
  315. package/build/umd/1996.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  316. package/build/umd/2018.diva-web-planner-react.umd.min.js +2 -0
  317. package/build/umd/2018.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  318. package/build/umd/2027.diva-web-planner-react.umd.min.js +2 -0
  319. package/build/umd/2027.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  320. package/build/umd/2046.diva-web-planner-react.umd.min.js +2 -0
  321. package/build/umd/2046.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  322. package/build/umd/2072.diva-web-planner-react.umd.min.js +2 -0
  323. package/build/umd/2072.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  324. package/build/umd/209.diva-web-planner-react.umd.min.js +2 -0
  325. package/build/umd/209.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  326. package/build/umd/2127.diva-web-planner-react.umd.min.js +2 -0
  327. package/build/umd/2127.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  328. package/build/umd/2147.diva-web-planner-react.umd.min.js +2 -0
  329. package/build/umd/2147.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  330. package/build/umd/2171.diva-web-planner-react.umd.min.js +2 -0
  331. package/build/umd/2171.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  332. package/build/umd/2182.diva-web-planner-react.umd.min.js +2 -0
  333. package/build/umd/2182.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  334. package/build/umd/2185.diva-web-planner-react.umd.min.js +2 -0
  335. package/build/umd/2185.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  336. package/build/umd/2285.diva-web-planner-react.umd.min.js +2 -0
  337. package/build/umd/2285.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  338. package/build/umd/2314.diva-web-planner-react.umd.min.js +2 -0
  339. package/build/umd/2314.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  340. package/build/umd/2334.diva-web-planner-react.umd.min.js +2 -0
  341. package/build/umd/2334.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  342. package/build/umd/2352.diva-web-planner-react.umd.min.js +2 -0
  343. package/build/umd/2352.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  344. package/build/umd/2372.diva-web-planner-react.umd.min.js +2 -0
  345. package/build/umd/2372.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  346. package/build/umd/2400.diva-web-planner-react.umd.min.js +2 -0
  347. package/build/umd/2400.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  348. package/build/umd/2443.diva-web-planner-react.umd.min.js +2 -0
  349. package/build/umd/2443.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  350. package/build/umd/2458.diva-web-planner-react.umd.min.js +2 -0
  351. package/build/umd/2458.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  352. package/build/umd/2491.diva-web-planner-react.umd.min.js +2 -0
  353. package/build/umd/2491.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  354. package/build/umd/2509.diva-web-planner-react.umd.min.js +2 -0
  355. package/build/umd/2509.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  356. package/build/umd/2554.diva-web-planner-react.umd.min.js +2 -0
  357. package/build/umd/2554.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  358. package/build/umd/2568.diva-web-planner-react.umd.min.js +2 -0
  359. package/build/umd/2568.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  360. package/build/umd/2645.diva-web-planner-react.umd.min.js +2 -0
  361. package/build/umd/2645.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  362. package/build/umd/2655.diva-web-planner-react.umd.min.js +2 -0
  363. package/build/umd/2655.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  364. package/build/umd/2684.diva-web-planner-react.umd.min.js +2 -0
  365. package/build/umd/2684.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  366. package/build/umd/2735.diva-web-planner-react.umd.min.js +2 -0
  367. package/build/umd/2735.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  368. package/build/umd/2784.diva-web-planner-react.umd.min.js +2 -0
  369. package/build/umd/2784.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  370. package/build/umd/2844.diva-web-planner-react.umd.min.js +2 -0
  371. package/build/umd/2844.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  372. package/build/umd/2909.diva-web-planner-react.umd.min.js +1 -1
  373. package/build/umd/2909.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
  374. package/build/umd/2929.diva-web-planner-react.umd.min.js +2 -0
  375. package/build/umd/2929.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  376. package/build/umd/2933.diva-web-planner-react.umd.min.js +2 -0
  377. package/build/umd/2933.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  378. package/build/umd/2973.diva-web-planner-react.umd.min.js +2 -0
  379. package/build/umd/2973.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  380. package/build/umd/2976.diva-web-planner-react.umd.min.js +2 -0
  381. package/build/umd/2976.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  382. package/build/umd/2979.diva-web-planner-react.umd.min.js +2 -0
  383. package/build/umd/2979.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  384. package/build/umd/3002.diva-web-planner-react.umd.min.js +2 -0
  385. package/build/umd/3002.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  386. package/build/umd/304.diva-web-planner-react.umd.min.js +2 -0
  387. package/build/umd/304.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  388. package/build/umd/3064.diva-web-planner-react.umd.min.js +2 -0
  389. package/build/umd/3064.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  390. package/build/umd/3090.diva-web-planner-react.umd.min.js +2 -0
  391. package/build/umd/3090.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  392. package/build/umd/3108.diva-web-planner-react.umd.min.js +2 -0
  393. package/build/umd/3108.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  394. package/build/umd/3125.diva-web-planner-react.umd.min.js +2 -0
  395. package/build/umd/3125.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  396. package/build/umd/3132.diva-web-planner-react.umd.min.js +2 -0
  397. package/build/umd/3132.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  398. package/build/umd/3137.diva-web-planner-react.umd.min.js +2 -0
  399. package/build/umd/3137.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  400. package/build/umd/3138.diva-web-planner-react.umd.min.js +2 -0
  401. package/build/umd/3138.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  402. package/build/umd/3269.diva-web-planner-react.umd.min.js +2 -0
  403. package/build/umd/3269.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  404. package/build/umd/3337.diva-web-planner-react.umd.min.js +2 -0
  405. package/build/umd/3337.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  406. package/build/umd/3380.diva-web-planner-react.umd.min.js +2 -0
  407. package/build/umd/3380.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  408. package/build/umd/3392.diva-web-planner-react.umd.min.js +2 -0
  409. package/build/umd/3392.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  410. package/build/umd/3410.diva-web-planner-react.umd.min.js +2 -0
  411. package/build/umd/3410.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  412. package/build/umd/3457.diva-web-planner-react.umd.min.js +2 -0
  413. package/build/umd/3457.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  414. package/build/umd/3460.diva-web-planner-react.umd.min.js +2 -0
  415. package/build/umd/3460.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  416. package/build/umd/3525.diva-web-planner-react.umd.min.js +2 -0
  417. package/build/umd/3525.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  418. package/build/umd/3585.diva-web-planner-react.umd.min.js +2 -0
  419. package/build/umd/3585.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  420. package/build/umd/3596.diva-web-planner-react.umd.min.js +2 -0
  421. package/build/umd/3596.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  422. package/build/umd/3605.diva-web-planner-react.umd.min.js +2 -0
  423. package/build/umd/3605.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  424. package/build/umd/3613.diva-web-planner-react.umd.min.js +2 -0
  425. package/build/umd/3613.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  426. package/build/umd/3669.diva-web-planner-react.umd.min.js +2 -0
  427. package/build/umd/3669.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  428. package/build/umd/3695.diva-web-planner-react.umd.min.js +2 -0
  429. package/build/umd/3695.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  430. package/build/umd/3703.diva-web-planner-react.umd.min.js +2 -0
  431. package/build/umd/3703.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  432. package/build/umd/3705.diva-web-planner-react.umd.min.js +2 -0
  433. package/build/umd/3705.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  434. package/build/umd/3720.diva-web-planner-react.umd.min.js +2 -0
  435. package/build/umd/3720.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  436. package/build/umd/3762.diva-web-planner-react.umd.min.js +2 -0
  437. package/build/umd/3762.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  438. package/build/umd/3792.diva-web-planner-react.umd.min.js +2 -0
  439. package/build/umd/3792.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  440. package/build/umd/3812.diva-web-planner-react.umd.min.js +2 -0
  441. package/build/umd/3812.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  442. package/build/umd/3839.diva-web-planner-react.umd.min.js +2 -0
  443. package/build/umd/3839.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  444. package/build/umd/3846.diva-web-planner-react.umd.min.js +2 -0
  445. package/build/umd/3846.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  446. package/build/umd/3871.diva-web-planner-react.umd.min.js +2 -0
  447. package/build/umd/3871.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  448. package/build/umd/3936.diva-web-planner-react.umd.min.js +2 -0
  449. package/build/umd/3936.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  450. package/build/umd/3958.diva-web-planner-react.umd.min.js +2 -0
  451. package/build/umd/3958.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  452. package/build/umd/405.diva-web-planner-react.umd.min.js +2 -0
  453. package/build/umd/405.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  454. package/build/umd/4060.diva-web-planner-react.umd.min.js +2 -0
  455. package/build/umd/4060.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  456. package/build/umd/4080.diva-web-planner-react.umd.min.js +1 -1
  457. package/build/umd/4133.diva-web-planner-react.umd.min.js +2 -0
  458. package/build/umd/4133.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  459. package/build/umd/4145.diva-web-planner-react.umd.min.js +2 -0
  460. package/build/umd/4145.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  461. package/build/umd/4190.diva-web-planner-react.umd.min.js +2 -0
  462. package/build/umd/4190.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  463. package/build/umd/4200.diva-web-planner-react.umd.min.js +2 -0
  464. package/build/umd/4200.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  465. package/build/umd/4314.diva-web-planner-react.umd.min.js +2 -0
  466. package/build/umd/4314.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  467. package/build/umd/4325.diva-web-planner-react.umd.min.js +2 -0
  468. package/build/umd/4325.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  469. package/build/umd/4354.diva-web-planner-react.umd.min.js +2 -0
  470. package/build/umd/4354.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  471. package/build/umd/4371.diva-web-planner-react.umd.min.js +2 -0
  472. package/build/umd/4371.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  473. package/build/umd/441.diva-web-planner-react.umd.min.js +2 -0
  474. package/build/umd/441.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  475. package/build/umd/4423.diva-web-planner-react.umd.min.js +2 -0
  476. package/build/umd/4423.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  477. package/build/umd/4430.diva-web-planner-react.umd.min.js +2 -0
  478. package/build/umd/4430.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  479. package/build/umd/4439.diva-web-planner-react.umd.min.js +2 -0
  480. package/build/umd/4439.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  481. package/build/umd/4514.diva-web-planner-react.umd.min.js +2 -0
  482. package/build/umd/4514.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  483. package/build/umd/4516.diva-web-planner-react.umd.min.js +1 -1
  484. package/build/umd/4516.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
  485. package/build/umd/4529.diva-web-planner-react.umd.min.js +2 -0
  486. package/build/umd/4529.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  487. package/build/umd/4580.diva-web-planner-react.umd.min.js +2 -0
  488. package/build/umd/4580.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  489. package/build/umd/4585.diva-web-planner-react.umd.min.js +2 -0
  490. package/build/umd/4585.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  491. package/build/umd/4689.diva-web-planner-react.umd.min.js +2 -0
  492. package/build/umd/4689.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  493. package/build/umd/4690.diva-web-planner-react.umd.min.js +2 -0
  494. package/build/umd/4690.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  495. package/build/umd/4701.diva-web-planner-react.umd.min.js +2 -0
  496. package/build/umd/4701.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  497. package/build/umd/4723.diva-web-planner-react.umd.min.js +2 -0
  498. package/build/umd/4723.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  499. package/build/umd/4725.diva-web-planner-react.umd.min.js +2 -0
  500. package/build/umd/4725.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  501. package/build/umd/4754.diva-web-planner-react.umd.min.js +2 -0
  502. package/build/umd/4754.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  503. package/build/umd/4805.diva-web-planner-react.umd.min.js +2 -0
  504. package/build/umd/4805.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  505. package/build/umd/4817.diva-web-planner-react.umd.min.js +2 -0
  506. package/build/umd/4817.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  507. package/build/umd/4829.diva-web-planner-react.umd.min.js +2 -0
  508. package/build/umd/4829.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  509. package/build/umd/4833.diva-web-planner-react.umd.min.js +2 -0
  510. package/build/umd/4833.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  511. package/build/umd/4872.diva-web-planner-react.umd.min.js +2 -0
  512. package/build/umd/4872.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  513. package/build/umd/4899.diva-web-planner-react.umd.min.js +2 -0
  514. package/build/umd/4899.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  515. package/build/umd/4903.diva-web-planner-react.umd.min.js +2 -0
  516. package/build/umd/4903.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  517. package/build/umd/4910.diva-web-planner-react.umd.min.js +2 -0
  518. package/build/umd/4910.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  519. package/build/umd/5074.diva-web-planner-react.umd.min.js +2 -0
  520. package/build/umd/5074.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  521. package/build/umd/5115.diva-web-planner-react.umd.min.js +2 -0
  522. package/build/umd/5115.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  523. package/build/umd/5155.diva-web-planner-react.umd.min.js +2 -0
  524. package/build/umd/5155.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  525. package/build/umd/5200.diva-web-planner-react.umd.min.js +2 -0
  526. package/build/umd/5200.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  527. package/build/umd/5289.diva-web-planner-react.umd.min.js +2 -0
  528. package/build/umd/5289.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  529. package/build/umd/5297.diva-web-planner-react.umd.min.js +2 -0
  530. package/build/umd/5297.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  531. package/build/umd/5327.diva-web-planner-react.umd.min.js +2 -0
  532. package/build/umd/5327.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  533. package/build/umd/5382.diva-web-planner-react.umd.min.js +2 -0
  534. package/build/umd/5382.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  535. package/build/umd/5393.diva-web-planner-react.umd.min.js +2 -0
  536. package/build/umd/5393.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  537. package/build/umd/5408.diva-web-planner-react.umd.min.js +2 -0
  538. package/build/umd/5408.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  539. package/build/umd/5414.diva-web-planner-react.umd.min.js +2 -0
  540. package/build/umd/5414.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  541. package/build/umd/5439.diva-web-planner-react.umd.min.js +2 -0
  542. package/build/umd/5439.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
  543. package/build/umd/5467.diva-web-planner-react.umd.min.js +2 -0
  544. package/build/umd/5467.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  545. package/build/umd/5492.diva-web-planner-react.umd.min.js +2 -0
  546. package/build/umd/5492.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  547. package/build/umd/5576.diva-web-planner-react.umd.min.js +2 -0
  548. package/build/umd/5576.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  549. package/build/umd/5586.diva-web-planner-react.umd.min.js +2 -0
  550. package/build/umd/5586.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  551. package/build/umd/5718.diva-web-planner-react.umd.min.js +2 -0
  552. package/build/umd/5718.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  553. package/build/umd/5724.diva-web-planner-react.umd.min.js +2 -0
  554. package/build/umd/5724.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  555. package/build/umd/5887.diva-web-planner-react.umd.min.js +2 -0
  556. package/build/umd/5887.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  557. package/build/umd/59.diva-web-planner-react.umd.min.js +2 -0
  558. package/build/umd/59.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  559. package/build/umd/6028.diva-web-planner-react.umd.min.js +2 -0
  560. package/build/umd/6028.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  561. package/build/umd/6043.diva-web-planner-react.umd.min.js +2 -0
  562. package/build/umd/6043.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  563. package/build/umd/6048.diva-web-planner-react.umd.min.js +2 -0
  564. package/build/umd/6048.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  565. package/build/umd/6092.diva-web-planner-react.umd.min.js +2 -0
  566. package/build/umd/6092.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  567. package/build/umd/6103.diva-web-planner-react.umd.min.js +2 -0
  568. package/build/umd/6103.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  569. package/build/umd/6158.diva-web-planner-react.umd.min.js +2 -0
  570. package/build/umd/6158.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  571. package/build/umd/6201.diva-web-planner-react.umd.min.js +2 -0
  572. package/build/umd/6201.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  573. package/build/umd/6217.diva-web-planner-react.umd.min.js +2 -0
  574. package/build/umd/6217.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  575. package/build/umd/6253.diva-web-planner-react.umd.min.js +2 -0
  576. package/build/umd/6253.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  577. package/build/umd/6260.diva-web-planner-react.umd.min.js +2 -0
  578. package/build/umd/6260.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  579. package/build/umd/6266.diva-web-planner-react.umd.min.js +2 -0
  580. package/build/umd/6266.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  581. package/build/umd/6316.diva-web-planner-react.umd.min.js +2 -0
  582. package/build/umd/6316.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  583. package/build/umd/6335.diva-web-planner-react.umd.min.js +2 -0
  584. package/build/umd/6335.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  585. package/build/umd/6352.diva-web-planner-react.umd.min.js +2 -0
  586. package/build/umd/6352.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  587. package/build/umd/6355.diva-web-planner-react.umd.min.js +2 -0
  588. package/build/umd/6355.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  589. package/build/umd/6363.diva-web-planner-react.umd.min.js +2 -0
  590. package/build/umd/6363.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  591. package/build/umd/6504.diva-web-planner-react.umd.min.js +2 -0
  592. package/build/umd/6504.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  593. package/build/umd/6506.diva-web-planner-react.umd.min.js +2 -0
  594. package/build/umd/6506.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  595. package/build/umd/6587.diva-web-planner-react.umd.min.js +2 -0
  596. package/build/umd/6587.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  597. package/build/umd/6590.diva-web-planner-react.umd.min.js +2 -0
  598. package/build/umd/6590.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  599. package/build/umd/6659.diva-web-planner-react.umd.min.js +2 -0
  600. package/build/umd/6659.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  601. package/build/umd/67.diva-web-planner-react.umd.min.js +2 -0
  602. package/build/umd/67.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  603. package/build/umd/6725.diva-web-planner-react.umd.min.js +2 -0
  604. package/build/umd/6725.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  605. package/build/umd/6765.diva-web-planner-react.umd.min.js +2 -0
  606. package/build/umd/6765.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  607. package/build/umd/6770.diva-web-planner-react.umd.min.js +2 -0
  608. package/build/umd/6770.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  609. package/build/umd/6871.diva-web-planner-react.umd.min.js +2 -0
  610. package/build/umd/6871.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  611. package/build/umd/6961.diva-web-planner-react.umd.min.js +2 -0
  612. package/build/umd/6961.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  613. package/build/umd/7020.diva-web-planner-react.umd.min.js +2 -0
  614. package/build/umd/7020.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  615. package/build/umd/7026.diva-web-planner-react.umd.min.js +2 -0
  616. package/build/umd/7026.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  617. package/build/umd/7052.diva-web-planner-react.umd.min.js +2 -0
  618. package/build/umd/7052.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  619. package/build/umd/7078.diva-web-planner-react.umd.min.js +2 -0
  620. package/build/umd/7078.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  621. package/build/umd/709.diva-web-planner-react.umd.min.js +2 -0
  622. package/build/umd/709.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  623. package/build/umd/7124.diva-web-planner-react.umd.min.js +2 -0
  624. package/build/umd/7124.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  625. package/build/umd/7152.diva-web-planner-react.umd.min.js +2 -0
  626. package/build/umd/7152.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  627. package/build/umd/7187.diva-web-planner-react.umd.min.js +2 -0
  628. package/build/umd/7187.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  629. package/build/umd/7288.diva-web-planner-react.umd.min.js +2 -0
  630. package/build/umd/7288.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  631. package/build/umd/7328.diva-web-planner-react.umd.min.js +2 -0
  632. package/build/umd/7328.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  633. package/build/umd/7342.diva-web-planner-react.umd.min.js +2 -0
  634. package/build/umd/7342.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  635. package/build/umd/7344.diva-web-planner-react.umd.min.js +2 -0
  636. package/build/umd/7344.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  637. package/build/umd/7348.diva-web-planner-react.umd.min.js +2 -0
  638. package/build/umd/7348.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  639. package/build/umd/735.diva-web-planner-react.umd.min.js +2 -0
  640. package/build/umd/735.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  641. package/build/umd/7374.diva-web-planner-react.umd.min.js +2 -0
  642. package/build/umd/7374.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  643. package/build/umd/7393.diva-web-planner-react.umd.min.js +2 -0
  644. package/build/umd/7393.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  645. package/build/umd/7442.diva-web-planner-react.umd.min.js +2 -0
  646. package/build/umd/7442.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  647. package/build/umd/760.diva-web-planner-react.umd.min.js +2 -0
  648. package/build/umd/760.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  649. package/build/umd/7663.diva-web-planner-react.umd.min.js +2 -0
  650. package/build/umd/7663.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  651. package/build/umd/7674.diva-web-planner-react.umd.min.js +2 -0
  652. package/build/umd/7674.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  653. package/build/umd/7708.diva-web-planner-react.umd.min.js +1 -1
  654. package/build/umd/7713.diva-web-planner-react.umd.min.js +2 -0
  655. package/build/umd/7713.diva-web-planner-react.umd.min.js.LICENSE.txt +21 -0
  656. package/build/umd/7737.diva-web-planner-react.umd.min.js +2 -0
  657. package/build/umd/7737.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  658. package/build/umd/7757.diva-web-planner-react.umd.min.js +2 -0
  659. package/build/umd/7757.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  660. package/build/umd/7801.diva-web-planner-react.umd.min.js +2 -0
  661. package/build/umd/7801.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  662. package/build/umd/7807.diva-web-planner-react.umd.min.js +2 -0
  663. package/build/umd/7807.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  664. package/build/umd/7810.diva-web-planner-react.umd.min.js +2 -0
  665. package/build/umd/7810.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  666. package/build/umd/7881.diva-web-planner-react.umd.min.js +2 -0
  667. package/build/umd/7881.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  668. package/build/umd/7886.diva-web-planner-react.umd.min.js +1 -1
  669. package/build/umd/7926.diva-web-planner-react.umd.min.js +2 -0
  670. package/build/umd/7926.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  671. package/build/umd/7933.diva-web-planner-react.umd.min.js +2 -0
  672. package/build/umd/7933.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  673. package/build/umd/7957.diva-web-planner-react.umd.min.js +2 -0
  674. package/build/umd/7957.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  675. package/build/umd/7976.diva-web-planner-react.umd.min.js +2 -0
  676. package/build/umd/7976.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  677. package/build/umd/802.diva-web-planner-react.umd.min.js +2 -0
  678. package/build/umd/802.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  679. package/build/umd/8042.diva-web-planner-react.umd.min.js +1 -1
  680. package/build/umd/8042.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -6
  681. package/build/umd/8063.diva-web-planner-react.umd.min.js +2 -0
  682. package/build/umd/8063.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  683. package/build/umd/8099.diva-web-planner-react.umd.min.js +2 -0
  684. package/build/umd/8099.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  685. package/build/umd/8110.diva-web-planner-react.umd.min.js +2 -0
  686. package/build/umd/8110.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  687. package/build/umd/8117.diva-web-planner-react.umd.min.js +2 -0
  688. package/build/umd/8117.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  689. package/build/umd/814.diva-web-planner-react.umd.min.js +2 -0
  690. package/build/umd/814.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  691. package/build/umd/8163.diva-web-planner-react.umd.min.js +2 -0
  692. package/build/umd/8163.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  693. package/build/umd/8179.diva-web-planner-react.umd.min.js +2 -0
  694. package/build/umd/8179.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  695. package/build/umd/8213.diva-web-planner-react.umd.min.js +2 -0
  696. package/build/umd/8213.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  697. package/build/umd/8231.diva-web-planner-react.umd.min.js +2 -0
  698. package/build/umd/8231.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  699. package/build/umd/8241.diva-web-planner-react.umd.min.js +2 -0
  700. package/build/umd/8241.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  701. package/build/umd/8263.diva-web-planner-react.umd.min.js +2 -0
  702. package/build/umd/8263.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  703. package/build/umd/8277.diva-web-planner-react.umd.min.js +2 -0
  704. package/build/umd/8277.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  705. package/build/umd/8301.diva-web-planner-react.umd.min.js +2 -0
  706. package/build/umd/8301.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  707. package/build/umd/8356.diva-web-planner-react.umd.min.js +2 -0
  708. package/build/umd/8356.diva-web-planner-react.umd.min.js.LICENSE.txt +11 -0
  709. package/build/umd/8369.diva-web-planner-react.umd.min.js +2 -0
  710. package/build/umd/8369.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  711. package/build/umd/8416.diva-web-planner-react.umd.min.js +2 -0
  712. package/build/umd/8416.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  713. package/build/umd/8445.diva-web-planner-react.umd.min.js +2 -0
  714. package/build/umd/8445.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  715. package/build/umd/8529.diva-web-planner-react.umd.min.js +2 -0
  716. package/build/umd/8529.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  717. package/build/umd/8533.diva-web-planner-react.umd.min.js +2 -0
  718. package/build/umd/8533.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  719. package/build/umd/858.diva-web-planner-react.umd.min.js +2 -0
  720. package/build/umd/858.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  721. package/build/umd/8584.diva-web-planner-react.umd.min.js +2 -0
  722. package/build/umd/8584.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  723. package/build/umd/859.diva-web-planner-react.umd.min.js +2 -0
  724. package/build/umd/859.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  725. package/build/umd/8618.diva-web-planner-react.umd.min.js +2 -0
  726. package/build/umd/8618.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  727. package/build/umd/8619.diva-web-planner-react.umd.min.js +2 -0
  728. package/build/umd/8619.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  729. package/build/umd/8628.diva-web-planner-react.umd.min.js +2 -0
  730. package/build/umd/8628.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  731. package/build/umd/8633.diva-web-planner-react.umd.min.js +2 -0
  732. package/build/umd/8633.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  733. package/build/umd/8645.diva-web-planner-react.umd.min.js +2 -0
  734. package/build/umd/8645.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  735. package/build/umd/8657.diva-web-planner-react.umd.min.js +2 -0
  736. package/build/umd/8657.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  737. package/build/umd/8661.diva-web-planner-react.umd.min.js +2 -0
  738. package/build/umd/8661.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  739. package/build/umd/8701.diva-web-planner-react.umd.min.js +2 -0
  740. package/build/umd/8701.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  741. package/build/umd/8705.diva-web-planner-react.umd.min.js +2 -0
  742. package/build/umd/8705.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  743. package/build/umd/8717.diva-web-planner-react.umd.min.js +2 -0
  744. package/build/umd/8717.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  745. package/build/umd/873.diva-web-planner-react.umd.min.js +2 -0
  746. package/build/umd/873.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  747. package/build/umd/8742.diva-web-planner-react.umd.min.js +2 -0
  748. package/build/umd/8742.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  749. package/build/umd/8757.diva-web-planner-react.umd.min.js +2 -0
  750. package/build/umd/8757.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  751. package/build/umd/876.diva-web-planner-react.umd.min.js +2 -0
  752. package/build/umd/876.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  753. package/build/umd/8850.diva-web-planner-react.umd.min.js +2 -0
  754. package/build/umd/8850.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  755. package/build/umd/8876.diva-web-planner-react.umd.min.js +2 -0
  756. package/build/umd/8876.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  757. package/build/umd/8877.diva-web-planner-react.umd.min.js +2 -0
  758. package/build/umd/8877.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  759. package/build/umd/8938.diva-web-planner-react.umd.min.js +2 -0
  760. package/build/umd/8938.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  761. package/build/umd/8958.diva-web-planner-react.umd.min.js +2 -0
  762. package/build/umd/8958.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  763. package/build/umd/896.diva-web-planner-react.umd.min.js +2 -0
  764. package/build/umd/896.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  765. package/build/umd/8969.diva-web-planner-react.umd.min.js +2 -0
  766. package/build/umd/8969.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  767. package/build/umd/8986.diva-web-planner-react.umd.min.js +2 -0
  768. package/build/umd/8986.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  769. package/build/umd/8991.diva-web-planner-react.umd.min.js +2 -0
  770. package/build/umd/8991.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  771. package/build/umd/9001.diva-web-planner-react.umd.min.js +2 -0
  772. package/build/umd/9001.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  773. package/build/umd/9040.diva-web-planner-react.umd.min.js +2 -0
  774. package/build/umd/9040.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  775. package/build/umd/9119.diva-web-planner-react.umd.min.js +2 -0
  776. package/build/umd/9119.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  777. package/build/umd/9170.diva-web-planner-react.umd.min.js +2 -0
  778. package/build/umd/9170.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  779. package/build/umd/9235.diva-web-planner-react.umd.min.js +2 -0
  780. package/build/umd/9235.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  781. package/build/umd/9260.diva-web-planner-react.umd.min.js +2 -0
  782. package/build/umd/9260.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  783. package/build/umd/9276.diva-web-planner-react.umd.min.js +2 -0
  784. package/build/umd/9276.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  785. package/build/umd/9290.diva-web-planner-react.umd.min.js +2 -0
  786. package/build/umd/9290.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  787. package/build/umd/9291.diva-web-planner-react.umd.min.js +2 -0
  788. package/build/umd/9291.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  789. package/build/umd/9360.diva-web-planner-react.umd.min.js +2 -0
  790. package/build/umd/9360.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  791. package/build/umd/9375.diva-web-planner-react.umd.min.js +2 -0
  792. package/build/umd/9375.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  793. package/build/umd/9390.diva-web-planner-react.umd.min.js +2 -0
  794. package/build/umd/9390.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  795. package/build/umd/943.diva-web-planner-react.umd.min.js +2 -0
  796. package/build/umd/943.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  797. package/build/umd/9503.diva-web-planner-react.umd.min.js +2 -0
  798. package/build/umd/9503.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  799. package/build/umd/9561.diva-web-planner-react.umd.min.js +2 -0
  800. package/build/umd/9561.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  801. package/build/umd/960.diva-web-planner-react.umd.min.js +2 -0
  802. package/build/umd/960.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  803. package/build/umd/9607.diva-web-planner-react.umd.min.js +2 -0
  804. package/build/umd/9607.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  805. package/build/umd/963.diva-web-planner-react.umd.min.js +408 -0
  806. package/build/umd/963.diva-web-planner-react.umd.min.js.LICENSE.txt +86 -0
  807. package/build/umd/9631.diva-web-planner-react.umd.min.js +2 -0
  808. package/build/umd/9631.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  809. package/build/umd/9715.diva-web-planner-react.umd.min.js +2 -0
  810. package/build/umd/9715.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  811. package/build/umd/9873.diva-web-planner-react.umd.min.js +2 -0
  812. package/build/umd/9873.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  813. package/build/umd/9874.diva-web-planner-react.umd.min.js +2 -0
  814. package/build/umd/9874.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  815. package/build/umd/9897.diva-web-planner-react.umd.min.js +2 -0
  816. package/build/umd/9897.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  817. package/build/umd/9898.diva-web-planner-react.umd.min.js +2 -0
  818. package/build/umd/9898.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  819. package/build/umd/9944.diva-web-planner-react.umd.min.js +2 -0
  820. package/build/umd/9944.diva-web-planner-react.umd.min.js.LICENSE.txt +19 -0
  821. package/build/umd/diva-web-planner-react.umd.min.js +1 -1
  822. package/build/umd/report.html +4 -5
  823. package/package.json +6 -6
  824. package/build/esm/ArticleProperties-c0b4d057.js +0 -164
  825. package/build/esm/CatalogProperties-e4fab576.js +0 -452
  826. package/build/esm/IconHandler-3933e482.js +0 -77
  827. package/build/esm/OptionProperties-fd30e558.js +0 -161
  828. package/build/esm/OptionValueProperties-1f4c1a3c.js +0 -116
  829. package/build/esm/Planner2DGrid-164f46cf.js +0 -641
  830. package/build/esm/Planner3DImage-bf714a99.js +0 -1163
  831. package/build/esm/index-02467ac9.js +0 -102
  832. package/build/esm/index-02bc5db5.js +0 -175
  833. package/build/esm/index-053d32e4.js +0 -50
  834. package/build/esm/index-0668dc6a.js +0 -46
  835. package/build/esm/index-06e53e14.js +0 -139
  836. package/build/esm/index-0953e946.js +0 -120
  837. package/build/esm/index-0a6bb699.js +0 -41
  838. package/build/esm/index-0abf17e2.js +0 -108
  839. package/build/esm/index-0b2690bb.js +0 -52
  840. package/build/esm/index-0b766163.js +0 -61
  841. package/build/esm/index-0c971a3b.js +0 -187
  842. package/build/esm/index-0cd94b56.js +0 -43
  843. package/build/esm/index-0ed992e6.js +0 -46
  844. package/build/esm/index-0f8e2602.js +0 -61
  845. package/build/esm/index-0fa13ae7.js +0 -202
  846. package/build/esm/index-10c3945c.js +0 -49
  847. package/build/esm/index-10e2e029.js +0 -127
  848. package/build/esm/index-10ee75a6.js +0 -27
  849. package/build/esm/index-11073e5e.js +0 -121
  850. package/build/esm/index-16b4b87a.js +0 -31
  851. package/build/esm/index-17b0508b.js +0 -95
  852. package/build/esm/index-19008c8c.js +0 -112
  853. package/build/esm/index-1a28e9b5.js +0 -27
  854. package/build/esm/index-1a3da34b.js +0 -51
  855. package/build/esm/index-1bb9122f.js +0 -27
  856. package/build/esm/index-1f4d58c4.js +0 -67
  857. package/build/esm/index-20c8e05c.js +0 -53
  858. package/build/esm/index-223b7361.js +0 -65
  859. package/build/esm/index-23b7f27a.js +0 -447
  860. package/build/esm/index-246b4bec.js +0 -42
  861. package/build/esm/index-250f5e1e.js +0 -64
  862. package/build/esm/index-26fd5353.js +0 -48
  863. package/build/esm/index-28f79766.js +0 -46
  864. package/build/esm/index-290af97c.js +0 -144
  865. package/build/esm/index-2b309493.js +0 -73
  866. package/build/esm/index-2ce21b8e.js +0 -27
  867. package/build/esm/index-2f1a0e04.js +0 -43
  868. package/build/esm/index-2f3fff88.js +0 -127
  869. package/build/esm/index-32098881.js +0 -27
  870. package/build/esm/index-327cd278.js +0 -76
  871. package/build/esm/index-32ae7895.js +0 -167
  872. package/build/esm/index-335076bb.js +0 -156
  873. package/build/esm/index-339fe263.js +0 -91
  874. package/build/esm/index-3439c686.js +0 -157
  875. package/build/esm/index-3471ae5d.js +0 -39
  876. package/build/esm/index-37040215.js +0 -98
  877. package/build/esm/index-3a428f38.js +0 -97
  878. package/build/esm/index-3a96f3a0.js +0 -46
  879. package/build/esm/index-3d65999d.js +0 -164
  880. package/build/esm/index-3ec20a09.js +0 -36
  881. package/build/esm/index-3ffa8156.js +0 -110
  882. package/build/esm/index-4008790d.js +0 -171
  883. package/build/esm/index-4099ef77.js +0 -179
  884. package/build/esm/index-4104e69f.js +0 -27
  885. package/build/esm/index-41060553.js +0 -146
  886. package/build/esm/index-418359c4.js +0 -85
  887. package/build/esm/index-435e94a9.js +0 -27
  888. package/build/esm/index-43700f20.js +0 -75
  889. package/build/esm/index-4387cb6f.js +0 -37
  890. package/build/esm/index-448db6b1.js +0 -69
  891. package/build/esm/index-473e0393.js +0 -137
  892. package/build/esm/index-486fb134.js +0 -157
  893. package/build/esm/index-488d0ed3.js +0 -64
  894. package/build/esm/index-48a8a155.js +0 -27
  895. package/build/esm/index-49f9b736.js +0 -144
  896. package/build/esm/index-4a184f53.js +0 -27
  897. package/build/esm/index-4a913d90.js +0 -42
  898. package/build/esm/index-4aa405ac.js +0 -75
  899. package/build/esm/index-4cd35e63.js +0 -43
  900. package/build/esm/index-4cdeb581.js +0 -68
  901. package/build/esm/index-4d9844d6.js +0 -102
  902. package/build/esm/index-4e9e818e.js +0 -123
  903. package/build/esm/index-4f5189b5.js +0 -108
  904. package/build/esm/index-52c8258e.js +0 -77
  905. package/build/esm/index-5311ad98.js +0 -88
  906. package/build/esm/index-55f945c0.js +0 -115
  907. package/build/esm/index-565c5503.js +0 -153
  908. package/build/esm/index-58b8d83c.js +0 -177
  909. package/build/esm/index-596e7f52.js +0 -150
  910. package/build/esm/index-5b024c5e.js +0 -53
  911. package/build/esm/index-5b80bc2a.js +0 -94
  912. package/build/esm/index-5b845a91.js +0 -88
  913. package/build/esm/index-5cb4c76e.js +0 -156
  914. package/build/esm/index-5ef7c748.js +0 -78
  915. package/build/esm/index-5f65411c.js +0 -83
  916. package/build/esm/index-60737a14.js +0 -128
  917. package/build/esm/index-6354667a.js +0 -148
  918. package/build/esm/index-6362a92e.js +0 -154
  919. package/build/esm/index-63bb26d8.js +0 -82
  920. package/build/esm/index-63c5453a.js +0 -62
  921. package/build/esm/index-63cce023.js +0 -86
  922. package/build/esm/index-68797320.js +0 -25
  923. package/build/esm/index-6891af5f.js +0 -75
  924. package/build/esm/index-68f24f4a.js +0 -59
  925. package/build/esm/index-6d4449eb.js +0 -99
  926. package/build/esm/index-6fc05ab7.js +0 -48
  927. package/build/esm/index-712d3832.js +0 -55
  928. package/build/esm/index-71fa6898.js +0 -36
  929. package/build/esm/index-7345e4e6.js +0 -70
  930. package/build/esm/index-738601d1.js +0 -30
  931. package/build/esm/index-73af0729.js +0 -36
  932. package/build/esm/index-74254f6f.js +0 -69
  933. package/build/esm/index-7447a73f.js +0 -83
  934. package/build/esm/index-7531df3b.js +0 -91
  935. package/build/esm/index-7699b413.js +0 -47
  936. package/build/esm/index-770767c2.js +0 -40
  937. package/build/esm/index-783af724.js +0 -27
  938. package/build/esm/index-786d8f5e.js +0 -27
  939. package/build/esm/index-791f4ff0.js +0 -59
  940. package/build/esm/index-795800bd.js +0 -27
  941. package/build/esm/index-7ae7f004.js +0 -42
  942. package/build/esm/index-7c8163ea.js +0 -34
  943. package/build/esm/index-7cab0762.js +0 -57
  944. package/build/esm/index-7d506eed.js +0 -82
  945. package/build/esm/index-7d8fe856.js +0 -41
  946. package/build/esm/index-7dbf560b.js +0 -113
  947. package/build/esm/index-7ffe2691.js +0 -97
  948. package/build/esm/index-800c0d98.js +0 -76
  949. package/build/esm/index-8056170a.js +0 -129
  950. package/build/esm/index-8069bbfe.js +0 -54
  951. package/build/esm/index-8161d3d2.js +0 -127
  952. package/build/esm/index-84310518.js +0 -190
  953. package/build/esm/index-87812dfe.js +0 -136
  954. package/build/esm/index-894e17ba.js +0 -107
  955. package/build/esm/index-89cc3b90.js +0 -52
  956. package/build/esm/index-8d1d697a.js +0 -62
  957. package/build/esm/index-90e24994.js +0 -80
  958. package/build/esm/index-91f2928f.js +0 -27
  959. package/build/esm/index-93323a6b.js +0 -101
  960. package/build/esm/index-945074f1.js +0 -9662
  961. package/build/esm/index-972a9fb1.js +0 -81
  962. package/build/esm/index-97b5d76e.js +0 -49
  963. package/build/esm/index-985b34d0.js +0 -68
  964. package/build/esm/index-98a92a4d.js +0 -45
  965. package/build/esm/index-9a9f9972.js +0 -121
  966. package/build/esm/index-9b97271d.js +0 -52
  967. package/build/esm/index-9d32516b.js +0 -113
  968. package/build/esm/index-9dab38b1.js +0 -96
  969. package/build/esm/index-9de81503.js +0 -38
  970. package/build/esm/index-9eef15ef.js +0 -65
  971. package/build/esm/index-a0c97c1f.js +0 -131
  972. package/build/esm/index-a638b452.js +0 -27
  973. package/build/esm/index-a6fe50d3.js +0 -57
  974. package/build/esm/index-a761f3a1.js +0 -37
  975. package/build/esm/index-a76c6752.js +0 -27
  976. package/build/esm/index-a7cf8d42.js +0 -111
  977. package/build/esm/index-a81bf6a9.js +0 -59
  978. package/build/esm/index-a85083d0.js +0 -121
  979. package/build/esm/index-a899436f.js +0 -175
  980. package/build/esm/index-a8d969d8.js +0 -215
  981. package/build/esm/index-a8f4c6d0.js +0 -213
  982. package/build/esm/index-aab63fb5.js +0 -48
  983. package/build/esm/index-aaf399a6.js +0 -53
  984. package/build/esm/index-abcc0f82.js +0 -78
  985. package/build/esm/index-ad28556b.js +0 -44
  986. package/build/esm/index-ae209f39.js +0 -141
  987. package/build/esm/index-ae5ce155.js +0 -129
  988. package/build/esm/index-af53ac92.js +0 -116
  989. package/build/esm/index-b2a35d0e.js +0 -40
  990. package/build/esm/index-b34188dc.js +0 -40
  991. package/build/esm/index-b3fa05c3.js +0 -43
  992. package/build/esm/index-b5b683b5.js +0 -142
  993. package/build/esm/index-b5e6499c.js +0 -54
  994. package/build/esm/index-b92ae7fe.js +0 -63
  995. package/build/esm/index-b9afb619.js +0 -551
  996. package/build/esm/index-bce0def5.js +0 -91
  997. package/build/esm/index-bd162ad8.js +0 -127
  998. package/build/esm/index-bdb5faba.js +0 -38
  999. package/build/esm/index-c1193a35.js +0 -78
  1000. package/build/esm/index-c1e94095.js +0 -56
  1001. package/build/esm/index-c447d573.js +0 -23
  1002. package/build/esm/index-c543673f.js +0 -58
  1003. package/build/esm/index-c6729434.js +0 -87
  1004. package/build/esm/index-c69084f1.js +0 -242
  1005. package/build/esm/index-c6f7e5e1.js +0 -32
  1006. package/build/esm/index-c7b49385.js +0 -82
  1007. package/build/esm/index-c84e2c9d.js +0 -94
  1008. package/build/esm/index-c856757f.js +0 -73
  1009. package/build/esm/index-c87568a3.js +0 -53
  1010. package/build/esm/index-c987cd87.js +0 -54
  1011. package/build/esm/index-ca0e4969.js +0 -27
  1012. package/build/esm/index-caa33034.js +0 -64
  1013. package/build/esm/index-ce994a26.js +0 -71
  1014. package/build/esm/index-d0e05434.js +0 -186
  1015. package/build/esm/index-d2f60443.js +0 -172
  1016. package/build/esm/index-d35c61cb.js +0 -43
  1017. package/build/esm/index-d43a0738.js +0 -45
  1018. package/build/esm/index-d4a87c7e.js +0 -156
  1019. package/build/esm/index-d841b71f.js +0 -163
  1020. package/build/esm/index-d8bae00b.js +0 -139
  1021. package/build/esm/index-d9443dd0.js +0 -27
  1022. package/build/esm/index-da1e1399.js +0 -37
  1023. package/build/esm/index-db1afdb0.js +0 -106
  1024. package/build/esm/index-dc533da1.js +0 -45
  1025. package/build/esm/index-e1f54066.js +0 -27
  1026. package/build/esm/index-e2058d44.js +0 -32
  1027. package/build/esm/index-e215ad23.js +0 -27
  1028. package/build/esm/index-e23ff31d.js +0 -76
  1029. package/build/esm/index-e3e84cde.js +0 -50
  1030. package/build/esm/index-e4dd8413.js +0 -68
  1031. package/build/esm/index-e7d819af.js +0 -176
  1032. package/build/esm/index-e8bff0e4.js +0 -123
  1033. package/build/esm/index-eb44ff15.js +0 -93
  1034. package/build/esm/index-ebf271e2.js +0 -123
  1035. package/build/esm/index-eefd4032.js +0 -134
  1036. package/build/esm/index-eefdf9de.js +0 -117
  1037. package/build/esm/index-ef85426a.js +0 -27
  1038. package/build/esm/index-f02aed16.js +0 -275
  1039. package/build/esm/index-f08d97d7.js +0 -156
  1040. package/build/esm/index-f0b74f32.js +0 -87
  1041. package/build/esm/index-f0dec44d.js +0 -268
  1042. package/build/esm/index-f214f28a.js +0 -129
  1043. package/build/esm/index-f21bc2b5.js +0 -123
  1044. package/build/esm/index-f3b83075.js +0 -170
  1045. package/build/esm/index-f4e52a82.js +0 -35
  1046. package/build/esm/index-f5a4b8a0.js +0 -111
  1047. package/build/esm/index-f70f069f.js +0 -27
  1048. package/build/esm/index-f74d8f61.js +0 -132
  1049. package/build/esm/index-f8eefb2c.js +0 -92
  1050. package/build/esm/index-f903b11e.js +0 -62
  1051. package/build/esm/index-fc98f1f4.js +0 -53
  1052. package/build/esm/index-fde74907.js +0 -56
  1053. package/build/esm/index-fefeae2f.js +0 -91
  1054. package/build/esm/index-ff5b9257.js +0 -27
  1055. package/build/esm/index-ffd95766.js +0 -97
  1056. package/build/esm/index.module-03df1a8f.js +0 -17
  1057. package/build/esm/index.module-0c3a1f94.js +0 -12
  1058. package/build/esm/index.module-0f7c3621.js +0 -10
  1059. package/build/esm/index.module-1346133e.js +0 -44
  1060. package/build/esm/index.module-1f82676e.js +0 -20
  1061. package/build/esm/index.module-2ae6a051.js +0 -18
  1062. package/build/esm/index.module-8b7db6c1.js +0 -10
  1063. package/build/esm/index.module-94a16855.js +0 -9
  1064. package/build/esm/index.module-cb0c03a2.js +0 -8
  1065. package/build/esm/index.module-cd07a1a9.js +0 -13
  1066. package/build/esm/index.module-d368256e.js +0 -24
  1067. package/build/esm/index.module-d3a974ef.js +0 -9
  1068. package/build/esm/index.module-d4c0130b.js +0 -19
  1069. package/build/esm/index.module-d4c830a3.js +0 -10
  1070. package/build/esm/requestProductForm-5354a665.js +0 -295
  1071. package/build/umd/1.diva-web-planner-react.umd.min.js +0 -2
  1072. package/build/umd/1.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1073. package/build/umd/1047.diva-web-planner-react.umd.min.js +0 -2
  1074. package/build/umd/1047.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1075. package/build/umd/1055.diva-web-planner-react.umd.min.js +0 -2
  1076. package/build/umd/1055.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1077. package/build/umd/107.diva-web-planner-react.umd.min.js +0 -2
  1078. package/build/umd/107.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1079. package/build/umd/11.diva-web-planner-react.umd.min.js +0 -2
  1080. package/build/umd/11.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1081. package/build/umd/110.diva-web-planner-react.umd.min.js +0 -2
  1082. package/build/umd/110.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1083. package/build/umd/1116.diva-web-planner-react.umd.min.js +0 -2
  1084. package/build/umd/1116.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1085. package/build/umd/1188.diva-web-planner-react.umd.min.js +0 -2
  1086. package/build/umd/1188.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1087. package/build/umd/1243.diva-web-planner-react.umd.min.js +0 -2
  1088. package/build/umd/1243.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1089. package/build/umd/1247.diva-web-planner-react.umd.min.js +0 -2
  1090. package/build/umd/1247.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1091. package/build/umd/1292.diva-web-planner-react.umd.min.js +0 -2
  1092. package/build/umd/1292.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1093. package/build/umd/1303.diva-web-planner-react.umd.min.js +0 -2
  1094. package/build/umd/1303.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1095. package/build/umd/1368.diva-web-planner-react.umd.min.js +0 -2
  1096. package/build/umd/1368.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1097. package/build/umd/1394.diva-web-planner-react.umd.min.js +0 -2
  1098. package/build/umd/1394.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1099. package/build/umd/1401.diva-web-planner-react.umd.min.js +0 -2
  1100. package/build/umd/1401.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1101. package/build/umd/1420.diva-web-planner-react.umd.min.js +0 -2
  1102. package/build/umd/1420.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1103. package/build/umd/1426.diva-web-planner-react.umd.min.js +0 -2
  1104. package/build/umd/1426.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1105. package/build/umd/1434.diva-web-planner-react.umd.min.js +0 -2
  1106. package/build/umd/1434.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1107. package/build/umd/1471.diva-web-planner-react.umd.min.js +0 -2
  1108. package/build/umd/1471.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1109. package/build/umd/1517.diva-web-planner-react.umd.min.js +0 -2
  1110. package/build/umd/1517.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1111. package/build/umd/1519.diva-web-planner-react.umd.min.js +0 -2
  1112. package/build/umd/1519.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1113. package/build/umd/1566.diva-web-planner-react.umd.min.js +0 -2
  1114. package/build/umd/1566.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1115. package/build/umd/1570.diva-web-planner-react.umd.min.js +0 -2
  1116. package/build/umd/1570.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1117. package/build/umd/1610.diva-web-planner-react.umd.min.js +0 -2
  1118. package/build/umd/1610.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1119. package/build/umd/1631.diva-web-planner-react.umd.min.js +0 -2
  1120. package/build/umd/1631.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1121. package/build/umd/1682.diva-web-planner-react.umd.min.js +0 -2
  1122. package/build/umd/1682.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1123. package/build/umd/1687.diva-web-planner-react.umd.min.js +0 -2
  1124. package/build/umd/1687.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1125. package/build/umd/1694.diva-web-planner-react.umd.min.js +0 -2
  1126. package/build/umd/1694.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1127. package/build/umd/1768.diva-web-planner-react.umd.min.js +0 -2
  1128. package/build/umd/1768.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1129. package/build/umd/1812.diva-web-planner-react.umd.min.js +0 -2
  1130. package/build/umd/1812.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1131. package/build/umd/1833.diva-web-planner-react.umd.min.js +0 -2
  1132. package/build/umd/1833.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1133. package/build/umd/1862.diva-web-planner-react.umd.min.js +0 -2
  1134. package/build/umd/1862.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1135. package/build/umd/1915.diva-web-planner-react.umd.min.js +0 -2
  1136. package/build/umd/1915.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1137. package/build/umd/1923.diva-web-planner-react.umd.min.js +0 -2
  1138. package/build/umd/1923.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1139. package/build/umd/1952.diva-web-planner-react.umd.min.js +0 -2
  1140. package/build/umd/1952.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1141. package/build/umd/1967.diva-web-planner-react.umd.min.js +0 -2
  1142. package/build/umd/1967.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1143. package/build/umd/201.diva-web-planner-react.umd.min.js +0 -2
  1144. package/build/umd/201.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1145. package/build/umd/2010.diva-web-planner-react.umd.min.js +0 -2
  1146. package/build/umd/2010.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1147. package/build/umd/205.diva-web-planner-react.umd.min.js +0 -2
  1148. package/build/umd/205.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1149. package/build/umd/2083.diva-web-planner-react.umd.min.js +0 -2
  1150. package/build/umd/2083.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1151. package/build/umd/2104.diva-web-planner-react.umd.min.js +0 -2
  1152. package/build/umd/2104.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1153. package/build/umd/2114.diva-web-planner-react.umd.min.js +0 -2
  1154. package/build/umd/2114.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1155. package/build/umd/213.diva-web-planner-react.umd.min.js +0 -2
  1156. package/build/umd/213.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1157. package/build/umd/2149.diva-web-planner-react.umd.min.js +0 -2
  1158. package/build/umd/2149.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1159. package/build/umd/2226.diva-web-planner-react.umd.min.js +0 -2
  1160. package/build/umd/2226.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1161. package/build/umd/2236.diva-web-planner-react.umd.min.js +0 -2
  1162. package/build/umd/2236.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1163. package/build/umd/2307.diva-web-planner-react.umd.min.js +0 -2
  1164. package/build/umd/2307.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1165. package/build/umd/231.diva-web-planner-react.umd.min.js +0 -2
  1166. package/build/umd/231.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1167. package/build/umd/2341.diva-web-planner-react.umd.min.js +0 -2
  1168. package/build/umd/2341.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1169. package/build/umd/2343.diva-web-planner-react.umd.min.js +0 -2
  1170. package/build/umd/2343.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1171. package/build/umd/2344.diva-web-planner-react.umd.min.js +0 -2
  1172. package/build/umd/2344.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1173. package/build/umd/2361.diva-web-planner-react.umd.min.js +0 -2
  1174. package/build/umd/2361.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1175. package/build/umd/239.diva-web-planner-react.umd.min.js +0 -2
  1176. package/build/umd/239.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1177. package/build/umd/2429.diva-web-planner-react.umd.min.js +0 -2
  1178. package/build/umd/2429.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1179. package/build/umd/2456.diva-web-planner-react.umd.min.js +0 -2
  1180. package/build/umd/2456.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1181. package/build/umd/2465.diva-web-planner-react.umd.min.js +0 -2
  1182. package/build/umd/2465.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1183. package/build/umd/2539.diva-web-planner-react.umd.min.js +0 -2
  1184. package/build/umd/2539.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1185. package/build/umd/2548.diva-web-planner-react.umd.min.js +0 -2
  1186. package/build/umd/2548.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1187. package/build/umd/2557.diva-web-planner-react.umd.min.js +0 -2
  1188. package/build/umd/2557.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1189. package/build/umd/2659.diva-web-planner-react.umd.min.js +0 -2
  1190. package/build/umd/2659.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1191. package/build/umd/269.diva-web-planner-react.umd.min.js +0 -2
  1192. package/build/umd/269.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1193. package/build/umd/2720.diva-web-planner-react.umd.min.js +0 -2
  1194. package/build/umd/2720.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1195. package/build/umd/2729.diva-web-planner-react.umd.min.js +0 -2
  1196. package/build/umd/2729.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1197. package/build/umd/2846.diva-web-planner-react.umd.min.js +0 -2
  1198. package/build/umd/2846.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1199. package/build/umd/2867.diva-web-planner-react.umd.min.js +0 -2
  1200. package/build/umd/2867.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1201. package/build/umd/2942.diva-web-planner-react.umd.min.js +0 -2
  1202. package/build/umd/2942.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1203. package/build/umd/3036.diva-web-planner-react.umd.min.js +0 -2
  1204. package/build/umd/3036.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1205. package/build/umd/3046.diva-web-planner-react.umd.min.js +0 -2
  1206. package/build/umd/3046.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1207. package/build/umd/3059.diva-web-planner-react.umd.min.js +0 -2
  1208. package/build/umd/3059.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1209. package/build/umd/3085.diva-web-planner-react.umd.min.js +0 -2
  1210. package/build/umd/3085.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1211. package/build/umd/3099.diva-web-planner-react.umd.min.js +0 -2
  1212. package/build/umd/3099.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1213. package/build/umd/3199.diva-web-planner-react.umd.min.js +0 -2
  1214. package/build/umd/3199.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1215. package/build/umd/3272.diva-web-planner-react.umd.min.js +0 -2
  1216. package/build/umd/3272.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1217. package/build/umd/3279.diva-web-planner-react.umd.min.js +0 -2
  1218. package/build/umd/3279.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1219. package/build/umd/3307.diva-web-planner-react.umd.min.js +0 -2
  1220. package/build/umd/3307.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1221. package/build/umd/3385.diva-web-planner-react.umd.min.js +0 -2
  1222. package/build/umd/3385.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1223. package/build/umd/3390.diva-web-planner-react.umd.min.js +0 -2
  1224. package/build/umd/3390.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1225. package/build/umd/3404.diva-web-planner-react.umd.min.js +0 -2
  1226. package/build/umd/3404.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1227. package/build/umd/3421.diva-web-planner-react.umd.min.js +0 -2
  1228. package/build/umd/3421.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1229. package/build/umd/3447.diva-web-planner-react.umd.min.js +0 -2
  1230. package/build/umd/3447.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1231. package/build/umd/3482.diva-web-planner-react.umd.min.js +0 -2
  1232. package/build/umd/3482.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1233. package/build/umd/3538.diva-web-planner-react.umd.min.js +0 -2
  1234. package/build/umd/3538.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1235. package/build/umd/355.diva-web-planner-react.umd.min.js +0 -2
  1236. package/build/umd/355.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1237. package/build/umd/36.diva-web-planner-react.umd.min.js +0 -2
  1238. package/build/umd/36.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1239. package/build/umd/3622.diva-web-planner-react.umd.min.js +0 -2
  1240. package/build/umd/3622.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1241. package/build/umd/3634.diva-web-planner-react.umd.min.js +0 -2
  1242. package/build/umd/3634.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1243. package/build/umd/3690.diva-web-planner-react.umd.min.js +0 -2
  1244. package/build/umd/3690.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1245. package/build/umd/376.diva-web-planner-react.umd.min.js +0 -2
  1246. package/build/umd/376.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1247. package/build/umd/3774.diva-web-planner-react.umd.min.js +0 -2
  1248. package/build/umd/3774.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1249. package/build/umd/3787.diva-web-planner-react.umd.min.js +0 -2
  1250. package/build/umd/3787.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1251. package/build/umd/3822.diva-web-planner-react.umd.min.js +0 -2
  1252. package/build/umd/3822.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1253. package/build/umd/3824.diva-web-planner-react.umd.min.js +0 -2
  1254. package/build/umd/3824.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1255. package/build/umd/3853.diva-web-planner-react.umd.min.js +0 -2
  1256. package/build/umd/3853.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1257. package/build/umd/3940.diva-web-planner-react.umd.min.js +0 -2
  1258. package/build/umd/3940.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1259. package/build/umd/3951.diva-web-planner-react.umd.min.js +0 -2
  1260. package/build/umd/3951.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1261. package/build/umd/4009.diva-web-planner-react.umd.min.js +0 -2
  1262. package/build/umd/4009.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1263. package/build/umd/4054.diva-web-planner-react.umd.min.js +0 -2
  1264. package/build/umd/4054.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1265. package/build/umd/4062.diva-web-planner-react.umd.min.js +0 -2
  1266. package/build/umd/4062.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1267. package/build/umd/407.diva-web-planner-react.umd.min.js +0 -2
  1268. package/build/umd/407.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1269. package/build/umd/4147.diva-web-planner-react.umd.min.js +0 -2
  1270. package/build/umd/4147.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1271. package/build/umd/4162.diva-web-planner-react.umd.min.js +0 -2
  1272. package/build/umd/4162.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1273. package/build/umd/4202.diva-web-planner-react.umd.min.js +0 -2
  1274. package/build/umd/4202.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1275. package/build/umd/4225.diva-web-planner-react.umd.min.js +0 -2
  1276. package/build/umd/4225.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1277. package/build/umd/4251.diva-web-planner-react.umd.min.js +0 -2
  1278. package/build/umd/4251.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1279. package/build/umd/427.diva-web-planner-react.umd.min.js +0 -2
  1280. package/build/umd/427.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1281. package/build/umd/4406.diva-web-planner-react.umd.min.js +0 -2
  1282. package/build/umd/4406.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1283. package/build/umd/4506.diva-web-planner-react.umd.min.js +0 -2
  1284. package/build/umd/4506.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1285. package/build/umd/4521.diva-web-planner-react.umd.min.js +0 -2
  1286. package/build/umd/4521.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1287. package/build/umd/457.diva-web-planner-react.umd.min.js +0 -2
  1288. package/build/umd/457.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1289. package/build/umd/4586.diva-web-planner-react.umd.min.js +0 -2
  1290. package/build/umd/4586.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1291. package/build/umd/4610.diva-web-planner-react.umd.min.js +0 -2
  1292. package/build/umd/4610.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1293. package/build/umd/4616.diva-web-planner-react.umd.min.js +0 -2
  1294. package/build/umd/4616.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1295. package/build/umd/4620.diva-web-planner-react.umd.min.js +0 -2
  1296. package/build/umd/4620.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1297. package/build/umd/4623.diva-web-planner-react.umd.min.js +0 -2
  1298. package/build/umd/4623.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1299. package/build/umd/4625.diva-web-planner-react.umd.min.js +0 -2
  1300. package/build/umd/4625.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1301. package/build/umd/463.diva-web-planner-react.umd.min.js +0 -2
  1302. package/build/umd/463.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1303. package/build/umd/4630.diva-web-planner-react.umd.min.js +0 -2
  1304. package/build/umd/4630.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1305. package/build/umd/4665.diva-web-planner-react.umd.min.js +0 -2
  1306. package/build/umd/4665.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1307. package/build/umd/4698.diva-web-planner-react.umd.min.js +0 -2
  1308. package/build/umd/4698.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1309. package/build/umd/4700.diva-web-planner-react.umd.min.js +0 -2
  1310. package/build/umd/4700.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1311. package/build/umd/4712.diva-web-planner-react.umd.min.js +0 -2
  1312. package/build/umd/4712.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1313. package/build/umd/4714.diva-web-planner-react.umd.min.js +0 -2
  1314. package/build/umd/4714.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1315. package/build/umd/4729.diva-web-planner-react.umd.min.js +0 -2
  1316. package/build/umd/4729.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1317. package/build/umd/4776.diva-web-planner-react.umd.min.js +0 -2
  1318. package/build/umd/4776.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1319. package/build/umd/4791.diva-web-planner-react.umd.min.js +0 -2
  1320. package/build/umd/4791.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1321. package/build/umd/481.diva-web-planner-react.umd.min.js +0 -2
  1322. package/build/umd/481.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1323. package/build/umd/4814.diva-web-planner-react.umd.min.js +0 -2
  1324. package/build/umd/4814.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1325. package/build/umd/4849.diva-web-planner-react.umd.min.js +0 -2
  1326. package/build/umd/4849.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1327. package/build/umd/4942.diva-web-planner-react.umd.min.js +0 -2
  1328. package/build/umd/4942.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1329. package/build/umd/4996.diva-web-planner-react.umd.min.js +0 -2
  1330. package/build/umd/4996.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1331. package/build/umd/5014.diva-web-planner-react.umd.min.js +0 -2
  1332. package/build/umd/5014.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1333. package/build/umd/5071.diva-web-planner-react.umd.min.js +0 -2
  1334. package/build/umd/5071.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1335. package/build/umd/5102.diva-web-planner-react.umd.min.js +0 -2
  1336. package/build/umd/5102.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1337. package/build/umd/5111.diva-web-planner-react.umd.min.js +0 -2
  1338. package/build/umd/5111.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1339. package/build/umd/5150.diva-web-planner-react.umd.min.js +0 -2
  1340. package/build/umd/5150.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1341. package/build/umd/5153.diva-web-planner-react.umd.min.js +0 -2
  1342. package/build/umd/5153.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1343. package/build/umd/5158.diva-web-planner-react.umd.min.js +0 -2
  1344. package/build/umd/5158.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1345. package/build/umd/5160.diva-web-planner-react.umd.min.js +0 -2
  1346. package/build/umd/5160.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1347. package/build/umd/5201.diva-web-planner-react.umd.min.js +0 -2
  1348. package/build/umd/5201.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1349. package/build/umd/5231.diva-web-planner-react.umd.min.js +0 -2
  1350. package/build/umd/5231.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1351. package/build/umd/5244.diva-web-planner-react.umd.min.js +0 -2
  1352. package/build/umd/5244.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1353. package/build/umd/5328.diva-web-planner-react.umd.min.js +0 -2
  1354. package/build/umd/5328.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1355. package/build/umd/533.diva-web-planner-react.umd.min.js +0 -2
  1356. package/build/umd/533.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1357. package/build/umd/5357.diva-web-planner-react.umd.min.js +0 -2
  1358. package/build/umd/5357.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1359. package/build/umd/5372.diva-web-planner-react.umd.min.js +0 -2
  1360. package/build/umd/5372.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1361. package/build/umd/5377.diva-web-planner-react.umd.min.js +0 -2
  1362. package/build/umd/5377.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1363. package/build/umd/5436.diva-web-planner-react.umd.min.js +0 -2
  1364. package/build/umd/5436.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1365. package/build/umd/5446.diva-web-planner-react.umd.min.js +0 -2
  1366. package/build/umd/5446.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1367. package/build/umd/5526.diva-web-planner-react.umd.min.js +0 -2
  1368. package/build/umd/5526.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1369. package/build/umd/5565.diva-web-planner-react.umd.min.js +0 -2
  1370. package/build/umd/5565.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1371. package/build/umd/5637.diva-web-planner-react.umd.min.js +0 -2
  1372. package/build/umd/5637.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1373. package/build/umd/5695.diva-web-planner-react.umd.min.js +0 -2
  1374. package/build/umd/5695.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1375. package/build/umd/5717.diva-web-planner-react.umd.min.js +0 -2
  1376. package/build/umd/5717.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1377. package/build/umd/5782.diva-web-planner-react.umd.min.js +0 -2
  1378. package/build/umd/5782.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1379. package/build/umd/5889.diva-web-planner-react.umd.min.js +0 -2
  1380. package/build/umd/5889.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1381. package/build/umd/5962.diva-web-planner-react.umd.min.js +0 -2
  1382. package/build/umd/5962.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1383. package/build/umd/5964.diva-web-planner-react.umd.min.js +0 -2
  1384. package/build/umd/5964.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1385. package/build/umd/5965.diva-web-planner-react.umd.min.js +0 -2
  1386. package/build/umd/5965.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1387. package/build/umd/5967.diva-web-planner-react.umd.min.js +0 -2
  1388. package/build/umd/5967.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1389. package/build/umd/5971.diva-web-planner-react.umd.min.js +0 -2
  1390. package/build/umd/5971.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1391. package/build/umd/6029.diva-web-planner-react.umd.min.js +0 -2
  1392. package/build/umd/6029.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1393. package/build/umd/6164.diva-web-planner-react.umd.min.js +0 -2
  1394. package/build/umd/6164.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1395. package/build/umd/6183.diva-web-planner-react.umd.min.js +0 -2
  1396. package/build/umd/6183.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1397. package/build/umd/6193.diva-web-planner-react.umd.min.js +0 -2
  1398. package/build/umd/6193.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1399. package/build/umd/621.diva-web-planner-react.umd.min.js +0 -2
  1400. package/build/umd/621.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1401. package/build/umd/6238.diva-web-planner-react.umd.min.js +0 -2
  1402. package/build/umd/6238.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1403. package/build/umd/625.diva-web-planner-react.umd.min.js +0 -2
  1404. package/build/umd/625.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1405. package/build/umd/6265.diva-web-planner-react.umd.min.js +0 -2
  1406. package/build/umd/6265.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1407. package/build/umd/6290.diva-web-planner-react.umd.min.js +0 -2
  1408. package/build/umd/6290.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1409. package/build/umd/6320.diva-web-planner-react.umd.min.js +0 -2
  1410. package/build/umd/6320.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1411. package/build/umd/634.diva-web-planner-react.umd.min.js +0 -2
  1412. package/build/umd/634.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1413. package/build/umd/6365.diva-web-planner-react.umd.min.js +0 -2
  1414. package/build/umd/6365.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1415. package/build/umd/6410.diva-web-planner-react.umd.min.js +0 -2
  1416. package/build/umd/6410.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1417. package/build/umd/6414.diva-web-planner-react.umd.min.js +0 -408
  1418. package/build/umd/6414.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -86
  1419. package/build/umd/6429.diva-web-planner-react.umd.min.js +0 -2
  1420. package/build/umd/6429.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1421. package/build/umd/6454.diva-web-planner-react.umd.min.js +0 -2
  1422. package/build/umd/6454.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1423. package/build/umd/6460.diva-web-planner-react.umd.min.js +0 -2
  1424. package/build/umd/6460.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1425. package/build/umd/6462.diva-web-planner-react.umd.min.js +0 -2
  1426. package/build/umd/6462.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1427. package/build/umd/6633.diva-web-planner-react.umd.min.js +0 -2
  1428. package/build/umd/6633.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1429. package/build/umd/6652.diva-web-planner-react.umd.min.js +0 -2
  1430. package/build/umd/6652.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1431. package/build/umd/6677.diva-web-planner-react.umd.min.js +0 -2
  1432. package/build/umd/6677.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1433. package/build/umd/6704.diva-web-planner-react.umd.min.js +0 -2
  1434. package/build/umd/6704.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1435. package/build/umd/6714.diva-web-planner-react.umd.min.js +0 -2
  1436. package/build/umd/6714.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1437. package/build/umd/6761.diva-web-planner-react.umd.min.js +0 -2
  1438. package/build/umd/6761.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1439. package/build/umd/6804.diva-web-planner-react.umd.min.js +0 -2
  1440. package/build/umd/6804.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1441. package/build/umd/6824.diva-web-planner-react.umd.min.js +0 -2
  1442. package/build/umd/6824.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1443. package/build/umd/6852.diva-web-planner-react.umd.min.js +0 -2
  1444. package/build/umd/6852.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1445. package/build/umd/6870.diva-web-planner-react.umd.min.js +0 -2
  1446. package/build/umd/6870.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1447. package/build/umd/6896.diva-web-planner-react.umd.min.js +0 -2
  1448. package/build/umd/6896.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1449. package/build/umd/6901.diva-web-planner-react.umd.min.js +0 -2
  1450. package/build/umd/6901.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1451. package/build/umd/692.diva-web-planner-react.umd.min.js +0 -2
  1452. package/build/umd/692.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1453. package/build/umd/6923.diva-web-planner-react.umd.min.js +0 -2
  1454. package/build/umd/6923.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1455. package/build/umd/7005.diva-web-planner-react.umd.min.js +0 -2
  1456. package/build/umd/7005.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1457. package/build/umd/7038.diva-web-planner-react.umd.min.js +0 -2
  1458. package/build/umd/7038.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1459. package/build/umd/7066.diva-web-planner-react.umd.min.js +0 -2
  1460. package/build/umd/7066.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1461. package/build/umd/7079.diva-web-planner-react.umd.min.js +0 -2
  1462. package/build/umd/7079.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1463. package/build/umd/7141.diva-web-planner-react.umd.min.js +0 -2
  1464. package/build/umd/7141.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1465. package/build/umd/7143.diva-web-planner-react.umd.min.js +0 -2
  1466. package/build/umd/7143.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1467. package/build/umd/720.diva-web-planner-react.umd.min.js +0 -2
  1468. package/build/umd/720.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1469. package/build/umd/7340.diva-web-planner-react.umd.min.js +0 -2
  1470. package/build/umd/7340.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1471. package/build/umd/7404.diva-web-planner-react.umd.min.js +0 -2
  1472. package/build/umd/7404.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1473. package/build/umd/7409.diva-web-planner-react.umd.min.js +0 -2
  1474. package/build/umd/7409.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1475. package/build/umd/7430.diva-web-planner-react.umd.min.js +0 -2
  1476. package/build/umd/7430.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1477. package/build/umd/7464.diva-web-planner-react.umd.min.js +0 -2
  1478. package/build/umd/7464.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1479. package/build/umd/7485.diva-web-planner-react.umd.min.js +0 -2
  1480. package/build/umd/7485.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1481. package/build/umd/7517.diva-web-planner-react.umd.min.js +0 -2
  1482. package/build/umd/7517.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1483. package/build/umd/76.diva-web-planner-react.umd.min.js +0 -2
  1484. package/build/umd/76.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1485. package/build/umd/7608.diva-web-planner-react.umd.min.js +0 -2
  1486. package/build/umd/7608.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1487. package/build/umd/761.diva-web-planner-react.umd.min.js +0 -2
  1488. package/build/umd/761.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1489. package/build/umd/7705.diva-web-planner-react.umd.min.js +0 -2
  1490. package/build/umd/7705.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1491. package/build/umd/7786.diva-web-planner-react.umd.min.js +0 -2
  1492. package/build/umd/7786.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1493. package/build/umd/78.diva-web-planner-react.umd.min.js +0 -2
  1494. package/build/umd/78.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1495. package/build/umd/7835.diva-web-planner-react.umd.min.js +0 -2
  1496. package/build/umd/7835.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1497. package/build/umd/7851.diva-web-planner-react.umd.min.js +0 -2
  1498. package/build/umd/7851.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1499. package/build/umd/7855.diva-web-planner-react.umd.min.js +0 -2
  1500. package/build/umd/7855.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1501. package/build/umd/7867.diva-web-planner-react.umd.min.js +0 -2
  1502. package/build/umd/7867.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1503. package/build/umd/7884.diva-web-planner-react.umd.min.js +0 -2
  1504. package/build/umd/7884.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1505. package/build/umd/7936.diva-web-planner-react.umd.min.js +0 -2
  1506. package/build/umd/7936.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1507. package/build/umd/7946.diva-web-planner-react.umd.min.js +0 -2
  1508. package/build/umd/7946.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1509. package/build/umd/7949.diva-web-planner-react.umd.min.js +0 -2
  1510. package/build/umd/7949.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1511. package/build/umd/8059.diva-web-planner-react.umd.min.js +0 -2
  1512. package/build/umd/8059.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1513. package/build/umd/8071.diva-web-planner-react.umd.min.js +0 -2
  1514. package/build/umd/8071.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -11
  1515. package/build/umd/8081.diva-web-planner-react.umd.min.js +0 -2
  1516. package/build/umd/8081.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1517. package/build/umd/8089.diva-web-planner-react.umd.min.js +0 -2
  1518. package/build/umd/8089.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1519. package/build/umd/8141.diva-web-planner-react.umd.min.js +0 -2
  1520. package/build/umd/8141.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1521. package/build/umd/8176.diva-web-planner-react.umd.min.js +0 -2
  1522. package/build/umd/8176.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1523. package/build/umd/8185.diva-web-planner-react.umd.min.js +0 -2
  1524. package/build/umd/8185.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1525. package/build/umd/8270.diva-web-planner-react.umd.min.js +0 -2
  1526. package/build/umd/8270.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1527. package/build/umd/8283.diva-web-planner-react.umd.min.js +0 -2
  1528. package/build/umd/8283.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1529. package/build/umd/8309.diva-web-planner-react.umd.min.js +0 -2
  1530. package/build/umd/8309.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1531. package/build/umd/8310.diva-web-planner-react.umd.min.js +0 -2
  1532. package/build/umd/8310.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -33
  1533. package/build/umd/8325.diva-web-planner-react.umd.min.js +0 -2
  1534. package/build/umd/8325.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1535. package/build/umd/8334.diva-web-planner-react.umd.min.js +0 -2
  1536. package/build/umd/8334.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1537. package/build/umd/8373.diva-web-planner-react.umd.min.js +0 -2
  1538. package/build/umd/8373.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1539. package/build/umd/8383.diva-web-planner-react.umd.min.js +0 -2
  1540. package/build/umd/8383.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1541. package/build/umd/8392.diva-web-planner-react.umd.min.js +0 -2
  1542. package/build/umd/8392.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1543. package/build/umd/8407.diva-web-planner-react.umd.min.js +0 -2
  1544. package/build/umd/8407.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1545. package/build/umd/8410.diva-web-planner-react.umd.min.js +0 -2
  1546. package/build/umd/8410.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1547. package/build/umd/8495.diva-web-planner-react.umd.min.js +0 -2
  1548. package/build/umd/8495.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1549. package/build/umd/8554.diva-web-planner-react.umd.min.js +0 -2
  1550. package/build/umd/8554.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1551. package/build/umd/8569.diva-web-planner-react.umd.min.js +0 -2
  1552. package/build/umd/8569.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1553. package/build/umd/8588.diva-web-planner-react.umd.min.js +0 -2
  1554. package/build/umd/8588.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1555. package/build/umd/8614.diva-web-planner-react.umd.min.js +0 -2
  1556. package/build/umd/8614.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1557. package/build/umd/8728.diva-web-planner-react.umd.min.js +0 -2
  1558. package/build/umd/8728.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1559. package/build/umd/8758.diva-web-planner-react.umd.min.js +0 -2
  1560. package/build/umd/8758.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1561. package/build/umd/8891.diva-web-planner-react.umd.min.js +0 -2
  1562. package/build/umd/8891.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1563. package/build/umd/897.diva-web-planner-react.umd.min.js +0 -2
  1564. package/build/umd/897.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1565. package/build/umd/9021.diva-web-planner-react.umd.min.js +0 -2
  1566. package/build/umd/9021.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
  1567. package/build/umd/9043.diva-web-planner-react.umd.min.js +0 -2
  1568. package/build/umd/9043.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1569. package/build/umd/9093.diva-web-planner-react.umd.min.js +0 -2
  1570. package/build/umd/9093.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1571. package/build/umd/9098.diva-web-planner-react.umd.min.js +0 -2
  1572. package/build/umd/9098.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1573. package/build/umd/9188.diva-web-planner-react.umd.min.js +0 -2
  1574. package/build/umd/9188.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1575. package/build/umd/9194.diva-web-planner-react.umd.min.js +0 -2
  1576. package/build/umd/9194.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1577. package/build/umd/9250.diva-web-planner-react.umd.min.js +0 -2
  1578. package/build/umd/9250.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1579. package/build/umd/9251.diva-web-planner-react.umd.min.js +0 -2
  1580. package/build/umd/9251.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1581. package/build/umd/9272.diva-web-planner-react.umd.min.js +0 -2
  1582. package/build/umd/9272.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1583. package/build/umd/93.diva-web-planner-react.umd.min.js +0 -2
  1584. package/build/umd/93.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1585. package/build/umd/9304.diva-web-planner-react.umd.min.js +0 -2
  1586. package/build/umd/9304.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1587. package/build/umd/9334.diva-web-planner-react.umd.min.js +0 -2
  1588. package/build/umd/9334.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1589. package/build/umd/9346.diva-web-planner-react.umd.min.js +0 -2
  1590. package/build/umd/9346.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1591. package/build/umd/936.diva-web-planner-react.umd.min.js +0 -2
  1592. package/build/umd/936.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1593. package/build/umd/9366.diva-web-planner-react.umd.min.js +0 -2
  1594. package/build/umd/9366.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -19
  1595. package/build/umd/9377.diva-web-planner-react.umd.min.js +0 -2
  1596. package/build/umd/9377.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1597. package/build/umd/9388.diva-web-planner-react.umd.min.js +0 -2
  1598. package/build/umd/9388.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1599. package/build/umd/9426.diva-web-planner-react.umd.min.js +0 -2
  1600. package/build/umd/9426.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1601. package/build/umd/9455.diva-web-planner-react.umd.min.js +0 -2
  1602. package/build/umd/9455.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1603. package/build/umd/9476.diva-web-planner-react.umd.min.js +0 -2
  1604. package/build/umd/9476.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1605. package/build/umd/954.diva-web-planner-react.umd.min.js +0 -2
  1606. package/build/umd/954.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1607. package/build/umd/9559.diva-web-planner-react.umd.min.js +0 -2
  1608. package/build/umd/9559.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1609. package/build/umd/9565.diva-web-planner-react.umd.min.js +0 -2
  1610. package/build/umd/9565.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1611. package/build/umd/9570.diva-web-planner-react.umd.min.js +0 -2
  1612. package/build/umd/9570.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1613. package/build/umd/9583.diva-web-planner-react.umd.min.js +0 -2
  1614. package/build/umd/9583.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1615. package/build/umd/9600.diva-web-planner-react.umd.min.js +0 -2
  1616. package/build/umd/9600.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -21
  1617. package/build/umd/9617.diva-web-planner-react.umd.min.js +0 -2
  1618. package/build/umd/9617.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1619. package/build/umd/9717.diva-web-planner-react.umd.min.js +0 -2
  1620. package/build/umd/9717.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1621. package/build/umd/9728.diva-web-planner-react.umd.min.js +0 -2
  1622. package/build/umd/9728.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1623. package/build/umd/973.diva-web-planner-react.umd.min.js +0 -2
  1624. package/build/umd/973.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1625. package/build/umd/9761.diva-web-planner-react.umd.min.js +0 -2
  1626. package/build/umd/9761.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1627. package/build/umd/9812.diva-web-planner-react.umd.min.js +0 -2
  1628. package/build/umd/9812.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1629. package/build/umd/9835.diva-web-planner-react.umd.min.js +0 -2
  1630. package/build/umd/9835.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1631. package/build/umd/9854.diva-web-planner-react.umd.min.js +0 -2
  1632. package/build/umd/9854.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
@@ -0,0 +1,408 @@
1
+ /*! For license information please see 963.diva-web-planner-react.umd.min.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[963],{70963:(e,t,s)=>{s.r(t),s.d(t,{CanvasTexture:()=>o.ROQ,FileLoader:()=>o.hH6,Loader:()=>o.aNw,ModelViewerElement:()=>VA,NearestFilter:()=>o.TyD});const i=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(s){s.createProperty(t.key,e)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(s){s.createProperty(t.key,e)}};function n(e){return(t,s)=>void 0!==s?((e,t,s)=>{t.constructor.createProperty(s,e)})(e,t,s):i(e,t)}var r;null===(r=window.HTMLSlotElement)||void 0===r||r.prototype.assignedElements;var o=s(82042);const A=window,l=A.ShadowRoot&&(void 0===A.ShadyCSS||A.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,h=Symbol(),c=new WeakMap;class css_tag_o{constructor(e,t,s){if(this._$cssResult$=!0,s!==h)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(l&&void 0===e){const s=void 0!==t&&1===t.length;s&&(e=c.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&c.set(t,e))}return e}toString(){return this.cssText}}const d=l?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const s of e.cssRules)t+=s.cssText;return(e=>new css_tag_o("string"==typeof e?e:e+"",void 0,h))(t)})(e):e;var g;const p=window,m=p.trustedTypes,f=m?m.emptyScript:"",I=p.reactiveElementPolyfillSupport,E={toAttribute(e,t){switch(t){case Boolean:e=e?f:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let s=e;switch(t){case Boolean:s=null!==e;break;case Number:s=null===e?null:Number(e);break;case Object:case Array:try{s=JSON.parse(e)}catch(e){s=null}}return s}},a=(e,t)=>t!==e&&(t==t||e==e),C={attribute:!0,type:String,converter:E,reflect:!1,hasChanged:a},B="finalized";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,s)=>{const r=this._$Ep(s,t);void 0!==r&&(this._$Ev.set(r,s),e.push(r))})),e}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const s="symbol"==typeof e?Symbol():"__"+e,r=this.getPropertyDescriptor(e,s,t);void 0!==r&&Object.defineProperty(this.prototype,e,r)}}static getPropertyDescriptor(e,t,s){return{get(){return this[t]},set(r){const o=this[e];this[t]=r,this.requestUpdate(e,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||C}static finalize(){if(this.hasOwnProperty(B))return!1;this[B]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const s of t)this.createProperty(s,e[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const e of s)t.unshift(d(e))}else void 0!==e&&t.push(d(e));return t}static _$Ep(e,t){const s=t.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,s;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(s=e.hostConnected)||void 0===s||s.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{l?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const s=document.createElement("style"),r=A.litNonce;void 0!==r&&s.setAttribute("nonce",r),s.textContent=t.cssText,e.appendChild(s)}))})(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,s){this._$AK(e,s)}_$EO(e,t,s=C){var r;const o=this.constructor._$Ep(e,s);if(void 0!==o&&!0===s.reflect){const A=(void 0!==(null===(r=s.converter)||void 0===r?void 0:r.toAttribute)?s.converter:E).toAttribute(t,s.type);this._$El=e,null==A?this.removeAttribute(o):this.setAttribute(o,A),this._$El=null}}_$AK(e,t){var s;const r=this.constructor,o=r._$Ev.get(e);if(void 0!==o&&this._$El!==o){const e=r.getPropertyOptions(o),A="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(s=e.converter)||void 0===s?void 0:s.fromAttribute)?e.converter:E;this._$El=o,this[o]=A.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,s){let r=!0;void 0!==e&&(((s=s||this.constructor.getPropertyOptions(e)).hasChanged||a)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===s.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,s))):r=!1),!this.isUpdatePending&&r&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(s)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(s)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}var y;u[B]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:"open"},null==I||I({ReactiveElement:u}),(null!==(g=p.reactiveElementVersions)&&void 0!==g?g:p.reactiveElementVersions=[]).push("1.6.3");const Q=window,x=Q.trustedTypes,b=x?x.createPolicy("lit-html",{createHTML:e=>e}):void 0,S="$lit$",T=`lit$${(Math.random()+"").slice(9)}$`,F="?"+T,_=`<${F}>`,U=document,lit_html_u=()=>U.createComment(""),lit_html_d=e=>null===e||"object"!=typeof e&&"function"!=typeof e,G=Array.isArray,v=e=>G(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]),O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,q=/-->/g,K=/>/g,J=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),Y=/'/g,j=/"/g,$=/^(?:script|style|textarea|title)$/i,w=e=>(t,...s)=>({_$litType$:e,strings:t,values:s}),W=w(1),X=(w(2),Symbol.for("lit-noChange")),ee=Symbol.for("lit-nothing"),te=new WeakMap,ie=U.createTreeWalker(U,129,null,!1);function P(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==b?b.createHTML(t):t}const V=(e,t)=>{const s=e.length-1,r=[];let o,A=2===t?"<svg>":"",l=O;for(let t=0;t<s;t++){const s=e[t];let h,c,d=-1,g=0;for(;g<s.length&&(l.lastIndex=g,c=l.exec(s),null!==c);)g=l.lastIndex,l===O?"!--"===c[1]?l=q:void 0!==c[1]?l=K:void 0!==c[2]?($.test(c[2])&&(o=RegExp("</"+c[2],"g")),l=J):void 0!==c[3]&&(l=J):l===J?">"===c[0]?(l=null!=o?o:O,d=-1):void 0===c[1]?d=-2:(d=l.lastIndex-c[2].length,h=c[1],l=void 0===c[3]?J:'"'===c[3]?j:Y):l===j||l===Y?l=J:l===q||l===K?l=O:(l=J,o=void 0);const p=l===J&&e[t+1].startsWith("/>")?" ":"";A+=l===O?s+_:d>=0?(r.push(h),s.slice(0,d)+S+s.slice(d)+T+p):s+T+(-2===d?(r.push(void 0),t):p)}return[P(e,A+(e[s]||"<?>")+(2===t?"</svg>":"")),r]};class N{constructor({strings:e,_$litType$:t},s){let r;this.parts=[];let o=0,A=0;const l=e.length-1,h=this.parts,[c,d]=V(e,t);if(this.el=N.createElement(c,s),ie.currentNode=this.el.content,2===t){const e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(r=ie.nextNode())&&h.length<l;){if(1===r.nodeType){if(r.hasAttributes()){const e=[];for(const t of r.getAttributeNames())if(t.endsWith(S)||t.startsWith(T)){const s=d[A++];if(e.push(t),void 0!==s){const e=r.getAttribute(s.toLowerCase()+S).split(T),t=/([.?@])?(.*)/.exec(s);h.push({type:1,index:o,name:t[2],strings:e,ctor:"."===t[1]?H:"?"===t[1]?L:"@"===t[1]?z:k})}else h.push({type:6,index:o})}for(const t of e)r.removeAttribute(t)}if($.test(r.tagName)){const e=r.textContent.split(T),t=e.length-1;if(t>0){r.textContent=x?x.emptyScript:"";for(let s=0;s<t;s++)r.append(e[s],lit_html_u()),ie.nextNode(),h.push({type:2,index:++o});r.append(e[t],lit_html_u())}}}else if(8===r.nodeType)if(r.data===F)h.push({type:2,index:o});else{let e=-1;for(;-1!==(e=r.data.indexOf(T,e+1));)h.push({type:7,index:o}),e+=T.length-1}o++}}static createElement(e,t){const s=U.createElement("template");return s.innerHTML=e,s}}function lit_html_S(e,t,s=e,r){var o,A,l,h;if(t===X)return t;let c=void 0!==r?null===(o=s._$Co)||void 0===o?void 0:o[r]:s._$Cl;const d=lit_html_d(t)?void 0:t._$litDirective$;return(null==c?void 0:c.constructor)!==d&&(null===(A=null==c?void 0:c._$AO)||void 0===A||A.call(c,!1),void 0===d?c=void 0:(c=new d(e),c._$AT(e,s,r)),void 0!==r?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[r]=c:s._$Cl=c),void 0!==c&&(t=lit_html_S(e,c._$AS(e,t.values),c,r)),t}class M{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var t;const{el:{content:s},parts:r}=this._$AD,o=(null!==(t=null==e?void 0:e.creationScope)&&void 0!==t?t:U).importNode(s,!0);ie.currentNode=o;let A=ie.nextNode(),l=0,h=0,c=r[0];for(;void 0!==c;){if(l===c.index){let t;2===c.type?t=new R(A,A.nextSibling,this,e):1===c.type?t=new c.ctor(A,c.name,c.strings,this,e):6===c.type&&(t=new Z(A,this,e)),this._$AV.push(t),c=r[++h]}l!==(null==c?void 0:c.index)&&(A=ie.nextNode(),l++)}return ie.currentNode=U,o}v(e){let t=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(e,s,t),t+=s.strings.length-2):s._$AI(e[t])),t++}}class R{constructor(e,t,s,r){var o;this.type=2,this._$AH=ee,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=s,this.options=r,this._$Cp=null===(o=null==r?void 0:r.isConnected)||void 0===o||o}get _$AU(){var e,t;return null!==(t=null===(e=this._$AM)||void 0===e?void 0:e._$AU)&&void 0!==t?t:this._$Cp}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===(null==e?void 0:e.nodeType)&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=lit_html_S(this,e,t),lit_html_d(e)?e===ee||null==e||""===e?(this._$AH!==ee&&this._$AR(),this._$AH=ee):e!==this._$AH&&e!==X&&this._(e):void 0!==e._$litType$?this.g(e):void 0!==e.nodeType?this.$(e):v(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==ee&&lit_html_d(this._$AH)?this._$AA.nextSibling.data=e:this.$(U.createTextNode(e)),this._$AH=e}g(e){var t;const{values:s,_$litType$:r}=e,o="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=N.createElement(P(r.h,r.h[0]),this.options)),r);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===o)this._$AH.v(s);else{const e=new M(o,this),t=e.u(this.options);e.v(s),this.$(t),this._$AH=e}}_$AC(e){let t=te.get(e.strings);return void 0===t&&te.set(e.strings,t=new N(e)),t}T(e){G(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let s,r=0;for(const o of e)r===t.length?t.push(s=new R(this.k(lit_html_u()),this.k(lit_html_u()),this,this.options)):s=t[r],s._$AI(o),r++;r<t.length&&(this._$AR(s&&s._$AB.nextSibling,r),t.length=r)}_$AR(e=this._$AA.nextSibling,t){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,t);e&&e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){var t;void 0===this._$AM&&(this._$Cp=e,null===(t=this._$AP)||void 0===t||t.call(this,e))}}class k{constructor(e,t,s,r,o){this.type=1,this._$AH=ee,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=ee}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,s,r){const o=this.strings;let A=!1;if(void 0===o)e=lit_html_S(this,e,t,0),A=!lit_html_d(e)||e!==this._$AH&&e!==X,A&&(this._$AH=e);else{const r=e;let l,h;for(e=o[0],l=0;l<o.length-1;l++)h=lit_html_S(this,r[s+l],t,l),h===X&&(h=this._$AH[l]),A||(A=!lit_html_d(h)||h!==this._$AH[l]),h===ee?e=ee:e!==ee&&(e+=(null!=h?h:"")+o[l+1]),this._$AH[l]=h}A&&!r&&this.j(e)}j(e){e===ee?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=e?e:"")}}class H extends k{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===ee?void 0:e}}const se=x?x.emptyScript:"";class L extends k{constructor(){super(...arguments),this.type=4}j(e){e&&e!==ee?this.element.setAttribute(this.name,se):this.element.removeAttribute(this.name)}}class z extends k{constructor(e,t,s,r,o){super(e,t,s,r,o),this.type=5}_$AI(e,t=this){var s;if((e=null!==(s=lit_html_S(this,e,t,0))&&void 0!==s?s:ee)===X)return;const r=this._$AH,o=e===ee&&r!==ee||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,A=e!==ee&&(r===ee||o);o&&this.element.removeEventListener(this.name,this,r),A&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(t=this.options)||void 0===t?void 0:t.host)&&void 0!==s?s:this.element,e):this._$AH.handleEvent(e)}}class Z{constructor(e,t,s){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(e){lit_html_S(this,e)}}const ne=Q.litHtmlPolyfillSupport;null==ne||ne(N,R),(null!==(y=Q.litHtmlVersions)&&void 0!==y?y:Q.litHtmlVersions=[]).push("2.8.0");const D=(e,t,s)=>{var r,o;const A=null!==(r=null==s?void 0:s.renderBefore)&&void 0!==r?r:t;let l=A._$litPart$;if(void 0===l){const e=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;A._$litPart$=l=new R(t.insertBefore(lit_html_u(),e),e,void 0,null!=s?s:{})}return l._$AI(e),l};var re,ae;class lit_element_s extends u{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const s=super.createRenderRoot();return null!==(e=(t=this.renderOptions).renderBefore)&&void 0!==e||(t.renderBefore=s.firstChild),s}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=D(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return X}}lit_element_s.finalized=!0,lit_element_s._$litElement$=!0,null===(re=globalThis.litElementHydrateSupport)||void 0===re||re.call(globalThis,{LitElement:lit_element_s});const oe=globalThis.litElementPolyfillSupport;null==oe||oe({LitElement:lit_element_s});(null!==(ae=globalThis.litElementVersions)&&void 0!==ae?ae:globalThis.litElementVersions=[]).push("3.3.3");const Ae=null!=navigator.xr&&null!=self.XRSession&&null!=navigator.xr.isSessionSupported,le=Ae&&null!=self.XRSession.prototype.requestHitTestSource,he=null!=self.ResizeObserver,ce=null!=self.IntersectionObserver,ue=le,de=((()=>{const e=navigator.userAgent||navigator.vendor||self.opera;let t=!1;(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0)})(),/\bCrOS\b/.test(navigator.userAgent),/android/i.test(navigator.userAgent)),ge=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!self.MSStream||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,pe=(/Safari\//.test(navigator.userAgent),/firefox/i.test(navigator.userAgent)),me=/OculusBrowser/.test(navigator.userAgent),fe=(ge&&/CriOS\//.test(navigator.userAgent),de&&!pe&&!me),Ie=Boolean(window.webkit&&window.webkit.messageHandlers),Ee=(()=>{if(ge){if(Ie)return Boolean(/CriOS\/|EdgiOS\/|FxiOS\/|GSA\/|DuckDuckGo\//.test(navigator.userAgent));{const e=document.createElement("a");return Boolean(e.relList&&e.relList.supports&&e.relList.supports("ar"))}}return!1})();var Ce=s(25108);const deserializeUrl=e=>e&&"null"!==e?toFullUrl(e):null,assertIsArCandidate=()=>{if(ue)return;const e=[];throw Ae||e.push("WebXR Device API"),le||e.push("WebXR Hit Test API"),new Error(`The following APIs are required for AR, but are missing in this browser: ${e.join(", ")}`)},toFullUrl=e=>new URL(e,window.location.toString()).toString(),debounce=(e,t)=>{let s=null;return(...r)=>{null!=s&&self.clearTimeout(s),s=self.setTimeout((()=>{s=null,e(...r)}),t)}},clamp=(e,t,s)=>Math.max(t,Math.min(s,e)),Be=(()=>{const e=(()=>{var e;if(null===(e=document.documentElement.getAttribute("itemtype"))||void 0===e?void 0:e.includes("schema.org/SearchResultsPage"))return!0;if(window.self!==window.top)return!0;const t=null!=document.head?Array.from(document.head.querySelectorAll("meta")):[];for(const e of t)if("viewport"===e.name)return!0;return!1})();return e||Ce.warn('No <meta name="viewport"> detected; <model-viewer> will cap pixel density at 1.'),()=>e?window.devicePixelRatio:1})(),ye=(()=>{const e=new RegExp("[?&]model-viewer-debug-mode(&|$)");return()=>self.ModelViewerElement&&self.ModelViewerElement.debugMode||self.location&&self.location.search&&self.location.search.match(e)})();var __decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const we=Symbol("currentEnvironmentMap"),ve=Symbol("currentBackground"),Qe=Symbol("updateEnvironment"),xe=Symbol("cancelEnvironmentUpdate"),be=W`
3
+ <style>
4
+ :host {
5
+ display: block;
6
+ position: relative;
7
+ contain: strict;
8
+ width: 300px;
9
+ height: 150px;
10
+ }
11
+
12
+ .container {
13
+ position: relative;
14
+ overflow: hidden;
15
+ }
16
+
17
+ .userInput {
18
+ width: 100%;
19
+ height: 100%;
20
+ display: none;
21
+ position: relative;
22
+ outline-offset: -1px;
23
+ outline-width: 1px;
24
+ }
25
+
26
+ canvas {
27
+ position: absolute;
28
+ display: none;
29
+ pointer-events: none;
30
+ /* NOTE(cdata): Chrome 76 and below apparently have a bug
31
+ * that causes our canvas not to display pixels unless it is
32
+ * on its own render layer
33
+ * @see https://github.com/google/model-viewer/pull/755#issuecomment-536597893
34
+ */
35
+ transform: translateZ(0);
36
+ }
37
+
38
+ .show {
39
+ display: block;
40
+ }
41
+
42
+ /* Adapted from HTML5 Boilerplate
43
+ *
44
+ * @see https://github.com/h5bp/html5-boilerplate/blob/ceb4620c78fc82e13534fc44202a3f168754873f/dist/css/main.css#L122-L133 */
45
+ .screen-reader-only {
46
+ border: 0;
47
+ left: 0;
48
+ top: 0;
49
+ clip: rect(0, 0, 0, 0);
50
+ height: 1px;
51
+ margin: -1px;
52
+ overflow: hidden;
53
+ padding: 0;
54
+ position: absolute;
55
+ white-space: nowrap;
56
+ width: 1px;
57
+ pointer-events: none;
58
+ }
59
+
60
+ .slot {
61
+ position: absolute;
62
+ pointer-events: none;
63
+ top: 0;
64
+ left: 0;
65
+ width: 100%;
66
+ height: 100%;
67
+ }
68
+
69
+ .slot > * {
70
+ pointer-events: initial;
71
+ }
72
+
73
+ .annotation-wrapper ::slotted(*) {
74
+ opacity: var(--max-hotspot-opacity, 1);
75
+ transition: opacity 0.3s;
76
+ }
77
+
78
+ .pointer-tumbling .annotation-wrapper ::slotted(*) {
79
+ pointer-events: none;
80
+ }
81
+
82
+ .annotation-wrapper ::slotted(*) {
83
+ pointer-events: initial;
84
+ }
85
+
86
+ .annotation-wrapper.hide ::slotted(*) {
87
+ opacity: var(--min-hotspot-opacity, 0.25);
88
+ }
89
+
90
+ .slot.poster {
91
+ display: none;
92
+ background-color: inherit;
93
+ }
94
+
95
+ .slot.poster.show {
96
+ display: inherit;
97
+ }
98
+
99
+ .slot.poster > * {
100
+ pointer-events: initial;
101
+ }
102
+
103
+ .slot.poster:not(.show) > * {
104
+ pointer-events: none;
105
+ }
106
+
107
+ #default-poster {
108
+ width: 100%;
109
+ height: 100%;
110
+ /* The default poster is a <button> so we need to set display
111
+ * to prevent it from being affected by text-align: */
112
+ display: block;
113
+ position: absolute;
114
+ border: none;
115
+ padding: 0;
116
+ background-size: contain;
117
+ background-repeat: no-repeat;
118
+ background-position: center;
119
+ background-color: #fff0;
120
+ }
121
+
122
+ #default-progress-bar {
123
+ display: block;
124
+ position: relative;
125
+ width: 100%;
126
+ height: 100%;
127
+ pointer-events: none;
128
+ overflow: hidden;
129
+ }
130
+
131
+ #default-progress-bar > .bar {
132
+ position: absolute;
133
+ top: 0;
134
+ left: 0;
135
+ width: 100%;
136
+ height: var(--progress-bar-height, 5px);
137
+ background-color: var(--progress-bar-color, rgba(0, 0, 0, 0.4));
138
+ transition: transform 0.09s;
139
+ transform-origin: top left;
140
+ transform: scaleX(0);
141
+ overflow: hidden;
142
+ }
143
+
144
+ #default-progress-bar > .bar.hide {
145
+ transition: opacity 0.3s 1s;
146
+ opacity: 0;
147
+ }
148
+
149
+ .centered {
150
+ align-items: center;
151
+ justify-content: center;
152
+ }
153
+
154
+ .cover {
155
+ position: absolute;
156
+ top: 0;
157
+ left: 0;
158
+ width: 100%;
159
+ height: 100%;
160
+ pointer-events: none;
161
+ }
162
+
163
+ .slot.interaction-prompt {
164
+ display: var(--interaction-prompt-display, flex);
165
+ overflow: hidden;
166
+ opacity: 0;
167
+ will-change: opacity;
168
+ transition: opacity 0.3s;
169
+ }
170
+
171
+ .slot.interaction-prompt.visible {
172
+ opacity: 1;
173
+ }
174
+
175
+ .animated-container {
176
+ will-change: transform, opacity;
177
+ opacity: 0;
178
+ transition: opacity 0.3s;
179
+ }
180
+
181
+ .slot.interaction-prompt > * {
182
+ pointer-events: none;
183
+ }
184
+
185
+ .slot.ar-button {
186
+ -moz-user-select: none;
187
+ -webkit-tap-highlight-color: transparent;
188
+ user-select: none;
189
+
190
+ display: var(--ar-button-display, block);
191
+ }
192
+
193
+ .slot.ar-button:not(.enabled) {
194
+ display: none;
195
+ }
196
+
197
+ .fab {
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ box-sizing: border-box;
202
+ width: 40px;
203
+ height: 40px;
204
+ cursor: pointer;
205
+ background-color: #fff;
206
+ box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
207
+ border-radius: 100px;
208
+ }
209
+
210
+ .fab > * {
211
+ opacity: 0.87;
212
+ }
213
+
214
+ #default-ar-button {
215
+ position: absolute;
216
+ bottom: 16px;
217
+ right: 16px;
218
+ transform: scale(var(--ar-button-scale, 1));
219
+ transform-origin: bottom right;
220
+ }
221
+
222
+ .slot.pan-target {
223
+ display: block;
224
+ position: absolute;
225
+ width: 0;
226
+ height: 0;
227
+ left: 50%;
228
+ top: 50%;
229
+ transform: translate3d(-50%, -50%, 0);
230
+ background-color: transparent;
231
+ opacity: 0;
232
+ transition: opacity 0.3s;
233
+ }
234
+
235
+ #default-pan-target {
236
+ width: 6px;
237
+ height: 6px;
238
+ border-radius: 6px;
239
+ border: 1px solid white;
240
+ box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.8);
241
+ }
242
+
243
+ .slot.default {
244
+ pointer-events: none;
245
+ }
246
+
247
+ .slot.progress-bar {
248
+ pointer-events: none;
249
+ }
250
+
251
+ .slot.exit-webxr-ar-button {
252
+ pointer-events: none;
253
+ }
254
+
255
+ .slot.exit-webxr-ar-button:not(.enabled) {
256
+ display: none;
257
+ }
258
+
259
+ #default-exit-webxr-ar-button {
260
+ display: flex;
261
+ align-items: center;
262
+ justify-content: center;
263
+ position: absolute;
264
+ top: env(safe-area-inset-top, 16px);
265
+ right: 16px;
266
+ width: 40px;
267
+ height: 40px;
268
+ box-sizing: border-box;
269
+ }
270
+
271
+ #default-exit-webxr-ar-button > svg {
272
+ fill: #fff;
273
+ }
274
+ </style>
275
+ <div class="container">
276
+ <div class="userInput" tabindex="0" role="img"
277
+ aria-label="3D model">
278
+ <div class="slot canvas">
279
+ <slot name="canvas">
280
+ <canvas></canvas>
281
+ </slot>
282
+ </div>
283
+
284
+ </div>
285
+
286
+ <!-- NOTE(cdata): We need to wrap slots because browsers without ShadowDOM
287
+ will have their <slot> elements removed by ShadyCSS -->
288
+ <div class="slot poster">
289
+ <slot name="poster">
290
+ <button type="button" id="default-poster" aria-hidden="true" aria-label="Loading 3D model"></button>
291
+ </slot>
292
+ </div>
293
+
294
+ <div class="slot ar-button">
295
+ <slot name="ar-button">
296
+ <a id="default-ar-button" part="default-ar-button" class="fab"
297
+ tabindex="2"
298
+ role="button"
299
+ href="javascript:void(0);"
300
+ aria-label="View in your space">
301
+ ${W`
302
+ <svg version="1.1" id="view_x5F_in_x5F_AR_x5F_icon"
303
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px"
304
+ viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
305
+ <rect id="Bounding_Box" x="0" y="0" fill="none" width="24" height="24"/>
306
+ <g id="Art_layer">
307
+ <path d="M3,4c0-0.55,0.45-1,1-1h2V1H4C2.35,1,1,2.35,1,4v2h2V4z"/>
308
+ <path d="M20,3c0.55,0,1,0.45,1,1v2h2V4c0-1.65-1.35-3-3-3h-2v2H20z"/>
309
+ <path d="M4,21c-0.55,0-1-0.45-1-1v-2H1v2c0,1.65,1.35,3,3,3h2v-2H4z"/>
310
+ <path d="M20,21c0.55,0,1-0.45,1-1v-2h2v2c0,1.65-1.35,3-3,3h-2v-2H20z"/>
311
+ <g>
312
+ <path d="M18.25,7.6l-5.5-3.18c-0.46-0.27-1.04-0.27-1.5,0L5.75,7.6C5.29,7.87,5,8.36,5,8.9v6.35c0,0.54,0.29,1.03,0.75,1.3
313
+ l5.5,3.18c0.46,0.27,1.04,0.27,1.5,0l5.5-3.18c0.46-0.27,0.75-0.76,0.75-1.3V8.9C19,8.36,18.71,7.87,18.25,7.6z M7,14.96v-4.62
314
+ l4,2.32v4.61L7,14.96z M12,10.93L8,8.61l4-2.31l4,2.31L12,10.93z M13,17.27v-4.61l4-2.32v4.62L13,17.27z"/>
315
+ </g>
316
+ </g>
317
+ </svg>`}
318
+ </a>
319
+ </slot>
320
+ </div>
321
+
322
+ <div class="slot pan-target">
323
+ <slot name="pan-target">
324
+ <div id="default-pan-target">
325
+ </div>
326
+ </slot>
327
+ </div>
328
+
329
+ <div class="slot interaction-prompt cover centered">
330
+ <div id="prompt" class="animated-container">
331
+ <slot name="interaction-prompt" aria-hidden="true">
332
+ ${W`
333
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="25" height="36">
334
+ <defs>
335
+ <path id="A" d="M.001.232h24.997V36H.001z" />
336
+ </defs>
337
+ <g transform="translate(-11 -4)" fill="none" fill-rule="evenodd">
338
+ <path fill-opacity="0" fill="#fff" d="M0 0h44v44H0z" />
339
+ <g transform="translate(11 3)">
340
+ <path d="M8.733 11.165c.04-1.108.766-2.027 1.743-2.307a2.54 2.54 0 0 1 .628-.089c.16 0 .314.017.463.044 1.088.2 1.9 1.092 1.9 2.16v8.88h1.26c2.943-1.39 5-4.45 5-8.025a9.01 9.01 0 0 0-1.9-5.56l-.43-.5c-.765-.838-1.683-1.522-2.712-2-1.057-.49-2.226-.77-3.46-.77s-2.4.278-3.46.77c-1.03.478-1.947 1.162-2.71 2l-.43.5a9.01 9.01 0 0 0-1.9 5.56 9.04 9.04 0 0 0 .094 1.305c.03.21.088.41.13.617l.136.624c.083.286.196.56.305.832l.124.333a8.78 8.78 0 0 0 .509.953l.065.122a8.69 8.69 0 0 0 3.521 3.191l1.11.537v-9.178z" fill-opacity=".5" fill="#e4e4e4" />
341
+ <path d="M22.94 26.218l-2.76 7.74c-.172.485-.676.8-1.253.8H12.24c-1.606 0-3.092-.68-3.98-1.82-1.592-2.048-3.647-3.822-6.11-5.27-.095-.055-.15-.137-.152-.23-.004-.1.046-.196.193-.297.56-.393 1.234-.6 1.926-.6a3.43 3.43 0 0 1 .691.069l4.922.994V10.972c0-.663.615-1.203 1.37-1.203s1.373.54 1.373 1.203v9.882h2.953c.273 0 .533.073.757.21l6.257 3.874c.027.017.045.042.07.06.41.296.586.77.426 1.22M4.1 16.614c-.024-.04-.042-.083-.065-.122a8.69 8.69 0 0 1-.509-.953c-.048-.107-.08-.223-.124-.333l-.305-.832c-.058-.202-.09-.416-.136-.624l-.13-.617a9.03 9.03 0 0 1-.094-1.305c0-2.107.714-4.04 1.9-5.56l.43-.5c.764-.84 1.682-1.523 2.71-2 1.058-.49 2.226-.77 3.46-.77s2.402.28 3.46.77c1.03.477 1.947 1.16 2.712 2l.428.5a9 9 0 0 1 1.901 5.559c0 3.577-2.056 6.636-5 8.026h-1.26v-8.882c0-1.067-.822-1.96-1.9-2.16-.15-.028-.304-.044-.463-.044-.22 0-.427.037-.628.09-.977.28-1.703 1.198-1.743 2.306v9.178l-1.11-.537C6.18 19.098 4.96 18 4.1 16.614M22.97 24.09l-6.256-3.874c-.102-.063-.218-.098-.33-.144 2.683-1.8 4.354-4.855 4.354-8.243 0-.486-.037-.964-.104-1.43a9.97 9.97 0 0 0-1.57-4.128l-.295-.408-.066-.092a10.05 10.05 0 0 0-.949-1.078c-.342-.334-.708-.643-1.094-.922-1.155-.834-2.492-1.412-3.94-1.65l-.732-.088-.748-.03a9.29 9.29 0 0 0-1.482.119c-1.447.238-2.786.816-3.94 1.65a9.33 9.33 0 0 0-.813.686 9.59 9.59 0 0 0-.845.877l-.385.437-.36.5-.288.468-.418.778-.04.09c-.593 1.28-.93 2.71-.93 4.222 0 3.832 2.182 7.342 5.56 8.938l1.437.68v4.946L5 25.64a4.44 4.44 0 0 0-.888-.086c-.017 0-.034.003-.05.003-.252.004-.503.033-.75.08a5.08 5.08 0 0 0-.237.056c-.193.046-.382.107-.568.18-.075.03-.15.057-.225.1-.25.114-.494.244-.723.405a1.31 1.31 0 0 0-.566 1.122 1.28 1.28 0 0 0 .645 1.051C4 29.925 5.96 31.614 7.473 33.563a5.06 5.06 0 0 0 .434.491c1.086 1.082 2.656 1.713 4.326 1.715h6.697c.748-.001 1.43-.333 1.858-.872.142-.18.256-.38.336-.602l2.757-7.74c.094-.26.13-.53.112-.794s-.088-.52-.203-.76a2.19 2.19 0 0 0-.821-.91" fill-opacity=".6" fill="#000" />
342
+ <path d="M22.444 24.94l-6.257-3.874a1.45 1.45 0 0 0-.757-.211h-2.953v-9.88c0-.663-.616-1.203-1.373-1.203s-1.37.54-1.37 1.203v16.643l-4.922-.994a3.44 3.44 0 0 0-.692-.069 3.35 3.35 0 0 0-1.925.598c-.147.102-.198.198-.194.298.004.094.058.176.153.23 2.462 1.448 4.517 3.22 6.11 5.27.887 1.14 2.373 1.82 3.98 1.82h6.686c.577 0 1.08-.326 1.253-.8l2.76-7.74c.16-.448-.017-.923-.426-1.22-.025-.02-.043-.043-.07-.06z" fill="#fff" />
343
+ <g transform="translate(0 .769)">
344
+ <mask id="B" fill="#fff">
345
+ <use xlink:href="#A" />
346
+ </mask>
347
+ <path d="M23.993 24.992a1.96 1.96 0 0 1-.111.794l-2.758 7.74c-.08.22-.194.423-.336.602-.427.54-1.11.87-1.857.872h-6.698c-1.67-.002-3.24-.633-4.326-1.715-.154-.154-.3-.318-.434-.49C5.96 30.846 4 29.157 1.646 27.773c-.385-.225-.626-.618-.645-1.05a1.31 1.31 0 0 1 .566-1.122 4.56 4.56 0 0 1 .723-.405l.225-.1a4.3 4.3 0 0 1 .568-.18l.237-.056c.248-.046.5-.075.75-.08.018 0 .034-.003.05-.003.303-.001.597.027.89.086l3.722.752V20.68l-1.436-.68c-3.377-1.596-5.56-5.106-5.56-8.938 0-1.51.336-2.94.93-4.222.015-.03.025-.06.04-.09.127-.267.268-.525.418-.778.093-.16.186-.316.288-.468.063-.095.133-.186.2-.277L3.773 5c.118-.155.26-.29.385-.437.266-.3.544-.604.845-.877a9.33 9.33 0 0 1 .813-.686C6.97 2.167 8.31 1.59 9.757 1.35a9.27 9.27 0 0 1 1.481-.119 8.82 8.82 0 0 1 .748.031c.247.02.49.05.733.088 1.448.238 2.786.816 3.94 1.65.387.28.752.588 1.094.922a9.94 9.94 0 0 1 .949 1.078l.066.092c.102.133.203.268.295.408a9.97 9.97 0 0 1 1.571 4.128c.066.467.103.945.103 1.43 0 3.388-1.67 6.453-4.353 8.243.11.046.227.08.33.144l6.256 3.874c.37.23.645.55.82.9.115.24.185.498.203.76m.697-1.195c-.265-.55-.677-1.007-1.194-1.326l-5.323-3.297c2.255-2.037 3.564-4.97 3.564-8.114 0-2.19-.637-4.304-1.84-6.114-.126-.188-.26-.37-.4-.552-.645-.848-1.402-1.6-2.252-2.204C15.472.91 13.393.232 11.238.232A10.21 10.21 0 0 0 5.23 2.19c-.848.614-1.606 1.356-2.253 2.205-.136.18-.272.363-.398.55C1.374 6.756.737 8.87.737 11.06c0 4.218 2.407 8.08 6.133 9.842l.863.41v3.092l-2.525-.51c-.356-.07-.717-.106-1.076-.106a5.45 5.45 0 0 0-3.14.996c-.653.46-1.022 1.202-.99 1.983a2.28 2.28 0 0 0 1.138 1.872c2.24 1.318 4.106 2.923 5.543 4.772 1.26 1.62 3.333 2.59 5.55 2.592h6.698c1.42-.001 2.68-.86 3.134-2.138l2.76-7.74c.272-.757.224-1.584-.134-2.325" fill-opacity=".05" fill="#000" mask="url(#B)" />
348
+ </g>
349
+ </g>
350
+ </g>
351
+ </svg>`}
352
+ </slot>
353
+ </div>
354
+ </div>
355
+
356
+ <div id="finger0" class="animated-container cover">
357
+ <slot name="finger0" aria-hidden="true">
358
+ </slot>
359
+ </div>
360
+ <div id="finger1" class="animated-container cover">
361
+ <slot name="finger1" aria-hidden="true">
362
+ </slot>
363
+ </div>
364
+
365
+ <div class="slot default">
366
+ <slot></slot>
367
+
368
+ <div class="slot progress-bar">
369
+ <slot name="progress-bar">
370
+ <div id="default-progress-bar" aria-hidden="true">
371
+ <div class="bar" part="default-progress-bar"></div>
372
+ </div>
373
+ </slot>
374
+ </div>
375
+
376
+ <div class="slot exit-webxr-ar-button">
377
+ <slot name="exit-webxr-ar-button">
378
+ <a id="default-exit-webxr-ar-button" part="default-exit-webxr-ar-button"
379
+ tabindex="3"
380
+ aria-label="Exit AR"
381
+ aria-hidden="true">
382
+ ${W`
383
+ <svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="#000000">
384
+ <!-- NOTE(cdata): This SVG filter is a stop-gap until we can implement
385
+ support for dynamic re-coloring of UI components -->
386
+ <defs>
387
+ <filter id="drop-shadow" x="-100%" y="-100%" width="300%" height="300%">
388
+ <feGaussianBlur in="SourceAlpha" stdDeviation="1"/>
389
+ <feOffset dx="0" dy="0" result="offsetblur"/>
390
+ <feFlood flood-color="#000000"/>
391
+ <feComposite in2="offsetblur" operator="in"/>
392
+ <feMerge>
393
+ <feMergeNode/>
394
+ <feMergeNode in="SourceGraphic"/>
395
+ </feMerge>
396
+ </filter>
397
+ </defs>
398
+ <path filter="url(#drop-shadow)" d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
399
+ <path d="M0 0h24v24H0z" fill="none"/>
400
+ </svg>`}
401
+ </a>
402
+ </slot>
403
+ </div>
404
+ </div>
405
+ </div>
406
+ <div class="screen-reader-only" role="region" aria-label="Live announcements">
407
+ <span id="status" role="status"></span>
408
+ </div>`;var Se=s(25108);const Me=new WeakMap;class DRACOLoader extends o.aNw{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,s,r){const A=new o.hH6(this.manager);A.setPath(this.path),A.setResponseType("arraybuffer"),A.setRequestHeader(this.requestHeader),A.setWithCredentials(this.withCredentials),A.load(e,(e=>{this.parse(e,t,r)}),s,r)}parse(e,t,s=(()=>{})){this.decodeDracoFile(e,t,null,null,o.KI_).catch(s)}decodeDracoFile(e,t,s,r,A=o.GUF,l=(()=>{})){const h={attributeIDs:s||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!s,vertexColorSpace:A};return this.decodeGeometry(e,h).then(t).catch(l)}decodeGeometry(e,t){const s=JSON.stringify(t);if(Me.has(e)){const t=Me.get(e);if(t.key===s)return t.promise;if(0===e.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const o=this.workerNextTaskID++,A=e.byteLength,l=this._getWorker(o,A).then((s=>(r=s,new Promise(((s,A)=>{r._callbacks[o]={resolve:s,reject:A},r.postMessage({type:"decode",id:o,taskConfig:t,buffer:e},[e])}))))).then((e=>this._createGeometry(e.geometry)));return l.catch((()=>!0)).then((()=>{r&&o&&this._releaseTask(r,o)})),Me.set(e,{key:s,promise:l}),l}_createGeometry(e){const t=new o.u9r;e.index&&t.setIndex(new o.TlE(e.index.array,1));for(let s=0;s<e.attributes.length;s++){const r=e.attributes[s],A=r.name,l=r.array,h=r.itemSize,c=new o.TlE(l,h);"color"===A&&(this._assignVertexColorSpace(c,r.vertexColorSpace),c.normalized=l instanceof Float32Array==!1),t.setAttribute(A,c)}return t}_assignVertexColorSpace(e,t){if(t!==o.KI_)return;const s=new o.Ilk;for(let t=0,r=e.count;t<r;t++)s.fromBufferAttribute(e,t).convertSRGBToLinear(),e.setXYZ(t,s.r,s.g,s.b)}_loadLibrary(e,t){const s=new o.hH6(this.manager);return s.setPath(this.decoderPath),s.setResponseType(t),s.setWithCredentials(this.withCredentials),new Promise(((t,r)=>{s.load(e,t,void 0,r)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then((t=>{const s=t[0];e||(this.decoderConfig.wasmBinary=t[1]);const r=DRACOWorker.toString(),o=["/* draco decoder */",s,"","/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([o]))})),this.decoderPending}_getWorker(e,t){return this._initDecoder().then((()=>{if(this.workerPool.length<this.workerLimit){const e=new Worker(this.workerSourceURL);e._callbacks={},e._taskCosts={},e._taskLoad=0,e.postMessage({type:"init",decoderConfig:this.decoderConfig}),e.onmessage=function(t){const s=t.data;switch(s.type){case"decode":e._callbacks[s.id].resolve(s);break;case"error":e._callbacks[s.id].reject(s);break;default:Se.error('THREE.DRACOLoader: Unexpected message, "'+s.type+'"')}},this.workerPool.push(e)}else this.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));const s=this.workerPool[this.workerPool.length-1];return s._taskCosts[e]=t,s._taskLoad+=t,s}))}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){Se.log("Task load: ",this.workerPool.map((e=>e._taskLoad)))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,""!==this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),this}}function DRACOWorker(){let e,t;function decodeAttribute(e,t,s,r,o,A){const l=A.num_components(),h=s.num_points()*l,c=h*o.BYTES_PER_ELEMENT,d=function getDracoDataType(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}(e,o),g=e._malloc(c);t.GetAttributeDataArrayForAllPoints(s,A,d,c,g);const p=new o(e.HEAPF32.buffer,g,h).slice();return e._free(g),{name:r,array:p,itemSize:l}}onmessage=function(s){const r=s.data;switch(r.type){case"init":e=r.decoderConfig,t=new Promise((function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)}));break;case"decode":const s=r.buffer,o=r.taskConfig;t.then((e=>{const t=e.draco,A=new t.Decoder;try{const e=function decodeGeometry(e,t,s,r){const o=r.attributeIDs,A=r.attributeTypes;let l,h;const c=t.GetEncodedGeometryType(s);if(c===e.TRIANGULAR_MESH)l=new e.Mesh,h=t.DecodeArrayToMesh(s,s.byteLength,l);else{if(c!==e.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");l=new e.PointCloud,h=t.DecodeArrayToPointCloud(s,s.byteLength,l)}if(!h.ok()||0===l.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+h.error_msg());const d={index:null,attributes:[]};for(const s in o){const h=self[A[s]];let c,g;if(r.useUniqueIDs)g=o[s],c=t.GetAttributeByUniqueId(l,g);else{if(g=t.GetAttributeId(l,e[o[s]]),-1===g)continue;c=t.GetAttribute(l,g)}const p=decodeAttribute(e,t,l,s,h,c);"color"===s&&(p.vertexColorSpace=r.vertexColorSpace),d.attributes.push(p)}c===e.TRIANGULAR_MESH&&(d.index=function decodeIndex(e,t,s){const r=3*s.num_faces(),o=4*r,A=e._malloc(o);t.GetTrianglesUInt32Array(s,o,A);const l=new Uint32Array(e.HEAPF32.buffer,A,r).slice();return e._free(A),{array:l,itemSize:1}}(e,t,l));return e.destroy(l),d}(t,A,new Int8Array(s),o),l=e.attributes.map((e=>e.array.buffer));e.index&&l.push(e.index.array.buffer),self.postMessage({type:"decode",id:r.id,geometry:e},l)}catch(e){Se.error(e),self.postMessage({type:"error",id:r.id,error:e.message})}finally{t.destroy(A)}}))}}}var Te=s(25108);function toTrianglesDrawMode(e,t){if(t===o.WwZ)return Te.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t===o.z$h||t===o.UlW){let s=e.getIndex();if(null===s){const t=[],r=e.getAttribute("position");if(void 0===r)return Te.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(let e=0;e<r.count;e++)t.push(e);e.setIndex(t),s=e.getIndex()}const r=s.count-2,A=[];if(t===o.z$h)for(let e=1;e<=r;e++)A.push(s.getX(0)),A.push(s.getX(e)),A.push(s.getX(e+1));else for(let e=0;e<r;e++)e%2==0?(A.push(s.getX(e)),A.push(s.getX(e+1)),A.push(s.getX(e+2))):(A.push(s.getX(e+2)),A.push(s.getX(e+1)),A.push(s.getX(e)));A.length/3!==r&&Te.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const l=e.clone();return l.setIndex(A),l.clearGroups(),l}return Te.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e}var Re=s(25108);class GLTFLoader extends o.aNw{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(e){return new GLTFMaterialsClearcoatExtension(e)})),this.register((function(e){return new GLTFTextureBasisUExtension(e)})),this.register((function(e){return new GLTFTextureWebPExtension(e)})),this.register((function(e){return new GLTFTextureAVIFExtension(e)})),this.register((function(e){return new GLTFMaterialsSheenExtension(e)})),this.register((function(e){return new GLTFMaterialsTransmissionExtension(e)})),this.register((function(e){return new GLTFMaterialsVolumeExtension(e)})),this.register((function(e){return new GLTFMaterialsIorExtension(e)})),this.register((function(e){return new GLTFMaterialsEmissiveStrengthExtension(e)})),this.register((function(e){return new GLTFMaterialsSpecularExtension(e)})),this.register((function(e){return new GLTFMaterialsIridescenceExtension(e)})),this.register((function(e){return new GLTFMaterialsAnisotropyExtension(e)})),this.register((function(e){return new GLTFMaterialsBumpExtension(e)})),this.register((function(e){return new GLTFLightsExtension(e)})),this.register((function(e){return new GLTFMeshoptCompression(e)})),this.register((function(e){return new GLTFMeshGpuInstancing(e)}))}load(e,t,s,r){const A=this;let l;if(""!==this.resourcePath)l=this.resourcePath;else if(""!==this.path){const t=o.Zp0.extractUrlBase(e);l=o.Zp0.resolveURL(t,this.path)}else l=o.Zp0.extractUrlBase(e);this.manager.itemStart(e);const _onError=function(t){r?r(t):Re.error(t),A.manager.itemError(e),A.manager.itemEnd(e)},h=new o.hH6(this.manager);h.setPath(this.path),h.setResponseType("arraybuffer"),h.setRequestHeader(this.requestHeader),h.setWithCredentials(this.withCredentials),h.load(e,(function(s){try{A.parse(s,l,(function(s){t(s),A.manager.itemEnd(e)}),_onError)}catch(e){_onError(e)}}),s,_onError)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,s,r){let o;const A={},l={},h=new TextDecoder;if("string"==typeof e)o=JSON.parse(e);else if(e instanceof ArrayBuffer){if(h.decode(new Uint8Array(e,0,4))===Le){try{A[De.KHR_BINARY_GLTF]=new GLTFBinaryExtension(e)}catch(e){return void(r&&r(e))}o=JSON.parse(A[De.KHR_BINARY_GLTF].content)}else o=JSON.parse(h.decode(e))}else o=e;if(void 0===o.asset||o.asset.version[0]<2)return void(r&&r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const c=new GLTFParser(o,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){const t=this.pluginCallbacks[e](c);t.name||Re.error("THREE.GLTFLoader: Invalid plugin found: missing name"),l[t.name]=t,A[t.name]=!0}if(o.extensionsUsed)for(let e=0;e<o.extensionsUsed.length;++e){const t=o.extensionsUsed[e],s=o.extensionsRequired||[];switch(t){case De.KHR_MATERIALS_UNLIT:A[t]=new GLTFMaterialsUnlitExtension;break;case De.KHR_DRACO_MESH_COMPRESSION:A[t]=new GLTFDracoMeshCompressionExtension(o,this.dracoLoader);break;case De.KHR_TEXTURE_TRANSFORM:A[t]=new GLTFTextureTransformExtension;break;case De.KHR_MESH_QUANTIZATION:A[t]=new GLTFMeshQuantizationExtension;break;default:s.indexOf(t)>=0&&void 0===l[t]&&Re.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}c.setExtensions(A),c.setPlugins(l),c.parse(s,r)}parseAsync(e,t){const s=this;return new Promise((function(r,o){s.parse(e,t,r,o)}))}}function GLTFRegistry(){let e={};return{get:function(t){return e[t]},add:function(t,s){e[t]=s},remove:function(t){delete e[t]},removeAll:function(){e={}}}}const De={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GLTFLightsExtension{constructor(e){this.parser=e,this.name=De.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let s=0,r=t.length;s<r;s++){const r=t[s];r.extensions&&r.extensions[this.name]&&void 0!==r.extensions[this.name].light&&e._addNodeRef(this.cache,r.extensions[this.name].light)}}_loadLight(e){const t=this.parser,s="light:"+e;let r=t.cache.get(s);if(r)return r;const A=t.json,l=((A.extensions&&A.extensions[this.name]||{}).lights||[])[e];let h;const c=new o.Ilk(16777215);void 0!==l.color&&c.setRGB(l.color[0],l.color[1],l.color[2],o.GUF);const d=void 0!==l.range?l.range:0;switch(l.type){case"directional":h=new o.Ox3(c),h.target.position.set(0,0,-1),h.add(h.target);break;case"point":h=new o.cek(c),h.distance=d;break;case"spot":h=new o.PMe(c),h.distance=d,l.spot=l.spot||{},l.spot.innerConeAngle=void 0!==l.spot.innerConeAngle?l.spot.innerConeAngle:0,l.spot.outerConeAngle=void 0!==l.spot.outerConeAngle?l.spot.outerConeAngle:Math.PI/4,h.angle=l.spot.outerConeAngle,h.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,h.target.position.set(0,0,-1),h.add(h.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return h.position.set(0,0,0),h.decay=2,assignExtrasToUserData(h,l),void 0!==l.intensity&&(h.intensity=l.intensity),h.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(h),t.cache.add(s,r),r}getDependency(e,t){if("light"===e)return this._loadLight(t)}createNodeAttachment(e){const t=this,s=this.parser,r=s.json.nodes[e],o=(r.extensions&&r.extensions[this.name]||{}).light;return void 0===o?null:this._loadLight(o).then((function(e){return s._getNodeRef(t.cache,o,e)}))}}class GLTFMaterialsUnlitExtension{constructor(){this.name=De.KHR_MATERIALS_UNLIT}getMaterialType(){return o.vBJ}extendParams(e,t,s){const r=[];e.color=new o.Ilk(1,1,1),e.opacity=1;const A=t.pbrMetallicRoughness;if(A){if(Array.isArray(A.baseColorFactor)){const t=A.baseColorFactor;e.color.setRGB(t[0],t[1],t[2],o.GUF),e.opacity=t[3]}void 0!==A.baseColorTexture&&r.push(s.assignTexture(e,"map",A.baseColorTexture,o.KI_))}return Promise.all(r)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const s=this.parser.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const r=s.extensions[this.name].emissiveStrength;return void 0!==r&&(t.emissiveIntensity=r),Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const A=[],l=r.extensions[this.name];if(void 0!==l.clearcoatFactor&&(t.clearcoat=l.clearcoatFactor),void 0!==l.clearcoatTexture&&A.push(s.assignTexture(t,"clearcoatMap",l.clearcoatTexture)),void 0!==l.clearcoatRoughnessFactor&&(t.clearcoatRoughness=l.clearcoatRoughnessFactor),void 0!==l.clearcoatRoughnessTexture&&A.push(s.assignTexture(t,"clearcoatRoughnessMap",l.clearcoatRoughnessTexture)),void 0!==l.clearcoatNormalTexture&&(A.push(s.assignTexture(t,"clearcoatNormalMap",l.clearcoatNormalTexture)),void 0!==l.clearcoatNormalTexture.scale)){const e=l.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new o.FM8(e,e)}return Promise.all(A)}}class GLTFMaterialsIridescenceExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const o=[],A=r.extensions[this.name];return void 0!==A.iridescenceFactor&&(t.iridescence=A.iridescenceFactor),void 0!==A.iridescenceTexture&&o.push(s.assignTexture(t,"iridescenceMap",A.iridescenceTexture)),void 0!==A.iridescenceIor&&(t.iridescenceIOR=A.iridescenceIor),void 0===t.iridescenceThicknessRange&&(t.iridescenceThicknessRange=[100,400]),void 0!==A.iridescenceThicknessMinimum&&(t.iridescenceThicknessRange[0]=A.iridescenceThicknessMinimum),void 0!==A.iridescenceThicknessMaximum&&(t.iridescenceThicknessRange[1]=A.iridescenceThicknessMaximum),void 0!==A.iridescenceThicknessTexture&&o.push(s.assignTexture(t,"iridescenceThicknessMap",A.iridescenceThicknessTexture)),Promise.all(o)}}class GLTFMaterialsSheenExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_SHEEN}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const A=[];t.sheenColor=new o.Ilk(0,0,0),t.sheenRoughness=0,t.sheen=1;const l=r.extensions[this.name];if(void 0!==l.sheenColorFactor){const e=l.sheenColorFactor;t.sheenColor.setRGB(e[0],e[1],e[2],o.GUF)}return void 0!==l.sheenRoughnessFactor&&(t.sheenRoughness=l.sheenRoughnessFactor),void 0!==l.sheenColorTexture&&A.push(s.assignTexture(t,"sheenColorMap",l.sheenColorTexture,o.KI_)),void 0!==l.sheenRoughnessTexture&&A.push(s.assignTexture(t,"sheenRoughnessMap",l.sheenRoughnessTexture)),Promise.all(A)}}class GLTFMaterialsTransmissionExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const o=[],A=r.extensions[this.name];return void 0!==A.transmissionFactor&&(t.transmission=A.transmissionFactor),void 0!==A.transmissionTexture&&o.push(s.assignTexture(t,"transmissionMap",A.transmissionTexture)),Promise.all(o)}}class GLTFMaterialsVolumeExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_VOLUME}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const A=[],l=r.extensions[this.name];t.thickness=void 0!==l.thicknessFactor?l.thicknessFactor:0,void 0!==l.thicknessTexture&&A.push(s.assignTexture(t,"thicknessMap",l.thicknessTexture)),t.attenuationDistance=l.attenuationDistance||1/0;const h=l.attenuationColor||[1,1,1];return t.attenuationColor=(new o.Ilk).setRGB(h[0],h[1],h[2],o.GUF),Promise.all(A)}}class GLTFMaterialsIorExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_IOR}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser.json.materials[e];if(!s.extensions||!s.extensions[this.name])return Promise.resolve();const r=s.extensions[this.name];return t.ior=void 0!==r.ior?r.ior:1.5,Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_SPECULAR}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const A=[],l=r.extensions[this.name];t.specularIntensity=void 0!==l.specularFactor?l.specularFactor:1,void 0!==l.specularTexture&&A.push(s.assignTexture(t,"specularIntensityMap",l.specularTexture));const h=l.specularColorFactor||[1,1,1];return t.specularColor=(new o.Ilk).setRGB(h[0],h[1],h[2],o.GUF),void 0!==l.specularColorTexture&&A.push(s.assignTexture(t,"specularColorMap",l.specularColorTexture,o.KI_)),Promise.all(A)}}class GLTFMaterialsBumpExtension{constructor(e){this.parser=e,this.name=De.EXT_MATERIALS_BUMP}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const o=[],A=r.extensions[this.name];return t.bumpScale=void 0!==A.bumpFactor?A.bumpFactor:1,void 0!==A.bumpTexture&&o.push(s.assignTexture(t,"bumpMap",A.bumpTexture)),Promise.all(o)}}class GLTFMaterialsAnisotropyExtension{constructor(e){this.parser=e,this.name=De.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?o.EJi:null}extendMaterialParams(e,t){const s=this.parser,r=s.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const o=[],A=r.extensions[this.name];return void 0!==A.anisotropyStrength&&(t.anisotropy=A.anisotropyStrength),void 0!==A.anisotropyRotation&&(t.anisotropyRotation=A.anisotropyRotation),void 0!==A.anisotropyTexture&&o.push(s.assignTexture(t,"anisotropyMap",A.anisotropyTexture)),Promise.all(o)}}class GLTFTextureBasisUExtension{constructor(e){this.parser=e,this.name=De.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,s=t.json,r=s.textures[e];if(!r.extensions||!r.extensions[this.name])return null;const o=r.extensions[this.name],A=t.options.ktx2Loader;if(!A){if(s.extensionsRequired&&s.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,o.source,A)}}class GLTFTextureWebPExtension{constructor(e){this.parser=e,this.name=De.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,s=this.parser,r=s.json,o=r.textures[e];if(!o.extensions||!o.extensions[t])return null;const A=o.extensions[t],l=r.images[A.source];let h=s.textureLoader;if(l.uri){const e=s.options.manager.getHandler(l.uri);null!==e&&(h=e)}return this.detectSupport().then((function(o){if(o)return s.loadTextureImage(e,A.source,h);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return s.loadTexture(e)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}}))),this.isSupported}}class GLTFTextureAVIFExtension{constructor(e){this.parser=e,this.name=De.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,s=this.parser,r=s.json,o=r.textures[e];if(!o.extensions||!o.extensions[t])return null;const A=o.extensions[t],l=r.images[A.source];let h=s.textureLoader;if(l.uri){const e=s.options.manager.getHandler(l.uri);null!==e&&(h=e)}return this.detectSupport().then((function(o){if(o)return s.loadTextureImage(e,A.source,h);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return s.loadTexture(e)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(1===t.height)}}))),this.isSupported}}class GLTFMeshoptCompression{constructor(e){this.name=De.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,s=t.bufferViews[e];if(s.extensions&&s.extensions[this.name]){const e=s.extensions[this.name],r=this.parser.getDependency("buffer",e.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return r.then((function(t){const s=e.byteOffset||0,r=e.byteLength||0,A=e.count,l=e.byteStride,h=new Uint8Array(t,s,r);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(A,l,h,e.mode,e.filter).then((function(e){return e.buffer})):o.ready.then((function(){const t=new ArrayBuffer(A*l);return o.decodeGltfBuffer(new Uint8Array(t),A,l,h,e.mode,e.filter),t}))}))}return null}}class GLTFMeshGpuInstancing{constructor(e){this.name=De.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,s=t.nodes[e];if(!s.extensions||!s.extensions[this.name]||void 0===s.mesh)return null;const r=t.meshes[s.mesh];for(const e of r.primitives)if(e.mode!==Ue.TRIANGLES&&e.mode!==Ue.TRIANGLE_STRIP&&e.mode!==Ue.TRIANGLE_FAN&&void 0!==e.mode)return null;const A=s.extensions[this.name].attributes,l=[],h={};for(const e in A)l.push(this.parser.getDependency("accessor",A[e]).then((t=>(h[e]=t,h[e]))));return l.length<1?null:(l.push(this.parser.createNodeMesh(e)),Promise.all(l).then((e=>{const t=e.pop(),s=t.isGroup?t.children:[t],r=e[0].count,A=[];for(const e of s){const t=new o.yGw,s=new o.Pa4,l=new o._fP,c=new o.Pa4(1,1,1),d=new o.SPe(e.geometry,e.material,r);for(let e=0;e<r;e++)h.TRANSLATION&&s.fromBufferAttribute(h.TRANSLATION,e),h.ROTATION&&l.fromBufferAttribute(h.ROTATION,e),h.SCALE&&c.fromBufferAttribute(h.SCALE,e),d.setMatrixAt(e,t.compose(s,l,c));for(const t in h)if("_COLOR_0"===t){const e=h[t];d.instanceColor=new o.lb7(e.array,e.itemSize,e.normalized)}else"TRANSLATION"!==t&&"ROTATION"!==t&&"SCALE"!==t&&e.geometry.setAttribute(t,h[t]);o.Tme.prototype.copy.call(d,e),this.parser.assignFinalMaterial(d),A.push(d)}return t.isGroup?(t.clear(),t.add(...A),t):A[0]})))}}const Le="glTF",Fe=1313821514,ke=5130562;class GLTFBinaryExtension{constructor(e){this.name=De.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,12),s=new TextDecoder;if(this.header={magic:s.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==Le)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-12,o=new DataView(e,12);let A=0;for(;A<r;){const t=o.getUint32(A,!0);A+=4;const r=o.getUint32(A,!0);if(A+=4,r===Fe){const r=new Uint8Array(e,12+A,t);this.content=s.decode(r)}else if(r===ke){const s=12+A;this.body=e.slice(s,s+t)}A+=t}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class GLTFDracoMeshCompressionExtension{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=De.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const s=this.json,r=this.dracoLoader,A=e.extensions[this.name].bufferView,l=e.extensions[this.name].attributes,h={},c={},d={};for(const e in l){const t=He[e]||e.toLowerCase();h[t]=l[e]}for(const t in e.attributes){const r=He[t]||t.toLowerCase();if(void 0!==l[t]){const o=s.accessors[e.attributes[t]],A=Ge[o.componentType];d[r]=A.name,c[r]=!0===o.normalized}}return t.getDependency("bufferView",A).then((function(e){return new Promise((function(t,s){r.decodeDracoFile(e,(function(e){for(const t in e.attributes){const s=e.attributes[t],r=c[t];void 0!==r&&(s.normalized=r)}t(e)}),h,d,o.GUF,s)}))}))}}class GLTFTextureTransformExtension{constructor(){this.name=De.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return void 0!==t.texCoord&&t.texCoord!==e.channel||void 0!==t.offset||void 0!==t.rotation||void 0!==t.scale?(e=e.clone(),void 0!==t.texCoord&&(e.channel=t.texCoord),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),e.needsUpdate=!0,e):e}}class GLTFMeshQuantizationExtension{constructor(){this.name=De.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends o._C8{constructor(e,t,s,r){super(e,t,s,r)}copySampleValue_(e){const t=this.resultBuffer,s=this.sampleValues,r=this.valueSize,o=e*r*3+r;for(let e=0;e!==r;e++)t[e]=s[o+e];return t}interpolate_(e,t,s,r){const o=this.resultBuffer,A=this.sampleValues,l=this.valueSize,h=2*l,c=3*l,d=r-t,g=(s-t)/d,p=g*g,m=p*g,f=e*c,I=f-c,E=-2*m+3*p,C=m-p,B=1-E,y=C-p+g;for(let e=0;e!==l;e++){const t=A[I+e+l],s=A[I+e+h]*d,r=A[f+e+l],c=A[f+e]*d;o[e]=B*t+y*s+E*r+C*c}return o}}const _e=new o._fP;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(e,t,s,r){const o=super.interpolate_(e,t,s,r);return _e.fromArray(o).normalize().toArray(o),o}}const Ue={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},Ge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Ne={9728:o.TyD,9729:o.wem,9984:o.YLQ,9985:o.qyh,9986:o.aH4,9987:o.D1R},Pe={33071:o.uWy,33648:o.OoA,10497:o.rpg},Oe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},He={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Ve={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},qe={CUBICSPLINE:void 0,LINEAR:o.NMF,STEP:o.Syv},Ke="OPAQUE",Je="MASK",ze="BLEND";function createDefaultMaterial(e){return void 0===e.DefaultMaterial&&(e.DefaultMaterial=new o.Wid({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:o.Wl3})),e.DefaultMaterial}function addUnknownExtensionsToUserData(e,t,s){for(const r in s.extensions)void 0===e[r]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=s.extensions[r])}function assignExtrasToUserData(e,t){void 0!==t.extras&&("object"==typeof t.extras?Object.assign(e.userData,t.extras):Re.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function updateMorphTargets(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(let s=0,r=t.weights.length;s<r;s++)e.morphTargetInfluences[s]=t.weights[s];if(t.extras&&Array.isArray(t.extras.targetNames)){const s=t.extras.targetNames;if(e.morphTargetInfluences.length===s.length){e.morphTargetDictionary={};for(let t=0,r=s.length;t<r;t++)e.morphTargetDictionary[s[t]]=t}else Re.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function createPrimitiveKey(e){let t;const s=e.extensions&&e.extensions[De.KHR_DRACO_MESH_COMPRESSION];if(t=s?"draco:"+s.bufferView+":"+s.indices+":"+createAttributesKey(s.attributes):e.indices+":"+createAttributesKey(e.attributes)+":"+e.mode,void 0!==e.targets)for(let s=0,r=e.targets.length;s<r;s++)t+=":"+createAttributesKey(e.targets[s]);return t}function createAttributesKey(e){let t="";const s=Object.keys(e).sort();for(let r=0,o=s.length;r<o;r++)t+=s[r]+":"+e[s[r]]+";";return t}function getNormalizedComponentScale(e){switch(e){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const Ye=new o.yGw;class GLTFParser{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new GLTFRegistry,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let s=!1,r=!1,A=-1;"undefined"!=typeof navigator&&(s=!0===/^((?!chrome|android).)*safari/i.test(navigator.userAgent),r=navigator.userAgent.indexOf("Firefox")>-1,A=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||s||r&&A<98?this.textureLoader=new o.dpR(this.options.manager):this.textureLoader=new o.QRU(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new o.hH6(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const s=this,r=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(e){return e._markDefs&&e._markDefs()})),Promise.all(this._invokeAll((function(e){return e.beforeRoot&&e.beforeRoot()}))).then((function(){return Promise.all([s.getDependencies("scene"),s.getDependencies("animation"),s.getDependencies("camera")])})).then((function(t){const A={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:s,userData:{}};return addUnknownExtensionsToUserData(o,A,r),assignExtrasToUserData(A,r),Promise.all(s._invokeAll((function(e){return e.afterRoot&&e.afterRoot(A)}))).then((function(){for(const e of A.scenes)e.updateMatrixWorld();e(A)}))})).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],s=this.json.meshes||[];for(let s=0,r=t.length;s<r;s++){const r=t[s].joints;for(let t=0,s=r.length;t<s;t++)e[r[t]].isBone=!0}for(let t=0,r=e.length;t<r;t++){const r=e[t];void 0!==r.mesh&&(this._addNodeRef(this.meshCache,r.mesh),void 0!==r.skin&&(s[r.mesh].isSkinnedMesh=!0)),void 0!==r.camera&&this._addNodeRef(this.cameraCache,r.camera)}}_addNodeRef(e,t){void 0!==t&&(void 0===e.refs[t]&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,s){if(e.refs[t]<=1)return s;const r=s.clone(),updateMappings=(e,t)=>{const s=this.associations.get(e);null!=s&&this.associations.set(t,s);for(const[s,r]of e.children.entries())updateMappings(r,t.children[s])};return updateMappings(s,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let s=0;s<t.length;s++){const r=e(t[s]);if(r)return r}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const s=[];for(let r=0;r<t.length;r++){const o=e(t[r]);o&&s.push(o)}return s}getDependency(e,t){const s=e+":"+t;let r=this.cache.get(s);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this._invokeOne((function(e){return e.loadNode&&e.loadNode(t)}));break;case"mesh":r=this._invokeOne((function(e){return e.loadMesh&&e.loadMesh(t)}));break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne((function(e){return e.loadBufferView&&e.loadBufferView(t)}));break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne((function(e){return e.loadMaterial&&e.loadMaterial(t)}));break;case"texture":r=this._invokeOne((function(e){return e.loadTexture&&e.loadTexture(t)}));break;case"skin":r=this.loadSkin(t);break;case"animation":r=this._invokeOne((function(e){return e.loadAnimation&&e.loadAnimation(t)}));break;case"camera":r=this.loadCamera(t);break;default:if(r=this._invokeOne((function(s){return s!=this&&s.getDependency&&s.getDependency(e,t)})),!r)throw new Error("Unknown type: "+e)}this.cache.add(s,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){const s=this,r=this.json[e+("mesh"===e?"es":"s")]||[];t=Promise.all(r.map((function(t,r){return s.getDependency(e,r)}))),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],s=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[De.KHR_BINARY_GLTF].body);const r=this.options;return new Promise((function(e,A){s.load(o.Zp0.resolveURL(t.uri,r.path),e,void 0,(function(){A(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))}))}))}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then((function(e){const s=t.byteLength||0,r=t.byteOffset||0;return e.slice(r,r+s)}))}loadAccessor(e){const t=this,s=this.json,r=this.json.accessors[e];if(void 0===r.bufferView&&void 0===r.sparse){const e=Oe[r.type],t=Ge[r.componentType],s=!0===r.normalized,A=new t(r.count*e);return Promise.resolve(new o.TlE(A,e,s))}const A=[];return void 0!==r.bufferView?A.push(this.getDependency("bufferView",r.bufferView)):A.push(null),void 0!==r.sparse&&(A.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),A.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(A).then((function(e){const A=e[0],l=Oe[r.type],h=Ge[r.componentType],c=h.BYTES_PER_ELEMENT,d=c*l,g=r.byteOffset||0,p=void 0!==r.bufferView?s.bufferViews[r.bufferView].byteStride:void 0,m=!0===r.normalized;let f,I;if(p&&p!==d){const e=Math.floor(g/p),s="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+e+":"+r.count;let d=t.cache.get(s);d||(f=new h(A,e*p,r.count*p/c),d=new o.vpT(f,p/c),t.cache.add(s,d)),I=new o.kB5(d,l,g%p/c,m)}else f=null===A?new h(r.count*l):new h(A,g,r.count*l),I=new o.TlE(f,l,m);if(void 0!==r.sparse){const t=Oe.SCALAR,s=Ge[r.sparse.indices.componentType],c=r.sparse.indices.byteOffset||0,d=r.sparse.values.byteOffset||0,g=new s(e[1],c,r.sparse.count*t),p=new h(e[2],d,r.sparse.count*l);null!==A&&(I=new o.TlE(I.array.slice(),I.itemSize,I.normalized));for(let e=0,t=g.length;e<t;e++){const t=g[e];if(I.setX(t,p[e*l]),l>=2&&I.setY(t,p[e*l+1]),l>=3&&I.setZ(t,p[e*l+2]),l>=4&&I.setW(t,p[e*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return I}))}loadTexture(e){const t=this.json,s=this.options,r=t.textures[e].source,o=t.images[r];let A=this.textureLoader;if(o.uri){const e=s.manager.getHandler(o.uri);null!==e&&(A=e)}return this.loadTextureImage(e,r,A)}loadTextureImage(e,t,s){const r=this,A=this.json,l=A.textures[e],h=A.images[t],c=(h.uri||h.bufferView)+":"+l.sampler;if(this.textureCache[c])return this.textureCache[c];const d=this.loadImageSource(t,s).then((function(t){t.flipY=!1,t.name=l.name||h.name||"",""===t.name&&"string"==typeof h.uri&&!1===h.uri.startsWith("data:image/")&&(t.name=h.uri);const s=(A.samplers||{})[l.sampler]||{};return t.magFilter=Ne[s.magFilter]||o.wem,t.minFilter=Ne[s.minFilter]||o.D1R,t.wrapS=Pe[s.wrapS]||o.rpg,t.wrapT=Pe[s.wrapT]||o.rpg,r.associations.set(t,{textures:e}),t})).catch((function(){return null}));return this.textureCache[c]=d,d}loadImageSource(e,t){const s=this,r=this.json,A=this.options;if(void 0!==this.sourceCache[e])return this.sourceCache[e].then((e=>e.clone()));const l=r.images[e],h=self.URL||self.webkitURL;let c=l.uri||"",d=!1;if(void 0!==l.bufferView)c=s.getDependency("bufferView",l.bufferView).then((function(e){d=!0;const t=new Blob([e],{type:l.mimeType});return c=h.createObjectURL(t),c}));else if(void 0===l.uri)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const g=Promise.resolve(c).then((function(e){return new Promise((function(s,r){let l=s;!0===t.isImageBitmapLoader&&(l=function(e){const t=new o.xEZ(e);t.needsUpdate=!0,s(t)}),t.load(o.Zp0.resolveURL(e,A.path),l,void 0,r)}))})).then((function(e){return!0===d&&h.revokeObjectURL(c),e.userData.mimeType=l.mimeType||function getImageURIMimeType(e){return e.search(/\.jpe?g($|\?)/i)>0||0===e.search(/^data\:image\/jpeg/)?"image/jpeg":e.search(/\.webp($|\?)/i)>0||0===e.search(/^data\:image\/webp/)?"image/webp":"image/png"}(l.uri),e})).catch((function(e){throw Re.error("THREE.GLTFLoader: Couldn't load texture",c),e}));return this.sourceCache[e]=g,g}assignTexture(e,t,s,r){const o=this;return this.getDependency("texture",s.index).then((function(A){if(!A)return null;if(void 0!==s.texCoord&&s.texCoord>0&&((A=A.clone()).channel=s.texCoord),o.extensions[De.KHR_TEXTURE_TRANSFORM]){const e=void 0!==s.extensions?s.extensions[De.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const t=o.associations.get(A);A=o.extensions[De.KHR_TEXTURE_TRANSFORM].extendTexture(A,e),o.associations.set(A,t)}}return void 0!==r&&(A.colorSpace=r),e[t]=A,A}))}assignFinalMaterial(e){const t=e.geometry;let s=e.material;const r=void 0===t.attributes.tangent,A=void 0!==t.attributes.color,l=void 0===t.attributes.normal;if(e.isPoints){const e="PointsMaterial:"+s.uuid;let t=this.cache.get(e);t||(t=new o.UY4,o.F5T.prototype.copy.call(t,s),t.color.copy(s.color),t.map=s.map,t.sizeAttenuation=!1,this.cache.add(e,t)),s=t}else if(e.isLine){const e="LineBasicMaterial:"+s.uuid;let t=this.cache.get(e);t||(t=new o.nls,o.F5T.prototype.copy.call(t,s),t.color.copy(s.color),t.map=s.map,this.cache.add(e,t)),s=t}if(r||A||l){let e="ClonedMaterial:"+s.uuid+":";r&&(e+="derivative-tangents:"),A&&(e+="vertex-colors:"),l&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=s.clone(),A&&(t.vertexColors=!0),l&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(s))),s=t}e.material=s}getMaterialType(){return o.Wid}loadMaterial(e){const t=this,s=this.json,r=this.extensions,A=s.materials[e];let l;const h={},c=[];if((A.extensions||{})[De.KHR_MATERIALS_UNLIT]){const e=r[De.KHR_MATERIALS_UNLIT];l=e.getMaterialType(),c.push(e.extendParams(h,A,t))}else{const s=A.pbrMetallicRoughness||{};if(h.color=new o.Ilk(1,1,1),h.opacity=1,Array.isArray(s.baseColorFactor)){const e=s.baseColorFactor;h.color.setRGB(e[0],e[1],e[2],o.GUF),h.opacity=e[3]}void 0!==s.baseColorTexture&&c.push(t.assignTexture(h,"map",s.baseColorTexture,o.KI_)),h.metalness=void 0!==s.metallicFactor?s.metallicFactor:1,h.roughness=void 0!==s.roughnessFactor?s.roughnessFactor:1,void 0!==s.metallicRoughnessTexture&&(c.push(t.assignTexture(h,"metalnessMap",s.metallicRoughnessTexture)),c.push(t.assignTexture(h,"roughnessMap",s.metallicRoughnessTexture))),l=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(e)})),c.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,h)}))))}!0===A.doubleSided&&(h.side=o.ehD);const d=A.alphaMode||Ke;if(d===ze?(h.transparent=!0,h.depthWrite=!1):(h.transparent=!1,d===Je&&(h.alphaTest=void 0!==A.alphaCutoff?A.alphaCutoff:.5)),void 0!==A.normalTexture&&l!==o.vBJ&&(c.push(t.assignTexture(h,"normalMap",A.normalTexture)),h.normalScale=new o.FM8(1,1),void 0!==A.normalTexture.scale)){const e=A.normalTexture.scale;h.normalScale.set(e,e)}if(void 0!==A.occlusionTexture&&l!==o.vBJ&&(c.push(t.assignTexture(h,"aoMap",A.occlusionTexture)),void 0!==A.occlusionTexture.strength&&(h.aoMapIntensity=A.occlusionTexture.strength)),void 0!==A.emissiveFactor&&l!==o.vBJ){const e=A.emissiveFactor;h.emissive=(new o.Ilk).setRGB(e[0],e[1],e[2],o.GUF)}return void 0!==A.emissiveTexture&&l!==o.vBJ&&c.push(t.assignTexture(h,"emissiveMap",A.emissiveTexture,o.KI_)),Promise.all(c).then((function(){const s=new l(h);return A.name&&(s.name=A.name),assignExtrasToUserData(s,A),t.associations.set(s,{materials:e}),A.extensions&&addUnknownExtensionsToUserData(r,s,A),s}))}createUniqueName(e){const t=o.iUV.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,s=this.extensions,r=this.primitiveCache;function createDracoPrimitive(e){return s[De.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then((function(s){return addPrimitiveAttributes(s,e,t)}))}const A=[];for(let s=0,l=e.length;s<l;s++){const l=e[s],h=createPrimitiveKey(l),c=r[h];if(c)A.push(c.promise);else{let e;e=l.extensions&&l.extensions[De.KHR_DRACO_MESH_COMPRESSION]?createDracoPrimitive(l):addPrimitiveAttributes(new o.u9r,l,t),r[h]={primitive:l,promise:e},A.push(e)}}return Promise.all(A)}loadMesh(e){const t=this,s=this.json,r=this.extensions,A=s.meshes[e],l=A.primitives,h=[];for(let e=0,t=l.length;e<t;e++){const t=void 0===l[e].material?createDefaultMaterial(this.cache):this.getDependency("material",l[e].material);h.push(t)}return h.push(t.loadGeometries(l)),Promise.all(h).then((function(s){const h=s.slice(0,s.length-1),c=s[s.length-1],d=[];for(let s=0,g=c.length;s<g;s++){const g=c[s],p=l[s];let m;const f=h[s];if(p.mode===Ue.TRIANGLES||p.mode===Ue.TRIANGLE_STRIP||p.mode===Ue.TRIANGLE_FAN||void 0===p.mode)m=!0===A.isSkinnedMesh?new o.TUv(g,f):new o.Kj0(g,f),!0===m.isSkinnedMesh&&m.normalizeSkinWeights(),p.mode===Ue.TRIANGLE_STRIP?m.geometry=toTrianglesDrawMode(m.geometry,o.UlW):p.mode===Ue.TRIANGLE_FAN&&(m.geometry=toTrianglesDrawMode(m.geometry,o.z$h));else if(p.mode===Ue.LINES)m=new o.ejS(g,f);else if(p.mode===Ue.LINE_STRIP)m=new o.x12(g,f);else if(p.mode===Ue.LINE_LOOP)m=new o.blk(g,f);else{if(p.mode!==Ue.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+p.mode);m=new o.woe(g,f)}Object.keys(m.geometry.morphAttributes).length>0&&updateMorphTargets(m,A),m.name=t.createUniqueName(A.name||"mesh_"+e),assignExtrasToUserData(m,A),p.extensions&&addUnknownExtensionsToUserData(r,m,p),t.assignFinalMaterial(m),d.push(m)}for(let s=0,r=d.length;s<r;s++)t.associations.set(d[s],{meshes:e,primitives:s});if(1===d.length)return A.extensions&&addUnknownExtensionsToUserData(r,d[0],A),d[0];const g=new o.ZAu;A.extensions&&addUnknownExtensionsToUserData(r,g,A),t.associations.set(g,{meshes:e});for(let e=0,t=d.length;e<t;e++)g.add(d[e]);return g}))}loadCamera(e){let t;const s=this.json.cameras[e],r=s[s.type];if(r)return"perspective"===s.type?t=new o.cPb(o.M8C.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):"orthographic"===s.type&&(t=new o.iKG(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),s.name&&(t.name=this.createUniqueName(s.name)),assignExtrasToUserData(t,s),Promise.resolve(t);Re.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(e){const t=this.json.skins[e],s=[];for(let e=0,r=t.joints.length;e<r;e++)s.push(this._loadNodeShallow(t.joints[e]));return void 0!==t.inverseBindMatrices?s.push(this.getDependency("accessor",t.inverseBindMatrices)):s.push(null),Promise.all(s).then((function(e){const s=e.pop(),r=e,A=[],l=[];for(let e=0,h=r.length;e<h;e++){const h=r[e];if(h){A.push(h);const t=new o.yGw;null!==s&&t.fromArray(s.array,16*e),l.push(t)}else Re.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[e])}return new o.OdW(A,l)}))}loadAnimation(e){const t=this.json,s=this,r=t.animations[e],A=r.name?r.name:"animation_"+e,l=[],h=[],c=[],d=[],g=[];for(let e=0,t=r.channels.length;e<t;e++){const t=r.channels[e],s=r.samplers[t.sampler],o=t.target,A=o.node,p=void 0!==r.parameters?r.parameters[s.input]:s.input,m=void 0!==r.parameters?r.parameters[s.output]:s.output;void 0!==o.node&&(l.push(this.getDependency("node",A)),h.push(this.getDependency("accessor",p)),c.push(this.getDependency("accessor",m)),d.push(s),g.push(o))}return Promise.all([Promise.all(l),Promise.all(h),Promise.all(c),Promise.all(d),Promise.all(g)]).then((function(e){const t=e[0],r=e[1],l=e[2],h=e[3],c=e[4],d=[];for(let e=0,o=t.length;e<o;e++){const o=t[e],A=r[e],g=l[e],p=h[e],m=c[e];if(void 0===o)continue;o.updateMatrix&&o.updateMatrix();const f=s._createAnimationTracks(o,A,g,p,m);if(f)for(let e=0;e<f.length;e++)d.push(f[e])}return new o.m7l(A,void 0,d)}))}createNodeMesh(e){const t=this.json,s=this,r=t.nodes[e];return void 0===r.mesh?null:s.getDependency("mesh",r.mesh).then((function(e){const t=s._getNodeRef(s.meshCache,r.mesh,e);return void 0!==r.weights&&t.traverse((function(e){if(e.isMesh)for(let t=0,s=r.weights.length;t<s;t++)e.morphTargetInfluences[t]=r.weights[t]})),t}))}loadNode(e){const t=this,s=this.json.nodes[e],r=t._loadNodeShallow(e),o=[],A=s.children||[];for(let e=0,s=A.length;e<s;e++)o.push(t.getDependency("node",A[e]));const l=void 0===s.skin?Promise.resolve(null):t.getDependency("skin",s.skin);return Promise.all([r,Promise.all(o),l]).then((function(e){const t=e[0],s=e[1],r=e[2];null!==r&&t.traverse((function(e){e.isSkinnedMesh&&e.bind(r,Ye)}));for(let e=0,r=s.length;e<r;e++)t.add(s[e]);return t}))}_loadNodeShallow(e){const t=this.json,s=this.extensions,r=this;if(void 0!==this.nodeCache[e])return this.nodeCache[e];const A=t.nodes[e],l=A.name?r.createUniqueName(A.name):"",h=[],c=r._invokeOne((function(t){return t.createNodeMesh&&t.createNodeMesh(e)}));return c&&h.push(c),void 0!==A.camera&&h.push(r.getDependency("camera",A.camera).then((function(e){return r._getNodeRef(r.cameraCache,A.camera,e)}))),r._invokeAll((function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)})).forEach((function(e){h.push(e)})),this.nodeCache[e]=Promise.all(h).then((function(t){let h;if(h=!0===A.isBone?new o.N$j:t.length>1?new o.ZAu:1===t.length?t[0]:new o.Tme,h!==t[0])for(let e=0,s=t.length;e<s;e++)h.add(t[e]);if(A.name&&(h.userData.name=A.name,h.name=l),assignExtrasToUserData(h,A),A.extensions&&addUnknownExtensionsToUserData(s,h,A),void 0!==A.matrix){const e=new o.yGw;e.fromArray(A.matrix),h.applyMatrix4(e)}else void 0!==A.translation&&h.position.fromArray(A.translation),void 0!==A.rotation&&h.quaternion.fromArray(A.rotation),void 0!==A.scale&&h.scale.fromArray(A.scale);return r.associations.has(h)||r.associations.set(h,{}),r.associations.get(h).nodes=e,h})),this.nodeCache[e]}loadScene(e){const t=this.extensions,s=this.json.scenes[e],r=this,A=new o.ZAu;s.name&&(A.name=r.createUniqueName(s.name)),assignExtrasToUserData(A,s),s.extensions&&addUnknownExtensionsToUserData(t,A,s);const l=s.nodes||[],h=[];for(let e=0,t=l.length;e<t;e++)h.push(r.getDependency("node",l[e]));return Promise.all(h).then((function(e){for(let t=0,s=e.length;t<s;t++)A.add(e[t]);return r.associations=(e=>{const t=new Map;for(const[e,s]of r.associations)(e instanceof o.F5T||e instanceof o.xEZ)&&t.set(e,s);return e.traverse((e=>{const s=r.associations.get(e);null!=s&&t.set(e,s)})),t})(A),A}))}_createAnimationTracks(e,t,s,r,A){const l=[],h=e.name?e.name:e.uuid,c=[];let d;switch(Ve[A.path]===Ve.weights?e.traverse((function(e){e.morphTargetInfluences&&c.push(e.name?e.name:e.uuid)})):c.push(h),Ve[A.path]){case Ve.weights:d=o.dUE;break;case Ve.rotation:d=o.iLg;break;case Ve.position:case Ve.scale:d=o.yC1;break;default:if(1===s.itemSize)d=o.dUE;else d=o.yC1}const g=void 0!==r.interpolation?qe[r.interpolation]:o.NMF,p=this._getArrayFromAccessor(s);for(let e=0,s=c.length;e<s;e++){const s=new d(c[e]+"."+Ve[A.path],t.array,p,g);"CUBICSPLINE"===r.interpolation&&this._createCubicSplineTrackInterpolant(s),l.push(s)}return l}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const e=getNormalizedComponentScale(t.constructor),s=new Float32Array(t.length);for(let r=0,o=t.length;r<o;r++)s[r]=t[r]*e;t=s}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(e){return new(this instanceof o.iLg?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant)(this.times,this.values,this.getValueSize()/3,e)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function addPrimitiveAttributes(e,t,s){const r=t.attributes,A=[];function assignAttributeAccessor(t,r){return s.getDependency("accessor",t).then((function(t){e.setAttribute(r,t)}))}for(const t in r){const s=He[t]||t.toLowerCase();s in e.attributes||A.push(assignAttributeAccessor(r[t],s))}if(void 0!==t.indices&&!e.index){const r=s.getDependency("accessor",t.indices).then((function(t){e.setIndex(t)}));A.push(r)}return o.epp.workingColorSpace!==o.GUF&&"COLOR_0"in r&&Re.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${o.epp.workingColorSpace}" not supported.`),assignExtrasToUserData(e,t),function computeBounds(e,t,s){const r=t.attributes,A=new o.ZzF;if(void 0===r.POSITION)return;{const e=s.json.accessors[r.POSITION],t=e.min,l=e.max;if(void 0===t||void 0===l)return void Re.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(A.set(new o.Pa4(t[0],t[1],t[2]),new o.Pa4(l[0],l[1],l[2])),e.normalized){const t=getNormalizedComponentScale(Ge[e.componentType]);A.min.multiplyScalar(t),A.max.multiplyScalar(t)}}const l=t.targets;if(void 0!==l){const e=new o.Pa4,t=new o.Pa4;for(let r=0,o=l.length;r<o;r++){const o=l[r];if(void 0!==o.POSITION){const r=s.json.accessors[o.POSITION],A=r.min,l=r.max;if(void 0!==A&&void 0!==l){if(t.setX(Math.max(Math.abs(A[0]),Math.abs(l[0]))),t.setY(Math.max(Math.abs(A[1]),Math.abs(l[1]))),t.setZ(Math.max(Math.abs(A[2]),Math.abs(l[2]))),r.normalized){const e=getNormalizedComponentScale(Ge[r.componentType]);t.multiplyScalar(e)}e.max(t)}else Re.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}A.expandByVector(e)}e.boundingBox=A;const h=new o.aLr;A.getCenter(h.center),h.radius=A.min.distanceTo(A.max)/2,e.boundingSphere=h}(e,t,s),Promise.all(A).then((function(){return void 0!==t.targets?function addMorphTargets(e,t,s){let r=!1,o=!1,A=!1;for(let e=0,s=t.length;e<s;e++){const s=t[e];if(void 0!==s.POSITION&&(r=!0),void 0!==s.NORMAL&&(o=!0),void 0!==s.COLOR_0&&(A=!0),r&&o&&A)break}if(!r&&!o&&!A)return Promise.resolve(e);const l=[],h=[],c=[];for(let d=0,g=t.length;d<g;d++){const g=t[d];if(r){const t=void 0!==g.POSITION?s.getDependency("accessor",g.POSITION):e.attributes.position;l.push(t)}if(o){const t=void 0!==g.NORMAL?s.getDependency("accessor",g.NORMAL):e.attributes.normal;h.push(t)}if(A){const t=void 0!==g.COLOR_0?s.getDependency("accessor",g.COLOR_0):e.attributes.color;c.push(t)}}return Promise.all([Promise.all(l),Promise.all(h),Promise.all(c)]).then((function(t){const s=t[0],l=t[1],h=t[2];return r&&(e.morphAttributes.position=s),o&&(e.morphAttributes.normal=l),A&&(e.morphAttributes.color=h),e.morphTargetsRelative=!0,e}))}(e,t.targets,s):e}))}class WorkerPool{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1}_onMessage(e,t){const s=this.workersResolve[e];if(s&&s(t),this.queue.length){const{resolve:t,msg:s,transfer:r}=this.queue.shift();this.workersResolve[e]=t,this.workers[e].postMessage(s,r)}else this.workerStatus^=1<<e}setWorkerCreator(e){this.workerCreator=e}setWorkerLimit(e){this.pool=e}postMessage(e,t){return new Promise((s=>{const r=this._getIdleWorker();-1!==r?(this._initWorker(r),this.workerStatus|=1<<r,this.workersResolve[r]=s,this.workers[r].postMessage(e,t)):this.queue.push({resolve:s,msg:e,transfer:t})}))}dispose(){this.workers.forEach((e=>e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}var je=s(23085).Buffer;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(e,t,s,r){this._dataView=new DataView(e.buffer,e.byteOffset+t,s),this._littleEndian=r,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,e}_nextInt32(){const e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_skip(e){return this._offset+=e,this}_scan(e,t=0){const s=this._offset;let r=0;for(;this._dataView.getUint8(this._offset)!==t&&r<e;)r++,this._offset++;return r<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+s,r)}}new Uint8Array([0]);const $e=[171,75,84,88,32,50,48,187,13,10,26,10];function Ei(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):je.from(e).toString("utf8")}var We=s(23085).Buffer;let Xe,Ze,et;const tt={env:{emscripten_notify_memory_growth:function(e){et=new Uint8Array(Ze.exports.memory.buffer)}}};class zstddec_module_Q{init(){return Xe||(Xe="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+it).then((e=>e.arrayBuffer())).then((e=>WebAssembly.instantiate(e,tt))).then(this._init):WebAssembly.instantiate(We.from(it,"base64"),tt).then(this._init),Xe)}_init(e){Ze=e.instance,tt.env.emscripten_notify_memory_growth(0)}decode(e,t=0){if(!Ze)throw new Error("ZSTDDecoder: Await .init() before decoding.");const s=e.byteLength,r=Ze.exports.malloc(s);et.set(e,r),t=t||Number(Ze.exports.ZSTD_findDecompressedSize(r,s));const o=Ze.exports.malloc(t),A=Ze.exports.ZSTD_decompress(o,t,r,s),l=et.slice(o,o+A);return Ze.exports.free(r),Ze.exports.free(o),l}}const it="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";var st=s(25108);const nt=new WeakMap;let rt,at=0;class KTX2Loader extends o.aNw{constructor(e){super(e),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new WorkerPool,this.workerSourceURL="",this.workerConfig=null,"undefined"!=typeof MSC_TRANSCODER&&st.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(e){return this.transcoderPath=e,this}setWorkerLimit(e){return this.workerPool.setWorkerLimit(e),this}async detectSupportAsync(e){return this.workerConfig={astcSupported:await e.hasFeatureAsync("texture-compression-astc"),etc1Supported:await e.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await e.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await e.hasFeatureAsync("texture-compression-bc"),bptcSupported:await e.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await e.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(e){return!0===e.isWebGPURenderer?this.workerConfig={astcSupported:e.hasFeature("texture-compression-astc"),etc1Supported:e.hasFeature("texture-compression-etc1"),etc2Supported:e.hasFeature("texture-compression-etc2"),dxtSupported:e.hasFeature("texture-compression-bc"),bptcSupported:e.hasFeature("texture-compression-bptc"),pvrtcSupported:e.hasFeature("texture-compression-pvrtc")}:(this.workerConfig={astcSupported:e.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:e.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:e.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:e.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:e.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:e.extensions.has("WEBGL_compressed_texture_pvrtc")||e.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this.workerConfig.etc1Supported=!1),this}init(){if(!this.transcoderPending){const e=new o.hH6(this.manager);e.setPath(this.transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new o.hH6(this.manager);s.setPath(this.transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const r=s.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([t,r]).then((([e,t])=>{const s=KTX2Loader.BasisWorker.toString(),r=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([r])),this.transcoderBinary=t,this.workerPool.setWorkerCreator((()=>{const e=new Worker(this.workerSourceURL),t=this.transcoderBinary.slice(0);return e.postMessage({type:"init",config:this.workerConfig,transcoderBinary:t},[t]),e}))})),at>0&&st.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),at++}return this.transcoderPending}load(e,t,s,r){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const A=new o.hH6(this.manager);A.setResponseType("arraybuffer"),A.setWithCredentials(this.withCredentials),A.load(e,(e=>{if(nt.has(e)){return nt.get(e).promise.then(t).catch(r)}this._createTexture(e).then((e=>t?t(e):null)).catch(r)}),s,r)}_createTextureFrom(e,t){const{faces:s,width:r,height:A,format:l,type:h,error:c,dfdFlags:d}=e;if("error"===h)return Promise.reject(c);let g;if(6===t.faceCount)g=new o.qVC(s,l,o.ywz);else{const e=s[0].mipmaps;g=t.layerCount>1?new o.Z_g(e,r,A,t.layerCount,l,o.ywz):new o.EB7(e,r,A,l,o.ywz)}return g.minFilter=1===s[0].mipmaps.length?o.wem:o.D1R,g.magFilter=o.wem,g.generateMipmaps=!1,g.needsUpdate=!0,g.colorSpace=parseColorSpace(t),g.premultiplyAlpha=!!(1&d),g}async _createTexture(e,t={}){const s=function Pi(e){const t=new Uint8Array(e.buffer,e.byteOffset,$e.length);if(t[0]!==$e[0]||t[1]!==$e[1]||t[2]!==$e[2]||t[3]!==$e[3]||t[4]!==$e[4]||t[5]!==$e[5]||t[6]!==$e[6]||t[7]!==$e[7]||t[8]!==$e[8]||t[9]!==$e[9]||t[10]!==$e[10]||t[11]!==$e[11])throw new Error("Missing KTX 2.0 identifier.");const s=new Si,r=17*Uint32Array.BYTES_PER_ELEMENT,o=new Ii(e,$e.length,r,!0);s.vkFormat=o._nextUint32(),s.typeSize=o._nextUint32(),s.pixelWidth=o._nextUint32(),s.pixelHeight=o._nextUint32(),s.pixelDepth=o._nextUint32(),s.layerCount=o._nextUint32(),s.faceCount=o._nextUint32();const A=o._nextUint32();s.supercompressionScheme=o._nextUint32();const l=o._nextUint32(),h=o._nextUint32(),c=o._nextUint32(),d=o._nextUint32(),g=o._nextUint64(),p=o._nextUint64(),m=new Ii(e,$e.length+r,3*A*8,!0);for(let t=0;t<A;t++)s.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+m._nextUint64(),m._nextUint64()),uncompressedByteLength:m._nextUint64()});const f=new Ii(e,l,h,!0),I={vendorId:f._skip(4)._nextUint16(),descriptorType:f._nextUint16(),versionNumber:f._nextUint16(),descriptorBlockSize:f._nextUint16(),colorModel:f._nextUint8(),colorPrimaries:f._nextUint8(),transferFunction:f._nextUint8(),flags:f._nextUint8(),texelBlockDimension:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],bytesPlane:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],samples:[]},E=(I.descriptorBlockSize/4-6)/4;for(let e=0;e<E;e++){const t={bitOffset:f._nextUint16(),bitLength:f._nextUint8(),channelType:f._nextUint8(),samplePosition:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&t.channelType?(t.sampleLower=f._nextInt32(),t.sampleUpper=f._nextInt32()):(t.sampleLower=f._nextUint32(),t.sampleUpper=f._nextUint32()),I.samples[e]=t}s.dataFormatDescriptor.length=0,s.dataFormatDescriptor.push(I);const C=new Ii(e,c,d,!0);for(;C._offset<d;){const e=C._nextUint32(),t=C._scan(e),r=Ei(t),o=C._scan(e-t.byteLength);s.keyValue[r]=r.match(/^ktx/i)?Ei(o):o,C._offset%4&&C._skip(4-C._offset%4)}if(p<=0)return s;const B=new Ii(e,g,p,!0),y=B._nextUint16(),Q=B._nextUint16(),x=B._nextUint32(),b=B._nextUint32(),S=B._nextUint32(),T=B._nextUint32(),F=[];for(let e=0;e<A;e++)F.push({imageFlags:B._nextUint32(),rgbSliceByteOffset:B._nextUint32(),rgbSliceByteLength:B._nextUint32(),alphaSliceByteOffset:B._nextUint32(),alphaSliceByteLength:B._nextUint32()});const _=g+B._offset,U=_+x,G=U+b,O=G+S,q=new Uint8Array(e.buffer,e.byteOffset+_,x),K=new Uint8Array(e.buffer,e.byteOffset+U,b),J=new Uint8Array(e.buffer,e.byteOffset+G,S),Y=new Uint8Array(e.buffer,e.byteOffset+O,T);return s.globalData={endpointCount:y,selectorCount:Q,imageDescs:F,endpointsData:q,selectorsData:K,tablesData:J,extendedData:Y},s}(new Uint8Array(e));if(0!==s.vkFormat)return async function createRawTexture(e){const{vkFormat:t}=e;if(void 0===At[t])throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let s;2===e.supercompressionScheme&&(rt||(rt=new Promise((async e=>{const t=new zstddec_module_Q;await t.init(),e(t)}))),s=await rt);const r=[];for(let A=0;A<e.levels.length;A++){const l=Math.max(1,e.pixelWidth>>A),h=Math.max(1,e.pixelHeight>>A),c=e.pixelDepth?Math.max(1,e.pixelDepth>>A):0,d=e.levels[A];let g,p;if(0===e.supercompressionScheme)g=d.levelData;else{if(2!==e.supercompressionScheme)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");g=s.decode(d.levelData,d.uncompressedByteLength)}p=lt[t]===o.VzW?new Float32Array(g.buffer,g.byteOffset,g.byteLength/Float32Array.BYTES_PER_ELEMENT):lt[t]===o.cLu?new Uint16Array(g.buffer,g.byteOffset,g.byteLength/Uint16Array.BYTES_PER_ELEMENT):g,r.push({data:p,width:l,height:h,depth:c})}let A;if(ot.has(At[t]))A=0===e.pixelDepth?new o.IEO(r[0].data,e.pixelWidth,e.pixelHeight):new o.JUT(r[0].data,e.pixelWidth,e.pixelHeight,e.pixelDepth);else{if(e.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");A=new o.EB7(r,e.pixelWidth,e.pixelHeight)}return A.mipmaps=r,A.type=lt[t],A.format=At[t],A.colorSpace=parseColorSpace(e),A.needsUpdate=!0,Promise.resolve(A)}(s);const r=t,A=this.init().then((()=>this.workerPool.postMessage({type:"transcode",buffer:e,taskConfig:r},[e]))).then((e=>this._createTextureFrom(e.data,s)));return nt.set(e,{promise:A}),A}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),at--,this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1},KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},KTX2Loader.EngineFormat={RGBAFormat:o.wk1,RGBA_ASTC_4x4_Format:o.ptH,RGBA_BPTC_Format:o.bsb,RGBA_ETC2_EAC_Format:o.ekQ,RGBA_PVRTC_4BPPV1_Format:o.eaV,RGBA_S3TC_DXT5_Format:o.ILR,RGB_ETC1_Format:o.fto,RGB_ETC2_Format:o.l0P,RGB_PVRTC_4BPPV1_Format:o._AM,RGB_S3TC_DXT1_Format:o.wuA},KTX2Loader.BasisWorker=function(){let e,t,s;const r=_EngineFormat,o=_TranscoderFormat,A=_BasisFormat;self.addEventListener("message",(function(l){const d=l.data;switch(d.type){case"init":e=d.config,function init(e){t=new Promise((t=>{s={wasmBinary:e,onRuntimeInitialized:t},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&st.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}))}(d.transcoderBinary);break;case"transcode":t.then((()=>{try{const{faces:t,buffers:l,width:g,height:p,hasAlpha:m,format:f,dfdFlags:I}=function transcode(t){const l=new s.KTX2File(new Uint8Array(t));function cleanup(){l.close(),l.delete()}if(!l.isValid())throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file");const d=l.isUASTC()?A.UASTC_4x4:A.ETC1S,g=l.getWidth(),p=l.getHeight(),m=l.getLayers()||1,f=l.getLevels(),I=l.getFaces(),E=l.getHasAlpha(),C=l.getDFDFlags(),{transcoderFormat:B,engineFormat:y}=function getTranscoderFormat(t,s,l,d){let g,p;const m=t===A.ETC1S?h:c;for(let r=0;r<m.length;r++){const o=m[r];if(e[o.if]&&(o.basisFormat.includes(t)&&!(d&&o.transcoderFormat.length<2)&&(!o.needsPowerOfTwo||isPowerOfTwo(s)&&isPowerOfTwo(l))))return g=o.transcoderFormat[d?1:0],p=o.engineFormat[d?1:0],{transcoderFormat:g,engineFormat:p}}return st.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."),g=o.RGBA32,p=r.RGBAFormat,{transcoderFormat:g,engineFormat:p}}(d,g,p,E);if(!g||!p||!f)throw cleanup(),new Error("THREE.KTX2Loader:\tInvalid texture");if(!l.startTranscoding())throw cleanup(),new Error("THREE.KTX2Loader: .startTranscoding failed");const Q=[],x=[];for(let e=0;e<I;e++){const t=[];for(let s=0;s<f;s++){const r=[];let o,A;for(let t=0;t<m;t++){const h=l.getImageLevelInfo(s,t,e);0!==e||0!==s||0!==t||h.origWidth%4==0&&h.origHeight%4==0||st.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),f>1?(o=h.origWidth,A=h.origHeight):(o=h.width,A=h.height);const c=new Uint8Array(l.getImageTranscodedSizeInBytes(s,t,0,B));if(!l.transcodeImage(c,s,t,e,B,0,-1,-1))throw cleanup(),new Error("THREE.KTX2Loader: .transcodeImage failed.");r.push(c)}const h=concat(r);t.push({data:h,width:o,height:A}),x.push(h.buffer)}Q.push({mipmaps:t,width:g,height:p,format:y})}return cleanup(),{faces:Q,buffers:x,width:g,height:p,hasAlpha:E,format:y,dfdFlags:C}}(d.buffer);self.postMessage({type:"transcode",id:d.id,faces:t,width:g,height:p,hasAlpha:m,format:f,dfdFlags:I},l)}catch(e){st.error(e),self.postMessage({type:"error",id:d.id,error:e.message})}}))}}));const l=[{if:"astcSupported",basisFormat:[A.UASTC_4x4],transcoderFormat:[o.ASTC_4x4,o.ASTC_4x4],engineFormat:[r.RGBA_ASTC_4x4_Format,r.RGBA_ASTC_4x4_Format],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC7_M5,o.BC7_M5],engineFormat:[r.RGBA_BPTC_Format,r.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.BC1,o.BC3],engineFormat:[r.RGB_S3TC_DXT1_Format,r.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1,o.ETC2],engineFormat:[r.RGB_ETC2_Format,r.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.ETC1],engineFormat:[r.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[A.ETC1S,A.UASTC_4x4],transcoderFormat:[o.PVRTC1_4_RGB,o.PVRTC1_4_RGBA],engineFormat:[r.RGB_PVRTC_4BPPV1_Format,r.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0}],h=l.sort((function(e,t){return e.priorityETC1S-t.priorityETC1S})),c=l.sort((function(e,t){return e.priorityUASTC-t.priorityUASTC}));function isPowerOfTwo(e){return e<=2||0==(e&e-1)&&0!==e}function concat(e){if(1===e.length)return e[0];let t=0;for(let s=0;s<e.length;s++){t+=e[s].byteLength}const s=new Uint8Array(t);let r=0;for(let t=0;t<e.length;t++){const o=e[t];s.set(o,r),r+=o.byteLength}return s}};const ot=new Set([o.wk1,o.av9,o.hEm]),At={109:o.wk1,97:o.wk1,37:o.wk1,43:o.wk1,103:o.av9,83:o.av9,16:o.av9,22:o.av9,100:o.hEm,76:o.hEm,15:o.hEm,9:o.hEm,166:o.Djp,165:o.Djp},lt={109:o.VzW,97:o.cLu,37:o.ywz,43:o.ywz,103:o.VzW,83:o.cLu,16:o.ywz,22:o.ywz,100:o.VzW,76:o.cLu,15:o.ywz,9:o.ywz,166:o.ywz,165:o.ywz};function parseColorSpace(e){const t=e.dataFormatDescriptor[0];return 1===t.colorPrimaries?2===t.transferFunction?o.KI_:o.GUF:10===t.colorPrimaries?2===t.transferFunction?o.ntt:o.AmZ:(0===t.colorPrimaries||st.warn(`THREE.KTX2Loader: Unsupported color primaries, "${t.colorPrimaries}"`),o.aCh)}var ht,ct;const ut=Symbol("retainerCount"),dt=Symbol("recentlyUsed"),gt=Symbol("evict"),pt=Symbol("evictionThreshold"),mt=Symbol("cache");class CacheEvictionPolicy{constructor(e,t=5){this[ht]=new Map,this[ct]=[],this[mt]=e,this[pt]=t}set evictionThreshold(e){this[pt]=e,this[gt]()}get evictionThreshold(){return this[pt]}get cache(){return this[mt]}retainerCount(e){return this[ut].get(e)||0}reset(){this[ut].clear(),this[dt]=[]}retain(e){this[ut].has(e)||this[ut].set(e,0),this[ut].set(e,this[ut].get(e)+1);const t=this[dt].indexOf(e);-1!==t&&this[dt].splice(t,1),this[dt].unshift(e),this[gt]()}release(e){this[ut].has(e)&&this[ut].set(e,Math.max(this[ut].get(e)-1,0)),this[gt]()}[(ht=ut,ct=dt,gt)](){if(!(this[dt].length<this[pt]))for(let e=this[dt].length-1;e>=this[pt];--e){const t=this[dt][e];0===this[ut].get(t)&&(this[mt].delete(t),this[dt].splice(e,1))}}}const mappingsArrayToTable=e=>{const t=new Map;for(const s of e.mappings)for(const e of s.variants)t.set(e,{material:null,gltfMaterialIndex:s.material});return t};class GLTFMaterialsVariantsExtension{constructor(e){this.parser=e,this.name="KHR_materials_variants"}afterRoot(e){const t=this.parser,s=t.json;if(void 0===s.extensions||void 0===s.extensions[this.name])return null;const r=(e=>{const t=[],s=new Set;for(const r of e){let e=r,o=0;for(;s.has(e);)e=r+"."+ ++o;s.add(e),t.push(e)}return t})((s.extensions[this.name].variants||[]).map((e=>e.name)));for(const r of e.scenes)r.traverse((e=>{const r=e;if(!r.material)return;const o=t.associations.get(r);if(null==o||null==o.meshes||null==o.primitives)return;const A=s.meshes[o.meshes].primitives[o.primitives].extensions;A&&A[this.name]&&(r.userData.variantMaterials=mappingsArrayToTable(A[this.name]))}));return e.userData.variants=r,Promise.resolve()}}var ft,It,Et=s(25108);o.xEZ.DEFAULT_ANISOTROPY=4;const Ct=new Map,Bt=new Map;let yt;const wt=new DRACOLoader;let vt;const Qt=new KTX2Loader;let xt,bt;const St=Symbol("loader"),Mt=Symbol("evictionPolicy"),Tt=Symbol("GLTFInstance");class CachingGLTFLoader extends o.pBf{constructor(e){super(),this[It]=(new GLTFLoader).register((e=>new GLTFMaterialsVariantsExtension(e))),this[Tt]=e,this[St].setDRACOLoader(wt),this[St].setKTX2Loader(Qt)}static setDRACODecoderLocation(e){yt=e,wt.setDecoderPath(e)}static getDRACODecoderLocation(){return yt}static setKTX2TranscoderLocation(e){vt=e,Qt.setTranscoderPath(e)}static getKTX2TranscoderLocation(){return vt}static setMeshoptDecoderLocation(e){var t;xt!==e&&(xt=e,bt=(t=e,new Promise(((e,s)=>{const r=document.createElement("script");document.body.appendChild(r),r.onload=e,r.onerror=s,r.async=!0,r.src=t}))).then((()=>MeshoptDecoder.ready)).then((()=>MeshoptDecoder)))}static getMeshoptDecoderLocation(){return xt}static initializeKTX2Loader(e){Qt.detectSupport(e)}static get cache(){return Ct}static clearCache(){Ct.forEach(((e,t)=>{this.delete(t)})),this[Mt].reset()}static has(e){return Ct.has(e)}static async delete(e){if(!this.has(e))return;const t=Ct.get(e);Bt.delete(e),Ct.delete(e);(await t).dispose()}static hasFinishedLoading(e){return!!Bt.get(e)}get[(ft=Mt,It=St,Mt)](){return this.constructor[Mt]}async preload(e,t,s=(()=>{})){if(this[St].setWithCredentials(CachingGLTFLoader.withCredentials),this.dispatchEvent({type:"preload",element:t,src:e}),!Ct.has(e)){null!=bt&&this[St].setMeshoptDecoder(await bt);const t=((e,t,s=(()=>{}))=>{const onProgress=e=>{const t=e.loaded/e.total;s(Math.max(0,Math.min(1,isFinite(t)?t:1)))};return new Promise(((s,r)=>{t.load(e,s,onProgress,r)}))})(e,this[St],(e=>{s(.8*e)})),r=this[Tt],o=t.then((e=>r.prepare(e))).then((e=>(s(.9),new r(e)))).catch((e=>(Et.error(e),new r)));Ct.set(e,o)}await Ct.get(e),Bt.set(e,!0),s&&s(1)}async load(e,t,s=(()=>{})){await this.preload(e,t,s);const r=await Ct.get(e),o=await r.clone();return this[Mt].retain(e),o.dispose=()=>{this[Mt].release(e)},o}}CachingGLTFLoader[ft]=new CacheEvictionPolicy(CachingGLTFLoader);class CSS2DObject extends o.Tme{constructor(e=document.createElement("div")){super(),this.isCSS2DObject=!0,this.element=e,this.element.style.position="absolute",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.center=new o.FM8(.5,.5),this.addEventListener("removed",(function(){this.traverse((function(e){e.element instanceof Element&&null!==e.element.parentNode&&e.element.parentNode.removeChild(e.element)}))}))}copy(e,t){return super.copy(e,t),this.element=e.element.cloneNode(!0),this.center=e.center,this}}const Rt=new o.Pa4,Dt=new o.yGw,Lt=new o.yGw,Ft=new o.Pa4,kt=new o.Pa4;class CSS2DRenderer{constructor(e={}){const t=this;let s,r,o,A;const l={objects:new WeakMap},h=void 0!==e.element?e.element:document.createElement("div");function renderObject(e,s,r){if(e.isCSS2DObject){Rt.setFromMatrixPosition(e.matrixWorld),Rt.applyMatrix4(Lt);const c=!0===e.visible&&Rt.z>=-1&&Rt.z<=1&&!0===e.layers.test(r.layers);if(e.element.style.display=!0===c?"":"none",!0===c){e.onBeforeRender(t,s,r);const l=e.element;l.style.transform="translate("+-100*e.center.x+"%,"+-100*e.center.y+"%)translate("+(Rt.x*o+o)+"px,"+(-Rt.y*A+A)+"px)",l.parentNode!==h&&h.appendChild(l),e.onAfterRender(t,s,r)}const d={distanceToCameraSquared:getDistanceToSquared(r,e)};l.objects.set(e,d)}for(let t=0,o=e.children.length;t<o;t++)renderObject(e.children[t],s,r)}function getDistanceToSquared(e,t){return Ft.setFromMatrixPosition(e.matrixWorld),kt.setFromMatrixPosition(t.matrixWorld),Ft.distanceToSquared(kt)}h.style.overflow="hidden",this.domElement=h,this.getSize=function(){return{width:s,height:r}},this.render=function(e,t){!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),null===t.parent&&!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),Dt.copy(t.matrixWorldInverse),Lt.multiplyMatrices(t.projectionMatrix,Dt),renderObject(e,e,t),function zOrder(e){const t=function filterAndFlatten(e){const t=[];return e.traverse((function(e){e.isCSS2DObject&&t.push(e)})),t}(e).sort((function(e,t){if(e.renderOrder!==t.renderOrder)return t.renderOrder-e.renderOrder;return l.objects.get(e).distanceToCameraSquared-l.objects.get(t).distanceToCameraSquared})),s=t.length;for(let e=0,r=t.length;e<r;e++)t[e].element.style.zIndex=s-e}(e)},this.setSize=function(e,t){s=e,r=t,o=s/2,A=r/2,h.style.width=e+"px",h.style.height=t+"px"}}}s(25108);function reduceVertices(e,t,s){let r=s;const A=new o.Pa4;return e.updateWorldMatrix(!0,!0),e.traverseVisible((e=>{const{geometry:s}=e;if(void 0!==s){const{position:o}=s.attributes;if(void 0!==o)for(let s=0,l=o.count;s<l;s++)e.isMesh?e.getVertexPosition(s,A):A.fromBufferAttribute(o,s),e.isSkinnedMesh||A.applyMatrix4(e.matrixWorld),r=t(r,A)}})),r}let _t,Ut,Gt,Nt;function decompress(e,t=1/0,s=null){Ut||(Ut=new o._12(2,2,1,1)),Gt||(Gt=new o.jyz({uniforms:{blitTexture:new o.xWb(e)},vertexShader:"\n\t\t\tvarying vec2 vUv;\n\t\t\tvoid main(){\n\t\t\t\tvUv = uv;\n\t\t\t\tgl_Position = vec4(position.xy * 1.0,0.,.999999);\n\t\t\t}",fragmentShader:"\n\t\t\tuniform sampler2D blitTexture; \n\t\t\tvarying vec2 vUv;\n\n\t\t\tvoid main(){ \n\t\t\t\tgl_FragColor = vec4(vUv.xy, 0, 1);\n\t\t\t\t\n\t\t\t\t#ifdef IS_SRGB\n\t\t\t\tgl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) );\n\t\t\t\t#else\n\t\t\t\tgl_FragColor = texture2D( blitTexture, vUv);\n\t\t\t\t#endif\n\t\t\t}"})),Gt.uniforms.blitTexture.value=e,Gt.defines.IS_SRGB=e.colorSpace==o.KI_,Gt.needsUpdate=!0,Nt||(Nt=new o.Kj0(Ut,Gt),Nt.frustumCulled=!1);const r=new o.cPb,A=new o.xsS;A.add(Nt),null===s&&(s=_t=new o.CP7({antialias:!1}));const l=Math.min(e.image.width,t),h=Math.min(e.image.height,t);s.setSize(l,h),s.clear(),s.render(A,r);const c=document.createElement("canvas"),d=c.getContext("2d");c.width=l,c.height=h,d.drawImage(s.domElement,0,0,l,h);const g=new o.ROQ(c);return g.minFilter=e.minFilter,g.magFilter=e.magFilter,g.wrapS=e.wrapS,g.wrapT=e.wrapT,g.name=e.name,_t&&(_t.forceContextLoss(),_t.dispose(),_t=null),g}var Pt=s(25108);const Ot={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class GLTFExporter{constructor(){this.pluginCallbacks=[],this.register((function(e){return new GLTFLightExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsUnlitExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsTransmissionExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsVolumeExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsIorExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsSpecularExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsClearcoatExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsIridescenceExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsSheenExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsAnisotropyExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsEmissiveStrengthExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMaterialsBumpExtension(e)})),this.register((function(e){return new GLTFExporter_GLTFMeshGpuInstancing(e)}))}register(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,s,r){const o=new GLTFWriter,A=[];for(let e=0,t=this.pluginCallbacks.length;e<t;e++)A.push(this.pluginCallbacks[e](o));o.setPlugins(A),o.write(e,t,r).catch(s)}parseAsync(e,t){const s=this;return new Promise((function(r,o){s.parse(e,r,o,t)}))}}const Ht=0,Vt=1,qt=2,Kt=3,Jt=4,zt=5120,Yt=5121,jt=5122,$t=5123,Wt=5124,Xt=5125,Zt=5126,ei=34962,ti=34963,ii=9728,si=9729,ni=9984,ri=9985,ai=9986,oi=9987,Ai=33071,li=33648,hi=10497,ci={};ci[o.TyD]=ii,ci[o.YLQ]=ni,ci[o.aH4]=ai,ci[o.wem]=si,ci[o.qyh]=ri,ci[o.D1R]=oi,ci[o.uWy]=Ai,ci[o.rpg]=hi,ci[o.OoA]=li;const ui={scale:"scale",position:"translation",quaternion:"rotation",morphTargetInfluences:"weights"},di=new o.Ilk;function equalArray(e,t){return e.length===t.length&&e.every((function(e,s){return e===t[s]}))}function getPaddedBufferSize(e){return 4*Math.ceil(e/4)}function getPaddedArrayBuffer(e,t=0){const s=getPaddedBufferSize(e.byteLength);if(s!==e.byteLength){const r=new Uint8Array(s);if(r.set(new Uint8Array(e)),0!==t)for(let o=e.byteLength;o<s;o++)r[o]=t;return r.buffer}return e}function getCanvas(){return"undefined"==typeof document&&"undefined"!=typeof OffscreenCanvas?new OffscreenCanvas(1,1):document.createElement("canvas")}function getToBlobPromise(e,t){if(void 0!==e.toBlob)return new Promise((s=>e.toBlob(s,t)));let s;return"image/jpeg"===t?s=.92:"image/webp"===t&&(s=.8),e.convertToBlob({type:t,quality:s})}class GLTFWriter{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,t,s={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},s),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const r=this,o=r.buffers,A=r.json;s=r.options;const l=r.extensionsUsed,h=r.extensionsRequired,c=new Blob(o,{type:"application/octet-stream"}),d=Object.keys(l),g=Object.keys(h);if(d.length>0&&(A.extensionsUsed=d),g.length>0&&(A.extensionsRequired=g),A.buffers&&A.buffers.length>0&&(A.buffers[0].byteLength=c.size),!0===s.binary){const e=new FileReader;e.readAsArrayBuffer(c),e.onloadend=function(){const s=getPaddedArrayBuffer(e.result),r=new DataView(new ArrayBuffer(8));r.setUint32(0,s.byteLength,!0),r.setUint32(4,5130562,!0);const o=getPaddedArrayBuffer(function stringToArrayBuffer(e){return(new TextEncoder).encode(e).buffer}(JSON.stringify(A)),32),l=new DataView(new ArrayBuffer(8));l.setUint32(0,o.byteLength,!0),l.setUint32(4,1313821514,!0);const h=new ArrayBuffer(12),c=new DataView(h);c.setUint32(0,1179937895,!0),c.setUint32(4,2,!0);const d=12+l.byteLength+o.byteLength+r.byteLength+s.byteLength;c.setUint32(8,d,!0);const g=new Blob([h,l,o,r,s],{type:"application/octet-stream"}),p=new FileReader;p.readAsArrayBuffer(g),p.onloadend=function(){t(p.result)}}}else if(A.buffers&&A.buffers.length>0){const e=new FileReader;e.readAsDataURL(c),e.onloadend=function(){const s=e.result;A.buffers[0].uri=s,t(A)}}else t(A)}serializeUserData(e,t){if(0===Object.keys(e.userData).length)return;const s=this.options,r=this.extensionsUsed;try{const o=JSON.parse(JSON.stringify(e.userData));if(s.includeCustomExtensions&&o.gltfExtensions){void 0===t.extensions&&(t.extensions={});for(const e in o.gltfExtensions)t.extensions[e]=o.gltfExtensions[e],r[e]=!0;delete o.gltfExtensions}Object.keys(o).length>0&&(t.extras=o)}catch(t){Pt.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+t.message)}}getUID(e,t=!1){if(!1===this.uids.has(e)){const t=new Map;t.set(!0,this.uid++),t.set(!1,this.uid++),this.uids.set(e,t)}return this.uids.get(e).get(t)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const t=new o.Pa4;for(let s=0,r=e.count;s<r;s++)if(Math.abs(t.fromBufferAttribute(e,s).length()-1)>5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const t=this.cache;if(t.attributesNormalized.has(e))return t.attributesNormalized.get(e);const s=e.clone(),r=new o.Pa4;for(let e=0,t=s.count;e<t;e++)r.fromBufferAttribute(s,e),0===r.x&&0===r.y&&0===r.z?r.setX(1):r.normalize(),s.setXYZ(e,r.x,r.y,r.z);return t.attributesNormalized.set(e,s),s}applyTextureTransform(e,t){let s=!1;const r={};0===t.offset.x&&0===t.offset.y||(r.offset=t.offset.toArray(),s=!0),0!==t.rotation&&(r.rotation=t.rotation,s=!0),1===t.repeat.x&&1===t.repeat.y||(r.scale=t.repeat.toArray(),s=!0),s&&(e.extensions=e.extensions||{},e.extensions.KHR_texture_transform=r,this.extensionsUsed.KHR_texture_transform=!0)}buildMetalRoughTexture(e,t){if(e===t)return e;function getEncodingConversion(e){return e.colorSpace===o.KI_?function SRGBToLinear(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}:function LinearToLinear(e){return e}}Pt.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."),e instanceof o.EB7&&(e=decompress(e)),t instanceof o.EB7&&(t=decompress(t));const s=e?e.image:null,r=t?t.image:null,A=Math.max(s?s.width:0,r?r.width:0),l=Math.max(s?s.height:0,r?r.height:0),h=getCanvas();h.width=A,h.height=l;const c=h.getContext("2d");c.fillStyle="#00ffff",c.fillRect(0,0,A,l);const d=c.getImageData(0,0,A,l);if(s){c.drawImage(s,0,0,A,l);const t=getEncodingConversion(e),r=c.getImageData(0,0,A,l).data;for(let e=2;e<r.length;e+=4)d.data[e]=256*t(r[e]/256)}if(r){c.drawImage(r,0,0,A,l);const e=getEncodingConversion(t),s=c.getImageData(0,0,A,l).data;for(let t=1;t<s.length;t+=4)d.data[t]=256*e(s[t]/256)}c.putImageData(d,0,0);const g=(e||t).clone();return g.source=new o.Hw6(h),g.colorSpace=o.aCh,g.channel=(e||t).channel,e&&t&&e.channel!==t.channel&&Pt.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."),g}processBuffer(e){const t=this.json,s=this.buffers;return t.buffers||(t.buffers=[{byteLength:0}]),s.push(e),0}processBufferView(e,t,s,r,A){const l=this.json;let h;switch(l.bufferViews||(l.bufferViews=[]),t){case zt:case Yt:h=1;break;case jt:case $t:h=2;break;default:h=4}let c=e.itemSize*h;A===ei&&(c=4*Math.ceil(c/4));const d=getPaddedBufferSize(r*c),g=new DataView(new ArrayBuffer(d));let p=0;for(let A=s;A<s+r;A++){for(let s=0;s<e.itemSize;s++){let r;e.itemSize>4?r=e.array[A*e.itemSize+s]:(0===s?r=e.getX(A):1===s?r=e.getY(A):2===s?r=e.getZ(A):3===s&&(r=e.getW(A)),!0===e.normalized&&(r=o.M8C.normalize(r,e.array))),t===Zt?g.setFloat32(p,r,!0):t===Wt?g.setInt32(p,r,!0):t===Xt?g.setUint32(p,r,!0):t===jt?g.setInt16(p,r,!0):t===$t?g.setUint16(p,r,!0):t===zt?g.setInt8(p,r):t===Yt&&g.setUint8(p,r),p+=h}p%c!=0&&(p+=c-p%c)}const m={buffer:this.processBuffer(g.buffer),byteOffset:this.byteOffset,byteLength:d};void 0!==A&&(m.target=A),A===ei&&(m.byteStride=c),this.byteOffset+=d,l.bufferViews.push(m);return{id:l.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const t=this,s=t.json;return s.bufferViews||(s.bufferViews=[]),new Promise((function(r){const o=new FileReader;o.readAsArrayBuffer(e),o.onloadend=function(){const e=getPaddedArrayBuffer(o.result),A={buffer:t.processBuffer(e),byteOffset:t.byteOffset,byteLength:e.byteLength};t.byteOffset+=e.byteLength,r(s.bufferViews.push(A)-1)}}))}processAccessor(e,t,s,r){const A=this.json;let l;if(e.array.constructor===Float32Array)l=Zt;else if(e.array.constructor===Int32Array)l=Wt;else if(e.array.constructor===Uint32Array)l=Xt;else if(e.array.constructor===Int16Array)l=jt;else if(e.array.constructor===Uint16Array)l=$t;else if(e.array.constructor===Int8Array)l=zt;else{if(e.array.constructor!==Uint8Array)throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+e.array.constructor.name);l=Yt}if(void 0===s&&(s=0),void 0!==r&&r!==1/0||(r=e.count),0===r)return null;const h=function getMinMax(e,t,s){const r={min:new Array(e.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(e.itemSize).fill(Number.NEGATIVE_INFINITY)};for(let A=t;A<t+s;A++)for(let t=0;t<e.itemSize;t++){let s;e.itemSize>4?s=e.array[A*e.itemSize+t]:(0===t?s=e.getX(A):1===t?s=e.getY(A):2===t?s=e.getZ(A):3===t&&(s=e.getW(A)),!0===e.normalized&&(s=o.M8C.normalize(s,e.array))),r.min[t]=Math.min(r.min[t],s),r.max[t]=Math.max(r.max[t],s)}return r}(e,s,r);let c;void 0!==t&&(c=e===t.index?ti:ei);const d=this.processBufferView(e,l,s,r,c),g={bufferView:d.id,byteOffset:d.byteOffset,componentType:l,count:r,max:h.max,min:h.min,type:{1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"}[e.itemSize]};return!0===e.normalized&&(g.normalized=!0),A.accessors||(A.accessors=[]),A.accessors.push(g)-1}processImage(e,t,s,r="image/png"){if(null!==e){const A=this,l=A.cache,h=A.json,c=A.options,d=A.pending;l.images.has(e)||l.images.set(e,{});const g=l.images.get(e),p=r+":flipY/"+s.toString();if(void 0!==g[p])return g[p];h.images||(h.images=[]);const m={mimeType:r},f=getCanvas();f.width=Math.min(e.width,c.maxTextureSize),f.height=Math.min(e.height,c.maxTextureSize);const I=f.getContext("2d");if(!0===s&&(I.translate(0,f.height),I.scale(1,-1)),void 0!==e.data){t!==o.wk1&&Pt.error("GLTFExporter: Only RGBAFormat is supported.",t),(e.width>c.maxTextureSize||e.height>c.maxTextureSize)&&Pt.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);const s=new Uint8ClampedArray(e.height*e.width*4);for(let t=0;t<s.length;t+=4)s[t+0]=e.data[t+0],s[t+1]=e.data[t+1],s[t+2]=e.data[t+2],s[t+3]=e.data[t+3];I.putImageData(new ImageData(s,e.width,e.height),0,0)}else{if(!("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas))throw new Error("THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement, ImageBitmap or OffscreenCanvas.");I.drawImage(e,0,0,f.width,f.height)}!0===c.binary?d.push(getToBlobPromise(f,r).then((e=>A.processBufferViewImage(e))).then((e=>{m.bufferView=e}))):void 0!==f.toDataURL?m.uri=f.toDataURL(r):d.push(getToBlobPromise(f,r).then((e=>(new FileReader).readAsDataURL(e))).then((e=>{m.uri=e})));const E=h.images.push(m)-1;return g[p]=E,E}throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){const t=this.json;t.samplers||(t.samplers=[]);const s={magFilter:ci[e.magFilter],minFilter:ci[e.minFilter],wrapS:ci[e.wrapS],wrapT:ci[e.wrapT]};return t.samplers.push(s)-1}processTexture(e){const t=this.options,s=this.cache,r=this.json;if(s.textures.has(e))return s.textures.get(e);r.textures||(r.textures=[]),e instanceof o.EB7&&(e=decompress(e,t.maxTextureSize));let A=e.userData.mimeType;"image/webp"===A&&(A="image/png");const l={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,A)};e.name&&(l.name=e.name),this._invokeAll((function(t){t.writeTexture&&t.writeTexture(e,l)}));const h=r.textures.push(l)-1;return s.textures.set(e,h),h}processMaterial(e){const t=this.cache,s=this.json;if(t.materials.has(e))return t.materials.get(e);if(e.isShaderMaterial)return Pt.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;s.materials||(s.materials=[]);const r={pbrMetallicRoughness:{}};!0!==e.isMeshStandardMaterial&&!0!==e.isMeshBasicMaterial&&Pt.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const A=e.color.toArray().concat([e.opacity]);if(equalArray(A,[1,1,1,1])||(r.pbrMetallicRoughness.baseColorFactor=A),e.isMeshStandardMaterial?(r.pbrMetallicRoughness.metallicFactor=e.metalness,r.pbrMetallicRoughness.roughnessFactor=e.roughness):(r.pbrMetallicRoughness.metallicFactor=.5,r.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const t=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),s={index:this.processTexture(t),channel:t.channel};this.applyTextureTransform(s,t),r.pbrMetallicRoughness.metallicRoughnessTexture=s}if(e.map){const t={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(t,e.map),r.pbrMetallicRoughness.baseColorTexture=t}if(e.emissive){const t=e.emissive;if(Math.max(t.r,t.g,t.b)>0&&(r.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const t={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(t,e.emissiveMap),r.emissiveTexture=t}}if(e.normalMap){const t={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&1!==e.normalScale.x&&(t.scale=e.normalScale.x),this.applyTextureTransform(t,e.normalMap),r.normalTexture=t}if(e.aoMap){const t={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};1!==e.aoMapIntensity&&(t.strength=e.aoMapIntensity),this.applyTextureTransform(t,e.aoMap),r.occlusionTexture=t}e.transparent?r.alphaMode="BLEND":e.alphaTest>0&&(r.alphaMode="MASK",r.alphaCutoff=e.alphaTest),e.side===o.ehD&&(r.doubleSided=!0),""!==e.name&&(r.name=e.name),this.serializeUserData(e,r),this._invokeAll((function(t){t.writeMaterial&&t.writeMaterial(e,r)}));const l=s.materials.push(r)-1;return t.materials.set(e,l),l}processMesh(e){const t=this.cache,s=this.json,r=[e.geometry.uuid];if(Array.isArray(e.material))for(let t=0,s=e.material.length;t<s;t++)r.push(e.material[t].uuid);else r.push(e.material.uuid);const A=r.join(":");if(t.meshes.has(A))return t.meshes.get(A);const l=e.geometry;let h;h=e.isLineSegments?Vt:e.isLineLoop?qt:e.isLine?Kt:e.isPoints?Ht:e.material.wireframe?Vt:Jt;const c={},d={},g=[],p=[],m={uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3",color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},f=l.getAttribute("normal");void 0===f||this.isNormalizedNormalAttribute(f)||(Pt.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),l.setAttribute("normal",this.createNormalizedNormalAttribute(f)));let I=null;for(let e in l.attributes){if("morph"===e.slice(0,5))continue;const s=l.attributes[e];e=m[e]||e.toUpperCase();if(/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(e)||(e="_"+e),t.attributes.has(this.getUID(s))){d[e]=t.attributes.get(this.getUID(s));continue}I=null;const r=s.array;"JOINTS_0"!==e||r instanceof Uint16Array||r instanceof Uint8Array||(Pt.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),I=new o.TlE(new Uint16Array(r),s.itemSize,s.normalized));const A=this.processAccessor(I||s,l);null!==A&&(e.startsWith("_")||this.detectMeshQuantization(e,s),d[e]=A,t.attributes.set(this.getUID(s),A))}if(void 0!==f&&l.setAttribute("normal",f),0===Object.keys(d).length)return null;if(void 0!==e.morphTargetInfluences&&e.morphTargetInfluences.length>0){const s=[],r=[],o={};if(void 0!==e.morphTargetDictionary)for(const t in e.morphTargetDictionary)o[e.morphTargetDictionary[t]]=t;for(let A=0;A<e.morphTargetInfluences.length;++A){const h={};let c=!1;for(const e in l.morphAttributes){if("position"!==e&&"normal"!==e){c||(Pt.warn("GLTFExporter: Only POSITION and NORMAL morph are supported."),c=!0);continue}const s=l.morphAttributes[e][A],r=e.toUpperCase(),o=l.attributes[e];if(t.attributes.has(this.getUID(s,!0))){h[r]=t.attributes.get(this.getUID(s,!0));continue}const d=s.clone();if(!l.morphTargetsRelative)for(let e=0,t=s.count;e<t;e++)for(let t=0;t<s.itemSize;t++)0===t&&d.setX(e,s.getX(e)-o.getX(e)),1===t&&d.setY(e,s.getY(e)-o.getY(e)),2===t&&d.setZ(e,s.getZ(e)-o.getZ(e)),3===t&&d.setW(e,s.getW(e)-o.getW(e));h[r]=this.processAccessor(d,l),t.attributes.set(this.getUID(o,!0),h[r])}p.push(h),s.push(e.morphTargetInfluences[A]),void 0!==e.morphTargetDictionary&&r.push(o[A])}c.weights=s,r.length>0&&(c.extras={},c.extras.targetNames=r)}const E=Array.isArray(e.material);if(E&&0===l.groups.length)return null;let C=!1;if(E&&null===l.index){const e=[];for(let t=0,s=l.attributes.position.count;t<s;t++)e[t]=t;l.setIndex(e),C=!0}const B=E?e.material:[e.material],y=E?l.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let e=0,s=y.length;e<s;e++){const s={mode:h,attributes:d};if(this.serializeUserData(l,s),p.length>0&&(s.targets=p),null!==l.index){let r=this.getUID(l.index);void 0===y[e].start&&void 0===y[e].count||(r+=":"+y[e].start+":"+y[e].count),t.attributes.has(r)?s.indices=t.attributes.get(r):(s.indices=this.processAccessor(l.index,l,y[e].start,y[e].count),t.attributes.set(r,s.indices)),null===s.indices&&delete s.indices}const r=this.processMaterial(B[y[e].materialIndex]);null!==r&&(s.material=r),g.push(s)}!0===C&&l.setIndex(null),c.primitives=g,s.meshes||(s.meshes=[]),this._invokeAll((function(t){t.writeMesh&&t.writeMesh(e,c)}));const Q=s.meshes.push(c)-1;return t.meshes.set(A,Q),Q}detectMeshQuantization(e,t){if(this.extensionsUsed.KHR_mesh_quantization)return;let s;switch(t.array.constructor){case Int8Array:s="byte";break;case Uint8Array:s="unsigned byte";break;case Int16Array:s="short";break;case Uint16Array:s="unsigned short";break;default:return}t.normalized&&(s+=" normalized");const r=e.split("_",1)[0];Ot[r]&&Ot[r].includes(s)&&(this.extensionsUsed.KHR_mesh_quantization=!0,this.extensionsRequired.KHR_mesh_quantization=!0)}processCamera(e){const t=this.json;t.cameras||(t.cameras=[]);const s=e.isOrthographicCamera,r={type:s?"orthographic":"perspective"};return s?r.orthographic={xmag:2*e.right,ymag:2*e.top,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:r.perspective={aspectRatio:e.aspect,yfov:o.M8C.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},""!==e.name&&(r.name=e.type),t.cameras.push(r)-1}processAnimation(e,t){const s=this.json,r=this.nodeMap;s.animations||(s.animations=[]);const A=(e=GLTFExporter.Utils.mergeMorphTargetTracks(e.clone(),t)).tracks,l=[],h=[];for(let e=0;e<A.length;++e){const s=A[e],c=o.iUV.parseTrackName(s.name);let d=o.iUV.findNode(t,c.nodeName);const g=ui[c.propertyName];if("bones"===c.objectName&&(d=!0===d.isSkinnedMesh?d.skeleton.getBoneByName(c.objectIndex):void 0),!d||!g)return Pt.warn('THREE.GLTFExporter: Could not export animation track "%s".',s.name),null;const p=1;let m,f=s.values.length/s.times.length;g===ui.morphTargetInfluences&&(f/=d.morphTargetInfluences.length),!0===s.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline?(m="CUBICSPLINE",f/=3):m=s.getInterpolation()===o.Syv?"STEP":"LINEAR",h.push({input:this.processAccessor(new o.TlE(s.times,p)),output:this.processAccessor(new o.TlE(s.values,f)),interpolation:m}),l.push({sampler:h.length-1,target:{node:r.get(d),path:g}})}return s.animations.push({name:e.name||"clip_"+s.animations.length,samplers:h,channels:l}),s.animations.length-1}processSkin(e){const t=this.json,s=this.nodeMap,r=t.nodes[s.get(e)],A=e.skeleton;if(void 0===A)return null;const l=e.skeleton.bones[0];if(void 0===l)return null;const h=[],c=new Float32Array(16*A.bones.length),d=new o.yGw;for(let t=0;t<A.bones.length;++t)h.push(s.get(A.bones[t])),d.copy(A.boneInverses[t]),d.multiply(e.bindMatrix).toArray(c,16*t);void 0===t.skins&&(t.skins=[]),t.skins.push({inverseBindMatrices:this.processAccessor(new o.TlE(c,16)),joints:h,skeleton:s.get(l)});return r.skin=t.skins.length-1}processNode(e){const t=this.json,s=this.options,r=this.nodeMap;t.nodes||(t.nodes=[]);const o={};if(s.trs){const t=e.quaternion.toArray(),s=e.position.toArray(),r=e.scale.toArray();equalArray(t,[0,0,0,1])||(o.rotation=t),equalArray(s,[0,0,0])||(o.translation=s),equalArray(r,[1,1,1])||(o.scale=r)}else e.matrixAutoUpdate&&e.updateMatrix(),!1===function isIdentityMatrix(e){return equalArray(e.elements,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}(e.matrix)&&(o.matrix=e.matrix.elements);if(""!==e.name&&(o.name=String(e.name)),this.serializeUserData(e,o),e.isMesh||e.isLine||e.isPoints){const t=this.processMesh(e);null!==t&&(o.mesh=t)}else e.isCamera&&(o.camera=this.processCamera(e));if(e.isSkinnedMesh&&this.skins.push(e),e.children.length>0){const t=[];for(let r=0,o=e.children.length;r<o;r++){const o=e.children[r];if(o.visible||!1===s.onlyVisible){const e=this.processNode(o);null!==e&&t.push(e)}}t.length>0&&(o.children=t)}this._invokeAll((function(t){t.writeNode&&t.writeNode(e,o)}));const A=t.nodes.push(o)-1;return r.set(e,A),A}processScene(e){const t=this.json,s=this.options;t.scenes||(t.scenes=[],t.scene=0);const r={};""!==e.name&&(r.name=e.name),t.scenes.push(r);const o=[];for(let t=0,r=e.children.length;t<r;t++){const r=e.children[t];if(r.visible||!1===s.onlyVisible){const e=this.processNode(r);null!==e&&o.push(e)}}o.length>0&&(r.nodes=o),this.serializeUserData(e,r)}processObjects(e){const t=new o.xsS;t.name="AuxScene";for(let s=0;s<e.length;s++)t.children.push(e[s]);this.processScene(t)}processInput(e){const t=this.options;e=e instanceof Array?e:[e],this._invokeAll((function(t){t.beforeParse&&t.beforeParse(e)}));const s=[];for(let t=0;t<e.length;t++)e[t]instanceof o.xsS?this.processScene(e[t]):s.push(e[t]);s.length>0&&this.processObjects(s);for(let e=0;e<this.skins.length;++e)this.processSkin(this.skins[e]);for(let s=0;s<t.animations.length;++s)this.processAnimation(t.animations[s],e[0]);this._invokeAll((function(t){t.afterParse&&t.afterParse(e)}))}_invokeAll(e){for(let t=0,s=this.plugins.length;t<s;t++)e(this.plugins[t])}}class GLTFLightExtension{constructor(e){this.writer=e,this.name="KHR_lights_punctual"}writeNode(e,t){if(!e.isLight)return;if(!e.isDirectionalLight&&!e.isPointLight&&!e.isSpotLight)return void Pt.warn("THREE.GLTFExporter: Only directional, point, and spot lights are supported.",e);const s=this.writer,r=s.json,o=s.extensionsUsed,A={};e.name&&(A.name=e.name),A.color=e.color.toArray(),A.intensity=e.intensity,e.isDirectionalLight?A.type="directional":e.isPointLight?(A.type="point",e.distance>0&&(A.range=e.distance)):e.isSpotLight&&(A.type="spot",e.distance>0&&(A.range=e.distance),A.spot={},A.spot.innerConeAngle=(1-e.penumbra)*e.angle,A.spot.outerConeAngle=e.angle),void 0!==e.decay&&2!==e.decay&&Pt.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),!e.target||e.target.parent===e&&0===e.target.position.x&&0===e.target.position.y&&-1===e.target.position.z||Pt.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),o[this.name]||(r.extensions=r.extensions||{},r.extensions[this.name]={lights:[]},o[this.name]=!0);const l=r.extensions[this.name].lights;l.push(A),t.extensions=t.extensions||{},t.extensions[this.name]={light:l.length-1}}}class GLTFExporter_GLTFMaterialsUnlitExtension{constructor(e){this.writer=e,this.name="KHR_materials_unlit"}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;const s=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},s[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}}class GLTFExporter_GLTFMaterialsClearcoatExtension{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.clearcoat)return;const s=this.writer,r=s.extensionsUsed,o={};if(o.clearcoatFactor=e.clearcoat,e.clearcoatMap){const t={index:s.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};s.applyTextureTransform(t,e.clearcoatMap),o.clearcoatTexture=t}if(o.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const t={index:s.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};s.applyTextureTransform(t,e.clearcoatRoughnessMap),o.clearcoatRoughnessTexture=t}if(e.clearcoatNormalMap){const t={index:s.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};s.applyTextureTransform(t,e.clearcoatNormalMap),o.clearcoatNormalTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsIridescenceExtension{constructor(e){this.writer=e,this.name="KHR_materials_iridescence"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.iridescence)return;const s=this.writer,r=s.extensionsUsed,o={};if(o.iridescenceFactor=e.iridescence,e.iridescenceMap){const t={index:s.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};s.applyTextureTransform(t,e.iridescenceMap),o.iridescenceTexture=t}if(o.iridescenceIor=e.iridescenceIOR,o.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],o.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){const t={index:s.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};s.applyTextureTransform(t,e.iridescenceThicknessMap),o.iridescenceThicknessTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsTransmissionExtension{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const s=this.writer,r=s.extensionsUsed,o={};if(o.transmissionFactor=e.transmission,e.transmissionMap){const t={index:s.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};s.applyTextureTransform(t,e.transmissionMap),o.transmissionTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsVolumeExtension{constructor(e){this.writer=e,this.name="KHR_materials_volume"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const s=this.writer,r=s.extensionsUsed,o={};if(o.thicknessFactor=e.thickness,e.thicknessMap){const t={index:s.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};s.applyTextureTransform(t,e.thicknessMap),o.thicknessTexture=t}o.attenuationDistance=e.attenuationDistance,o.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsIorExtension{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1.5===e.ior)return;const s=this.writer.extensionsUsed,r={};r.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=r,s[this.name]=!0}}class GLTFExporter_GLTFMaterialsSpecularExtension{constructor(e){this.writer=e,this.name="KHR_materials_specular"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1===e.specularIntensity&&e.specularColor.equals(di)&&!e.specularIntensityMap&&!e.specularColorMap)return;const s=this.writer,r=s.extensionsUsed,o={};if(e.specularIntensityMap){const t={index:s.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};s.applyTextureTransform(t,e.specularIntensityMap),o.specularTexture=t}if(e.specularColorMap){const t={index:s.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};s.applyTextureTransform(t,e.specularColorMap),o.specularColorTexture=t}o.specularFactor=e.specularIntensity,o.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsSheenExtension{constructor(e){this.writer=e,this.name="KHR_materials_sheen"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0==e.sheen)return;const s=this.writer,r=s.extensionsUsed,o={};if(e.sheenRoughnessMap){const t={index:s.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};s.applyTextureTransform(t,e.sheenRoughnessMap),o.sheenRoughnessTexture=t}if(e.sheenColorMap){const t={index:s.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};s.applyTextureTransform(t,e.sheenColorMap),o.sheenColorTexture=t}o.sheenRoughnessFactor=e.sheenRoughness,o.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsAnisotropyExtension{constructor(e){this.writer=e,this.name="KHR_materials_anisotropy"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0==e.anisotropy)return;const s=this.writer,r=s.extensionsUsed,o={};if(e.anisotropyMap){const t={index:s.processTexture(e.anisotropyMap)};s.applyTextureTransform(t,e.anisotropyMap),o.anisotropyTexture=t}o.anisotropyStrength=e.anisotropy,o.anisotropyRotation=e.anisotropyRotation,t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMaterialsEmissiveStrengthExtension{constructor(e){this.writer=e,this.name="KHR_materials_emissive_strength"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||1===e.emissiveIntensity)return;const s=this.writer.extensionsUsed,r={};r.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=r,s[this.name]=!0}}class GLTFExporter_GLTFMaterialsBumpExtension{constructor(e){this.writer=e,this.name="EXT_materials_bump"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||1===e.bumpScale&&!e.bumpMap)return;const s=this.writer,r=s.extensionsUsed,o={};if(e.bumpMap){const t={index:s.processTexture(e.bumpMap),texCoord:e.bumpMap.channel};s.applyTextureTransform(t,e.bumpMap),o.bumpTexture=t}o.bumpFactor=e.bumpScale,t.extensions=t.extensions||{},t.extensions[this.name]=o,r[this.name]=!0}}class GLTFExporter_GLTFMeshGpuInstancing{constructor(e){this.writer=e,this.name="EXT_mesh_gpu_instancing"}writeNode(e,t){if(!e.isInstancedMesh)return;const s=this.writer,r=e,A=new Float32Array(3*r.count),l=new Float32Array(4*r.count),h=new Float32Array(3*r.count),c=new o.yGw,d=new o.Pa4,g=new o._fP,p=new o.Pa4;for(let e=0;e<r.count;e++)r.getMatrixAt(e,c),c.decompose(d,g,p),d.toArray(A,3*e),g.toArray(l,4*e),p.toArray(h,3*e);const m={TRANSLATION:s.processAccessor(new o.TlE(A,3)),ROTATION:s.processAccessor(new o.TlE(l,4)),SCALE:s.processAccessor(new o.TlE(h,3))};r.instanceColor&&(m._COLOR_0=s.processAccessor(r.instanceColor)),t.extensions=t.extensions||{},t.extensions[this.name]={attributes:m},s.extensionsUsed[this.name]=!0,s.extensionsRequired[this.name]=!0}}GLTFExporter.Utils={insertKeyframe:function(e,t){const s=.001,r=e.getValueSize(),o=new e.TimeBufferType(e.times.length+1),A=new e.ValueBufferType(e.values.length+r),l=e.createInterpolant(new e.ValueBufferType(r));let h;if(0===e.times.length){o[0]=t;for(let e=0;e<r;e++)A[e]=0;h=0}else if(t<e.times[0]){if(Math.abs(e.times[0]-t)<s)return 0;o[0]=t,o.set(e.times,1),A.set(l.evaluate(t),0),A.set(e.values,r),h=0}else if(t>e.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)<s)return e.times.length-1;o[o.length-1]=t,o.set(e.times,0),A.set(e.values,0),A.set(l.evaluate(t),e.values.length),h=o.length-1}else for(let c=0;c<e.times.length;c++){if(Math.abs(e.times[c]-t)<s)return c;if(e.times[c]<t&&e.times[c+1]>t){o.set(e.times.slice(0,c+1),0),o[c+1]=t,o.set(e.times.slice(c+1),c+2),A.set(e.values.slice(0,(c+1)*r),0),A.set(l.evaluate(t),(c+1)*r),A.set(e.values.slice((c+1)*r),(c+2)*r),h=c+1;break}}return e.times=o,e.values=A,h},mergeMorphTargetTracks:function(e,t){const s=[],r={},A=e.tracks;for(let e=0;e<A.length;++e){let l=A[e];const h=o.iUV.parseTrackName(l.name),c=o.iUV.findNode(t,h.nodeName);if("morphTargetInfluences"!==h.propertyName||void 0===h.propertyIndex){s.push(l);continue}if(l.createInterpolant!==l.InterpolantFactoryMethodDiscrete&&l.createInterpolant!==l.InterpolantFactoryMethodLinear){if(l.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");Pt.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."),l=l.clone(),l.setInterpolation(o.NMF)}const d=c.morphTargetInfluences.length,g=c.morphTargetDictionary[h.propertyIndex];if(void 0===g)throw new Error("THREE.GLTFExporter: Morph target name not found: "+h.propertyIndex);let p;if(void 0===r[c.uuid]){p=l.clone();const e=new p.ValueBufferType(d*p.times.length);for(let t=0;t<p.times.length;t++)e[t*d+g]=p.values[t];p.name=(h.nodeName||"")+".morphTargetInfluences",p.values=e,r[c.uuid]=p,s.push(p);continue}const m=l.createInterpolant(new l.ValueBufferType(1));p=r[c.uuid];for(let e=0;e<p.times.length;e++)p.values[e*d+g]=m.evaluate(p.times[e]);for(let e=0;e<l.times.length;e++){const t=this.insertKeyframe(p,l.times[e]);p.values[t*d+g]=l.values[e]}}return e.tracks=s,e}};const compatibleObject=e=>void 0!==e.material&&e.userData&&e.userData.variantMaterials&&!!Array.from(e.userData.variantMaterials.values()).filter((e=>compatibleMaterial(e.material))),compatibleMaterial=e=>e&&e.isMaterial&&!Array.isArray(e);class GLTFExporterMaterialsVariantsExtension{constructor(e){this.writer=e,this.name="KHR_materials_variants",this.variantNames=[]}beforeParse(e){const t=new Set;for(const s of e)s.traverse((e=>{if(!compatibleObject(e))return;const s=e.userData.variantMaterials,r=e.userData.variantData;for(const[e,o]of r){const r=s.get(o.index);r&&compatibleMaterial(r.material)&&t.add(e)}}));t.forEach((e=>this.variantNames.push(e)))}writeMesh(e,t){if(!compatibleObject(e))return;const s=e.userData,r=s.variantMaterials,o=s.variantData,A=new Map,l=new Map,h=Array.from(o.values()).sort(((e,t)=>e.index-t.index));for(const[e,t]of h.entries())l.set(t.index,e);for(const e of o.values()){const t=r.get(e.index);if(!t||!compatibleMaterial(t.material))continue;const s=this.writer.processMaterial(t.material);A.has(s)||A.set(s,{material:s,variants:[]}),A.get(s).variants.push(l.get(e.index))}const c=Array.from(A.values()).map((e=>e.variants.sort(((e,t)=>e-t))&&e)).sort(((e,t)=>e.material-t.material));if(0===c.length)return;const d=compatibleMaterial(s.originalMaterial)?this.writer.processMaterial(s.originalMaterial):-1;for(const e of t.primitives)d>=0&&(e.material=d),e.extensions=e.extensions||{},e.extensions[this.name]={mappings:c}}afterParse(){if(0===this.variantNames.length)return;const e=this.writer.json;e.extensions=e.extensions||{};const t=this.variantNames.map((e=>({name:e})));e.extensions[this.name]={variants:t},this.writer.extensionsUsed[this.name]=!0}}class SessionLightProbe{constructor(e,t,s,r,A){this.xrLight=e,this.renderer=t,this.lightProbe=s,this.xrWebGLBinding=null,this.estimationStartCallback=A,this.frameCallback=this.onXRFrame.bind(this);const l=t.xr.getSession();if(r&&"XRWebGLBinding"in window){const s=new o.oAp(16);e.environment=s.texture;const r=t.getContext();switch(l.preferredReflectionFormat){case"srgba8":r.getExtension("EXT_sRGB");break;case"rgba16f":r.getExtension("OES_texture_half_float")}this.xrWebGLBinding=new XRWebGLBinding(l,r),this.lightProbe.addEventListener("reflectionchange",(()=>{this.updateReflection()}))}l.requestAnimationFrame(this.frameCallback)}updateReflection(){const e=this.renderer.properties.get(this.xrLight.environment);if(e){const t=this.xrWebGLBinding.getReflectionCubeMap(this.lightProbe);t&&(e.__webglTexture=t,this.xrLight.environment.needsPMREMUpdate=!0)}}onXRFrame(e,t){if(!this.xrLight)return;t.session.requestAnimationFrame(this.frameCallback);const s=t.getLightEstimate(this.lightProbe);if(s){this.xrLight.lightProbe.sh.fromArray(s.sphericalHarmonicsCoefficients),this.xrLight.lightProbe.intensity=1;const e=Math.max(1,Math.max(s.primaryLightIntensity.x,Math.max(s.primaryLightIntensity.y,s.primaryLightIntensity.z)));this.xrLight.directionalLight.color.setRGB(s.primaryLightIntensity.x/e,s.primaryLightIntensity.y/e,s.primaryLightIntensity.z/e),this.xrLight.directionalLight.intensity=e,this.xrLight.directionalLight.position.copy(s.primaryLightDirection),this.estimationStartCallback&&(this.estimationStartCallback(),this.estimationStartCallback=null)}}dispose(){this.xrLight=null,this.renderer=null,this.lightProbe=null,this.xrWebGLBinding=null}}class XREstimatedLight extends o.ZAu{constructor(e,t=!0){super(),this.lightProbe=new o.lk7,this.lightProbe.intensity=0,this.add(this.lightProbe),this.directionalLight=new o.Ox3,this.directionalLight.intensity=0,this.add(this.directionalLight),this.environment=null;let s=null,r=!1;e.xr.addEventListener("sessionstart",(()=>{const o=e.xr.getSession();"requestLightProbe"in o&&o.requestLightProbe({reflectionFormat:o.preferredReflectionFormat}).then((o=>{s=new SessionLightProbe(this,e,o,t,(()=>{r=!0,this.dispatchEvent({type:"estimationstart"})}))}))})),e.xr.addEventListener("sessionend",(()=>{s&&(s.dispose(),s=null),r&&this.dispatchEvent({type:"estimationend"})})),this.dispose=()=>{s&&(s.dispose(),s=null),this.remove(this.lightProbe),this.lightProbe=null,this.remove(this.directionalLight),this.directionalLight=null,this.environment=null}}}class Damper{constructor(e=50){this.velocity=0,this.naturalFrequency=0,this.setDecayTime(e)}setDecayTime(e){this.naturalFrequency=1/Math.max(.001,e)}update(e,t,s,r){const o=2e-4*this.naturalFrequency;if(null==e||0===r)return t;if(e===t&&0===this.velocity)return t;if(s<0)return e;const A=e-t,l=this.velocity+this.naturalFrequency*A,h=A+s*l,c=Math.exp(-this.naturalFrequency*s),d=(l-this.naturalFrequency*h)*c,g=-this.naturalFrequency*(d+l*c);return Math.abs(d)<o*Math.abs(r)&&g*A>=0?(this.velocity=0,t):(this.velocity=d,t+h*c)}}const gi=.2,pi=Math.PI/24,mi=new o.FM8,addCorner=(e,t,s)=>{let r=t>0?s>0?0:-Math.PI/2:s>0?Math.PI/2:Math.PI;for(let o=0;o<=12;++o)e.push(t+.17*Math.cos(r),s+.17*Math.sin(r),0,t+gi*Math.cos(r),s+gi*Math.sin(r),0),r+=pi};class PlacementBox extends o.Kj0{constructor(e,t){const s=new o.u9r,r=[],A=[],{size:l,boundingBox:h}=e,c=l.x/2,d=("back"===t?l.y:l.z)/2;addCorner(A,c,d),addCorner(A,-c,d),addCorner(A,-c,-d),addCorner(A,c,-d);const g=A.length/3;for(let e=0;e<g-2;e+=2)r.push(e,e+1,e+3,e,e+3,e+2);const p=g-2;r.push(p,p+1,1,p,1,0),s.setAttribute("position",new o.a$l(A,3)),s.setIndex(r),super(s),this.side=t;const m=this.material;switch(m.side=o.ehD,m.transparent=!0,m.opacity=0,this.goalOpacity=0,this.opacityDamper=new Damper,this.hitPlane=new o.Kj0(new o._12(2*(c+gi),2*(d+gi))),this.hitPlane.visible=!1,this.hitPlane.material.side=o.ehD,this.add(this.hitPlane),h.getCenter(this.position),t){case"bottom":this.rotateX(-Math.PI/2),this.shadowHeight=h.min.y,this.position.y=this.shadowHeight;break;case"back":this.shadowHeight=h.min.z,this.position.z=this.shadowHeight}e.target.add(this),this.offsetHeight=0}getHit(e,t,s){mi.set(t,-s),this.hitPlane.visible=!0;const r=e.positionAndNormalFromPoint(mi,this.hitPlane);return this.hitPlane.visible=!1,null==r?null:r.position}getExpandedHit(e,t,s){this.hitPlane.scale.set(1e3,1e3,1e3),this.hitPlane.updateMatrixWorld();const r=this.getHit(e,t,s);return this.hitPlane.scale.set(1,1,1),r}set offsetHeight(e){e-=.001,"back"===this.side?this.position.z=this.shadowHeight+e:this.position.y=this.shadowHeight+e}get offsetHeight(){return"back"===this.side?this.position.z-this.shadowHeight:this.position.y-this.shadowHeight}set show(e){this.goalOpacity=e?.75:0}updateOpacity(e){const t=this.material;t.opacity=this.opacityDamper.update(t.opacity,this.goalOpacity,e,1),this.visible=t.opacity>0}dispose(){var e;const{geometry:t,material:s}=this.hitPlane;t.dispose(),s.dispose(),this.geometry.dispose(),this.material.dispose(),null===(e=this.parent)||void 0===e||e.remove(this)}}const numberNode=(e,t)=>({type:"number",number:e,unit:t}),fi=(()=>{const e={};return t=>{const s=t;if(s in e)return e[s];const r=[];let o=0;for(;t;){if(++o>1e3){t="";break}const e=Ci(t),s=e.nodes[0];if(null==s||0===s.terms.length)break;r.push(s),t=e.remainingInput}return e[s]=r}})(),Ci=(()=>{const e=/^(\-\-|[a-z\u0240-\uffff])/i,t=/^([\*\+\/]|[\-]\s)/i,s=/^[\),]/;return r=>{const o=[];for(;r.length&&(r=r.trim(),!s.test(r));)if("("===r[0]){const{nodes:e,remainingInput:t}=parseFunctionArguments(r);r=t,o.push({type:"function",name:{type:"ident",value:"calc"},arguments:e})}else if(e.test(r)){const e=Bi(r),t=e.nodes[0];if("("===(r=e.remainingInput)[0]){const{nodes:e,remainingInput:s}=parseFunctionArguments(r);o.push({type:"function",name:t,arguments:e}),r=s}else o.push(t)}else if(t.test(r))o.push({type:"operator",value:r[0]}),r=r.slice(1);else{const{nodes:e,remainingInput:t}="#"===r[0]?wi(r):yi(r);if(0===e.length)break;o.push(e[0]),r=t}return{nodes:[{type:"expression",terms:o}],remainingInput:r}}})(),Bi=(()=>{const e=/[^a-z0-9_\-\u0240-\uffff]/i;return t=>{const s=t.match(e);return{nodes:[{type:"ident",value:null==s?t:t.substr(0,s.index)}],remainingInput:null==s?"":t.substr(s.index)}}})(),yi=(()=>{const e=/[\+\-]?(\d+[\.]\d+|\d+|[\.]\d+)([eE][\+\-]?\d+)?/,t=/^[a-z%]+/i,s=/^(m|mm|cm|rad|deg|[%])$/;return r=>{const o=r.match(e),A=null==o?"0":o[0],l=(r=null==A?r:r.slice(A.length)).match(t);let h=null!=l&&""!==l[0]?l[0]:null;const c=null==l?r:r.slice(h.length);return null==h||s.test(h)||(h=null),{nodes:[{type:"number",number:parseFloat(A)||0,unit:h}],remainingInput:c}}})(),wi=(()=>{const e=/^[a-f0-9]*/i;return t=>{const s=(t=t.slice(1).trim()).match(e);return{nodes:null==s?[]:[{type:"hex",value:s[0]}],remainingInput:null==s?t:t.slice(s[0].length)}}})(),parseFunctionArguments=e=>{const t=[];for(e=e.slice(1).trim();e.length;){const s=Ci(e);if(t.push(s.nodes[0]),","===(e=s.remainingInput.trim())[0])e=e.slice(1).trim();else if(")"===e[0]){e=e.slice(1);break}}return{nodes:t,remainingInput:e}},vi=Symbol("visitedTypes");class ASTWalker{constructor(e){this[vi]=e}walk(e,t){const s=e.slice();for(;s.length;){const e=s.shift();switch(this[vi].indexOf(e.type)>-1&&t(e),e.type){case"expression":s.unshift(...e.terms);break;case"function":s.unshift(e.name,...e.arguments)}}}}const Qi=Object.freeze({type:"number",number:0,unit:null}),degreesToRadians=(e,t=0)=>{let{number:s,unit:r}=e;if(isFinite(s)){if("rad"===e.unit||null==e.unit)return e}else s=t,r="rad";return{type:"number",number:("deg"===r&&null!=s?s:0)*Math.PI/180,unit:"rad"}},lengthToBaseMeters=(e,t=0)=>{let s,{number:r,unit:o}=e;if(isFinite(r)){if("m"===e.unit)return e}else r=t,o="m";switch(o){default:s=1;break;case"cm":s=.01;break;case"mm":s=.001}return{type:"number",number:s*r,unit:"m"}},xi=(()=>{const identity=e=>e,e={rad:identity,deg:degreesToRadians,m:identity,mm:lengthToBaseMeters,cm:lengthToBaseMeters};return(t,s=Qi)=>{isFinite(t.number)||(t.number=s.number,t.unit=s.unit);const{unit:r}=t;if(null==r)return t;const o=e[r];return null==o?s:o(t)}})();var bi,Mi,Ti;const Ri=Symbol("evaluate"),Di=Symbol("lastValue");class Evaluator{constructor(){this[bi]=null}static evaluatableFor(e,t=Qi){if(e instanceof Evaluator)return e;if("number"===e.type)return"%"===e.unit?new PercentageEvaluator(e,t):e;switch(e.name.value){case"calc":return new CalcEvaluator(e,t);case"env":return new EnvEvaluator(e)}return Qi}static evaluate(e){return e instanceof Evaluator?e.evaluate():e}static isConstant(e){return!(e instanceof Evaluator)||e.isConstant}static applyIntrinsics(e,t){const{basis:s,keywords:r}=t,{auto:o}=r;return s.map(((t,s)=>{const A=null==o[s]?t:o[s];let l=e[s]?e[s]:A;if("ident"===l.type){const e=l.value;e in r&&(l=r[e][s])}return null!=l&&"ident"!==l.type||(l=A),"%"===l.unit?numberNode(l.number/100*t.number,t.unit):(l=xi(l,t),l.unit!==t.unit?t:l)}))}get isConstant(){return!1}evaluate(){return this.isConstant&&null!=this[Di]||(this[Di]=this[Ri]()),this[Di]}}bi=Di;const Li=Symbol("percentage"),Fi=Symbol("basis");class PercentageEvaluator extends Evaluator{constructor(e,t){super(),this[Li]=e,this[Fi]=t}get isConstant(){return!0}[Ri](){return numberNode(this[Li].number/100*this[Fi].number,this[Fi].unit)}}const ki=Symbol("identNode");class EnvEvaluator extends Evaluator{constructor(e){super(),this[Mi]=null;const t=e.arguments.length?e.arguments[0].terms[0]:null;null!=t&&"ident"===t.type&&(this[ki]=t)}get isConstant(){return!1}[(Mi=ki,Ri)](){if(null!=this[ki]&&"window-scroll-y"===this[ki].value){return{type:"number",number:window.pageYOffset/(Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)-window.innerHeight)||0,unit:null}}return Qi}}const _i=/[\*\/]/,Ui=Symbol("evaluator");class CalcEvaluator extends Evaluator{constructor(e,t=Qi){if(super(),this[Ti]=null,1!==e.arguments.length)return;const s=e.arguments[0].terms.slice(),r=[];for(;s.length;){const e=s.shift();if(r.length>0){const s=r[r.length-1];if("operator"===s.type&&_i.test(s.value)){const s=r.pop(),o=r.pop();if(null==o)return;r.push(new OperatorEvaluator(s,Evaluator.evaluatableFor(o,t),Evaluator.evaluatableFor(e,t)));continue}}r.push("operator"===e.type?e:Evaluator.evaluatableFor(e,t))}for(;r.length>2;){const[e,s,o]=r.splice(0,3);if("operator"!==s.type)return;r.unshift(new OperatorEvaluator(s,Evaluator.evaluatableFor(e,t),Evaluator.evaluatableFor(o,t)))}1===r.length&&(this[Ui]=r[0])}get isConstant(){return null==this[Ui]||Evaluator.isConstant(this[Ui])}[(Ti=Ui,Ri)](){return null!=this[Ui]?Evaluator.evaluate(this[Ui]):Qi}}const Gi=Symbol("operator"),Ni=Symbol("left"),Oi=Symbol("right");class OperatorEvaluator extends Evaluator{constructor(e,t,s){super(),this[Gi]=e,this[Ni]=t,this[Oi]=s}get isConstant(){return Evaluator.isConstant(this[Ni])&&Evaluator.isConstant(this[Oi])}[Ri](){const e=xi(Evaluator.evaluate(this[Ni])),t=xi(Evaluator.evaluate(this[Oi])),{number:s,unit:r}=e,{number:o,unit:A}=t;if(null!=A&&null!=r&&A!=r)return Qi;const l=r||A;let h;switch(this[Gi].value){case"+":h=s+o;break;case"-":h=s-o;break;case"/":h=s/o;break;case"*":h=s*o;break;default:return Qi}return{type:"number",number:h,unit:l}}}const Hi=Symbol("evaluatables"),Vi=Symbol("intrinsics");class StyleEvaluator extends Evaluator{constructor(e,t){super(),this[Vi]=t;const s=e[0],r=null!=s?s.terms:[];this[Hi]=t.basis.map(((e,t)=>{const s=r[t];return null==s?{type:"ident",value:"auto"}:"ident"===s.type?s:Evaluator.evaluatableFor(s,e)}))}get isConstant(){for(const e of this[Hi])if(!Evaluator.isConstant(e))return!1;return!0}[Ri](){const e=this[Hi].map((e=>Evaluator.evaluate(e)));return Evaluator.applyIntrinsics(e,this[Vi]).map((e=>e.number))}}var qi,Ki,Ji,zi;const Yi=Symbol("instances"),ji=Symbol("activateListener"),$i=Symbol("deactivateListener"),Wi=Symbol("notifyInstances"),Xi=Symbol("notify"),Zi=Symbol("callback");class ScrollObserver{constructor(e){this[Zi]=e}static[Wi](){for(const e of ScrollObserver[Yi])e[Xi]()}static[(qi=Yi,ji)](){window.addEventListener("scroll",this[Wi],{passive:!0})}static[$i](){window.removeEventListener("scroll",this[Wi])}observe(){0===ScrollObserver[Yi].size&&ScrollObserver[ji](),ScrollObserver[Yi].add(this)}disconnect(){ScrollObserver[Yi].delete(this),0===ScrollObserver[Yi].size&&ScrollObserver[$i]()}[Xi](){this[Zi]()}}ScrollObserver[qi]=new Set;const es=Symbol("computeStyleCallback"),ts=Symbol("astWalker"),is=Symbol("dependencies"),ss=Symbol("onScroll");class StyleEffector{constructor(e){this[Ki]={},this[Ji]=new ASTWalker(["function"]),this[zi]=()=>{this[es]({relatedState:"window-scroll"})},this[es]=e}observeEffectsFor(e){const t={},s=this[is];this[ts].walk(e,(e=>{const{name:r}=e,o=e.arguments[0].terms[0];if("env"===r.value&&null!=o&&"ident"===o.type&&"window-scroll-y"===o.value)if(null==t["window-scroll"]){const e="window-scroll"in s?s["window-scroll"]:new ScrollObserver(this[ss]);e.observe(),delete s["window-scroll"],t["window-scroll"]=e}}));for(const e in s){s[e].disconnect()}this[is]=t}dispose(){for(const e in this[is]){this[is][e].disconnect()}}}Ki=is,Ji=ts,zi=ss;const style=e=>{const t=e.observeEffects||!1,s=e.intrinsics instanceof Function?e.intrinsics:()=>e.intrinsics;return(r,o)=>{const A=r.updated,l=r.connectedCallback,h=r.disconnectedCallback,c=Symbol(`${o}StyleEffector`),d=Symbol(`${o}StyleEvaluator`),g=Symbol(`${o}UpdateEvaluator`),p=Symbol(`${o}EvaluateAndSync`);Object.defineProperties(r,{[c]:{value:null,writable:!0},[d]:{value:null,writable:!0},[g]:{value:function(){const e=fi(this[o]);this[d]=new StyleEvaluator(e,s(this)),null==this[c]&&t&&(this[c]=new StyleEffector((()=>this[p]()))),null!=this[c]&&this[c].observeEffectsFor(e)}},[p]:{value:function(){if(null==this[d])return;const t=this[d].evaluate();this[e.updateHandler](t)}},updated:{value:function(e){e.has(o)&&(this[g](),this[p]()),A.call(this,e)}},connectedCallback:{value:function(){l.call(this),this.requestUpdate(o,this[o])}},disconnectedCallback:{value:function(){h.call(this),null!=this[c]&&(this[c].dispose(),this[c]=null)}}})}},easeInOutQuad=e=>e<.5?2*e*e:(4-2*e)*e-1,interpolate=(e,t,s=easeInOutQuad)=>r=>e+(t-e)*s(r),timeline=e=>{const t=[],s=[];let r=e.initialValue;for(let o=0;o<e.keyframes.length;++o){const A=e.keyframes[o],{value:l,frames:h}=A,c=A.ease||easeInOutQuad,d=interpolate(r,l,c);t.push(d),s.push(h),r=l}return((e,t)=>{const s=t.map((r=0,e=>r+=e));var r;return t=>{t=clamp(t,0,1),t*=s[s.length-1];const r=s.findIndex((e=>e>=t)),o=r<1?0:s[r-1],A=s[r];return e[r]((t-o)/(A-o))}})(t,s)};var ns=s(25108),controls_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const rs=timeline({initialValue:0,keyframes:[{frames:5,value:-1},{frames:1,value:-1},{frames:8,value:1},{frames:1,value:1},{frames:5,value:0},{frames:18,value:0}]}),as=timeline({initialValue:0,keyframes:[{frames:1,value:1},{frames:5,value:1},{frames:1,value:0},{frames:6,value:0}]}),os="0deg 75deg 105%",As=["front","right","back","left"],ls=["upper-","","lower-"],hs="auto",cs="basic",us="wiggle",ds="none",fieldOfViewIntrinsics=()=>({basis:[degreesToRadians(numberNode(30,"deg"))],keywords:{auto:[null]}}),minFieldOfViewIntrinsics=()=>({basis:[degreesToRadians(numberNode(12,"deg"))],keywords:{auto:[null]}}),gs=(()=>{const e=fi(os)[0].terms,t=xi(e[0]),s=xi(e[1]);return e=>{const r=e[lo].idealCameraDistance();return{basis:[t,s,numberNode(r,"m")],keywords:{auto:[null,null,numberNode(105,"%")]}}}})(),minCameraOrbitIntrinsics=e=>{const t=2.2*e[lo].boundingSphere.radius;return{basis:[numberNode(-1/0,"rad"),numberNode(Math.PI/8,"rad"),numberNode(t,"m")],keywords:{auto:[null,null,null]}}},maxCameraOrbitIntrinsics=e=>{const t=gs(e),s=new StyleEvaluator([],t).evaluate()[2];return{basis:[numberNode(1/0,"rad"),numberNode(Math.PI-Math.PI/8,"rad"),numberNode(s,"m")],keywords:{auto:[null,null,null]}}},cameraTargetIntrinsics=e=>{const t=e[lo].boundingBox.getCenter(new o.Pa4);return{basis:[numberNode(t.x,"m"),numberNode(t.y,"m"),numberNode(t.z,"m")],keywords:{auto:[null,null,null]}}},ps=Math.PI/2,ms=Math.PI/3,fs=ps/2,Is=2*Math.PI,Es=Symbol("controls"),Cs=Symbol("panElement"),Bs=Symbol("promptElement"),ys=Symbol("promptAnimatedContainer"),ws=Symbol("fingerAnimatedContainers"),vs=Symbol("deferInteractionPrompt"),Qs=Symbol("updateAria"),xs=Symbol("a11y"),bs=Symbol("updateA11y"),Ss=Symbol("updateCameraForRadius"),Ms=Symbol("cancelPrompts"),Ts=Symbol("onChange"),Rs=Symbol("onPointerChange"),Ds=Symbol("waitingToPromptUser"),Ls=Symbol("userHasInteracted"),Fs=Symbol("promptElementVisibleTime"),ks=Symbol("lastPromptOffset"),_s=Symbol("cancellationSource"),Us=Symbol("lastSpherical"),Gs=Symbol("jumpCamera"),Ns=Symbol("initialized"),Ps=Symbol("maintainThetaPhi"),Os=Symbol("syncCameraOrbit"),Hs=Symbol("syncFieldOfView"),Vs=Symbol("syncCameraTarget"),qs=Symbol("syncMinCameraOrbit"),Ks=Symbol("syncMaxCameraOrbit"),Js=Symbol("syncMinFieldOfView"),zs=Symbol("syncMaxFieldOfView"),Ys=new o.FM8,js=new o.Pa4,$s=Object.freeze({minimumRadius:0,maximumRadius:1/0,minimumPolarAngle:Math.PI/8,maximumPolarAngle:Math.PI-Math.PI/8,minimumAzimuthalAngle:-1/0,maximumAzimuthalAngle:1/0,minimumFieldOfView:10,maximumFieldOfView:45,touchAction:"none"}),Ws=Math.PI/8,Xs=.04,Zs={USER_INTERACTION:"user-interaction",NONE:"none",AUTOMATIC:"automatic"};class SmoothControls extends o.pBf{constructor(e,t,s){super(),this.camera=e,this.element=t,this.scene=s,this.orbitSensitivity=1,this.zoomSensitivity=1,this.panSensitivity=1,this.inputSensitivity=1,this.changeSource=Zs.NONE,this._interactionEnabled=!1,this._disableZoom=!1,this.isUserPointing=!1,this.enablePan=!0,this.enableTap=!0,this.panProjection=new o.Vkp,this.panPerPixel=0,this.spherical=new o.$V,this.goalSpherical=new o.$V,this.thetaDamper=new Damper,this.phiDamper=new Damper,this.radiusDamper=new Damper,this.logFov=Math.log($s.maximumFieldOfView),this.goalLogFov=this.logFov,this.fovDamper=new Damper,this.touchMode=null,this.pointers=[],this.startTime=0,this.startPointerPosition={clientX:0,clientY:0},this.lastSeparation=0,this.touchDecided=!1,this.onContext=e=>{if(this.enablePan)e.preventDefault();else for(const e of this.pointers)this.onPointerUp(new PointerEvent("pointercancel",Object.assign(Object.assign({},this.startPointerPosition),{pointerId:e.id})))},this.touchModeZoom=(e,t)=>{if(!this._disableZoom){const e=this.twoTouchDistance(this.pointers[0],this.pointers[1]),t=Xs*this.zoomSensitivity*(this.lastSeparation-e)*50/this.scene.height;this.lastSeparation=e,this.userAdjustOrbit(0,0,t)}this.panPerPixel>0&&this.movePan(e,t)},this.disableScroll=e=>{e.preventDefault()},this.touchModeRotate=(e,t)=>{const{touchAction:s}=this._options;if(!this.touchDecided&&"none"!==s){this.touchDecided=!0;const r=Math.abs(e),o=Math.abs(t);if(this.changeSource===Zs.USER_INTERACTION&&("pan-y"===s&&o>r||"pan-x"===s&&r>o))return void(this.touchMode=null);this.element.addEventListener("touchmove",this.disableScroll,{passive:!1})}this.handleSinglePointerMove(e,t)},this.onPointerDown=e=>{if(this.pointers.length>2)return;const{element:t}=this;0===this.pointers.length&&(t.addEventListener("pointermove",this.onPointerMove),t.addEventListener("pointerup",this.onPointerUp),this.touchMode=null,this.touchDecided=!1,this.startPointerPosition.clientX=e.clientX,this.startPointerPosition.clientY=e.clientY,this.startTime=performance.now());try{t.setPointerCapture(e.pointerId)}catch(e){}this.pointers.push({clientX:e.clientX,clientY:e.clientY,id:e.pointerId}),this.isUserPointing=!1,"touch"===e.pointerType?(this.changeSource=e.altKey?Zs.AUTOMATIC:Zs.USER_INTERACTION,this.onTouchChange(e)):(this.changeSource=Zs.USER_INTERACTION,this.onMouseDown(e)),this.changeSource===Zs.USER_INTERACTION&&this.dispatchEvent({type:"user-interaction"})},this.onPointerMove=e=>{const t=this.pointers.find((t=>t.id===e.pointerId));if(null==t)return;if("mouse"===e.pointerType&&0===e.buttons)return void this.onPointerUp(e);const s=this.pointers.length,r=(e.clientX-t.clientX)/s,o=(e.clientY-t.clientY)/s;0===r&&0===o||(t.clientX=e.clientX,t.clientY=e.clientY,"touch"===e.pointerType?(this.changeSource=e.altKey?Zs.AUTOMATIC:Zs.USER_INTERACTION,null!==this.touchMode&&this.touchMode(r,o)):(this.changeSource=Zs.USER_INTERACTION,this.panPerPixel>0?this.movePan(r,o):this.handleSinglePointerMove(r,o)))},this.onPointerUp=e=>{const{element:t}=this,s=this.pointers.findIndex((t=>t.id===e.pointerId));-1!==s&&this.pointers.splice(s,1),this.panPerPixel>0&&!e.altKey&&this.resetRadius(),0===this.pointers.length?(t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp),t.removeEventListener("touchmove",this.disableScroll),this.enablePan&&this.enableTap&&this.recenter(e)):null!==this.touchMode&&this.onTouchChange(e),this.scene.element[Cs].style.opacity=0,t.style.cursor="grab",this.panPerPixel=0,this.isUserPointing&&this.dispatchEvent({type:"pointer-change-end"})},this.onWheel=e=>{this.changeSource=Zs.USER_INTERACTION;const t=e.deltaY*(1==e.deltaMode?18:1)*Xs*this.zoomSensitivity/30;this.userAdjustOrbit(0,0,t),e.preventDefault(),this.dispatchEvent({type:"user-interaction"})},this.onKeyDown=e=>{const{changeSource:t}=this;this.changeSource=Zs.USER_INTERACTION;(e.shiftKey&&this.enablePan?this.panKeyCodeHandler(e):this.orbitZoomKeyCodeHandler(e))?(e.preventDefault(),this.dispatchEvent({type:"user-interaction"})):this.changeSource=t},this._options=Object.assign({},$s),this.setOrbit(0,Math.PI/2,1),this.setFieldOfView(100),this.jumpToGoal()}get interactionEnabled(){return this._interactionEnabled}enableInteraction(){if(!1===this._interactionEnabled){const{element:e}=this;e.addEventListener("pointerdown",this.onPointerDown),e.addEventListener("pointercancel",this.onPointerUp),this._disableZoom||e.addEventListener("wheel",this.onWheel),e.addEventListener("keydown",this.onKeyDown),e.addEventListener("touchmove",(()=>{}),{passive:!1}),e.addEventListener("contextmenu",this.onContext),this.element.style.cursor="grab",this._interactionEnabled=!0,this.updateTouchActionStyle()}}disableInteraction(){if(!0===this._interactionEnabled){const{element:e}=this;e.removeEventListener("pointerdown",this.onPointerDown),e.removeEventListener("pointermove",this.onPointerMove),e.removeEventListener("pointerup",this.onPointerUp),e.removeEventListener("pointercancel",this.onPointerUp),e.removeEventListener("wheel",this.onWheel),e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("contextmenu",this.onContext),e.style.cursor="",this.touchMode=null,this._interactionEnabled=!1,this.updateTouchActionStyle()}}get options(){return this._options}set disableZoom(e){this._disableZoom!=e&&(this._disableZoom=e,!0===e?this.element.removeEventListener("wheel",this.onWheel):this.element.addEventListener("wheel",this.onWheel),this.updateTouchActionStyle())}getCameraSpherical(e=new o.$V){return e.copy(this.spherical)}getFieldOfView(){return this.camera.fov}applyOptions(e){Object.assign(this._options,e),this.setOrbit(),this.setFieldOfView(Math.exp(this.goalLogFov))}updateNearFar(e,t){this.camera.far=0===t?2:t,this.camera.near=Math.max(e,this.camera.far/1e3),this.camera.updateProjectionMatrix()}updateAspect(e){this.camera.aspect=e,this.camera.updateProjectionMatrix()}setOrbit(e=this.goalSpherical.theta,t=this.goalSpherical.phi,s=this.goalSpherical.radius){const{minimumAzimuthalAngle:r,maximumAzimuthalAngle:o,minimumPolarAngle:A,maximumPolarAngle:l,minimumRadius:h,maximumRadius:c}=this._options,{theta:d,phi:g,radius:p}=this.goalSpherical,m=clamp(e,r,o);isFinite(r)||isFinite(o)||(this.spherical.theta=this.wrapAngle(this.spherical.theta-m)+m);const f=clamp(t,A,l),I=clamp(s,h,c);return(m!==d||f!==g||I!==p)&&(!!(isFinite(m)&&isFinite(f)&&isFinite(I))&&(this.goalSpherical.theta=m,this.goalSpherical.phi=f,this.goalSpherical.radius=I,this.goalSpherical.makeSafe(),!0))}setRadius(e){this.goalSpherical.radius=e,this.setOrbit()}setFieldOfView(e){const{minimumFieldOfView:t,maximumFieldOfView:s}=this._options;e=clamp(e,t,s),this.goalLogFov=Math.log(e)}setDamperDecayTime(e){this.thetaDamper.setDecayTime(e),this.phiDamper.setDecayTime(e),this.radiusDamper.setDecayTime(e),this.fovDamper.setDecayTime(e)}adjustOrbit(e,t,s){const{theta:r,phi:o,radius:A}=this.goalSpherical,{minimumRadius:l,maximumRadius:h,minimumFieldOfView:c,maximumFieldOfView:d}=this._options,g=this.spherical.theta-r,p=Math.PI-.001,m=r-clamp(e,-p-g,p-g),f=o-t,I=0===s?0:((s>0?h:l)-A)/(Math.log(s>0?d:c)-this.goalLogFov),E=A+s*(isFinite(I)?I:2*(h-l));if(this.setOrbit(m,f,E),0!==s){const e=this.goalLogFov+s;this.setFieldOfView(Math.exp(e))}}jumpToGoal(){this.update(0,1e4)}update(e,t){if(this.isStationary())return!1;const{maximumPolarAngle:s,maximumRadius:r}=this._options,o=this.spherical.theta-this.goalSpherical.theta;return Math.abs(o)>Math.PI&&!isFinite(this._options.minimumAzimuthalAngle)&&!isFinite(this._options.maximumAzimuthalAngle)&&(this.spherical.theta-=2*Math.sign(o)*Math.PI),this.spherical.theta=this.thetaDamper.update(this.spherical.theta,this.goalSpherical.theta,t,Math.PI),this.spherical.phi=this.phiDamper.update(this.spherical.phi,this.goalSpherical.phi,t,s),this.spherical.radius=this.radiusDamper.update(this.spherical.radius,this.goalSpherical.radius,t,r),this.logFov=this.fovDamper.update(this.logFov,this.goalLogFov,t,1),this.moveCamera(),!0}updateTouchActionStyle(){const{style:e}=this.element;if(this._interactionEnabled){const{touchAction:t}=this._options;this._disableZoom&&"none"!==t?e.touchAction="manipulation":e.touchAction=t}else e.touchAction=""}isStationary(){return this.goalSpherical.theta===this.spherical.theta&&this.goalSpherical.phi===this.spherical.phi&&this.goalSpherical.radius===this.spherical.radius&&this.goalLogFov===this.logFov}moveCamera(){this.spherical.makeSafe(),this.camera.position.setFromSpherical(this.spherical),this.camera.setRotationFromEuler(new o.USm(this.spherical.phi-Math.PI/2,this.spherical.theta,0,"YXZ")),this.camera.fov!==Math.exp(this.logFov)&&(this.camera.fov=Math.exp(this.logFov),this.camera.updateProjectionMatrix())}userAdjustOrbit(e,t,s){this.adjustOrbit(e*this.orbitSensitivity*this.inputSensitivity,t*this.orbitSensitivity*this.inputSensitivity,s*this.inputSensitivity)}wrapAngle(e){const t=(e+Math.PI)/(2*Math.PI);return 2*(t-Math.floor(t))*Math.PI-Math.PI}pixelLengthToSphericalAngle(e){return 2*Math.PI*e/this.scene.height}twoTouchDistance(e,t){const{clientX:s,clientY:r}=e,{clientX:o,clientY:A}=t,l=o-s,h=A-r;return Math.sqrt(l*l+h*h)}handleSinglePointerMove(e,t){const s=this.pixelLengthToSphericalAngle(e),r=this.pixelLengthToSphericalAngle(t);!1===this.isUserPointing&&(this.isUserPointing=!0,this.dispatchEvent({type:"pointer-change-start"})),this.userAdjustOrbit(s,r,0)}initializePan(){const{theta:e,phi:t}=this.spherical,s=e-this.scene.yaw;this.panPerPixel=.018*this.panSensitivity/this.scene.height,this.panProjection.set(-Math.cos(s),-Math.cos(t)*Math.sin(s),0,0,Math.sin(t),0,Math.sin(s),-Math.cos(t)*Math.cos(s),0)}movePan(e,t){const{scene:s}=this,r=js.set(e,t,0).multiplyScalar(this.inputSensitivity),o=this.spherical.radius*Math.exp(this.logFov)*this.panPerPixel;r.multiplyScalar(o);const A=s.getTarget();A.add(r.applyMatrix3(this.panProjection)),s.boundingSphere.clampPoint(A,A),s.setTarget(A.x,A.y,A.z)}recenter(e){if(performance.now()>this.startTime+300||Math.abs(e.clientX-this.startPointerPosition.clientX)>2||Math.abs(e.clientY-this.startPointerPosition.clientY)>2)return;const{scene:t}=this,s=t.positionAndNormalFromPoint(t.getNDC(e.clientX,e.clientY));if(null==s){const{cameraTarget:e}=t.element;t.element.cameraTarget="",t.element.cameraTarget=e,this.userAdjustOrbit(0,0,1)}else t.target.worldToLocal(s.position),t.setTarget(s.position.x,s.position.y,s.position.z)}resetRadius(){const{scene:e}=this,t=e.positionAndNormalFromPoint(Ys.set(0,0));if(null==t)return;e.target.worldToLocal(t.position);const s=e.getTarget(),{theta:r,phi:o}=this.spherical,A=r-e.yaw,l=js.set(Math.sin(o)*Math.sin(A),Math.cos(o),Math.sin(o)*Math.cos(A)),h=l.dot(t.position.sub(s));s.add(l.multiplyScalar(h)),e.setTarget(s.x,s.y,s.z),this.setOrbit(void 0,void 0,this.goalSpherical.radius-h)}onTouchChange(e){if(1===this.pointers.length)this.touchMode=this.touchModeRotate;else{if(this._disableZoom)return this.touchMode=null,void this.element.removeEventListener("touchmove",this.disableScroll);this.touchMode=this.touchDecided&&null===this.touchMode?null:this.touchModeZoom,this.touchDecided=!0,this.element.addEventListener("touchmove",this.disableScroll,{passive:!1}),this.lastSeparation=this.twoTouchDistance(this.pointers[0],this.pointers[1]),this.enablePan&&null!=this.touchMode&&(this.initializePan(),e.altKey||(this.scene.element[Cs].style.opacity=1))}}onMouseDown(e){this.panPerPixel=0,this.enablePan&&(2===e.button||e.ctrlKey||e.metaKey||e.shiftKey)&&(this.initializePan(),this.scene.element[Cs].style.opacity=1),this.element.style.cursor="grabbing"}orbitZoomKeyCodeHandler(e){let t=!0;switch(e.key){case"PageUp":this.userAdjustOrbit(0,0,Xs*this.zoomSensitivity);break;case"PageDown":this.userAdjustOrbit(0,0,-.04*this.zoomSensitivity);break;case"ArrowUp":this.userAdjustOrbit(0,-Ws,0);break;case"ArrowDown":this.userAdjustOrbit(0,Ws,0);break;case"ArrowLeft":this.userAdjustOrbit(-Ws,0,0);break;case"ArrowRight":this.userAdjustOrbit(Ws,0,0);break;default:t=!1}return t}panKeyCodeHandler(e){this.initializePan();let t=!0;switch(e.key){case"ArrowUp":this.movePan(0,-10);break;case"ArrowDown":this.movePan(0,10);break;case"ArrowLeft":this.movePan(-10,0);break;case"ArrowRight":this.movePan(10,0);break;default:t=!1}return t}}var en=s(25108);const tn="not-presenting",sn="session-started",nn="object-placed",rn="failed",an="tracking",on="not-tracking",An=new o.Pa4,ln=new o.yGw,hn=new o.Pa4,cn=new o.cPb(45,1,.1,100);class ARRenderer extends o.pBf{constructor(e){super(),this.renderer=e,this.currentSession=null,this.placeOnWall=!1,this.placementBox=null,this.lastTick=null,this.turntableRotation=null,this.oldShadowIntensity=null,this.frame=null,this.initialHitSource=null,this.transientHitTestSource=null,this.inputSource=null,this._presentedScene=null,this.resolveCleanup=null,this.exitWebXRButtonContainer=null,this.overlay=null,this.xrLight=null,this.tracking=!0,this.frames=0,this.initialized=!1,this.oldTarget=new o.Pa4,this.placementComplete=!1,this.isTranslating=!1,this.isRotating=!1,this.isTwoFingering=!1,this.lastDragPosition=new o.Pa4,this.firstRatio=0,this.lastAngle=0,this.goalPosition=new o.Pa4,this.goalYaw=0,this.goalScale=1,this.xDamper=new Damper,this.yDamper=new Damper,this.zDamper=new Damper,this.yawDamper=new Damper,this.scaleDamper=new Damper,this.onExitWebXRButtonContainerClick=()=>this.stopPresenting(),this.onUpdateScene=()=>{null!=this.placementBox&&this.isPresenting&&(this.placementBox.dispose(),this.placementBox=new PlacementBox(this.presentedScene,this.placeOnWall?"back":"bottom"))},this.onSelectStart=e=>{const t=this.transientHitTestSource;if(null==t)return;const s=this.frame.getHitTestResultsForTransientInput(t),r=this.presentedScene,o=this.placementBox;if(1===s.length){this.inputSource=e.inputSource;const{axes:t}=this.inputSource.gamepad,s=o.getHit(this.presentedScene,t[0],t[1]);o.show=!0,null!=s?(this.isTranslating=!0,this.lastDragPosition.copy(s)):!1===this.placeOnWall&&(this.isRotating=!0,this.lastAngle=1.5*t[0])}else if(2===s.length){o.show=!0,this.isTwoFingering=!0;const{separation:e}=this.fingerPolar(s);this.firstRatio=e/r.scale.x}},this.onSelectEnd=()=>{this.isTranslating=!1,this.isRotating=!1,this.isTwoFingering=!1,this.inputSource=null,this.goalPosition.y+=this.placementBox.offsetHeight*this.presentedScene.scale.x,this.placementBox.show=!1},this.threeRenderer=e.threeRenderer,this.threeRenderer.xr.enabled=!0}async resolveARSession(){assertIsArCandidate();const e=await navigator.xr.requestSession("immersive-ar",{requiredFeatures:["hit-test"],optionalFeatures:["dom-overlay","light-estimation"],domOverlay:this.overlay?{root:this.overlay}:void 0});return this.threeRenderer.xr.setReferenceSpaceType("local"),await this.threeRenderer.xr.setSession(e),this.threeRenderer.xr.cameraAutoUpdate=!1,e}get presentedScene(){return this._presentedScene}async supportsPresentation(){try{return assertIsArCandidate(),await navigator.xr.isSessionSupported("immersive-ar")}catch(e){return en.warn("Request to present in WebXR denied:"),en.warn(e),en.warn("Falling back to next ar-mode"),!1}}async present(e,t=!1){this.isPresenting&&en.warn("Cannot present while a model is already presenting");let s=new Promise(((e,t)=>{requestAnimationFrame((()=>e()))}));e.setHotspotsVisibility(!1),e.queueRender(),await s,this._presentedScene=e,this.overlay=e.element.shadowRoot.querySelector("div.default"),!0===t&&(this.xrLight=new XREstimatedLight(this.threeRenderer),this.xrLight.addEventListener("estimationstart",(()=>{if(!this.isPresenting||null==this.xrLight)return;const e=this.presentedScene;e.add(this.xrLight),e.environment=this.xrLight.environment})));const r=await this.resolveARSession();r.addEventListener("end",(()=>{this.postSessionCleanup()}),{once:!0});const o=e.element.shadowRoot.querySelector(".slot.exit-webxr-ar-button");o.classList.add("enabled"),o.addEventListener("click",this.onExitWebXRButtonContainerClick),this.exitWebXRButtonContainer=o;const A=await r.requestReferenceSpace("viewer");this.tracking=!0,this.frames=0,this.initialized=!1,this.turntableRotation=e.yaw,this.goalYaw=e.yaw,this.goalScale=1,e.setBackground(null),this.oldShadowIntensity=e.shadowIntensity,e.setShadowIntensity(.01),this.oldTarget.copy(e.getTarget()),e.element.addEventListener("load",this.onUpdateScene);const l=20*Math.PI/180,h=!0===this.placeOnWall?void 0:new XRRay(new DOMPoint(0,0,0),{x:0,y:-Math.sin(l),z:-Math.cos(l)});r.requestHitTestSource({space:A,offsetRay:h}).then((e=>{this.initialHitSource=e})),this.currentSession=r,this.placementBox=new PlacementBox(e,this.placeOnWall?"back":"bottom"),this.placementComplete=!1,this.lastTick=performance.now(),this.dispatchEvent({type:"status",status:sn})}async stopPresenting(){if(!this.isPresenting)return;const e=new Promise((e=>{this.resolveCleanup=e}));try{await this.currentSession.end(),await e}catch(e){en.warn("Error while trying to end WebXR AR session"),en.warn(e),this.postSessionCleanup()}}get isPresenting(){return null!=this.presentedScene}get target(){return this.oldTarget}updateTarget(){const e=this.presentedScene;if(null!=e){const t=e.getTarget();this.oldTarget.copy(t),this.placeOnWall?t.z=e.boundingBox.min.z:t.y=e.boundingBox.min.y,e.setTarget(t.x,t.y,t.z)}}postSessionCleanup(){const e=this.currentSession;null!=e&&(e.removeEventListener("selectstart",this.onSelectStart),e.removeEventListener("selectend",this.onSelectEnd),this.currentSession=null);const t=this.presentedScene;if(this._presentedScene=null,null!=t){const{element:e}=t;null!=this.xrLight&&(t.remove(this.xrLight),this.xrLight.dispose(),this.xrLight=null),t.position.set(0,0,0),t.scale.set(1,1,1),t.setShadowOffset(0);const s=this.turntableRotation;null!=s&&(t.yaw=s);const r=this.oldShadowIntensity;null!=r&&t.setShadowIntensity(r),t.setEnvironmentAndSkybox(e[we],e[ve]);const o=this.oldTarget;t.setTarget(o.x,o.y,o.z),t.xrCamera=null,t.element.removeEventListener("load",this.onUpdateScene),t.orientHotspots(0),e.requestUpdate("cameraTarget"),e.requestUpdate("maxCameraOrbit"),e[go](e.getBoundingClientRect()),requestAnimationFrame((()=>{t.element.dispatchEvent(new CustomEvent("camera-change",{detail:{source:Zs.NONE}}))}))}this.renderer.height=0;const s=this.exitWebXRButtonContainer;null!=s&&(s.classList.remove("enabled"),s.removeEventListener("click",this.onExitWebXRButtonContainerClick),this.exitWebXRButtonContainer=null);const r=this.transientHitTestSource;null!=r&&(r.cancel(),this.transientHitTestSource=null);const o=this.initialHitSource;null!=o&&(o.cancel(),this.initialHitSource=null),null!=this.placementBox&&(this.placementBox.dispose(),this.placementBox=null),this.lastTick=null,this.turntableRotation=null,this.oldShadowIntensity=null,this.frame=null,this.inputSource=null,this.overlay=null,null!=this.resolveCleanup&&this.resolveCleanup(),this.dispatchEvent({type:"status",status:tn})}updateView(e){const t=this.presentedScene,s=this.threeRenderer.xr;s.updateCamera(cn),t.xrCamera=s.getCamera();const{elements:r}=t.getCamera().matrixWorld;if(t.orientHotspots(Math.atan2(r[1],r[5])),this.initialized||(this.placeInitially(),this.initialized=!0),e.requestViewportScale&&e.recommendedViewportScale){const t=e.recommendedViewportScale;e.requestViewportScale(Math.max(t,.25))}const o=s.getBaseLayer();if(null!=o){const t=o instanceof XRWebGLLayer?o.getViewport(e):s.getBinding().getViewSubImage(o,e).viewport;this.threeRenderer.setViewport(t.x,t.y,t.width,t.height)}}placeInitially(){const e=this.presentedScene,{position:t,element:s}=e,r=e.getCamera(),{width:o,height:A}=this.overlay.getBoundingClientRect();e.setSize(o,A),r.projectionMatrixInverse.copy(r.projectionMatrix).invert();const{theta:l,radius:h}=s.getCameraOrbit(),c=r.getWorldDirection(An);e.yaw=Math.atan2(-c.x,-c.z)-l,this.goalYaw=e.yaw,t.copy(r.position).add(c.multiplyScalar(h)),this.updateTarget();const d=e.getTarget();t.add(d).sub(this.oldTarget),this.goalPosition.copy(t),e.setHotspotsVisibility(!0);const{session:g}=this.frame;g.addEventListener("selectstart",this.onSelectStart),g.addEventListener("selectend",this.onSelectEnd),g.requestHitTestSourceForTransientInput({profile:"generic-touchscreen"}).then((e=>{this.transientHitTestSource=e}))}getTouchLocation(){const{axes:e}=this.inputSource.gamepad;let t=this.placementBox.getExpandedHit(this.presentedScene,e[0],e[1]);return null!=t&&(An.copy(t).sub(this.presentedScene.getCamera().position),An.length()>10)?null:t}getHitPoint(e){const t=this.threeRenderer.xr.getReferenceSpace(),s=e.getPose(t);if(null==s)return null;const r=ln.fromArray(s.transform.matrix);return!0===this.placeOnWall&&(this.goalYaw=Math.atan2(r.elements[4],r.elements[6])),r.elements[5]>.75!==this.placeOnWall?hn.setFromMatrixPosition(r):null}moveToFloor(e){const t=this.initialHitSource;if(null==t)return;const s=e.getHitTestResults(t);if(0==s.length)return;const r=s[0],o=this.getHitPoint(r);null!=o&&(this.placementBox.show=!0,this.isTranslating||(this.placeOnWall?this.goalPosition.copy(o):this.goalPosition.y=o.y),t.cancel(),this.initialHitSource=null,this.dispatchEvent({type:"status",status:nn}))}fingerPolar(e){const t=e[0].inputSource.gamepad.axes,s=e[1].inputSource.gamepad.axes,r=s[0]-t[0],o=s[1]-t[1],A=Math.atan2(o,r);let l=this.lastAngle-A;return l>Math.PI?l-=2*Math.PI:l<-Math.PI&&(l+=2*Math.PI),this.lastAngle=A,{separation:Math.sqrt(r*r+o*o),deltaYaw:l}}processInput(e){const t=this.transientHitTestSource;if(null==t)return;if(!this.isTranslating&&!this.isTwoFingering&&!this.isRotating)return;const s=e.getHitTestResultsForTransientInput(t),r=this.presentedScene,o=r.scale.x;if(this.isTwoFingering)if(s.length<2)this.isTwoFingering=!1;else{const{separation:e,deltaYaw:t}=this.fingerPolar(s);if(!1===this.placeOnWall&&(this.goalYaw+=t),r.canScale){const t=e/this.firstRatio;this.goalScale=t<1.3&&t>.7692307692307692?1:t}}else if(2!==s.length)if(this.isRotating){const e=1.5*this.inputSource.gamepad.axes[0];this.goalYaw+=e-this.lastAngle,this.lastAngle=e}else this.isTranslating&&s.forEach((e=>{if(e.inputSource!==this.inputSource)return;let t=null;if(e.results.length>0&&(t=this.getHitPoint(e.results[0])),null==t&&(t=this.getTouchLocation()),null!=t){if(this.goalPosition.sub(this.lastDragPosition),!1===this.placeOnWall){const e=t.y-this.lastDragPosition.y;if(e<0){this.placementBox.offsetHeight=e/o,this.presentedScene.setShadowOffset(e);const s=An.copy(r.getCamera().position),A=-e/(s.y-t.y);s.multiplyScalar(A),t.multiplyScalar(1-A).add(s)}}this.goalPosition.add(t),this.lastDragPosition.copy(t)}}));else{this.isTranslating=!1,this.isRotating=!1,this.isTwoFingering=!0;const{separation:e}=this.fingerPolar(s);this.firstRatio=e/o}}moveScene(e){const t=this.presentedScene,{position:s,yaw:r}=t,o=t.boundingSphere.radius,A=this.goalPosition,l=t.scale.x,h=this.placementBox;let c=Zs.NONE;if(!A.equals(s)||this.goalScale!==l){c=Zs.USER_INTERACTION;let{x:r,y:d,z:g}=s;r=this.xDamper.update(r,A.x,e,o),d=this.yDamper.update(d,A.y,e,o),g=this.zDamper.update(g,A.z,e,o),s.set(r,d,g);const p=this.scaleDamper.update(l,this.goalScale,e,1);if(t.scale.set(p,p,p),!this.isTranslating){const e=A.y-d;this.placementComplete&&!1===this.placeOnWall?(h.offsetHeight=e/p,t.setShadowOffset(e)):0===e&&(this.placementComplete=!0,h.show=!1,t.setShadowIntensity(.8))}}h.updateOpacity(e),t.updateTarget(e),t.yaw=this.yawDamper.update(r,this.goalYaw,e,Math.PI),t.element.dispatchEvent(new CustomEvent("camera-change",{detail:{source:c}}))}onWebXRFrame(e,t){this.frame=t,++this.frames;const s=this.threeRenderer.xr.getReferenceSpace(),r=t.getViewerPose(s);null==r&&!0===this.tracking&&this.frames>30&&(this.tracking=!1,this.dispatchEvent({type:"tracking",status:on}));const o=this.presentedScene;if(null==r||null==o||!o.element.loaded)return void this.threeRenderer.clear();!1===this.tracking&&(this.tracking=!0,this.dispatchEvent({type:"tracking",status:an}));let A=!0;for(const s of r.views){if(this.updateView(s),A){this.moveToFloor(t),this.processInput(t);const s=e-this.lastTick;this.moveScene(s),this.renderer.preRender(o,e,s),this.lastTick=e,o.renderShadow(this.threeRenderer)}this.threeRenderer.render(o,o.getCamera()),A=!1}}}function clone(e){const t=new Map,s=new Map,r=e.clone();return parallelTraverse(e,r,(function(e,r){t.set(r,e),s.set(e,r)})),r.traverse((function(e){if(!e.isSkinnedMesh)return;const r=e,o=t.get(e),A=o.skeleton.bones;r.skeleton=o.skeleton.clone(),r.bindMatrix.copy(o.bindMatrix),r.skeleton.bones=A.map((function(e){return s.get(e)})),r.bind(r.skeleton,r.bindMatrix)})),r}function parallelTraverse(e,t,s){s(e,t);for(let r=0;r<e.children.length;r++)parallelTraverse(e.children[r],t.children[r],s)}const un=Symbol("prepared"),dn=Symbol("prepare"),gn=Symbol("preparedGLTF"),pn=Symbol("clone");class GLTFInstance{constructor(e){this[gn]=e}static prepare(e){if(null==e.scene)throw new Error("Model does not have a scene");if(e[un])return e;const t=this[dn](e);return t[un]=!0,t}static[dn](e){const{scene:t}=e,s=[t];return Object.assign(Object.assign({},e),{scene:t,scenes:s})}get parser(){return this[gn].parser}get animations(){return this[gn].animations}get scene(){return this[gn].scene}get scenes(){return this[gn].scenes}get cameras(){return this[gn].cameras}get asset(){return this[gn].asset}get userData(){return this[gn].userData}clone(){return new(0,this.constructor)(this[pn]())}dispose(){this.scenes.forEach((e=>{e.traverse((e=>{const t=e;if(!t.material)return;(Array.isArray(t.material)?t.material:[t.material]).forEach((e=>{for(const t in e){const s=e[t];if(s instanceof o.xEZ){const e=s.source.data;null!=e.close&&e.close(),s.dispose()}}e.dispose()})),t.geometry.dispose()}))}))}[pn](){const e=this[gn],t=clone(this.scene);cloneVariantMaterials(t,this.scene);const s=[t],r=e.userData?Object.assign({},e.userData):{};return Object.assign(Object.assign({},e),{scene:t,scenes:s,userData:r})}}const cloneVariantMaterials=(e,t)=>{traversePair(e,t,((e,t)=>{void 0!==t.userData.variantMaterials&&(e.userData.variantMaterials=new Map(t.userData.variantMaterials)),void 0!==t.userData.variantData&&(e.userData.variantData=t.userData.variantData),void 0!==t.userData.originalMaterial&&(e.userData.originalMaterial=t.userData.originalMaterial)}))},traversePair=(e,t,s)=>{s(e,t);for(let r=0;r<e.children.length;r++)traversePair(e.children[r],t.children[r],s)},mn=Symbol("threeGLTF"),fn=Symbol("gltf"),In=Symbol("gltfElementMap"),En=Symbol("threeObjectMap"),Cn=Symbol("parallelTraverseThreeScene"),Bn=Symbol("correlateOriginalThreeGLTF"),yn=Symbol("correlateCloneThreeGLTF");class CorrelatedSceneGraph{constructor(e,t,s,r){this[mn]=e,this[fn]=t,this[In]=r,this[En]=s}static from(e,t){return null!=t?this[yn](e,t):this[Bn](e)}static[Bn](e){const t=e.parser.json,s=e.parser.associations,r=new Map,A={name:"Default"},l={type:"materials",index:-1};for(const e of s.keys())e instanceof o.F5T&&null==s.get(e)&&(l.index<0&&(null==t.materials&&(t.materials=[]),l.index=t.materials.length,t.materials.push(A)),e.name=A.name,s.set(e,{materials:l.index}));for(const[e,o]of s){o&&(e.userData=e.userData||{},e.userData.associations=o);for(const s in o)if(null!=s&&"primitives"!==s){const A=s,l=(t[A]||[])[o[A]];if(null==l)continue;let h=r.get(l);null==h&&(h=new Set,r.set(l,h)),h.add(e)}}return new CorrelatedSceneGraph(e,t,s,r)}static[yn](e,t){const s=t.threeGLTF,r=t.gltf,o=JSON.parse(JSON.stringify(r)),A=new Map,l=new Map;for(let r=0;r<s.scenes.length;r++)this[Cn](s.scenes[r],e.scenes[r],((e,s)=>{const r=t.threeObjectMap.get(e);if(null!=r)for(const e in r)if(null!=e&&"primitives"!==e){const t=e,h=r[t],c=o[t][h],d=A.get(s)||{};d[t]=h,A.set(s,d);const g=l.get(c)||new Set;g.add(s),l.set(c,g)}}));return new CorrelatedSceneGraph(e,o,A,l)}static[Cn](e,t,s){const traverse=(e,t)=>{if(s(e,t),e.isObject3D){const r=e,o=t;if(r.material)if(Array.isArray(r.material))for(let e=0;e<r.material.length;++e)s(r.material[e],o.material[e]);else s(r.material,o.material);for(let s=0;s<e.children.length;++s)traverse(e.children[s],t.children[s])}};traverse(e,t)}get threeGLTF(){return this[mn]}get gltf(){return this[fn]}get gltfElementMap(){return this[In]}get threeObjectMap(){return this[En]}}const wn=Symbol("correlatedSceneGraph");class ModelViewerGLTFInstance extends GLTFInstance{static[dn](e){const t=super[dn](e);null==t[wn]&&(t[wn]=CorrelatedSceneGraph.from(t));const{scene:s}=t,r=new o.aLr(void 0,1/0);return s.traverse((e=>{e.renderOrder=1e3,e.frustumCulled=!1,e.name||(e.name=e.uuid);const s=e;if(s.material){const{geometry:e}=s;s.castShadow=!0,s.isSkinnedMesh&&(e.boundingSphere=r,e.boundingBox=null);const A=s.material;if(!0===A.isMeshBasicMaterial&&(A.toneMapped=!1),A.shadowSide=o.Wl3,A.aoMap){const{gltf:s,threeObjectMap:r}=t[wn],o=r.get(A);if(null!=s.materials&&null!=o&&null!=o.materials){const t=s.materials[o.materials];t.occlusionTexture&&0===t.occlusionTexture.texCoord&&null!=e.attributes.uv&&e.setAttribute("uv2",e.attributes.uv)}}}})),t}get correlatedSceneGraph(){return this[gn][wn]}[pn](){const e=super[pn](),t=new Map;return e.scene.traverse((e=>{const s=e;if(s.material){const e=s.material;if(null!=e){if(t.has(e.uuid))return void(s.material=t.get(e.uuid));s.material=e.clone(),t.set(e.uuid,s.material)}}const r=e;void 0!==r.target&&r.add(r.target)})),e[wn]=CorrelatedSceneGraph.from(e,this.correlatedSceneGraph),e}}var vn=s(25108);const getBufferForType=(e,t,s)=>{let r;switch(e){case o.ywz:r=new Uint8ClampedArray(t*s*4);break;case o.cLu:r=new Uint16Array(t*s*4);break;case o.JQ4:r=new Uint32Array(t*s*4);break;case o.T95:r=new Int8Array(t*s*4);break;case o.iAb:r=new Int16Array(t*s*4);break;case o.Kz5:r=new Int32Array(t*s*4);break;case o.VzW:r=new Float32Array(t*s*4);break;default:throw new Error("Unsupported data type")}return r};let Qn;class QuadRenderer_vDmOC3x_QuadRenderer{constructor(e){var t,s,r,A,l,h,c,d,g,p,m,f,I,E,C,B;this._rendererIsDisposable=!1,this._supportsReadPixels=!0,this.render=()=>{this._renderer.setRenderTarget(this._renderTarget);try{this._renderer.render(this._scene,this._camera)}catch(e){throw this._renderer.setRenderTarget(null),e}this._renderer.setRenderTarget(null)},this._width=e.width,this._height=e.height,this._type=e.type,this._colorSpace=e.colorSpace;const y={format:o.wk1,depthBuffer:!1,stencilBuffer:!1,type:this._type,colorSpace:this._colorSpace,anisotropy:void 0!==(null===(t=e.renderTargetOptions)||void 0===t?void 0:t.anisotropy)?null===(s=e.renderTargetOptions)||void 0===s?void 0:s.anisotropy:1,generateMipmaps:void 0!==(null===(r=e.renderTargetOptions)||void 0===r?void 0:r.generateMipmaps)&&(null===(A=e.renderTargetOptions)||void 0===A?void 0:A.generateMipmaps),magFilter:void 0!==(null===(l=e.renderTargetOptions)||void 0===l?void 0:l.magFilter)?null===(h=e.renderTargetOptions)||void 0===h?void 0:h.magFilter:o.wem,minFilter:void 0!==(null===(c=e.renderTargetOptions)||void 0===c?void 0:c.minFilter)?null===(d=e.renderTargetOptions)||void 0===d?void 0:d.minFilter:o.wem,samples:void 0!==(null===(g=e.renderTargetOptions)||void 0===g?void 0:g.samples)?null===(p=e.renderTargetOptions)||void 0===p?void 0:p.samples:void 0,wrapS:void 0!==(null===(m=e.renderTargetOptions)||void 0===m?void 0:m.wrapS)?null===(f=e.renderTargetOptions)||void 0===f?void 0:f.wrapS:o.uWy,wrapT:void 0!==(null===(I=e.renderTargetOptions)||void 0===I?void 0:I.wrapT)?null===(E=e.renderTargetOptions)||void 0===E?void 0:E.wrapT:o.uWy};if(this._material=e.material,e.renderer?this._renderer=e.renderer:(this._renderer=QuadRenderer_vDmOC3x_QuadRenderer.instantiateRenderer(),this._rendererIsDisposable=!0),this._scene=new o.xsS,this._camera=new o.iKG,this._camera.position.set(0,0,10),this._camera.left=-.5,this._camera.right=.5,this._camera.top=.5,this._camera.bottom=-.5,this._camera.updateProjectionMatrix(),!((e,t,s,r)=>{if(void 0!==Qn)return Qn;const A=new o.dd2(1,1,r);t.setRenderTarget(A);const l=new o.Kj0(new o._12,new o.vBJ({color:16777215}));t.render(l,s),t.setRenderTarget(null);const h=getBufferForType(e,A.width,A.height);return t.readRenderTargetPixels(A,0,0,A.width,A.height,h),A.dispose(),l.geometry.dispose(),l.material.dispose(),Qn=0!==h[0],Qn})(this._type,this._renderer,this._camera,y)){let e;if(this._type===o.cLu)e=this._renderer.extensions.has("EXT_color_buffer_float")?o.VzW:void 0;void 0!==e?(vn.warn(`This browser does not support reading pixels from ${this._type} RenderTargets, switching to ${o.VzW}`),this._type=e):(this._supportsReadPixels=!1,vn.warn("This browser dos not support toArray or toDataTexture, calls to those methods will result in an error thrown"))}this._quad=new o.Kj0(new o._12,this._material),this._quad.geometry.computeBoundingBox(),this._scene.add(this._quad),this._renderTarget=new o.dd2(this.width,this.height,y),this._renderTarget.texture.mapping=void 0!==(null===(C=e.renderTargetOptions)||void 0===C?void 0:C.mapping)?null===(B=e.renderTargetOptions)||void 0===B?void 0:B.mapping:o.xfE}static instantiateRenderer(){const e=new o.CP7;return e.setSize(128,128),e}toArray(){if(!this._supportsReadPixels)throw new Error("Can't read pixels in this browser");const e=getBufferForType(this._type,this._width,this._height);return this._renderer.readRenderTargetPixels(this._renderTarget,0,0,this._width,this._height,e),e}toDataTexture(e){const t=new o.IEO(this.toArray(),this.width,this.height,o.wk1,this._type,(null==e?void 0:e.mapping)||o.xfE,(null==e?void 0:e.wrapS)||o.uWy,(null==e?void 0:e.wrapT)||o.uWy,(null==e?void 0:e.magFilter)||o.wem,(null==e?void 0:e.minFilter)||o.wem,(null==e?void 0:e.anisotropy)||1,o.GUF);return t.generateMipmaps=void 0!==(null==e?void 0:e.generateMipmaps)&&(null==e?void 0:e.generateMipmaps),t}disposeOnDemandRenderer(){this._renderer.setRenderTarget(null),this._rendererIsDisposable&&(this._renderer.dispose(),this._renderer.forceContextLoss())}dispose(e){this.disposeOnDemandRenderer(),e&&this.renderTarget.dispose(),this.material instanceof o.jyz&&Object.values(this.material.uniforms).forEach((e=>{e.value instanceof o.xEZ&&e.value.dispose()})),Object.values(this.material).forEach((e=>{e instanceof o.xEZ&&e.dispose()})),this.material.dispose(),this._quad.geometry.dispose()}get width(){return this._width}set width(e){this._width=e,this._renderTarget.setSize(this._width,this._height)}get height(){return this._height}set height(e){this._height=e,this._renderTarget.setSize(this._width,this._height)}get renderer(){return this._renderer}get renderTarget(){return this._renderTarget}set renderTarget(e){this._renderTarget=e,this._width=e.width,this._height=e.height}get material(){return this._material}get type(){return this._type}get colorSpace(){return this._colorSpace}}var xn=s(25108);class GainMapDecoderMaterial extends o.jyz{constructor({gamma:e,offsetHdr:t,offsetSdr:s,gainMapMin:r,gainMapMax:A,maxDisplayBoost:l,hdrCapacityMin:h,hdrCapacityMax:c,sdr:d,gainMap:g}){super({name:"GainMapDecoderMaterial",vertexShader:"\nvarying vec2 vUv;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\n// min half float value\n#define HALF_FLOAT_MIN vec3( -65504, -65504, -65504 )\n// max half float value\n#define HALF_FLOAT_MAX vec3( 65504, 65504, 65504 )\n\nuniform sampler2D sdr;\nuniform sampler2D gainMap;\nuniform vec3 gamma;\nuniform vec3 offsetHdr;\nuniform vec3 offsetSdr;\nuniform vec3 gainMapMin;\nuniform vec3 gainMapMax;\nuniform float weightFactor;\n\nvarying vec2 vUv;\n\nvoid main() {\n vec3 rgb = texture2D( sdr, vUv ).rgb;\n vec3 recovery = texture2D( gainMap, vUv ).rgb;\n vec3 logRecovery = pow( recovery, gamma );\n vec3 logBoost = gainMapMin * ( 1.0 - logRecovery ) + gainMapMax * logRecovery;\n vec3 hdrColor = (rgb + offsetSdr) * exp2( logBoost * weightFactor ) - offsetHdr;\n vec3 clampedHdrColor = max( HALF_FLOAT_MIN, min( HALF_FLOAT_MAX, hdrColor ));\n gl_FragColor = vec4( clampedHdrColor , 1.0 );\n}\n",uniforms:{sdr:{value:d},gainMap:{value:g},gamma:{value:new o.Pa4(1/e[0],1/e[1],1/e[2])},offsetHdr:{value:(new o.Pa4).fromArray(t)},offsetSdr:{value:(new o.Pa4).fromArray(s)},gainMapMin:{value:(new o.Pa4).fromArray(r)},gainMapMax:{value:(new o.Pa4).fromArray(A)},weightFactor:{value:(Math.log2(l)-h)/(c-h)}},blending:o.jFi,depthTest:!1,depthWrite:!1}),this._maxDisplayBoost=l,this._hdrCapacityMin=h,this._hdrCapacityMax=c,this.needsUpdate=!0,this.uniformsNeedUpdate=!0}get sdr(){return this.uniforms.sdr.value}set sdr(e){this.uniforms.sdr.value=e}get gainMap(){return this.uniforms.gainMap.value}set gainMap(e){this.uniforms.gainMap.value=e}get offsetHdr(){return this.uniforms.offsetHdr.value.toArray()}set offsetHdr(e){this.uniforms.offsetHdr.value.fromArray(e)}get offsetSdr(){return this.uniforms.offsetSdr.value.toArray()}set offsetSdr(e){this.uniforms.offsetSdr.value.fromArray(e)}get gainMapMin(){return this.uniforms.gainMapMin.value.toArray()}set gainMapMin(e){this.uniforms.gainMapMin.value.fromArray(e)}get gainMapMax(){return this.uniforms.gainMapMax.value.toArray()}set gainMapMax(e){this.uniforms.gainMapMax.value.fromArray(e)}get gamma(){const e=this.uniforms.gamma.value;return[1/e.x,1/e.y,1/e.z]}set gamma(e){const t=this.uniforms.gamma.value;t.x=1/e[0],t.y=1/e[1],t.z=1/e[2]}get hdrCapacityMin(){return this._hdrCapacityMin}set hdrCapacityMin(e){this._hdrCapacityMin=e,this.calculateWeight()}get hdrCapacityMax(){return this._hdrCapacityMax}set hdrCapacityMax(e){this._hdrCapacityMax=e,this.calculateWeight()}get maxDisplayBoost(){return this._maxDisplayBoost}set maxDisplayBoost(e){this._maxDisplayBoost=Math.max(1,Math.min(65504,e)),this.calculateWeight()}calculateWeight(){const e=(Math.log2(this._maxDisplayBoost)-this._hdrCapacityMin)/(this._hdrCapacityMax-this._hdrCapacityMin);this.uniforms.weightFactor.value=Math.max(0,Math.min(1,e))}}class GainMapNotFoundError extends Error{}class XMPMetadataNotFoundError extends Error{}const getAttribute=(e,t,s)=>{var r;let o;const A=null===(r=e.attributes.getNamedItem(t))||void 0===r?void 0:r.nodeValue;if(A)o=A;else{const r=e.getElementsByTagName(t)[0];if(!r){if(s)return s;throw new Error(`Can't find ${t} in gainmap metadata`)}{const e=r.getElementsByTagName("rdf:li");if(3!==e.length)throw new Error(`Gainmap metadata contains an array of items for ${t} but its length is not 3`);o=Array.from(e).map((e=>e.innerHTML))}}return o};class MPFExtractor{constructor(e){this.options={debug:!(!e||void 0===e.debug)&&e.debug,extractFII:!e||void 0===e.extractFII||e.extractFII,extractNonFII:!e||void 0===e.extractNonFII||e.extractNonFII}}extract(e){return new Promise(((t,s)=>{const r=this.options.debug,o=new DataView(e.buffer);if(65496!==o.getUint16(0))return void s(new Error("Not a valid jpeg"));const A=o.byteLength;let l,h=2,c=0;for(;h<A;){if(++c>250)return void s(new Error(`Found no marker after ${c} loops 😵`));if(255!==o.getUint8(h))return void s(new Error(`Not a valid marker at offset 0x${h.toString(16)}, found: 0x${o.getUint8(h).toString(16)}`));if(l=o.getUint8(h+1),r&&xn.log(`Marker: ${l.toString(16)}`),226===l){r&&xn.log("Found APP2 marker (0xffe2)");const e=h+4;if(1297106432===o.getUint32(e)){const r=e+4;let A;if(18761===o.getUint16(r))A=!1;else{if(19789!==o.getUint16(r))return void s(new Error("No valid endianness marker found in TIFF header"));A=!0}if(42!==o.getUint16(r+2,!A))return void s(new Error("Not valid TIFF data! (no 0x002A marker)"));const l=o.getUint32(r+4,!A);if(l<8)return void s(new Error("Not valid TIFF data! (First offset less than 8)"));const h=r+l,c=o.getUint16(h,!A),d=h+2;let g=0;for(let e=d;e<d+12*c;e+=12)45057===o.getUint16(e,!A)&&(g=o.getUint32(e+8,!A));const p=h+2+12*c+4,m=[];for(let e=p;e<p+16*g;e+=16){const t={MPType:o.getUint32(e,!A),size:o.getUint32(e+4,!A),dataOffset:o.getUint32(e+8,!A),dependantImages:o.getUint32(e+12,!A),start:-1,end:-1,isFII:!1};t.dataOffset?(t.start=r+t.dataOffset,t.isFII=!1):(t.start=0,t.isFII=!0),t.end=t.start+t.size,m.push(t)}if(this.options.extractNonFII&&m.length){const e=new Blob([o]),s=[];for(const t of m){if(t.isFII&&!this.options.extractFII)continue;const r=e.slice(t.start,t.end+1,"image/jpeg");s.push(r)}t(s)}}}h+=2+o.getUint16(h+2)}}))}}const extractGainmapFromJPEG=async e=>{const t=(e=>{var t,s;let r;r="undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):e.toString();let o=r.indexOf("<x:xmpmeta");const A=new DOMParser;for(;-1!==o;){const e=r.indexOf("x:xmpmeta>",o);r.slice(o,e+10);const l=r.slice(o,e+10);try{const e=A.parseFromString(l,"text/xml").getElementsByTagName("rdf:Description")[0],r=getAttribute(e,"hdrgm:GainMapMin","0"),o=getAttribute(e,"hdrgm:GainMapMax"),h=getAttribute(e,"hdrgm:Gamma","1"),c=getAttribute(e,"hdrgm:OffsetSDR","0.015625"),d=getAttribute(e,"hdrgm:OffsetHDR","0.015625");let g=null===(t=e.attributes.getNamedItem("hdrgm:HDRCapacityMin"))||void 0===t?void 0:t.nodeValue;g||(g="0");const p=null===(s=e.attributes.getNamedItem("hdrgm:HDRCapacityMax"))||void 0===s?void 0:s.nodeValue;if(!p)throw new Error("Incomplete gainmap metadata");return{gainMapMin:Array.isArray(r)?r.map((e=>parseFloat(e))):[parseFloat(r),parseFloat(r),parseFloat(r)],gainMapMax:Array.isArray(o)?o.map((e=>parseFloat(e))):[parseFloat(o),parseFloat(o),parseFloat(o)],gamma:Array.isArray(h)?h.map((e=>parseFloat(e))):[parseFloat(h),parseFloat(h),parseFloat(h)],offsetSdr:Array.isArray(c)?c.map((e=>parseFloat(e))):[parseFloat(c),parseFloat(c),parseFloat(c)],offsetHdr:Array.isArray(d)?d.map((e=>parseFloat(e))):[parseFloat(d),parseFloat(d),parseFloat(d)],hdrCapacityMin:parseFloat(g),hdrCapacityMax:parseFloat(p)}}catch(e){}o=r.indexOf("<x:xmpmeta",e)}})(e);if(!t)throw new XMPMetadataNotFoundError("Gain map XMP metadata not found");const s=new MPFExtractor({extractFII:!0,extractNonFII:!0}),r=await s.extract(e);if(2!==r.length)throw new GainMapNotFoundError("Gain map recovery image not found");return{sdr:new Uint8Array(await r[0].arrayBuffer()),gainMap:new Uint8Array(await r[1].arrayBuffer()),metadata:t}},getHTMLImageFromBlob=e=>new Promise(((t,s)=>{const r=document.createElement("img");r.onload=()=>{t(r)},r.onerror=e=>{s(e)},r.src=URL.createObjectURL(e)}));class LoaderBase extends o.aNw{constructor(e,t){super(t),this._renderer=e,this._internalLoadingManager=new o.lLk}setRenderTargetOptions(e){return this._renderTargetOptions=e,this}prepareQuadRenderer(){const e=new GainMapDecoderMaterial({gainMapMax:[1,1,1],gainMapMin:[0,0,0],gamma:[1,1,1],offsetHdr:[1,1,1],offsetSdr:[1,1,1],hdrCapacityMax:1,hdrCapacityMin:0,maxDisplayBoost:1,gainMap:new o.xEZ,sdr:new o.xEZ});return new QuadRenderer_vDmOC3x_QuadRenderer({width:16,height:16,type:o.cLu,colorSpace:o.GUF,material:e,renderer:this._renderer,renderTargetOptions:this._renderTargetOptions})}async render(e,t,s,r){const A=r?new Blob([r],{type:"image/jpeg"}):void 0,l=new Blob([s],{type:"image/jpeg"});let h,c,d=!1;if("undefined"==typeof createImageBitmap){const e=await Promise.all([A?getHTMLImageFromBlob(A):Promise.resolve(void 0),getHTMLImageFromBlob(l)]);c=e[0],h=e[1],d=!0}else{const e=await Promise.all([A?createImageBitmap(A,{imageOrientation:"flipY"}):Promise.resolve(void 0),createImageBitmap(l,{imageOrientation:"flipY"})]);c=e[0],h=e[1]}const g=new o.xEZ(c||new ImageData(2,2),o.xfE,o.uWy,o.uWy,o.wem,o.FDw,o.wk1,o.ywz,1,o.GUF);g.flipY=d,g.needsUpdate=!0;const p=new o.xEZ(h,o.xfE,o.uWy,o.uWy,o.wem,o.FDw,o.wk1,o.ywz,1,o.KI_);p.flipY=d,p.needsUpdate=!0,e.width=h.width,e.height=h.height,e.material.gainMap=g,e.material.sdr=p,e.material.gainMapMin=t.gainMapMin,e.material.gainMapMax=t.gainMapMax,e.material.offsetHdr=t.offsetHdr,e.material.offsetSdr=t.offsetSdr,e.material.gamma=t.gamma,e.material.hdrCapacityMin=t.hdrCapacityMin,e.material.hdrCapacityMax=t.hdrCapacityMax,e.material.maxDisplayBoost=Math.pow(2,t.hdrCapacityMax),e.material.needsUpdate=!0,e.render()}}class HDRJPGLoader extends LoaderBase{load(e,t,s,r){const A=this.prepareQuadRenderer(),l=new o.hH6(this._internalLoadingManager);return l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setPath(this.path),l.setWithCredentials(this.withCredentials),this.manager.itemStart(e),l.load(e,(async s=>{if("string"==typeof s)throw new Error("Invalid buffer, received [string], was expecting [ArrayBuffer]");const o=new Uint8Array(s);let l,h,c;try{const e=await extractGainmapFromJPEG(o);l=e.sdr,h=e.gainMap,c=e.metadata}catch(t){if(!(t instanceof XMPMetadataNotFoundError||t instanceof GainMapNotFoundError))throw t;xn.warn(`Failure to reconstruct an HDR image from ${e}: Gain map metadata not found in the file, HDRJPGLoader will render the SDR jpeg`),c={gainMapMin:[0,0,0],gainMapMax:[1,1,1],gamma:[1,1,1],hdrCapacityMin:0,hdrCapacityMax:1,offsetHdr:[0,0,0],offsetSdr:[0,0,0]},l=o}try{await this.render(A,c,l,h)}catch(t){return this.manager.itemError(e),"function"==typeof r&&r(t),void A.disposeOnDemandRenderer()}"function"==typeof t&&t(A),this.manager.itemEnd(e),A.disposeOnDemandRenderer()}),s,(t=>{this.manager.itemError(e),"function"==typeof r&&r(t)})),A}}class RGBELoader extends o.yxD{constructor(e){super(e),this.type=o.cLu}parse(e){const rgbe_error=function(e,t){switch(e){case 1:throw new Error("THREE.RGBELoader: Read Error: "+(t||""));case 2:throw new Error("THREE.RGBELoader: Write Error: "+(t||""));case 3:throw new Error("THREE.RGBELoader: Bad File Format: "+(t||""));default:throw new Error("THREE.RGBELoader: Memory Error: "+(t||""))}},fgets=function(e,t,s){t=t||1024;let r=e.pos,o=-1,A=0,l="",h=String.fromCharCode.apply(null,new Uint16Array(e.subarray(r,r+128)));for(;0>(o=h.indexOf("\n"))&&A<t&&r<e.byteLength;)l+=h,A+=h.length,r+=128,h+=String.fromCharCode.apply(null,new Uint16Array(e.subarray(r,r+128)));return-1<o&&(!1!==s&&(e.pos+=A+o+1),l+h.slice(0,o))},RGBEByteToRGBFloat=function(e,t,s,r){const o=e[t+3],A=Math.pow(2,o-128)/255;s[r+0]=e[t+0]*A,s[r+1]=e[t+1]*A,s[r+2]=e[t+2]*A,s[r+3]=1},RGBEByteToRGBHalf=function(e,t,s,r){const A=e[t+3],l=Math.pow(2,A-128)/255;s[r+0]=o.A5E.toHalfFloat(Math.min(e[t+0]*l,65504)),s[r+1]=o.A5E.toHalfFloat(Math.min(e[t+1]*l,65504)),s[r+2]=o.A5E.toHalfFloat(Math.min(e[t+2]*l,65504)),s[r+3]=o.A5E.toHalfFloat(1)},t=new Uint8Array(e);t.pos=0;const s=function(e){const t=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,s=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,r=/^\s*FORMAT=(\S+)\s*$/,o=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,A={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let l,h;for((e.pos>=e.byteLength||!(l=fgets(e)))&&rgbe_error(1,"no header found"),(h=l.match(/^#\?(\S+)/))||rgbe_error(3,"bad initial token"),A.valid|=1,A.programtype=h[1],A.string+=l+"\n";l=fgets(e),!1!==l;)if(A.string+=l+"\n","#"!==l.charAt(0)){if((h=l.match(t))&&(A.gamma=parseFloat(h[1])),(h=l.match(s))&&(A.exposure=parseFloat(h[1])),(h=l.match(r))&&(A.valid|=2,A.format=h[1]),(h=l.match(o))&&(A.valid|=4,A.height=parseInt(h[1],10),A.width=parseInt(h[2],10)),2&A.valid&&4&A.valid)break}else A.comments+=l+"\n";return 2&A.valid||rgbe_error(3,"missing format specifier"),4&A.valid||rgbe_error(3,"missing image size specifier"),A}(t),r=s.width,A=s.height,l=function(e,t,s){const r=t;if(r<8||r>32767||2!==e[0]||2!==e[1]||128&e[2])return new Uint8Array(e);r!==(e[2]<<8|e[3])&&rgbe_error(3,"wrong scanline width");const o=new Uint8Array(4*t*s);o.length||rgbe_error(4,"unable to allocate buffer space");let A=0,l=0;const h=4*r,c=new Uint8Array(4),d=new Uint8Array(h);let g=s;for(;g>0&&l<e.byteLength;){l+4>e.byteLength&&rgbe_error(1),c[0]=e[l++],c[1]=e[l++],c[2]=e[l++],c[3]=e[l++],2==c[0]&&2==c[1]&&(c[2]<<8|c[3])==r||rgbe_error(3,"bad rgbe scanline format");let t,s=0;for(;s<h&&l<e.byteLength;){t=e[l++];const r=t>128;if(r&&(t-=128),(0===t||s+t>h)&&rgbe_error(3,"bad scanline data"),r){const r=e[l++];for(let e=0;e<t;e++)d[s++]=r}else d.set(e.subarray(l,l+t),s),s+=t,l+=t}const p=r;for(let e=0;e<p;e++){let t=0;o[A]=d[e+t],t+=r,o[A+1]=d[e+t],t+=r,o[A+2]=d[e+t],t+=r,o[A+3]=d[e+t],A+=4}g--}return o}(t.subarray(t.pos),r,A);let h,c,d;switch(this.type){case o.VzW:d=l.length/4;const e=new Float32Array(4*d);for(let t=0;t<d;t++)RGBEByteToRGBFloat(l,4*t,e,4*t);h=e,c=o.VzW;break;case o.cLu:d=l.length/4;const t=new Uint16Array(4*d);for(let e=0;e<d;e++)RGBEByteToRGBHalf(l,4*e,t,4*e);h=t,c=o.cLu;break;default:throw new Error("THREE.RGBELoader: Unsupported type: "+this.type)}return{width:r,height:A,data:h,header:s.string,gamma:s.gamma,exposure:s.exposure,type:c}}setDataType(e){return this.type=e,this}load(e,t,s,r){return super.load(e,(function onLoadCallback(e,s){switch(e.type){case o.VzW:case o.cLu:e.colorSpace=o.GUF,e.minFilter=o.wem,e.magFilter=o.wem,e.generateMipmaps=!1,e.flipY=!0}t&&t(e,s)}),s,r)}}const bn={topLight:{intensity:500,position:[.418,16.199,.3]},room:{position:[-.757,13.219,.717],scale:[31.713,28.305,28.591]},boxes:[{position:[-10.906,2.009,1.846],rotation:-.195,scale:[2.328,7.905,4.651]},{position:[-5.607,-.754,-.758],rotation:.994,scale:[1.97,1.534,3.955]},{position:[6.167,.857,7.803],rotation:.561,scale:[3.927,6.285,3.687]},{position:[-2.017,.018,6.124],rotation:.333,scale:[2.002,4.566,2.064]},{position:[2.291,-.756,-2.621],rotation:-.286,scale:[1.546,1.552,1.496]},{position:[-2.193,-.369,-5.547],rotation:.516,scale:[3.875,3.487,2.986]}],lights:[{intensity:50,position:[-16.116,14.37,8.208],scale:[.1,2.428,2.739]},{intensity:50,position:[-16.109,18.021,-8.207],scale:[.1,2.425,2.751]},{intensity:17,position:[14.904,12.198,-1.832],scale:[.15,4.265,6.331]},{intensity:43,position:[-.462,8.89,14.52],scale:[4.38,5.441,.088]},{intensity:20,position:[3.235,11.486,-12.541],scale:[2.5,2,.1]},{intensity:100,position:[0,20,0],scale:[1,.1,1]}]},Sn={topLight:{intensity:400,position:[.5,14,.5]},room:{position:[0,13.2,0],scale:[31.5,28.5,31.5]},boxes:[{position:[-10.906,-1,1.846],rotation:-.195,scale:[2.328,7.905,4.651]},{position:[-5.607,-.754,-.758],rotation:.994,scale:[1.97,1.534,3.955]},{position:[6.167,-.16,7.803],rotation:.561,scale:[3.927,6.285,3.687]},{position:[-2.017,.018,6.124],rotation:.333,scale:[2.002,4.566,2.064]},{position:[2.291,-.756,-2.621],rotation:-.286,scale:[1.546,1.552,1.496]},{position:[-2.193,-.369,-5.547],rotation:.516,scale:[3.875,3.487,2.986]}],lights:[{intensity:80,position:[-14,10,8],scale:[.1,2.5,2.5]},{intensity:80,position:[-14,14,-4],scale:[.1,2.5,2.5]},{intensity:23,position:[14,12,0],scale:[.1,5,5]},{intensity:16,position:[0,9,14],scale:[5,5,.1]},{intensity:80,position:[7,8,-14],scale:[2.5,2.5,.1]},{intensity:80,position:[-7,16,-14],scale:[2.5,2.5,.1]},{intensity:1,position:[0,20,0],scale:[.1,.1,.1]}]};class EnvironmentScene extends o.xsS{constructor(e){super(),this.position.y=-3.5;const t=new o.DvJ;t.deleteAttribute("uv");const s=new o.Wid({metalness:0,side:o._Li}),r=new o.Wid({metalness:0}),A="legacy"==e?bn:Sn,l=new o.cek(16777215,A.topLight.intensity,28,2);l.position.set(...A.topLight.position),this.add(l);const h=new o.Kj0(t,s);h.position.set(...A.room.position),h.scale.set(...A.room.scale),this.add(h);for(const e of A.boxes){const s=new o.Kj0(t,r);s.position.set(...e.position),s.rotation.set(0,e.rotation,0),s.scale.set(...e.scale),this.add(s)}for(const e of A.lights){const s=new o.Kj0(t,this.createAreaLightMaterial(e.intensity));s.position.set(...e.position),s.scale.set(...e.scale),this.add(s)}}createAreaLightMaterial(e){const t=new o.vBJ;return t.color.setScalar(e),t}}var Mn=s(25108);const Tn=20,Rn=/\.hdr(\.js)?$/;class TextureUtils{constructor(e){this.threeRenderer=e,this.lottieLoaderUrl="",this.withCredentials=!1,this._ldrLoader=null,this._imageLoader=null,this._hdrLoader=null,this._lottieLoader=null,this.generatedEnvironmentMap=null,this.generatedEnvironmentMapAlt=null,this.skyboxCache=new Map,this.blurMaterial=null,this.blurScene=null}get ldrLoader(){return null==this._ldrLoader&&(this._ldrLoader=new o.dpR),this._ldrLoader.setWithCredentials(this.withCredentials),this._ldrLoader}get imageLoader(){return null==this._imageLoader&&(this._imageLoader=new HDRJPGLoader(this.threeRenderer)),this._imageLoader.setWithCredentials(this.withCredentials),this._imageLoader}get hdrLoader(){return null==this._hdrLoader&&(this._hdrLoader=new RGBELoader,this._hdrLoader.setDataType(o.cLu)),this._hdrLoader.setWithCredentials(this.withCredentials),this._hdrLoader}async getLottieLoader(){if(null==this._lottieLoader){const{LottieLoader:e}=await import(this.lottieLoaderUrl);this._lottieLoader=new e}return this._lottieLoader.setWithCredentials(this.withCredentials),this._lottieLoader}async loadImage(e){const t=await new Promise(((t,s)=>this.ldrLoader.load(e,t,(()=>{}),s)));return t.name=e,t.flipY=!1,t}async loadLottie(e,t){const s=await this.getLottieLoader();s.setQuality(t);const r=await new Promise(((t,r)=>s.load(e,t,(()=>{}),r)));return r.name=e,r}async loadEquirect(e,t=(()=>{})){try{const s=Rn.test(e),r=s?this.hdrLoader:this.imageLoader,A=await new Promise(((s,o)=>r.load(e,(e=>{const{renderTarget:t}=e;if(null!=t){const{texture:r}=t;e.dispose(!1),s(r)}else s(e)}),(e=>{t(e.loaded/e.total*.9)}),o)));return t(1),A.name=e,A.mapping=o.dSO,s||(A.colorSpace=o.KI_),A}finally{t&&t(1)}}async generateEnvironmentMapAndSkybox(e=null,t=null,s=(()=>{})){const r="legacy"!==t;"legacy"!==t&&"neutral"!==t||(t=null),t=deserializeUrl(t);let o,A=Promise.resolve(null);e&&(A=this.loadEquirectFromUrl(e,s)),o=t?this.loadEquirectFromUrl(t,s):e?this.loadEquirectFromUrl(e,s):r?this.loadGeneratedEnvironmentMapAlt():this.loadGeneratedEnvironmentMap();const[l,h]=await Promise.all([o,A]);if(null==l)throw new Error("Failed to load environment map.");return{environmentMap:l,skybox:h}}async loadEquirectFromUrl(e,t){if(!this.skyboxCache.has(e)){const s=this.loadEquirect(e,t);this.skyboxCache.set(e,s)}return this.skyboxCache.get(e)}async GenerateEnvironmentMap(e,t){await((e=0)=>new Promise((t=>setTimeout(t,e))))();const s=this.threeRenderer,r=new o.oAp(256,{generateMipmaps:!1,type:o.cLu,format:o.wk1,colorSpace:o.GUF,depthBuffer:!0}),A=new o._am(.1,100,r),l=A.renderTarget.texture;l.name=t;const h=s.outputColorSpace,c=s.toneMapping;return s.toneMapping=o.uL9,s.outputColorSpace=o.GUF,A.update(s,e),this.blurCubemap(r,.04),s.toneMapping=c,s.outputColorSpace=h,l}async loadGeneratedEnvironmentMap(){return null==this.generatedEnvironmentMap&&(this.generatedEnvironmentMap=this.GenerateEnvironmentMap(new EnvironmentScene("legacy"),"legacy")),this.generatedEnvironmentMap}async loadGeneratedEnvironmentMapAlt(){return null==this.generatedEnvironmentMapAlt&&(this.generatedEnvironmentMapAlt=this.GenerateEnvironmentMap(new EnvironmentScene("neutral"),"neutral")),this.generatedEnvironmentMapAlt}blurCubemap(e,t){if(null==this.blurMaterial){this.blurMaterial=this.getBlurShader(Tn);const e=new o.DvJ,t=new o.Kj0(e,this.blurMaterial);this.blurScene=new o.xsS,this.blurScene.add(t)}const s=e.clone();this.halfblur(e,s,t,"latitudinal"),this.halfblur(s,e,t,"longitudinal")}halfblur(e,t,s,r){const A=e.width,l=isFinite(s)?Math.PI/(2*A):2*Math.PI/39,h=s/l,c=isFinite(s)?1+Math.floor(3*h):Tn;c>Tn&&Mn.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${c} samples when the maximum is set to 20`);const d=[];let g=0;for(let e=0;e<Tn;++e){const t=e/h,s=Math.exp(-t*t/2);d.push(s),0==e?g+=s:e<c&&(g+=2*s)}for(let e=0;e<d.length;e++)d[e]=d[e]/g;const p=this.blurMaterial.uniforms;p.envMap.value=e.texture,p.samples.value=c,p.weights.value=d,p.latitudinal.value="latitudinal"===r,p.dTheta.value=l;new o._am(.1,100,t).update(this.threeRenderer,this.blurScene)}getBlurShader(e){const t=new Float32Array(e),s=new o.Pa4(0,1,0);return new o.jyz({name:"SphericalGaussianBlur",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:t},latitudinal:{value:!1},dTheta:{value:0},poleAxis:{value:s}},vertexShader:"\n \n varying vec3 vOutputDirection;\n \n void main() {\n \n vOutputDirection = vec3( position );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n \n }\n ",fragmentShader:"\n varying vec3 vOutputDirection;\n \n uniform samplerCube envMap;\n uniform int samples;\n uniform float weights[ n ];\n uniform bool latitudinal;\n uniform float dTheta;\n uniform vec3 poleAxis;\n \n vec3 getSample( float theta, vec3 axis ) {\n \n float cosTheta = cos( theta );\n // Rodrigues' axis-angle rotation\n vec3 sampleDirection = vOutputDirection * cosTheta\n + cross( axis, vOutputDirection ) * sin( theta )\n + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n \n return vec3( textureCube( envMap, sampleDirection ) );\n \n }\n \n void main() {\n \n vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n \n if ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n \n axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n \n }\n \n axis = normalize( axis );\n \n gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n \n for ( int i = 1; i < n; i++ ) {\n \n if ( i >= samples ) {\n \n break;\n \n }\n \n float theta = dTheta * float( i );\n gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n \n }\n }\n ",blending:o.jFi,depthTest:!1,depthWrite:!1,side:o._Li})}async dispose(){for(const[,e]of this.skyboxCache){(await e).dispose()}null!=this.generatedEnvironmentMap&&((await this.generatedEnvironmentMap).dispose(),this.generatedEnvironmentMap=null),null!=this.generatedEnvironmentMapAlt&&((await this.generatedEnvironmentMapAlt).dispose(),this.generatedEnvironmentMapAlt=null),null!=this.blurMaterial&&this.blurMaterial.dispose()}}var Dn=s(25108);const Ln=[1,.79,.62,.5,.4,.31,.25],Fn="high-performance";class Renderer extends o.pBf{constructor(e){super(),this.loader=new CachingGLTFLoader(ModelViewerGLTFInstance),this.width=0,this.height=0,this.dpr=1,this.scenes=new Set,this.multipleScenesVisible=!1,this.lastTick=performance.now(),this.renderedLastFrame=!1,this.scaleStep=0,this.lastStep=3,this.avgFrameDuration=50,this.onWebGLContextLost=e=>{this.dispatchEvent({type:"contextlost",sourceEvent:e})},this.onWebGLContextRestored=()=>{var e;null===(e=this.textureUtils)||void 0===e||e.dispose(),this.textureUtils=new TextureUtils(this.threeRenderer);for(const e of this.scenes)e.element[Qe]()},this.dpr=Be(),this.canvas3D=document.createElement("canvas"),this.canvas3D.id="webgl-canvas",this.canvas3D.classList.add("show");try{this.threeRenderer=new o.CP7({canvas:this.canvas3D,alpha:!0,antialias:!0,powerPreference:e.powerPreference,preserveDrawingBuffer:!0}),this.threeRenderer.autoClear=!0,this.threeRenderer.setPixelRatio(1),this.threeRenderer.debug={checkShaderErrors:!!e.debug,onShaderError:null},this.threeRenderer.toneMapping=o.LY2}catch(e){Dn.warn(e)}this.arRenderer=new ARRenderer(this),this.textureUtils=this.canRender?new TextureUtils(this.threeRenderer):null,CachingGLTFLoader.initializeKTX2Loader(this.threeRenderer),this.canvas3D.addEventListener("webglcontextlost",this.onWebGLContextLost),this.canvas3D.addEventListener("webglcontextrestored",this.onWebGLContextRestored),this.updateRendererSize()}static get singleton(){return this._singleton||(this._singleton=new Renderer({powerPreference:(self.ModelViewerElement||{}).powerPreference||Fn,debug:ye()})),this._singleton}static resetSingleton(){const e=this._singleton.dispose();for(const t of e)t.disconnectedCallback();this._singleton=new Renderer({powerPreference:(self.ModelViewerElement||{}).powerPreference||Fn,debug:ye()});for(const t of e)t.connectedCallback()}get canRender(){return null!=this.threeRenderer}get scaleFactor(){return Ln[this.scaleStep]}set minScale(e){let t=1;for(;t<Ln.length&&!(Ln[t]<e);)++t;this.lastStep=t-1}registerScene(e){this.scenes.add(e),e.forceRescale();const t=new o.FM8;this.threeRenderer.getSize(t),e.canvas.width=t.x,e.canvas.height=t.y,this.canRender&&this.scenes.size>0&&this.threeRenderer.setAnimationLoop(((e,t)=>this.render(e,t)))}unregisterScene(e){this.scenes.delete(e),this.canvas3D.parentElement===e.canvas.parentElement&&e.canvas.parentElement.removeChild(this.canvas3D),this.canRender&&0===this.scenes.size&&this.threeRenderer.setAnimationLoop(null)}displayCanvas(e){return e.element.modelIsVisible&&!this.multipleScenesVisible?this.canvas3D:e.element[Ao]}countVisibleScenes(){const{canvas3D:e}=this;let t=0,s=null;for(const r of this.scenes){const{element:o}=r;o.modelIsVisible&&null==r.externalRenderer&&++t,e.parentElement===r.canvas.parentElement&&(s=r)}const r=t>1;if(null!=s){const t=r&&!this.multipleScenesVisible,o=!s.element.modelIsVisible;if(t||o){const{width:t,height:r}=this.sceneSize(s);this.copyPixels(s,t,r),e.parentElement.removeChild(e)}}this.multipleScenesVisible=r}updateRendererSize(){var e;const t=Be();if(t!==this.dpr)for(const e of this.scenes){const{element:t}=e;t[ja](t.getBoundingClientRect())}let s=0,r=0;for(const e of this.scenes)s=Math.max(s,e.width),r=Math.max(r,e.height);if(s!==this.width||r!==this.height||t!==this.dpr){this.width=s,this.height=r,this.dpr=t,s=Math.ceil(s*t),r=Math.ceil(r*t),this.canRender&&this.threeRenderer.setSize(s,r,!1);for(const t of this.scenes){const{canvas:o}=t;o.width=s,o.height=r,t.forceRescale(),null===(e=t.effectRenderer)||void 0===e||e.setSize(s,r)}}}updateRendererScale(e){const t=this.scaleStep;this.avgFrameDuration+=clamp(.2*(e-this.avgFrameDuration),-5,5),this.avgFrameDuration>60?++this.scaleStep:this.avgFrameDuration<40&&this.scaleStep>0&&--this.scaleStep,this.scaleStep=Math.min(this.scaleStep,this.lastStep),t!==this.scaleStep&&(this.avgFrameDuration=50)}shouldRender(e){if(e.shouldRender())e.scaleStep!=this.scaleStep&&(e.scaleStep=this.scaleStep,this.rescaleCanvas(e));else{if(0==e.scaleStep)return!1;e.scaleStep=0,this.rescaleCanvas(e)}return!0}rescaleCanvas(e){const t=Ln[e.scaleStep],s=Math.ceil(this.width/t),r=Math.ceil(this.height/t),{style:o}=e.canvas;o.width=`${s}px`,o.height=`${r}px`,this.canvas3D.style.width=`${s}px`,this.canvas3D.style.height=`${r}px`;const A=this.dpr*t,l=t<1?"GPU throttling":this.dpr!==window.devicePixelRatio?"No meta viewport tag":"";e.element.dispatchEvent(new CustomEvent("render-scale",{detail:{reportedDpr:window.devicePixelRatio,renderedDpr:A,minimumDpr:this.dpr*Ln[this.lastStep],pixelWidth:Math.ceil(e.width*A),pixelHeight:Math.ceil(e.height*A),reason:l}}))}sceneSize(e){const{dpr:t}=this,s=Ln[e.scaleStep];return{width:Math.min(Math.ceil(e.width*s*t),this.canvas3D.width),height:Math.min(Math.ceil(e.height*s*t),this.canvas3D.height)}}copyPixels(e,t,s){const r=e.context;null!=r?(r.clearRect(0,0,t,s),r.drawImage(this.canvas3D,0,0,t,s,0,0,t,s),e.canvas.classList.add("show")):Dn.log("could not acquire 2d context")}orderedScenes(){const e=[];for(const t of[!1,!0])for(const s of this.scenes)s.element.modelIsVisible===t&&e.push(s);return e}get isPresenting(){return this.arRenderer.isPresenting}preRender(e,t,s){const{element:r,exposure:A,toneMapping:l}=e;r[co](t,s);const h="number"==typeof A&&!Number.isNaN(A),c=r.environmentImage,d=r.skyboxImage,g=l===o.ORg&&("neutral"===c||"legacy"===c||!c&&!d);this.threeRenderer.toneMappingExposure=(h?A:1)*(g?1.3:1)}render(e,t){if(null!=t)return void this.arRenderer.onWebXRFrame(e,t);const s=e-this.lastTick;if(this.lastTick=e,!this.canRender||this.isPresenting)return;this.countVisibleScenes(),this.updateRendererSize(),this.renderedLastFrame&&(this.updateRendererScale(s),this.renderedLastFrame=!1);const{canvas3D:r}=this;for(const t of this.orderedScenes()){const{element:o}=t;if(!o.loaded||!o.modelIsVisible&&t.renderCount>0)continue;if(this.preRender(t,e,s),!this.shouldRender(t))continue;if(null!=t.externalRenderer){const e=t.getCamera();e.updateMatrix();const{matrix:s,projectionMatrix:r}=e,o=s.elements.slice(),A=t.getTarget();o[12]+=A.x,o[13]+=A.y,o[14]+=A.z,t.externalRenderer.render({viewMatrix:o,projectionMatrix:r.elements});continue}if(!o.modelIsVisible&&!this.multipleScenesVisible)for(const e of this.scenes)e.element.modelIsVisible&&e.queueRender();const{width:A,height:l}=this.sceneSize(t);t.renderShadow(this.threeRenderer),this.threeRenderer.setRenderTarget(null),this.threeRenderer.setViewport(0,Math.ceil(this.height*this.dpr)-l,A,l),null!=t.effectRenderer?t.effectRenderer.render(s):(this.threeRenderer.autoClear=!0,this.threeRenderer.toneMapping=t.toneMapping,this.threeRenderer.render(t,t.camera)),this.multipleScenesVisible||!t.element.modelIsVisible&&0===t.renderCount?this.copyPixels(t,A,l):r.parentElement!==t.canvas.parentElement&&(t.canvas.parentElement.appendChild(r),t.canvas.classList.remove("show")),t.hasRendered(),++t.renderCount,this.renderedLastFrame=!0}}dispose(){null!=this.textureUtils&&this.textureUtils.dispose(),null!=this.threeRenderer&&this.threeRenderer.dispose(),this.textureUtils=null,this.threeRenderer=null;const e=[];for(const t of this.scenes)e.push(t.element);return this.canvas3D.removeEventListener("webglcontextlost",this.onWebGLContextLost),this.canvas3D.removeEventListener("webglcontextrestored",this.onWebGLContextRestored),e}}const kn=Symbol("correlatedObjects"),_n=Symbol("onUpdate");class ThreeDOMElement{constructor(e,t=null){this[_n]=e,this[kn]=t}}const Un=new o.vBJ,Gn=new o._12(2,2);let Nn=0;const Pn=Symbol("threeTexture"),On=Symbol("threeTextures");Symbol("applyTexture");class image_Image extends ThreeDOMElement{get[Pn](){var e;return null===(e=this[kn])||void 0===e?void 0:e.values().next().value}get[On](){return this[kn]}constructor(e,t){super(e,new Set(t?[t]:[])),this[Pn].image.src||(this[Pn].image.src=t.name?t.name:"adhoc_image"+Nn++),this[Pn].image.name||(this[Pn].image.name=t&&t.image&&t.image.src?t.image.src.split("/").pop():"adhoc_image")}get name(){return this[Pn].image.name||""}get uri(){return this[Pn].image.src}get bufferView(){return this[Pn].image.bufferView}get element(){const e=this[Pn];if(e&&(e.isCanvasTexture||e.isVideoTexture))return e.image}get animation(){const e=this[Pn];if(e&&e.isCanvasTexture&&e.animation)return e.animation}get type(){return null!=this.uri?"external":"embedded"}set name(e){for(const t of this[On])t.image.name=e}update(){const e=this[Pn];e&&e.isCanvasTexture&&!e.animation&&(this[Pn].needsUpdate=!0,this[_n]())}async createThumbnail(e,t){const s=new o.xsS;Un.map=this[Pn];const r=new o.Kj0(Gn,Un);s.add(r);const A=new o.iKG(-1,1,1,-1,0,1),{threeRenderer:l}=Renderer.singleton,h=new o.dd2(e,t);l.setRenderTarget(h),l.render(s,A),l.setRenderTarget(null);const c=new Uint8Array(e*t*4);l.readRenderTargetPixels(h,0,0,e,t,c),Na.width=e,Na.height=t;const d=Na.getContext("2d"),g=d.createImageData(e,t);return g.data.set(c),d.putImageData(g,0,0),new Promise((async(e,t)=>{Na.toBlob((s=>{if(!s)return t("Failed to capture thumbnail.");e(URL.createObjectURL(s))}),"image/png")}))}}var Hn,Vn;!function(e){e[e.Nearest=9728]="Nearest",e[e.Linear=9729]="Linear",e[e.NearestMipmapNearest=9984]="NearestMipmapNearest",e[e.LinearMipmapNearest=9985]="LinearMipmapNearest",e[e.NearestMipmapLinear=9986]="NearestMipmapLinear",e[e.LinearMipmapLinear=9987]="LinearMipmapLinear"}(Hn||(Hn={})),function(e){e[e.ClampToEdge=33071]="ClampToEdge",e[e.MirroredRepeat=33648]="MirroredRepeat",e[e.Repeat=10497]="Repeat"}(Vn||(Vn={}));const qn=new Map([[Vn.Repeat,o.rpg],[Vn.ClampToEdge,o.uWy],[Vn.MirroredRepeat,o.OoA]]),Kn=new Map([[o.rpg,Vn.Repeat],[o.uWy,Vn.ClampToEdge],[o.OoA,Vn.MirroredRepeat]]),Jn=new Map([[Hn.Nearest,o.TyD],[Hn.Linear,o.wem],[Hn.NearestMipmapNearest,o.YLQ],[Hn.LinearMipmapNearest,o.qyh],[Hn.NearestMipmapLinear,o.aH4],[Hn.LinearMipmapLinear,o.D1R]]),zn=new Map([[o.TyD,Hn.Nearest],[o.wem,Hn.Linear],[o.YLQ,Hn.NearestMipmapNearest],[o.qyh,Hn.LinearMipmapNearest],[o.aH4,Hn.NearestMipmapLinear],[o.D1R,Hn.LinearMipmapLinear]]),Yn=new Map([[Hn.Nearest,o.TyD],[Hn.Linear,o.wem]]),jn=new Map([[o.TyD,Hn.Nearest],[o.wem,Hn.Linear]]),isMinFilter=e=>zn.has(e),isMagFilter=e=>jn.has(e),isWrapping=e=>Kn.has(e),$n=Symbol("threeTexture"),Wn=Symbol("threeTextures"),Xn=Symbol("setProperty");class Sampler extends ThreeDOMElement{get[$n](){var e;return null===(e=this[kn])||void 0===e?void 0:e.values().next().value}get[Wn](){return this[kn]}constructor(e,t){super(e,new Set(t?[t]:[]))}get name(){return this[$n].name||""}get minFilter(){return zn.get(this[$n].minFilter)}get magFilter(){return jn.get(this[$n].magFilter)}get wrapS(){return Kn.get(this[$n].wrapS)}get wrapT(){return Kn.get(this[$n].wrapT)}get rotation(){return this[$n].rotation}get scale(){return toVector2D(this[$n].repeat)}get offset(){return toVector2D(this[$n].offset)}setMinFilter(e){this[Xn]("minFilter",Jn.get(e))}setMagFilter(e){this[Xn]("magFilter",Yn.get(e))}setWrapS(e){this[Xn]("wrapS",qn.get(e))}setWrapT(e){this[Xn]("wrapT",qn.get(e))}setRotation(e){null==e&&(e=0),this[Xn]("rotation",e)}setScale(e){null==e&&(e={u:1,v:1}),this[Xn]("repeat",new o.FM8(e.u,e.v))}setOffset(e){null==e&&(e={u:0,v:0}),this[Xn]("offset",new o.FM8(e.u,e.v))}[Xn](e,t){if(((e,t)=>{switch(e){case"minFilter":return isMinFilter(t);case"magFilter":return isMagFilter(t);case"wrapS":case"wrapT":return isWrapping(t);case"rotation":case"repeat":case"offset":return!0;default:throw new Error(`Cannot configure property "${e}" on Sampler`)}})(e,t))for(const s of this[Wn])s[e]=t,s.needsUpdate=!0;this[_n]()}}const Zn=Symbol("image"),er=Symbol("sampler"),tr=Symbol("threeTexture");class Texture extends ThreeDOMElement{constructor(e,t){super(e,new Set(t?[t]:[])),this[er]=new Sampler(e,t),this[Zn]=new image_Image(e,t)}get[tr](){var e;return null===(e=this[kn])||void 0===e?void 0:e.values().next().value}get name(){return this[tr].name||""}set name(e){for(const t of this[kn])t.name=e}get sampler(){return this[er]}get source(){return this[Zn]}}var ir,sr,nr;const rr=Symbol("texture"),ar=Symbol("transform"),or=Symbol("materials"),Ar=Symbol("usage"),lr=Symbol("onUpdate"),hr=Symbol("activeVideo");var cr;!function(e){e[e.Base=0]="Base",e[e.MetallicRoughness=1]="MetallicRoughness",e[e.Normal=2]="Normal",e[e.Occlusion=3]="Occlusion",e[e.Emissive=4]="Emissive",e[e.Clearcoat=5]="Clearcoat",e[e.ClearcoatRoughness=6]="ClearcoatRoughness",e[e.ClearcoatNormal=7]="ClearcoatNormal",e[e.SheenColor=8]="SheenColor",e[e.SheenRoughness=9]="SheenRoughness",e[e.Transmission=10]="Transmission",e[e.Thickness=11]="Thickness",e[e.Specular=12]="Specular",e[e.SpecularColor=13]="SpecularColor",e[e.Iridescence=14]="Iridescence",e[e.IridescenceThickness=15]="IridescenceThickness",e[e.Anisotropy=16]="Anisotropy"}(cr||(cr={}));class TextureInfo{constructor(e,t,s,r){this[ir]=null,this[sr]={rotation:0,scale:new o.FM8(1,1),offset:new o.FM8(0,0)},this[nr]=!1,s&&(this[ar].rotation=s.rotation,this[ar].scale.copy(s.repeat),this[ar].offset.copy(s.offset),this[rr]=new Texture(e,s)),this[lr]=e,this[or]=r,this[Ar]=t}get texture(){return this[rr]}setTexture(e){var t,s;const r=null!=e?e.source[Pn]:null,A=null===(t=this[rr])||void 0===t?void 0:t.source[Pn];if(null!=A&&A.isVideoTexture?this[hr]=!1:(null===(s=this[rr])||void 0===s?void 0:s.source.animation)&&this[rr].source.animation.removeEventListener("enterFrame",this[lr]),this[rr]=e,null!=r&&r.isVideoTexture){const e=r.image;if(this[hr]=!0,null!=e.requestVideoFrameCallback){const update=()=>{this[hr]&&(this[lr](),e.requestVideoFrameCallback(update))};e.requestVideoFrameCallback(update)}else{const update=()=>{this[hr]&&(this[lr](),requestAnimationFrame(update))};requestAnimationFrame(update)}}else null!=(null==e?void 0:e.source.animation)&&e.source.animation.addEventListener("enterFrame",this[lr]);let l=o.KI_;if(this[or])for(const e of this[or]){switch(this[Ar]){case cr.Base:e.map=r;break;case cr.MetallicRoughness:l=o.GUF,e.metalnessMap=r,e.roughnessMap=r;break;case cr.Normal:l=o.GUF,e.normalMap=r;break;case cr.Occlusion:l=o.GUF,e.aoMap=r;break;case cr.Emissive:e.emissiveMap=r;break;case cr.Clearcoat:e.clearcoatMap=r;break;case cr.ClearcoatRoughness:e.clearcoatRoughnessMap=r;break;case cr.ClearcoatNormal:e.clearcoatNormalMap=r;break;case cr.SheenColor:e.sheenColorMap=r;break;case cr.SheenRoughness:e.sheenRoughnessMap=r;break;case cr.Transmission:e.transmissionMap=r;break;case cr.Thickness:e.thicknessMap=r;break;case cr.Specular:e.specularIntensityMap=r;break;case cr.SpecularColor:e.specularColorMap=r;break;case cr.Iridescence:e.iridescenceMap=r;break;case cr.IridescenceThickness:e.iridescenceThicknessMap=r;break;case cr.Anisotropy:e.anisotropyMap=r}e.needsUpdate=!0}r&&(r.colorSpace=l,r.rotation=this[ar].rotation,r.repeat=this[ar].scale,r.offset=this[ar].offset),this[lr]()}}ir=rr,sr=ar,nr=hr;const ur=Symbol("threeMaterial"),dr=Symbol("threeMaterials"),gr=Symbol("baseColorTexture"),pr=Symbol("metallicRoughnessTexture");class PBRMetallicRoughness extends ThreeDOMElement{constructor(e,t){super(e,t);const{map:s,metalnessMap:r}=t.values().next().value;this[gr]=new TextureInfo(e,cr.Base,s,t),this[pr]=new TextureInfo(e,cr.MetallicRoughness,r,t)}get[dr](){return this[kn]}get[ur](){var e;return null===(e=this[kn])||void 0===e?void 0:e.values().next().value}get baseColorFactor(){const e=[0,0,0,this[ur].opacity];return this[ur].color.toArray(e),e}get metallicFactor(){return this[ur].metalness}get roughnessFactor(){return this[ur].roughness}get baseColorTexture(){return this[gr]}get metallicRoughnessTexture(){return this[pr]}setBaseColorFactor(e){const t=new o.Ilk;e instanceof Array?t.fromArray(e):t.set(e);for(const s of this[dr])s.color.set(t),e instanceof Array&&e.length>3?s.opacity=e[3]:(e=[0,0,0,s.opacity],t.toArray(e));this[_n]()}setMetallicFactor(e){for(const t of this[dr])t.metalness=e;this[_n]()}setRoughnessFactor(e){for(const t of this[dr])t.roughness=e;this[_n]()}}var mr,fr;const Ir=Symbol("pbrMetallicRoughness"),Er=Symbol("normalTexture"),Cr=Symbol("occlusionTexture"),Br=Symbol("emissiveTexture"),yr=Symbol("backingThreeMaterial"),wr=Symbol("applyAlphaCutoff"),vr=Symbol("getAlphaMode"),Qr=Symbol("lazyLoadGLTFInfo"),xr=Symbol("initialize"),br=Symbol("getLoadedMaterial"),Sr=Symbol("ensureMaterialIsLoaded"),Mr=Symbol("gltfIndex"),Tr=Symbol("setActive"),Rr=Symbol("variantIndices"),Dr=Symbol("isActive"),Lr=Symbol("variantSet"),Fr=Symbol("modelVariants"),kr=Symbol("name"),_r=Symbol("pbrTextures");class Material extends ThreeDOMElement{constructor(e,t,s,r,o,A,l){super(e,o),this[mr]=new Set,this[fr]=new Map,this[Mr]=t,this[Dr]=s,this[Fr]=r,this[kr]=A,null==l?this[xr]():this[Qr]=l}get[(mr=Lr,fr=_r,yr)](){return this[kn].values().next().value}[xr](){const e=this[_n],t=this[kn];this[Ir]=new PBRMetallicRoughness(e,t);const{normalMap:s,aoMap:r,emissiveMap:o}=t.values().next().value;this[Er]=new TextureInfo(e,cr.Normal,s,t),this[Cr]=new TextureInfo(e,cr.Occlusion,r,t),this[Br]=new TextureInfo(e,cr.Emissive,o,t);const createTextureInfo=s=>{this[_r].set(s,new TextureInfo(e,s,null,t))};createTextureInfo(cr.Clearcoat),createTextureInfo(cr.ClearcoatRoughness),createTextureInfo(cr.ClearcoatNormal),createTextureInfo(cr.SheenColor),createTextureInfo(cr.SheenRoughness),createTextureInfo(cr.Transmission),createTextureInfo(cr.Thickness),createTextureInfo(cr.Specular),createTextureInfo(cr.SpecularColor),createTextureInfo(cr.Iridescence),createTextureInfo(cr.IridescenceThickness),createTextureInfo(cr.Anisotropy)}async[br](){if(null!=this[Qr]){const{set:e,material:t}=await this[Qr].doLazyLoad();return this[kn]=e,this[xr](),this[Qr]=void 0,this.ensureLoaded=async()=>{},t}return this[kn].values().next().value}colorFromRgb(e){const t=new o.Ilk;return e instanceof Array?t.fromArray(e):t.set(e),t}[Sr](){if(null!=this[Qr])throw new Error(`Material "${this.name}" has not been loaded, call 'await\n myMaterial.ensureLoaded()' before using an unloaded material.`)}async ensureLoaded(){await this[br]()}get isLoaded(){return null==this[Qr]}get isActive(){return this[Dr]}[Tr](e){this[Dr]=e}get name(){return this[kr]||""}set name(e){if(this[kr]=e,null!=this[kn])for(const t of this[kn])t.name=e}get pbrMetallicRoughness(){return this[Sr](),this[Ir]}get normalTexture(){return this[Sr](),this[Er]}get occlusionTexture(){return this[Sr](),this[Cr]}get emissiveTexture(){return this[Sr](),this[Br]}get emissiveFactor(){return this[Sr](),this[yr].emissive.toArray()}get index(){return this[Mr]}[Rr](){return this[Lr]}hasVariant(e){const t=this[Fr].get(e);return null!=t&&this[Lr].has(t.index)}setEmissiveFactor(e){this[Sr]();const t=this.colorFromRgb(e);for(const e of this[kn])e.emissive.set(t);this[_n]()}[vr](){return this[yr].transparent?"BLEND":this[yr].alphaTest>0?"MASK":"OPAQUE"}[wr](){this[Sr]();for(const e of this[kn])"MASK"===this[vr]()?null==e.alphaTest&&(e.alphaTest=.5):e.alphaTest=void 0,e.needsUpdate=!0}setAlphaCutoff(e){this[Sr]();for(const t of this[kn])t.alphaTest=e,t.needsUpdate=!0;this[wr](),this[_n]()}getAlphaCutoff(){return this[Sr](),this[yr].alphaTest}setDoubleSided(e){this[Sr]();for(const t of this[kn])t.side=e?o.ehD:o.Wl3,t.needsUpdate=!0;this[_n]()}getDoubleSided(){return this[Sr](),this[yr].side==o.ehD}setAlphaMode(e){this[Sr]();const enableTransparency=(e,t)=>{e.transparent=t,e.depthWrite=!t};for(const t of this[kn])enableTransparency(t,"BLEND"===e),t.alphaTest="MASK"===e?.5:void 0,t.needsUpdate=!0;this[_n]()}getAlphaMode(){return this[Sr](),this[vr]()}get emissiveStrength(){return this[Sr](),this[yr].emissiveIntensity}setEmissiveStrength(e){this[Sr]();for(const t of this[kn])t.emissiveIntensity=e;this[_n]()}get clearcoatFactor(){return this[Sr](),this[yr].clearcoat}get clearcoatRoughnessFactor(){return this[Sr](),this[yr].clearcoatRoughness}get clearcoatTexture(){return this[Sr](),this[_r].get(cr.Clearcoat)}get clearcoatRoughnessTexture(){return this[Sr](),this[_r].get(cr.ClearcoatRoughness)}get clearcoatNormalTexture(){return this[Sr](),this[_r].get(cr.ClearcoatNormal)}get clearcoatNormalScale(){return this[Sr](),this[yr].clearcoatNormalScale.x}setClearcoatFactor(e){this[Sr]();for(const t of this[kn])t.clearcoat=e;this[_n]()}setClearcoatRoughnessFactor(e){this[Sr]();for(const t of this[kn])t.clearcoatRoughness=e;this[_n]()}setClearcoatNormalScale(e){this[Sr]();for(const t of this[kn])t.clearcoatNormalScale=new o.FM8(e,e);this[_n]()}get ior(){return this[Sr](),this[yr].ior}setIor(e){this[Sr]();for(const t of this[kn])t.ior=e;this[_n]()}get sheenColorFactor(){return this[Sr](),this[yr].sheenColor.toArray()}get sheenColorTexture(){return this[Sr](),this[_r].get(cr.SheenColor)}get sheenRoughnessFactor(){return this[Sr](),this[yr].sheenRoughness}get sheenRoughnessTexture(){return this[Sr](),this[_r].get(cr.SheenRoughness)}setSheenColorFactor(e){this[Sr]();const t=this.colorFromRgb(e);for(const e of this[kn])e.sheenColor.set(t),e.sheen=1;this[_n]()}setSheenRoughnessFactor(e){this[Sr]();for(const t of this[kn])t.sheenRoughness=e,t.sheen=1;this[_n]()}get transmissionFactor(){return this[Sr](),this[yr].transmission}get transmissionTexture(){return this[Sr](),this[_r].get(cr.Transmission)}setTransmissionFactor(e){this[Sr]();for(const t of this[kn])t.transmission=e;this[_n]()}get thicknessFactor(){return this[Sr](),this[yr].thickness}get thicknessTexture(){return this[Sr](),this[_r].get(cr.Thickness)}get attenuationDistance(){return this[Sr](),this[yr].attenuationDistance}get attenuationColor(){return this[Sr](),this[yr].attenuationColor.toArray()}setThicknessFactor(e){this[Sr]();for(const t of this[kn])t.thickness=e;this[_n]()}setAttenuationDistance(e){this[Sr]();for(const t of this[kn])t.attenuationDistance=e;this[_n]()}setAttenuationColor(e){this[Sr]();const t=this.colorFromRgb(e);for(const e of this[kn])e.attenuationColor.set(t);this[_n]()}get specularFactor(){return this[Sr](),this[yr].specularIntensity}get specularTexture(){return this[Sr](),this[_r].get(cr.Specular)}get specularColorFactor(){return this[Sr](),this[yr].specularColor.toArray()}get specularColorTexture(){return this[Sr](),this[_r].get(cr.SheenColor)}setSpecularFactor(e){this[Sr]();for(const t of this[kn])t.specularIntensity=e;this[_n]()}setSpecularColorFactor(e){this[Sr]();const t=this.colorFromRgb(e);for(const e of this[kn])e.specularColor.set(t);this[_n]()}get iridescenceFactor(){return this[Sr](),this[yr].iridescence}get iridescenceTexture(){return this[Sr](),this[_r].get(cr.Iridescence)}get iridescenceIor(){return this[Sr](),this[yr].iridescenceIOR}get iridescenceThicknessMinimum(){return this[Sr](),this[yr].iridescenceThicknessRange[0]}get iridescenceThicknessMaximum(){return this[Sr](),this[yr].iridescenceThicknessRange[1]}get iridescenceThicknessTexture(){return this[Sr](),this[_r].get(cr.IridescenceThickness)}setIridescenceFactor(e){this[Sr]();for(const t of this[kn])t.iridescence=e;this[_n]()}setIridescenceIor(e){this[Sr]();for(const t of this[kn])t.iridescenceIOR=e;this[_n]()}setIridescenceThicknessMinimum(e){this[Sr]();for(const t of this[kn])t.iridescenceThicknessRange[0]=e;this[_n]()}setIridescenceThicknessMaximum(e){this[Sr]();for(const t of this[kn])t.iridescenceThicknessRange[1]=e;this[_n]()}get anisotropyStrength(){return this[Sr](),this[yr].anisotropy}get anisotropyRotation(){return this[Sr](),this[yr].anisotropyRotation}get anisotropyTexture(){return this[Sr](),this[_r].get(cr.Anisotropy)}setAnisotropyStrength(e){this[Sr]();for(const t of this[kn])t.anisotropy=e;this[_n]()}setAnisotropyRotation(e){this[Sr]();for(const t of this[kn])t.anisotropyRotation=e;this[_n]()}}var Ur=s(25108);class primitive_node_Node{constructor(e){this.name="",this.children=new Array,this.name=e}}class PrimitiveNode extends primitive_node_Node{constructor(e,t,s,r){super(e.name),this.materials=new Map,this.variantToMaterialMap=new Map,this.initialMaterialIdx=0,this.activeMaterialIdx=0,this.mesh=e;const{gltf:o,threeGLTF:A,threeObjectMap:l}=r;this.parser=A.parser,this.modelVariants=s,this.mesh.userData.variantData=s;const h=l.get(e.material);null!=h.materials?this.initialMaterialIdx=this.activeMaterialIdx=h.materials:Ur.error(`Primitive (${e.name}) missing initial material reference.`);const c=e.userData.associations||{};if(null==c.meshes)return void Ur.error("Mesh is missing primitive index association");const d=((o.meshes||[])[c.meshes].primitives||[])[c.primitives];if(null!=d){if(null!=d.material)this.materials.set(d.material,t[d.material]);else{const e=t.findIndex((e=>"Default"===e.name));e>=0?this.materials.set(e,t[e]):Ur.warn("gltfPrimitive has no material!")}if(d.extensions&&d.extensions.KHR_materials_variants){const e=d.extensions.KHR_materials_variants,r=A.parser.json.extensions.KHR_materials_variants.variants;for(const o of e.mappings){const e=t[o.material];this.materials.set(o.material,e);for(const t of o.variants){const{name:o}=r[t];this.variantToMaterialMap.set(t,e),e[Rr]().add(t),s.has(o)||s.set(o,{name:o,index:t})}}}}else Ur.error("Mesh primitive definition is missing.")}async setActiveMaterial(e){const t=this.materials.get(e);if(null!=t&&e!==this.activeMaterialIdx){this.mesh.material=await t[br]();const{normalScale:s}=this.mesh.material;null!=s&&s.y*s.x<0!=(null==this.mesh.geometry.attributes.tangent)&&this.parser.assignFinalMaterial(this.mesh),this.activeMaterialIdx=e}return this.mesh.material}getActiveMaterial(){return this.materials.get(this.activeMaterialIdx)}getMaterial(e){return this.materials.get(e)}async enableVariant(e){if(null==e)return this.setActiveMaterial(this.initialMaterialIdx);if(null!=this.variantToMaterialMap&&this.modelVariants.has(e)){const t=this.modelVariants.get(e);return this.enableVariantHelper(t.index)}return null}async enableVariantHelper(e){if(null!=this.variantToMaterialMap&&null!=e){const t=this.variantToMaterialMap.get(e);if(null!=t)return this.setActiveMaterial(t.index)}return null}async instantiateVariants(){if(null!=this.variantToMaterialMap)for(const e of this.variantToMaterialMap.keys()){const t=this.mesh.userData.variantMaterials.get(e);if(null!=t.material)continue;const s=await this.enableVariantHelper(e);null!=s&&(t.material=s)}}get variantInfo(){return this.variantToMaterialMap}addVariant(e,t){if(!this.ensureVariantIsUnused(t))return!1;this.modelVariants.has(t)||this.modelVariants.set(t,{name:t,index:this.modelVariants.size});const s=this.modelVariants.get(t).index;return e[Rr]().add(s),this.variantToMaterialMap.set(s,e),this.materials.set(e.index,e),this.updateVariantUserData(s,e),!0}deleteVariant(e){if(this.variantInfo.has(e)){this.variantInfo.delete(e);const t=this.mesh.userData.variantMaterials;null!=t&&t.delete(e)}}updateVariantUserData(e,t){t[Rr]().add(e),this.mesh.userData.variantData=this.modelVariants,this.mesh.userData.variantMaterials=this.mesh.userData.variantMaterials||new Map;this.mesh.userData.variantMaterials.set(e,{material:t[kn].values().next().value,gltfMaterialIndex:t.index})}ensureVariantIsUnused(e){const t=this.modelVariants.get(e);return null==t||!this.variantInfo.has(t.index)||(Ur.warn(`Primitive cannot add variant '${e}' for this material, it already exists.`),!1)}}var Gr,Nr,Pr,Or,Hr,Vr,qr=s(25108);const Kr=Symbol("materials"),Jr=Symbol("hierarchy"),zr=Symbol("roots"),Yr=Symbol("primitives"),jr=(Symbol("loadVariant"),Symbol("prepareVariantsForExport")),$r=Symbol("switchVariant"),Wr=Symbol("materialFromPoint"),Xr=Symbol("nodeFromPoint"),Zr=Symbol("nodeFromIndex"),ea=Symbol("variantData"),ta=Symbol("availableVariants"),ia=Symbol("modelOnUpdate"),sa=Symbol("cloneMaterial");class LazyLoader{constructor(e,t,s,r){this.gltf=e,this.gltfElementMap=t,this.mapKey=s,this.doLazyLoad=r}}class Model{constructor(e,t=(()=>{})){this[Gr]=new Array,this[Nr]=new Array,this[Pr]=new Array,this[Or]=new Array,this[Hr]=()=>{},this[Vr]=new Map,this[ia]=t;const{gltf:s,threeGLTF:r,gltfElementMap:A}=e;for(const[e,o]of s.materials.entries()){const l=A.get(o);if(null!=l)this[Kr].push(new Material(t,e,!0,this[ea],l,o.name));else{const h=(s.materials||[])[e],c=e,materialLoadCallback=async()=>{const e=await r.parser.getDependency("material",c),t=new Set;return A.set(h,t),t.add(e),{set:t,material:e}};this[Kr].push(new Material(t,e,!1,this[ea],l,o.name,new LazyLoader(s,A,h,materialLoadCallback)))}}const l=new Map,h=new Array;for(const e of r.scene.children)h.push(e);for(;h.length>0;){const t=h.pop();let s=null;t instanceof o.Kj0?(s=new PrimitiveNode(t,this.materials,this[ea],e),this[Yr].push(s)):s=new primitive_node_Node(t.name);const r=l.get(t);null!=r?r.children.push(s):this[zr].push(s),this[Jr].push(s);for(const e of t.children)h.push(e),l.set(t,s)}}get materials(){return this[Kr]}[(Gr=Kr,Nr=Jr,Pr=zr,Or=Yr,Hr=ia,Vr=ea,ta)](){const e=Array.from(this[ea].values());return e.sort(((e,t)=>e.index-t.index)),e.map((e=>e.name))}getMaterialByName(e){const t=this[Kr].filter((t=>t.name===e));return t.length>0?t[0]:null}[Zr](e,t){const s=this[Jr].find((s=>{if(s instanceof PrimitiveNode){const{meshes:r,primitives:o}=s.mesh.userData.associations;if(r==e&&o==t)return!0}return!1}));return null==s?null:s}[Xr](e){return this[Jr].find((t=>{if(t instanceof PrimitiveNode){if(t.mesh===e.object)return!0}return!1}))}[Wr](e){return this[Xr](e).getActiveMaterial()}async[$r](e){for(const t of this[Yr])await t.enableVariant(e);for(const e of this.materials)e[Tr](!1);for(const e of this[Yr])this.materials[e.getActiveMaterial().index][Tr](!0)}async[jr](){const e=new Array;for(const t of this[Yr])e.push(t.instantiateVariants());await Promise.all(e)}[sa](e,t){const s=this.materials[e];s.isLoaded||qr.error("Cloning an unloaded material,\n call 'material.ensureLoaded() before cloning the material.");const r=s[kn],o=new Set;for(const[e,s]of r.entries()){const A=s.clone();A.name=t+(r.size>1?"_inst"+e:""),o.add(A)}const A=new Material(this[ia],this[Kr].length,!1,this[ea],o,t);return this[Kr].push(A),A}createMaterialInstanceForVariant(e,t,s,r=!0){let o=null;for(const r of this[Yr]){const A=this[ea].get(s);null!=A&&r.variantInfo.has(A.index)||null!=r.getMaterial(e)&&(this.hasVariant(s)||this.createVariant(s),null==o&&(o=this[sa](e,t)),r.addVariant(o,s))}if(r&&null!=o){o[Tr](!0),this.materials[e][Tr](!1);for(const e of this[Yr])e.enableVariant(s)}return o}createVariant(e){this[ea].has(e)?qr.warn(`Variant '${e}'' already exists`):this[ea].set(e,{name:e,index:this[ea].size})}hasVariant(e){return this[ea].has(e)}setMaterialToVariant(e,t){if(null!=this[ta]().find((e=>e===t)))if(e<0||e>=this.materials.length)qr.error("setMaterialToVariant(): materialIndex is out of bounds.");else for(const s of this[Yr]){const r=s.getMaterial(e);null!=r&&s.addVariant(r,t)}else qr.warn(`Can't add material to '${t}', the variant does not exist.'`)}updateVariantName(e,t){const s=this[ea].get(e);null!=s&&(s.name=t,this[ea].set(t,s),this[ea].delete(e))}deleteVariant(e){const t=this[ea].get(e);if(null!=t){for(const s of this.materials)s.hasVariant(e)&&s[Lr].delete(t.index);for(const e of this[Yr])e.deleteVariant(t.index);this[ea].delete(e)}}}var scene_graph_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const na=Symbol("currentGLTF"),ra=Symbol("originalGltfJson"),aa=Symbol("model"),oa=Symbol("getOnUpdateMethod"),Aa=Symbol("buildTexture");class GroundedSkybox extends o.Kj0{constructor(){super(void 0,new o.vBJ({depthWrite:!1})),this.height=0,this.radius=0,this.resolution=0,this.userData.noHit=!0}get map(){return this.material.map}set map(e){this.material.map=e}isUsable(){return this.height>0&&this.radius>0&&null!=this.geometry&&null!=this.map}updateGeometry(e=this.height,t=this.radius,s=128){e==this.height&&t==this.radius&&s==this.resolution||(this.height=e,this.radius=t,this.resolution=s,e>0&&t>0&&(this.geometry.dispose(),this.geometry=function makeGeometry(e,t,s){const r=new o.xo$(t,2*s,s);r.scale(1,1,-1);const A=r.getAttribute("position"),l=new o.Pa4;for(let t=0;t<A.count;++t)if(l.fromBufferAttribute(A,t),l.y<0){const s=3*-e/2,r=l.y<s?-e/l.y:1-l.y*l.y/(3*s*s);l.multiplyScalar(r),l.toArray(A.array,3*t)}return A.needsUpdate=!0,r}(e,t,s)))}}const la=new o.Pa4,ha=new o.Pa4,ca=new o.Pa4,ua=new o.Vkp,da=new o.CJI,ga=new o._fP;class Hotspot extends CSS2DObject{constructor(e){super(document.createElement("div")),this.normal=new o.Pa4(0,1,0),this.initialized=!1,this.referenceCount=1,this.pivot=document.createElement("div"),this.slot=document.createElement("slot"),this.element.classList.add("annotation-wrapper"),this.slot.name=e.name,this.element.appendChild(this.pivot),this.pivot.appendChild(this.slot),this.updatePosition(e.position),this.updateNormal(e.normal),this.surface=e.surface}get facingCamera(){return!this.element.classList.contains("hide")}show(){this.facingCamera&&this.initialized||this.updateVisibility(!0)}hide(){!this.facingCamera&&this.initialized||this.updateVisibility(!1)}increment(){this.referenceCount++}decrement(){return this.referenceCount>0&&--this.referenceCount,0===this.referenceCount}updatePosition(e){if(null==e)return;const t=fi(e)[0].terms;for(let e=0;e<3;++e)this.position.setComponent(e,xi(t[e]).number);this.updateMatrixWorld()}updateNormal(e){if(null==e)return;const t=fi(e)[0].terms;for(let e=0;e<3;++e)this.normal.setComponent(e,t[e].number)}updateSurface(e){if(!e&&this.initialized)return;const{mesh:t,tri:s,bary:r}=this;if(null==t||null==s||null==r)return;t.getVertexPosition(s.x,la),t.getVertexPosition(s.y,ha),t.getVertexPosition(s.z,ca),la.toArray(ua.elements,0),ha.toArray(ua.elements,3),ca.toArray(ua.elements,6),this.position.copy(r).applyMatrix3(ua);const o=this.parent;o.worldToLocal(t.localToWorld(this.position)),da.set(la,ha,ca),da.getNormal(this.normal).transformDirection(t.matrixWorld);const A=o.parent;ga.setFromAxisAngle(la.set(0,1,0),-A.yaw),this.normal.applyQuaternion(ga)}orient(e){this.pivot.style.transform=`rotate(${e}rad)`}updateVisibility(e){this.element.classList.toggle("hide",!e),this.slot.assignedNodes().forEach((t=>{if(t.nodeType!==Node.ELEMENT_NODE)return;const s=t,r=s.dataset.visibilityAttribute;if(null!=r){const t=`data-${r}`;s.toggleAttribute(t,e)}s.dispatchEvent(new CustomEvent("hotspot-visibility",{detail:{visible:e}}))})),this.initialized=!0}}const pa={name:"HorizontalBlurShader",uniforms:{tDiffuse:{value:null},h:{value:1/512}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform sampler2D tDiffuse;\n\t\tuniform float h;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 sum = vec4( 0.0 );\n\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.051;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.0918;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12245;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.1531;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.1531;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12245;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.0918;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.051;\n\n\t\t\tgl_FragColor = sum;\n\n\t\t}"},ma={name:"VerticalBlurShader",uniforms:{tDiffuse:{value:null},v:{value:1/512}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform sampler2D tDiffuse;\n\t\tuniform float v;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 sum = vec4( 0.0 );\n\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.051;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.0918;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12245;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.1531;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.1531;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12245;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.0918;\n\t\t\tsum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.051;\n\n\t\t\tgl_FragColor = sum;\n\n\t\t}"};var fa=s(64426);class Shadow extends o.Tme{constructor(e,t,s){super(),this.camera=new o.iKG,this.renderTarget=null,this.renderTargetBlur=null,this.depthMaterial=new o.lRF,this.horizontalBlurMaterial=new o.jyz(pa),this.verticalBlurMaterial=new o.jyz(ma),this.intensity=0,this.softness=1,this.boundingBox=new o.ZzF,this.size=new o.Pa4,this.maxDimension=0,this.isAnimated=!1,this.needsUpdate=!1;const{camera:r}=this;r.rotation.x=Math.PI/2,r.left=-.5,r.right=.5,r.bottom=-.5,r.top=.5,this.add(r);const A=new o._12,l=new o.vBJ({opacity:1,transparent:!0,side:o._Li});this.floor=new o.Kj0(A,l),this.floor.userData.noHit=!0,r.add(this.floor),this.blurPlane=new o.Kj0(A),this.blurPlane.visible=!1,r.add(this.blurPlane),e.target.add(this),this.depthMaterial.onBeforeCompile=function(e){e.fragmentShader=e.fragmentShader.replace("gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );","gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * opacity );")},this.horizontalBlurMaterial.depthTest=!1,this.verticalBlurMaterial.depthTest=!1,this.setScene(e,t,s)}setScene(e,t,s){const{boundingBox:r,size:o,rotation:A,position:l}=this;if(this.isAnimated=e.animationNames.length>0,this.boundingBox.copy(e.boundingBox),this.size.copy(e.size),this.maxDimension=Math.max(o.x,o.y,o.z)*(this.isAnimated?2:1),this.boundingBox.getCenter(l),"back"===s){const{min:e,max:t}=r;[e.y,e.z]=[e.z,e.y],[t.y,t.z]=[t.z,t.y],[o.y,o.z]=[o.z,o.y],A.x=Math.PI/2,A.y=Math.PI}else A.x=0,A.y=0;if(this.isAnimated){const e=r.min.y,t=r.max.y;o.y=this.maxDimension,r.expandByVector(o.subScalar(this.maxDimension).multiplyScalar(-.5)),r.min.y=e,r.max.y=t,o.set(this.maxDimension,t-e,this.maxDimension)}"bottom"===s?l.y=r.min.y:l.z=r.min.y,this.setSoftness(t)}setSoftness(e){this.softness=e;const{size:t,camera:s}=this,r=this.isAnimated?2:1,o=r*Math.pow(2,9-3*e);this.setMapSize(o);const A=t.y/2,l=t.y*r;s.near=0,s.far=(0,fa.t7)(l,A,e),this.depthMaterial.opacity=1/e,s.updateProjectionMatrix(),this.setIntensity(this.intensity),this.setOffset(0)}setMapSize(e){const{size:t}=this;this.isAnimated&&(e*=2);const s=Math.floor(t.x>t.z?e:e*t.x/t.z),r=Math.floor(t.x>t.z?e*t.z/t.x:e),A=10+s,l=10+r;if(null==this.renderTarget||this.renderTarget.width===A&&this.renderTarget.height===l||(this.renderTarget.dispose(),this.renderTarget=null,this.renderTargetBlur.dispose(),this.renderTargetBlur=null),null==this.renderTarget){const e={format:o.wk1};this.renderTarget=new o.dd2(A,l,e),this.renderTargetBlur=new o.dd2(A,l,e),this.floor.material.map=this.renderTarget.texture}this.camera.scale.set(t.x*(1+10/s),t.z*(1+10/r),1),this.needsUpdate=!0}setIntensity(e){this.intensity=e,e>0?(this.visible=!0,this.floor.visible=!0,this.floor.material.opacity=e*(0,fa.t7)(.3,1,this.softness*this.softness)):(this.visible=!1,this.floor.visible=!1)}getIntensity(){return this.intensity}setOffset(e){this.floor.position.z=-e+this.gap()}gap(){return.001*this.maxDimension}render(e,t){t.overrideMaterial=this.depthMaterial;const s=e.getClearAlpha();e.setClearAlpha(0),this.floor.visible=!1;const r=e.xr.enabled;e.xr.enabled=!1;const o=e.getRenderTarget();e.setRenderTarget(this.renderTarget),e.render(t,this.camera),t.overrideMaterial=null,this.floor.visible=!0,this.blurShadow(e),e.xr.enabled=r,e.setRenderTarget(o),e.setClearAlpha(s)}blurShadow(e){const{camera:t,horizontalBlurMaterial:s,verticalBlurMaterial:r,renderTarget:o,renderTargetBlur:A,blurPlane:l}=this;l.visible=!0,l.material=s,s.uniforms.h.value=1/this.renderTarget.width,s.uniforms.tDiffuse.value=this.renderTarget.texture,e.setRenderTarget(A),e.render(l,t),l.material=r,r.uniforms.v.value=1/this.renderTarget.height,r.uniforms.tDiffuse.value=this.renderTargetBlur.texture,e.setRenderTarget(o),e.render(l,t),l.visible=!1}dispose(){null!=this.renderTarget&&this.renderTarget.dispose(),null!=this.renderTargetBlur&&this.renderTargetBlur.dispose(),this.depthMaterial.dispose(),this.horizontalBlurMaterial.dispose(),this.verticalBlurMaterial.dispose(),this.floor.material.dispose(),this.floor.geometry.dispose(),this.blurPlane.geometry.dispose(),this.removeFromParent()}}var Ia=s(25108);const Ea=new o.Pa4,Ca=new o.Pa4,Ba=new o.Pa4,ya=new o.iMs,wa=new o.Pa4,va=new o.FM8;class ModelScene extends o.xsS{constructor({canvas:e,element:t,width:s,height:r}){super(),this.annotationRenderer=new CSS2DRenderer,this.effectRenderer=null,this.schemaElement=document.createElement("script"),this.width=1,this.height=1,this.aspect=1,this.scaleStep=0,this.renderCount=0,this.externalRenderer=null,this.camera=new o.cPb(45,1,.1,100),this.xrCamera=null,this.url=null,this.target=new o.Tme,this.animationNames=[],this.boundingBox=new o.ZzF,this.boundingSphere=new o.aLr,this.size=new o.Pa4,this.idealAspect=0,this.framedFoVDeg=0,this.shadow=null,this.shadowIntensity=0,this.shadowSoftness=1,this.bakedShadows=new Set,this.exposure=1,this.toneMapping=o.LY2,this.canScale=!0,this.isDirty=!1,this.goalTarget=new o.Pa4,this.targetDamperX=new Damper,this.targetDamperY=new Damper,this.targetDamperZ=new Damper,this._currentGLTF=null,this._model=null,this.cancelPendingSourceChange=null,this.animationsByName=new Map,this.currentAnimationAction=null,this.groundedSkybox=new GroundedSkybox,this.name="ModelScene",this.element=t,this.canvas=e,this.camera=new o.cPb(45,1,.1,100),this.camera.name="MainCamera",this.add(this.target),this.setSize(s,r),this.target.name="Target",this.mixer=new o.Xcj(this.target);const{domElement:A}=this.annotationRenderer,{style:l}=A;l.display="none",l.pointerEvents="none",l.position="absolute",l.top="0",this.element.shadowRoot.querySelector(".default").appendChild(A),this.schemaElement.setAttribute("type","application/ld+json")}get context(){return this.canvas.getContext("2d")}getCamera(){return null!=this.xrCamera?this.xrCamera:this.camera}queueRender(){this.isDirty=!0}shouldRender(){return this.isDirty}hasRendered(){this.isDirty=!1}forceRescale(){this.scaleStep=-1,this.queueRender()}async setObject(e){this.reset(),this._model=e,this.target.add(e),await this.setupScene()}async setSource(e,t=(()=>{})){if(!e||e===this.url)return void t(1);if(this.reset(),this.url=e,null!=this.externalRenderer){const e=await this.externalRenderer.load(t);return this.boundingSphere.radius=e.framedRadius,void(this.idealAspect=e.fieldOfViewAspect)}let s;null!=this.cancelPendingSourceChange&&(this.cancelPendingSourceChange(),this.cancelPendingSourceChange=null);try{s=await new Promise((async(s,r)=>{this.cancelPendingSourceChange=()=>r();try{s(await this.element[po].loader.load(e,this.element,t))}catch(e){r(e)}}))}catch(e){if(null==e)return;throw e}this.cancelPendingSourceChange=null,this.reset(),this.url=e,this._currentGLTF=s,null!=s&&(this._model=s.scene,this.target.add(s.scene));const{animations:r}=s,o=new Map,A=[];for(const e of r)o.set(e.name,e),A.push(e.name);this.animations=r,this.animationsByName=o,this.animationNames=A,await this.setupScene()}async setupScene(){this.applyTransform(),this.updateBoundingBox(),await this.updateFraming(),this.updateShadow(),this.setShadowIntensity(this.shadowIntensity),this.setGroundedSkybox()}reset(){this.url=null,this.renderCount=0,this.queueRender(),null!=this.shadow&&this.shadow.setIntensity(0),this.bakedShadows.clear();const{_model:e}=this;null!=e&&(e.removeFromParent(),this._model=null);const t=this._currentGLTF;null!=t&&(t.dispose(),this._currentGLTF=null),null!=this.currentAnimationAction&&(this.currentAnimationAction.stop(),this.currentAnimationAction=null),this.mixer.stopAllAction(),this.mixer.uncacheRoot(this)}dispose(){this.reset(),null!=this.shadow&&(this.shadow.dispose(),this.shadow=null),this.element[na]=null,this.element[ra]=null,this.element[aa]=null}get currentGLTF(){return this._currentGLTF}setSize(e,t){if(this.width!==e||this.height!==t){if(this.width=Math.max(e,1),this.height=Math.max(t,1),this.annotationRenderer.setSize(e,t),this.aspect=this.width/this.height,null!=this.externalRenderer){const s=Be();this.externalRenderer.resize(e*s,t*s)}this.queueRender()}}markBakedShadow(e){e.userData.noHit=!0,this.bakedShadows.add(e)}unmarkBakedShadow(e){e.userData.noHit=!1,e.visible=!0,this.bakedShadows.delete(e),this.boundingBox.expandByObject(e)}findBakedShadows(e){const t=new o.ZzF;e.traverse((e=>{const s=e;if(!s.material)return;if(!s.material.transparent)return;t.setFromObject(s);const r=t.getSize(wa),o=Math.min(r.x,r.y,r.z);Math.max(r.x,r.y,r.z)<100*o||this.markBakedShadow(s)}))}checkBakedShadows(){const{min:e,max:t}=this.boundingBox,s=new o.ZzF;this.boundingBox.getSize(this.size);for(const r of this.bakedShadows)s.setFromObject(r),s.min.y<e.y+this.size.y/100&&s.min.x<=e.x&&s.max.x>=t.x&&s.min.z<=e.z&&s.max.z>=t.z||s.min.z<e.z+this.size.z/100&&s.min.x<=e.x&&s.max.x>=t.x&&s.min.y<=e.y&&s.max.y>=t.y||this.unmarkBakedShadow(r)}applyTransform(){const{model:e}=this;if(null==e)return;const t=fi(this.element.orientation)[0].terms,s=xi(t[0]).number,r=xi(t[1]).number,A=xi(t[2]).number;e.quaternion.setFromEuler(new o.USm(r,A,s,"YXZ"));const l=fi(this.element.scale)[0].terms;e.scale.set(l[0].number,l[1].number,l[2].number)}updateBoundingBox(){const{model:e}=this;if(null==e)return;this.target.remove(e),this.findBakedShadows(e);const bound=(e,t)=>e.expandByPoint(t);this.setBakedShadowVisibility(!1),this.boundingBox=reduceVertices(e,bound,new o.ZzF),this.boundingBox.isEmpty()&&(this.setBakedShadowVisibility(!0),this.bakedShadows.forEach((e=>this.unmarkBakedShadow(e))),this.boundingBox=reduceVertices(e,bound,new o.ZzF)),this.checkBakedShadows(),this.setBakedShadowVisibility(),this.boundingBox.getSize(this.size),this.target.add(e)}async updateFraming(){const{model:e}=this;if(null==e)return;this.target.remove(e),this.setBakedShadowVisibility(!1);const{center:t}=this.boundingSphere;this.element.requestUpdate("cameraTarget"),await this.element.updateComplete,t.copy(this.getTarget());this.boundingSphere.radius=Math.sqrt(reduceVertices(e,((e,s)=>Math.max(e,t.distanceToSquared(s))),0));this.idealAspect=reduceVertices(e,((e,s)=>{s.sub(t);const r=Math.sqrt(s.x*s.x+s.z*s.z);return Math.max(e,r/(this.idealCameraDistance()-Math.abs(s.y)))}),0)/Math.tan(this.framedFoVDeg/2*Math.PI/180),this.setBakedShadowVisibility(),this.target.add(e)}setBakedShadowVisibility(e=this.shadowIntensity<=0){for(const t of this.bakedShadows)t.visible=e}idealCameraDistance(){const e=this.framedFoVDeg/2*Math.PI/180;return this.boundingSphere.radius/Math.sin(e)}adjustedFoV(e){const t=Math.tan(e/2*Math.PI/180)*Math.max(1,this.idealAspect/this.aspect);return 2*Math.atan(t)*180/Math.PI}getNDC(e,t){if(null!=this.xrCamera)va.set(e/window.screen.width,t/window.screen.height);else{const s=this.element.getBoundingClientRect();va.set((e-s.x)/this.width,(t-s.y)/this.height)}return va.multiplyScalar(2).subScalar(1),va.y*=-1,va}getSize(){return{width:this.width,height:this.height}}setEnvironmentAndSkybox(e,t){this.element[po].arRenderer.presentedScene!==this&&(this.environment=e,this.setBackground(t),this.queueRender())}setBackground(e){this.groundedSkybox.map=e,this.groundedSkybox.isUsable()?(this.target.add(this.groundedSkybox),this.background=null):(this.target.remove(this.groundedSkybox),this.background=e)}farRadius(){return this.boundingSphere.radius*(null!=this.groundedSkybox.parent?10:1)}setGroundedSkybox(){const e=fi(this.element.skyboxHeight)[0].terms[0],t=xi(e).number,s=10*this.boundingSphere.radius;this.groundedSkybox.updateGeometry(t,s),this.groundedSkybox.position.y=t-(this.shadow?2*this.shadow.gap():0),this.setBackground(this.groundedSkybox.map)}setTarget(e,t,s){this.goalTarget.set(-e,-t,-s)}setTargetDamperDecayTime(e){this.targetDamperX.setDecayTime(e),this.targetDamperY.setDecayTime(e),this.targetDamperZ.setDecayTime(e)}getTarget(){return this.goalTarget.clone().multiplyScalar(-1)}jumpToGoal(){this.updateTarget(1e4)}updateTarget(e){const t=this.goalTarget,s=this.target.position;if(t.equals(s))return!1;{const r=this.boundingSphere.radius/10;let{x:o,y:A,z:l}=s;return o=this.targetDamperX.update(o,t.x,e,r),A=this.targetDamperY.update(A,t.y,e,r),l=this.targetDamperZ.update(l,t.z,e,r),this.groundedSkybox.position.x=-o,this.groundedSkybox.position.z=-l,this.target.position.set(o,A,l),this.target.updateMatrixWorld(),this.queueRender(),!0}}pointTowards(e,t){const{x:s,z:r}=this.position;this.yaw=Math.atan2(e-s,t-r)}get model(){return this._model}set yaw(e){this.rotation.y=e,this.groundedSkybox.rotation.y=-e,this.queueRender()}get yaw(){return this.rotation.y}set animationTime(e){this.mixer.setTime(e),this.queueShadowRender()}get animationTime(){if(null!=this.currentAnimationAction){const e=Math.max(this.currentAnimationAction._loopCount,0);return this.currentAnimationAction.loop===o.uEv&&1==(1&e)?this.duration-this.currentAnimationAction.time:this.currentAnimationAction.time}return 0}set animationTimeScale(e){this.mixer.timeScale=e}get animationTimeScale(){return this.mixer.timeScale}get duration(){return null!=this.currentAnimationAction&&this.currentAnimationAction.getClip()?this.currentAnimationAction.getClip().duration:0}get hasActiveAnimation(){return null!=this.currentAnimationAction}playAnimation(e=null,t=0,s=o.YKA,r=1/0){if(null==this._currentGLTF)return;const{animations:A}=this;if(null==A||0===A.length)return;let l=null;if(null!=e&&(l=this.animationsByName.get(e),null==l)){const t=parseInt(e);!isNaN(t)&&t>=0&&t<A.length&&(l=A[t])}null==l&&(l=A[0]);try{const{currentAnimationAction:e}=this,o=this.mixer.clipAction(l,this);this.currentAnimationAction=o,this.element.paused?this.mixer.stopAllAction():(o.paused=!1,null!=e&&o!==e?o.crossFadeFrom(e,t,!1):this.animationTimeScale>0&&this.animationTime==this.duration&&(this.animationTime=0)),o.setLoop(s,r),o.enabled=!0,o.clampWhenFinished=!0,o.play()}catch(e){Ia.error(e)}}stopAnimation(){this.currentAnimationAction=null,this.mixer.stopAllAction()}updateAnimation(e){this.mixer.update(e),this.queueShadowRender()}subscribeMixerEvent(e,t){this.mixer.addEventListener(e,t)}updateShadow(){const e=this.shadow;if(null!=e){const t="wall"===this.element.arPlacement?"back":"bottom";e.setScene(this,this.shadowSoftness,t),e.needsUpdate=!0}}renderShadow(e){const t=this.shadow;null!=t&&1==t.needsUpdate&&(t.render(e,this),t.needsUpdate=!1)}queueShadowRender(){null!=this.shadow&&(this.shadow.needsUpdate=!0)}setShadowIntensity(e){if(this.shadowIntensity=e,null!=this._currentGLTF&&(this.setBakedShadowVisibility(),!(e<=0&&null==this.shadow))){if(null==this.shadow){const e="wall"===this.element.arPlacement?"back":"bottom";this.shadow=new Shadow(this,this.shadowSoftness,e)}this.shadow.setIntensity(e)}}setShadowSoftness(e){this.shadowSoftness=e;const t=this.shadow;null!=t&&t.setSoftness(e)}setShadowOffset(e){const t=this.shadow;null!=t&&t.setOffset(e)}hitFromPoint(e,t=this){ya.setFromCamera(e,this.getCamera());return ya.intersectObject(t,!0).find((e=>e.object.visible&&!e.object.userData.noHit))}positionAndNormalFromPoint(e,t=this){var s;const r=this.hitFromPoint(e,t);if(null==r)return null;return{position:r.point,normal:null!=r.face?r.face.normal.clone().applyNormalMatrix((new o.Vkp).getNormalMatrix(r.object.matrixWorld)):ya.ray.direction.clone().multiplyScalar(-1),uv:null!==(s=r.uv)&&void 0!==s?s:null}}surfaceFromPoint(e,t=this){const s=this.element.model;if(null==s)return null;const r=this.hitFromPoint(e,t);if(null==r||null==r.face)return null;const A=s[Xr](r),{meshes:l,primitives:h}=A.mesh.userData.associations,c=new o.Pa4,d=new o.Pa4,g=new o.Pa4,{a:p,b:m,c:f}=r.face,I=r.object;I.getVertexPosition(p,c),I.getVertexPosition(m,d),I.getVertexPosition(f,g);const E=new o.CJI(c,d,g),C=new o.Pa4;return E.getBarycoord(I.worldToLocal(r.point),C),`${l} ${h} ${p} ${m} ${f} ${C.x.toFixed(3)} ${C.y.toFixed(3)} ${C.z.toFixed(3)}`}addHotspot(e){this.target.add(e),this.annotationRenderer.domElement.appendChild(e.element)}removeHotspot(e){this.target.remove(e)}forHotspots(e){const{children:t}=this.target;for(let s=0,r=t.length;s<r;s++){const r=t[s];r instanceof Hotspot&&e(r)}}initializeSurface(e){if(null!=e.surface&&null==e.mesh){const t=fi(e.surface)[0].terms;if(8!=t.length)return void Ia.warn(e.surface+" does not have exactly 8 numbers.");const s=this.element.model[Zr](t[0].number,t[1].number),r=new o.Pa4(t[2].number,t[3].number,t[4].number);if(null==s)return void Ia.warn(e.surface+" does not match a node/primitive in this glTF! Skipping this hotspot.");const A=s.mesh.geometry.attributes.position.count;if(r.x>=A||r.y>=A||r.z>=A)return void Ia.warn(e.surface+" vertex indices out of range in this glTF! Skipping this hotspot.");const l=new o.Pa4(t[5].number,t[6].number,t[7].number);e.mesh=s.mesh,e.tri=r,e.bary=l}}updateSurfaceHotspots(){const e=!this.element.paused;this.forHotspots((t=>{this.initializeSurface(t),t.updateSurface(e)}))}updateHotspotsVisibility(e){this.forHotspots((t=>{Ea.copy(e),Ca.setFromMatrixPosition(t.matrixWorld),Ea.sub(Ca),Ba.copy(t.normal).transformDirection(this.target.matrixWorld),Ea.dot(Ba)<0?t.hide():t.show()}))}orientHotspots(e){this.forHotspots((t=>{t.orient(e)}))}setHotspotsVisibility(e){this.forHotspots((t=>{t.visible=e}))}updateSchema(e){var t;const{schemaElement:s,element:r}=this,{alt:o,poster:A,iosSrc:l}=r;if(null!=e){const r=[{"@type":"MediaObject",contentUrl:e,encodingFormat:"gltf"===(null===(t=e.split(".").pop())||void 0===t?void 0:t.toLowerCase())?"model/gltf+json":"model/gltf-binary"}];l&&r.push({"@type":"MediaObject",contentUrl:l,encodingFormat:"model/vnd.usdz+zip"});const h={"@context":"http://schema.org/","@type":"3DModel",image:null!=A?A:void 0,name:null!=o?o:void 0,encoding:r};s.textContent=JSON.stringify(h),document.head.appendChild(s)}else null!=s.parentElement&&s.parentElement.removeChild(s)}}class ProgressTracker extends EventTarget{constructor(){super(...arguments),this.ongoingActivities=new Set,this.totalProgress=0}get ongoingActivityCount(){return this.ongoingActivities.size}beginActivity(e){const t={progress:0,completed:!1};return this.ongoingActivities.add(t),1===this.ongoingActivityCount&&this.announceTotalProgress(t,0,e),s=>{let r;return r=Math.max(clamp(s,0,1),t.progress),r!==t.progress&&this.announceTotalProgress(t,r,e),t.progress}}announceTotalProgress(e,t,s){let r=0,o=0;1==t&&(e.completed=!0);for(const e of this.ongoingActivities){const{progress:t}=e;r+=1-t,e.completed&&o++}const A=e.progress;e.progress=t,this.totalProgress+=(t-A)*(1-this.totalProgress)/r;const l=o===this.ongoingActivityCount?1:this.totalProgress;this.dispatchEvent(new CustomEvent("progress",{detail:{totalProgress:l,reason:s}})),o===this.ongoingActivityCount&&(this.totalProgress=0,this.ongoingActivities.clear())}}var Qa,xa,ba,Sa,Ma,Ta,Ra,Da,La,Fa,ka,_a,Ua,Ga=s(25108),model_viewer_base_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const Na=document.createElement("canvas"),Pa=Symbol("fallbackResizeHandler"),Oa=Symbol("defaultAriaLabel"),Ha=Symbol("resizeObserver"),Va=Symbol("clearModelTimeout"),qa=Symbol("onContextLost"),Ka=Symbol("loaded"),Ja=Symbol("status"),za=Symbol("onFocus"),Ya=Symbol("onBlur"),ja=Symbol("updateSize"),$a=Symbol("intersectionObserver"),Wa=Symbol("isElementInViewport"),Xa=Symbol("announceModelVisibility"),Za=Symbol("ariaLabel"),eo=Symbol("altDefaulted"),to=Symbol("statusElement"),io=Symbol("updateStatus"),so=Symbol("loadedTime"),no=Symbol("updateSource"),ro=Symbol("markLoaded"),ao=Symbol("container"),oo=Symbol("input"),Ao=Symbol("canvas"),lo=Symbol("scene"),ho=Symbol("needsRender"),co=Symbol("tick"),uo=Symbol("onModelLoad"),go=Symbol("onResize"),po=Symbol("renderer"),mo=Symbol("progressTracker"),fo=Symbol("getLoaded"),Io=Symbol("getModelIsVisible"),Eo=Symbol("shouldAttemptPreload"),toVector3D=e=>({x:e.x,y:e.y,z:e.z,toString(){return`${this.x}m ${this.y}m ${this.z}m`}}),toVector2D=e=>({u:e.x,v:e.y,toString(){return`${this.u} ${this.v}`}});class ModelViewerElementBase extends u{constructor(){super(),this.alt=null,this.src=null,this.withCredentials=!1,this.generateSchema=!1,this[Qa]=!1,this[xa]=!1,this[ba]=0,this[Sa]="",this[Ma]=null,this[Ta]=debounce((()=>{const e=this.getBoundingClientRect();this[ja](e)}),50),this[Ra]=debounce((e=>{const t=this.modelIsVisible;t!==e&&this.dispatchEvent(new CustomEvent("model-visibility",{detail:{visible:t}}))}),0),this[Da]=null,this[La]=null,this[Fa]=new ProgressTracker,this[ka]=()=>{this[to].textContent=this[Ja]},this[_a]=()=>{this[to].textContent=""},this[Ua]=e=>{this.dispatchEvent(new CustomEvent("error",{detail:{type:"webglcontextlost",sourceError:e.sourceEvent}}))},this.attachShadow({mode:"open"});const e=this.shadowRoot;let t,s;if((e=>{D(be,e)})(e),this[ao]=e.querySelector(".container"),this[oo]=e.querySelector(".userInput"),this[Ao]=e.querySelector("canvas"),this[to]=e.querySelector("#status"),this[Oa]=this[oo].getAttribute("aria-label"),this.isConnected){const e=this.getBoundingClientRect();t=e.width,s=e.height}else t=300,s=150;this[lo]=new ModelScene({canvas:this[Ao],element:this,width:t,height:s}),Promise.resolve().then((()=>{this[ja](this.getBoundingClientRect())})),he&&(this[Ha]=new ResizeObserver((e=>{if(!this[po].isPresenting)for(let t of e)t.target===this&&this[ja](t.contentRect)}))),ce?this[$a]=new IntersectionObserver((e=>{for(let t of e)if(t.target===this){const e=this.modelIsVisible;this[Wa]=t.isIntersecting,this[Xa](e),this[Wa]&&!this.loaded&&this[no]()}}),{root:null,rootMargin:"0px",threshold:1e-5}):this[Wa]=!0}static get is(){return"model-viewer"}static set modelCacheSize(e){CachingGLTFLoader[Mt].evictionThreshold=e}static get modelCacheSize(){return CachingGLTFLoader[Mt].evictionThreshold}static set minimumRenderScale(e){e>1&&Ga.warn("<model-viewer> minimumRenderScale has been clamped to a maximum value of 1."),e<=0&&Ga.warn("<model-viewer> minimumRenderScale has been clamped to a minimum value of 0.25."),Renderer.singleton.minScale=e}static get minimumRenderScale(){return Renderer.singleton.minScale}get loaded(){return this[fo]()}get[(Qa=Wa,xa=Ka,ba=so,Sa=Ja,Ma=Va,Ta=Pa,Ra=Xa,Da=Ha,La=$a,Fa=mo,po)](){return Renderer.singleton}get modelIsVisible(){return this[Io]()}connectedCallback(){super.connectedCallback&&super.connectedCallback(),he?this[Ha].observe(this):self.addEventListener("resize",this[Pa]),ce&&this[$a].observe(this),this.addEventListener("focus",this[za]),this.addEventListener("blur",this[Ya]);const e=this[po];e.addEventListener("contextlost",this[qa]),e.registerScene(this[lo]),null!=this[Va]&&(self.clearTimeout(this[Va]),this[Va]=null,this.requestUpdate("src",null))}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),he?this[Ha].unobserve(this):self.removeEventListener("resize",this[Pa]),ce&&this[$a].unobserve(this),this.removeEventListener("focus",this[za]),this.removeEventListener("blur",this[Ya]);const e=this[po];e.removeEventListener("contextlost",this[qa]),e.unregisterScene(this[lo]),this[Va]=self.setTimeout((()=>{this[lo].dispose(),this[Va]=null}),10)}updated(e){super.updated(e),e.has("src")&&(null==this.src?(this[Ka]=!1,this[so]=0,this[lo].reset()):this.src!==this[lo].url&&(this[Ka]=!1,this[so]=0,this[no]())),e.has("alt")&&this[oo].setAttribute("aria-label",this[Za]),e.has("withCredentials")&&(CachingGLTFLoader.withCredentials=this.withCredentials,this[po].textureUtils.withCredentials=this.withCredentials),e.has("generateSchema")&&(this.generateSchema?this[lo].updateSchema(this.src):this[lo].updateSchema(null))}toDataURL(e,t){return this[po].displayCanvas(this[lo]).toDataURL(e,t)}async toBlob(e){const t=e?e.mimeType:void 0,s=e?e.qualityArgument:void 0,r=e?e.idealAspect:void 0,{width:o,height:A,idealAspect:l,aspect:h}=this[lo],{dpr:c,scaleFactor:d}=this[po];let g=o*d*c,p=A*d*c,m=0,f=0;if(!0===r)if(l>h){const e=p;p=Math.round(g/l),f=(e-p)/2}else{const e=g;g=Math.round(p*l),m=(e-g)/2}Na.width=g,Na.height=p;try{return new Promise((async(e,r)=>{Na.getContext("2d").drawImage(this[po].displayCanvas(this[lo]),m,f,g,p,0,0,g,p),Na.toBlob((t=>{if(!t)return r(new Error("Unable to retrieve canvas blob"));e(t)}),t,s)}))}finally{this[ja]({width:o,height:A})}}registerEffectComposer(e){e.setRenderer(this[po].threeRenderer),e.setMainCamera(this[lo].getCamera()),e.setMainScene(this[lo]),this[lo].effectRenderer=e}unregisterEffectComposer(){this[lo].effectRenderer=null}registerRenderer(e){this[lo].externalRenderer=e}unregisterRenderer(){this[lo].externalRenderer=null}get[Za](){return this[eo]}get[eo](){return null==this.alt||"null"===this.alt?this[Oa]:this.alt}[fo](){return this[Ka]}[Io](){return this.loaded&&this[Wa]}[Eo](){return!!this.src&&this[Wa]}[ja]({width:e,height:t}){0!==e&&0!==t&&(this[ao].style.width=`${e}px`,this[ao].style.height=`${t}px`,this[go]({width:e,height:t}))}[co](e,t){var s;null===(s=this[lo].effectRenderer)||void 0===s||s.beforeRender(e,t)}[ro](){this[Ka]||(this[Ka]=!0,this[so]=performance.now())}[ho](){this[lo].queueRender()}[uo](){}[io](e){this[Ja]=e;const t=this.getRootNode();null!=t&&t.activeElement===this&&this[to].textContent!=e&&(this[to].textContent=e)}[(ka=za,_a=Ya,go)](e){this[lo].setSize(e.width,e.height)}async[(Ua=qa,no)](){const e=this[lo];if(this.loaded||!this[Eo]()||this.src===e.url)return;this.generateSchema&&e.updateSchema(this.src),this[io]("Loading"),e.stopAnimation();const t=this[mo].beginActivity("model-load"),s=this.src;try{const r=e.setSource(s,(e=>t(.95*clamp(e,0,1)))),o=this[Qe]();await Promise.all([r,o]),this[ro](),this[uo](),this.updateComplete.then((()=>{this.dispatchEvent(new CustomEvent("before-render"))})),await new Promise((e=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.dispatchEvent(new CustomEvent("load",{detail:{url:s}})),e()}))}))}))}catch(e){this.dispatchEvent(new CustomEvent("error",{detail:{type:"loadfailure",sourceError:e}}))}finally{t(1)}}}model_viewer_base_decorate([n({type:String})],ModelViewerElementBase.prototype,"alt",void 0),model_viewer_base_decorate([n({type:String})],ModelViewerElementBase.prototype,"src",void 0),model_viewer_base_decorate([n({type:Boolean,attribute:"with-credentials"})],ModelViewerElementBase.prototype,"withCredentials",void 0),model_viewer_base_decorate([n({type:Boolean,attribute:"generate-schema"})],ModelViewerElementBase.prototype,"generateSchema",void 0);var animation_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const Co=Symbol("changeAnimation"),Bo=Symbol("paused"),yo={repetitions:1/0,pingpong:!1},wo=Symbol("hotspotMap"),vo=Symbol("mutationCallback"),Qo=Symbol("observer"),xo=Symbol("addHotspot"),bo=Symbol("removeHotspot"),So=new o.yGw;var Mo=Uint8Array,To=Uint16Array,Ro=Int32Array,Do=new Mo([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Lo=new Mo([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fo=new Mo([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function(e,t){for(var s=new To(31),r=0;r<31;++r)s[r]=t+=1<<e[r-1];var o=new Ro(s[30]);for(r=1;r<30;++r)for(var A=s[r];A<s[r+1];++A)o[A]=A-s[r]<<5|r;return{b:s,r:o}},ko=freb(Do,2),_o=ko.b,Uo=ko.r;_o[28]=258,Uo[258]=28;for(var Go=freb(Lo,0),No=(Go.b,Go.r),Po=new To(32768),Oo=0;Oo<32768;++Oo){var Ho=(43690&Oo)>>1|(21845&Oo)<<1;Ho=(61680&(Ho=(52428&Ho)>>2|(13107&Ho)<<2))>>4|(3855&Ho)<<4,Po[Oo]=((65280&Ho)>>8|(255&Ho)<<8)>>1}var hMap=function(e,t,s){for(var r=e.length,o=0,A=new To(t);o<r;++o)e[o]&&++A[e[o]-1];var l,h=new To(t);for(o=1;o<t;++o)h[o]=h[o-1]+A[o-1]<<1;if(s){l=new To(1<<t);var c=15-t;for(o=0;o<r;++o)if(e[o])for(var d=o<<4|e[o],g=t-e[o],p=h[e[o]-1]++<<g,m=p|(1<<g)-1;p<=m;++p)l[Po[p]>>c]=d}else for(l=new To(r),o=0;o<r;++o)e[o]&&(l[o]=Po[h[e[o]-1]++]>>15-e[o]);return l},Vo=new Mo(288);for(Oo=0;Oo<144;++Oo)Vo[Oo]=8;for(Oo=144;Oo<256;++Oo)Vo[Oo]=9;for(Oo=256;Oo<280;++Oo)Vo[Oo]=7;for(Oo=280;Oo<288;++Oo)Vo[Oo]=8;var qo=new Mo(32);for(Oo=0;Oo<32;++Oo)qo[Oo]=5;var Ko=hMap(Vo,9,0),Jo=hMap(qo,5,0),shft=function(e){return(e+7)/8|0},slc=function(e,t,s){return(null==t||t<0)&&(t=0),(null==s||s>e.length)&&(s=e.length),new Mo(e.subarray(t,s))},zo=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function(e,t,s){var r=new Error(t||zo[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,err),!s)throw r;return r},wbits=function(e,t,s){s<<=7&t;var r=t/8|0;e[r]|=s,e[r+1]|=s>>8},wbits16=function(e,t,s){s<<=7&t;var r=t/8|0;e[r]|=s,e[r+1]|=s>>8,e[r+2]|=s>>16},hTree=function(e,t){for(var s=[],r=0;r<e.length;++r)e[r]&&s.push({s:r,f:e[r]});var o=s.length,A=s.slice();if(!o)return{t:jo,l:0};if(1==o){var l=new Mo(s[0].s+1);return l[s[0].s]=1,{t:l,l:1}}s.sort((function(e,t){return e.f-t.f})),s.push({s:-1,f:25001});var h=s[0],c=s[1],d=0,g=1,p=2;for(s[0]={s:-1,f:h.f+c.f,l:h,r:c};g!=o-1;)h=s[s[d].f<s[p].f?d++:p++],c=s[d!=g&&s[d].f<s[p].f?d++:p++],s[g++]={s:-1,f:h.f+c.f,l:h,r:c};var m=A[0].s;for(r=1;r<o;++r)A[r].s>m&&(m=A[r].s);var f=new To(m+1),I=fflate_module_ln(s[g-1],f,0);if(I>t){r=0;var E=0,C=I-t,B=1<<C;for(A.sort((function(e,t){return f[t.s]-f[e.s]||e.f-t.f}));r<o;++r){var y=A[r].s;if(!(f[y]>t))break;E+=B-(1<<I-f[y]),f[y]=t}for(E>>=C;E>0;){var Q=A[r].s;f[Q]<t?E-=1<<t-f[Q]++-1:++r}for(;r>=0&&E;--r){var x=A[r].s;f[x]==t&&(--f[x],++E)}I=t}return{t:new Mo(f),l:I}},fflate_module_ln=function(e,t,s){return-1==e.s?Math.max(fflate_module_ln(e.l,t,s+1),fflate_module_ln(e.r,t,s+1)):t[e.s]=s},lc=function(e){for(var t=e.length;t&&!e[--t];);for(var s=new To(++t),r=0,o=e[0],A=1,w=function(e){s[r++]=e},l=1;l<=t;++l)if(e[l]==o&&l!=t)++A;else{if(!o&&A>2){for(;A>138;A-=138)w(32754);A>2&&(w(A>10?A-11<<5|28690:A-3<<5|12305),A=0)}else if(A>3){for(w(o),--A;A>6;A-=6)w(8304);A>2&&(w(A-3<<5|8208),A=0)}for(;A--;)w(o);A=1,o=e[l]}return{c:s.subarray(0,r),n:t}},clen=function(e,t){for(var s=0,r=0;r<t.length;++r)s+=e[r]*t[r];return s},wfblk=function(e,t,s){var r=s.length,o=shft(t+2);e[o]=255&r,e[o+1]=r>>8,e[o+2]=255^e[o],e[o+3]=255^e[o+1];for(var A=0;A<r;++A)e[o+A+4]=s[A];return 8*(o+4+r)},wblk=function(e,t,s,r,o,A,l,h,c,d,g){wbits(t,g++,s),++o[256];for(var p=hTree(o,15),m=p.t,f=p.l,I=hTree(A,15),E=I.t,C=I.l,B=lc(m),y=B.c,Q=B.n,x=lc(E),b=x.c,S=x.n,T=new To(19),F=0;F<y.length;++F)++T[31&y[F]];for(F=0;F<b.length;++F)++T[31&b[F]];for(var _=hTree(T,7),U=_.t,G=_.l,O=19;O>4&&!U[Fo[O-1]];--O);var q,K,J,Y,j=d+5<<3,$=clen(o,Vo)+clen(A,qo)+l,W=clen(o,m)+clen(A,E)+l+14+3*O+clen(T,U)+2*T[16]+3*T[17]+7*T[18];if(c>=0&&j<=$&&j<=W)return wfblk(t,g,e.subarray(c,c+d));if(wbits(t,g,1+(W<$)),g+=2,W<$){q=hMap(m,f,0),K=m,J=hMap(E,C,0),Y=E;var X=hMap(U,G,0);wbits(t,g,Q-257),wbits(t,g+5,S-1),wbits(t,g+10,O-4),g+=14;for(F=0;F<O;++F)wbits(t,g+3*F,U[Fo[F]]);g+=3*O;for(var ee=[y,b],te=0;te<2;++te){var ie=ee[te];for(F=0;F<ie.length;++F){var se=31&ie[F];wbits(t,g,X[se]),g+=U[se],se>15&&(wbits(t,g,ie[F]>>5&127),g+=ie[F]>>12)}}}else q=Ko,K=Vo,J=Jo,Y=qo;for(F=0;F<h;++F){var ne=r[F];if(ne>255){wbits16(t,g,q[(se=ne>>18&31)+257]),g+=K[se+257],se>7&&(wbits(t,g,ne>>23&31),g+=Do[se]);var re=31&ne;wbits16(t,g,J[re]),g+=Y[re],re>3&&(wbits16(t,g,ne>>5&8191),g+=Lo[re])}else wbits16(t,g,q[ne]),g+=K[ne]}return wbits16(t,g,q[256]),g+K[256]},Yo=new Ro([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),jo=new Mo(0),dflt=function(e,t,s,r,o,A){var l=A.z||e.length,h=new Mo(r+l+5*(1+Math.ceil(l/7e3))+o),c=h.subarray(r,h.length-o),d=A.l,g=7&(A.r||0);if(t){g&&(c[0]=A.r>>3);for(var p=Yo[t-1],m=p>>13,f=8191&p,I=(1<<s)-1,E=A.p||new To(32768),C=A.h||new To(I+1),B=Math.ceil(s/3),y=2*B,hsh=function(t){return(e[t]^e[t+1]<<B^e[t+2]<<y)&I},Q=new Ro(25e3),x=new To(288),b=new To(32),S=0,T=0,F=A.i||0,_=0,U=A.w||0,G=0;F+2<l;++F){var O=hsh(F),q=32767&F,K=C[O];if(E[q]=K,C[O]=q,U<=F){var J=l-F;if((S>7e3||_>24576)&&(J>423||!d)){g=wblk(e,c,0,Q,x,b,T,_,G,F-G,g),_=S=T=0,G=F;for(var Y=0;Y<286;++Y)x[Y]=0;for(Y=0;Y<30;++Y)b[Y]=0}var j=2,$=0,W=f,X=q-K&32767;if(J>2&&O==hsh(F-X))for(var ee=Math.min(m,J)-1,te=Math.min(32767,F),ie=Math.min(258,J);X<=te&&--W&&q!=K;){if(e[F+j]==e[F+j-X]){for(var se=0;se<ie&&e[F+se]==e[F+se-X];++se);if(se>j){if(j=se,$=X,se>ee)break;var ne=Math.min(X,se-2),re=0;for(Y=0;Y<ne;++Y){var ae=F-X+Y&32767,oe=ae-E[ae]&32767;oe>re&&(re=oe,K=ae)}}}X+=(q=K)-(K=E[q])&32767}if($){Q[_++]=268435456|Uo[j]<<18|No[$];var Ae=31&Uo[j],le=31&No[$];T+=Do[Ae]+Lo[le],++x[257+Ae],++b[le],U=F+j,++S}else Q[_++]=e[F],++x[e[F]]}}for(F=Math.max(F,U);F<l;++F)Q[_++]=e[F],++x[e[F]];g=wblk(e,c,d,Q,x,b,T,_,G,F-G,g),d||(A.r=7&g|c[g/8|0]<<3,g-=7,A.h=C,A.p=E,A.i=F,A.w=U)}else{for(F=A.w||0;F<l+d;F+=65535){var he=F+65535;he>=l&&(c[g/8|0]=d,he=l),g=wfblk(c,g+1,e.subarray(F,he))}A.i=l}return slc(h,0,r+shft(g)+o)},$o=function(){for(var e=new Int32Array(256),t=0;t<256;++t){for(var s=t,r=9;--r;)s=(1&s&&-306674912)^s>>>1;e[t]=s}return e}(),crc=function(){var e=-1;return{p:function(t){for(var s=e,r=0;r<t.length;++r)s=$o[255&s^t[r]]^s>>>8;e=s},d:function(){return~e}}},dopt=function(e,t,s,r,o){if(!o&&(o={l:1},t.dictionary)){var A=t.dictionary.subarray(-32768),l=new Mo(A.length+e.length);l.set(A),l.set(e,A.length),e=l,o.w=A.length}return dflt(e,null==t.level?6:t.level,null==t.mem?o.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,s,r,o)},mrg=function(e,t){var s={};for(var r in e)s[r]=e[r];for(var r in t)s[r]=t[r];return s},wbytes=function(e,t,s){for(;s;++t)e[t]=s,s>>>=8};function deflateSync(e,t){return dopt(e,t||{},0,0)}var fltn=function(e,t,s,r){for(var o in e){var A=e[o],l=t+o,h=r;Array.isArray(A)&&(h=mrg(r,A[1]),A=A[0]),A instanceof Mo?s[l]=[A,h]:(s[l+="/"]=[new Mo(0),h],fltn(A,l,s,r))}},Wo="undefined"!=typeof TextEncoder&&new TextEncoder,Xo="undefined"!=typeof TextDecoder&&new TextDecoder;try{Xo.decode(jo,{stream:!0}),1}catch(e){}function strToU8(e,t){if(t){for(var s=new Mo(e.length),r=0;r<e.length;++r)s[r]=e.charCodeAt(r);return s}if(Wo)return Wo.encode(e);var o=e.length,A=new Mo(e.length+(e.length>>1)),l=0,w=function(e){A[l++]=e};for(r=0;r<o;++r){if(l+5>A.length){var h=new Mo(l+8+(o-r<<1));h.set(A),A=h}var c=e.charCodeAt(r);c<128||t?w(c):c<2048?(w(192|c>>6),w(128|63&c)):c>55295&&c<57344?(w(240|(c=65536+(1047552&c)|1023&e.charCodeAt(++r))>>18),w(128|c>>12&63),w(128|c>>6&63),w(128|63&c)):(w(224|c>>12),w(128|c>>6&63),w(128|63&c))}return slc(A,0,l)}var exfl=function(e){var t=0;if(e)for(var s in e){var r=e[s].length;r>65535&&err(9),t+=r+4}return t},wzh=function(e,t,s,r,o,A,l,h){var c=r.length,d=s.extra,g=h&&h.length,p=exfl(d);wbytes(e,t,null!=l?33639248:67324752),t+=4,null!=l&&(e[t++]=20,e[t++]=s.os),e[t]=20,t+=2,e[t++]=s.flag<<1|(A<0&&8),e[t++]=o&&8,e[t++]=255&s.compression,e[t++]=s.compression>>8;var m=new Date(null==s.mtime?Date.now():s.mtime),f=m.getFullYear()-1980;if((f<0||f>119)&&err(10),wbytes(e,t,f<<25|m.getMonth()+1<<21|m.getDate()<<16|m.getHours()<<11|m.getMinutes()<<5|m.getSeconds()>>1),t+=4,-1!=A&&(wbytes(e,t,s.crc),wbytes(e,t+4,A<0?-A-2:A),wbytes(e,t+8,s.size)),wbytes(e,t+12,c),wbytes(e,t+14,p),t+=16,null!=l&&(wbytes(e,t,g),wbytes(e,t+6,s.attrs),wbytes(e,t+10,l),t+=14),e.set(r,t),t+=c,p)for(var I in d){var E=d[I],C=E.length;wbytes(e,t,+I),wbytes(e,t+2,C),e.set(E,t+4),t+=4+C}return g&&(e.set(h,t),t+=g),t},wzf=function(e,t,s,r,o){wbytes(e,t,101010256),wbytes(e,t+8,s),wbytes(e,t+10,s),wbytes(e,t+12,r),wbytes(e,t+16,o)};"function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout&&setTimeout;var Zo=s(25108);class USDZExporter{async parse(e,t={}){t=Object.assign({ar:{anchoring:{type:"plane"},planeAnchoring:{alignment:"horizontal"}},quickLookCompatible:!1,maxTextureSize:1024},t);const s={};s["model.usda"]=null;let r=buildHeader();r+=function buildSceneStart(e){return`def Xform "Root"\n{\n\tdef Scope "Scenes" (\n\t\tkind = "sceneLibrary"\n\t)\n\t{\n\t\tdef Xform "Scene" (\n\t\t\tcustomData = {\n\t\t\t\tbool preliminary_collidesWithEnvironment = 0\n\t\t\t\tstring sceneName = "Scene"\n\t\t\t}\n\t\t\tsceneName = "Scene"\n\t\t)\n\t\t{\n\t\ttoken preliminary:anchoring:type = "${e.ar.anchoring.type}"\n\t\ttoken preliminary:planeAnchoring:alignment = "${e.ar.planeAnchoring.alignment}"\n\n`}(t);const o={},A={};e.traverseVisible((e=>{if(e.isMesh){const t=e.geometry,A=e.material;if(A.isMeshStandardMaterial){const l="geometries/Geometry_"+t.id+".usda";if(!(l in s)){const e=function buildMeshObject(e){return`\ndef "Geometry"\n{\n${function buildMesh(e){const t="Geometry",s=e.attributes,r=s.position.count;return`\n\tdef Mesh "${t}"\n\t{\n\t\tint[] faceVertexCounts = [${function buildMeshVertexCount(e){const t=null!==e.index?e.index.count:e.attributes.position.count;return Array(t/3).fill(3).join(", ")}(e)}]\n\t\tint[] faceVertexIndices = [${function buildMeshVertexIndices(e){const t=e.index,s=[];if(null!==t)for(let e=0;e<t.count;e++)s.push(t.getX(e));else{const t=e.attributes.position.count;for(let e=0;e<t;e++)s.push(e)}return s.join(", ")}(e)}]\n\t\tnormal3f[] normals = [${buildVector3Array(s.normal,r)}] (\n\t\t\tinterpolation = "vertex"\n\t\t)\n\t\tpoint3f[] points = [${buildVector3Array(s.position,r)}]\n${function buildPrimvars(e){let t="";for(let s=0;s<4;s++){const r=s>0?s:"",o=e["uv"+r];void 0!==o&&(t+=`\n\t\ttexCoord2f[] primvars:st${r} = [${buildVector2Array(o)}] (\n\t\t\tinterpolation = "vertex"\n\t\t)`)}const s=e.color;if(void 0!==s){t+=`\n\tcolor3f[] primvars:displayColor = [${buildVector3Array(s,s.count)}] (\n\t\tinterpolation = "vertex"\n\t\t)`}return t}(s)}\n\t\tuniform token subdivisionScheme = "none"\n\t}\n`}(e)}\n}\n`}(t);s[l]=function buildUSDFileAsString(e){let t=buildHeader();return t+=e,strToU8(t)}(e)}A.uuid in o||(o[A.uuid]=A),r+=function buildXform(e,t,s){const r="Object_"+e.id,o=buildMatrix(e.matrixWorld);e.matrixWorld.determinant()<0&&Zo.warn("THREE.USDZExporter: USDZ does not support negative scales",e);return`def Xform "${r}" (\n\tprepend references = @./geometries/Geometry_${t.id}.usda@</Geometry>\n\tprepend apiSchemas = ["MaterialBindingAPI"]\n)\n{\n\tmatrix4d xformOp:transform = ${o}\n\tuniform token[] xformOpOrder = ["xformOp:transform"]\n\n\trel material:binding = </Materials/Material_${s.id}>\n}\n\n`}(e,t,A)}else Zo.warn("THREE.USDZExporter: Unsupported material type (USDZ only supports MeshStandardMaterial)",e)}else e.isCamera&&(r+=function buildCamera(e){const t=e.name?e.name:"Camera_"+e.id,s=buildMatrix(e.matrixWorld);e.matrixWorld.determinant()<0&&Zo.warn("THREE.USDZExporter: USDZ does not support negative scales",e);return e.isOrthographicCamera?`def Camera "${t}"\n\t\t{\n\t\t\tmatrix4d xformOp:transform = ${s}\n\t\t\tuniform token[] xformOpOrder = ["xformOp:transform"]\n\n\t\t\tfloat2 clippingRange = (${e.near.toPrecision(7)}, ${e.far.toPrecision(7)})\n\t\t\tfloat horizontalAperture = ${(10*(Math.abs(e.left)+Math.abs(e.right))).toPrecision(7)}\n\t\t\tfloat verticalAperture = ${(10*(Math.abs(e.top)+Math.abs(e.bottom))).toPrecision(7)}\n\t\t\ttoken projection = "orthographic"\n\t\t}\n\t\n\t`:`def Camera "${t}"\n\t\t{\n\t\t\tmatrix4d xformOp:transform = ${s}\n\t\t\tuniform token[] xformOpOrder = ["xformOp:transform"]\n\n\t\t\tfloat2 clippingRange = (${e.near.toPrecision(7)}, ${e.far.toPrecision(7)})\n\t\t\tfloat focalLength = ${e.getFocalLength().toPrecision(7)}\n\t\t\tfloat focusDistance = ${e.focus.toPrecision(7)}\n\t\t\tfloat horizontalAperture = ${e.getFilmWidth().toPrecision(7)}\n\t\t\ttoken projection = "perspective"\n\t\t\tfloat verticalAperture = ${e.getFilmHeight().toPrecision(7)}\n\t\t}\n\t\n\t`}(e))})),r+="\n\t\t}\n\t}\n}\n\n",r+=function buildMaterials(e,t,s=!1){const r=[];for(const o in e){const A=e[o];r.push(buildMaterial(A,t,s))}return`def "Materials"\n{\n${r.join("")}\n}\n\n`}(o,A,t.quickLookCompatible),s["model.usda"]=strToU8(r),r=null;for(const e in A){let r=A[e];!0===r.isCompressedTexture&&(r=decompress(r));const o=imageToCanvas(r.image,r.flipY,t.maxTextureSize),l=await new Promise((e=>o.toBlob(e,"image/png",1)));s[`textures/Texture_${e}.png`]=new Uint8Array(await l.arrayBuffer())}let l=0;for(const e in s){const t=s[e];l+=34+e.length;const r=63&l;if(4!==r){const o=new Uint8Array(64-r);s[e]=[t,{extra:{12345:o}}]}l=t.length}return function zipSync(e,t){t||(t={});var s={},r=[];fltn(e,"",s,t);var o=0,A=0;for(var l in s){var h=s[l],c=h[0],d=h[1],g=0==d.level?0:8,p=(T=strToU8(l)).length,m=d.comment,f=m&&strToU8(m),I=f&&f.length,E=exfl(d.extra);p>65535&&err(11);var C=g?deflateSync(c,d):c,B=C.length,y=crc();y.p(c),r.push(mrg(d,{size:c.length,crc:y.d(),c:C,f:T,m:f,u:p!=l.length||f&&m.length!=I,o,compression:g})),o+=30+p+E+B,A+=76+2*(p+E)+(I||0)+B}for(var Q=new Mo(A+22),x=o,b=A-o,S=0;S<r.length;++S){var T=r[S];wzh(Q,T.o,T,T.f,T.u,T.c.length);var F=30+T.f.length+exfl(T.extra);Q.set(T.c,T.o+F),wzh(Q,o,T,T.f,T.u,T.c.length,T.o,T.m),o+=16+F+(T.m?T.m.length:0)}return wzf(Q,o,r.length,b,x),Q}(s,{level:0})}}function imageToCanvas(e,t,s){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const r=s/Math.max(e.width,e.height),o=document.createElement("canvas");o.width=e.width*Math.min(1,r),o.height=e.height*Math.min(1,r);const A=o.getContext("2d");return!0===t&&(A.translate(0,o.height),A.scale(1,-1)),A.drawImage(e,0,0,o.width,o.height),o}throw new Error("THREE.USDZExporter: No valid image data found. Unable to process texture.")}function buildHeader(){return'#usda 1.0\n(\n\tcustomLayerData = {\n\t\tstring creator = "Three.js USDZExporter"\n\t}\n\tdefaultPrim = "Root"\n\tmetersPerUnit = 1\n\tupAxis = "Y"\n)\n\n'}function buildMatrix(e){const t=e.elements;return`( ${buildMatrixRow(t,0)}, ${buildMatrixRow(t,4)}, ${buildMatrixRow(t,8)}, ${buildMatrixRow(t,12)} )`}function buildMatrixRow(e,t){return`(${e[t+0]}, ${e[t+1]}, ${e[t+2]}, ${e[t+3]})`}function buildVector3Array(e,t){if(void 0===e)return Zo.warn("USDZExporter: Normals missing."),Array(t).fill("(0, 0, 0)").join(", ");const s=[];for(let t=0;t<e.count;t++){const r=e.getX(t),o=e.getY(t),A=e.getZ(t);s.push(`(${r.toPrecision(7)}, ${o.toPrecision(7)}, ${A.toPrecision(7)})`)}return s.join(", ")}function buildVector2Array(e){const t=[];for(let s=0;s<e.count;s++){const r=e.getX(s),o=e.getY(s);t.push(`(${r.toPrecision(7)}, ${1-o.toPrecision(7)})`)}return t.join(", ")}function buildMaterial(e,t,s=!1){const r=[],A=[];function buildTexture(r,A,l){const h=r.source.id+"_"+r.flipY;t[h]=r;const c=r.channel>0?"st"+r.channel:"st",d={1e3:"repeat",1001:"clamp",1002:"mirror"},g=r.repeat.clone(),p=r.offset.clone(),m=r.rotation,f=Math.sin(m),I=Math.cos(m);return p.y=1-p.y-g.y,s?(p.x=p.x/g.x,p.y=p.y/g.y,p.x+=f/g.x,p.y+=I-1):(p.x+=f*g.x,p.y+=(1-I)*g.y),`\n\t\tdef Shader "PrimvarReader_${A}"\n\t\t{\n\t\t\tuniform token info:id = "UsdPrimvarReader_float2"\n\t\t\tfloat2 inputs:fallback = (0.0, 0.0)\n\t\t\ttoken inputs:varname = "${c}"\n\t\t\tfloat2 outputs:result\n\t\t}\n\n\t\tdef Shader "Transform2d_${A}"\n\t\t{\n\t\t\tuniform token info:id = "UsdTransform2d"\n\t\t\ttoken inputs:in.connect = </Materials/Material_${e.id}/PrimvarReader_${A}.outputs:result>\n\t\t\tfloat inputs:rotation = ${(m*(180/Math.PI)).toFixed(7)}\n\t\t\tfloat2 inputs:scale = ${buildVector2(g)}\n\t\t\tfloat2 inputs:translation = ${buildVector2(p)}\n\t\t\tfloat2 outputs:result\n\t\t}\n\n\t\tdef Shader "Texture_${r.id}_${A}"\n\t\t{\n\t\t\tuniform token info:id = "UsdUVTexture"\n\t\t\tasset inputs:file = @textures/Texture_${h}.png@\n\t\t\tfloat2 inputs:st.connect = </Materials/Material_${e.id}/Transform2d_${A}.outputs:result>\n\t\t\t${void 0!==l?"float4 inputs:scale = "+function buildColor4(e){return`(${e.r}, ${e.g}, ${e.b}, 1.0)`}(l):""}\n\t\t\ttoken inputs:sourceColorSpace = "${r.colorSpace===o.aCh?"raw":"sRGB"}"\n\t\t\ttoken inputs:wrapS = "${d[r.wrapS]}"\n\t\t\ttoken inputs:wrapT = "${d[r.wrapT]}"\n\t\t\tfloat outputs:r\n\t\t\tfloat outputs:g\n\t\t\tfloat outputs:b\n\t\t\tfloat3 outputs:rgb\n\t\t\t${e.transparent||e.alphaTest>0?"float outputs:a":""}\n\t\t}`}return e.side===o.ehD&&Zo.warn("THREE.USDZExporter: USDZ does not support double sided materials",e),null!==e.map?(r.push(`\t\t\tcolor3f inputs:diffuseColor.connect = </Materials/Material_${e.id}/Texture_${e.map.id}_diffuse.outputs:rgb>`),e.transparent?r.push(`\t\t\tfloat inputs:opacity.connect = </Materials/Material_${e.id}/Texture_${e.map.id}_diffuse.outputs:a>`):e.alphaTest>0&&(r.push(`\t\t\tfloat inputs:opacity.connect = </Materials/Material_${e.id}/Texture_${e.map.id}_diffuse.outputs:a>`),r.push(`\t\t\tfloat inputs:opacityThreshold = ${e.alphaTest}`)),A.push(buildTexture(e.map,"diffuse",e.color))):r.push(`\t\t\tcolor3f inputs:diffuseColor = ${buildColor(e.color)}`),null!==e.emissiveMap?(r.push(`\t\t\tcolor3f inputs:emissiveColor.connect = </Materials/Material_${e.id}/Texture_${e.emissiveMap.id}_emissive.outputs:rgb>`),A.push(buildTexture(e.emissiveMap,"emissive"))):e.emissive.getHex()>0&&r.push(`\t\t\tcolor3f inputs:emissiveColor = ${buildColor(e.emissive)}`),null!==e.normalMap&&(r.push(`\t\t\tnormal3f inputs:normal.connect = </Materials/Material_${e.id}/Texture_${e.normalMap.id}_normal.outputs:rgb>`),A.push(buildTexture(e.normalMap,"normal"))),null!==e.aoMap&&(r.push(`\t\t\tfloat inputs:occlusion.connect = </Materials/Material_${e.id}/Texture_${e.aoMap.id}_occlusion.outputs:r>`),A.push(buildTexture(e.aoMap,"occlusion"))),null!==e.roughnessMap&&1===e.roughness?(r.push(`\t\t\tfloat inputs:roughness.connect = </Materials/Material_${e.id}/Texture_${e.roughnessMap.id}_roughness.outputs:g>`),A.push(buildTexture(e.roughnessMap,"roughness"))):r.push(`\t\t\tfloat inputs:roughness = ${e.roughness}`),null!==e.metalnessMap&&1===e.metalness?(r.push(`\t\t\tfloat inputs:metallic.connect = </Materials/Material_${e.id}/Texture_${e.metalnessMap.id}_metallic.outputs:b>`),A.push(buildTexture(e.metalnessMap,"metallic"))):r.push(`\t\t\tfloat inputs:metallic = ${e.metalness}`),null!==e.alphaMap?(r.push(`\t\t\tfloat inputs:opacity.connect = </Materials/Material_${e.id}/Texture_${e.alphaMap.id}_opacity.outputs:r>`),r.push("\t\t\tfloat inputs:opacityThreshold = 0.0001"),A.push(buildTexture(e.alphaMap,"opacity"))):r.push(`\t\t\tfloat inputs:opacity = ${e.opacity}`),e.isMeshPhysicalMaterial&&(r.push(`\t\t\tfloat inputs:clearcoat = ${e.clearcoat}`),r.push(`\t\t\tfloat inputs:clearcoatRoughness = ${e.clearcoatRoughness}`),r.push(`\t\t\tfloat inputs:ior = ${e.ior}`)),`\n\tdef Material "Material_${e.id}"\n\t{\n\t\tdef Shader "PreviewSurface"\n\t\t{\n\t\t\tuniform token info:id = "UsdPreviewSurface"\n${r.join("\n")}\n\t\t\tint inputs:useSpecularWorkflow = 0\n\t\t\ttoken outputs:surface\n\t\t}\n\n\t\ttoken outputs:surface.connect = </Materials/Material_${e.id}/PreviewSurface.outputs:surface>\n\n${A.join("\n")}\n\n\t}\n`}function buildColor(e){return`(${e.r}, ${e.g}, ${e.b})`}function buildVector2(e){return`(${e.x}, ${e.y})`}var eA=s(25108),ar_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};let tA=!1,iA=!1;const sA="#model-viewer-no-ar-fallback",nA=(rA=["quick-look","scene-viewer","webxr","none"],e=>{try{const t=fi(e),s=(t.length?t[0].terms:[]).filter((e=>e&&"ident"===e.type)).map((e=>e.value)).filter((e=>rA.indexOf(e)>-1));return new Set(s)}catch(e){}return new Set});var rA;const aA="quick-look",oA="scene-viewer",AA="webxr",lA="none",hA=Symbol("arButtonContainer"),cA=Symbol("enterARWithWebXR"),uA=Symbol("openSceneViewer"),dA=Symbol("openIOSARQuickLook"),gA=Symbol("canActivateAR"),pA=Symbol("arMode"),mA=Symbol("arModes"),fA=Symbol("arAnchor"),IA=Symbol("preload"),EA=Symbol("onARButtonContainerClick"),CA=Symbol("onARStatus"),BA=Symbol("onARTracking"),yA=Symbol("onARTap"),wA=Symbol("selectARMode"),vA=Symbol("triggerLoad");var loading_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const QA="auto",xA="auto",bA="eager",SA=Symbol("defaultProgressBarElement"),MA=Symbol("posterContainerElement"),TA=Symbol("defaultPosterElement"),RA=Symbol("shouldDismissPoster"),DA=Symbol("hidePoster"),LA=Symbol("modelIsRevealed"),FA=Symbol("updateProgressBar"),kA=Symbol("ariaLabelCallToAction"),_A=Symbol("onProgress");var staging_decorate=function(e,t,s,r){var o,A=arguments.length,l=A<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,r);else for(var h=e.length-1;h>=0;h--)(o=e[h])&&(l=(A<3?o(l):A>3?o(t,s,l):o(t,s))||l);return A>3&&l&&Object.defineProperty(t,s,l),l};const UA=Math.PI/32,GA={basis:[degreesToRadians(numberNode(UA,"rad"))],keywords:{auto:[null]}},NA=Symbol("autoRotateStartTime"),PA=Symbol("radiansPerSecond"),OA=Symbol("syncRotationRate"),HA=Symbol("onCameraChange"),VA=(e=>{var t,s,r;class AnnotationModelViewerElement extends e{constructor(){super(...arguments),this[t]=new Map,this[s]=e=>{e.forEach((e=>{e instanceof MutationRecord&&"childList"!==e.type||(e.addedNodes.forEach((e=>{this[xo](e)})),e.removedNodes.forEach((e=>{this[bo](e)})),this[ho]())}))},this[r]=new MutationObserver(this[vo])}connectedCallback(){super.connectedCallback();for(let e=0;e<this.children.length;++e)this[xo](this.children[e]);const{ShadyDOM:e}=self;null==e?this[Qo].observe(this,{childList:!0}):this[Qo]=e.observeChildren(this,this[vo])}disconnectedCallback(){super.disconnectedCallback();const{ShadyDOM:e}=self;null==e?this[Qo].disconnect():e.unobserveChildren(this[Qo])}[(t=wo,s=vo,r=Qo,co)](e,t){super[co](e,t);const s=this[lo],{annotationRenderer:r}=s,o=s.getCamera();s.shouldRender()&&(s.updateSurfaceHotspots(),s.updateHotspotsVisibility(o.position),r.domElement.style.display="",r.render(s,o))}updateHotspot(e){const t=this[wo].get(e.name);null!=t&&(t.updatePosition(e.position),t.updateNormal(e.normal),t.surface=e.surface,this[ho]())}queryHotspot(e){const t=this[wo].get(e);if(null==t)return null;const s=toVector3D(t.position),r=toVector3D(t.normal),A=t.facingCamera,l=this[lo],h=l.getCamera(),c=new o.Pa4;c.setFromMatrixPosition(t.matrixWorld),c.project(h);const d=l.width/2,g=l.height/2;c.x=c.x*d+d,c.y=-c.y*g+g;const p=toVector3D(new o.Pa4(c.x,c.y,c.z));return Number.isFinite(p.x)&&Number.isFinite(p.y)?{position:s,normal:r,canvasPosition:p,facingCamera:A}:null}positionAndNormalFromPoint(e,t){const s=this[lo],r=s.getNDC(e,t),o=s.positionAndNormalFromPoint(r);if(null==o)return null;So.copy(s.target.matrixWorld).invert();const A=toVector3D(o.position.applyMatrix4(So)),l=toVector3D(o.normal.transformDirection(So));let h=null;return null!=o.uv&&(h=toVector2D(o.uv)),{position:A,normal:l,uv:h}}surfaceFromPoint(e,t){const s=this[lo],r=s.getNDC(e,t);return s.surfaceFromPoint(r)}[xo](e){if(!(e instanceof HTMLElement&&0===e.slot.indexOf("hotspot")))return;let t=this[wo].get(e.slot);null!=t?t.increment():(t=new Hotspot({name:e.slot,position:e.dataset.position,normal:e.dataset.normal,surface:e.dataset.surface}),this[wo].set(e.slot,t),this[lo].addHotspot(t)),this[lo].queueRender()}[bo](e){if(!(e instanceof HTMLElement))return;const t=this[wo].get(e.slot);t&&(t.decrement()&&(this[lo].removeHotspot(t),this[wo].delete(e.slot)),this[lo].queueRender())}}return AnnotationModelViewerElement})((e=>{var t,s,r;class SceneGraphModelViewerElement extends e{constructor(){super(...arguments),this[t]=void 0,this[s]=null,this[r]=null,this.variantName=null,this.orientation="0 0 0",this.scale="1 1 1"}get model(){return this[aa]}get availableVariants(){return this.model?this.model[ta]():[]}get originalGltfJson(){return this[ra]}[(t=aa,s=na,r=ra,oa)](){return()=>{this[ho]()}}[Aa](e){return e.colorSpace=o.KI_,e.wrapS=o.rpg,e.wrapT=o.rpg,new Texture(this[oa](),e)}async createTexture(e,t="image/png"){const{textureUtils:s}=this[po],r=await s.loadImage(e);return r.userData.mimeType=t,this[Aa](r)}async createLottieTexture(e,t=1){const{textureUtils:s}=this[po],r=await s.loadLottie(e,t);return this[Aa](r)}createVideoTexture(e){const t=document.createElement("video");t.crossOrigin=this.withCredentials?"use-credentials":"anonymous",t.src=e,t.muted=!0,t.playsInline=!0,t.loop=!0,t.play();const s=new o.fO1(t);return this[Aa](s)}createCanvasTexture(){const e=document.createElement("canvas"),t=new o.ROQ(e);return this[Aa](t)}async updated(e){if(super.updated(e),e.has("variantName")){const e=this[mo].beginActivity("variant-update");e(.1);const t=this[aa],{variantName:s}=this;null!=t&&(await t[$r](s),this[ho](),this.dispatchEvent(new CustomEvent("variant-applied"))),e(1)}if(e.has("orientation")||e.has("scale")){if(!this.loaded)return;const e=this[lo];e.applyTransform(),e.updateBoundingBox(),e.updateShadow(),this[po].arRenderer.onUpdateScene(),this[ho]()}}[uo](){super[uo]();const{currentGLTF:e}=this[lo];if(null!=e){const{correlatedSceneGraph:t}=e;null!=t&&e!==this[na]&&(this[aa]=new Model(t,this[oa]()),this[ra]=JSON.parse(JSON.stringify(t.gltf))),"variants"in e.userData&&this.requestUpdate("variantName")}this[na]=e}async exportScene(e){const t=this[lo];return new Promise((async(s,r)=>{const o={binary:!0,onlyVisible:!0,maxTextureSize:1/0,includeCustomExtensions:!1,forceIndices:!1};Object.assign(o,e),o.animations=t.animations,o.truncateDrawRange=!0;const A=t.shadow;let l=!1;null!=A&&(l=A.visible,A.visible=!1),await this[aa][jr]();(new GLTFExporter).register((e=>new GLTFExporterMaterialsVariantsExtension(e))).parse(t.model,(e=>s(new Blob([o.binary?e:JSON.stringify(e)],{type:o.binary?"application/octet-stream":"application/json"}))),(()=>r("glTF export failed")),o),null!=A&&(A.visible=l)}))}materialFromPoint(e,t){const s=this[aa];if(null==s)return null;const r=this[lo],o=r.getNDC(e,t),A=r.hitFromPoint(o);return null==A||null==A.face?null:s[Wr](A)}}return scene_graph_decorate([n({type:String,attribute:"variant-name"})],SceneGraphModelViewerElement.prototype,"variantName",void 0),scene_graph_decorate([n({type:String,attribute:"orientation"})],SceneGraphModelViewerElement.prototype,"orientation",void 0),scene_graph_decorate([n({type:String,attribute:"scale"})],SceneGraphModelViewerElement.prototype,"scale",void 0),SceneGraphModelViewerElement})((e=>{var t,s,r;class StagingModelViewerElement extends e{constructor(){super(...arguments),this.autoRotate=!1,this.autoRotateDelay=3e3,this.rotationPerSecond="auto",this[t]=performance.now(),this[s]=0,this[r]=e=>{this.autoRotate&&"user-interaction"===e.detail.source&&(this[NA]=performance.now())}}connectedCallback(){super.connectedCallback(),this.addEventListener("camera-change",this[HA]),this[NA]=performance.now()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("camera-change",this[HA]),this[NA]=performance.now()}updated(e){super.updated(e),e.has("autoRotate")&&(this[NA]=performance.now())}[(t=NA,s=PA,OA)](e){this[PA]=e[0]}[co](e,t){if(super[co](e,t),!this.autoRotate||!this[Io]()||this[po].isPresenting)return;const s=Math.min(t,e-this[NA]-this.autoRotateDelay);s>0&&(this[lo].yaw=this.turntableRotation+this[PA]*s*.001)}get turntableRotation(){return this[lo].yaw}resetTurntableRotation(e=0){this[lo].yaw=e}}return r=HA,staging_decorate([n({type:Boolean,attribute:"auto-rotate"})],StagingModelViewerElement.prototype,"autoRotate",void 0),staging_decorate([n({type:Number,attribute:"auto-rotate-delay"})],StagingModelViewerElement.prototype,"autoRotateDelay",void 0),staging_decorate([style({intrinsics:GA,updateHandler:OA}),n({type:String,attribute:"rotation-per-second"})],StagingModelViewerElement.prototype,"rotationPerSecond",void 0),StagingModelViewerElement})((e=>{var t,s,r;class EnvironmentModelViewerElement extends e{constructor(){super(...arguments),this.environmentImage=null,this.skyboxImage=null,this.shadowIntensity=0,this.shadowSoftness=1,this.exposure=1,this.toneMapping="auto",this.skyboxHeight="0",this[t]=null,this[s]=null,this[r]=null}updated(e){super.updated(e),e.has("shadowIntensity")&&(this[lo].setShadowIntensity(.5*this.shadowIntensity),this[ho]()),e.has("shadowSoftness")&&(this[lo].setShadowSoftness(this.shadowSoftness),this[ho]()),e.has("exposure")&&(this[lo].exposure=this.exposure,this[ho]()),e.has("toneMapping")&&(this[lo].toneMapping="commerce"===this.toneMapping||"neutral"===this.toneMapping?o.ORg:"agx"===this.toneMapping?o.Bgp:o.LY2,this[ho]()),(e.has("environmentImage")||e.has("skyboxImage"))&&this[Eo]()&&this[Qe](),e.has("skyboxHeight")&&(this[lo].setGroundedSkybox(),this[ho]())}hasBakedShadow(){return this[lo].bakedShadows.size>0}async[(t=we,s=ve,r=xe,Qe)](){const{skyboxImage:e,environmentImage:t}=this;null!=this[xe]&&(this[xe](),this[xe]=null);const{textureUtils:s}=this[po];if(null==s)return;const r=this[mo].beginActivity("environment-update");try{const{environmentMap:o,skybox:A}=await s.generateEnvironmentMapAndSkybox(deserializeUrl(e),t,(e=>r(clamp(e,0,1))));this[we]!==o&&(this[we]=o,this.dispatchEvent(new CustomEvent("environment-change"))),this[ve]=null!=A?A.name===o.name?o:A:null,this[lo].setEnvironmentAndSkybox(this[we],this[ve])}catch(e){if(e instanceof Error)throw this[lo].setEnvironmentAndSkybox(null,null),e}finally{r(1)}}}return __decorate([n({type:String,attribute:"environment-image"})],EnvironmentModelViewerElement.prototype,"environmentImage",void 0),__decorate([n({type:String,attribute:"skybox-image"})],EnvironmentModelViewerElement.prototype,"skyboxImage",void 0),__decorate([n({type:Number,attribute:"shadow-intensity"})],EnvironmentModelViewerElement.prototype,"shadowIntensity",void 0),__decorate([n({type:Number,attribute:"shadow-softness"})],EnvironmentModelViewerElement.prototype,"shadowSoftness",void 0),__decorate([n({type:Number})],EnvironmentModelViewerElement.prototype,"exposure",void 0),__decorate([n({type:String,attribute:"tone-mapping"})],EnvironmentModelViewerElement.prototype,"toneMapping",void 0),__decorate([n({type:String,attribute:"skybox-height"})],EnvironmentModelViewerElement.prototype,"skyboxHeight",void 0),EnvironmentModelViewerElement})((e=>{var t,s,r,A,l,h,c,d,g,p,m,f,I,E,C,B,y,Q;class ControlsModelViewerElement extends e{constructor(){super(...arguments),this.cameraControls=!1,this.cameraOrbit=os,this.cameraTarget="auto auto auto",this.fieldOfView="auto",this.minCameraOrbit="auto",this.maxCameraOrbit="auto",this.minFieldOfView="auto",this.maxFieldOfView="auto",this.interactionPromptThreshold=3e3,this.interactionPrompt=hs,this.interactionPromptStyle=us,this.orbitSensitivity=1,this.zoomSensitivity=1,this.panSensitivity=1,this.touchAction=ds,this.disableZoom=!1,this.disablePan=!1,this.disableTap=!1,this.interpolationDecay=50,this.a11y=null,this[t]=this.shadowRoot.querySelector(".interaction-prompt"),this[s]=this.shadowRoot.querySelector("#prompt"),this[r]=[this.shadowRoot.querySelector("#finger0"),this.shadowRoot.querySelector("#finger1")],this[A]=this.shadowRoot.querySelector(".pan-target"),this[l]=0,this[h]=1/0,this[c]=!1,this[d]=!1,this[g]=Zs.AUTOMATIC,this[p]=new SmoothControls(this[lo].camera,this[oo],this[lo]),this[m]=new o.$V,this[f]=!1,this[I]=!1,this[E]=!1,this[C]={},this[B]=()=>{const e=this[Es].changeSource;this[_s]=e,e===Zs.USER_INTERACTION&&(this[Ls]=!0,this[vs]())},this[y]=()=>{this[Qs](),this[ho]();const e=this[Es].changeSource;this.dispatchEvent(new CustomEvent("camera-change",{detail:{source:e}}))},this[Q]=e=>{this[ao].classList.toggle("pointer-tumbling","pointer-change-start"===e.type)}}get inputSensitivity(){return this[Es].inputSensitivity}set inputSensitivity(e){this[Es].inputSensitivity=e}getCameraOrbit(){const{theta:e,phi:t,radius:s}=this[Us];return{theta:e,phi:t,radius:s,toString(){return`${this.theta}rad ${this.phi}rad ${this.radius}m`}}}getCameraTarget(){return toVector3D(this[po].isPresenting?this[po].arRenderer.target:this[lo].getTarget())}getFieldOfView(){return this[Es].getFieldOfView()}getMinimumFieldOfView(){return this[Es].options.minimumFieldOfView}getMaximumFieldOfView(){return this[Es].options.maximumFieldOfView}getIdealAspect(){return this[lo].idealAspect}jumpCameraToGoal(){this[Gs]=!0,this.requestUpdate(Gs,!1)}resetInteractionPrompt(){this[ks]=0,this[Fs]=1/0,this[Ls]=!1,this[Ds]=this.interactionPrompt===hs&&this.cameraControls}zoom(e){const t=new WheelEvent("wheel",{deltaY:-30*e});this[oo].dispatchEvent(t)}connectedCallback(){super.connectedCallback(),this[Es].addEventListener("user-interaction",this[Ms]),this[Es].addEventListener("pointer-change-start",this[Rs]),this[Es].addEventListener("pointer-change-end",this[Rs])}disconnectedCallback(){super.disconnectedCallback(),this[Es].removeEventListener("user-interaction",this[Ms]),this[Es].removeEventListener("pointer-change-start",this[Rs]),this[Es].removeEventListener("pointer-change-end",this[Rs])}updated(e){super.updated(e);const t=this[Es],s=this[lo];if(e.has("cameraControls")&&(this.cameraControls?(t.enableInteraction(),this.interactionPrompt===hs&&(this[Ds]=!0)):(t.disableInteraction(),this[vs]()),this[oo].setAttribute("aria-label",this[Za])),e.has("disableZoom")&&(t.disableZoom=this.disableZoom),e.has("disablePan")&&(t.enablePan=!this.disablePan),e.has("disableTap")&&(t.enableTap=!this.disableTap),(e.has("interactionPrompt")||e.has("cameraControls")||e.has("src"))&&(this.interactionPrompt===hs&&this.cameraControls&&!this[Ls]?this[Ds]=!0:this[vs]()),e.has("interactionPromptStyle")&&(this[ys].style.opacity=this.interactionPromptStyle==cs?"1":"0"),e.has("touchAction")){const e=this.touchAction;t.applyOptions({touchAction:e}),t.updateTouchActionStyle()}e.has("orbitSensitivity")&&(t.orbitSensitivity=this.orbitSensitivity),e.has("zoomSensitivity")&&(t.zoomSensitivity=this.zoomSensitivity),e.has("panSensitivity")&&(t.panSensitivity=this.panSensitivity),e.has("interpolationDecay")&&(t.setDamperDecayTime(this.interpolationDecay),s.setTargetDamperDecayTime(this.interpolationDecay)),e.has("a11y")&&this[bs](),!0===this[Gs]&&Promise.resolve().then((()=>{t.jumpToGoal(),s.jumpToGoal(),this[Ts](),this[Gs]=!1}))}async updateFraming(){const e=this[lo],t=e.adjustedFoV(e.framedFoVDeg);await e.updateFraming();const s=e.adjustedFoV(e.framedFoVDeg),r=this[Es].getFieldOfView()/t;this[Es].setFieldOfView(s*r),this[Ps]=!0,this.requestUpdate("maxFieldOfView"),this.requestUpdate("fieldOfView"),this.requestUpdate("minCameraOrbit"),this.requestUpdate("maxCameraOrbit"),this.requestUpdate("cameraOrbit"),await this.updateComplete}interact(e,t,s){const r=this[oo],o=this[ws];if("1"===o[0].style.opacity)return void ns.warn("interact() failed because an existing interaction is running.");const A=new Array;A.push({x:timeline(t.x),y:timeline(t.y)});const l=[{x:A[0].x(0),y:A[0].y(0)}];null!=s&&(A.push({x:timeline(s.x),y:timeline(s.y)}),l.push({x:A[1].x(0),y:A[1].y(0)}));let h=performance.now();const{width:c,height:d}=this[lo],g=this.getBoundingClientRect(),dispatchTouches=e=>{for(const[t,s]of l.entries()){const{style:A}=o[t];A.transform=`translateX(${c*s.x}px) translateY(${d*s.y}px)`,"pointerdown"===e?A.opacity="1":"pointerup"===e&&(A.opacity="0");const l={pointerId:t-5678,pointerType:"touch",target:r,clientX:c*s.x+g.x,clientY:d*s.y+g.y,altKey:!0};r.dispatchEvent(new PointerEvent(e,l))}},moveTouches=()=>{const t=this[_s];if(t!==Zs.AUTOMATIC||!r.isConnected){for(const e of this[ws])e.style.opacity="0";return dispatchTouches("pointercancel"),this.dispatchEvent(new CustomEvent("interact-stopped",{detail:{source:t}})),void document.removeEventListener("visibilitychange",onVisibilityChange)}const s=Math.min(1,(performance.now()-h)/e);for(const[e,t]of l.entries())t.x=A[e].x(s),t.y=A[e].y(s);dispatchTouches("pointermove"),s<1?requestAnimationFrame(moveTouches):(dispatchTouches("pointerup"),this.dispatchEvent(new CustomEvent("interact-stopped",{detail:{source:Zs.AUTOMATIC}})),document.removeEventListener("visibilitychange",onVisibilityChange))},onVisibilityChange=()=>{let e=0;"hidden"===document.visibilityState?e=performance.now()-h:h=performance.now()-e};document.addEventListener("visibilitychange",onVisibilityChange),dispatchTouches("pointerdown"),this[_s]=Zs.AUTOMATIC,requestAnimationFrame(moveTouches)}[(t=Bs,s=ys,r=ws,A=Cs,l=ks,h=Fs,c=Ls,d=Ds,g=_s,p=Es,m=Us,f=Gs,I=Ns,E=Ps,C=xs,Hs)](e){const t=this[Es],s=this[lo];s.framedFoVDeg=180*e[0]/Math.PI,t.changeSource=Zs.NONE,t.setFieldOfView(s.adjustedFoV(s.framedFoVDeg)),this[Ms]()}[Os](e){const t=this[Es];if(this[Ps]){const{theta:t,phi:s}=this.getCameraOrbit();e[0]=t,e[1]=s,this[Ps]=!1}t.changeSource=Zs.NONE,t.setOrbit(e[0],e[1],e[2]),this[Ms]()}[qs](e){this[Es].applyOptions({minimumAzimuthalAngle:e[0],minimumPolarAngle:e[1],minimumRadius:e[2]}),this.jumpCameraToGoal()}[Ks](e){this[Es].applyOptions({maximumAzimuthalAngle:e[0],maximumPolarAngle:e[1],maximumRadius:e[2]}),this[Ss](e[2]),this.jumpCameraToGoal()}[Js](e){this[Es].applyOptions({minimumFieldOfView:180*e[0]/Math.PI}),this.jumpCameraToGoal()}[zs](e){const t=this[lo].adjustedFoV(180*e[0]/Math.PI);this[Es].applyOptions({maximumFieldOfView:t}),this.jumpCameraToGoal()}[Vs](e){const[t,s,r]=e;this[po].arRenderer.isPresenting||this[lo].setTarget(t,s,r),this[Es].changeSource=Zs.NONE,this[po].arRenderer.updateTarget(),this[Ms]()}[co](e,t){if(super[co](e,t),this[po].isPresenting||!this[Io]())return;const s=this[Es],r=this[lo],o=performance.now();if(this[Ds]&&this.loaded&&o>this[so]+this.interactionPromptThreshold&&(this[Ds]=!1,this[Fs]=o,this[Bs].classList.add("visible")),isFinite(this[Fs])&&this.interactionPromptStyle===us){const e=(o-this[Fs])/5e3%1,t=rs(e),A=as(e);if(this[ys].style.opacity=`${A}`,t!==this[ks]){const e=t*r.width*.05,o=(t-this[ks])*Math.PI/16;this[ys].style.transform=`translateX(${e}px)`,s.changeSource=Zs.AUTOMATIC,s.adjustOrbit(o,0,0),this[ks]=t}}const A=s.update(e,t),l=r.updateTarget(t);(A||l)&&this[Ts]()}[vs](){this[Ds]=!1,this[Bs].classList.remove("visible"),this[Fs]=1/0}[Ss](e){const t=Math.max(this[lo].farRadius(),e),s=Math.abs(2*t);this[Es].updateNearFar(0,s)}[Qs](){const{theta:e,phi:t}=this[Es].getCameraSpherical(this[Us]),s=(4+Math.floor((e%Is+fs)/ps))%4,r=Math.floor(t/ms),o=`${ls[r]}${As[s]}`,A=o;A in this[xs]?this[io](this[xs][A]):this[io](`View from stage ${o}`)}get[Za](){let e=". Use mouse, touch or arrow keys to move.";return"interaction-prompt"in this[xs]&&(e=`. ${this[xs]["interaction-prompt"]}`),super[Za].replace(/\.$/,"")+(this.cameraControls?e:"")}async[go](e){const t=this[Es],s=this[lo],r=s.adjustedFoV(s.framedFoVDeg);super[go](e);const o=s.adjustedFoV(s.framedFoVDeg)/r,A=t.getFieldOfView()*(isFinite(o)?o:1);t.updateAspect(this[lo].aspect),this.requestUpdate("maxFieldOfView",this.maxFieldOfView),await this.updateComplete,this[Es].setFieldOfView(A),this.jumpCameraToGoal()}[uo](){super[uo](),this[Ns]?this[Ps]=!0:this[Ns]=!0,this.requestUpdate("maxFieldOfView",this.maxFieldOfView),this.requestUpdate("fieldOfView",this.fieldOfView),this.requestUpdate("minCameraOrbit",this.minCameraOrbit),this.requestUpdate("maxCameraOrbit",this.maxCameraOrbit),this.requestUpdate("cameraOrbit",this.cameraOrbit),this.requestUpdate("cameraTarget",this.cameraTarget),this.jumpCameraToGoal()}[(B=Ms,y=Ts,Q=Rs,bs)](){if("string"==typeof this.a11y)if(this.a11y.startsWith("{"))try{this[xs]=JSON.parse(this.a11y)}catch(e){ns.warn("Error parsing a11y JSON:",e)}else this.a11y.length>0?ns.warn("Error not supported format, should be a JSON string:",this.a11y):this[xs]={};else"object"==typeof this.a11y&&null!=this.a11y?this[xs]=Object.assign({},this.a11y):this[xs]={};this[oo].setAttribute("aria-label",this[Za])}}return controls_decorate([n({type:Boolean,attribute:"camera-controls"})],ControlsModelViewerElement.prototype,"cameraControls",void 0),controls_decorate([style({intrinsics:gs,observeEffects:!0,updateHandler:Os}),n({type:String,attribute:"camera-orbit",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"cameraOrbit",void 0),controls_decorate([style({intrinsics:cameraTargetIntrinsics,observeEffects:!0,updateHandler:Vs}),n({type:String,attribute:"camera-target",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"cameraTarget",void 0),controls_decorate([style({intrinsics:fieldOfViewIntrinsics,observeEffects:!0,updateHandler:Hs}),n({type:String,attribute:"field-of-view",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"fieldOfView",void 0),controls_decorate([style({intrinsics:minCameraOrbitIntrinsics,updateHandler:qs}),n({type:String,attribute:"min-camera-orbit",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"minCameraOrbit",void 0),controls_decorate([style({intrinsics:maxCameraOrbitIntrinsics,updateHandler:Ks}),n({type:String,attribute:"max-camera-orbit",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"maxCameraOrbit",void 0),controls_decorate([style({intrinsics:minFieldOfViewIntrinsics,updateHandler:Js}),n({type:String,attribute:"min-field-of-view",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"minFieldOfView",void 0),controls_decorate([style({intrinsics:fieldOfViewIntrinsics,updateHandler:zs}),n({type:String,attribute:"max-field-of-view",hasChanged:()=>!0})],ControlsModelViewerElement.prototype,"maxFieldOfView",void 0),controls_decorate([n({type:Number,attribute:"interaction-prompt-threshold"})],ControlsModelViewerElement.prototype,"interactionPromptThreshold",void 0),controls_decorate([n({type:String,attribute:"interaction-prompt"})],ControlsModelViewerElement.prototype,"interactionPrompt",void 0),controls_decorate([n({type:String,attribute:"interaction-prompt-style"})],ControlsModelViewerElement.prototype,"interactionPromptStyle",void 0),controls_decorate([n({type:Number,attribute:"orbit-sensitivity"})],ControlsModelViewerElement.prototype,"orbitSensitivity",void 0),controls_decorate([n({type:Number,attribute:"zoom-sensitivity"})],ControlsModelViewerElement.prototype,"zoomSensitivity",void 0),controls_decorate([n({type:Number,attribute:"pan-sensitivity"})],ControlsModelViewerElement.prototype,"panSensitivity",void 0),controls_decorate([n({type:String,attribute:"touch-action"})],ControlsModelViewerElement.prototype,"touchAction",void 0),controls_decorate([n({type:Boolean,attribute:"disable-zoom"})],ControlsModelViewerElement.prototype,"disableZoom",void 0),controls_decorate([n({type:Boolean,attribute:"disable-pan"})],ControlsModelViewerElement.prototype,"disablePan",void 0),controls_decorate([n({type:Boolean,attribute:"disable-tap"})],ControlsModelViewerElement.prototype,"disableTap",void 0),controls_decorate([n({type:Number,attribute:"interpolation-decay"})],ControlsModelViewerElement.prototype,"interpolationDecay",void 0),controls_decorate([n()],ControlsModelViewerElement.prototype,"a11y",void 0),ControlsModelViewerElement})((e=>{var t,s,r,o,A,l,h,c,d,g;class ARModelViewerElement extends e{constructor(){super(...arguments),this.ar=!1,this.arScale="auto",this.arPlacement="floor",this.arModes="webxr scene-viewer quick-look",this.iosSrc=null,this.xrEnvironment=!1,this[t]=!1,this[s]=this.shadowRoot.querySelector(".ar-button"),this[r]=document.createElement("a"),this[o]=new Set,this[A]=lA,this[l]=!1,this[h]=e=>{e.preventDefault(),this.activateAR()},this[c]=({status:e})=>{e!==tn&&this[po].arRenderer.presentedScene!==this[lo]||(this.setAttribute("ar-status",e),this.dispatchEvent(new CustomEvent("ar-status",{detail:{status:e}})),e===tn?this.removeAttribute("ar-tracking"):e===sn&&this.setAttribute("ar-tracking",an))},this[d]=({status:e})=>{this.setAttribute("ar-tracking",e),this.dispatchEvent(new CustomEvent("ar-tracking",{detail:{status:e}}))},this[g]=e=>{"_apple_ar_quicklook_button_tapped"==e.data&&this.dispatchEvent(new CustomEvent("quick-look-button-tapped"))}}get canActivateAR(){return this[pA]!==lA}connectedCallback(){super.connectedCallback(),this[po].arRenderer.addEventListener("status",this[CA]),this.setAttribute("ar-status",tn),this[po].arRenderer.addEventListener("tracking",this[BA]),this[fA].addEventListener("message",this[yA])}disconnectedCallback(){super.disconnectedCallback(),this[po].arRenderer.removeEventListener("status",this[CA]),this[po].arRenderer.removeEventListener("tracking",this[BA]),this[fA].removeEventListener("message",this[yA])}update(e){super.update(e),e.has("arScale")&&(this[lo].canScale="fixed"!==this.arScale),e.has("arPlacement")&&(this[lo].updateShadow(),this[ho]()),e.has("arModes")&&(this[mA]=nA(this.arModes)),(e.has("ar")||e.has("arModes")||e.has("src")||e.has("iosSrc"))&&this[wA]()}async activateAR(){switch(this[pA]){case aA:await this[dA]();break;case AA:await this[cA]();break;case oA:this[uA]();break;default:eA.warn("No AR Mode can be activated. This is probably due to missing configuration or device capabilities")}}async[(t=gA,s=hA,r=fA,o=mA,A=pA,l=IA,h=EA,c=CA,d=BA,g=yA,wA)](){var e;let t=lA;if(this.ar){if(null!=this.src)for(const s of this[mA]){if("webxr"===s&&ue&&!tA&&await this[po].arRenderer.supportsPresentation()){t=AA;break}if("scene-viewer"===s&&!iA&&(fe||navigator.userAgentData&&navigator.userAgentData.getHighEntropyValues&&(null===(e=(await navigator.userAgentData.getHighEntropyValues(["formFactor"])).formFactor)||void 0===e?void 0:e.includes("XR")))){t=oA;break}if("quick-look"===s&&Ee){t=aA;break}}t===lA&&null!=this.iosSrc&&Ee&&(t=aA)}if(t!==lA)this[hA].classList.add("enabled"),this[hA].addEventListener("click",this[EA]);else if(this[hA].classList.contains("enabled")){this[hA].removeEventListener("click",this[EA]),this[hA].classList.remove("enabled");const e=rn;this.setAttribute("ar-status",e),this.dispatchEvent(new CustomEvent("ar-status",{detail:{status:e}}))}this[pA]=t}async[cA](){eA.log("Attempting to present in AR with WebXR..."),await this[vA]();try{this[hA].removeEventListener("click",this[EA]);const{arRenderer:e}=this[po];e.placeOnWall="wall"===this.arPlacement,await e.present(this[lo],this.xrEnvironment)}catch(e){eA.warn("Error while trying to present in AR with WebXR"),eA.error(e),await this[po].arRenderer.stopPresenting(),tA=!0,eA.warn("Falling back to next ar-mode"),await this[wA](),this.activateAR()}finally{this[wA]()}}async[vA](){this.loaded||(this[IA]=!0,this[no](),await((e,t,s=null)=>new Promise((r=>{e.addEventListener(t,(function handler(o){s&&!s(o)||(r(o),e.removeEventListener(t,handler))}))})))(this,"load"),this[IA]=!1)}[Eo](){return super[Eo]()||this[IA]}[uA](){const e=self.location.toString(),t=new URL(e),s=new URL(this.src,e);s.hash&&(s.hash="");const r=new URLSearchParams(s.search);if(t.hash=sA,r.set("mode","ar_preferred"),r.has("disable_occlusion")||r.set("disable_occlusion","true"),"fixed"===this.arScale&&r.set("resizable","false"),"wall"===this.arPlacement&&r.set("enable_vertical_placement","true"),r.has("sound")){const t=new URL(r.get("sound"),e);r.set("sound",t.toString())}if(r.has("link")){const t=new URL(r.get("link"),e);r.set("link",t.toString())}const o=`intent://arvr.google.com/scene-viewer/1.2?${r.toString()+"&file="+encodeURIComponent(s.toString())}#Intent;scheme=https;package=com.google.android.googlequicksearchbox;action=android.intent.action.VIEW;S.browser_fallback_url=${encodeURIComponent(t.toString())};end;`;self.addEventListener("hashchange",(()=>{self.location.hash===sA&&(iA=!0,self.history.back(),eA.warn("Error while trying to present in AR with Scene Viewer"),eA.warn("Falling back to next ar-mode"),this[wA]())}),{once:!0}),this[fA].setAttribute("href",o),eA.log("Attempting to present in AR with Scene Viewer..."),this[fA].click()}async[dA](){const e=!this.iosSrc;this[hA].classList.remove("enabled");const t=e?await this.prepareUSDZ():this.iosSrc,s=new URL(t,self.location.toString());if(e){const e=self.location.toString(),t=new URL(e),r=new URL(this.src,t);r.hash&&(s.hash=r.hash)}"fixed"===this.arScale&&(s.hash&&(s.hash+="&"),s.hash+="allowsContentScaling=0");const r=this[fA];r.setAttribute("rel","ar");const o=document.createElement("img");r.appendChild(o),r.setAttribute("href",s.toString()),e&&r.setAttribute("download","model.usdz"),r.style.display="none",r.isConnected||this.shadowRoot.appendChild(r),eA.log("Attempting to present in AR with Quick Look..."),r.click(),r.removeChild(o),e&&URL.revokeObjectURL(t),this[hA].classList.add("enabled")}async prepareUSDZ(){const e=this[mo].beginActivity("usdz-conversion");await this[vA]();const{model:t,shadow:s,target:r}=this[lo];if(null==t)return"";let o=!1;null!=s&&(o=s.visible,s.visible=!1),e(.2);const A=new USDZExporter;r.remove(t),t.position.copy(r.position),t.updateWorldMatrix(!1,!0);const l=await A.parse(t);t.position.set(0,0,0),r.add(t);const h=new Blob([l],{type:"model/vnd.usdz+zip"}),c=URL.createObjectURL(h);return e(1),null!=s&&(s.visible=o),c}}return ar_decorate([n({type:Boolean,attribute:"ar"})],ARModelViewerElement.prototype,"ar",void 0),ar_decorate([n({type:String,attribute:"ar-scale"})],ARModelViewerElement.prototype,"arScale",void 0),ar_decorate([n({type:String,attribute:"ar-placement"})],ARModelViewerElement.prototype,"arPlacement",void 0),ar_decorate([n({type:String,attribute:"ar-modes"})],ARModelViewerElement.prototype,"arModes",void 0),ar_decorate([n({type:String,attribute:"ios-src"})],ARModelViewerElement.prototype,"iosSrc",void 0),ar_decorate([n({type:Boolean,attribute:"xr-environment"})],ARModelViewerElement.prototype,"xrEnvironment",void 0),ARModelViewerElement})((e=>{var t,s,r,A,l,h,c,d;class LoadingModelViewerElement extends e{constructor(...e){super(...e),this.poster=null,this.reveal=QA,this.loading=xA,this[t]=!1,this[s]=!1,this[r]=this.shadowRoot.querySelector(".slot.poster"),this[A]=this.shadowRoot.querySelector("#default-poster"),this[l]=this.shadowRoot.querySelector("#default-progress-bar > .bar"),this[h]=this[TA].getAttribute("aria-label"),this[c]=((e,t)=>{let s=null;const throttled=(...r)=>{null==s&&(e(...r),s=self.setTimeout((()=>s=null),t))};return throttled.flush=()=>{null!=s&&(self.clearTimeout(s),s=null)},throttled})((e=>{const t=this[SA].parentNode;requestAnimationFrame((()=>{this[SA].style.transform=`scaleX(${e})`,0===e&&(t.removeChild(this[SA]),t.appendChild(this[SA])),this[SA].classList.toggle("hide",1===e)}))}),100),this[d]=e=>{const t=e.detail.totalProgress,s=e.detail.reason;1===t&&(this[FA].flush(),this.loaded&&(this[RA]||this.reveal===QA)&&this[DA]()),this[FA](t),this.dispatchEvent(new CustomEvent("progress",{detail:{totalProgress:t,reason:s}}))};const o=self.ModelViewerElement||{},g=o.dracoDecoderLocation||"https://www.gstatic.com/draco/versioned/decoders/1.5.6/";CachingGLTFLoader.setDRACODecoderLocation(g);const p=o.ktx2TranscoderLocation||"https://www.gstatic.com/basis-universal/versioned/2021-04-15-ba1c3e4/";CachingGLTFLoader.setKTX2TranscoderLocation(p),o.meshoptDecoderLocation&&CachingGLTFLoader.setMeshoptDecoderLocation(o.meshoptDecoderLocation);const m=o.lottieLoaderLocation||"https://cdn.jsdelivr.net/npm/three@0.149.0/examples/jsm/loaders/LottieLoader.js";Renderer.singleton.textureUtils.lottieLoaderUrl=m}static set dracoDecoderLocation(e){CachingGLTFLoader.setDRACODecoderLocation(e)}static get dracoDecoderLocation(){return CachingGLTFLoader.getDRACODecoderLocation()}static set ktx2TranscoderLocation(e){CachingGLTFLoader.setKTX2TranscoderLocation(e)}static get ktx2TranscoderLocation(){return CachingGLTFLoader.getKTX2TranscoderLocation()}static set meshoptDecoderLocation(e){CachingGLTFLoader.setMeshoptDecoderLocation(e)}static get meshoptDecoderLocation(){return CachingGLTFLoader.getMeshoptDecoderLocation()}static set lottieLoaderLocation(e){Renderer.singleton.textureUtils.lottieLoaderUrl=e}static get lottieLoaderLocation(){return Renderer.singleton.textureUtils.lottieLoaderUrl}static mapURLs(e){Renderer.singleton.loader[St].manager.setURLModifier(e)}dismissPoster(){this.loaded?this[DA]():(this[RA]=!0,this[no]())}showPoster(){const e=this[MA];if(e.classList.contains("show"))return;e.classList.add("show"),this[oo].classList.remove("show");const t=this[TA];t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden");const s=this.modelIsVisible;this[LA]=!1,this[Xa](s)}getDimensions(){return toVector3D(this[lo].size)}getBoundingBoxCenter(){return toVector3D(this[lo].boundingBox.getCenter(new o.Pa4))}connectedCallback(){super.connectedCallback(),this.loaded||this.showPoster(),this[mo].addEventListener("progress",this[_A])}disconnectedCallback(){super.disconnectedCallback(),this[mo].removeEventListener("progress",this[_A])}async updated(e){super.updated(e),e.has("poster")&&null!=this.poster&&(this[TA].style.backgroundImage=`url(${this.poster})`),e.has("alt")&&this[TA].setAttribute("aria-label",this[eo]),(e.has("reveal")||e.has("loading"))&&this[no]()}[(t=LA,s=RA,r=MA,A=TA,l=SA,h=kA,c=FA,d=_A,Eo)](){return!!this.src&&(this[RA]||this.loading===bA||this.reveal===QA&&this[Wa])}[DA](){this[RA]=!1;const e=this[MA];if(!e.classList.contains("show"))return;e.classList.remove("show"),this[oo].classList.add("show");const t=this.modelIsVisible;this[LA]=!0,this[Xa](t);const s=this.getRootNode();s&&s.activeElement===this&&this[oo].focus();const r=this[TA];r.setAttribute("aria-hidden","true"),r.tabIndex=-1,this.dispatchEvent(new CustomEvent("poster-dismissed"))}[Io](){return super[Io]()&&this[LA]}}return loading_decorate([n({type:String})],LoadingModelViewerElement.prototype,"poster",void 0),loading_decorate([n({type:String})],LoadingModelViewerElement.prototype,"reveal",void 0),loading_decorate([n({type:String})],LoadingModelViewerElement.prototype,"loading",void 0),LoadingModelViewerElement})((e=>{var t;class AnimationModelViewerElement extends e{constructor(...e){super(e),this.autoplay=!1,this.animationName=void 0,this.animationCrossfadeDuration=300,this[t]=!0,this[lo].subscribeMixerEvent("loop",(e=>{const t=e.action._loopCount;this.dispatchEvent(new CustomEvent("loop",{detail:{count:t}}))})),this[lo].subscribeMixerEvent("finished",(()=>{this[Bo]=!0,this.dispatchEvent(new CustomEvent("finished"))}))}get availableAnimations(){return this.loaded?this[lo].animationNames:[]}get duration(){return this[lo].duration}get paused(){return this[Bo]}get currentTime(){return this[lo].animationTime}set currentTime(e){this[lo].animationTime=e,this[ho]()}get timeScale(){return this[lo].animationTimeScale}set timeScale(e){this[lo].animationTimeScale=e}pause(){this[Bo]||(this[Bo]=!0,this.dispatchEvent(new CustomEvent("pause")))}play(e){this.availableAnimations.length>0&&(this[Bo]=!1,this[Co](e),this.dispatchEvent(new CustomEvent("play")))}[(t=Bo,uo)](){super[uo](),this[Bo]=!0,null!=this.animationName&&this[Co](),this.autoplay&&this.play()}[co](e,t){super[co](e,t),this[Bo]||!this[Io]()&&!this[po].isPresenting||(this[lo].updateAnimation(t/1e3),this[ho]())}updated(e){super.updated(e),e.has("autoplay")&&this.autoplay&&this.play(),e.has("animationName")&&this[Co]()}[Co](e=yo){var t;const s=null!==(t=e.repetitions)&&void 0!==t?t:1/0,r=e.pingpong?o.uEv:1===s?o.jAl:o.YKA;this[lo].playAnimation(this.animationName,this.animationCrossfadeDuration/1e3,r,s),this[Bo]&&(this[lo].updateAnimation(0),this[ho]())}}return animation_decorate([n({type:Boolean})],AnimationModelViewerElement.prototype,"autoplay",void 0),animation_decorate([n({type:String,attribute:"animation-name"})],AnimationModelViewerElement.prototype,"animationName",void 0),animation_decorate([n({type:Number,attribute:"animation-crossfade-duration"})],AnimationModelViewerElement.prototype,"animationCrossfadeDuration",void 0),AnimationModelViewerElement})(ModelViewerElementBase))))))));customElements.define("model-viewer",VA)}}]);