@openlist-frontend/openlist-frontend 4.1.8 → 4.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/VERSION +1 -1
- package/dist/assets/2fa-eYyZXAAi.js +1 -0
- package/dist/assets/2fa-legacy-DIMYigpU.js +1 -0
- package/dist/{lite/assets/About-DlIjiNgr.js → assets/About-CN1lANyC.js} +1 -1
- package/dist/{lite/assets/About-legacy-DjHTFiNY.js → assets/About-legacy-CX0wSoy6.js} +1 -1
- package/dist/assets/AddOrEdit-Bc21-IPh.js +1 -0
- package/dist/assets/{AddOrEdit-Gv2k_DXk.js → AddOrEdit-CS5XHLGZ.js} +1 -1
- package/dist/assets/AddOrEdit-DBOcF4lp.js +1 -0
- package/dist/assets/AddOrEdit-dt3x-Sdm.js +1 -0
- package/dist/assets/AddOrEdit-legacy-B80HR1Wc.js +1 -0
- package/dist/assets/AddOrEdit-legacy-BG5Lrn2s.js +1 -0
- package/dist/assets/AddOrEdit-legacy-BpS_IUjk.js +1 -0
- package/dist/assets/AddOrEdit-legacy-CWXX6RMt.js +1 -0
- package/dist/assets/Common-6lepzY2T.js +1 -0
- package/dist/assets/Common-legacy-BjPiicdg.js +1 -0
- package/dist/assets/{Copy-CR7yPxyO.js → Copy-Bo5VUrDJ.js} +1 -1
- package/dist/assets/{Copy-legacy-gk-Hcr_x.js → Copy-legacy-DPKvF9Za.js} +1 -1
- package/dist/assets/Decompress-D0qEkGV7.js +1 -0
- package/dist/assets/{Decompress-legacy-CpYDlrHk.js → Decompress-legacy-C_yJJ2Es.js} +1 -1
- package/dist/assets/DeletePopover-2in-rlqm.js +1 -0
- package/dist/assets/DeletePopover-legacy-ibAyayIG.js +1 -0
- package/dist/assets/File-B_EEqmVs.js +2 -0
- package/dist/assets/File-legacy-BQ8rW125.js +1 -0
- package/dist/assets/{Folder-CoXoROV7.js → Folder-Bh2xbHrn.js} +9 -9
- package/dist/{lite/assets/Folder-legacy-xE0Q-Z1k.js → assets/Folder-legacy-H1QshOuK.js} +4 -4
- package/dist/assets/FolderTree-CHsUuiQU.js +1 -0
- package/dist/assets/FolderTree-legacy-Dyjn4je6.js +1 -0
- package/dist/assets/Grid-Cuh1MgkV.js +1 -0
- package/dist/assets/Grid-legacy-CSfe2bh3.js +1 -0
- package/dist/assets/GridItem-DnK_J88P.js +1 -0
- package/dist/assets/GridItem-legacy-DrBerydn.js +1 -0
- package/dist/assets/{ImageWithError-D_PF_epM.js → ImageWithError-JCdRxmqI.js} +1 -1
- package/dist/assets/ImageWithError-legacy-BbglNKhM.js +1 -0
- package/dist/assets/Images-BRxPC0wu.js +1 -0
- package/dist/assets/Images-legacy-CJdZI72O.js +1 -0
- package/dist/assets/Layout-CtHmJknm.js +6 -0
- package/dist/assets/Layout-legacy-aLmqKbgj.js +6 -0
- package/dist/assets/List-BSVXDida.js +1 -0
- package/dist/assets/List-legacy-D5_mt2hV.js +1 -0
- package/dist/assets/Messenger-B6-e9d4B.js +1 -0
- package/dist/assets/Messenger-legacy-B_h0JW5g.js +1 -0
- package/dist/assets/Metas-CDtj3NFI.js +1 -0
- package/dist/assets/Metas-legacy-DQO8AZVm.js +1 -0
- package/dist/assets/ModalInput-CTZQE0yv.js +1 -0
- package/dist/assets/ModalInput-legacy-Cw9-SN51.js +1 -0
- package/dist/assets/{Move-Z8d2ET9D.js → Move-CZbL3Yq1.js} +1 -1
- package/dist/assets/{Move-legacy-Bt8cMJxZ.js → Move-legacy-DgCCJ-N0.js} +1 -1
- package/dist/assets/Other-CyhrgZpi.js +1 -0
- package/dist/assets/Other-legacy-CgK7x_yn.js +1 -0
- package/dist/assets/PackageDownload-BnWbhWpm.js +1 -0
- package/dist/assets/PackageDownload-legacy-BHyuHDiC.js +1 -0
- package/dist/assets/Paginator-A3scL5t4.js +1 -0
- package/dist/assets/Paginator-legacy-CZo-P87F.js +1 -0
- package/dist/assets/Password-D5lAyFLG.js +1 -0
- package/dist/assets/Password-legacy-B4LjS6Wp.js +1 -0
- package/dist/assets/Profile-D4MWfqyR.js +1 -0
- package/dist/assets/Profile-legacy-D2qpUb9O.js +1 -0
- package/dist/assets/PublicKeys-CHL4Weir.js +1 -0
- package/dist/assets/PublicKeys-legacy-Ht1s9rqI.js +1 -0
- package/dist/assets/{ResponsiveGrid-B3-0zh9l.js → ResponsiveGrid-BWMI6qdJ.js} +1 -1
- package/dist/assets/{ResponsiveGrid-legacy-BrkKpp8X.js → ResponsiveGrid-legacy-Bs3dvwiZ.js} +1 -1
- package/dist/assets/S3-CcBONzQu.js +1 -0
- package/dist/assets/S3-legacy-C-dTmA94.js +1 -0
- package/dist/assets/SettingItem-BYHwCQXr.js +1 -0
- package/dist/assets/SettingItem-legacy-CqXPZP9T.js +1 -0
- package/dist/assets/Shares-DNueL1Vb.js +1 -0
- package/dist/assets/Shares-legacy-C3zYier4.js +1 -0
- package/dist/assets/Storages-FnUWCIej.js +1 -0
- package/dist/assets/Storages-legacy-DVuGoGdE.js +1 -0
- package/dist/{lite/assets/Upload-YqNA6oN9.js → assets/Upload-BvXbqvo5.js} +2 -2
- package/dist/assets/Upload-h05228FM.js +1 -0
- package/dist/assets/{Upload-legacy-BvDBmogT.js → Upload-legacy-BkwJbv-Y.js} +1 -1
- package/dist/{lite/assets/Upload-legacy-qadGRe4T.js → assets/Upload-legacy-DqhKbdPg.js} +2 -2
- package/dist/assets/{Users-Dbin47ob.js → Users-Bo9MsWeg.js} +1 -1
- package/dist/assets/Users-legacy-k1xravPD.js +1 -0
- package/dist/assets/Wether-CqoguY0b.js +1 -0
- package/dist/assets/{Wether-legacy-FnHdOtWG.js → Wether-legacy-BvdJdjA-.js} +1 -1
- package/dist/assets/aliyun_video-hq9gwtiM.js +1 -0
- package/dist/assets/aliyun_video-legacy-Cq7jFE5E.js +1 -0
- package/dist/assets/archive-GDa8UM4A.js +1 -0
- package/dist/assets/archive-legacy-klFUvFpZ.js +1 -0
- package/dist/assets/{artplayer-DuOk24c8.js → artplayer-DmFKhX_E.js} +1 -1
- package/dist/assets/{artplayer-legacy-ClW5e3aO.js → artplayer-legacy-Dla5Uka6.js} +1 -1
- package/dist/assets/asciinema-legacy-B5Ojza5K.js +1 -0
- package/dist/assets/asciinema-sW_f-Coa.js +1 -0
- package/dist/assets/audio-B1kEDMrE.js +1 -0
- package/dist/assets/audio-legacy-CCxb-r2g.js +1 -0
- package/dist/assets/backup-restore-COPQ3fsb.js +1 -0
- package/dist/assets/backup-restore-legacy-DaIbjY3e.js +1 -0
- package/dist/{lite/assets/doc-C1jJm_Ak.js → assets/doc---EGcI0r.js} +1 -1
- package/dist/assets/doc-legacy-hXr5HVHC.js +1 -0
- package/dist/assets/entry-Ct4P7v3b.js +1 -0
- package/dist/assets/entry-Dl4FUo3S.js +1 -0
- package/dist/assets/entry-DoLkXYqU.js +1 -0
- package/dist/assets/entry-legacy-BEj2GEKp.js +1 -0
- package/dist/assets/entry-legacy-CEEjG6dv.js +1 -0
- package/dist/assets/entry-legacy-D2_R5u0L.js +1 -0
- package/dist/assets/{flash-BfAdd0sX.js → flash-BJm0EI0q.js} +1 -1
- package/dist/assets/{flash-legacy-BgdpmeQj.js → flash-legacy-BpWSbDkQ.js} +1 -1
- package/dist/assets/heic-2c7uWv-O.js +1 -0
- package/dist/assets/heic-legacy-06bSzSko.js +1 -0
- package/dist/assets/helper-BVeNNIE1.js +1 -0
- package/dist/assets/helper-legacy-BZ5XRZbT.js +1 -0
- package/dist/{lite/assets/helper-legacy-DdiUgfXw.js → assets/helper-legacy-DwTNtj0A.js} +1 -1
- package/dist/assets/helper-ouPZ1Yuq.js +1 -0
- package/dist/assets/{html-0fWGyRu_.js → html-CQ98kCGP.js} +1 -1
- package/dist/assets/{html-legacy-CkczOkc_.js → html-legacy-MNPZ897v.js} +1 -1
- package/dist/{lite/assets/icon-CquRcQy5.js → assets/icon-DqPtjxiZ.js} +1 -1
- package/dist/{lite/assets/icon-legacy-BbwXFJ0k.js → assets/icon-legacy-DKxdZoDZ.js} +1 -1
- package/dist/assets/image-CNgcKsam.js +1 -0
- package/dist/assets/image-legacy-B5ytwDHe.js +1 -0
- package/dist/assets/{index-6urWlYXR.js → index-BITHMkw5.js} +1 -1
- package/dist/assets/index-BeiVR93z.js +1 -0
- package/dist/{lite/assets/index-Cq6H-dJj.js → assets/index-BelfiY12.js} +1 -1
- package/dist/assets/{index-BuiRiVor.js → index-Bl5KfUKm.js} +6 -6
- package/dist/{lite/assets/index-Dx828Z3d.js → assets/index-BxffqFMa.js} +1 -1
- package/dist/assets/index-CSLMu7OW.js +2 -0
- package/dist/assets/index-C_xnhf0Z.js +1 -0
- package/dist/{lite/assets/index-C1dMAjpB.js → assets/index-CtpQFOKH.js} +1 -1
- package/dist/assets/index-DRra1eYY.js +1 -0
- package/dist/assets/{index-xofFA_oy.js → index-S6P6XS8L.js} +1 -1
- package/dist/assets/{index-CnIpoIpZ.js → index-fAEGil0n.js} +3 -3
- package/dist/assets/index-legacy-B3Z6-3VM.js +1 -0
- package/dist/assets/{index-legacy-0n9cy4gv.js → index-legacy-BCogrmWH.js} +1 -1
- package/dist/assets/{index-legacy-D2rKgweC.js → index-legacy-BzvznpU_.js} +4 -4
- package/dist/assets/index-legacy-CzxmC-2d.js +1 -0
- package/dist/assets/{index-legacy-Dg0Iq5o2.js → index-legacy-DBa2Tzo0.js} +1 -1
- package/dist/{lite/assets/index-legacy-B_VpOTgL.js → assets/index-legacy-DUD5FLI1.js} +1 -1
- package/dist/assets/index-legacy-Dlq_vK-8.js +1 -0
- package/dist/assets/index-legacy-QH22Qod0.js +1 -0
- package/dist/assets/{index-legacy-CLse31G3.js → index-legacy-f2eHFB4O.js} +2 -2
- package/dist/assets/{index-legacy-Bb37r2Qp.js → index-legacy-gN47jRuq.js} +1 -1
- package/dist/assets/{index-legacy-BSocJEwS.js → index-legacy-moMaHu9d.js} +1 -1
- package/dist/assets/index_page-BvukBtmz.js +1 -0
- package/dist/assets/index_page-legacy-ChGXQd3N.js +1 -0
- package/dist/assets/ipa-legacy-CqhiCn62.js +1 -0
- package/dist/assets/ipa-yZfjQ2EG.js +1 -0
- package/dist/assets/markdown-Dbc-HOjw.js +1 -0
- package/dist/assets/markdown-legacy-CQkVFFQp.js +1 -0
- package/dist/assets/markdown_with_word_wrap-legacy-Xrnx7JaZ.js +1 -0
- package/dist/assets/markdown_with_word_wrap-wfj_h8U7.js +1 -0
- package/dist/assets/offline_download-BahPqp5Z.js +1 -0
- package/dist/assets/offline_download-legacy-om3E9Dim.js +1 -0
- package/dist/assets/plist-72wsKdOI.js +1 -0
- package/dist/assets/plist-legacy-HGDKwois.js +1 -0
- package/dist/{lite/assets/ppt-CFqXc16b.js → assets/ppt-CbEEvVHF.js} +1 -1
- package/dist/{lite/assets/ppt-legacy-wlUPS7vB.js → assets/ppt-legacy-jFluCTFA.js} +1 -1
- package/dist/assets/{share-BDHHxBJl.js → share-BJOZaU2H.js} +1 -1
- package/dist/assets/{share-legacy-7b7t_xGC.js → share-legacy-C9Fe59Iz.js} +1 -1
- package/dist/assets/storage-B8Wc9tdG.js +1 -0
- package/dist/assets/storage-legacy-BCAHdrPO.js +1 -0
- package/dist/assets/style-C2-n-Tf3.js +1 -0
- package/dist/assets/style-legacy-CAQ10iBS.js +1 -0
- package/dist/assets/text-editor-BGS5fq5A.js +1 -0
- package/dist/assets/text-editor-legacy-CIP6GWuB.js +1 -0
- package/dist/assets/url-DA5lZnmJ.js +1 -0
- package/dist/assets/url-legacy-D3-kYAyK.js +1 -0
- package/dist/assets/useTitle-COa73MJx.js +1 -0
- package/dist/assets/useTitle-legacy-bcKFIeMP.js +1 -0
- package/dist/assets/video-D5PJvYYf.js +7 -0
- package/dist/assets/video-legacy-BeKPgISv.js +9 -0
- package/dist/assets/{video360-legacy-DuYvJaEW.js → video360-legacy-DdIDHmZm.js} +1 -1
- package/dist/{lite/assets/video360-CFUvuX7J.js → assets/video360-s7fHeRTy.js} +2 -2
- package/dist/{lite/assets/video_box-S5q-v8A9.js → assets/video_box-DpaXh14X.js} +1 -1
- package/dist/assets/video_box-legacy-Cla-LHhl.js +1 -0
- package/dist/assets/{xls-GwjuG_kS.js → xls-DzY8tx31.js} +1 -1
- package/dist/assets/{xls-legacy-aADDnWlk.js → xls-legacy-C65XsuTR.js} +1 -1
- package/dist/i18n.tar.gz +0 -0
- package/dist/index.html +2 -2
- package/dist/lite/VERSION +1 -1
- package/dist/lite/assets/2fa-BeIx_GJ8.js +1 -0
- package/dist/lite/assets/2fa-legacy-yXU6PiE1.js +1 -0
- package/dist/{assets/About-OhadSRC9.js → lite/assets/About-DuKMiBKv.js} +1 -1
- package/dist/{assets/About-legacy-Bwx9kuBQ.js → lite/assets/About-legacy-Detlcob5.js} +1 -1
- package/dist/lite/assets/{AddOrEdit-DD7vBECW.js → AddOrEdit-CFEu3HxG.js} +1 -1
- package/dist/lite/assets/AddOrEdit-CPjltKVa.js +1 -0
- package/dist/lite/assets/AddOrEdit-Or0Pag9x.js +1 -0
- package/dist/lite/assets/AddOrEdit-jF_-pa08.js +1 -0
- package/dist/lite/assets/AddOrEdit-legacy-BqEo39Pd.js +1 -0
- package/dist/lite/assets/AddOrEdit-legacy-BreSLMNX.js +1 -0
- package/dist/lite/assets/AddOrEdit-legacy-DemlSyxA.js +1 -0
- package/dist/lite/assets/AddOrEdit-legacy-nJ3B0Um3.js +1 -0
- package/dist/lite/assets/Common-6ZqG1kU4.js +1 -0
- package/dist/lite/assets/Common-legacy-Cfz-Xl2D.js +1 -0
- package/dist/lite/assets/{Copy-kfrdM-3a.js → Copy-XxgwYujB.js} +1 -1
- package/dist/lite/assets/{Copy-legacy-C6H-w4WG.js → Copy-legacy-CGOb9X2b.js} +1 -1
- package/dist/lite/assets/Decompress-Bz3SB5eP.js +1 -0
- package/dist/lite/assets/{Decompress-legacy-cMt_oD0x.js → Decompress-legacy-exmrYe82.js} +1 -1
- package/dist/lite/assets/DeletePopover-CHFTmaky.js +1 -0
- package/dist/lite/assets/DeletePopover-legacy-WEiMszHw.js +1 -0
- package/dist/lite/assets/File-DTiakF7K.js +2 -0
- package/dist/lite/assets/File-legacy-Dsn-QAhV.js +1 -0
- package/dist/lite/assets/{Folder-BOIPt5Cm.js → Folder-CRrI-tCk.js} +9 -9
- package/dist/{assets/Folder-legacy-_CX7Pawr.js → lite/assets/Folder-legacy-UMBKc4TX.js} +4 -4
- package/dist/lite/assets/FolderTree-DcncXbkV.js +1 -0
- package/dist/lite/assets/FolderTree-legacy-BQhDCMv4.js +1 -0
- package/dist/lite/assets/Grid-EYqWsuZ3.js +1 -0
- package/dist/lite/assets/Grid-legacy-C30vGNNd.js +1 -0
- package/dist/lite/assets/GridItem-CNYGVdMd.js +1 -0
- package/dist/lite/assets/GridItem-legacy-DWmAgUaq.js +1 -0
- package/dist/lite/assets/{ImageWithError-CwWWWyLD.js → ImageWithError-COeB8gFc.js} +1 -1
- package/dist/lite/assets/ImageWithError-legacy-CMsub6a6.js +1 -0
- package/dist/lite/assets/Images-CbMYx3_i.js +1 -0
- package/dist/lite/assets/Images-legacy-DezRvm5M.js +1 -0
- package/dist/lite/assets/Layout-CDyc_0Sw.js +6 -0
- package/dist/lite/assets/Layout-legacy-C9GRVlgR.js +6 -0
- package/dist/lite/assets/List-Lbv6Mvod.js +1 -0
- package/dist/lite/assets/List-legacy-pM5i_O2m.js +1 -0
- package/dist/lite/assets/Messenger-Dvcw2_PA.js +1 -0
- package/dist/lite/assets/Messenger-legacy-B2tURSum.js +1 -0
- package/dist/lite/assets/Metas-l6uB1ZqV.js +1 -0
- package/dist/lite/assets/Metas-legacy-BhuiWhqy.js +1 -0
- package/dist/lite/assets/ModalInput-DxinbNP5.js +1 -0
- package/dist/lite/assets/ModalInput-legacy-BiucwmWN.js +1 -0
- package/dist/lite/assets/{Move-CxIi3Vnm.js → Move-DfpBPO7W.js} +1 -1
- package/dist/lite/assets/{Move-legacy-BenJxUbC.js → Move-legacy-BlTvvRPg.js} +1 -1
- package/dist/lite/assets/Other-j6rVc8K3.js +1 -0
- package/dist/lite/assets/Other-legacy-wxot7B4r.js +1 -0
- package/dist/lite/assets/PackageDownload-XXsanaEp.js +1 -0
- package/dist/lite/assets/PackageDownload-legacy-CH0kgu1c.js +1 -0
- package/dist/lite/assets/Paginator-BctNCwBy.js +1 -0
- package/dist/lite/assets/Paginator-legacy-CFHtYl-C.js +1 -0
- package/dist/lite/assets/Password-ClA6VQY7.js +1 -0
- package/dist/lite/assets/Password-legacy-BxRyqC67.js +1 -0
- package/dist/lite/assets/Profile-8zCBOOTI.js +1 -0
- package/dist/lite/assets/Profile-legacy-DEAmD_3m.js +1 -0
- package/dist/lite/assets/PublicKeys-PHAapjAA.js +1 -0
- package/dist/lite/assets/PublicKeys-legacy-0ACLzjft.js +1 -0
- package/dist/lite/assets/{ResponsiveGrid-kgEA8AF7.js → ResponsiveGrid-Cz1_Eark.js} +1 -1
- package/dist/lite/assets/{ResponsiveGrid-legacy-BNsCVp3W.js → ResponsiveGrid-legacy-DP4mYOAz.js} +1 -1
- package/dist/lite/assets/S3-2tw2d7Qp.js +1 -0
- package/dist/lite/assets/S3-legacy-BVFT34ht.js +1 -0
- package/dist/lite/assets/SettingItem-HSnS7ja1.js +1 -0
- package/dist/lite/assets/SettingItem-legacy-1qbq5ORz.js +1 -0
- package/dist/lite/assets/Shares-Bb57erTR.js +1 -0
- package/dist/lite/assets/Shares-legacy-BA7foq6P.js +1 -0
- package/dist/lite/assets/Storages-Be5afA1_.js +1 -0
- package/dist/lite/assets/Storages-legacy-oQRVCh01.js +1 -0
- package/dist/{assets/Upload-C9oS_1oo.js → lite/assets/Upload-CpyA1Wv1.js} +2 -2
- package/dist/lite/assets/Upload-DyKJhDQK.js +1 -0
- package/dist/lite/assets/{Upload-legacy-B8MKDoI2.js → Upload-legacy-DMXuYAtu.js} +1 -1
- package/dist/{assets/Upload-legacy-Dd3jb9ZZ.js → lite/assets/Upload-legacy-W2PZVb9I.js} +2 -2
- package/dist/lite/assets/{Users-DfVnkXCC.js → Users-BVJIYjZX.js} +1 -1
- package/dist/lite/assets/Users-legacy-CnUL-u22.js +1 -0
- package/dist/lite/assets/Wether-C1XD_iaw.js +1 -0
- package/dist/lite/assets/{Wether-legacy-BRZL1t8R.js → Wether-legacy-DhCvhRbq.js} +1 -1
- package/dist/lite/assets/aliyun_video-CyUaIxZk.js +1 -0
- package/dist/lite/assets/aliyun_video-legacy-BJV634mc.js +1 -0
- package/dist/lite/assets/archive-Bli9-5UM.js +1 -0
- package/dist/lite/assets/archive-legacy-CHvqEeFr.js +1 -0
- package/dist/lite/assets/{artplayer-C1yhFVb6.js → artplayer-DEgNxz4T.js} +1 -1
- package/dist/lite/assets/{artplayer-legacy-Bbj5pHaR.js → artplayer-legacy-ysVgVDOo.js} +1 -1
- package/dist/lite/assets/asciinema-PjhhB9WR.js +1 -0
- package/dist/lite/assets/asciinema-legacy-Bzp4HaNY.js +1 -0
- package/dist/lite/assets/audio-ClyfnJhc.js +1 -0
- package/dist/lite/assets/audio-legacy-J-aewUXR.js +1 -0
- package/dist/lite/assets/backup-restore-DUGKN8E3.js +1 -0
- package/dist/lite/assets/backup-restore-legacy-DbMDagf2.js +1 -0
- package/dist/{assets/doc-D-Pgo6de.js → lite/assets/doc-CMTlg4SZ.js} +1 -1
- package/dist/lite/assets/doc-legacy-BeBCOd10.js +1 -0
- package/dist/lite/assets/entry-DX_gC4oS.js +1 -0
- package/dist/lite/assets/entry-DbjzOXML.js +1 -0
- package/dist/lite/assets/entry-LDl6mCyz.js +1 -0
- package/dist/lite/assets/entry-legacy-BctkQQxu.js +1 -0
- package/dist/lite/assets/entry-legacy-Bms12nNS.js +1 -0
- package/dist/lite/assets/entry-legacy-ChF3ksFW.js +1 -0
- package/dist/lite/assets/{flash-B5rPfsiE.js → flash-D1r2KiuX.js} +1 -1
- package/dist/lite/assets/{flash-legacy-B21cDZRq.js → flash-legacy-Ce6pLSek.js} +1 -1
- package/dist/lite/assets/heic-A0ApY_mO.js +1 -0
- package/dist/lite/assets/heic-legacy-B933Pz3w.js +1 -0
- package/dist/lite/assets/helper-CLiDqmie.js +1 -0
- package/dist/lite/assets/helper-ClVQv5Cj.js +1 -0
- package/dist/lite/assets/helper-legacy-7N0QWXz4.js +1 -0
- package/dist/{assets/helper-legacy-DFe3G2po.js → lite/assets/helper-legacy-C-B0V45f.js} +1 -1
- package/dist/lite/assets/{html-legacy-CgOnH-Uv.js → html-legacy-cyktnrv5.js} +1 -1
- package/dist/lite/assets/{html-CN2LD9o-.js → html-nRyUoybs.js} +1 -1
- package/dist/{assets/icon-Cs0vavSk.js → lite/assets/icon-BzG2iOlK.js} +1 -1
- package/dist/{assets/icon-legacy-BZKptv3S.js → lite/assets/icon-legacy-t3U3NC3K.js} +1 -1
- package/dist/lite/assets/image-Qz4AaEhk.js +1 -0
- package/dist/lite/assets/image-legacy-S5SWjQ01.js +1 -0
- package/dist/lite/assets/{index-C5EIhnB7.js → index-BGq-KEkm.js} +1 -1
- package/dist/lite/assets/index-BUYt7a_q.js +1 -0
- package/dist/{assets/index-T2Tj0tHi.js → lite/assets/index-C0SsaXJz.js} +1 -1
- package/dist/lite/assets/{index-g7Vsrwrs.js → index-CHTaZlKo.js} +6 -6
- package/dist/lite/assets/{index-CCkLdqwZ.js → index-C_b0gevr.js} +1 -1
- package/dist/{assets/index-CQUKjcNm.js → lite/assets/index-CbYWOyPS.js} +1 -1
- package/dist/lite/assets/index-CiNKf0kZ.js +2 -0
- package/dist/lite/assets/index-Dku4wCAp.js +1 -0
- package/dist/{assets/index-CBfX0KrW.js → lite/assets/index-h48yrOMU.js} +1 -1
- package/dist/lite/assets/{index-D1Tvly7g.js → index-kDIHuttQ.js} +3 -3
- package/dist/lite/assets/index-legacy-6zOnAN2v.js +1 -0
- package/dist/lite/assets/index-legacy-B0-4GMl1.js +1 -0
- package/dist/lite/assets/{index-legacy-xn5o-cpl.js → index-legacy-B0qrObMQ.js} +4 -4
- package/dist/lite/assets/index-legacy-Bq56gQqB.js +1 -0
- package/dist/lite/assets/{index-legacy-DgYResnd.js → index-legacy-CJXi8fEv.js} +1 -1
- package/dist/{assets/index-legacy-CB3I_kuf.js → lite/assets/index-legacy-CX_AQpjx.js} +1 -1
- package/dist/lite/assets/{index-legacy-DXE055le.js → index-legacy-Di2lVOIe.js} +1 -1
- package/dist/lite/assets/index-legacy-DpVNzRBU.js +1 -0
- package/dist/lite/assets/{index-legacy-bcVjJ4Iq.js → index-legacy-QZyktHxH.js} +2 -2
- package/dist/lite/assets/{index-legacy-BJC-jk57.js → index-legacy-cxNXXGyr.js} +1 -1
- package/dist/lite/assets/{index-legacy-BNO9ZbE4.js → index-legacy-g_-wBB9d.js} +1 -1
- package/dist/lite/assets/index-sVgwh4Hr.js +1 -0
- package/dist/lite/assets/index_page-CZh4cllO.js +1 -0
- package/dist/lite/assets/index_page-legacy-DsVUsnom.js +1 -0
- package/dist/lite/assets/ipa-B1Mdd0WC.js +1 -0
- package/dist/lite/assets/ipa-legacy-D0XO5Zlb.js +1 -0
- package/dist/lite/assets/markdown-6p_D8JPD.js +1 -0
- package/dist/lite/assets/markdown-legacy-DiJ2YpIR.js +1 -0
- package/dist/lite/assets/markdown_with_word_wrap-Che-GKM7.js +1 -0
- package/dist/lite/assets/markdown_with_word_wrap-legacy-Ci23vI-z.js +1 -0
- package/dist/lite/assets/offline_download-legacy-DUDbDkqP.js +1 -0
- package/dist/lite/assets/offline_download-rOvW2E2f.js +1 -0
- package/dist/lite/assets/plist-B3sT_zft.js +1 -0
- package/dist/lite/assets/plist-legacy-MjBAU8VH.js +1 -0
- package/dist/{assets/ppt-B6HlxQLO.js → lite/assets/ppt-CAkn8zPw.js} +1 -1
- package/dist/{assets/ppt-legacy-Duz8FVRh.js → lite/assets/ppt-legacy-CffA2Hs2.js} +1 -1
- package/dist/lite/assets/{share-legacy-sYBtJG7p.js → share-legacy-jXbKF6bG.js} +1 -1
- package/dist/lite/assets/{share-CLWDyLEN.js → share-mAwAQnfO.js} +1 -1
- package/dist/lite/assets/storage-B8Wc9tdG.js +1 -0
- package/dist/lite/assets/storage-legacy-BCAHdrPO.js +1 -0
- package/dist/lite/assets/style-B-h4p_Si.js +1 -0
- package/dist/lite/assets/style-legacy-BP5fJoTz.js +1 -0
- package/dist/lite/assets/text-editor-B5Um278-.js +1 -0
- package/dist/lite/assets/text-editor-legacy-b4Hwuk6P.js +1 -0
- package/dist/lite/assets/url-D9YBVrDj.js +1 -0
- package/dist/lite/assets/url-legacy-DPHWQ0uJ.js +1 -0
- package/dist/lite/assets/useTitle-OB90Q8xV.js +1 -0
- package/dist/lite/assets/useTitle-legacy-BlUoIbCG.js +1 -0
- package/dist/lite/assets/video-DvkFlULJ.js +7 -0
- package/dist/lite/assets/video-legacy-BfhGQT14.js +9 -0
- package/dist/{assets/video360-CJes0K72.js → lite/assets/video360-DLwON173.js} +2 -2
- package/dist/lite/assets/{video360-legacy-DDQibVTv.js → video360-legacy-Nl-v_LxC.js} +1 -1
- package/dist/{assets/video_box-CDbKGmuP.js → lite/assets/video_box-Bnht-7s1.js} +1 -1
- package/dist/lite/assets/video_box-legacy-C-3Dj7oZ.js +1 -0
- package/dist/lite/assets/{xls-DZLLEqp3.js → xls-Cftta4BE.js} +1 -1
- package/dist/lite/assets/{xls-legacy-JSCOMIBw.js → xls-legacy-CgQ0slCv.js} +1 -1
- package/dist/lite/i18n.tar.gz +0 -0
- package/dist/lite/index.html +2 -2
- package/dist/static/mermaid/mermaid.min.js +248 -248
- package/dist/static/ruffle/core.ruffle.4ca82b563e9711217164.js +2 -0
- package/dist/static/ruffle/core.ruffle.9efd15e310cd86757dff.js +2 -0
- package/dist/static/ruffle/{e39bb91d655c522df28b.wasm → f2a570ccf4468b20d95a.wasm} +0 -0
- package/dist/static/ruffle/{61398f9edf577fea514f.wasm → f8df2d4d9386fa89b025.wasm} +0 -0
- package/dist/static/ruffle/ruffle.js +1 -1
- package/package.json +24 -24
- package/dist/assets/2fa-ZiFLQpje.js +0 -1
- package/dist/assets/2fa-legacy-mCdncvmv.js +0 -1
- package/dist/assets/AddOrEdit-CPFZ7H2b.js +0 -1
- package/dist/assets/AddOrEdit-CmzviMEk.js +0 -1
- package/dist/assets/AddOrEdit-D9dzEnd_.js +0 -1
- package/dist/assets/AddOrEdit-legacy-BxAP4A2_.js +0 -1
- package/dist/assets/AddOrEdit-legacy-DuXyLsm1.js +0 -1
- package/dist/assets/AddOrEdit-legacy-spLDudoz.js +0 -1
- package/dist/assets/AddOrEdit-legacy-zFBjScED.js +0 -1
- package/dist/assets/Common-C09KQqwn.js +0 -1
- package/dist/assets/Common-legacy-Dv35vcHX.js +0 -1
- package/dist/assets/Decompress-BjVVup3i.js +0 -1
- package/dist/assets/DeletePopover-BUDaYiEI.js +0 -1
- package/dist/assets/DeletePopover-legacy-Cy1vRgdP.js +0 -1
- package/dist/assets/File-cfrWhjEY.js +0 -2
- package/dist/assets/File-legacy-CWXG8Ngn.js +0 -1
- package/dist/assets/FolderTree-DC6LtopR.js +0 -1
- package/dist/assets/FolderTree-legacy-CWjbiQWI.js +0 -1
- package/dist/assets/Grid-BS2g1Cif.js +0 -1
- package/dist/assets/Grid-legacy-cTWi0z7Z.js +0 -1
- package/dist/assets/GridItem-BwWz556h.js +0 -1
- package/dist/assets/GridItem-legacy-B-cDSx5Z.js +0 -1
- package/dist/assets/ImageWithError-legacy-8LTrJ3ca.js +0 -1
- package/dist/assets/Images-CGgFRKTd.js +0 -1
- package/dist/assets/Images-legacy-D-Q2xx89.js +0 -1
- package/dist/assets/Layout-C-Bb9tR5.js +0 -6
- package/dist/assets/Layout-legacy-Be5mL0Jo.js +0 -6
- package/dist/assets/List-B9H0I-F-.js +0 -1
- package/dist/assets/List-legacy-6j8-AW92.js +0 -1
- package/dist/assets/Messenger-C9i_P_OW.js +0 -1
- package/dist/assets/Messenger-legacy-PlxNYc2x.js +0 -1
- package/dist/assets/Metas-Dgnw-pON.js +0 -1
- package/dist/assets/Metas-legacy-1LStM8Bm.js +0 -1
- package/dist/assets/Other-D0xvRyWq.js +0 -1
- package/dist/assets/Other-legacy-B2IlsX76.js +0 -1
- package/dist/assets/PackageDownload-GENMuuTW.js +0 -1
- package/dist/assets/PackageDownload-legacy-BITGjXsP.js +0 -1
- package/dist/assets/Paginator-legacy-DnspEmAZ.js +0 -1
- package/dist/assets/Paginator-zhMu93xx.js +0 -1
- package/dist/assets/Password-CFJXXj27.js +0 -1
- package/dist/assets/Password-legacy-DjFj1x1r.js +0 -1
- package/dist/assets/Profile-BqcGeaOe.js +0 -1
- package/dist/assets/Profile-legacy-DoB8_TB5.js +0 -1
- package/dist/assets/PublicKeys-C63y78_q.js +0 -1
- package/dist/assets/PublicKeys-legacy-CjXzZ7XQ.js +0 -1
- package/dist/assets/S3-CJs_N5uj.js +0 -1
- package/dist/assets/S3-legacy-DodxeX9D.js +0 -1
- package/dist/assets/SettingItem-CDGmRu3V.js +0 -1
- package/dist/assets/SettingItem-legacy-COXP3Mlu.js +0 -1
- package/dist/assets/Shares-BRgxzkBI.js +0 -1
- package/dist/assets/Shares-legacy-CLSiAaTA.js +0 -1
- package/dist/assets/Storages-Co-a8Lnn.js +0 -1
- package/dist/assets/Storages-legacy-DfBT75OK.js +0 -1
- package/dist/assets/Upload-0hHgbsU7.js +0 -1
- package/dist/assets/Users-legacy-D4sKgunU.js +0 -1
- package/dist/assets/Wether-BGuQJWTc.js +0 -1
- package/dist/assets/aliyun_video-ICpVDpS-.js +0 -1
- package/dist/assets/aliyun_video-legacy-uIDX2YvN.js +0 -1
- package/dist/assets/archive-WRmlNaDg.js +0 -1
- package/dist/assets/archive-legacy-BhLXwQQ0.js +0 -1
- package/dist/assets/asciinema-Cutu-XDf.js +0 -1
- package/dist/assets/asciinema-legacy-ASElrtjl.js +0 -1
- package/dist/assets/audio-QSyBpfos.js +0 -1
- package/dist/assets/audio-legacy-CqZy8shh.js +0 -1
- package/dist/assets/backup-restore-DIrCqSvh.js +0 -1
- package/dist/assets/backup-restore-legacy-DMp3CE0w.js +0 -1
- package/dist/assets/doc-legacy-CapMuddq.js +0 -1
- package/dist/assets/entry-BdR6wVFL.js +0 -1
- package/dist/assets/entry-Btvi-41w.js +0 -1
- package/dist/assets/entry-legacy-dreQbDaA.js +0 -1
- package/dist/assets/entry-legacy-lhDJeeFF.js +0 -1
- package/dist/assets/heic-DNdJHQQ2.js +0 -1
- package/dist/assets/heic-legacy-DhUxoRHm.js +0 -1
- package/dist/assets/helper-Ce7UX4Wc.js +0 -1
- package/dist/assets/helper-DXYylQ4j.js +0 -1
- package/dist/assets/helper-legacy-DbWYrt6G.js +0 -1
- package/dist/assets/image-BqepXu0R.js +0 -1
- package/dist/assets/image-legacy-BaRcY7WL.js +0 -1
- package/dist/assets/index-59OJwQ3V.js +0 -2
- package/dist/assets/index-BFm_Nbfs.js +0 -1
- package/dist/assets/index-DJ1BVso4.js +0 -1
- package/dist/assets/index-legacy-9_nyLeb_.js +0 -1
- package/dist/assets/index-legacy-CAk6vsG0.js +0 -1
- package/dist/assets/index-legacy-CYEFgqWT.js +0 -1
- package/dist/assets/index-legacy-DJa_BdUd.js +0 -1
- package/dist/assets/index-rvsSbOjI.js +0 -1
- package/dist/assets/index_page-CxJOy3OL.js +0 -1
- package/dist/assets/index_page-legacy-CqK5qFWw.js +0 -1
- package/dist/assets/ipa-B5snZ3BG.js +0 -1
- package/dist/assets/ipa-legacy-D5JjW3NY.js +0 -1
- package/dist/assets/markdown-BTpLF2mx.js +0 -1
- package/dist/assets/markdown-legacy-DdeS64tD.js +0 -1
- package/dist/assets/markdown_with_word_wrap-BFgeJW8q.js +0 -1
- package/dist/assets/markdown_with_word_wrap-legacy-CpgE1mrq.js +0 -1
- package/dist/assets/offline_download-C71KWqsO.js +0 -1
- package/dist/assets/offline_download-legacy-CKW78SJU.js +0 -1
- package/dist/assets/plist-B8XnnGKv.js +0 -1
- package/dist/assets/plist-legacy-DPCNECn7.js +0 -1
- package/dist/assets/storage-BWbNxF5o.js +0 -1
- package/dist/assets/storage-legacy-DkpoUQ7j.js +0 -1
- package/dist/assets/style-BSzBEumv.js +0 -1
- package/dist/assets/style-legacy-hnLSG3W3.js +0 -1
- package/dist/assets/text-editor-DjJln11k.js +0 -1
- package/dist/assets/text-editor-legacy-CMjQp_Fx.js +0 -1
- package/dist/assets/url-BSlD2nwL.js +0 -1
- package/dist/assets/url-legacy-D_Hrf-qV.js +0 -1
- package/dist/assets/useTitle-DTrRaS7q.js +0 -1
- package/dist/assets/useTitle-legacy-D2YgYvNp.js +0 -1
- package/dist/assets/video-D_6bZFnY.js +0 -7
- package/dist/assets/video-legacy-D89QnCrS.js +0 -9
- package/dist/assets/video_box-legacy-Cn2aKtUz.js +0 -1
- package/dist/lite/assets/2fa-legacy-Y5AZ7WTZ.js +0 -1
- package/dist/lite/assets/2fa-qdQUseQC.js +0 -1
- package/dist/lite/assets/AddOrEdit-VrNRXk2m.js +0 -1
- package/dist/lite/assets/AddOrEdit-ef4OqZkj.js +0 -1
- package/dist/lite/assets/AddOrEdit-legacy-B45ha1w5.js +0 -1
- package/dist/lite/assets/AddOrEdit-legacy-BgxrTByG.js +0 -1
- package/dist/lite/assets/AddOrEdit-legacy-C23V6Ekq.js +0 -1
- package/dist/lite/assets/AddOrEdit-legacy-C_1-a6X-.js +0 -1
- package/dist/lite/assets/AddOrEdit-rx04CiVs.js +0 -1
- package/dist/lite/assets/Common-DtnkNE-j.js +0 -1
- package/dist/lite/assets/Common-legacy-DzLiGcIz.js +0 -1
- package/dist/lite/assets/Decompress-ALk2u-w8.js +0 -1
- package/dist/lite/assets/DeletePopover--KK44R-y.js +0 -1
- package/dist/lite/assets/DeletePopover-legacy-IEtYhJB0.js +0 -1
- package/dist/lite/assets/File-DX7Jwvea.js +0 -2
- package/dist/lite/assets/File-legacy--fLVYVMd.js +0 -1
- package/dist/lite/assets/FolderTree-C0LkziGi.js +0 -1
- package/dist/lite/assets/FolderTree-legacy-BknJD7-N.js +0 -1
- package/dist/lite/assets/Grid-DDQ-forK.js +0 -1
- package/dist/lite/assets/Grid-legacy-CIlHBpxA.js +0 -1
- package/dist/lite/assets/GridItem-BcJxWOqo.js +0 -1
- package/dist/lite/assets/GridItem-legacy-3GYauyp6.js +0 -1
- package/dist/lite/assets/ImageWithError-legacy-9_mDZMGI.js +0 -1
- package/dist/lite/assets/Images-Q7y_VsLx.js +0 -1
- package/dist/lite/assets/Images-legacy-Dvz6V953.js +0 -1
- package/dist/lite/assets/Layout-4VWrDUOc.js +0 -6
- package/dist/lite/assets/Layout-legacy-DVx_53Gc.js +0 -6
- package/dist/lite/assets/List-B2MBKTYm.js +0 -1
- package/dist/lite/assets/List-legacy-Df9-Jati.js +0 -1
- package/dist/lite/assets/Messenger-DDFUlyqr.js +0 -1
- package/dist/lite/assets/Messenger-legacy-DL3JjfOi.js +0 -1
- package/dist/lite/assets/Metas-BV_cppG-.js +0 -1
- package/dist/lite/assets/Metas-legacy-BCIis98q.js +0 -1
- package/dist/lite/assets/Other-CW6sYvdq.js +0 -1
- package/dist/lite/assets/Other-legacy-D2YW6iEh.js +0 -1
- package/dist/lite/assets/PackageDownload-CGaZAdLh.js +0 -1
- package/dist/lite/assets/PackageDownload-legacy-l8adSa0y.js +0 -1
- package/dist/lite/assets/Paginator-CoIsYz0J.js +0 -1
- package/dist/lite/assets/Paginator-legacy-DLn8kn9q.js +0 -1
- package/dist/lite/assets/Password-BHdy5059.js +0 -1
- package/dist/lite/assets/Password-legacy-xeJsmBRl.js +0 -1
- package/dist/lite/assets/Profile-DjLzkHSs.js +0 -1
- package/dist/lite/assets/Profile-legacy-CADRBxrr.js +0 -1
- package/dist/lite/assets/PublicKeys-Dhp7qf8-.js +0 -1
- package/dist/lite/assets/PublicKeys-legacy-DzI1JSEx.js +0 -1
- package/dist/lite/assets/S3-D6T5M7T5.js +0 -1
- package/dist/lite/assets/S3-legacy-5svWPjbh.js +0 -1
- package/dist/lite/assets/SettingItem-D21dk9dp.js +0 -1
- package/dist/lite/assets/SettingItem-legacy-hFfWu8Iw.js +0 -1
- package/dist/lite/assets/Shares-CAQ0zk8-.js +0 -1
- package/dist/lite/assets/Shares-legacy-DDKOkIQ_.js +0 -1
- package/dist/lite/assets/Storages-Df9WsOVV.js +0 -1
- package/dist/lite/assets/Storages-legacy-Ben9fKa8.js +0 -1
- package/dist/lite/assets/Upload-D-qxQveT.js +0 -1
- package/dist/lite/assets/Users-legacy-DAhAG_a6.js +0 -1
- package/dist/lite/assets/Wether-wZhsrVPY.js +0 -1
- package/dist/lite/assets/aliyun_video-5gJfsMWb.js +0 -1
- package/dist/lite/assets/aliyun_video-legacy-Bta5pVYG.js +0 -1
- package/dist/lite/assets/archive-C4eySgSA.js +0 -1
- package/dist/lite/assets/archive-legacy-BaSeoPhV.js +0 -1
- package/dist/lite/assets/asciinema-BhzUNBNw.js +0 -1
- package/dist/lite/assets/asciinema-legacy-g4OabMY9.js +0 -1
- package/dist/lite/assets/audio-WE4iLFl5.js +0 -1
- package/dist/lite/assets/audio-legacy-Bzzyjw1U.js +0 -1
- package/dist/lite/assets/backup-restore-Bi1GRpqb.js +0 -1
- package/dist/lite/assets/backup-restore-legacy-CIlxGsF2.js +0 -1
- package/dist/lite/assets/doc-legacy-DvWaX8CR.js +0 -1
- package/dist/lite/assets/entry-CWQuQU1N.js +0 -1
- package/dist/lite/assets/entry-Cjf6g2uB.js +0 -1
- package/dist/lite/assets/entry-legacy-Bh_jFQyU.js +0 -1
- package/dist/lite/assets/entry-legacy-CkPKs4R3.js +0 -1
- package/dist/lite/assets/heic-BZ5DZoVC.js +0 -1
- package/dist/lite/assets/heic-legacy-DYb0WaUy.js +0 -1
- package/dist/lite/assets/helper-BWpKl0ws.js +0 -1
- package/dist/lite/assets/helper-legacy-CMMsjO0A.js +0 -1
- package/dist/lite/assets/helper-sl95U_VC.js +0 -1
- package/dist/lite/assets/image-DLxCz1Ap.js +0 -1
- package/dist/lite/assets/image-legacy-DbSj26iw.js +0 -1
- package/dist/lite/assets/index-C5ekDh8M.js +0 -1
- package/dist/lite/assets/index-Cg-k57CL.js +0 -1
- package/dist/lite/assets/index-D4KAizF4.js +0 -2
- package/dist/lite/assets/index-DAaeP5bB.js +0 -1
- package/dist/lite/assets/index-legacy-1nLWaSjr.js +0 -1
- package/dist/lite/assets/index-legacy-BgPjY2BU.js +0 -1
- package/dist/lite/assets/index-legacy-CDuOfjKA.js +0 -1
- package/dist/lite/assets/index-legacy-DBI-DVgw.js +0 -1
- package/dist/lite/assets/index_page-CAIAKip_.js +0 -1
- package/dist/lite/assets/index_page-legacy-B6PFmE8d.js +0 -1
- package/dist/lite/assets/ipa-CA23frHf.js +0 -1
- package/dist/lite/assets/ipa-legacy-DD0gHFtg.js +0 -1
- package/dist/lite/assets/markdown-RfmD_9ya.js +0 -1
- package/dist/lite/assets/markdown-legacy-B2zw4JVw.js +0 -1
- package/dist/lite/assets/markdown_with_word_wrap-HX7OjzxP.js +0 -1
- package/dist/lite/assets/markdown_with_word_wrap-legacy-RPRVHn9I.js +0 -1
- package/dist/lite/assets/offline_download-Cq5oylmx.js +0 -1
- package/dist/lite/assets/offline_download-legacy-C8_XNxlr.js +0 -1
- package/dist/lite/assets/plist-B4avYb7F.js +0 -1
- package/dist/lite/assets/plist-legacy-COq-urYa.js +0 -1
- package/dist/lite/assets/storage-BWbNxF5o.js +0 -1
- package/dist/lite/assets/storage-legacy-DkpoUQ7j.js +0 -1
- package/dist/lite/assets/style-DmD-1UVZ.js +0 -1
- package/dist/lite/assets/style-legacy-DM9slbmi.js +0 -1
- package/dist/lite/assets/text-editor-DsCakzuI.js +0 -1
- package/dist/lite/assets/text-editor-legacy-C-HhGFm_.js +0 -1
- package/dist/lite/assets/url-B29cDyCv.js +0 -1
- package/dist/lite/assets/url-legacy-Dzh1Xtvs.js +0 -1
- package/dist/lite/assets/useTitle-DDYBOmBC.js +0 -1
- package/dist/lite/assets/useTitle-legacy-DH0rFjmA.js +0 -1
- package/dist/lite/assets/video-CjFXaTvh.js +0 -7
- package/dist/lite/assets/video-legacy-iTb6iDZk.js +0 -9
- package/dist/lite/assets/video_box-legacy-DdMynY1o.js +0 -1
- package/dist/static/ruffle/core.ruffle.176c500c1a66e95576d9.js +0 -2
- package/dist/static/ruffle/core.ruffle.f4bf3a4de3c49e893178.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{al as ze,an as Ge,X as He,E as St,ae as jt,ap as re,cp as ke,cq as We,U as Ye,ah as Xe}from"./index-Bl5KfUKm.js";import{V as Ke}from"./video_box-DpaXh14X.js";import"./icon-DqPtjxiZ.js";import"./index-C_xnhf0Z.js";import"./Layout-CtHmJknm.js";import"./useTitle-COa73MJx.js";import"./FolderTree-CHsUuiQU.js";import"./index-BelfiY12.js";import"./ModalInput-CTZQE0yv.js";import"./index-fAEGil0n.js";import"./share-BJOZaU2H.js";import"./index-S6P6XS8L.js";/*! *****************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation.
|
|
3
3
|
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -11,4 +11,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
11
11
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
12
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
13
|
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */function je(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],s=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&s>=n.length&&(n=void 0),{value:n&&n[s++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function qe(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var s=e.call(n),i,r=[],o;try{for(;(t===void 0||t-- >0)&&!(i=s.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(e=s.return)&&e.call(s)}finally{if(o)throw o.error}}return r}function Nt(){for(var n=[],t=0;t<arguments.length;t++)n=n.concat(qe(arguments[t]));return n}var lt=function(n){return typeof n>"u"},Mt=(function(){function n(e,s){var i,r;if(this._canceled=!1,s)try{for(var o=je(Object.keys(s)),a=o.next();!a.done;a=o.next()){var h=a.value;this[h]=s[h]}}catch(l){i={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.eventType=e}var t=n.prototype;return t.stop=function(){this._canceled=!0},t.isCanceled=function(){return this._canceled},n})(),x=(function(){function n(){this._eventHandler={}}var t=n.prototype;return t.trigger=function(e){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=e instanceof Mt?e.eventType:e,o=Nt(this._eventHandler[r]||[]);return o.length<=0?this:(e instanceof Mt?(e.currentTarget=this,o.forEach(function(a){a(e)})):o.forEach(function(a){a.apply(void 0,Nt(s))}),this)},t.once=function(e,s){var i=this;if(typeof e=="object"&<(s)){var r=e;for(var o in r)this.once(o,r[o]);return this}else if(typeof e=="string"&&typeof s=="function"){var a=function(){for(var h=[],l=0;l<arguments.length;l++)h[l]=arguments[l];s.apply(void 0,Nt(h)),i.off(e,a)};this.on(e,a)}return this},t.hasOn=function(e){return!!this._eventHandler[e]},t.on=function(e,s){if(typeof e=="object"&<(s)){var i=e;for(var r in i)this.on(r,i[r]);return this}else if(typeof e=="string"&&typeof s=="function"){var o=this._eventHandler[e];lt(o)&&(this._eventHandler[e]=[],o=this._eventHandler[e]),o.push(s)}return this},t.off=function(e,s){if(lt(e))return this._eventHandler={},this;if(lt(s)){if(typeof e=="string")return delete this._eventHandler[e],this;var i=e;for(var r in i)this.off(r,i[r]);return this}var o=this._eventHandler[e];if(o){for(var a=o.length,h=0;h<a;++h)if(o[h]===s){o.splice(h,1),a<=1&&delete this._eventHandler[e];break}}return this},n.VERSION="3.0.5",n})(),ct=Mt,Y=1e-6,w=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function $e(){var n=new w(9);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function ft(){var n=new w(16);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n}function Ze(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function oe(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=t[4],h=t[5],l=t[6],c=t[7],_=t[8],E=t[9],f=t[10],v=t[11],T=t[12],p=t[13],b=t[14],C=t[15],y=e[0],g=e[1],m=e[2],R=e[3];return n[0]=y*s+g*a+m*_+R*T,n[1]=y*i+g*h+m*E+R*p,n[2]=y*r+g*l+m*f+R*b,n[3]=y*o+g*c+m*v+R*C,y=e[4],g=e[5],m=e[6],R=e[7],n[4]=y*s+g*a+m*_+R*T,n[5]=y*i+g*h+m*E+R*p,n[6]=y*r+g*l+m*f+R*b,n[7]=y*o+g*c+m*v+R*C,y=e[8],g=e[9],m=e[10],R=e[11],n[8]=y*s+g*a+m*_+R*T,n[9]=y*i+g*h+m*E+R*p,n[10]=y*r+g*l+m*f+R*b,n[11]=y*o+g*c+m*v+R*C,y=e[12],g=e[13],m=e[14],R=e[15],n[12]=y*s+g*a+m*_+R*T,n[13]=y*i+g*h+m*E+R*p,n[14]=y*r+g*l+m*f+R*b,n[15]=y*o+g*c+m*v+R*C,n}function Je(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=i+i,l=r+r,c=o+o,_=i*h,E=i*l,f=i*c,v=r*l,T=r*c,p=o*c,b=a*h,C=a*l,y=a*c,g=s[0],m=s[1],R=s[2];return n[0]=(1-(v+p))*g,n[1]=(E+y)*g,n[2]=(f-C)*g,n[3]=0,n[4]=(E-y)*m,n[5]=(1-(_+p))*m,n[6]=(T+b)*m,n[7]=0,n[8]=(f+C)*R,n[9]=(T-b)*R,n[10]=(1-(_+v))*R,n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function Qe(n,t,e,s,i){var r=1/Math.tan(t/2),o;return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0?(o=1/(s-i),n[10]=(i+s)*o,n[14]=2*i*s*o):(n[10]=-1,n[14]=-2*s),n}var ts=Qe;function es(n,t,e,s){var i,r,o,a,h,l,c,_,E,f,v=t[0],T=t[1],p=t[2],b=s[0],C=s[1],y=s[2],g=e[0],m=e[1],R=e[2];return Math.abs(v-g)<Y&&Math.abs(T-m)<Y&&Math.abs(p-R)<Y?Ze(n):(c=v-g,_=T-m,E=p-R,f=1/Math.hypot(c,_,E),c*=f,_*=f,E*=f,i=C*E-y*_,r=y*c-b*E,o=b*_-C*c,f=Math.hypot(i,r,o),f?(f=1/f,i*=f,r*=f,o*=f):(i=0,r=0,o=0),a=_*o-E*r,h=E*i-c*o,l=c*r-_*i,f=Math.hypot(a,h,l),f?(f=1/f,a*=f,h*=f,l*=f):(a=0,h=0,l=0),n[0]=i,n[1]=a,n[2]=c,n[3]=0,n[4]=r,n[5]=h,n[6]=_,n[7]=0,n[8]=o,n[9]=l,n[10]=E,n[11]=0,n[12]=-(i*v+r*T+o*p),n[13]=-(a*v+h*T+l*p),n[14]=-(c*v+_*T+E*p),n[15]=1,n)}function B(){var n=new w(3);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function Ut(n){var t=n[0],e=n[1],s=n[2];return Math.hypot(t,e,s)}function L(n,t,e){var s=new w(3);return s[0]=n,s[1]=t,s[2]=e,s}function ss(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function is(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n}function ns(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n}function ae(n,t){var e=t[0],s=t[1],i=t[2],r=e*e+s*s+i*i;return r>0&&(r=1/Math.sqrt(r)),n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n}function he(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Q(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[0],a=e[1],h=e[2];return n[0]=i*h-r*a,n[1]=r*o-s*h,n[2]=s*a-i*o,n}function qt(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[3]*s+e[7]*i+e[11]*r+e[15];return o=o||1,n[0]=(e[0]*s+e[4]*i+e[8]*r+e[12])/o,n[1]=(e[1]*s+e[5]*i+e[9]*r+e[13])/o,n[2]=(e[2]*s+e[6]*i+e[10]*r+e[14])/o,n}function F(n,t,e){var s=e[0],i=e[1],r=e[2],o=e[3],a=t[0],h=t[1],l=t[2],c=i*l-r*h,_=r*a-s*l,E=s*h-i*a,f=i*E-r*_,v=r*c-s*E,T=s*_-i*c,p=o*2;return c*=p,_*=p,E*=p,f*=2,v*=2,T*=2,n[0]=a+c+f,n[1]=h+_+v,n[2]=l+E+T,n}var rs=Ut;(function(){var n=B();return function(t,e,s,i,r,o){var a,h;for(e||(e=3),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2];return t}})();function os(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function as(n){var t=new w(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function hs(n,t,e,s){var i=new w(4);return i[0]=n,i[1]=t,i[2]=e,i[3]=s,i}function ls(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function cs(n,t,e,s,i){return n[0]=t,n[1]=e,n[2]=s,n[3]=i,n}function us(n,t){var e=t[0],s=t[1],i=t[2],r=t[3],o=e*e+s*s+i*i+r*r;return o>0&&(o=1/Math.sqrt(o)),n[0]=e*o,n[1]=s*o,n[2]=i*o,n[3]=r*o,n}function _s(n,t){var e=n[0],s=n[1],i=n[2],r=n[3],o=t[0],a=t[1],h=t[2],l=t[3];return Math.abs(e-o)<=Y*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(s-a)<=Y*Math.max(1,Math.abs(s),Math.abs(a))&&Math.abs(i-h)<=Y*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-l)<=Y*Math.max(1,Math.abs(r),Math.abs(l))}(function(){var n=os();return function(t,e,s,i,r,o){var a,h;for(e||(e=4),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],n[3]=t[a+3],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2],t[a+3]=n[3];return t}})();function G(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function le(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function ds(n,t,e){e=e*.5;var s=Math.sin(e);return n[0]=s*t[0],n[1]=s*t[1],n[2]=s*t[2],n[3]=Math.cos(e),n}function $t(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=e[0],h=e[1],l=e[2],c=e[3];return n[0]=s*c+o*a+i*l-r*h,n[1]=i*c+o*h+r*a-s*l,n[2]=r*c+o*l+s*h-i*a,n[3]=o*c-s*a-i*h-r*l,n}function ce(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+o*a,n[1]=i*h+r*a,n[2]=r*h-i*a,n[3]=o*h-s*a,n}function ue(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h-r*a,n[1]=i*h+o*a,n[2]=r*h+s*a,n[3]=o*h-i*a,n}function _e(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+i*a,n[1]=i*h-s*a,n[2]=r*h+o*a,n[3]=o*h-r*a,n}function vt(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=e[0],l=e[1],c=e[2],_=e[3],E,f,v,T,p;return f=i*h+r*l+o*c+a*_,f<0&&(f=-f,h=-h,l=-l,c=-c,_=-_),1-f>Y?(E=Math.acos(f),v=Math.sin(E),T=Math.sin((1-s)*E)/v,p=Math.sin(s*E)/v):(T=1-s,p=s),n[0]=T*i+p*h,n[1]=T*r+p*l,n[2]=T*o+p*c,n[3]=T*a+p*_,n}function fs(n,t){var e=t[0]+t[4]+t[8],s;if(e>0)s=Math.sqrt(e+1),n[3]=.5*s,s=.5/s,n[0]=(t[5]-t[7])*s,n[1]=(t[6]-t[2])*s,n[2]=(t[1]-t[3])*s;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var r=(i+1)%3,o=(i+2)%3;s=Math.sqrt(t[i*3+i]-t[r*3+r]-t[o*3+o]+1),n[i]=.5*s,s=.5/s,n[3]=(t[r*3+o]-t[o*3+r])*s,n[r]=(t[r*3+i]+t[i*3+r])*s,n[o]=(t[o*3+i]+t[i*3+o])*s}return n}var ut=as,Es=hs,ms=ls,ps=cs,tt=us,Zt=_s;(function(){var n=B(),t=L(1,0,0),e=L(0,1,0);return function(s,i,r){var o=he(i,r);return o<-.999999?(Q(n,t,i),rs(n)<1e-6&&Q(n,e,i),ae(n,n),ds(s,n,Math.PI),s):o>.999999?(s[0]=0,s[1]=0,s[2]=0,s[3]=1,s):(Q(n,i,r),s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=1+o,tt(s,s))}})();(function(){var n=G(),t=G();return function(e,s,i,r,o,a){return vt(n,s,o,a),vt(t,i,r,a),vt(e,n,t,2*a*(1-a)),e}})();(function(){var n=$e();return function(t,e,s,i){return n[0]=s[0],n[3]=s[1],n[6]=s[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],tt(t,fs(t,n))}})();function gs(){var n=new w(2);return w!=Float32Array&&(n[0]=0,n[1]=0),n}function vs(n,t){var e=new w(2);return e[0]=n,e[1]=t,e}(function(){var n=gs();return function(t,e,s,i,r,o){var a,h;for(e||(e=2),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],r(n,n,o),t[a]=n[0],t[a+1]=n[1];return t}})();var Ft=function(n,t){return Ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,s){e.__proto__=s}||function(e,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e[i]=s[i])},Ft(n,t)};function nt(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ft(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var st=function(){return st=Object.assign||function(t){for(var e,s=1,i=arguments.length;s<i;s++){e=arguments[s];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},st.apply(this,arguments)};function Ts(){for(var n=0,t=0,e=arguments.length;t<e;t++)n+=arguments[t].length;for(var s=Array(n),i=0,t=0;t<e;t++)for(var r=arguments[t],o=0,a=r.length;o<a;o++,i++)s[i]=r[o];return s}var zt=typeof window<"u",ys=zt?window.navigator.userAgent:"",bs=zt?"getComputedStyle"in window:!1,Rs=/MSIE|Trident|Windows Phone|Edge/.test(ys),Cs=zt?"addEventListener"in document:!1,Bt="width",_t="height";function Tt(n,t){return n.getAttribute(t)||""}function bt(n){return[].slice.call(n)}function Os(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"width")}function de(n,t){return t===void 0&&(t="data-"),"loading"in n&&n.getAttribute("loading")==="lazy"||!!n.getAttribute(t+"lazy")}function Ls(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"skip")}function fe(n,t,e){Cs?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):n["on"+t]=e}function Ee(n,t,e){n.removeEventListener?n.removeEventListener(t,e,!1):n.detachEvent?n.detachEvent("on"+t,e):n["on"+t]=null}function Is(n){return me(n,"Width")}function As(n){return me(n,"Height")}function Ss(n){return(bs?window.getComputedStyle(n):n.currentStyle)||{}}function me(n,t){var e=n["client"+t]||n["offset"+t];return parseFloat(e||Ss(n)[t.toLowerCase()])||0}function Ns(n,t,e){var s=bt(n.querySelectorAll(Ts(["["+e+"skip] ["+e+"width]"],t.map(function(i){return["["+e+"skip] "+i,i+"["+e+"skip]","["+e+"width] "+i].join(", ")})).join(", ")));return bt(n.querySelectorAll("["+e+"width], "+t.join(", "))).filter(function(i){return s.indexOf(i)===-1})}var et=[];function pe(n,t){!et.length&&fe(window,"resize",ve),n.__PREFIX__=t,et.push(n),ge(n)}function ws(n,t){var e=et.indexOf(n);if(!(e<0)){var s=Tt(n,t+"fixed");delete n.__PREFIX__,n.style[s===_t?Bt:_t]="",et.splice(e,1),!et.length&&Ee(window,"resize",ve)}}function ge(n,t){t===void 0&&(t="data-");var e=n.__PREFIX__||t,s=parseInt(Tt(n,""+e+Bt),10)||0,i=parseInt(Tt(n,""+e+_t),10)||0,r=Tt(n,e+"fixed");if(r===_t){var o=As(n)||i;n.style[Bt]=s/i*o+"px"}else{var o=Is(n)||s;n.style[_t]=i/s*o+"px"}}function ve(){et.forEach(function(n){ge(n)})}var Gt=(function(n){nt(t,n);function t(s,i){i===void 0&&(i={});var r=n.call(this)||this;r.isReady=!1,r.isPreReady=!1,r.hasDataSize=!1,r.hasLoading=!1,r.isSkip=!1,r.onCheck=function(a){r.clear(),a&&a.type==="error"&&r.onError(r.element),!(r.hasLoading&&r.checkElement())&&r.onReady()},r.options=st({prefix:"data-"},i),r.element=s;var o=r.options.prefix;return r.hasDataSize=Os(s,o),r.isSkip=Ls(s,o),r.hasLoading=de(s,o),r}var e=t.prototype;return e.check=function(){return this.isSkip||!this.checkElement()?(this.onAlreadyReady(),!1):(this.hasDataSize&&pe(this.element,this.options.prefix),(this.hasDataSize||this.hasLoading)&&this.onAlreadyPreReady(),!0)},e.addEvents=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){fe(i,r,s.onCheck)})},e.clear=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){Ee(i,r,s.onCheck)}),this.removeAutoSizer()},e.destroy=function(){this.clear(),this.off()},e.removeAutoSizer=function(){if(this.hasDataSize){var s=this.options.prefix;ws(this.element,s)}},e.onError=function(s){this.trigger("error",{element:this.element,target:s})},e.onPreReady=function(){this.isPreReady||(this.isPreReady=!0,this.trigger("preReady",{element:this.element,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onReady=function(){var s=this.isPreReady;this.isPreReady=!0,!this.isReady&&(this.removeAutoSizer(),this.isReady=!0,this.trigger("ready",{element:this.element,withPreReady:!s,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onAlreadyError=function(s){var i=this;setTimeout(function(){i.onError(s)})},e.onAlreadyPreReady=function(){var s=this;setTimeout(function(){s.onPreReady()})},e.onAlreadyReady=function(){var s=this;setTimeout(function(){s.onReady()})},t.EVENTS=[],t})(x),xs=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.setHasLoading=function(s){this.hasLoading=s},e.check=function(){return this.isSkip?(this.onAlreadyReady(),!1):(this.hasDataSize?(pe(this.element,this.options.prefix),this.onAlreadyPreReady()):this.trigger("requestChildren"),!0)},e.checkElement=function(){return!0},e.destroy=function(){this.clear(),this.trigger("requestDestroy"),this.off()},e.onAlreadyPreReady=function(){n.prototype.onAlreadyPreReady.call(this),this.trigger("reqeustReadyChildren")},t.EVENTS=[],t})(Gt),Ps=(function(n){nt(t,n);function t(s){s===void 0&&(s={});var i=n.call(this)||this;return i.readyCount=0,i.preReadyCount=0,i.totalCount=0,i.totalErrorCount=0,i.isPreReadyOver=!0,i.elementInfos=[],i.options=st({loaders:{},prefix:"data-"},s),i}var e=t.prototype;return e.check=function(s){var i=this,r=this.options.prefix;this.clear(),this.elementInfos=bt(s).map(function(a,h){var l=i.getLoader(a,{prefix:r});return l.check(),l.on("error",function(c){i.onError(h,c.target)}).on("preReady",function(c){var _=i.elementInfos[h];_.hasLoading=c.hasLoading,_.isSkip=c.isSkip;var E=i.checkPreReady(h);i.onPreReadyElement(h),E&&i.onPreReady()}).on("ready",function(c){var _=c.withPreReady,E=c.hasLoading,f=c.isSkip,v=i.elementInfos[h];v.hasLoading=E,v.isSkip=f;var T=_&&i.checkPreReady(h),p=i.checkReady(h);_&&i.onPreReadyElement(h),i.onReadyElement(h),T&&i.onPreReady(),p&&i.onReady()}),{loader:l,element:a,hasLoading:!1,hasError:!1,isPreReady:!1,isReady:!1,isSkip:!1}});var o=this.elementInfos.length;return this.totalCount=o,o||setTimeout(function(){i.onPreReady(),i.onReady()}),this},e.getTotalCount=function(){return this.totalCount},e.isPreReady=function(){return this.elementInfos.every(function(s){return s.isPreReady})},e.isReady=function(){return this.elementInfos.every(function(s){return s.isReady})},e.hasError=function(){return this.totalErrorCount>0},e.clear=function(){this.isPreReadyOver=!1,this.totalCount=0,this.preReadyCount=0,this.readyCount=0,this.totalErrorCount=0,this.elementInfos.forEach(function(s){s.loader&&s.loader.destroy()}),this.elementInfos=[]},e.destroy=function(){this.clear(),this.off()},e.getLoader=function(s,i){var r=this,o=s.tagName.toLowerCase(),a=this.options.loaders,h=i.prefix,l=Object.keys(a);if(a[o])return new a[o](s,i);var c=new xs(s,i),_=bt(s.querySelectorAll(l.join(", ")));c.setHasLoading(_.some(function(f){return de(f,h)}));var E=this.clone().on("error",function(f){c.onError(f.target)}).on("ready",function(){c.onReady()});return c.on("requestChildren",function(){var f=Ns(s,l,r.options.prefix);E.check(f).on("preReady",function(v){v.isReady||c.onPreReady()})}).on("reqeustReadyChildren",function(){E.check(_)}).on("requestDestroy",function(){E.destroy()}),c},e.clone=function(){return new t(st({},this.options))},e.checkPreReady=function(s){return this.elementInfos[s].isPreReady=!0,++this.preReadyCount,!(this.preReadyCount<this.totalCount)},e.checkReady=function(s){return this.elementInfos[s].isReady=!0,++this.readyCount,!(this.readyCount<this.totalCount)},e.onError=function(s,i){var r=this.elementInfos[s];r.hasError=!0,this.trigger(new ct("error",{element:r.element,index:s,target:i,errorCount:this.getErrorCount(),totalErrorCount:++this.totalErrorCount}))},e.onPreReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("preReadyElement",{element:i.element,index:s,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isSkip:i.isSkip}))},e.onPreReady=function(){this.isPreReadyOver=!0,this.trigger(new ct("preReady",{readyCount:this.readyCount,totalCount:this.totalCount,isReady:this.isReady(),hasLoading:this.hasLoading()}))},e.onReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("readyElement",{index:s,element:i.element,hasError:i.hasError,errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isPreReadyOver:this.isPreReadyOver,isSkip:i.isSkip}))},e.onReady=function(){this.trigger(new ct("ready",{errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,totalCount:this.totalCount}))},e.getErrorCount=function(){return this.elementInfos.filter(function(s){return s.hasError}).length},e.hasLoading=function(){return this.elementInfos.some(function(s){return s.hasLoading})},t})(x),Ds=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element,i=s.getAttribute("src");if(s.complete){if(i)return s.naturalWidth||this.onAlreadyError(s),!1;this.onAlreadyPreReady()}return this.addEvents(),Rs&&s.setAttribute("src",i),!0},t.EVENTS=["load","error"],t})(Gt),Ms=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element;return s.readyState>=1?!1:s.error?(this.onAlreadyError(s),!1):(this.addEvents(),!0)},t.EVENTS=["loadedmetadata","error"],t})(Gt),Us=(function(n){nt(t,n);function t(e){return e===void 0&&(e={}),n.call(this,st({loaders:{img:Ds,video:Ms}},e))||this}return t})(Ps);function M(n,t,e,s){function i(r){return r instanceof e?r:new e(function(o){o(r)})}return new(e||(e=Promise))(function(r,o){function a(c){try{l(s.next(c))}catch(_){o(_)}}function h(c){try{l(s.throw(c))}catch(_){o(_)}}function l(c){c.done?r(c.value):i(c.value).then(a,h)}l((s=s.apply(n,[])).next())})}class H extends Error{constructor(t,e){super(t),Object.setPrototypeOf(this,H.prototype),this.name="View360Error",this.code=e}}const Fs={WRONG_TYPE:0,ELEMENT_NOT_FOUND:2,CANVAS_NOT_FOUND:3,WEBGL_NOT_SUPPORTED:4,PROVIDE_PROJECTION_FIRST:6,FAILED_LINKING_PROGRAM:7,INSUFFICIENT_ARGS:8},Bs={WRONG_TYPE:(n,t)=>"".concat(typeof n," is not a ").concat(t.map(e=>'"'.concat(e,'"')).join(" or "),"."),WRONG_OPTION:(n,t)=>'Bad option: given "'.concat(n,'" for option "').concat(t,'".'),ELEMENT_NOT_FOUND:n=>'Element with selector "'.concat(n,'" not found.'),CANVAS_NOT_FOUND:"The canvas element was not found inside the given root element.",WEBGL_NOT_SUPPORTED:"WebGL is not supported on this browser.",FAILED_CREATE_CONTEXT_2D:"Failed to create canvas 2D context",PROVIDE_PROJECTION_FIRST:'"projection" should be provided before initialization.',FAILED_LINKING_PROGRAM:(n,t)=>'Failed linking WebGL program - "'.concat(n,"\nShader compile Log: ").concat(t),INSUFFICIENT_ARGS:(n,t)=>'Insufficient arguments: given "'.concat(n,'" for "').concat(t,'".')};var U={CODES:Fs,MESSAGES:Bs};const u={MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",WHEEL:"wheel",RESIZE:"resize",CONTEXT_MENU:"contextmenu",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",KEY_DOWN:"keydown",KEY_UP:"keyup",CLICK:"click",CONTEXT_CREATE_ERROR:"webglcontextcreationerror",CONTEXT_LOST:"webglcontextlost",CONTEXT_RESTORED:"webglcontextrestored",DEVICE_ORIENTATION:"deviceorientation",DEVICE_MOTION:"devicemotion",ORIENTATION_CHANGE:"orientationchange",VIDEO_PLAY:"play",VIDEO_PAUSE:"pause",VIDEO_LOADED_DATA:"loadeddata",VIDEO_VOLUME_CHANGE:"volumechange",VIDEO_TIME_UPDATE:"timeupdate",VIDEO_DURATION_CHANGE:"durationchange",VIDEO_CAN_PLAYTHROUGH:"canplaythrough",TRANSITION_END:"transitionend",XR_END:"end"},z="div",Ot="button";var Vt;(function(n){n[n.LEFT=0]="LEFT",n[n.MIDDLE=1]="MIDDLE",n[n.RIGHT=2]="RIGHT"})(Vt||(Vt={}));const W={GRAB:"grab",GRABBING:"grabbing",NONE:""},Jt=["LEFT","UP","RIGHT","DOWN"];var Rt;(function(n){n[n.LEFT=37]="LEFT",n[n.UP=38]="UP",n[n.RIGHT=39]="RIGHT",n[n.DOWN=40]="DOWN"})(Rt||(Rt={}));const Vs=32,Te={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"},zs=" ",Qt=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","webkitCancelFullScreen","mozRequestFullScreen","msRequestFullscreen"],Gs=["fullscreenElement","webkitFullscreenElement","webkitCurrentFullScreenElement","mozFullScreenElement","msFullscreenElement"],Hs=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],Ct=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],X={CTX_LOST:"view360-ctx-lost",IN_VR:"view360-vr-presenting",HOTSPOT_CONTAINER:"view360-hotspots",HOTSPOT:"view360-hotspot",HOTSPOT_VISIBLE:"view360-hotspot-visible"},O={READY:"ready",LOAD_START:"loadStart",LOAD:"load",PROJECTION_CHANGE:"projectionChange",RESIZE:"resize",BEFORE_RENDER:"beforeRender",RENDER:"render",VIEW_CHANGE:"viewChange",STATIC_CLICK:"staticClick",VR_START:"vrStart",VR_END:"vrEnd"},ks={EASE_OUT_CUBIC:n=>1-Math.pow(1-n,3)};var wt;const ye={ANIMATION_END:"animationEnd"},Ws={UPDATE:"update"},d={INPUT_START:"inputStart",CHANGE:"change",INPUT_END:"inputEnd",ENABLE:"enable",DISABLE:"disable",STATIC_CLICK:"staticClick"},S=Math.PI/180,Z=180/Math.PI,pt=ks.EASE_OUT_CUBIC,gt=300,Lt={min:-1/0,max:1/0},be={min:-90,max:90},Ys={min:.6,max:10};var te;(function(n){n[n.ZERO=0]="ZERO",n[n.CW_90=1]="CW_90",n[n.CCW_90=2]="CCW_90",n[n.CW_180=3]="CW_180"})(te||(te={}));const $="view360videotimechange",xt="http://www.w3.org/2000/svg",ee="immersive-vr",se="local",ie=(wt=Number.EPSILON)!==null&&wt!==void 0?wt:2220446049250313e-31,Ht=n=>typeof n=="string",Xs=n=>!!n&&n.nodeType===Node.ELEMENT_NODE,V=(n,t=z)=>{const e=document.createElement(t);return e.classList.add(n),e},Re=(n,t)=>{let e=null;if(Ht(n)){const i=(t||document).querySelector(n);if(!i)return null;e=i}else Xs(n)&&(e=n);return e},Ks=(n,t)=>{const e=Re(n,t);if(!e)throw Ht(n)?new H(U.MESSAGES.ELEMENT_NOT_FOUND(n),U.CODES.ELEMENT_NOT_FOUND):new H(U.MESSAGES.WRONG_TYPE(n,["HTMLElement","string"]),U.CODES.WRONG_TYPE);return e},js=(n,t)=>{const e=n.querySelector(t);if(!e)throw new H(U.MESSAGES.CANVAS_NOT_FOUND,U.CODES.CANVAS_NOT_FOUND);return e},N=(n,t,e)=>Math.max(Math.min(n,e),t),Ce=(n,t,e)=>n*(1-e)+t*e,it=(n,t,e)=>{const s=Math.abs(e-t);if(n<t){const i=(t-n)%s;n=e-i}else if(n>e){const i=(n-e)%s;n=t+i}return n},qs=(n,t)=>{for(let e=0;e<n.length;e++)if(t(n[e]))return e;return-1},P=n=>typeof n=="object"?n:{},yt=(n,t)=>Math.atan(Math.tan(n*.5)/t)*2,dt=()=>{if(!document)return!1;for(const n of Gs)if(document[n])return!0;return!1},Oe=()=>window.isSecureContext&&!!DeviceMotionEvent&&"requestPermission"in DeviceMotionEvent,$s=(n,t)=>{const e=Math.tan(S*n*.5),s=Math.tan(S*t*.5);return e/s},ne=(n,t,e,s)=>{le(n);const i=.01,r=N(e,-90+i,90-i);return ue(n,n,t*S),ce(n,n,r*S),_e(n,n,s*S),n},Le=n=>{const t=n[0],e=n[1],s=n[2],i=n[3],r=t*t,o=e*e,a=s*s,h=i*i,l=r+o+a+h,c=t*i-e*s;let _,E;if(c>.499995*l)_=Math.PI/2,E=2*Math.atan2(e,t);else if(c<-.499995*l)_=-Math.PI/2,E=-2*Math.atan2(e,t);else{const f=L(0,0,1),v=L(0,1,0);F(f,f,n),F(v,v,n);const T=Math.sqrt(f[0]*f[0]+f[2]*f[2]);_=Math.atan2(-f[1],T),E=Math.atan2(f[0],f[2])}return{pitch:N(_*Z,-90,90),yaw:it(E*Z,0,360)}};class Et{get val(){return this._val}get start(){return this._start}get end(){return this._end}get progress(){return this._progress}get activated(){return this._activated}get duration(){return this._duration}set duration(t){this._duration=t}get loop(){return this._loop}set loop(t){this._loop=t}get range(){return this._range}get easing(){return this._easing}set easing(t){this._easing=t}constructor({duration:t=gt,loop:e=!1,range:s={min:0,max:1},easing:i=pt}={}){this._duration=t,this._loop=e,this._range=s,this._easing=i,this._activated=!1,this.reset(0)}update(t){if(!this._activated)return this._val=this._end,0;const e=this._start,s=this._end,i=this._duration,r=this._val,o=this._loop,a=this._progress+t/i;this._progress=o?it(a,0,1):N(a,0,1);const h=this._easing(this._progress);return this._val=Ce(e,s,h),!o&&this._progress>=1&&(this._activated=!1),this._val-r}reset(t){const e=this._range,s=N(t,e.min,e.max);this._start=s,this._end=s,this._val=s,this._progress=0,this._activated=!1}add(t){const e=this._range;this._start=N(this._start+t,e.min,e.max),this._end=N(this._end+t,e.min,e.max),this._val=N(this._val+t,e.min,e.max)}setNewEndByDelta(t){const e=this._range;this._start=this._val,this._end=N(this._end+t,e.min,e.max),this._progress=0,this._activated=!0}setRange(t,e){this._start=N(this._start,t,e),this._end=N(this._end,t,e),this._range={min:t,max:e}}}class Zs{get duration(){return this._motion.duration}set duration(t){this._motion.duration=t}get easing(){return this._motion.easing}set easing(t){this._motion.easing=t}constructor(t,e,s,{duration:i=gt,easing:r=pt}={}){this._camera=t,this._motion=new Et({duration:i,easing:r,range:{min:0,max:1}}),this._from=e,this._to=s,this._finishPromise=new Promise(o=>{this._finish=o}),this._motion.setNewEndByDelta(1)}getFinishPromise(){return this._finishPromise}update(t){const e=this._camera,s=this._from,i=this._to,r=this._motion;r.update(t);const o=r.val,a=G(),h=Ce(s.zoom,i.zoom,o);vt(a,s.rotation,i.rotation,o),e.rotate(a,h),o>=1&&this._finish()}}class Js extends x{get aspect(){return this._aspect}get changed(){return this._changed}get yawRange(){return this._initialYawRange}set yawRange(t){this._initialYawRange=t}get pitchRange(){return this._initialPitchRange}set pitchRange(t){this._initialPitchRange=t}get zoomRange(){return this._initialZoomRange}set zoomRange(t){this._initialZoomRange=t}constructor({initialYaw:t,initialPitch:e,initialZoom:s,yawRange:i,pitchRange:r,zoomRange:o,fov:a}){super(),this.yaw=t,this.pitch=e,this.zoom=s,this.rollOffset=0,this.initialYaw=t,this.initialPitch=e,this.initialZoom=s,this.position=B(),this.animation=null,this._up=L(0,1,0),this._aspect=1,this._initialYawRange=i,this._initialPitchRange=r,this._initialZoomRange=o,this._yawRange=i,this._pitchRange=r,this._zoomRange=o,this.quaternion=G(),this._updateQuaternion(),this.viewMatrix=ft(),this.projectionMatrix=ft(),this.fov=a,this._maxRenderHeight=-1}destroy(){this.off()}resize(t,e){const s=this._aspect;this._aspect=t/e,this._aspect!==s&&this.updateMatrix()}lookAt({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom}){const i=ut(this.quaternion),r=this.zoom;this.yaw=it(t,0,360),this.pitch=N(e,-90,90),this.zoom=s,this._updateQuaternion();const o=Math.abs(s-r);(!Zt(this.quaternion,i)||o>=ie*10)&&this.updateMatrix()}rotate(t,e=this.zoom){const s=tt(G(),t),i=Zt(this.quaternion,s);ms(this.quaternion,s);const r=this.zoom,{yaw:o,pitch:a}=Le(s);this.yaw=o,this.pitch=a,this.zoom=e;const h=Math.abs(e-r);(!i||h>=ie*10)&&this.updateMatrix()}animateTo({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom,duration:i=0,easing:r=pt}={}){return M(this,void 0,void 0,function*(){if(this.yaw===t&&this.pitch===e&&this.zoom===s)return;const o={rotation:ut(this.quaternion),zoom:this.zoom},a={rotation:ne(G(),t,e,this.rollOffset),zoom:s},h=new Zs(this,o,a,{duration:i,easing:r}),l=h.getFinishPromise();return this.animation=h,l.then(()=>{this.animation=null,this.trigger(ye.ANIMATION_END,{animation:h})}),l})}restrictYawRange(t,e){this._yawRange={min:t,max:e}}restrictPitchRange(t,e){this._pitchRange={min:t,max:e}}restrictZoomRange(t,e){this._zoomRange={min:t,max:e}}restrictRenderHeight(t){this._maxRenderHeight=t}resetRange(){this._yawRange=this._initialYawRange,this._pitchRange=this._initialPitchRange,this._zoomRange=this._initialZoomRange,this._maxRenderHeight=-1}getYawRange(t){const e=this._yawRange,s=this._maxRenderHeight;if(!e)return Lt;const i=this.getHorizontalFov(t)*.5;let r=e.min,o=e.max;if(s>0){const a=yt(i*S,this._aspect),h=s*.5,l=Math.tan(a),c=Math.sqrt((1+h*h)/(1+l*l)),_=Math.atan(Math.tan(i*S)*c)*Z;r=e.min+_,o=e.max-_}return r>o&&(r=0,o=0),{min:r,max:o}}getPitchRange(t){const e=this._pitchRange,s=this._maxRenderHeight;if(!e)return be;let i=e.min,r=e.max;if(s>0){const o=this.getVerticalFov(t)*.5;i=e.min+o,r=e.max-o}return i>r&&(i=0,r=0),{min:Math.max(i,-90),max:Math.min(r,90)}}getZoomRange(){var t;const e=(t=this._zoomRange)!==null&&t!==void 0?t:Ys,s=this.getHorizontalFov(e.max),i=this.getHorizontalFov(e.min),r=this.getHorizontalFov(this.zoom);return{min:Math.max(s,1),max:Math.min(i,180),current:r}}getHorizontalFov(t=this.zoom){return this._getZoomedHorizontalFov(t)*Z}getVerticalFov(t=this.zoom){const e=this._aspect,s=this._getZoomedHorizontalFov(t);return yt(s,e)*Z}fovToZoom(t){const e=this.fov,s=Math.tan(S*e*.5),i=Math.tan(S*t*.5);return s/i}updateMatrix(){const t=this._up,e=this._aspect,s=this.viewMatrix,i=this.projectionMatrix,r=this.position,o=this.quaternion,a=B(),h=L(0,0,-1);F(h,h,o),F(a,t,o);const l=this._getZoomedHorizontalFov(),c=yt(l,e);es(s,r,h,a),ts(i,c,e,.1,100),this._changed=!0}onFrameRender(){this._changed=!1}_updateQuaternion(){ne(this.quaternion,this.yaw,this.pitch,this.rollOffset)}_getZoomedHorizontalFov(t=this.zoom){return 2*Math.atan(Math.tan(S*this.fov*.5)/t)}}class Ie extends x{constructor(){super(),this._onMouseDown=t=>{const e=this._el;!e||t.button!==Vt.LEFT||(t.preventDefault(),e.focus?e.focus():window.focus(),this._prevPos[0]=t.clientX,this._prevPos[1]=t.clientY,window.addEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.addEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}))},this._onMouseMove=t=>{t.preventDefault();const e=t.clientX,s=t.clientY,i=this._prevPos,r=e-i[0],o=s-i[1];this.trigger(d.CHANGE,{delta:{x:r,y:o},isTouch:!1,isKeyboard:!1}),i[0]=e,i[1]=s},this._onMouseUp=()=>{this._prevPos[0]=0,this._prevPos[1]=0,window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1})},this._el=null,this._prevPos=[0,0]}enable(t){this._el||(t.addEventListener(u.MOUSE_DOWN,this._onMouseDown),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.MOUSE_DOWN,this._onMouseDown),window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this._el=null)}}class Ae extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onTouchStart=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0];this._isFirstTouch=!0,this._prevPos[0]=e.clientX,this._prevPos[1]=e.clientY,this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1})},this._onTouchMove=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0],s=this._scrollable,i=this._prevPos,r=e.clientX,o=e.clientY,a=r-i[0],h=o-i[1];if(this._isFirstTouch){if(s&&!dt()&&Math.abs(h)>Math.abs(a)){this._scrolling=!0;return}this._isFirstTouch=!1}t.cancelable!==!1&&t.preventDefault(),this.trigger(d.CHANGE,{delta:{x:a,y:h},isTouch:!0,isKeyboard:!1}),i[0]=r,i[1]=o},this._onTouchEnd=t=>{if(t.touches.length!==0)return;const e=t.touches[0],s=this._prevPos;e?(s[0]=e.clientX,s[1]=e.clientY):(s[0]=0,s[1]=0,this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:this._scrolling})),t.cancelable!==!1&&t.preventDefault(),this._scrolling=!1},this._el=null,this._prevPos=[0,0],this._isFirstTouch=!1,this._scrolling=!1,this._scrollable=!1}enable(t){this._el||(t.addEventListener(u.TOUCH_START,this._onTouchStart,{passive:!1}),t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_START,this._onTouchStart),t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class Qs extends x{get active(){const t=this._pressed;return t.LEFT||t.UP||t.RIGHT||t.DOWN}constructor(){super(),this._onKeyDown=t=>{if(t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD)return;this._updateKeyPress(t,!0);const e=this._getPressedKeyCount();e<=0||(t.preventDefault(),e===1&&!t.repeat&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!0}))},this._onKeyUp=t=>{t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD||(this._updateKeyPress(t,!1),this._getPressedKeyCount()>0)||this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!0,scrolling:!1})},this._el=null,this._clearPressedKeys()}enable(t){this._el||(t.addEventListener(u.KEY_DOWN,this._onKeyDown),t.addEventListener(u.KEY_UP,this._onKeyUp),this._el=t,this._clearPressedKeys())}disable(){const t=this._el;t&&(t.removeEventListener(u.KEY_DOWN,this._onKeyDown),t.removeEventListener(u.KEY_UP,this._onKeyUp),this._el=null,this._clearPressedKeys())}update(){const t=this._getDeltaByPressedKeys();(t.x!==0||t.y!==0)&&this.trigger(d.CHANGE,{delta:t,isTouch:!1,isKeyboard:!0})}_clearPressedKeys(){this._pressed=Jt.reduce((t,e)=>Object.assign(Object.assign({},t),{[e]:!1}),{})}_updateKeyPress(t,e){const s=this._pressed,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];i&&(s[i]=e)}_getPressedKeyCount(){return Jt.filter(t=>this._pressed[t]).length}_getDeltaByPressedKeys(){const t=this._pressed;let e=0,s=0;return t.LEFT&&(e+=1),t.RIGHT&&(e-=1),t.UP&&(s+=1),t.DOWN&&(s-=1),{x:e,y:s}}}class ti extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._keyboardInput.active||this._xMotion.activated||this._yMotion.activated}get yaw(){return this._xMotion}get pitch(){return this._yMotion}get scrollable(){return this._touchInput.scrollable}set scrollable(t){this._touchInput.scrollable=t}get pointerScale(){return this._pointerScale}set pointerScale(t){this._pointerScale=t}get keyboardScale(){return this._keyboardScale}set keyboardScale(t){this._keyboardScale=t}get duration(){return this._duration}set duration(t){this._duration=t,this._xMotion.duration=t,this._yMotion.duration=t}get easing(){return this._easing}set easing(t){this._easing=t,this._xMotion.easing=t,this._yMotion.easing=t}get disablePitch(){return this._disablePitch}set disablePitch(t){this._disablePitch=t}get disableYaw(){return this._disableYaw}set disableYaw(t){this._disableYaw=t}get disableKeyboard(){return this._disableKeyboard}set disableKeyboard(t){this._disableKeyboard=t}constructor(t,e,{duration:s=gt,easing:i=pt,pointerScale:r=[1,1],keyboardScale:o=[1,1],disablePitch:a=!1,disableYaw:h=!1,disableKeyboard:l=!1}={}){super(),this._onInputStart=c=>{this._changedWhileDragging=!1,this.trigger(d.INPUT_START,Object.assign(Object.assign({},c),{inputType:"rotate"}))},this._onChange=c=>{const _=c.delta,E=1/this._zoomScale,f=this._screenScale,v=this._keyboardScale,T=this._pointerScale;let p;c.isKeyboard?p=[v[0]*E,v[1]*E]:p=[T[0]*f[0]*E,T[1]*f[1]*E];const b=_.x*p[0],C=_.y*p[1];this._xMotion.setNewEndByDelta(b),this._yMotion.setNewEndByDelta(C),this._changedWhileDragging=!0},this._onInputEnd=c=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},c),{inputType:"rotate"})),!this._changedWhileDragging&&!c.isKeyboard&&!c.scrolling&&this.trigger(d.STATIC_CLICK,{isTouch:c.isTouch}),this._changedWhileDragging=!1},this._controlEl=t,this._pointerScale=r,this._keyboardScale=o,this._duration=s,this._easing=i,this._disablePitch=a,this._disableYaw=h,this._disableKeyboard=l,this._enableBlocked=e,this._mouseInput=new Ie,this._touchInput=new Ae,this._keyboardInput=new Qs,this._xMotion=new Et({duration:s,range:Lt,easing:i}),this._yMotion=new Et({duration:s,range:be,easing:i}),this._screenScale=[1,1],this._zoomScale=1,this._enabled=!1,this._changedWhileDragging=!1,this._bindInputs()}destroy(){this.disable(),this._mouseInput.off(),this._touchInput.off(),this._keyboardInput.off(),this.off(),this._changedWhileDragging=!1}update(t){if(!this._enabled)return;const e=this._xMotion,s=this._yMotion,i=this._keyboardInput;this._disableKeyboard||i.update(),this._disablePitch||s.update(t),this._disableYaw||e.update(t)}updateRange(t,e){const s=t.getYawRange(e),i=t.getPitchRange(e);this._xMotion.setRange(s.min,s.max),this._yMotion.setRange(i.min,i.max)}setZoomScale(t){this._zoomScale=t}resize(t,e,s,i){const r=yt(t*S,e)*Z;this._screenScale[0]=t/s,this._screenScale[1]=r/i}enable(){if(this._enabled)return;const t=this._controlEl;this._mouseInput.enable(t),this._touchInput.enable(t),this._keyboardInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!0})}disable(){this._enabled&&(this._mouseInput.disable(),this._touchInput.disable(),this._keyboardInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!0}))}sync(t){this.updateRange(t,t.zoom),this._xMotion.reset(t.yaw),this._yMotion.reset(t.pitch)}_bindInputs(){const t=this._mouseInput,e=this._touchInput,s=this._keyboardInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd),s.on(d.INPUT_START,this._onInputStart),s.on(d.CHANGE,this._onChange),s.on(d.INPUT_END,this._onInputEnd)}}class ei extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onWheel=t=>{const e=this._scrollable;if(t.deltaY===0||e)return;t.preventDefault(),t.stopPropagation(),this._inputTimer<0?this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}):this._clearTimer();const s=this._baseScale*t.deltaY;this.trigger(d.CHANGE,{delta:s,isTouch:!1,isKeyboard:!1}),this._inputTimer=window.setTimeout(()=>{this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1}),this._inputTimer=-1},gt)},this._el=null,this._baseScale=.04,this._scrollable=!1,this._inputTimer=-1}enable(t){this._el||(t.addEventListener(u.WHEEL,this._onWheel,{passive:!1,capture:!1}),this._el=t,this._clearTimer())}disable(){const t=this._el;t&&(t.removeEventListener(u.WHEEL,this._onWheel,!1),this._el=null,this._clearTimer())}_clearTimer(){window.clearTimeout(this._inputTimer),this._inputTimer=-1}}class si extends x{constructor(){super(),this._onTouchMove=t=>{const e=t.touches;if(e.length!==2||!t.cancelable)return;t.preventDefault(),t.stopPropagation();const s=this._prevDistance,i=[e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY],r=Math.sqrt(i[0]*i[0]+i[1]*i[1])*this._baseScale,o=this._isFirstTouch?0:r-s;this._isFirstTouch&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1}),this._prevDistance=r,this._isFirstTouch=!1,this.trigger(d.CHANGE,{delta:o,isTouch:!0,isKeyboard:!1})},this._onTouchEnd=t=>{t.touches.length===0&&(this._isFirstTouch||this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:!1}),this._prevDistance=-1,this._isFirstTouch=!0)},this._el=null,this._baseScale=-.2,this._prevDistance=-1,this._isFirstTouch=!0}enable(t){this._el||(t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1,capture:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t,this._prevDistance=-1,this._isFirstTouch=!0)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove,!1),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class ii extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._motion.activated}get zoom(){return this._motion.val}get scrollable(){return this._wheelInput.scrollable}set scrollable(t){this._wheelInput.scrollable=t}get range(){return this._motion.range}get scale(){return this._scale}set scale(t){this._scale=t}get duration(){return this._motion.duration}get easing(){return this._motion.easing}constructor(t,e,{scale:s=1,duration:i=gt,easing:r=pt}={}){super(),this._onInputStart=o=>{this.trigger(d.INPUT_START,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._onChange=({delta:o})=>{const a=this._scale,h=o*a;this._motion.setNewEndByDelta(h)},this._onInputEnd=o=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._scale=s,this._controlEl=t,this._enableBlocked=e,this._wheelInput=new ei,this._pinchInput=new si,this._motion=new Et({duration:i,easing:r,range:Lt}),this._enabled=!1,this._bindInputs()}destroy(){this.disable(),this._wheelInput.off(),this._pinchInput.off(),this.off()}update(t){if(!this._enabled)return;this._motion.update(t)}enable(){if(this._enabled)return;const t=this._controlEl;this._wheelInput.enable(t),this._pinchInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1})}disable(){this._enabled&&(this._wheelInput.disable(),this._pinchInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!1}))}sync(t){const e=this._motion,s=t.getZoomRange();e.setRange(s.min,s.max),e.reset(s.current)}_bindInputs(){const t=this._wheelInput,e=this._pinchInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd)}}const D={PITCH_DELTA:1,YAW_DELTA_BY_ROLL:2,YAW_DELTA_BY_YAW:3};D[D.PITCH_DELTA]={targetAxis:[0,1,0],meshPoint:[0,0,1]};D[D.YAW_DELTA_BY_ROLL]={targetAxis:[0,1,0],meshPoint:[1,0,0]};D[D.YAW_DELTA_BY_YAW]={targetAxis:[1,0,0],meshPoint:[0,0,1]};class ni extends x{get enabled(){return this._enabled}get orientationUpdated(){return this._orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}constructor(){super(),this._onDeviceOrientation=t=>{const e=this._orientation,{alpha:s,beta:i,gamma:r}=t;s==null||i==null||r==null||(e.alpha=s,e.beta=i,e.gamma=r,this._orientationUpdated=!0,this._needsCalibrate&&(this._needsCalibrate=!1,this._calibrateSensor()))},this._updateScreenOrientation=()=>{window.screen&&window.screen.orientation&&window.screen.orientation.angle!==void 0?this._screenOrientation=screen.orientation.angle:window.orientation!==void 0?this._screenOrientation=window.orientation>=0?window.orientation:360+window.orientation:this._screenOrientation=0},this.quaternion=G(),this._orientation={alpha:0,beta:90,gamma:0},this._yawOrigin=0,this._yawOffset=0,this._orientationUpdated=!1,this._screenOrientation=0,this._needsCalibrate=!0,this._enabled=!1}enable(){this._enabled||(window.addEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.addEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._updateScreenOrientation(),this._orientationUpdated=!1,this._needsCalibrate=!0,this._enabled=!0)}disable(){this._enabled&&(window.removeEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.removeEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._enabled=!1)}update(){this._updateRotation(),this._orientationUpdated=!1}collectDelta(){if(!this._orientationUpdated)return{pitch:0,yaw:0};const t=ut(this.quaternion);return this._updateRotation(),this._orientationUpdated=!1,this._toEulerDelta(t,this.quaternion)}setInitialRotation(t){this._yawOrigin=t}_calibrateSensor(){const t=this._yawOrigin,e=this.quaternion;this._yawOffset=0,this._updateRotation();const{yaw:s}=Le(e);this._yawOffset=s-t,this._updateRotation(),this._needsCalibrate=!1}_updateRotation(){const t=this.quaternion,{alpha:e,beta:s,gamma:i}=this._orientation;le(t),ue(t,t,(e-this._yawOffset)*S),ce(t,t,s*S),_e(t,t,-i*S);const r=G(),o=-this._screenOrientation*.5*S,a=Es(-Math.sqrt(.5),0,0,Math.sqrt(.5));ps(r,0,Math.sin(o),0,Math.cos(o)),$t(t,t,r),$t(t,t,a),tt(t,t)}_toEulerDelta(t,e){return{yaw:this._getDeltaYaw(t,e),pitch:this._getDeltaPitch(t,e)}}_getDeltaYaw(t,e){const s=this._getRotationDelta(t,e,D.YAW_DELTA_BY_YAW);return this._getRotationDelta(t,e,D.YAW_DELTA_BY_ROLL)*Math.sin(this._extractPitchFromQuat(e))+s}_getDeltaPitch(t,e){return this._getRotationDelta(t,e,D.PITCH_DELTA)}_getRotationDelta(t,e,s){const i=L(D[s].targetAxis[0],D[s].targetAxis[1],D[s].targetAxis[2]),r=D[s].meshPoint,o=ut(t),a=ut(e);tt(o,o),tt(a,a);let h=L(0,0,1),l=L(0,0,1);F(h,h,o),F(l,l,a),F(i,i,a);const _=he(i,Q(B(),h,l))>0?1:-1,E=L(r[0],r[1],r[2]);let f;s!==D.YAW_DELTA_BY_YAW?f=L(0,_,0):f=L(_,0,0),F(E,E,a),F(f,f,a);const v=E,T=f,p=B();Q(p,v,T),ae(p,p);const b=p[0],C=p[1],y=p[2];l=L(r[0],r[1],r[2]),F(l,l,a),h=L(r[0],r[1],r[2]),F(h,h,o);let g=Math.abs(h[0]*b+h[1]*C+h[2]*y);const m=B();is(m,h,ns(B(),p,g));let R=(m[0]*l[0]+m[1]*l[1]+m[2]*l[2])/(Ut(m)*Ut(l));R>1&&(R=1);const It=Math.acos(R),rt=Q(B(),l,m);g=b*rt[0]+C*rt[1]+y*rt[2];let ot;return s!==D.YAW_DELTA_BY_YAW?ot=g>0?1:-1:ot=g<0?1:-1,It*ot*_*Z}_extractPitchFromQuat(t){const e=L(0,0,1);return F(e,e,t),-1*Math.atan2(e[1],Math.sqrt(Math.pow(e[0],2)+Math.pow(e[2],2)))}}class mt extends x{get enabled(){return this._input.enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._input.enabled&&this._input.orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}static isAvailable(){return M(this,void 0,void 0,function*(){if(!DeviceMotionEvent)return!1;let t;const e=()=>new Promise(i=>{t=r=>{i(r.rotationRate&&r.rotationRate.alpha!=null)},window.addEventListener(u.DEVICE_MOTION,t)}),s=()=>new Promise(i=>{setTimeout(()=>i(!1),1e3)});return Promise.race([e(),s()]).then(i=>(window.removeEventListener(u.DEVICE_MOTION,t),i))})}static requestSensorPermission(){return M(this,void 0,void 0,function*(){return Oe()?DeviceMotionEvent.requestPermission().then(t=>t==="granted").catch(()=>!1):!0})}constructor(t,{ignoreRoll:e=!0}={}){super(),this._enableBlocked=t,this._ignoreRoll=e,this._input=new ni}destroy(){this.disable(),this._input.off(),this.off()}update(t,e,s,i){this._ignoreRoll?this._updateYawPitch(t,e,s,i):this._updateQuaternion(t,i)}enable(){this._input.enabled||(this._input.enable(),this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1}))}disable(){this._input.enabled&&(this._input.disable(),this.trigger(d.DISABLE,{updateCursor:!1}))}sync(){}_updateYawPitch(t,e,s,i){const r=this._input;if(!r.enabled)return;const{yaw:o,pitch:a}=r.collectDelta();e.add(o),s.add(a),t.lookAt({yaw:e.val,pitch:s.val,zoom:i})}_updateQuaternion(t,e){const s=this._input;s.enabled&&(s.update(),t.rotate(s.quaternion,e))}}class ri{get useGrabCursor(){return this._useGrabCursor}set useGrabCursor(t){t!==this._useGrabCursor&&(this._useGrabCursor=t,t&&this._enabled?this._setCursor(W.GRAB):t||this._setCursor(W.NONE))}get disableContextMenu(){return this._disableContextMenu}set disableContextMenu(t){t!==this._disableContextMenu&&(this._disableContextMenu=t,t&&this._enabled?this._blockContextMenu():t||this._restoreContextMenu())}get scrollable(){return this._rotateControl.scrollable}set scrollable(t){this._rotateControl.scrollable=t}get wheelScrollable(){return this._zoomControl.scrollable}set wheelScrollable(t){this._zoomControl.scrollable=t}get ignoreZoomScale(){return this._ignoreZoomScale}set ignoreZoomScale(t){this._ignoreZoomScale=t}get enabled(){return this._enabled}get rotate(){return this._rotateControl}get zoom(){return this._zoomControl}get gyro(){return this._gyroControl}get animating(){return this._rotateControl.animating||this._zoomControl.animating||this._gyroControl.animating}constructor(t,e,{useGrabCursor:s,scrollable:i,wheelScrollable:r,disableContextMenu:o,rotate:a,zoom:h,gyro:l}){this._preventContextMenu=c=>{c.preventDefault()},this._onInputStart=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRABBING)},this._onInputEnd=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRAB)},this._onEnable=({control:c,updateCursor:_})=>{_&&this._useGrabCursor&&this._setCursor(W.GRAB),c.sync(this._camera)},this._onDisable=({updateCursor:c})=>{c&&this._setCursor(W.NONE)},this._onCameraAnimationEnd=({animation:c})=>{c.getFinishPromise().then(()=>{this.sync()})},this._useGrabCursor=s,this._disableContextMenu=o,this._camera=e,this._controlEl=t,this._ignoreZoomScale=!1,this._enabled=!1,this._rotateControl=new ti(t,!a,P(a)),this._zoomControl=new ii(t,!h,P(h)),this._gyroControl=new mt(!l,P(l)),this._rotateControl.scrollable=i,this._zoomControl.scrollable=r,this._bindEvents()}destroy(){this.disable(),this._rotateControl.destroy(),this._zoomControl.destroy(),this._setCursor(W.NONE)}resize(t,e){const s=this._camera;this._rotateControl.resize(s.fov,s.aspect,t,e)}enable(){return M(this,void 0,void 0,function*(){this._enabled||(this._rotateControl.enableBlocked||this._rotateControl.enable(),this._zoomControl.enableBlocked||this._zoomControl.enable(),this._gyroControl.enableBlocked||(yield mt.isAvailable())&&this._gyroControl.enable(),this.sync(),this._disableContextMenu&&this._blockContextMenu(),this._enabled=!0)})}disable(){this._enabled&&(this._rotateControl.disable(),this._zoomControl.disable(),this._gyroControl.disable(),this._restoreContextMenu(),this._enabled=!1)}update(t){const e=this._camera,s=this._rotateControl,i=this._zoomControl,r=this._gyroControl;i.update(t);const o=$s(e.fov,i.zoom),a=this._ignoreZoomScale?1:Math.max(o,1);s.setZoomScale(a),s.updateRange(e,o),s.update(t);const h=s.yaw,l=s.pitch;r.enabled?r.update(e,h,l,o):e.lookAt({yaw:h.val,pitch:l.val,zoom:o})}sync(){const t=this._camera;this._zoomControl.sync(t),this._rotateControl.sync(t)}_blockContextMenu(){this._controlEl.addEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_restoreContextMenu(){this._controlEl.removeEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_setCursor(t){if(!this._useGrabCursor&&t!==W.NONE)return;const e=this._controlEl;e.style.cursor=t}_bindEvents(){const t=this._rotateControl,e=this._zoomControl;t.on(d.INPUT_START,this._onInputStart),t.on(d.INPUT_END,this._onInputEnd),t.on(d.ENABLE,this._onEnable),t.on(d.DISABLE,this._onDisable),e.on(d.ENABLE,this._onEnable),e.on(d.DISABLE,this._onDisable),this._camera.on(ye.ANIMATION_END,this._onCameraAnimationEnd)}}class Se{constructor({width:t,height:e,flipY:s}){this.width=t,this.height=e,this.flipY=s,this.wrapS=WebGLRenderingContext.CLAMP_TO_EDGE,this.wrapT=WebGLRenderingContext.CLAMP_TO_EDGE}destroy(){}isVideo(){return!1}isCube(){return!1}}class Ne extends Se{constructor({source:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.source=t}}class oi extends Ne{destroy(){const t=this.source;t.pause(),t.removeAttribute("src"),t.load()}isVideo(){return!0}isPaused(){const t=this.source;return t.paused||t.ended||t.readyState<=2}hasAudio(){const t=this.source;return t.audioTracks?t.audioTracks.length>0:t.webkitAudioDecodedByteCount!=null?t.webkitAudioDecodedByteCount>0:t.mozHasAudio!=null?t.mozHasAudio:!0}}class ai extends Se{constructor({sources:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.sources=t}isCube(){return!0}}class hi{constructor(){this._loadChecker=new Us}load(t,e){return M(this,void 0,void 0,function*(){if(e)return this.loadVideo(t,P(e));if(Array.isArray(t)&&t.length>1)return this.loadCubeImage(t);{const s=Array.isArray(t)?t[0]:t;return this.loadImage(s)}})}loadImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{const i=e[0];s(new Ne({source:i,width:i.naturalWidth,height:i.naturalHeight,flipY:!0}))})})}loadCubeImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{s(new ai({sources:e,width:e[0].naturalWidth,height:e[0].naturalHeight,flipY:!1}))})})}loadVideo(t,e){return M(this,void 0,void 0,function*(){const s=Object.assign({autoplay:!0,muted:!0,loop:!1,volume:1},e),i=this._toVideoElement(t,s);return this._load([i],r=>{const{autoplay:o,muted:a}=s;i.currentTime=0,o&&a&&i.play().catch(()=>{}),r(new oi({source:i,width:i.videoWidth,height:i.videoHeight,flipY:!0}))})})}_load(t,e){const s=this._loadChecker;return new Promise((i,r)=>{s.once("ready",o=>{o.errorCount>0||e(i)}),s.once("error",r),s.check(t)})}_toImageArray(t){return(Array.isArray(t)?t:[t]).map(s=>{if(Ht(s)){const i=new Image;return i.crossOrigin="anonymous",i.src=s,i}else return s})}_toVideoElement(t,{muted:e,loop:s,volume:i}){if(t instanceof HTMLVideoElement)return t;const r=document.createElement("video");return r.crossOrigin="anonymous",r.playsInline=!0,r.setAttribute("webkit-playsinline",""),r.muted=e,r.volume=i,r.loop=s,Array.isArray(t)?t.forEach(a=>this._appendSourceElement(r,a)):this._appendSourceElement(r,t),r.querySelectorAll("source").length>0&&r.readyState<1&&r.load(),r}_appendSourceElement(t,e){if(e instanceof HTMLSourceElement)return e;const s=document.createElement("source");s.src=e,t.appendChild(s)}}class li{constructor(t,e=window){this.maxDeltaTime=t,this._context=e,this._rafId=-1,this._rafTimer=-1,this._lastUpdateTime=-1}start(t){const e=this._context;if(!e||!t||this._rafId>=0||this._rafTimer>=0)return;const s=(i,r)=>{const o=Date.now(),a=Math.min(o-this._lastUpdateTime,this.maxDeltaTime*1e3);t(a,r),this._lastUpdateTime=o,this._rafId=e.requestAnimationFrame(s)};this._lastUpdateTime=Date.now(),this._rafId=e.requestAnimationFrame(s)}stop(){this._rafId>=0&&this._context.cancelAnimationFrame(this._rafId),this._rafTimer>=0&&clearTimeout(this._rafTimer),this._rafId=-1,this._rafTimer=-1}changeContext(t){this.stop(),this._context=t}}class ci{get useResizeObserver(){return this._useResizeObserver}get enabled(){return this._enabled}constructor(t,e){this._skipFirstResize=(()=>{let s=!0;return()=>{if(s){s=!1;return}this._onResize()}})(),this._useResizeObserver=t,this._enabled=!1,this._resizeObserver=null,this._onResize=e}enable(t){if(this._enabled&&this.disable(),this._useResizeObserver&&window.ResizeObserver){const e=t.getBoundingClientRect(),s=e.width!==0||e.height!==0,i=new ResizeObserver(s?this._skipFirstResize:this._onResize);i.observe(t),this._resizeObserver=i}else window.addEventListener(u.RESIZE,this._onResize);return this._enabled=!0,this}disable(){if(!this._enabled)return this;const t=this._resizeObserver;return t?(t.disconnect(),this._resizeObserver=null):window.removeEventListener(u.RESIZE,this._onResize),this._enabled=!1,this}}class ui{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get playing(){return this._enabled&&!this._interrupted}get delay(){return this._delay}set delay(t){this._delay=t}get delayOnMouseLeave(){return this._delayOnMouseLeave}set delayOnMouseLeave(t){this._delayOnMouseLeave=t}get speed(){return this._speed}set speed(t){this._speed=t}get pauseOnHover(){return this._pauseOnHover}set pauseOnHover(t){this._pauseOnHover=t}get canInterrupt(){return this._canInterrupt}set canInterrupt(t){this._canInterrupt=t}get disableOnInterrupt(){return this._disableOnInterrupt}set disableOnInterrupt(t){this._disableOnInterrupt=t}constructor(t,e,s){this._onInputStart=()=>{this._canInterrupt&&(this._interrupted=!0,this._clearTimeout())},this._onInputEnd=()=>{this._setUninterruptedAfterDelay(this._delay)},this._onGyroEnable=()=>{this.disable()},this._onMouseEnter=()=>{this._pauseOnHover&&(this._interrupted=!0,this._hovering=!0)},this._onMouseLeave=()=>{this._pauseOnHover&&(this._hovering=!1,this._setUninterruptedAfterDelay(this._delayOnMouseLeave))},this._camera=t.camera,this._control=t.control,this._element=e,this._enabled=!1,this._interrupted=!1,this._interruptionTimer=-1,this._hovering=!1;const{delay:i=2e3,delayOnMouseLeave:r=0,speed:o=1,pauseOnHover:a=!1,canInterrupt:h=!0,disableOnInterrupt:l=!1}=P(s);this._enableBlocked=!s,this._delay=i,this._delayOnMouseLeave=r,this._speed=o,this._pauseOnHover=a,this._canInterrupt=h,this._disableOnInterrupt=l}destroy(){this.disable()}update(t){if(!this._enabled)return;if(this._interrupted){this._disableOnInterrupt&&this.disable();return}const e=this._camera,s=-this._speed*t/100;e.yaw=it(e.yaw+s,0,360)}enable(){const t=this._control,e=this._element;this._enabled||t.gyro.enabled||(t.rotate.on(d.INPUT_START,this._onInputStart),t.rotate.on(d.INPUT_END,this._onInputEnd),t.zoom.on(d.INPUT_START,this._onInputStart),t.zoom.on(d.INPUT_END,this._onInputEnd),t.gyro.on(d.ENABLE,this._onGyroEnable),e.addEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!0,this._enableBlocked=!1)}enableAfterDelay(){this.enable(),this._interrupted=!0,this._setUninterruptedAfterDelay(this._delay)}disable(){if(!this._enabled)return;const t=this._control,e=this._element;t.rotate.off(d.INPUT_START,this._onInputStart),t.rotate.off(d.INPUT_END,this._onInputEnd),t.zoom.off(d.INPUT_START,this._onInputStart),t.zoom.off(d.INPUT_END,this._onInputEnd),t.gyro.off(d.ENABLE,this._onGyroEnable),e.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!1,this._interrupted=!1,this._hovering=!1,this._clearTimeout()}_setUninterruptedAfterDelay(t){this._hovering||(this._clearTimeout(),t>0?this._interruptionTimer=window.setTimeout(()=>{this._interrupted=!1,this._interruptionTimer=-1},t):(this._interrupted=!1,this._interruptionTimer=-1))}_clearTimeout(){this._interruptionTimer>=0&&(window.clearTimeout(this._interruptionTimer),this._interruptionTimer=-1)}}class _i extends x{constructor(t,e={}){super(),this.destroy=()=>{this.exit(),this.off()},this._onSessionEnd=()=>{this.exit(),this.trigger(O.VR_END)},this._xrSession=null,this._xrRefSpace=null,this._ctx=t,this._options=e}isAvailable(){return M(this,void 0,void 0,function*(){const t=window.navigator.xr;return t?t.isSessionSupported(ee).then(e=>e).catch(()=>!1):!1})}enter(){return M(this,void 0,void 0,function*(){const t=this._ctx,e=window.navigator.xr;if(!e)return;yield mt.requestSensorPermission();const s=Object.assign({requiredFeatures:[se]},this._options);yield t.makeXRCompatible();const i=yield e.requestSession(ee,s);t.bindXRLayer(i);const r=yield i.requestReferenceSpace(se);this._setSession(i,r),this.trigger(O.VR_START,{session:i})})}exit(){const t=this._xrSession;t&&t.end().catch(()=>{}),this._xrSession=null,this._xrRefSpace=null}canRender(t){const e=this._xrRefSpace;return e?!!t.getViewerPose(e):!1}getEyeParams(t){const e=t.session,s=t.getViewerPose(this._xrRefSpace);if(!s)return null;const i=e.renderState.baseLayer;return i?s.views.map(r=>{const o=i.getViewport(r),a=r.transform.inverse.matrix;return{viewport:o,vMatrix:a,pMatrix:r.projectionMatrix}}):null}_setSession(t,e){this._xrSession=t,this._xrRefSpace=e,t.addEventListener(u.XR_END,this._onSessionEnd)}}class Pt{constructor(t,e){this.element=t,this.position=e}}class di{constructor(t,e,{zoom:s=!1}){this._containerEl=Re(".".concat(X.HOTSPOT_CONTAINER),t),this._renderer=e,this._hotspots=[],this._zoom=s}refresh(){const t=this._containerEl;if(!t)return;const e=[].slice.apply(t.querySelectorAll(".".concat(X.HOTSPOT)));this._hotspots=e.map(s=>this._parseHotspot(s))}render(t){const e=this._hotspots,s=this._renderer.width*.5,i=this._renderer.height*.5,r=t.zoom,o="translate(-50%, -50%)",a=this._zoom?"scale(".concat(r,")"):"";e.forEach(h=>{const l=h.position,c=B();if(ss(c,l),qt(c,c,t.viewMatrix),qt(c,c,t.projectionMatrix),c[2]>1||c[2]<0){h.element.classList.remove(X.HOTSPOT_VISIBLE);return}const _=vs(c[0]*s+s,-c[1]*i+i);h.element.classList.add(X.HOTSPOT_VISIBLE),h.element.style.transform=[o,"translate(".concat(_[0],"px, ").concat(_[1],"px)"),a].join(" ")})}_parseHotspot(t){const e=t.dataset.yaw,s=t.dataset.pitch,i=t.dataset.position;if(e||s){const r=e?parseFloat(e):0,o=s?parseFloat(s):0,a=this._yawPitchToVec3(r,o);return new Pt(t,a)}else if(i){const r=i.split(" ").map(o=>parseFloat(o));if(r.length<3)throw new H(U.MESSAGES.INSUFFICIENT_ARGS(i,'hotspot attribute "data-position"'),U.CODES.INSUFFICIENT_ARGS);return new Pt(t,L(r[0],r[1],r[2]))}else{const r=L(0,0,-1);return new Pt(t,r)}}_yawPitchToVec3(t,e){const s=t*S,i=e*S,r=B();return r[1]=Math.sin(i),r[2]=Math.cos(i),r[0]=r[2]*Math.sin(-s),r[2]=-r[2]*Math.cos(-s),r}}class fi{get count(){return this.geometry.indicies.count}constructor(t,e,s){this.obj=t,this.geometry=e,this.buffers=s}}class Ei{get canvas(){return this._canvas}get maxTextureSize(){return this._maxTextureSize}get isWebGL2(){return this._isWebGL2}get supportVAO(){return this._isWebGL2||!!this._extensions.vao}get lost(){return this._contextLost}get debug(){return this._debug}constructor(t,e){this._onContextLost=()=>{this._canvas.classList.add(X.CTX_LOST),this._contextLost=!0},this._onContextRestore=()=>{this._canvas.classList.remove(X.CTX_LOST),this._contextLost=!1},this._canvas=t,this._contextLost=!1,this._debug=e,this._extensions={vao:null,loseContext:null}}init(){const t=this._canvas,{gl:e,isWebGL2:s}=this._getContext(t);this._gl=e,this._maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this._isWebGL2=s,this._isWebGL2||(this._extensions.vao=e.getExtension("OES_vertex_array_object")),this._extensions.loseContext=e.getExtension("WEBGL_lose_context"),t.addEventListener(u.CONTEXT_LOST,this._onContextLost),t.addEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}destroy(){const t=this._gl,e=this._canvas;t&&(t.bindBuffer(t.ARRAY_BUFFER,null),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),e.removeEventListener(u.CONTEXT_LOST,this._onContextLost),e.removeEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}forceLoseContext(){const t=this._extensions.loseContext;t&&t.loseContext()}forceRestoreContext(){const t=this._extensions.loseContext;t&&t.restoreContext()}clear(){const t=this._gl;t.clear(t.COLOR_BUFFER_BIT)}resize(){const t=this._gl;t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight)}viewport(t,e,s,i){this._gl.viewport(t,e,s,i)}createVAO(t,e){const s=this._createNativeVAO(),i=new fi(s,t,{indicies:this._createBuffer(),position:this._createBuffer(),uv:this._createBuffer()});return s&&(this._bindNativeVAO(s),this._supplyGeometryData(i,e),this._bindNativeVAO(null),this._unbindBuffers()),i}draw(t,e){const s=this._gl;t.obj?this._bindNativeVAO(t.obj):this._supplyGeometryData(t,e),s.drawElements(s.TRIANGLES,t.count,s.UNSIGNED_SHORT,0),t.obj?this._bindNativeVAO(null):this._unbindBuffers()}releaseVAO(t){t.obj&&this._deleteNativeVAO(t.obj),this._deleteBuffer(t.buffers.indicies),this._deleteBuffer(t.buffers.position),this._deleteBuffer(t.buffers.uv)}getUniformLocations(t,e){const s=this._gl,i=Object.keys(e).reduce((r,o)=>(r[o]=s.getUniformLocation(t,o),r),{});return Object.assign(Object.assign({},this._getCommonUniformLocations(t)),i)}updateCommonUniforms(t,e,s){const i=this._gl,r=s.uniformLocations,o=t.matrix,a=ft();oe(a,e.viewMatrix,o),i.uniformMatrix4fv(r.uMVMatrix,!1,a),i.uniformMatrix4fv(r.uPMatrix,!1,e.projectionMatrix)}updateVRUniforms(t,e,s,i){const r=this._gl,o=t.uniformLocations;r.uniformMatrix4fv(o.uMVMatrix,!1,e),r.uniformMatrix4fv(o.uPMatrix,!1,s),o.uEye&&r.uniform1f(o.uEye,i)}updateUniforms(t){const e=this._gl,s=t.uniforms,i=t.uniformLocations;for(const r in s){const o=s[r],a=i[r];o&&o.needsUpdate&&o.update(e,a,this._isWebGL2)}}releaseShaderResources(t){const e=this._gl,s=t.uniforms;for(const i in s){const r=s[i];r&&r.needsUpdate&&r.destroy(e)}e.deleteProgram(t.program)}useProgram(t){this._gl.useProgram(t.program)}createProgram(t,e){const s=this._gl,i=s.createProgram(),r=this._compileShader(s.VERTEX_SHADER,t),o=this._compileShader(s.FRAGMENT_SHADER,e);if(s.attachShader(i,r),s.attachShader(i,o),s.bindAttribLocation(i,0,"position"),s.bindAttribLocation(i,1,"uv"),s.linkProgram(i),this._debug&&!s.getProgramParameter(i,s.LINK_STATUS)){let a=null;throw s.getShaderParameter(r,s.COMPILE_STATUS)?s.getShaderParameter(o,s.COMPILE_STATUS)||(a=s.getShaderInfoLog(o)):a=s.getShaderInfoLog(r),new H(U.MESSAGES.FAILED_LINKING_PROGRAM(s.getProgramInfoLog(i),a),U.CODES.FAILED_LINKING_PROGRAM)}return s.deleteShader(r),s.deleteShader(o),i}createWebGLTexture(t){const e=this._gl,s=e.createTexture();if(e.bindTexture(e.TEXTURE_2D,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapS),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapT),!t.isVideo()&&this._isWebGL2){const i=e;i.texStorage2D(i.TEXTURE_2D,1,i.RGBA8,t.width,t.height)}return s}createWebGLCubeTexture(t,e){const s=this._gl,i=s.createTexture();if(s.bindTexture(s.TEXTURE_CUBE_MAP,i),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,t.wrapS),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,t.wrapT),this._isWebGL2){const r=s;r.texStorage2D(r.TEXTURE_CUBE_MAP,1,r.RGBA8,e,e)}return i}makeXRCompatible(){return M(this,void 0,void 0,function*(){const t=this._gl,e=t.getContextAttributes();e&&e.xrCompatible!==!0&&(yield t.makeXRCompatible())})}bindXRLayer(t){const e=this._gl,s=new XRWebGLLayer(t,e);t.updateRenderState({baseLayer:s})}bindXRFrame(t){const e=this._gl,i=t.session.renderState.baseLayer;e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer)}useDefaultFrameBuffer(){const t=this._gl;t.bindFramebuffer(t.FRAMEBUFFER,null)}_createBuffer(){return this._gl.createBuffer()}_deleteBuffer(t){return this._gl.deleteBuffer(t)}_createNativeVAO(){const t=this._gl;if(this._isWebGL2)return t.createVertexArray();{const e=this._extensions.vao;return(e==null?void 0:e.createVertexArrayOES())||null}}_bindNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.bindVertexArray(t);else{const s=this._extensions.vao;s==null||s.bindVertexArrayOES(t)}}_deleteNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.deleteVertexArray(t);else{const s=this._extensions.vao;s==null||s.deleteVertexArrayOES(t)}}_supplyGeometryData(t,e){const s=t.geometry;this._supplyIndiciesData(s.indicies,t.buffers.indicies),this._supplyAttributeData(s.vertices,e.program,"position",t.buffers.position),this._supplyAttributeData(s.uvs,e.program,"uv",t.buffers.uv)}_unbindBuffers(){const t=this._gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.bindBuffer(t.ARRAY_BUFFER,null)}_supplyIndiciesData(t,e){const s=this._gl;s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,e),s.bufferData(s.ELEMENT_ARRAY_BUFFER,t.data,s.STATIC_DRAW)}_supplyAttributeData(t,e,s,i){const r=this._gl,o=r.getAttribLocation(e,s);o<0||(r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,t.data,r.STATIC_DRAW),r.vertexAttribPointer(o,t.itemSize,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o))}_compileShader(t,e){const s=this._gl,i=s.createShader(t);return s.shaderSource(i,e),s.compileShader(i),i}_getCommonUniformLocations(t){const e=this._gl;return{uMVMatrix:e.getUniformLocation(t,"uMVMatrix"),uPMatrix:e.getUniformLocation(t,"uPMatrix")}}_getContext(t){const e=["webgl2","webgl","experimental-webgl","webkit-3d","moz-webgl"];let s=null,i=!1;const r={preserveDrawingBuffer:!1,antialias:!1},o=a=>a.statusMessage;t.addEventListener(u.CONTEXT_CREATE_ERROR,o);for(const a of e){try{s=t.getContext(a,r),i=a==="webgl2"}catch(h){}if(s)break}if(t.removeEventListener(u.CONTEXT_CREATE_ERROR,o),!s)throw new H(U.MESSAGES.WEBGL_NOT_SUPPORTED,U.CODES.WEBGL_NOT_SUPPORTED);return{gl:s,isWebGL2:i}}}class mi{get canvas(){return this._canvas}get width(){return this._elementSize.x}get height(){return this._elementSize.y}get pixelRatio(){return this._pixelRatio}get aspect(){return this._elementSize.x/this._elementSize.y}constructor(t,e){this._canvas=t,this._elementSize={x:0,y:0},this._pixelRatio=1,this.ctx=new Ei(t,e)}destroy(){const t=this._canvas;this.ctx.destroy(),t.width=1,t.height=1}resize(){const t=this._canvas,e=this._elementSize,s=window.devicePixelRatio;e.x=t.clientWidth,e.y=t.clientHeight,t.width=e.x*s,t.height=e.y*s,this._pixelRatio=s,this.ctx.resize()}render(t,e){const s=this.ctx;s.lost||(s.clear(),s.useProgram(t.program),s.updateCommonUniforms(t,e,t.program),t.update({camera:e}),s.updateUniforms(t.program),s.draw(t.vao,t.program))}renderVR(t,e,s){const i=this.ctx,r=e.getEyeParams(s);!r||!t||(i.bindXRFrame(s),i.useProgram(t.program),i.updateUniforms(t.program),r.forEach((o,a)=>{const h=o.viewport,l=oe(ft(),o.vMatrix,t.matrix);i.viewport(h.x,h.y,h.width,h.height),i.updateVRUniforms(t.program,l,o.pMatrix,a),i.draw(t.vao,t.program)}))}}class we extends x{get rootEl(){return this._rootEl}get renderer(){return this._renderer}get camera(){return this._camera}get control(){return this._control}get vr(){return this._vr}get hotspot(){return this._hotspot}get plugins(){return this._plugins}get projection(){return this._projection}set projection(t){this._initialized&&t?this.load(t):this._projection=t}get mesh(){return this._mesh}get initialized(){return this._initialized}get autoplay(){return this._autoplay}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get canvasSelector(){return this._canvasSelector}get useResizeObserver(){return this._useResizeObserver}get tabIndex(){return this._tabIndex}set tabIndex(t){const e=this._renderer.canvas;this._tabIndex=t,t!=null?e.tabIndex=t:e.removeAttribute("tabindex")}get maxDeltaTime(){return this._animator.maxDeltaTime}set maxDeltaTime(t){this._animator.maxDeltaTime=t}get debug(){return this._debug}set debug(t){this._debug=t}get initialYaw(){return this._camera.initialYaw}set initialYaw(t){this._camera.initialYaw=t}get initialPitch(){return this._camera.initialPitch}set initialPitch(t){this._camera.initialPitch=t}get initialZoom(){return this._camera.initialZoom}set initialZoom(t){this._camera.initialZoom=t}get yawRange(){return this._camera.yawRange}set yawRange(t){this._camera.yawRange=t,this._projection&&this._projection.updateCamera(this._camera)}get pitchRange(){return this._camera.pitchRange}set pitchRange(t){this._camera.pitchRange=t,this._projection&&this._projection.updateCamera(this._camera)}get zoomRange(){return this._camera.zoomRange}set zoomRange(t){this._camera.zoomRange=t,this._projection&&this._projection.updateCamera(this._camera)}get fov(){return this._camera.fov}set fov(t){const e=this._camera,s=this._control;e.fov=t,e.updateMatrix(),s.sync()}get rotate(){return this._control.rotate}get zoom(){return this._control.zoom}get gyro(){return this._control.gyro}get useGrabCursor(){return this._control.useGrabCursor}set useGrabCursor(t){this._control.useGrabCursor=t}get disableContextMenu(){return this._control.disableContextMenu}set disableContextMenu(t){this._control.disableContextMenu=t}get scrollable(){return this._control.scrollable}set scrollable(t){this._control.scrollable=t}get wheelScrollable(){return this._control.wheelScrollable}set wheelScrollable(t){this._control.wheelScrollable=t}constructor(t,{projection:e=null,initialYaw:s=0,initialPitch:i=0,initialZoom:r=1,yawRange:o=null,pitchRange:a=null,zoomRange:h=null,fov:l=90,useGrabCursor:c=!0,disableContextMenu:_=!1,rotate:E=!0,zoom:f=!0,gyro:v=!1,scrollable:T=!0,wheelScrollable:p=!1,autoplay:b=!1,hotspot:C={},autoInit:y=!0,autoResize:g=!0,canvasSelector:m="canvas",useResizeObserver:R=!0,on:It={},plugins:rt=[],maxDeltaTime:ot=1/30,tabIndex:Yt=0,debug:Xt=!1}={}){super(),this.renderFrame=J=>{const A=this._camera,at=this._renderer,j=this._control,q=this._hotspot,ht=this._autoplay,Kt=this._mesh;Kt&&(this._emit(O.BEFORE_RENDER),ht.playing&&(ht.update(J),j.sync()),A.animation?A.animation.update(J):j.update(J),at.render(Kt,A),q.render(A),A.changed&&this._emit(O.VIEW_CHANGE,{yaw:A.yaw,pitch:A.pitch,zoom:A.zoom,quaternion:[A.quaternion[0],A.quaternion[1],A.quaternion[2],A.quaternion[3]]}),A.onFrameRender(),this._emit(O.RENDER))},this._renderFrameOnDemand=J=>{const A=this._camera,at=this._control,j=this._autoplay,q=this._mesh,ht=q==null?void 0:q.getTexture();!this._initialized||!ht||!A.animation&&!at.animating&&!j.playing&&!ht.isVideo()||this.renderFrame(J)},this._renderVRFrame=(J,A)=>{const at=this._vr,j=this._mesh,q=this._renderer;j&&(this._emit(O.BEFORE_RENDER),q.renderVR(j,at,A),this._emit(O.RENDER))},this._rootEl=Ks(t),this._plugins=rt,this._initialized=!1,this._autoInit=y,this._autoResize=g,this._canvasSelector=m,this._useResizeObserver=R,this._tabIndex=Yt,this._debug=Xt;const At=js(this._rootEl,m);this._renderer=new mi(At,Xt),this._camera=new Js({initialYaw:s,initialPitch:i,initialZoom:r,fov:l,yawRange:o,pitchRange:a,zoomRange:h}),this._control=new ri(At,this._camera,{useGrabCursor:c,scrollable:T,wheelScrollable:p,disableContextMenu:_,rotate:E,zoom:f,gyro:v}),this._animator=new li(ot),this._autoplay=new ui(this,At,b),this._projection=e,this._mesh=null,this._autoResizer=new ci(R,()=>this.resize()),this._vr=new _i(this._renderer.ctx),this._hotspot=new di(this._rootEl,this._renderer,C),this._addEventHandlers(It),e&&y&&this.init()}destroy(){this._camera.destroy(),this._animator.stop(),this._renderer.destroy(),this._control.destroy(),this._autoResizer.disable(),this._mesh&&(this._mesh.destroy(this._renderer.ctx),this._mesh=null),this._plugins.forEach(t=>t.destroy(this)),this._initialized=!1}init(){return M(this,void 0,void 0,function*(){if(!this._projection)throw new H(U.MESSAGES.PROVIDE_PROJECTION_FIRST,U.CODES.PROVIDE_PROJECTION_FIRST);const t=this._renderer,e=this._camera,s=this._control,i=this._animator,r=this._hotspot,o=this._projection,a=t.canvas;this._bindComponentEvents(),t.ctx.init(),this._resizeComponents(),e.updateMatrix(),this._autoResize&&this._autoResizer.enable(a),this._autoplay.enableBlocked||this._autoplay.enable(),this._plugins.forEach(l=>{l.init(this)});const h=yield this._loadTexture(o);this._applyProjection(o,h),r.refresh(),i.start(this._renderFrameOnDemand),yield s.enable(),this._tabIndex!=null&&!a.hasAttribute("tabIndex")&&(a.tabIndex=this._tabIndex),this._initialized=!0,this.renderFrame(0),this._emit(O.READY)})}load(t){return M(this,void 0,void 0,function*(){if(!t)return!1;if(this._initialized){const e=yield this._loadTexture(t);this._applyProjection(t,e),this.renderFrame(0)}else this._projection=t,this.init();return!0})}resize(){if(!this._initialized)return;this._resizeComponents(),this.renderFrame(0);const{width:t,height:e}=this._renderer;this._emit(O.RESIZE,{width:t,height:e})}addPlugins(...t){this._initialized&&t.forEach(e=>{e.init(this)}),this._plugins.push(...t)}removePlugins(...t){t.forEach(e=>{const s=this._plugins.indexOf(e);s<0||(e.destroy(this),this._plugins.splice(s,1))})}_emit(t,...e){const s=e?e[0]:{};this.trigger(t,Object.assign({type:t,target:this},s))}_applyProjection(t,e){const s=this._camera,i=this._control,r=this._renderer,o=this._mesh;o&&o.destroy(r.ctx);const a=t.createMesh(r.ctx,e);t.updateCamera(s),t.updateControl(i),this._mesh=a,this._emit(O.PROJECTION_CHANGE,{projection:t})}_loadTexture(t){return M(this,void 0,void 0,function*(){const e=new hi,{src:s,video:i}=t;this._emit(O.LOAD_START,{src:s,video:i});const r=yield e.load(s,i);return this._emit(O.LOAD,{src:s,video:i}),r})}_resizeComponents(){const t=this._renderer,e=this._camera,s=this._control;t.resize(),e.resize(t.width,t.height),s.resize(t.width,t.height)}_addEventHandlers(t){Object.keys(t).forEach(e=>{this.on(e,t[e])})}_bindComponentEvents(){const t=this._rootEl,e=this._control,s=this._animator,i=this._renderer,r=this._vr;[d.STATIC_CLICK,d.INPUT_START,d.INPUT_END].forEach(a=>{e.rotate.on(a,h=>{this._emit(a,h)}),e.zoom.on(a,h=>{this._emit(a,h)})}),r.on(O.VR_START,a=>{t.classList.add(X.IN_VR),s.changeContext(a.session),s.start(this._renderVRFrame),this._emit(O.VR_START)}),r.on(O.VR_END,()=>{t.classList.remove(X.IN_VR),i.ctx.useDefaultFrameBuffer(),s.changeContext(window),s.start(this._renderFrameOnDemand),this.resize(),this._emit(O.VR_END)})}}we.VERSION="4.0.0-beta.7";class pi extends x{constructor(){super(),this.matrix=ft(),this.rotation=G(),this.position=L(0,0,0),this.scale=L(1,1,1)}updateMatrix(){Je(this.matrix,this.rotation,this.position,this.scale)}update(t){this.trigger(Ws.UPDATE,t)}}class K{constructor(t){this.position=t.position,this.order=t.order}}const xe={CONTROLS_ROOT:"view360-controls",CONTROLS_BG:"view360-controls-background",CONTROLS_MAIN:"view360-controls-main",CONTROLS_TOP:"view360-controls-top",CONTROLS_BOTTOM:"view360-controls-bottom",CONTROLS_MID:"view360-controls-mid",CONTROLS_LEFT:"view360-controls-left",CONTROLS_RIGHT:"view360-controls-right",CONTROLS_FLOAT_LEFT:"view360-controls-float-left",CONTROLS_FLOAT_RIGHT:"view360-controls-float-right",CONTROLS_BUTTON:"view360-controls-button",PROGRESS_ROOT:"view360-controls-progress",VOLUME_ROOT:"view360-controls-volume",RANGE_ROOT:"view360-range",RANGE_TRACK:"view360-range-track",RANGE_THUMB:"view360-range-thumb",RANGE_FILLER:"view360-range-filler",PLAY_BUTTON:"view360-controls-play",PAUSE_BUTTON:"view360-controls-pause",UNMUTED_BUTTON:"view360-controls-unmuted",MUTED_BUTTON:"view360-controls-muted",FULLSCREEN_BUTTON:"view360-controls-fullscreen",FULLSCREEN_EXIT_BUTTON:"view360-controls-fullscreen-exit",VR_BUTTON:"view360-controls-vr",GYRO_ENABLED:"view360-controls-gyro-enabled",GYRO_DISABLED:"view360-controls-gyro-disabled",VIDEO_TIME_DISPLAY:"view360-controls-time",PIEVIEW_ROOT:"view360-controls-pie",FIXED:"view360-controls-fixed",UNAVAILABLE:"view360-controls-unavailable",HIDDEN:"view360-controls-hidden"},k={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",MAIN_TOP:"main-top",MAIN_BOTTOM:"main-bottom",MAIN_LEFT:"main-left",MAIN_RIGHT:"main-right"};class Pe extends x{constructor(){super(),this._onHold=({srcEvent:r,isTouch:o})=>{var a;const h=this._bbox;if(!h)return;const l=o?r.touches[0].pageX:r.pageX,c=h.x+((a=window.scrollX)!==null&&a!==void 0?a:window.pageXOffset),_=N(l,c,c+h.width),E=(_-c)/h.width;this._motion.reset(_),this.thumbEl.classList.add(this._fixedClass),this.trigger(d.INPUT_START,E)},this._onChange=({delta:r})=>{var o;const a=this._motion,h=this._bbox;if(!h)return;a.setNewEndByDelta(r.x),a.update(1);const l=h.x+((o=window.scrollX)!==null&&o!==void 0?o:window.pageXOffset),_=(N(a.val,l,l+h.width)-l)/h.width;this.trigger(d.CHANGE,_)},this._onRelease=()=>{this._bbox&&(this.thumbEl.classList.remove(this._fixedClass),this.trigger(d.INPUT_END))};const t=document.createElement(z),e=document.createElement(z),s=document.createElement(z),i=document.createElement(z);t.draggable=!1,e.appendChild(i),e.appendChild(s),t.appendChild(e),this.rootEl=t,this.trackEl=e,this.thumbEl=s,this.fillerEl=i,this._mouseInput=new Ie,this._touchInput=new Ae,this._motion=new Et({duration:1,range:Lt,easing:r=>r}),this._bbox={x:0,y:0,width:0,height:0,left:0,right:0,bottom:0,top:0},this._fixedClass=xe.FIXED}init(t){const e=this._mouseInput,s=this._touchInput;this.rootEl.classList.add(t.RANGE_ROOT),this.trackEl.classList.add(t.RANGE_TRACK),this.thumbEl.classList.add(t.RANGE_THUMB),this.fillerEl.classList.add(t.RANGE_FILLER),this._fixedClass=t.FIXED,e.on(d.INPUT_START,this._onHold),s.on(d.INPUT_START,this._onHold),e.on(d.INPUT_END,this._onRelease),s.on(d.INPUT_END,this._onRelease),e.on(d.CHANGE,this._onChange),s.on(d.CHANGE,this._onChange),e.enable(this.rootEl),s.enable(this.rootEl),this.resize()}destroy(){const t=this._mouseInput,e=this._touchInput;this.rootEl.className="",this.trackEl.className="",this.thumbEl.className="",this.fillerEl.className="",t.off(),e.off(),t.disable(),e.disable()}resize(){this._bbox=this.trackEl.getBoundingClientRect()}updateStyle(t){const e=this._bbox.width,s=N(t,0,1);this.fillerEl.style.width="".concat(s*100,"%"),this.thumbEl.style.transform="translateX(".concat(s*e,"px)")}}class gi extends K{get element(){return this._rangeControl.rootEl}constructor({position:t=k.MAIN_TOP,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize()},this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=i.isPaused();i.source.pause();const a=i.source.duration*s;i.source.currentTime=a,i.source.dispatchEvent(new CustomEvent($,{detail:{time:a}})),r.rootEl.classList.add(r.className.FIXED),this._wasPaused=!this._playPromise&&o},this._onControl=s=>{const i=this._video;if(!i)return;const r=i.source.duration*s;i.source.currentTime=r,i.source.dispatchEvent(new CustomEvent($,{detail:{time:r}}))},this._onRelease=()=>{const s=this._video,i=this._controlBar;s&&i&&!this._wasPaused&&!this._playPromise&&(this._playPromise=s.source.play().catch(()=>{}),this._playPromise.then(()=>{this._playPromise=null}),i.rootEl.classList.remove(i.className.FIXED)),this._wasPaused=!1},this.position=t,this.order=e,this._controlBar=null,this._rangeControl=new Pe,this._video=null,this._wasPaused=!1,this._currentTime=0,this._duration=0,this._playPromise=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=this._rangeControl,a=e.className.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(a);return}r.classList.remove(a),r.classList.add(e.className.PROGRESS_ROOT),t.on(O.RESIZE,this._onResize),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onTimeUpdate),o.init(e.className),o.on(d.INPUT_START,this._onHold),o.on(d.CHANGE,this._onControl),o.on(d.INPUT_END,this._onRelease),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._controlBar=e,o.updateStyle(this._currentTime/this._duration)}destroy(t){const e=this._video;t.off(O.RESIZE,this._onResize),e&&(e.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),e.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),e.source.removeEventListener($,this._onTimeUpdate)),this._rangeControl.destroy(),this._video=null,this._playPromise=null}}class vi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._video;s&&(this._paused?s.source.play():s.source.pause())},this._onPlay=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PAUSE_BUTTON),s.classList.remove(i.PLAY_BUTTON),s.title="Pause Video",this._paused=!1},this._onPause=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PLAY_BUTTON),s.classList.remove(i.PAUSE_BUTTON),s.title="Play Video",this._paused=!0},this.element=document.createElement(Ot),this._video=null,this._paused=!0,this._controlBar=null}init(t,e){var s;const i=this.element,r=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),o=e.className,a=o.UNAVAILABLE;if(!r||!r.isVideo()){i.classList.add(a);return}i.classList.add(o.CONTROLS_BUTTON),i.classList.remove(a);const h=r.isPaused();this._video=r,this._paused=h,this._controlBar=e,h?this._onPause():this._onPlay(),i.addEventListener(u.CLICK,this._onClick),r.source.addEventListener(u.VIDEO_PLAY,this._onPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onPause)}destroy(){const t=this._video,e=this.element;t&&(e.className="",e.removeEventListener(u.CLICK,this._onClick),t.source.removeEventListener(u.VIDEO_PLAY,this._onPlay),t.source.removeEventListener(u.VIDEO_PAUSE,this._onPause),this._video=null,this._paused=!0,this._controlBar=null)}}class Ti extends K{get element(){return this._rootEl}constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize(),this._updateDisplay()},this._onClick=()=>{const s=this._video;!s||this._rootEl.disabled||(s.source.muted=!s.source.muted)},this._onVolumeChange=()=>{const s=this._buttonEl,i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.muted||i.source.volume===0?(s.classList.add(o.MUTED_BUTTON),s.classList.remove(o.UNMUTED_BUTTON)):(s.classList.add(o.UNMUTED_BUTTON),s.classList.remove(o.MUTED_BUTTON)),this._updateDisplay()},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.volume=s,this._rootEl.classList.add(o.FIXED),r.containerEl.classList.add(o.FIXED),this._updateDisplay()},this._onChange=s=>{const i=this._video;i&&(i.source.volume=s,s>0?i.source.muted=!1:i.source.muted=!0,this._updateDisplay())},this._onRelease=()=>{const s=this._controlBar;if(!s)return;const i=s.className;this._rootEl.classList.remove(i.FIXED),s.containerEl.classList.remove(i.FIXED)},this._updateDisplay=()=>{const s=this._video,i=this._rootEl;if(!s)return;if(!s.hasAudio()){i.disabled=!0;return}i.disabled=!1;const r=s.source.muted?0:s.source.volume;this._rangeControl.updateStyle(r)},this._controlBar=null,this._rangeControl=new Pe,this._createElements(),this._video=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this._rootEl,o=this._buttonEl,a=this._rangeControl,h=e.className,l=h.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(l);return}r.classList.remove(l),r.classList.add(h.CONTROLS_BUTTON),r.classList.add(h.VOLUME_ROOT),o.classList.add(h.CONTROLS_BUTTON),i.source.muted?o.classList.add(h.MUTED_BUTTON):o.classList.add(h.UNMUTED_BUTTON),t.on(O.RESIZE,this._onResize),r.addEventListener(u.TRANSITION_END,this._onResize),o.addEventListener(u.CLICK,this._onClick),i.source.addEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),i.source.addEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),i.source.addEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay),a.init(h),a.on(d.INPUT_START,this._onHold),a.on(d.CHANGE,this._onChange),a.on(d.INPUT_END,this._onRelease),this._controlBar=e,this._video=i,this._updateDisplay()}destroy(t){const e=this._video,s=this._buttonEl,i=this._rootEl;i.className="",s.className="",t.off(O.RESIZE,this._onResize),i.removeEventListener(u.TRANSITION_END,this._onResize),s.removeEventListener(u.CLICK,this._onClick),e&&(e.source.removeEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),e.source.removeEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),e.source.removeEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay)),this._controlBar=null,this._rangeControl.destroy(),this._video=null}_createElements(){const t=document.createElement(Ot),e=document.createElement(z);t.appendChild(this._rangeControl.rootEl),t.appendChild(e),t.title="Toggle Mute",this._rootEl=t,this._buttonEl=e}}class yi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._targetEl;s&&(dt()?this._exitFullscreen():this._requestFullscreen(s))},this._onFullscreenChange=()=>{const s=this.element,i=this._controlBar;if(!i)return;const r=i.className;dt()?(s.classList.add(r.FULLSCREEN_EXIT_BUTTON),s.classList.remove(r.FULLSCREEN_BUTTON)):(s.classList.add(r.FULLSCREEN_BUTTON),s.classList.remove(r.FULLSCREEN_EXIT_BUTTON))},this.element=document.createElement(Ot),this.element.title="Toggle Fullscreen",this._controlBar=null,this._targetEl=null}init(t,e){const s=this.element,i=e.className;if(!this._fullscreenAvailable()){s.classList.add(i.UNAVAILABLE);return}s.classList.add(i.CONTROLS_BUTTON),s.classList.remove(i.UNAVAILABLE),s.addEventListener(u.CLICK,this._onClick),this._addFullscreenHandlers(),dt()?s.classList.add(i.FULLSCREEN_EXIT_BUTTON):s.classList.add(i.FULLSCREEN_BUTTON),this._controlBar=e,this._targetEl=t.rootEl}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._removeFullscreenHandlers(),this._controlBar=null,this._targetEl=null}_fullscreenAvailable(){return Qt.some(t=>!!document[t])}_requestFullscreen(t){for(const e of Qt){const s=t[e];if(s){s.call(t);return}}}_exitFullscreen(){for(const t of Hs){const e=document[t];if(e){e.call(document);return}}}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class bi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._updateDisplay())},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._updateDisplay())},this._onCustomTimeChange=s=>{this._currentTime=s.detail.time,this._updateDisplay()},this.element=document.createElement(z),this._video=null,this._currentTime=0,this._duration=0}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=e.className;if(!i||!i.isVideo()){r.classList.add(o.UNAVAILABLE);return}r.classList.add(o.VIDEO_TIME_DISPLAY),r.classList.remove(o.UNAVAILABLE),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onCustomTimeChange),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._updateDisplay()}destroy(){const t=this._video;t&&(this.element.className="",t.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),t.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),t.source.removeEventListener($,this._onCustomTimeChange),this._video=null)}_updateDisplay(){const t=this._currentTime,e=Math.floor(t/60),s=Math.floor(t-e*60),i=s<10?"0".concat(s):s,r=this._duration,o=Math.floor(r/60),a=Math.floor(r-o*60),h=a<10?"0".concat(a):a;this.element.innerText="".concat(e,":").concat(i," / ").concat(o,":").concat(h)}}class Ri extends K{constructor({resetCamera:t=!0,position:e=k.TOP_RIGHT,order:s=9999}={}){super({position:e,order:s}),this._onClick=()=>{const i=this._viewer,r=this.resetCamera;if(!i||!r)return;const{yaw:o=i.initialYaw,pitch:a=i.initialPitch,zoom:h=i.initialZoom,duration:l=500}=P(r);i.camera.animateTo({yaw:o,pitch:a,zoom:h,duration:l})},this._updatePie=({target:i})=>{const r=this._piePathEl,o=this._rangeCircleEl,a=i.camera,h=a.getHorizontalFov(),l=a.getYawRange(a.zoom),c=h*.5,_=24*Math.PI,E=_*h/360,f=_*(a.yaw+c+90)/360;if(r.setAttribute("stroke-dasharray","".concat(E," ").concat(_-E)),r.setAttribute("stroke-dashoffset","".concat(f)),isFinite(l.min)&&isFinite(l.max)){const v=45*Math.PI,T=(it(l.min,-180,180)-c)/360,p=(it(l.max,-180,180)+c)/360,b=v*Math.abs(p-T),C=-v*(T-.25);o.setAttribute("stroke-dasharray","".concat(b," ").concat(v-b)),o.setAttribute("stroke-dashoffset","".concat(C))}else o.setAttribute("stroke-dasharray",""),o.setAttribute("stroke-dashoffset","")},this.element=document.createElement(z),this.element.title="Reset view",this.resetCamera=t,this._createPieElements(),this._viewer=null}init(t,e){const s=this.element;t.initialized?this._updatePie({target:t}):t.once(O.READY,this._updatePie);const i=e.className.PIEVIEW_ROOT;s.classList.add(i),this.resetCamera&&s.addEventListener(u.CLICK,this._onClick),t.on(O.VIEW_CHANGE,this._updatePie),this._viewer=t}destroy(t){const e=this.element;e.removeEventListener(u.CLICK,this._onClick),e.className="",t.off(O.READY,this._updatePie),t.off(O.VIEW_CHANGE,this._updatePie),this._viewer=null}_createPieElements(){const t=this.element,e=document.createElementNS(xt,"svg");e.setAttribute("viewBox","0 0 48 48"),e.setAttribute("width","100%"),e.setAttribute("height","100%");const s=document.createElementNS(xt,"circle");s.setAttribute("stroke","currentColor"),s.setAttribute("fill","transparent"),s.setAttribute("cx","24"),s.setAttribute("cy","24"),s.setAttribute("r","12"),s.setAttribute("stroke-width","24"),e.appendChild(s);const i=document.createElementNS(xt,"circle");i.setAttribute("stroke","currentColor"),i.setAttribute("fill","transparent"),i.setAttribute("cx","24"),i.setAttribute("cy","24"),i.setAttribute("r","22.5"),i.setAttribute("stroke-width","3"),e.appendChild(i),t.appendChild(e),this._piePathEl=s,this._rangeCircleEl=i}}class Ci extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer;s&&s.vr.enter()},this.element=document.createElement(Ot),this.element.title="Enter VR",this._viewer=null}init(t,e){const s=this.element,i=e.className;s.classList.add(i.UNAVAILABLE),s.classList.add(i.VR_BUTTON),s.classList.add(i.CONTROLS_BUTTON),t.vr.isAvailable().then(r=>{r&&s.classList.remove(i.UNAVAILABLE)}),s.addEventListener(u.CLICK,this._onClick),this._viewer=t}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._viewer=null}}class Oi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer,i=this._controlBar;if(!s||!i)return;const r=s.control.gyro;r.enabled?r.disable():mt.requestSensorPermission().then(o=>{o?r.enable():this.element.classList.add(i.className.UNAVAILABLE)})},this._updateStyle=()=>{const s=this.element,i=this._viewer,r=this._controlBar;if(!i||!r)return;const o=i.control.gyro,a=r.className;o.enabled?(s.classList.add(a.GYRO_ENABLED),s.classList.remove(a.GYRO_DISABLED)):(s.classList.add(a.GYRO_DISABLED),s.classList.remove(a.GYRO_ENABLED))},this.element=document.createElement(z),this.element.title="Toggle gyroscope control"}init(t,e){const s=this.element,i=e.className;s.addEventListener(u.CLICK,this._onClick),s.classList.add(i.CONTROLS_BUTTON),s.classList.add(i.UNAVAILABLE);const r=()=>{s.classList.remove(i.UNAVAILABLE),t.control.gyro.on(d.ENABLE,this._updateStyle),t.control.gyro.on(d.DISABLE,this._updateStyle)};Oe()?r():mt.isAvailable().then(o=>{o&&r()}),this._controlBar=e,this._viewer=t,this._updateStyle()}destroy(t){const e=this.element;t.control.gyro.off(d.ENABLE,this._updateStyle),t.control.gyro.off(d.DISABLE,this._updateStyle),e.removeEventListener(u.CLICK,this._onClick),e.className="",this._controlBar=null,this._viewer=null}}class Li{get enabled(){return!!this._targetEl}get hidden(){return this._controlBar.containerEl.classList.contains(this._hiddenClass)}get _hiddenClass(){return this._controlBar.className.HIDDEN}get _fixedClass(){return this._controlBar.className.FIXED}constructor(t,{initialDelay:e=3e3,delay:s=0,idleDelay:i=3e3}){this._onMouseEnter=()=>{this._isCursorInside=!0,this.show()},this._onMouseLeave=()=>{this._isCursorInside=!1,this._hideAfterDelay()},this._onMouseMove=()=>{this._isFullscreen&&this.showTemporaliy()},this._onHold=r=>{this._isGrabbing=!0,r.pointerType==="mouse"&&(this._isCursorInside=!0),window.addEventListener(u.MOUSE_UP,this._onRelease),this.show()},this._onRelease=()=>{this._isGrabbing=!1,window.removeEventListener(u.MOUSE_UP,this._onRelease),this._hideAfterDelay()},this._onVideoPlay=()=>{this._targetEl&&this._controlBar.containerEl.classList.remove(this._fixedClass)},this._onVideoPause=()=>{this._targetEl&&this._controlBar.containerEl.classList.add(this._fixedClass)},this._onFullscreenChange=()=>{this._isFullscreen=dt(),this._isFullscreen&&this._hideAfterDelay()},this._controlBar=t,this._initialDelay=e,this._delay=s,this._idleDelay=i,this._timer=-1,this._isCursorInside=!1,this._isGrabbing=!1,this._isFullscreen=!1,this._video=null,this._targetEl=null}enable(t){var e;this._targetEl&&this.disable(t);const s=this._initialDelay,i=t.rootEl;this._targetEl=t.rootEl,this._timer=window.setTimeout(()=>{this.hide()},s),i.addEventListener(u.MOUSE_DOWN,this._onHold),i.addEventListener(u.MOUSE_ENTER,this._onMouseEnter),i.addEventListener(u.MOUSE_MOVE,this._onMouseMove),i.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._addFullscreenHandlers();const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();!r||!r.isVideo()||(r.isPaused()&&this._controlBar.containerEl.classList.add(this._fixedClass),r.source.addEventListener(u.VIDEO_PLAY,this._onVideoPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onVideoPause),this._video=r)}disable(t){if(!this._targetEl)return;const e=this._controlBar,s=t.rootEl,i=this._video;s.removeEventListener(u.MOUSE_DOWN,this._onHold),window.removeEventListener(u.MOUSE_UP,this._onRelease),s.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter),s.removeEventListener(u.MOUSE_MOVE,this._onMouseMove),s.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._removeFullscreenHandlers(),window.clearTimeout(this._timer),e.containerEl.classList.remove(this._fixedClass),i&&(i.source.removeEventListener(u.VIDEO_PLAY,this._onVideoPlay),i.source.removeEventListener(u.VIDEO_PAUSE,this._onVideoPause)),this._isCursorInside=!1,this._isGrabbing=!1,this._video=null,this._targetEl=null}show(){this._clearHideTimer(),this._controlBar.containerEl.classList.remove(this._hiddenClass)}showTemporaliy(){this.show(),this._hideAfterDelay(this._idleDelay)}hide(){this._clearHideTimer(),this._controlBar.containerEl.classList.add(this._hiddenClass)}_clearHideTimer(){this._timer&&(window.clearTimeout(this._timer),this._timer=-1)}_hideAfterDelay(t=this._delay){this._isGrabbing||!this._isFullscreen&&this._isCursorInside||(this._clearHideTimer(),t<=0?this.hide():this._timer=window.setTimeout(()=>{this.hide()},t))}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class Ii{constructor(){this._onKeyDown=t=>{const e=this._video;if(!e)return;t.preventDefault(),t.stopPropagation();const s=e.source,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];switch(i){case"LEFT":case"RIGHT":return this._changeVideoTime(s,i==="RIGHT");case"UP":case"DOWN":return this._changeVideoVolume(s,i==="UP")}(t.keyCode===Vs||t.key===zs)&&this._toggleVideo(e)}}enable(t,e){this._video=e,t.addEventListener(u.KEY_DOWN,this._onKeyDown,!0)}disable(t){this._video=null,t.removeEventListener(u.KEY_DOWN,this._onKeyDown,!0)}_changeVideoTime(t,e){const s=e?5:-5;t.currentTime+=s,t.dispatchEvent(new CustomEvent($,{detail:{time:t.currentTime}}))}_changeVideoVolume(t,e){const s=e?.1:-.1;t.muted?t.volume=N(s,0,1):t.volume=N(t.volume+s,0,1),t.volume>0?t.muted=!1:t.muted=!0}_toggleVideo(t){t.isPaused()?t.source.play():t.source.pause()}}class I{get rootEl(){return this._rootEl}get containerEl(){return this._containerEl}get backgroundEl(){return this._bgEl}get items(){return this._items}get customItems(){return this._customItems}constructor({autoHide:t,showBackground:e,clickToPlay:s=!0,keyboardControls:i=!0,progressBar:r=!0,playButton:o=!0,volumeButton:a=!0,fullscreenButton:h=!0,videoTime:l=!0,pieView:c=!0,vrButton:_=!0,gyroButton:E=!0,className:f={},customItems:v=[]}={}){var T;this._onStaticClick=({target:b,isTouch:C})=>{var y;const g=this._autoHider;if(C){if(!g.enabled)return;g.hidden?g.showTemporaliy():g.hide()}else{if(!this.clickToPlay)return;const m=(y=b.mesh)===null||y===void 0?void 0:y.getTexture();if(!m||!m.isVideo())return;m.isPaused()?m.source.play():m.source.pause()}},this._onNewSrcLoad=({target:b})=>{const C=this._items;this._updateBackground(b),this._updateAutoHide(b),this._updateKeyboardHandler(b),Object.keys(C).forEach(y=>{C[y].forEach(m=>{m.destroy(b,this),m.init(b,this)})})},this.autoHide=t,this.showBackground=e,this.clickToPlay=s,this.keyboardControls=i,this.progressBar=r,this.playButton=o,this.volumeButton=a,this.fullscreenButton=h,this.videoTime=l,this.pieView=c,this.vrButton=_,this.gyroButton=E,this.className=Object.assign(Object.assign({},I.DEFAULT_CLASS),f);const p=(T=f.CONTROLS_ROOT)!==null&&T!==void 0?T:I.DEFAULT_CLASS.CONTROLS_ROOT;this._rootEl=V(p),this._createPositionWrappers(),this._items=Object.keys(I.POSITION).reduce((b,C)=>(b[I.POSITION[C]]=[],b),{}),this._customItems=v,this._autoHider=new Li(this,P(t)),this._videoControl=new Ii,v.forEach(b=>{this._items[b.position].push(b)})}init(t){const e=t.rootEl,s=this._rootEl,i=this._createDefaultItems();this._updateBackground(t),this._updateAutoHide(t),this._updateKeyboardHandler(t),e.appendChild(s),this._addItem(t,i),this._addItem(t,this._customItems),t.on(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.on(O.STATIC_CLICK,this._onStaticClick)}destroy(t){const e=t.rootEl,s=this._rootEl,i=this._items;s.parentElement===e&&e.removeChild(s),Object.keys(i).forEach(r=>{i[r].forEach(a=>{a.destroy(t,this)}),i[r]=[]}),this._clearItemElements(),this._autoHider.disable(t),this._videoControl.disable(e),t.off(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.off(O.STATIC_CLICK,this._onStaticClick)}_addItem(t,e){for(const s of e){const i=this._items[s.position],r=this._wrapperEl[s.position],o=qs(i,a=>a.order>s.order);if(o>=0){const a=i[o].element;i.splice(o,0,s),r.insertBefore(s.element,a)}else i.push(s),r.appendChild(s.element);s.init(t,this)}}_createPositionWrappers(){const t=Object.assign(Object.assign({},I.DEFAULT_CLASS),this.className),e=this._rootEl,s=V(t.CONTROLS_BG),i=V(t.CONTROLS_FLOAT_LEFT),r=V(t.CONTROLS_FLOAT_RIGHT);e.appendChild(i),e.appendChild(r);const o=V(t.CONTROLS_MAIN),a=V(t.CONTROLS_TOP),h=V(t.CONTROLS_BOTTOM),l=V(t.CONTROLS_MID),c=V(t.CONTROLS_LEFT),_=V(t.CONTROLS_RIGHT);l.appendChild(c),l.appendChild(_),o.appendChild(s),o.appendChild(a),o.appendChild(l),o.appendChild(h),e.appendChild(o),this._bgEl=s,this._containerEl=o,this._wrapperEl={[I.POSITION.MAIN_TOP]:a,[I.POSITION.MAIN_LEFT]:c,[I.POSITION.MAIN_RIGHT]:_,[I.POSITION.MAIN_BOTTOM]:h,[I.POSITION.TOP_LEFT]:i,[I.POSITION.TOP_RIGHT]:r}}_clearItemElements(){Object.keys(I.POSITION).map(e=>I.POSITION[e]).map(e=>this._wrapperEl[e]).forEach(e=>{for(;e.firstChild;)e.removeChild(e.firstChild)})}_updateAutoHide(t){var e;const s=this.autoHide,i=this._autoHider;if(s!=null)s?i.enable(t):i.disable(t);else{const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();r&&r.isVideo()?i.enable(t):i.disable(t)}}_updateBackground(t){var e,s;const i=this._bgEl,r=this.showBackground,o=(e=this.className.HIDDEN)!==null&&e!==void 0?e:I.DEFAULT_CLASS.HIDDEN;if(r!=null)r?i.classList.remove(o):i.classList.add(o);else{const a=(s=t.mesh)===null||s===void 0?void 0:s.getTexture();a&&a.isVideo()?i.classList.remove(o):i.classList.add(o)}}_updateKeyboardHandler(t){var e;const s=t.rootEl,i=this._videoControl,r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();this.keyboardControls&&r&&r.isVideo()?i.enable(s,r):i.disable(s)}_createDefaultItems(){const t=[];return this.progressBar&&t.push(new gi(P(this.progressBar))),this.playButton&&t.push(new vi(P(this.playButton))),this.volumeButton&&t.push(new Ti(P(this.volumeButton))),this.gyroButton&&t.push(new Oi(P(this.gyroButton))),this.vrButton&&t.push(new Ci(P(this.vrButton))),this.fullscreenButton&&t.push(new yi(P(this.fullscreenButton))),this.videoTime&&t.push(new bi(P(this.videoTime))),this.pieView&&t.push(new Ri(P(this.pieView))),t}}I.DEFAULT_CLASS=xe;I.POSITION=k;class De{constructor({src:t,video:e=!1}){this.src=t,this.video=e}updateCamera(t){t.resetRange()}updateControl(t){t.ignoreZoomScale=!1}}class kt{constructor(){this.needsUpdate=!0}destroy(t){}}class Me extends pi{constructor(t,e){super(),this.vao=t,this.program=e}destroy(t){t.releaseVAO(this.vao),t.releaseShaderResources(this.program)}getTexture(){return this.program.uniforms.uTexture.texture}}class Ue{constructor(t,e,s,i){this.program=t.createProgram(e,s),this.uniforms=i,this.uniformLocations=t.getUniformLocations(this.program,i)}}class Dt{constructor(t,e){this.data=t,this.itemSize=e,this.count=t.length/e}}class Ai{constructor(t,e,s){this.vertices=new Dt(new Float32Array(t),3),this.indicies=new Dt(new Uint16Array(e),1),this.uvs=new Dt(new Float32Array(s),2)}}class Fe extends kt{constructor(t,e){super(),this.texture=e,this._webglTexture=t.createWebGLTexture(e)}destroy(t){this.texture.destroy(),t.deleteTexture(this._webglTexture)}update(t,e,s){const i=this.texture,r=i.isVideo();t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i.flipY),t.uniform1i(e,0),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this._webglTexture),!r&&s?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,i.source):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i.source),r||(this.needsUpdate=!1)}}var Si="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;varying highp vec2 vUV;void main(){vUV=uv;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}",Be="#define GLSLIFY 1\nuniform sampler2D uTexture;varying highp vec2 vUV;void main(){gl_FragColor=texture2D(uTexture,vUV.st);}";class Ve extends Ai{constructor(){const s=-.5*Math.PI,i=[],r=[],o=[];let a,h;for(a=0;a<=60;a++){const l=(a/60-.5)*Math.PI,c=Math.sin(l),_=Math.cos(l);for(h=0;h<=60;h++){const E=(h/60-.5)*2*Math.PI+s,f=Math.sin(E),T=Math.cos(E)*_,p=c,b=f*_,C=h/60,y=a/60;if(i.push(C,y),r.push(T,p,b),h!==60&&a!==60){const g=a*61+h,m=g+60+1;o.push(g,g+1,m,m,g+1,m+1)}}}super(r,o,i)}}class Ni extends De{constructor(t){super(t)}createMesh(t,e){const s={uTexture:new Fe(t,e)},i=new Ve,r=new Ue(t,Si,Be,s),o=t.createVAO(i,r);return new Me(o,r)}}class wi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform1f(e,this.val),this.needsUpdate=!1}}class xi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform4fv(e,this.val.reduce((s,i)=>[...s,...i],[])),this.needsUpdate=!1}}var Pi="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;uniform vec4 uTexScaleOffset[2];uniform float uEye;varying highp vec2 vUV;void main(){vec4 scaleOffset=uTexScaleOffset[int(uEye)];vUV=uv.xy*scaleOffset.xy+scaleOffset.zw;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}";class Wt extends De{constructor(t){super(t),this._mode=t.mode}createMesh(t,e){let s,i;switch(this._mode){case Wt.MODE.LEFT_RIGHT:s=[.5,1,0,0],i=[.5,1,.5,0];break;default:s=[1,.5,0,0],i=[1,.5,0,.5]}const r={uTexture:new Fe(t,e),uEye:new wi(0),uTexScaleOffset:new xi([s,i])},o=new Ve,a=new Ue(t,Pi,Be,r),h=t.createVAO(o,a);return new Me(h,a)}}Wt.MODE={LEFT_RIGHT:"left_right",TOP_BOTTOM:"top_bottom"};var Di=re("<canvas class=view360-canvas>"),Mi=re("<video id=view360-video playsinline crossorigin=anonymous style=display:none>");const Ki=()=>{let n;ze(()=>{const s=document.getElementById("view360-container"),i=document.getElementById("view360-video");s&&i&&(n=new we(s,{projection:new Ni({src:i,video:{autoplay:Xe("video_autoplay")}}),plugins:[new I({pieView:{order:0},gyroButton:{position:"top-right",order:1},vrButton:{position:"top-right",order:2}})]}))}),Ge(()=>n==null?void 0:n.destroy());const[t,e]=He(!1);return St(Ke,{onAutoNextChange:e,get children(){return St(jt,{w:"$full",h:"60vh",id:"video360-player",get children(){return St(jt,{w:"100%",h:"100%",id:"view360-container",className:"view360-container",get children(){return[Di(),(()=>{var s=Mi();return ke(()=>We(s,"src",Ye.raw_url)),s})()]}})}})}})};export{Ki as default};
|
|
14
|
+
***************************************************************************** */function je(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],s=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&s>=n.length&&(n=void 0),{value:n&&n[s++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function qe(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var s=e.call(n),i,r=[],o;try{for(;(t===void 0||t-- >0)&&!(i=s.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(e=s.return)&&e.call(s)}finally{if(o)throw o.error}}return r}function Nt(){for(var n=[],t=0;t<arguments.length;t++)n=n.concat(qe(arguments[t]));return n}var lt=function(n){return typeof n>"u"},Mt=(function(){function n(e,s){var i,r;if(this._canceled=!1,s)try{for(var o=je(Object.keys(s)),a=o.next();!a.done;a=o.next()){var h=a.value;this[h]=s[h]}}catch(l){i={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.eventType=e}var t=n.prototype;return t.stop=function(){this._canceled=!0},t.isCanceled=function(){return this._canceled},n})(),x=(function(){function n(){this._eventHandler={}}var t=n.prototype;return t.trigger=function(e){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=e instanceof Mt?e.eventType:e,o=Nt(this._eventHandler[r]||[]);return o.length<=0?this:(e instanceof Mt?(e.currentTarget=this,o.forEach(function(a){a(e)})):o.forEach(function(a){a.apply(void 0,Nt(s))}),this)},t.once=function(e,s){var i=this;if(typeof e=="object"&<(s)){var r=e;for(var o in r)this.once(o,r[o]);return this}else if(typeof e=="string"&&typeof s=="function"){var a=function(){for(var h=[],l=0;l<arguments.length;l++)h[l]=arguments[l];s.apply(void 0,Nt(h)),i.off(e,a)};this.on(e,a)}return this},t.hasOn=function(e){return!!this._eventHandler[e]},t.on=function(e,s){if(typeof e=="object"&<(s)){var i=e;for(var r in i)this.on(r,i[r]);return this}else if(typeof e=="string"&&typeof s=="function"){var o=this._eventHandler[e];lt(o)&&(this._eventHandler[e]=[],o=this._eventHandler[e]),o.push(s)}return this},t.off=function(e,s){if(lt(e))return this._eventHandler={},this;if(lt(s)){if(typeof e=="string")return delete this._eventHandler[e],this;var i=e;for(var r in i)this.off(r,i[r]);return this}var o=this._eventHandler[e];if(o){for(var a=o.length,h=0;h<a;++h)if(o[h]===s){o.splice(h,1),a<=1&&delete this._eventHandler[e];break}}return this},n.VERSION="3.0.5",n})(),ct=Mt,Y=1e-6,w=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function $e(){var n=new w(9);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function ft(){var n=new w(16);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n}function Ze(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function oe(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=t[4],h=t[5],l=t[6],c=t[7],_=t[8],E=t[9],f=t[10],v=t[11],T=t[12],p=t[13],b=t[14],C=t[15],y=e[0],g=e[1],m=e[2],R=e[3];return n[0]=y*s+g*a+m*_+R*T,n[1]=y*i+g*h+m*E+R*p,n[2]=y*r+g*l+m*f+R*b,n[3]=y*o+g*c+m*v+R*C,y=e[4],g=e[5],m=e[6],R=e[7],n[4]=y*s+g*a+m*_+R*T,n[5]=y*i+g*h+m*E+R*p,n[6]=y*r+g*l+m*f+R*b,n[7]=y*o+g*c+m*v+R*C,y=e[8],g=e[9],m=e[10],R=e[11],n[8]=y*s+g*a+m*_+R*T,n[9]=y*i+g*h+m*E+R*p,n[10]=y*r+g*l+m*f+R*b,n[11]=y*o+g*c+m*v+R*C,y=e[12],g=e[13],m=e[14],R=e[15],n[12]=y*s+g*a+m*_+R*T,n[13]=y*i+g*h+m*E+R*p,n[14]=y*r+g*l+m*f+R*b,n[15]=y*o+g*c+m*v+R*C,n}function Je(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=i+i,l=r+r,c=o+o,_=i*h,E=i*l,f=i*c,v=r*l,T=r*c,p=o*c,b=a*h,C=a*l,y=a*c,g=s[0],m=s[1],R=s[2];return n[0]=(1-(v+p))*g,n[1]=(E+y)*g,n[2]=(f-C)*g,n[3]=0,n[4]=(E-y)*m,n[5]=(1-(_+p))*m,n[6]=(T+b)*m,n[7]=0,n[8]=(f+C)*R,n[9]=(T-b)*R,n[10]=(1-(_+v))*R,n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function Qe(n,t,e,s,i){var r=1/Math.tan(t/2),o;return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0?(o=1/(s-i),n[10]=(i+s)*o,n[14]=2*i*s*o):(n[10]=-1,n[14]=-2*s),n}var ts=Qe;function es(n,t,e,s){var i,r,o,a,h,l,c,_,E,f,v=t[0],T=t[1],p=t[2],b=s[0],C=s[1],y=s[2],g=e[0],m=e[1],R=e[2];return Math.abs(v-g)<Y&&Math.abs(T-m)<Y&&Math.abs(p-R)<Y?Ze(n):(c=v-g,_=T-m,E=p-R,f=1/Math.hypot(c,_,E),c*=f,_*=f,E*=f,i=C*E-y*_,r=y*c-b*E,o=b*_-C*c,f=Math.hypot(i,r,o),f?(f=1/f,i*=f,r*=f,o*=f):(i=0,r=0,o=0),a=_*o-E*r,h=E*i-c*o,l=c*r-_*i,f=Math.hypot(a,h,l),f?(f=1/f,a*=f,h*=f,l*=f):(a=0,h=0,l=0),n[0]=i,n[1]=a,n[2]=c,n[3]=0,n[4]=r,n[5]=h,n[6]=_,n[7]=0,n[8]=o,n[9]=l,n[10]=E,n[11]=0,n[12]=-(i*v+r*T+o*p),n[13]=-(a*v+h*T+l*p),n[14]=-(c*v+_*T+E*p),n[15]=1,n)}function B(){var n=new w(3);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function Ut(n){var t=n[0],e=n[1],s=n[2];return Math.hypot(t,e,s)}function L(n,t,e){var s=new w(3);return s[0]=n,s[1]=t,s[2]=e,s}function ss(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function is(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n}function ns(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n}function ae(n,t){var e=t[0],s=t[1],i=t[2],r=e*e+s*s+i*i;return r>0&&(r=1/Math.sqrt(r)),n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n}function he(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Q(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[0],a=e[1],h=e[2];return n[0]=i*h-r*a,n[1]=r*o-s*h,n[2]=s*a-i*o,n}function qt(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[3]*s+e[7]*i+e[11]*r+e[15];return o=o||1,n[0]=(e[0]*s+e[4]*i+e[8]*r+e[12])/o,n[1]=(e[1]*s+e[5]*i+e[9]*r+e[13])/o,n[2]=(e[2]*s+e[6]*i+e[10]*r+e[14])/o,n}function F(n,t,e){var s=e[0],i=e[1],r=e[2],o=e[3],a=t[0],h=t[1],l=t[2],c=i*l-r*h,_=r*a-s*l,E=s*h-i*a,f=i*E-r*_,v=r*c-s*E,T=s*_-i*c,p=o*2;return c*=p,_*=p,E*=p,f*=2,v*=2,T*=2,n[0]=a+c+f,n[1]=h+_+v,n[2]=l+E+T,n}var rs=Ut;(function(){var n=B();return function(t,e,s,i,r,o){var a,h;for(e||(e=3),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2];return t}})();function os(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function as(n){var t=new w(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function hs(n,t,e,s){var i=new w(4);return i[0]=n,i[1]=t,i[2]=e,i[3]=s,i}function ls(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function cs(n,t,e,s,i){return n[0]=t,n[1]=e,n[2]=s,n[3]=i,n}function us(n,t){var e=t[0],s=t[1],i=t[2],r=t[3],o=e*e+s*s+i*i+r*r;return o>0&&(o=1/Math.sqrt(o)),n[0]=e*o,n[1]=s*o,n[2]=i*o,n[3]=r*o,n}function _s(n,t){var e=n[0],s=n[1],i=n[2],r=n[3],o=t[0],a=t[1],h=t[2],l=t[3];return Math.abs(e-o)<=Y*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(s-a)<=Y*Math.max(1,Math.abs(s),Math.abs(a))&&Math.abs(i-h)<=Y*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-l)<=Y*Math.max(1,Math.abs(r),Math.abs(l))}(function(){var n=os();return function(t,e,s,i,r,o){var a,h;for(e||(e=4),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],n[3]=t[a+3],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2],t[a+3]=n[3];return t}})();function G(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function le(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function ds(n,t,e){e=e*.5;var s=Math.sin(e);return n[0]=s*t[0],n[1]=s*t[1],n[2]=s*t[2],n[3]=Math.cos(e),n}function $t(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=e[0],h=e[1],l=e[2],c=e[3];return n[0]=s*c+o*a+i*l-r*h,n[1]=i*c+o*h+r*a-s*l,n[2]=r*c+o*l+s*h-i*a,n[3]=o*c-s*a-i*h-r*l,n}function ce(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+o*a,n[1]=i*h+r*a,n[2]=r*h-i*a,n[3]=o*h-s*a,n}function ue(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h-r*a,n[1]=i*h+o*a,n[2]=r*h+s*a,n[3]=o*h-i*a,n}function _e(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+i*a,n[1]=i*h-s*a,n[2]=r*h+o*a,n[3]=o*h-r*a,n}function vt(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=e[0],l=e[1],c=e[2],_=e[3],E,f,v,T,p;return f=i*h+r*l+o*c+a*_,f<0&&(f=-f,h=-h,l=-l,c=-c,_=-_),1-f>Y?(E=Math.acos(f),v=Math.sin(E),T=Math.sin((1-s)*E)/v,p=Math.sin(s*E)/v):(T=1-s,p=s),n[0]=T*i+p*h,n[1]=T*r+p*l,n[2]=T*o+p*c,n[3]=T*a+p*_,n}function fs(n,t){var e=t[0]+t[4]+t[8],s;if(e>0)s=Math.sqrt(e+1),n[3]=.5*s,s=.5/s,n[0]=(t[5]-t[7])*s,n[1]=(t[6]-t[2])*s,n[2]=(t[1]-t[3])*s;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var r=(i+1)%3,o=(i+2)%3;s=Math.sqrt(t[i*3+i]-t[r*3+r]-t[o*3+o]+1),n[i]=.5*s,s=.5/s,n[3]=(t[r*3+o]-t[o*3+r])*s,n[r]=(t[r*3+i]+t[i*3+r])*s,n[o]=(t[o*3+i]+t[i*3+o])*s}return n}var ut=as,Es=hs,ms=ls,ps=cs,tt=us,Zt=_s;(function(){var n=B(),t=L(1,0,0),e=L(0,1,0);return function(s,i,r){var o=he(i,r);return o<-.999999?(Q(n,t,i),rs(n)<1e-6&&Q(n,e,i),ae(n,n),ds(s,n,Math.PI),s):o>.999999?(s[0]=0,s[1]=0,s[2]=0,s[3]=1,s):(Q(n,i,r),s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=1+o,tt(s,s))}})();(function(){var n=G(),t=G();return function(e,s,i,r,o,a){return vt(n,s,o,a),vt(t,i,r,a),vt(e,n,t,2*a*(1-a)),e}})();(function(){var n=$e();return function(t,e,s,i){return n[0]=s[0],n[3]=s[1],n[6]=s[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],tt(t,fs(t,n))}})();function gs(){var n=new w(2);return w!=Float32Array&&(n[0]=0,n[1]=0),n}function vs(n,t){var e=new w(2);return e[0]=n,e[1]=t,e}(function(){var n=gs();return function(t,e,s,i,r,o){var a,h;for(e||(e=2),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],r(n,n,o),t[a]=n[0],t[a+1]=n[1];return t}})();var Ft=function(n,t){return Ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,s){e.__proto__=s}||function(e,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e[i]=s[i])},Ft(n,t)};function nt(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ft(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var st=function(){return st=Object.assign||function(t){for(var e,s=1,i=arguments.length;s<i;s++){e=arguments[s];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},st.apply(this,arguments)};function Ts(){for(var n=0,t=0,e=arguments.length;t<e;t++)n+=arguments[t].length;for(var s=Array(n),i=0,t=0;t<e;t++)for(var r=arguments[t],o=0,a=r.length;o<a;o++,i++)s[i]=r[o];return s}var zt=typeof window<"u",ys=zt?window.navigator.userAgent:"",bs=zt?"getComputedStyle"in window:!1,Rs=/MSIE|Trident|Windows Phone|Edge/.test(ys),Cs=zt?"addEventListener"in document:!1,Bt="width",_t="height";function Tt(n,t){return n.getAttribute(t)||""}function bt(n){return[].slice.call(n)}function Os(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"width")}function de(n,t){return t===void 0&&(t="data-"),"loading"in n&&n.getAttribute("loading")==="lazy"||!!n.getAttribute(t+"lazy")}function Ls(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"skip")}function fe(n,t,e){Cs?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):n["on"+t]=e}function Ee(n,t,e){n.removeEventListener?n.removeEventListener(t,e,!1):n.detachEvent?n.detachEvent("on"+t,e):n["on"+t]=null}function Is(n){return me(n,"Width")}function As(n){return me(n,"Height")}function Ss(n){return(bs?window.getComputedStyle(n):n.currentStyle)||{}}function me(n,t){var e=n["client"+t]||n["offset"+t];return parseFloat(e||Ss(n)[t.toLowerCase()])||0}function Ns(n,t,e){var s=bt(n.querySelectorAll(Ts(["["+e+"skip] ["+e+"width]"],t.map(function(i){return["["+e+"skip] "+i,i+"["+e+"skip]","["+e+"width] "+i].join(", ")})).join(", ")));return bt(n.querySelectorAll("["+e+"width], "+t.join(", "))).filter(function(i){return s.indexOf(i)===-1})}var et=[];function pe(n,t){!et.length&&fe(window,"resize",ve),n.__PREFIX__=t,et.push(n),ge(n)}function ws(n,t){var e=et.indexOf(n);if(!(e<0)){var s=Tt(n,t+"fixed");delete n.__PREFIX__,n.style[s===_t?Bt:_t]="",et.splice(e,1),!et.length&&Ee(window,"resize",ve)}}function ge(n,t){t===void 0&&(t="data-");var e=n.__PREFIX__||t,s=parseInt(Tt(n,""+e+Bt),10)||0,i=parseInt(Tt(n,""+e+_t),10)||0,r=Tt(n,e+"fixed");if(r===_t){var o=As(n)||i;n.style[Bt]=s/i*o+"px"}else{var o=Is(n)||s;n.style[_t]=i/s*o+"px"}}function ve(){et.forEach(function(n){ge(n)})}var Gt=(function(n){nt(t,n);function t(s,i){i===void 0&&(i={});var r=n.call(this)||this;r.isReady=!1,r.isPreReady=!1,r.hasDataSize=!1,r.hasLoading=!1,r.isSkip=!1,r.onCheck=function(a){r.clear(),a&&a.type==="error"&&r.onError(r.element),!(r.hasLoading&&r.checkElement())&&r.onReady()},r.options=st({prefix:"data-"},i),r.element=s;var o=r.options.prefix;return r.hasDataSize=Os(s,o),r.isSkip=Ls(s,o),r.hasLoading=de(s,o),r}var e=t.prototype;return e.check=function(){return this.isSkip||!this.checkElement()?(this.onAlreadyReady(),!1):(this.hasDataSize&&pe(this.element,this.options.prefix),(this.hasDataSize||this.hasLoading)&&this.onAlreadyPreReady(),!0)},e.addEvents=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){fe(i,r,s.onCheck)})},e.clear=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){Ee(i,r,s.onCheck)}),this.removeAutoSizer()},e.destroy=function(){this.clear(),this.off()},e.removeAutoSizer=function(){if(this.hasDataSize){var s=this.options.prefix;ws(this.element,s)}},e.onError=function(s){this.trigger("error",{element:this.element,target:s})},e.onPreReady=function(){this.isPreReady||(this.isPreReady=!0,this.trigger("preReady",{element:this.element,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onReady=function(){var s=this.isPreReady;this.isPreReady=!0,!this.isReady&&(this.removeAutoSizer(),this.isReady=!0,this.trigger("ready",{element:this.element,withPreReady:!s,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onAlreadyError=function(s){var i=this;setTimeout(function(){i.onError(s)})},e.onAlreadyPreReady=function(){var s=this;setTimeout(function(){s.onPreReady()})},e.onAlreadyReady=function(){var s=this;setTimeout(function(){s.onReady()})},t.EVENTS=[],t})(x),xs=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.setHasLoading=function(s){this.hasLoading=s},e.check=function(){return this.isSkip?(this.onAlreadyReady(),!1):(this.hasDataSize?(pe(this.element,this.options.prefix),this.onAlreadyPreReady()):this.trigger("requestChildren"),!0)},e.checkElement=function(){return!0},e.destroy=function(){this.clear(),this.trigger("requestDestroy"),this.off()},e.onAlreadyPreReady=function(){n.prototype.onAlreadyPreReady.call(this),this.trigger("reqeustReadyChildren")},t.EVENTS=[],t})(Gt),Ps=(function(n){nt(t,n);function t(s){s===void 0&&(s={});var i=n.call(this)||this;return i.readyCount=0,i.preReadyCount=0,i.totalCount=0,i.totalErrorCount=0,i.isPreReadyOver=!0,i.elementInfos=[],i.options=st({loaders:{},prefix:"data-"},s),i}var e=t.prototype;return e.check=function(s){var i=this,r=this.options.prefix;this.clear(),this.elementInfos=bt(s).map(function(a,h){var l=i.getLoader(a,{prefix:r});return l.check(),l.on("error",function(c){i.onError(h,c.target)}).on("preReady",function(c){var _=i.elementInfos[h];_.hasLoading=c.hasLoading,_.isSkip=c.isSkip;var E=i.checkPreReady(h);i.onPreReadyElement(h),E&&i.onPreReady()}).on("ready",function(c){var _=c.withPreReady,E=c.hasLoading,f=c.isSkip,v=i.elementInfos[h];v.hasLoading=E,v.isSkip=f;var T=_&&i.checkPreReady(h),p=i.checkReady(h);_&&i.onPreReadyElement(h),i.onReadyElement(h),T&&i.onPreReady(),p&&i.onReady()}),{loader:l,element:a,hasLoading:!1,hasError:!1,isPreReady:!1,isReady:!1,isSkip:!1}});var o=this.elementInfos.length;return this.totalCount=o,o||setTimeout(function(){i.onPreReady(),i.onReady()}),this},e.getTotalCount=function(){return this.totalCount},e.isPreReady=function(){return this.elementInfos.every(function(s){return s.isPreReady})},e.isReady=function(){return this.elementInfos.every(function(s){return s.isReady})},e.hasError=function(){return this.totalErrorCount>0},e.clear=function(){this.isPreReadyOver=!1,this.totalCount=0,this.preReadyCount=0,this.readyCount=0,this.totalErrorCount=0,this.elementInfos.forEach(function(s){s.loader&&s.loader.destroy()}),this.elementInfos=[]},e.destroy=function(){this.clear(),this.off()},e.getLoader=function(s,i){var r=this,o=s.tagName.toLowerCase(),a=this.options.loaders,h=i.prefix,l=Object.keys(a);if(a[o])return new a[o](s,i);var c=new xs(s,i),_=bt(s.querySelectorAll(l.join(", ")));c.setHasLoading(_.some(function(f){return de(f,h)}));var E=this.clone().on("error",function(f){c.onError(f.target)}).on("ready",function(){c.onReady()});return c.on("requestChildren",function(){var f=Ns(s,l,r.options.prefix);E.check(f).on("preReady",function(v){v.isReady||c.onPreReady()})}).on("reqeustReadyChildren",function(){E.check(_)}).on("requestDestroy",function(){E.destroy()}),c},e.clone=function(){return new t(st({},this.options))},e.checkPreReady=function(s){return this.elementInfos[s].isPreReady=!0,++this.preReadyCount,!(this.preReadyCount<this.totalCount)},e.checkReady=function(s){return this.elementInfos[s].isReady=!0,++this.readyCount,!(this.readyCount<this.totalCount)},e.onError=function(s,i){var r=this.elementInfos[s];r.hasError=!0,this.trigger(new ct("error",{element:r.element,index:s,target:i,errorCount:this.getErrorCount(),totalErrorCount:++this.totalErrorCount}))},e.onPreReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("preReadyElement",{element:i.element,index:s,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isSkip:i.isSkip}))},e.onPreReady=function(){this.isPreReadyOver=!0,this.trigger(new ct("preReady",{readyCount:this.readyCount,totalCount:this.totalCount,isReady:this.isReady(),hasLoading:this.hasLoading()}))},e.onReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("readyElement",{index:s,element:i.element,hasError:i.hasError,errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isPreReadyOver:this.isPreReadyOver,isSkip:i.isSkip}))},e.onReady=function(){this.trigger(new ct("ready",{errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,totalCount:this.totalCount}))},e.getErrorCount=function(){return this.elementInfos.filter(function(s){return s.hasError}).length},e.hasLoading=function(){return this.elementInfos.some(function(s){return s.hasLoading})},t})(x),Ds=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element,i=s.getAttribute("src");if(s.complete){if(i)return s.naturalWidth||this.onAlreadyError(s),!1;this.onAlreadyPreReady()}return this.addEvents(),Rs&&s.setAttribute("src",i),!0},t.EVENTS=["load","error"],t})(Gt),Ms=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element;return s.readyState>=1?!1:s.error?(this.onAlreadyError(s),!1):(this.addEvents(),!0)},t.EVENTS=["loadedmetadata","error"],t})(Gt),Us=(function(n){nt(t,n);function t(e){return e===void 0&&(e={}),n.call(this,st({loaders:{img:Ds,video:Ms}},e))||this}return t})(Ps);function M(n,t,e,s){function i(r){return r instanceof e?r:new e(function(o){o(r)})}return new(e||(e=Promise))(function(r,o){function a(c){try{l(s.next(c))}catch(_){o(_)}}function h(c){try{l(s.throw(c))}catch(_){o(_)}}function l(c){c.done?r(c.value):i(c.value).then(a,h)}l((s=s.apply(n,[])).next())})}class H extends Error{constructor(t,e){super(t),Object.setPrototypeOf(this,H.prototype),this.name="View360Error",this.code=e}}const Fs={WRONG_TYPE:0,ELEMENT_NOT_FOUND:2,CANVAS_NOT_FOUND:3,WEBGL_NOT_SUPPORTED:4,PROVIDE_PROJECTION_FIRST:6,FAILED_LINKING_PROGRAM:7,INSUFFICIENT_ARGS:8},Bs={WRONG_TYPE:(n,t)=>"".concat(typeof n," is not a ").concat(t.map(e=>'"'.concat(e,'"')).join(" or "),"."),WRONG_OPTION:(n,t)=>'Bad option: given "'.concat(n,'" for option "').concat(t,'".'),ELEMENT_NOT_FOUND:n=>'Element with selector "'.concat(n,'" not found.'),CANVAS_NOT_FOUND:"The canvas element was not found inside the given root element.",WEBGL_NOT_SUPPORTED:"WebGL is not supported on this browser.",FAILED_CREATE_CONTEXT_2D:"Failed to create canvas 2D context",PROVIDE_PROJECTION_FIRST:'"projection" should be provided before initialization.',FAILED_LINKING_PROGRAM:(n,t)=>'Failed linking WebGL program - "'.concat(n,"\nShader compile Log: ").concat(t),INSUFFICIENT_ARGS:(n,t)=>'Insufficient arguments: given "'.concat(n,'" for "').concat(t,'".')};var U={CODES:Fs,MESSAGES:Bs};const u={MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",WHEEL:"wheel",RESIZE:"resize",CONTEXT_MENU:"contextmenu",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",KEY_DOWN:"keydown",KEY_UP:"keyup",CLICK:"click",CONTEXT_CREATE_ERROR:"webglcontextcreationerror",CONTEXT_LOST:"webglcontextlost",CONTEXT_RESTORED:"webglcontextrestored",DEVICE_ORIENTATION:"deviceorientation",DEVICE_MOTION:"devicemotion",ORIENTATION_CHANGE:"orientationchange",VIDEO_PLAY:"play",VIDEO_PAUSE:"pause",VIDEO_LOADED_DATA:"loadeddata",VIDEO_VOLUME_CHANGE:"volumechange",VIDEO_TIME_UPDATE:"timeupdate",VIDEO_DURATION_CHANGE:"durationchange",VIDEO_CAN_PLAYTHROUGH:"canplaythrough",TRANSITION_END:"transitionend",XR_END:"end"},z="div",Ot="button";var Vt;(function(n){n[n.LEFT=0]="LEFT",n[n.MIDDLE=1]="MIDDLE",n[n.RIGHT=2]="RIGHT"})(Vt||(Vt={}));const W={GRAB:"grab",GRABBING:"grabbing",NONE:""},Jt=["LEFT","UP","RIGHT","DOWN"];var Rt;(function(n){n[n.LEFT=37]="LEFT",n[n.UP=38]="UP",n[n.RIGHT=39]="RIGHT",n[n.DOWN=40]="DOWN"})(Rt||(Rt={}));const Vs=32,Te={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"},zs=" ",Qt=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","webkitCancelFullScreen","mozRequestFullScreen","msRequestFullscreen"],Gs=["fullscreenElement","webkitFullscreenElement","webkitCurrentFullScreenElement","mozFullScreenElement","msFullscreenElement"],Hs=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],Ct=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],X={CTX_LOST:"view360-ctx-lost",IN_VR:"view360-vr-presenting",HOTSPOT_CONTAINER:"view360-hotspots",HOTSPOT:"view360-hotspot",HOTSPOT_VISIBLE:"view360-hotspot-visible"},O={READY:"ready",LOAD_START:"loadStart",LOAD:"load",PROJECTION_CHANGE:"projectionChange",RESIZE:"resize",BEFORE_RENDER:"beforeRender",RENDER:"render",VIEW_CHANGE:"viewChange",STATIC_CLICK:"staticClick",VR_START:"vrStart",VR_END:"vrEnd"},ks={EASE_OUT_CUBIC:n=>1-Math.pow(1-n,3)};var wt;const ye={ANIMATION_END:"animationEnd"},Ws={UPDATE:"update"},d={INPUT_START:"inputStart",CHANGE:"change",INPUT_END:"inputEnd",ENABLE:"enable",DISABLE:"disable",STATIC_CLICK:"staticClick"},S=Math.PI/180,Z=180/Math.PI,pt=ks.EASE_OUT_CUBIC,gt=300,Lt={min:-1/0,max:1/0},be={min:-90,max:90},Ys={min:.6,max:10};var te;(function(n){n[n.ZERO=0]="ZERO",n[n.CW_90=1]="CW_90",n[n.CCW_90=2]="CCW_90",n[n.CW_180=3]="CW_180"})(te||(te={}));const $="view360videotimechange",xt="http://www.w3.org/2000/svg",ee="immersive-vr",se="local",ie=(wt=Number.EPSILON)!==null&&wt!==void 0?wt:2220446049250313e-31,Ht=n=>typeof n=="string",Xs=n=>!!n&&n.nodeType===Node.ELEMENT_NODE,V=(n,t=z)=>{const e=document.createElement(t);return e.classList.add(n),e},Re=(n,t)=>{let e=null;if(Ht(n)){const i=(t||document).querySelector(n);if(!i)return null;e=i}else Xs(n)&&(e=n);return e},Ks=(n,t)=>{const e=Re(n,t);if(!e)throw Ht(n)?new H(U.MESSAGES.ELEMENT_NOT_FOUND(n),U.CODES.ELEMENT_NOT_FOUND):new H(U.MESSAGES.WRONG_TYPE(n,["HTMLElement","string"]),U.CODES.WRONG_TYPE);return e},js=(n,t)=>{const e=n.querySelector(t);if(!e)throw new H(U.MESSAGES.CANVAS_NOT_FOUND,U.CODES.CANVAS_NOT_FOUND);return e},N=(n,t,e)=>Math.max(Math.min(n,e),t),Ce=(n,t,e)=>n*(1-e)+t*e,it=(n,t,e)=>{const s=Math.abs(e-t);if(n<t){const i=(t-n)%s;n=e-i}else if(n>e){const i=(n-e)%s;n=t+i}return n},qs=(n,t)=>{for(let e=0;e<n.length;e++)if(t(n[e]))return e;return-1},P=n=>typeof n=="object"?n:{},yt=(n,t)=>Math.atan(Math.tan(n*.5)/t)*2,dt=()=>{if(!document)return!1;for(const n of Gs)if(document[n])return!0;return!1},Oe=()=>window.isSecureContext&&!!DeviceMotionEvent&&"requestPermission"in DeviceMotionEvent,$s=(n,t)=>{const e=Math.tan(S*n*.5),s=Math.tan(S*t*.5);return e/s},ne=(n,t,e,s)=>{le(n);const i=.01,r=N(e,-90+i,90-i);return ue(n,n,t*S),ce(n,n,r*S),_e(n,n,s*S),n},Le=n=>{const t=n[0],e=n[1],s=n[2],i=n[3],r=t*t,o=e*e,a=s*s,h=i*i,l=r+o+a+h,c=t*i-e*s;let _,E;if(c>.499995*l)_=Math.PI/2,E=2*Math.atan2(e,t);else if(c<-.499995*l)_=-Math.PI/2,E=-2*Math.atan2(e,t);else{const f=L(0,0,1),v=L(0,1,0);F(f,f,n),F(v,v,n);const T=Math.sqrt(f[0]*f[0]+f[2]*f[2]);_=Math.atan2(-f[1],T),E=Math.atan2(f[0],f[2])}return{pitch:N(_*Z,-90,90),yaw:it(E*Z,0,360)}};class Et{get val(){return this._val}get start(){return this._start}get end(){return this._end}get progress(){return this._progress}get activated(){return this._activated}get duration(){return this._duration}set duration(t){this._duration=t}get loop(){return this._loop}set loop(t){this._loop=t}get range(){return this._range}get easing(){return this._easing}set easing(t){this._easing=t}constructor({duration:t=gt,loop:e=!1,range:s={min:0,max:1},easing:i=pt}={}){this._duration=t,this._loop=e,this._range=s,this._easing=i,this._activated=!1,this.reset(0)}update(t){if(!this._activated)return this._val=this._end,0;const e=this._start,s=this._end,i=this._duration,r=this._val,o=this._loop,a=this._progress+t/i;this._progress=o?it(a,0,1):N(a,0,1);const h=this._easing(this._progress);return this._val=Ce(e,s,h),!o&&this._progress>=1&&(this._activated=!1),this._val-r}reset(t){const e=this._range,s=N(t,e.min,e.max);this._start=s,this._end=s,this._val=s,this._progress=0,this._activated=!1}add(t){const e=this._range;this._start=N(this._start+t,e.min,e.max),this._end=N(this._end+t,e.min,e.max),this._val=N(this._val+t,e.min,e.max)}setNewEndByDelta(t){const e=this._range;this._start=this._val,this._end=N(this._end+t,e.min,e.max),this._progress=0,this._activated=!0}setRange(t,e){this._start=N(this._start,t,e),this._end=N(this._end,t,e),this._range={min:t,max:e}}}class Zs{get duration(){return this._motion.duration}set duration(t){this._motion.duration=t}get easing(){return this._motion.easing}set easing(t){this._motion.easing=t}constructor(t,e,s,{duration:i=gt,easing:r=pt}={}){this._camera=t,this._motion=new Et({duration:i,easing:r,range:{min:0,max:1}}),this._from=e,this._to=s,this._finishPromise=new Promise(o=>{this._finish=o}),this._motion.setNewEndByDelta(1)}getFinishPromise(){return this._finishPromise}update(t){const e=this._camera,s=this._from,i=this._to,r=this._motion;r.update(t);const o=r.val,a=G(),h=Ce(s.zoom,i.zoom,o);vt(a,s.rotation,i.rotation,o),e.rotate(a,h),o>=1&&this._finish()}}class Js extends x{get aspect(){return this._aspect}get changed(){return this._changed}get yawRange(){return this._initialYawRange}set yawRange(t){this._initialYawRange=t}get pitchRange(){return this._initialPitchRange}set pitchRange(t){this._initialPitchRange=t}get zoomRange(){return this._initialZoomRange}set zoomRange(t){this._initialZoomRange=t}constructor({initialYaw:t,initialPitch:e,initialZoom:s,yawRange:i,pitchRange:r,zoomRange:o,fov:a}){super(),this.yaw=t,this.pitch=e,this.zoom=s,this.rollOffset=0,this.initialYaw=t,this.initialPitch=e,this.initialZoom=s,this.position=B(),this.animation=null,this._up=L(0,1,0),this._aspect=1,this._initialYawRange=i,this._initialPitchRange=r,this._initialZoomRange=o,this._yawRange=i,this._pitchRange=r,this._zoomRange=o,this.quaternion=G(),this._updateQuaternion(),this.viewMatrix=ft(),this.projectionMatrix=ft(),this.fov=a,this._maxRenderHeight=-1}destroy(){this.off()}resize(t,e){const s=this._aspect;this._aspect=t/e,this._aspect!==s&&this.updateMatrix()}lookAt({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom}){const i=ut(this.quaternion),r=this.zoom;this.yaw=it(t,0,360),this.pitch=N(e,-90,90),this.zoom=s,this._updateQuaternion();const o=Math.abs(s-r);(!Zt(this.quaternion,i)||o>=ie*10)&&this.updateMatrix()}rotate(t,e=this.zoom){const s=tt(G(),t),i=Zt(this.quaternion,s);ms(this.quaternion,s);const r=this.zoom,{yaw:o,pitch:a}=Le(s);this.yaw=o,this.pitch=a,this.zoom=e;const h=Math.abs(e-r);(!i||h>=ie*10)&&this.updateMatrix()}animateTo({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom,duration:i=0,easing:r=pt}={}){return M(this,void 0,void 0,function*(){if(this.yaw===t&&this.pitch===e&&this.zoom===s)return;const o={rotation:ut(this.quaternion),zoom:this.zoom},a={rotation:ne(G(),t,e,this.rollOffset),zoom:s},h=new Zs(this,o,a,{duration:i,easing:r}),l=h.getFinishPromise();return this.animation=h,l.then(()=>{this.animation=null,this.trigger(ye.ANIMATION_END,{animation:h})}),l})}restrictYawRange(t,e){this._yawRange={min:t,max:e}}restrictPitchRange(t,e){this._pitchRange={min:t,max:e}}restrictZoomRange(t,e){this._zoomRange={min:t,max:e}}restrictRenderHeight(t){this._maxRenderHeight=t}resetRange(){this._yawRange=this._initialYawRange,this._pitchRange=this._initialPitchRange,this._zoomRange=this._initialZoomRange,this._maxRenderHeight=-1}getYawRange(t){const e=this._yawRange,s=this._maxRenderHeight;if(!e)return Lt;const i=this.getHorizontalFov(t)*.5;let r=e.min,o=e.max;if(s>0){const a=yt(i*S,this._aspect),h=s*.5,l=Math.tan(a),c=Math.sqrt((1+h*h)/(1+l*l)),_=Math.atan(Math.tan(i*S)*c)*Z;r=e.min+_,o=e.max-_}return r>o&&(r=0,o=0),{min:r,max:o}}getPitchRange(t){const e=this._pitchRange,s=this._maxRenderHeight;if(!e)return be;let i=e.min,r=e.max;if(s>0){const o=this.getVerticalFov(t)*.5;i=e.min+o,r=e.max-o}return i>r&&(i=0,r=0),{min:Math.max(i,-90),max:Math.min(r,90)}}getZoomRange(){var t;const e=(t=this._zoomRange)!==null&&t!==void 0?t:Ys,s=this.getHorizontalFov(e.max),i=this.getHorizontalFov(e.min),r=this.getHorizontalFov(this.zoom);return{min:Math.max(s,1),max:Math.min(i,180),current:r}}getHorizontalFov(t=this.zoom){return this._getZoomedHorizontalFov(t)*Z}getVerticalFov(t=this.zoom){const e=this._aspect,s=this._getZoomedHorizontalFov(t);return yt(s,e)*Z}fovToZoom(t){const e=this.fov,s=Math.tan(S*e*.5),i=Math.tan(S*t*.5);return s/i}updateMatrix(){const t=this._up,e=this._aspect,s=this.viewMatrix,i=this.projectionMatrix,r=this.position,o=this.quaternion,a=B(),h=L(0,0,-1);F(h,h,o),F(a,t,o);const l=this._getZoomedHorizontalFov(),c=yt(l,e);es(s,r,h,a),ts(i,c,e,.1,100),this._changed=!0}onFrameRender(){this._changed=!1}_updateQuaternion(){ne(this.quaternion,this.yaw,this.pitch,this.rollOffset)}_getZoomedHorizontalFov(t=this.zoom){return 2*Math.atan(Math.tan(S*this.fov*.5)/t)}}class Ie extends x{constructor(){super(),this._onMouseDown=t=>{const e=this._el;!e||t.button!==Vt.LEFT||(t.preventDefault(),e.focus?e.focus():window.focus(),this._prevPos[0]=t.clientX,this._prevPos[1]=t.clientY,window.addEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.addEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}))},this._onMouseMove=t=>{t.preventDefault();const e=t.clientX,s=t.clientY,i=this._prevPos,r=e-i[0],o=s-i[1];this.trigger(d.CHANGE,{delta:{x:r,y:o},isTouch:!1,isKeyboard:!1}),i[0]=e,i[1]=s},this._onMouseUp=()=>{this._prevPos[0]=0,this._prevPos[1]=0,window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1})},this._el=null,this._prevPos=[0,0]}enable(t){this._el||(t.addEventListener(u.MOUSE_DOWN,this._onMouseDown),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.MOUSE_DOWN,this._onMouseDown),window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this._el=null)}}class Ae extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onTouchStart=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0];this._isFirstTouch=!0,this._prevPos[0]=e.clientX,this._prevPos[1]=e.clientY,this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1})},this._onTouchMove=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0],s=this._scrollable,i=this._prevPos,r=e.clientX,o=e.clientY,a=r-i[0],h=o-i[1];if(this._isFirstTouch){if(s&&!dt()&&Math.abs(h)>Math.abs(a)){this._scrolling=!0;return}this._isFirstTouch=!1}t.cancelable!==!1&&t.preventDefault(),this.trigger(d.CHANGE,{delta:{x:a,y:h},isTouch:!0,isKeyboard:!1}),i[0]=r,i[1]=o},this._onTouchEnd=t=>{if(t.touches.length!==0)return;const e=t.touches[0],s=this._prevPos;e?(s[0]=e.clientX,s[1]=e.clientY):(s[0]=0,s[1]=0,this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:this._scrolling})),t.cancelable!==!1&&t.preventDefault(),this._scrolling=!1},this._el=null,this._prevPos=[0,0],this._isFirstTouch=!1,this._scrolling=!1,this._scrollable=!1}enable(t){this._el||(t.addEventListener(u.TOUCH_START,this._onTouchStart,{passive:!1}),t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_START,this._onTouchStart),t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class Qs extends x{get active(){const t=this._pressed;return t.LEFT||t.UP||t.RIGHT||t.DOWN}constructor(){super(),this._onKeyDown=t=>{if(t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD)return;this._updateKeyPress(t,!0);const e=this._getPressedKeyCount();e<=0||(t.preventDefault(),e===1&&!t.repeat&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!0}))},this._onKeyUp=t=>{t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD||(this._updateKeyPress(t,!1),this._getPressedKeyCount()>0)||this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!0,scrolling:!1})},this._el=null,this._clearPressedKeys()}enable(t){this._el||(t.addEventListener(u.KEY_DOWN,this._onKeyDown),t.addEventListener(u.KEY_UP,this._onKeyUp),this._el=t,this._clearPressedKeys())}disable(){const t=this._el;t&&(t.removeEventListener(u.KEY_DOWN,this._onKeyDown),t.removeEventListener(u.KEY_UP,this._onKeyUp),this._el=null,this._clearPressedKeys())}update(){const t=this._getDeltaByPressedKeys();(t.x!==0||t.y!==0)&&this.trigger(d.CHANGE,{delta:t,isTouch:!1,isKeyboard:!0})}_clearPressedKeys(){this._pressed=Jt.reduce((t,e)=>Object.assign(Object.assign({},t),{[e]:!1}),{})}_updateKeyPress(t,e){const s=this._pressed,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];i&&(s[i]=e)}_getPressedKeyCount(){return Jt.filter(t=>this._pressed[t]).length}_getDeltaByPressedKeys(){const t=this._pressed;let e=0,s=0;return t.LEFT&&(e+=1),t.RIGHT&&(e-=1),t.UP&&(s+=1),t.DOWN&&(s-=1),{x:e,y:s}}}class ti extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._keyboardInput.active||this._xMotion.activated||this._yMotion.activated}get yaw(){return this._xMotion}get pitch(){return this._yMotion}get scrollable(){return this._touchInput.scrollable}set scrollable(t){this._touchInput.scrollable=t}get pointerScale(){return this._pointerScale}set pointerScale(t){this._pointerScale=t}get keyboardScale(){return this._keyboardScale}set keyboardScale(t){this._keyboardScale=t}get duration(){return this._duration}set duration(t){this._duration=t,this._xMotion.duration=t,this._yMotion.duration=t}get easing(){return this._easing}set easing(t){this._easing=t,this._xMotion.easing=t,this._yMotion.easing=t}get disablePitch(){return this._disablePitch}set disablePitch(t){this._disablePitch=t}get disableYaw(){return this._disableYaw}set disableYaw(t){this._disableYaw=t}get disableKeyboard(){return this._disableKeyboard}set disableKeyboard(t){this._disableKeyboard=t}constructor(t,e,{duration:s=gt,easing:i=pt,pointerScale:r=[1,1],keyboardScale:o=[1,1],disablePitch:a=!1,disableYaw:h=!1,disableKeyboard:l=!1}={}){super(),this._onInputStart=c=>{this._changedWhileDragging=!1,this.trigger(d.INPUT_START,Object.assign(Object.assign({},c),{inputType:"rotate"}))},this._onChange=c=>{const _=c.delta,E=1/this._zoomScale,f=this._screenScale,v=this._keyboardScale,T=this._pointerScale;let p;c.isKeyboard?p=[v[0]*E,v[1]*E]:p=[T[0]*f[0]*E,T[1]*f[1]*E];const b=_.x*p[0],C=_.y*p[1];this._xMotion.setNewEndByDelta(b),this._yMotion.setNewEndByDelta(C),this._changedWhileDragging=!0},this._onInputEnd=c=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},c),{inputType:"rotate"})),!this._changedWhileDragging&&!c.isKeyboard&&!c.scrolling&&this.trigger(d.STATIC_CLICK,{isTouch:c.isTouch}),this._changedWhileDragging=!1},this._controlEl=t,this._pointerScale=r,this._keyboardScale=o,this._duration=s,this._easing=i,this._disablePitch=a,this._disableYaw=h,this._disableKeyboard=l,this._enableBlocked=e,this._mouseInput=new Ie,this._touchInput=new Ae,this._keyboardInput=new Qs,this._xMotion=new Et({duration:s,range:Lt,easing:i}),this._yMotion=new Et({duration:s,range:be,easing:i}),this._screenScale=[1,1],this._zoomScale=1,this._enabled=!1,this._changedWhileDragging=!1,this._bindInputs()}destroy(){this.disable(),this._mouseInput.off(),this._touchInput.off(),this._keyboardInput.off(),this.off(),this._changedWhileDragging=!1}update(t){if(!this._enabled)return;const e=this._xMotion,s=this._yMotion,i=this._keyboardInput;this._disableKeyboard||i.update(),this._disablePitch||s.update(t),this._disableYaw||e.update(t)}updateRange(t,e){const s=t.getYawRange(e),i=t.getPitchRange(e);this._xMotion.setRange(s.min,s.max),this._yMotion.setRange(i.min,i.max)}setZoomScale(t){this._zoomScale=t}resize(t,e,s,i){const r=yt(t*S,e)*Z;this._screenScale[0]=t/s,this._screenScale[1]=r/i}enable(){if(this._enabled)return;const t=this._controlEl;this._mouseInput.enable(t),this._touchInput.enable(t),this._keyboardInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!0})}disable(){this._enabled&&(this._mouseInput.disable(),this._touchInput.disable(),this._keyboardInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!0}))}sync(t){this.updateRange(t,t.zoom),this._xMotion.reset(t.yaw),this._yMotion.reset(t.pitch)}_bindInputs(){const t=this._mouseInput,e=this._touchInput,s=this._keyboardInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd),s.on(d.INPUT_START,this._onInputStart),s.on(d.CHANGE,this._onChange),s.on(d.INPUT_END,this._onInputEnd)}}class ei extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onWheel=t=>{const e=this._scrollable;if(t.deltaY===0||e)return;t.preventDefault(),t.stopPropagation(),this._inputTimer<0?this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}):this._clearTimer();const s=this._baseScale*t.deltaY;this.trigger(d.CHANGE,{delta:s,isTouch:!1,isKeyboard:!1}),this._inputTimer=window.setTimeout(()=>{this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1}),this._inputTimer=-1},gt)},this._el=null,this._baseScale=.04,this._scrollable=!1,this._inputTimer=-1}enable(t){this._el||(t.addEventListener(u.WHEEL,this._onWheel,{passive:!1,capture:!1}),this._el=t,this._clearTimer())}disable(){const t=this._el;t&&(t.removeEventListener(u.WHEEL,this._onWheel,!1),this._el=null,this._clearTimer())}_clearTimer(){window.clearTimeout(this._inputTimer),this._inputTimer=-1}}class si extends x{constructor(){super(),this._onTouchMove=t=>{const e=t.touches;if(e.length!==2||!t.cancelable)return;t.preventDefault(),t.stopPropagation();const s=this._prevDistance,i=[e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY],r=Math.sqrt(i[0]*i[0]+i[1]*i[1])*this._baseScale,o=this._isFirstTouch?0:r-s;this._isFirstTouch&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1}),this._prevDistance=r,this._isFirstTouch=!1,this.trigger(d.CHANGE,{delta:o,isTouch:!0,isKeyboard:!1})},this._onTouchEnd=t=>{t.touches.length===0&&(this._isFirstTouch||this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:!1}),this._prevDistance=-1,this._isFirstTouch=!0)},this._el=null,this._baseScale=-.2,this._prevDistance=-1,this._isFirstTouch=!0}enable(t){this._el||(t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1,capture:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t,this._prevDistance=-1,this._isFirstTouch=!0)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove,!1),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class ii extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._motion.activated}get zoom(){return this._motion.val}get scrollable(){return this._wheelInput.scrollable}set scrollable(t){this._wheelInput.scrollable=t}get range(){return this._motion.range}get scale(){return this._scale}set scale(t){this._scale=t}get duration(){return this._motion.duration}get easing(){return this._motion.easing}constructor(t,e,{scale:s=1,duration:i=gt,easing:r=pt}={}){super(),this._onInputStart=o=>{this.trigger(d.INPUT_START,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._onChange=({delta:o})=>{const a=this._scale,h=o*a;this._motion.setNewEndByDelta(h)},this._onInputEnd=o=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._scale=s,this._controlEl=t,this._enableBlocked=e,this._wheelInput=new ei,this._pinchInput=new si,this._motion=new Et({duration:i,easing:r,range:Lt}),this._enabled=!1,this._bindInputs()}destroy(){this.disable(),this._wheelInput.off(),this._pinchInput.off(),this.off()}update(t){if(!this._enabled)return;this._motion.update(t)}enable(){if(this._enabled)return;const t=this._controlEl;this._wheelInput.enable(t),this._pinchInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1})}disable(){this._enabled&&(this._wheelInput.disable(),this._pinchInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!1}))}sync(t){const e=this._motion,s=t.getZoomRange();e.setRange(s.min,s.max),e.reset(s.current)}_bindInputs(){const t=this._wheelInput,e=this._pinchInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd)}}const D={PITCH_DELTA:1,YAW_DELTA_BY_ROLL:2,YAW_DELTA_BY_YAW:3};D[D.PITCH_DELTA]={targetAxis:[0,1,0],meshPoint:[0,0,1]};D[D.YAW_DELTA_BY_ROLL]={targetAxis:[0,1,0],meshPoint:[1,0,0]};D[D.YAW_DELTA_BY_YAW]={targetAxis:[1,0,0],meshPoint:[0,0,1]};class ni extends x{get enabled(){return this._enabled}get orientationUpdated(){return this._orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}constructor(){super(),this._onDeviceOrientation=t=>{const e=this._orientation,{alpha:s,beta:i,gamma:r}=t;s==null||i==null||r==null||(e.alpha=s,e.beta=i,e.gamma=r,this._orientationUpdated=!0,this._needsCalibrate&&(this._needsCalibrate=!1,this._calibrateSensor()))},this._updateScreenOrientation=()=>{window.screen&&window.screen.orientation&&window.screen.orientation.angle!==void 0?this._screenOrientation=screen.orientation.angle:window.orientation!==void 0?this._screenOrientation=window.orientation>=0?window.orientation:360+window.orientation:this._screenOrientation=0},this.quaternion=G(),this._orientation={alpha:0,beta:90,gamma:0},this._yawOrigin=0,this._yawOffset=0,this._orientationUpdated=!1,this._screenOrientation=0,this._needsCalibrate=!0,this._enabled=!1}enable(){this._enabled||(window.addEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.addEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._updateScreenOrientation(),this._orientationUpdated=!1,this._needsCalibrate=!0,this._enabled=!0)}disable(){this._enabled&&(window.removeEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.removeEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._enabled=!1)}update(){this._updateRotation(),this._orientationUpdated=!1}collectDelta(){if(!this._orientationUpdated)return{pitch:0,yaw:0};const t=ut(this.quaternion);return this._updateRotation(),this._orientationUpdated=!1,this._toEulerDelta(t,this.quaternion)}setInitialRotation(t){this._yawOrigin=t}_calibrateSensor(){const t=this._yawOrigin,e=this.quaternion;this._yawOffset=0,this._updateRotation();const{yaw:s}=Le(e);this._yawOffset=s-t,this._updateRotation(),this._needsCalibrate=!1}_updateRotation(){const t=this.quaternion,{alpha:e,beta:s,gamma:i}=this._orientation;le(t),ue(t,t,(e-this._yawOffset)*S),ce(t,t,s*S),_e(t,t,-i*S);const r=G(),o=-this._screenOrientation*.5*S,a=Es(-Math.sqrt(.5),0,0,Math.sqrt(.5));ps(r,0,Math.sin(o),0,Math.cos(o)),$t(t,t,r),$t(t,t,a),tt(t,t)}_toEulerDelta(t,e){return{yaw:this._getDeltaYaw(t,e),pitch:this._getDeltaPitch(t,e)}}_getDeltaYaw(t,e){const s=this._getRotationDelta(t,e,D.YAW_DELTA_BY_YAW);return this._getRotationDelta(t,e,D.YAW_DELTA_BY_ROLL)*Math.sin(this._extractPitchFromQuat(e))+s}_getDeltaPitch(t,e){return this._getRotationDelta(t,e,D.PITCH_DELTA)}_getRotationDelta(t,e,s){const i=L(D[s].targetAxis[0],D[s].targetAxis[1],D[s].targetAxis[2]),r=D[s].meshPoint,o=ut(t),a=ut(e);tt(o,o),tt(a,a);let h=L(0,0,1),l=L(0,0,1);F(h,h,o),F(l,l,a),F(i,i,a);const _=he(i,Q(B(),h,l))>0?1:-1,E=L(r[0],r[1],r[2]);let f;s!==D.YAW_DELTA_BY_YAW?f=L(0,_,0):f=L(_,0,0),F(E,E,a),F(f,f,a);const v=E,T=f,p=B();Q(p,v,T),ae(p,p);const b=p[0],C=p[1],y=p[2];l=L(r[0],r[1],r[2]),F(l,l,a),h=L(r[0],r[1],r[2]),F(h,h,o);let g=Math.abs(h[0]*b+h[1]*C+h[2]*y);const m=B();is(m,h,ns(B(),p,g));let R=(m[0]*l[0]+m[1]*l[1]+m[2]*l[2])/(Ut(m)*Ut(l));R>1&&(R=1);const It=Math.acos(R),rt=Q(B(),l,m);g=b*rt[0]+C*rt[1]+y*rt[2];let ot;return s!==D.YAW_DELTA_BY_YAW?ot=g>0?1:-1:ot=g<0?1:-1,It*ot*_*Z}_extractPitchFromQuat(t){const e=L(0,0,1);return F(e,e,t),-1*Math.atan2(e[1],Math.sqrt(Math.pow(e[0],2)+Math.pow(e[2],2)))}}class mt extends x{get enabled(){return this._input.enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._input.enabled&&this._input.orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}static isAvailable(){return M(this,void 0,void 0,function*(){if(!DeviceMotionEvent)return!1;let t;const e=()=>new Promise(i=>{t=r=>{i(r.rotationRate&&r.rotationRate.alpha!=null)},window.addEventListener(u.DEVICE_MOTION,t)}),s=()=>new Promise(i=>{setTimeout(()=>i(!1),1e3)});return Promise.race([e(),s()]).then(i=>(window.removeEventListener(u.DEVICE_MOTION,t),i))})}static requestSensorPermission(){return M(this,void 0,void 0,function*(){return Oe()?DeviceMotionEvent.requestPermission().then(t=>t==="granted").catch(()=>!1):!0})}constructor(t,{ignoreRoll:e=!0}={}){super(),this._enableBlocked=t,this._ignoreRoll=e,this._input=new ni}destroy(){this.disable(),this._input.off(),this.off()}update(t,e,s,i){this._ignoreRoll?this._updateYawPitch(t,e,s,i):this._updateQuaternion(t,i)}enable(){this._input.enabled||(this._input.enable(),this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1}))}disable(){this._input.enabled&&(this._input.disable(),this.trigger(d.DISABLE,{updateCursor:!1}))}sync(){}_updateYawPitch(t,e,s,i){const r=this._input;if(!r.enabled)return;const{yaw:o,pitch:a}=r.collectDelta();e.add(o),s.add(a),t.lookAt({yaw:e.val,pitch:s.val,zoom:i})}_updateQuaternion(t,e){const s=this._input;s.enabled&&(s.update(),t.rotate(s.quaternion,e))}}class ri{get useGrabCursor(){return this._useGrabCursor}set useGrabCursor(t){t!==this._useGrabCursor&&(this._useGrabCursor=t,t&&this._enabled?this._setCursor(W.GRAB):t||this._setCursor(W.NONE))}get disableContextMenu(){return this._disableContextMenu}set disableContextMenu(t){t!==this._disableContextMenu&&(this._disableContextMenu=t,t&&this._enabled?this._blockContextMenu():t||this._restoreContextMenu())}get scrollable(){return this._rotateControl.scrollable}set scrollable(t){this._rotateControl.scrollable=t}get wheelScrollable(){return this._zoomControl.scrollable}set wheelScrollable(t){this._zoomControl.scrollable=t}get ignoreZoomScale(){return this._ignoreZoomScale}set ignoreZoomScale(t){this._ignoreZoomScale=t}get enabled(){return this._enabled}get rotate(){return this._rotateControl}get zoom(){return this._zoomControl}get gyro(){return this._gyroControl}get animating(){return this._rotateControl.animating||this._zoomControl.animating||this._gyroControl.animating}constructor(t,e,{useGrabCursor:s,scrollable:i,wheelScrollable:r,disableContextMenu:o,rotate:a,zoom:h,gyro:l}){this._preventContextMenu=c=>{c.preventDefault()},this._onInputStart=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRABBING)},this._onInputEnd=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRAB)},this._onEnable=({control:c,updateCursor:_})=>{_&&this._useGrabCursor&&this._setCursor(W.GRAB),c.sync(this._camera)},this._onDisable=({updateCursor:c})=>{c&&this._setCursor(W.NONE)},this._onCameraAnimationEnd=({animation:c})=>{c.getFinishPromise().then(()=>{this.sync()})},this._useGrabCursor=s,this._disableContextMenu=o,this._camera=e,this._controlEl=t,this._ignoreZoomScale=!1,this._enabled=!1,this._rotateControl=new ti(t,!a,P(a)),this._zoomControl=new ii(t,!h,P(h)),this._gyroControl=new mt(!l,P(l)),this._rotateControl.scrollable=i,this._zoomControl.scrollable=r,this._bindEvents()}destroy(){this.disable(),this._rotateControl.destroy(),this._zoomControl.destroy(),this._setCursor(W.NONE)}resize(t,e){const s=this._camera;this._rotateControl.resize(s.fov,s.aspect,t,e)}enable(){return M(this,void 0,void 0,function*(){this._enabled||(this._rotateControl.enableBlocked||this._rotateControl.enable(),this._zoomControl.enableBlocked||this._zoomControl.enable(),this._gyroControl.enableBlocked||(yield mt.isAvailable())&&this._gyroControl.enable(),this.sync(),this._disableContextMenu&&this._blockContextMenu(),this._enabled=!0)})}disable(){this._enabled&&(this._rotateControl.disable(),this._zoomControl.disable(),this._gyroControl.disable(),this._restoreContextMenu(),this._enabled=!1)}update(t){const e=this._camera,s=this._rotateControl,i=this._zoomControl,r=this._gyroControl;i.update(t);const o=$s(e.fov,i.zoom),a=this._ignoreZoomScale?1:Math.max(o,1);s.setZoomScale(a),s.updateRange(e,o),s.update(t);const h=s.yaw,l=s.pitch;r.enabled?r.update(e,h,l,o):e.lookAt({yaw:h.val,pitch:l.val,zoom:o})}sync(){const t=this._camera;this._zoomControl.sync(t),this._rotateControl.sync(t)}_blockContextMenu(){this._controlEl.addEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_restoreContextMenu(){this._controlEl.removeEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_setCursor(t){if(!this._useGrabCursor&&t!==W.NONE)return;const e=this._controlEl;e.style.cursor=t}_bindEvents(){const t=this._rotateControl,e=this._zoomControl;t.on(d.INPUT_START,this._onInputStart),t.on(d.INPUT_END,this._onInputEnd),t.on(d.ENABLE,this._onEnable),t.on(d.DISABLE,this._onDisable),e.on(d.ENABLE,this._onEnable),e.on(d.DISABLE,this._onDisable),this._camera.on(ye.ANIMATION_END,this._onCameraAnimationEnd)}}class Se{constructor({width:t,height:e,flipY:s}){this.width=t,this.height=e,this.flipY=s,this.wrapS=WebGLRenderingContext.CLAMP_TO_EDGE,this.wrapT=WebGLRenderingContext.CLAMP_TO_EDGE}destroy(){}isVideo(){return!1}isCube(){return!1}}class Ne extends Se{constructor({source:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.source=t}}class oi extends Ne{destroy(){const t=this.source;t.pause(),t.removeAttribute("src"),t.load()}isVideo(){return!0}isPaused(){const t=this.source;return t.paused||t.ended||t.readyState<=2}hasAudio(){const t=this.source;return t.audioTracks?t.audioTracks.length>0:t.webkitAudioDecodedByteCount!=null?t.webkitAudioDecodedByteCount>0:t.mozHasAudio!=null?t.mozHasAudio:!0}}class ai extends Se{constructor({sources:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.sources=t}isCube(){return!0}}class hi{constructor(){this._loadChecker=new Us}load(t,e){return M(this,void 0,void 0,function*(){if(e)return this.loadVideo(t,P(e));if(Array.isArray(t)&&t.length>1)return this.loadCubeImage(t);{const s=Array.isArray(t)?t[0]:t;return this.loadImage(s)}})}loadImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{const i=e[0];s(new Ne({source:i,width:i.naturalWidth,height:i.naturalHeight,flipY:!0}))})})}loadCubeImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{s(new ai({sources:e,width:e[0].naturalWidth,height:e[0].naturalHeight,flipY:!1}))})})}loadVideo(t,e){return M(this,void 0,void 0,function*(){const s=Object.assign({autoplay:!0,muted:!0,loop:!1,volume:1},e),i=this._toVideoElement(t,s);return this._load([i],r=>{const{autoplay:o,muted:a}=s;i.currentTime=0,o&&a&&i.play().catch(()=>{}),r(new oi({source:i,width:i.videoWidth,height:i.videoHeight,flipY:!0}))})})}_load(t,e){const s=this._loadChecker;return new Promise((i,r)=>{s.once("ready",o=>{o.errorCount>0||e(i)}),s.once("error",r),s.check(t)})}_toImageArray(t){return(Array.isArray(t)?t:[t]).map(s=>{if(Ht(s)){const i=new Image;return i.crossOrigin="anonymous",i.src=s,i}else return s})}_toVideoElement(t,{muted:e,loop:s,volume:i}){if(t instanceof HTMLVideoElement)return t;const r=document.createElement("video");return r.crossOrigin="anonymous",r.playsInline=!0,r.setAttribute("webkit-playsinline",""),r.muted=e,r.volume=i,r.loop=s,Array.isArray(t)?t.forEach(a=>this._appendSourceElement(r,a)):this._appendSourceElement(r,t),r.querySelectorAll("source").length>0&&r.readyState<1&&r.load(),r}_appendSourceElement(t,e){if(e instanceof HTMLSourceElement)return e;const s=document.createElement("source");s.src=e,t.appendChild(s)}}class li{constructor(t,e=window){this.maxDeltaTime=t,this._context=e,this._rafId=-1,this._rafTimer=-1,this._lastUpdateTime=-1}start(t){const e=this._context;if(!e||!t||this._rafId>=0||this._rafTimer>=0)return;const s=(i,r)=>{const o=Date.now(),a=Math.min(o-this._lastUpdateTime,this.maxDeltaTime*1e3);t(a,r),this._lastUpdateTime=o,this._rafId=e.requestAnimationFrame(s)};this._lastUpdateTime=Date.now(),this._rafId=e.requestAnimationFrame(s)}stop(){this._rafId>=0&&this._context.cancelAnimationFrame(this._rafId),this._rafTimer>=0&&clearTimeout(this._rafTimer),this._rafId=-1,this._rafTimer=-1}changeContext(t){this.stop(),this._context=t}}class ci{get useResizeObserver(){return this._useResizeObserver}get enabled(){return this._enabled}constructor(t,e){this._skipFirstResize=(()=>{let s=!0;return()=>{if(s){s=!1;return}this._onResize()}})(),this._useResizeObserver=t,this._enabled=!1,this._resizeObserver=null,this._onResize=e}enable(t){if(this._enabled&&this.disable(),this._useResizeObserver&&window.ResizeObserver){const e=t.getBoundingClientRect(),s=e.width!==0||e.height!==0,i=new ResizeObserver(s?this._skipFirstResize:this._onResize);i.observe(t),this._resizeObserver=i}else window.addEventListener(u.RESIZE,this._onResize);return this._enabled=!0,this}disable(){if(!this._enabled)return this;const t=this._resizeObserver;return t?(t.disconnect(),this._resizeObserver=null):window.removeEventListener(u.RESIZE,this._onResize),this._enabled=!1,this}}class ui{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get playing(){return this._enabled&&!this._interrupted}get delay(){return this._delay}set delay(t){this._delay=t}get delayOnMouseLeave(){return this._delayOnMouseLeave}set delayOnMouseLeave(t){this._delayOnMouseLeave=t}get speed(){return this._speed}set speed(t){this._speed=t}get pauseOnHover(){return this._pauseOnHover}set pauseOnHover(t){this._pauseOnHover=t}get canInterrupt(){return this._canInterrupt}set canInterrupt(t){this._canInterrupt=t}get disableOnInterrupt(){return this._disableOnInterrupt}set disableOnInterrupt(t){this._disableOnInterrupt=t}constructor(t,e,s){this._onInputStart=()=>{this._canInterrupt&&(this._interrupted=!0,this._clearTimeout())},this._onInputEnd=()=>{this._setUninterruptedAfterDelay(this._delay)},this._onGyroEnable=()=>{this.disable()},this._onMouseEnter=()=>{this._pauseOnHover&&(this._interrupted=!0,this._hovering=!0)},this._onMouseLeave=()=>{this._pauseOnHover&&(this._hovering=!1,this._setUninterruptedAfterDelay(this._delayOnMouseLeave))},this._camera=t.camera,this._control=t.control,this._element=e,this._enabled=!1,this._interrupted=!1,this._interruptionTimer=-1,this._hovering=!1;const{delay:i=2e3,delayOnMouseLeave:r=0,speed:o=1,pauseOnHover:a=!1,canInterrupt:h=!0,disableOnInterrupt:l=!1}=P(s);this._enableBlocked=!s,this._delay=i,this._delayOnMouseLeave=r,this._speed=o,this._pauseOnHover=a,this._canInterrupt=h,this._disableOnInterrupt=l}destroy(){this.disable()}update(t){if(!this._enabled)return;if(this._interrupted){this._disableOnInterrupt&&this.disable();return}const e=this._camera,s=-this._speed*t/100;e.yaw=it(e.yaw+s,0,360)}enable(){const t=this._control,e=this._element;this._enabled||t.gyro.enabled||(t.rotate.on(d.INPUT_START,this._onInputStart),t.rotate.on(d.INPUT_END,this._onInputEnd),t.zoom.on(d.INPUT_START,this._onInputStart),t.zoom.on(d.INPUT_END,this._onInputEnd),t.gyro.on(d.ENABLE,this._onGyroEnable),e.addEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!0,this._enableBlocked=!1)}enableAfterDelay(){this.enable(),this._interrupted=!0,this._setUninterruptedAfterDelay(this._delay)}disable(){if(!this._enabled)return;const t=this._control,e=this._element;t.rotate.off(d.INPUT_START,this._onInputStart),t.rotate.off(d.INPUT_END,this._onInputEnd),t.zoom.off(d.INPUT_START,this._onInputStart),t.zoom.off(d.INPUT_END,this._onInputEnd),t.gyro.off(d.ENABLE,this._onGyroEnable),e.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!1,this._interrupted=!1,this._hovering=!1,this._clearTimeout()}_setUninterruptedAfterDelay(t){this._hovering||(this._clearTimeout(),t>0?this._interruptionTimer=window.setTimeout(()=>{this._interrupted=!1,this._interruptionTimer=-1},t):(this._interrupted=!1,this._interruptionTimer=-1))}_clearTimeout(){this._interruptionTimer>=0&&(window.clearTimeout(this._interruptionTimer),this._interruptionTimer=-1)}}class _i extends x{constructor(t,e={}){super(),this.destroy=()=>{this.exit(),this.off()},this._onSessionEnd=()=>{this.exit(),this.trigger(O.VR_END)},this._xrSession=null,this._xrRefSpace=null,this._ctx=t,this._options=e}isAvailable(){return M(this,void 0,void 0,function*(){const t=window.navigator.xr;return t?t.isSessionSupported(ee).then(e=>e).catch(()=>!1):!1})}enter(){return M(this,void 0,void 0,function*(){const t=this._ctx,e=window.navigator.xr;if(!e)return;yield mt.requestSensorPermission();const s=Object.assign({requiredFeatures:[se]},this._options);yield t.makeXRCompatible();const i=yield e.requestSession(ee,s);t.bindXRLayer(i);const r=yield i.requestReferenceSpace(se);this._setSession(i,r),this.trigger(O.VR_START,{session:i})})}exit(){const t=this._xrSession;t&&t.end().catch(()=>{}),this._xrSession=null,this._xrRefSpace=null}canRender(t){const e=this._xrRefSpace;return e?!!t.getViewerPose(e):!1}getEyeParams(t){const e=t.session,s=t.getViewerPose(this._xrRefSpace);if(!s)return null;const i=e.renderState.baseLayer;return i?s.views.map(r=>{const o=i.getViewport(r),a=r.transform.inverse.matrix;return{viewport:o,vMatrix:a,pMatrix:r.projectionMatrix}}):null}_setSession(t,e){this._xrSession=t,this._xrRefSpace=e,t.addEventListener(u.XR_END,this._onSessionEnd)}}class Pt{constructor(t,e){this.element=t,this.position=e}}class di{constructor(t,e,{zoom:s=!1}){this._containerEl=Re(".".concat(X.HOTSPOT_CONTAINER),t),this._renderer=e,this._hotspots=[],this._zoom=s}refresh(){const t=this._containerEl;if(!t)return;const e=[].slice.apply(t.querySelectorAll(".".concat(X.HOTSPOT)));this._hotspots=e.map(s=>this._parseHotspot(s))}render(t){const e=this._hotspots,s=this._renderer.width*.5,i=this._renderer.height*.5,r=t.zoom,o="translate(-50%, -50%)",a=this._zoom?"scale(".concat(r,")"):"";e.forEach(h=>{const l=h.position,c=B();if(ss(c,l),qt(c,c,t.viewMatrix),qt(c,c,t.projectionMatrix),c[2]>1||c[2]<0){h.element.classList.remove(X.HOTSPOT_VISIBLE);return}const _=vs(c[0]*s+s,-c[1]*i+i);h.element.classList.add(X.HOTSPOT_VISIBLE),h.element.style.transform=[o,"translate(".concat(_[0],"px, ").concat(_[1],"px)"),a].join(" ")})}_parseHotspot(t){const e=t.dataset.yaw,s=t.dataset.pitch,i=t.dataset.position;if(e||s){const r=e?parseFloat(e):0,o=s?parseFloat(s):0,a=this._yawPitchToVec3(r,o);return new Pt(t,a)}else if(i){const r=i.split(" ").map(o=>parseFloat(o));if(r.length<3)throw new H(U.MESSAGES.INSUFFICIENT_ARGS(i,'hotspot attribute "data-position"'),U.CODES.INSUFFICIENT_ARGS);return new Pt(t,L(r[0],r[1],r[2]))}else{const r=L(0,0,-1);return new Pt(t,r)}}_yawPitchToVec3(t,e){const s=t*S,i=e*S,r=B();return r[1]=Math.sin(i),r[2]=Math.cos(i),r[0]=r[2]*Math.sin(-s),r[2]=-r[2]*Math.cos(-s),r}}class fi{get count(){return this.geometry.indicies.count}constructor(t,e,s){this.obj=t,this.geometry=e,this.buffers=s}}class Ei{get canvas(){return this._canvas}get maxTextureSize(){return this._maxTextureSize}get isWebGL2(){return this._isWebGL2}get supportVAO(){return this._isWebGL2||!!this._extensions.vao}get lost(){return this._contextLost}get debug(){return this._debug}constructor(t,e){this._onContextLost=()=>{this._canvas.classList.add(X.CTX_LOST),this._contextLost=!0},this._onContextRestore=()=>{this._canvas.classList.remove(X.CTX_LOST),this._contextLost=!1},this._canvas=t,this._contextLost=!1,this._debug=e,this._extensions={vao:null,loseContext:null}}init(){const t=this._canvas,{gl:e,isWebGL2:s}=this._getContext(t);this._gl=e,this._maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this._isWebGL2=s,this._isWebGL2||(this._extensions.vao=e.getExtension("OES_vertex_array_object")),this._extensions.loseContext=e.getExtension("WEBGL_lose_context"),t.addEventListener(u.CONTEXT_LOST,this._onContextLost),t.addEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}destroy(){const t=this._gl,e=this._canvas;t&&(t.bindBuffer(t.ARRAY_BUFFER,null),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),e.removeEventListener(u.CONTEXT_LOST,this._onContextLost),e.removeEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}forceLoseContext(){const t=this._extensions.loseContext;t&&t.loseContext()}forceRestoreContext(){const t=this._extensions.loseContext;t&&t.restoreContext()}clear(){const t=this._gl;t.clear(t.COLOR_BUFFER_BIT)}resize(){const t=this._gl;t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight)}viewport(t,e,s,i){this._gl.viewport(t,e,s,i)}createVAO(t,e){const s=this._createNativeVAO(),i=new fi(s,t,{indicies:this._createBuffer(),position:this._createBuffer(),uv:this._createBuffer()});return s&&(this._bindNativeVAO(s),this._supplyGeometryData(i,e),this._bindNativeVAO(null),this._unbindBuffers()),i}draw(t,e){const s=this._gl;t.obj?this._bindNativeVAO(t.obj):this._supplyGeometryData(t,e),s.drawElements(s.TRIANGLES,t.count,s.UNSIGNED_SHORT,0),t.obj?this._bindNativeVAO(null):this._unbindBuffers()}releaseVAO(t){t.obj&&this._deleteNativeVAO(t.obj),this._deleteBuffer(t.buffers.indicies),this._deleteBuffer(t.buffers.position),this._deleteBuffer(t.buffers.uv)}getUniformLocations(t,e){const s=this._gl,i=Object.keys(e).reduce((r,o)=>(r[o]=s.getUniformLocation(t,o),r),{});return Object.assign(Object.assign({},this._getCommonUniformLocations(t)),i)}updateCommonUniforms(t,e,s){const i=this._gl,r=s.uniformLocations,o=t.matrix,a=ft();oe(a,e.viewMatrix,o),i.uniformMatrix4fv(r.uMVMatrix,!1,a),i.uniformMatrix4fv(r.uPMatrix,!1,e.projectionMatrix)}updateVRUniforms(t,e,s,i){const r=this._gl,o=t.uniformLocations;r.uniformMatrix4fv(o.uMVMatrix,!1,e),r.uniformMatrix4fv(o.uPMatrix,!1,s),o.uEye&&r.uniform1f(o.uEye,i)}updateUniforms(t){const e=this._gl,s=t.uniforms,i=t.uniformLocations;for(const r in s){const o=s[r],a=i[r];o&&o.needsUpdate&&o.update(e,a,this._isWebGL2)}}releaseShaderResources(t){const e=this._gl,s=t.uniforms;for(const i in s){const r=s[i];r&&r.needsUpdate&&r.destroy(e)}e.deleteProgram(t.program)}useProgram(t){this._gl.useProgram(t.program)}createProgram(t,e){const s=this._gl,i=s.createProgram(),r=this._compileShader(s.VERTEX_SHADER,t),o=this._compileShader(s.FRAGMENT_SHADER,e);if(s.attachShader(i,r),s.attachShader(i,o),s.bindAttribLocation(i,0,"position"),s.bindAttribLocation(i,1,"uv"),s.linkProgram(i),this._debug&&!s.getProgramParameter(i,s.LINK_STATUS)){let a=null;throw s.getShaderParameter(r,s.COMPILE_STATUS)?s.getShaderParameter(o,s.COMPILE_STATUS)||(a=s.getShaderInfoLog(o)):a=s.getShaderInfoLog(r),new H(U.MESSAGES.FAILED_LINKING_PROGRAM(s.getProgramInfoLog(i),a),U.CODES.FAILED_LINKING_PROGRAM)}return s.deleteShader(r),s.deleteShader(o),i}createWebGLTexture(t){const e=this._gl,s=e.createTexture();if(e.bindTexture(e.TEXTURE_2D,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapS),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapT),!t.isVideo()&&this._isWebGL2){const i=e;i.texStorage2D(i.TEXTURE_2D,1,i.RGBA8,t.width,t.height)}return s}createWebGLCubeTexture(t,e){const s=this._gl,i=s.createTexture();if(s.bindTexture(s.TEXTURE_CUBE_MAP,i),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,t.wrapS),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,t.wrapT),this._isWebGL2){const r=s;r.texStorage2D(r.TEXTURE_CUBE_MAP,1,r.RGBA8,e,e)}return i}makeXRCompatible(){return M(this,void 0,void 0,function*(){const t=this._gl,e=t.getContextAttributes();e&&e.xrCompatible!==!0&&(yield t.makeXRCompatible())})}bindXRLayer(t){const e=this._gl,s=new XRWebGLLayer(t,e);t.updateRenderState({baseLayer:s})}bindXRFrame(t){const e=this._gl,i=t.session.renderState.baseLayer;e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer)}useDefaultFrameBuffer(){const t=this._gl;t.bindFramebuffer(t.FRAMEBUFFER,null)}_createBuffer(){return this._gl.createBuffer()}_deleteBuffer(t){return this._gl.deleteBuffer(t)}_createNativeVAO(){const t=this._gl;if(this._isWebGL2)return t.createVertexArray();{const e=this._extensions.vao;return(e==null?void 0:e.createVertexArrayOES())||null}}_bindNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.bindVertexArray(t);else{const s=this._extensions.vao;s==null||s.bindVertexArrayOES(t)}}_deleteNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.deleteVertexArray(t);else{const s=this._extensions.vao;s==null||s.deleteVertexArrayOES(t)}}_supplyGeometryData(t,e){const s=t.geometry;this._supplyIndiciesData(s.indicies,t.buffers.indicies),this._supplyAttributeData(s.vertices,e.program,"position",t.buffers.position),this._supplyAttributeData(s.uvs,e.program,"uv",t.buffers.uv)}_unbindBuffers(){const t=this._gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.bindBuffer(t.ARRAY_BUFFER,null)}_supplyIndiciesData(t,e){const s=this._gl;s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,e),s.bufferData(s.ELEMENT_ARRAY_BUFFER,t.data,s.STATIC_DRAW)}_supplyAttributeData(t,e,s,i){const r=this._gl,o=r.getAttribLocation(e,s);o<0||(r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,t.data,r.STATIC_DRAW),r.vertexAttribPointer(o,t.itemSize,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o))}_compileShader(t,e){const s=this._gl,i=s.createShader(t);return s.shaderSource(i,e),s.compileShader(i),i}_getCommonUniformLocations(t){const e=this._gl;return{uMVMatrix:e.getUniformLocation(t,"uMVMatrix"),uPMatrix:e.getUniformLocation(t,"uPMatrix")}}_getContext(t){const e=["webgl2","webgl","experimental-webgl","webkit-3d","moz-webgl"];let s=null,i=!1;const r={preserveDrawingBuffer:!1,antialias:!1},o=a=>a.statusMessage;t.addEventListener(u.CONTEXT_CREATE_ERROR,o);for(const a of e){try{s=t.getContext(a,r),i=a==="webgl2"}catch(h){}if(s)break}if(t.removeEventListener(u.CONTEXT_CREATE_ERROR,o),!s)throw new H(U.MESSAGES.WEBGL_NOT_SUPPORTED,U.CODES.WEBGL_NOT_SUPPORTED);return{gl:s,isWebGL2:i}}}class mi{get canvas(){return this._canvas}get width(){return this._elementSize.x}get height(){return this._elementSize.y}get pixelRatio(){return this._pixelRatio}get aspect(){return this._elementSize.x/this._elementSize.y}constructor(t,e){this._canvas=t,this._elementSize={x:0,y:0},this._pixelRatio=1,this.ctx=new Ei(t,e)}destroy(){const t=this._canvas;this.ctx.destroy(),t.width=1,t.height=1}resize(){const t=this._canvas,e=this._elementSize,s=window.devicePixelRatio;e.x=t.clientWidth,e.y=t.clientHeight,t.width=e.x*s,t.height=e.y*s,this._pixelRatio=s,this.ctx.resize()}render(t,e){const s=this.ctx;s.lost||(s.clear(),s.useProgram(t.program),s.updateCommonUniforms(t,e,t.program),t.update({camera:e}),s.updateUniforms(t.program),s.draw(t.vao,t.program))}renderVR(t,e,s){const i=this.ctx,r=e.getEyeParams(s);!r||!t||(i.bindXRFrame(s),i.useProgram(t.program),i.updateUniforms(t.program),r.forEach((o,a)=>{const h=o.viewport,l=oe(ft(),o.vMatrix,t.matrix);i.viewport(h.x,h.y,h.width,h.height),i.updateVRUniforms(t.program,l,o.pMatrix,a),i.draw(t.vao,t.program)}))}}class we extends x{get rootEl(){return this._rootEl}get renderer(){return this._renderer}get camera(){return this._camera}get control(){return this._control}get vr(){return this._vr}get hotspot(){return this._hotspot}get plugins(){return this._plugins}get projection(){return this._projection}set projection(t){this._initialized&&t?this.load(t):this._projection=t}get mesh(){return this._mesh}get initialized(){return this._initialized}get autoplay(){return this._autoplay}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get canvasSelector(){return this._canvasSelector}get useResizeObserver(){return this._useResizeObserver}get tabIndex(){return this._tabIndex}set tabIndex(t){const e=this._renderer.canvas;this._tabIndex=t,t!=null?e.tabIndex=t:e.removeAttribute("tabindex")}get maxDeltaTime(){return this._animator.maxDeltaTime}set maxDeltaTime(t){this._animator.maxDeltaTime=t}get debug(){return this._debug}set debug(t){this._debug=t}get initialYaw(){return this._camera.initialYaw}set initialYaw(t){this._camera.initialYaw=t}get initialPitch(){return this._camera.initialPitch}set initialPitch(t){this._camera.initialPitch=t}get initialZoom(){return this._camera.initialZoom}set initialZoom(t){this._camera.initialZoom=t}get yawRange(){return this._camera.yawRange}set yawRange(t){this._camera.yawRange=t,this._projection&&this._projection.updateCamera(this._camera)}get pitchRange(){return this._camera.pitchRange}set pitchRange(t){this._camera.pitchRange=t,this._projection&&this._projection.updateCamera(this._camera)}get zoomRange(){return this._camera.zoomRange}set zoomRange(t){this._camera.zoomRange=t,this._projection&&this._projection.updateCamera(this._camera)}get fov(){return this._camera.fov}set fov(t){const e=this._camera,s=this._control;e.fov=t,e.updateMatrix(),s.sync()}get rotate(){return this._control.rotate}get zoom(){return this._control.zoom}get gyro(){return this._control.gyro}get useGrabCursor(){return this._control.useGrabCursor}set useGrabCursor(t){this._control.useGrabCursor=t}get disableContextMenu(){return this._control.disableContextMenu}set disableContextMenu(t){this._control.disableContextMenu=t}get scrollable(){return this._control.scrollable}set scrollable(t){this._control.scrollable=t}get wheelScrollable(){return this._control.wheelScrollable}set wheelScrollable(t){this._control.wheelScrollable=t}constructor(t,{projection:e=null,initialYaw:s=0,initialPitch:i=0,initialZoom:r=1,yawRange:o=null,pitchRange:a=null,zoomRange:h=null,fov:l=90,useGrabCursor:c=!0,disableContextMenu:_=!1,rotate:E=!0,zoom:f=!0,gyro:v=!1,scrollable:T=!0,wheelScrollable:p=!1,autoplay:b=!1,hotspot:C={},autoInit:y=!0,autoResize:g=!0,canvasSelector:m="canvas",useResizeObserver:R=!0,on:It={},plugins:rt=[],maxDeltaTime:ot=1/30,tabIndex:Yt=0,debug:Xt=!1}={}){super(),this.renderFrame=J=>{const A=this._camera,at=this._renderer,j=this._control,q=this._hotspot,ht=this._autoplay,Kt=this._mesh;Kt&&(this._emit(O.BEFORE_RENDER),ht.playing&&(ht.update(J),j.sync()),A.animation?A.animation.update(J):j.update(J),at.render(Kt,A),q.render(A),A.changed&&this._emit(O.VIEW_CHANGE,{yaw:A.yaw,pitch:A.pitch,zoom:A.zoom,quaternion:[A.quaternion[0],A.quaternion[1],A.quaternion[2],A.quaternion[3]]}),A.onFrameRender(),this._emit(O.RENDER))},this._renderFrameOnDemand=J=>{const A=this._camera,at=this._control,j=this._autoplay,q=this._mesh,ht=q==null?void 0:q.getTexture();!this._initialized||!ht||!A.animation&&!at.animating&&!j.playing&&!ht.isVideo()||this.renderFrame(J)},this._renderVRFrame=(J,A)=>{const at=this._vr,j=this._mesh,q=this._renderer;j&&(this._emit(O.BEFORE_RENDER),q.renderVR(j,at,A),this._emit(O.RENDER))},this._rootEl=Ks(t),this._plugins=rt,this._initialized=!1,this._autoInit=y,this._autoResize=g,this._canvasSelector=m,this._useResizeObserver=R,this._tabIndex=Yt,this._debug=Xt;const At=js(this._rootEl,m);this._renderer=new mi(At,Xt),this._camera=new Js({initialYaw:s,initialPitch:i,initialZoom:r,fov:l,yawRange:o,pitchRange:a,zoomRange:h}),this._control=new ri(At,this._camera,{useGrabCursor:c,scrollable:T,wheelScrollable:p,disableContextMenu:_,rotate:E,zoom:f,gyro:v}),this._animator=new li(ot),this._autoplay=new ui(this,At,b),this._projection=e,this._mesh=null,this._autoResizer=new ci(R,()=>this.resize()),this._vr=new _i(this._renderer.ctx),this._hotspot=new di(this._rootEl,this._renderer,C),this._addEventHandlers(It),e&&y&&this.init()}destroy(){this._camera.destroy(),this._animator.stop(),this._renderer.destroy(),this._control.destroy(),this._autoResizer.disable(),this._mesh&&(this._mesh.destroy(this._renderer.ctx),this._mesh=null),this._plugins.forEach(t=>t.destroy(this)),this._initialized=!1}init(){return M(this,void 0,void 0,function*(){if(!this._projection)throw new H(U.MESSAGES.PROVIDE_PROJECTION_FIRST,U.CODES.PROVIDE_PROJECTION_FIRST);const t=this._renderer,e=this._camera,s=this._control,i=this._animator,r=this._hotspot,o=this._projection,a=t.canvas;this._bindComponentEvents(),t.ctx.init(),this._resizeComponents(),e.updateMatrix(),this._autoResize&&this._autoResizer.enable(a),this._autoplay.enableBlocked||this._autoplay.enable(),this._plugins.forEach(l=>{l.init(this)});const h=yield this._loadTexture(o);this._applyProjection(o,h),r.refresh(),i.start(this._renderFrameOnDemand),yield s.enable(),this._tabIndex!=null&&!a.hasAttribute("tabIndex")&&(a.tabIndex=this._tabIndex),this._initialized=!0,this.renderFrame(0),this._emit(O.READY)})}load(t){return M(this,void 0,void 0,function*(){if(!t)return!1;if(this._initialized){const e=yield this._loadTexture(t);this._applyProjection(t,e),this.renderFrame(0)}else this._projection=t,this.init();return!0})}resize(){if(!this._initialized)return;this._resizeComponents(),this.renderFrame(0);const{width:t,height:e}=this._renderer;this._emit(O.RESIZE,{width:t,height:e})}addPlugins(...t){this._initialized&&t.forEach(e=>{e.init(this)}),this._plugins.push(...t)}removePlugins(...t){t.forEach(e=>{const s=this._plugins.indexOf(e);s<0||(e.destroy(this),this._plugins.splice(s,1))})}_emit(t,...e){const s=e?e[0]:{};this.trigger(t,Object.assign({type:t,target:this},s))}_applyProjection(t,e){const s=this._camera,i=this._control,r=this._renderer,o=this._mesh;o&&o.destroy(r.ctx);const a=t.createMesh(r.ctx,e);t.updateCamera(s),t.updateControl(i),this._mesh=a,this._emit(O.PROJECTION_CHANGE,{projection:t})}_loadTexture(t){return M(this,void 0,void 0,function*(){const e=new hi,{src:s,video:i}=t;this._emit(O.LOAD_START,{src:s,video:i});const r=yield e.load(s,i);return this._emit(O.LOAD,{src:s,video:i}),r})}_resizeComponents(){const t=this._renderer,e=this._camera,s=this._control;t.resize(),e.resize(t.width,t.height),s.resize(t.width,t.height)}_addEventHandlers(t){Object.keys(t).forEach(e=>{this.on(e,t[e])})}_bindComponentEvents(){const t=this._rootEl,e=this._control,s=this._animator,i=this._renderer,r=this._vr;[d.STATIC_CLICK,d.INPUT_START,d.INPUT_END].forEach(a=>{e.rotate.on(a,h=>{this._emit(a,h)}),e.zoom.on(a,h=>{this._emit(a,h)})}),r.on(O.VR_START,a=>{t.classList.add(X.IN_VR),s.changeContext(a.session),s.start(this._renderVRFrame),this._emit(O.VR_START)}),r.on(O.VR_END,()=>{t.classList.remove(X.IN_VR),i.ctx.useDefaultFrameBuffer(),s.changeContext(window),s.start(this._renderFrameOnDemand),this.resize(),this._emit(O.VR_END)})}}we.VERSION="4.0.0-beta.7";class pi extends x{constructor(){super(),this.matrix=ft(),this.rotation=G(),this.position=L(0,0,0),this.scale=L(1,1,1)}updateMatrix(){Je(this.matrix,this.rotation,this.position,this.scale)}update(t){this.trigger(Ws.UPDATE,t)}}class K{constructor(t){this.position=t.position,this.order=t.order}}const xe={CONTROLS_ROOT:"view360-controls",CONTROLS_BG:"view360-controls-background",CONTROLS_MAIN:"view360-controls-main",CONTROLS_TOP:"view360-controls-top",CONTROLS_BOTTOM:"view360-controls-bottom",CONTROLS_MID:"view360-controls-mid",CONTROLS_LEFT:"view360-controls-left",CONTROLS_RIGHT:"view360-controls-right",CONTROLS_FLOAT_LEFT:"view360-controls-float-left",CONTROLS_FLOAT_RIGHT:"view360-controls-float-right",CONTROLS_BUTTON:"view360-controls-button",PROGRESS_ROOT:"view360-controls-progress",VOLUME_ROOT:"view360-controls-volume",RANGE_ROOT:"view360-range",RANGE_TRACK:"view360-range-track",RANGE_THUMB:"view360-range-thumb",RANGE_FILLER:"view360-range-filler",PLAY_BUTTON:"view360-controls-play",PAUSE_BUTTON:"view360-controls-pause",UNMUTED_BUTTON:"view360-controls-unmuted",MUTED_BUTTON:"view360-controls-muted",FULLSCREEN_BUTTON:"view360-controls-fullscreen",FULLSCREEN_EXIT_BUTTON:"view360-controls-fullscreen-exit",VR_BUTTON:"view360-controls-vr",GYRO_ENABLED:"view360-controls-gyro-enabled",GYRO_DISABLED:"view360-controls-gyro-disabled",VIDEO_TIME_DISPLAY:"view360-controls-time",PIEVIEW_ROOT:"view360-controls-pie",FIXED:"view360-controls-fixed",UNAVAILABLE:"view360-controls-unavailable",HIDDEN:"view360-controls-hidden"},k={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",MAIN_TOP:"main-top",MAIN_BOTTOM:"main-bottom",MAIN_LEFT:"main-left",MAIN_RIGHT:"main-right"};class Pe extends x{constructor(){super(),this._onHold=({srcEvent:r,isTouch:o})=>{var a;const h=this._bbox;if(!h)return;const l=o?r.touches[0].pageX:r.pageX,c=h.x+((a=window.scrollX)!==null&&a!==void 0?a:window.pageXOffset),_=N(l,c,c+h.width),E=(_-c)/h.width;this._motion.reset(_),this.thumbEl.classList.add(this._fixedClass),this.trigger(d.INPUT_START,E)},this._onChange=({delta:r})=>{var o;const a=this._motion,h=this._bbox;if(!h)return;a.setNewEndByDelta(r.x),a.update(1);const l=h.x+((o=window.scrollX)!==null&&o!==void 0?o:window.pageXOffset),_=(N(a.val,l,l+h.width)-l)/h.width;this.trigger(d.CHANGE,_)},this._onRelease=()=>{this._bbox&&(this.thumbEl.classList.remove(this._fixedClass),this.trigger(d.INPUT_END))};const t=document.createElement(z),e=document.createElement(z),s=document.createElement(z),i=document.createElement(z);t.draggable=!1,e.appendChild(i),e.appendChild(s),t.appendChild(e),this.rootEl=t,this.trackEl=e,this.thumbEl=s,this.fillerEl=i,this._mouseInput=new Ie,this._touchInput=new Ae,this._motion=new Et({duration:1,range:Lt,easing:r=>r}),this._bbox={x:0,y:0,width:0,height:0,left:0,right:0,bottom:0,top:0},this._fixedClass=xe.FIXED}init(t){const e=this._mouseInput,s=this._touchInput;this.rootEl.classList.add(t.RANGE_ROOT),this.trackEl.classList.add(t.RANGE_TRACK),this.thumbEl.classList.add(t.RANGE_THUMB),this.fillerEl.classList.add(t.RANGE_FILLER),this._fixedClass=t.FIXED,e.on(d.INPUT_START,this._onHold),s.on(d.INPUT_START,this._onHold),e.on(d.INPUT_END,this._onRelease),s.on(d.INPUT_END,this._onRelease),e.on(d.CHANGE,this._onChange),s.on(d.CHANGE,this._onChange),e.enable(this.rootEl),s.enable(this.rootEl),this.resize()}destroy(){const t=this._mouseInput,e=this._touchInput;this.rootEl.className="",this.trackEl.className="",this.thumbEl.className="",this.fillerEl.className="",t.off(),e.off(),t.disable(),e.disable()}resize(){this._bbox=this.trackEl.getBoundingClientRect()}updateStyle(t){const e=this._bbox.width,s=N(t,0,1);this.fillerEl.style.width="".concat(s*100,"%"),this.thumbEl.style.transform="translateX(".concat(s*e,"px)")}}class gi extends K{get element(){return this._rangeControl.rootEl}constructor({position:t=k.MAIN_TOP,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize()},this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=i.isPaused();i.source.pause();const a=i.source.duration*s;i.source.currentTime=a,i.source.dispatchEvent(new CustomEvent($,{detail:{time:a}})),r.rootEl.classList.add(r.className.FIXED),this._wasPaused=!this._playPromise&&o},this._onControl=s=>{const i=this._video;if(!i)return;const r=i.source.duration*s;i.source.currentTime=r,i.source.dispatchEvent(new CustomEvent($,{detail:{time:r}}))},this._onRelease=()=>{const s=this._video,i=this._controlBar;s&&i&&!this._wasPaused&&!this._playPromise&&(this._playPromise=s.source.play().catch(()=>{}),this._playPromise.then(()=>{this._playPromise=null}),i.rootEl.classList.remove(i.className.FIXED)),this._wasPaused=!1},this.position=t,this.order=e,this._controlBar=null,this._rangeControl=new Pe,this._video=null,this._wasPaused=!1,this._currentTime=0,this._duration=0,this._playPromise=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=this._rangeControl,a=e.className.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(a);return}r.classList.remove(a),r.classList.add(e.className.PROGRESS_ROOT),t.on(O.RESIZE,this._onResize),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onTimeUpdate),o.init(e.className),o.on(d.INPUT_START,this._onHold),o.on(d.CHANGE,this._onControl),o.on(d.INPUT_END,this._onRelease),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._controlBar=e,o.updateStyle(this._currentTime/this._duration)}destroy(t){const e=this._video;t.off(O.RESIZE,this._onResize),e&&(e.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),e.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),e.source.removeEventListener($,this._onTimeUpdate)),this._rangeControl.destroy(),this._video=null,this._playPromise=null}}class vi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._video;s&&(this._paused?s.source.play():s.source.pause())},this._onPlay=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PAUSE_BUTTON),s.classList.remove(i.PLAY_BUTTON),s.title="Pause Video",this._paused=!1},this._onPause=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PLAY_BUTTON),s.classList.remove(i.PAUSE_BUTTON),s.title="Play Video",this._paused=!0},this.element=document.createElement(Ot),this._video=null,this._paused=!0,this._controlBar=null}init(t,e){var s;const i=this.element,r=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),o=e.className,a=o.UNAVAILABLE;if(!r||!r.isVideo()){i.classList.add(a);return}i.classList.add(o.CONTROLS_BUTTON),i.classList.remove(a);const h=r.isPaused();this._video=r,this._paused=h,this._controlBar=e,h?this._onPause():this._onPlay(),i.addEventListener(u.CLICK,this._onClick),r.source.addEventListener(u.VIDEO_PLAY,this._onPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onPause)}destroy(){const t=this._video,e=this.element;t&&(e.className="",e.removeEventListener(u.CLICK,this._onClick),t.source.removeEventListener(u.VIDEO_PLAY,this._onPlay),t.source.removeEventListener(u.VIDEO_PAUSE,this._onPause),this._video=null,this._paused=!0,this._controlBar=null)}}class Ti extends K{get element(){return this._rootEl}constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize(),this._updateDisplay()},this._onClick=()=>{const s=this._video;!s||this._rootEl.disabled||(s.source.muted=!s.source.muted)},this._onVolumeChange=()=>{const s=this._buttonEl,i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.muted||i.source.volume===0?(s.classList.add(o.MUTED_BUTTON),s.classList.remove(o.UNMUTED_BUTTON)):(s.classList.add(o.UNMUTED_BUTTON),s.classList.remove(o.MUTED_BUTTON)),this._updateDisplay()},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.volume=s,this._rootEl.classList.add(o.FIXED),r.containerEl.classList.add(o.FIXED),this._updateDisplay()},this._onChange=s=>{const i=this._video;i&&(i.source.volume=s,s>0?i.source.muted=!1:i.source.muted=!0,this._updateDisplay())},this._onRelease=()=>{const s=this._controlBar;if(!s)return;const i=s.className;this._rootEl.classList.remove(i.FIXED),s.containerEl.classList.remove(i.FIXED)},this._updateDisplay=()=>{const s=this._video,i=this._rootEl;if(!s)return;if(!s.hasAudio()){i.disabled=!0;return}i.disabled=!1;const r=s.source.muted?0:s.source.volume;this._rangeControl.updateStyle(r)},this._controlBar=null,this._rangeControl=new Pe,this._createElements(),this._video=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this._rootEl,o=this._buttonEl,a=this._rangeControl,h=e.className,l=h.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(l);return}r.classList.remove(l),r.classList.add(h.CONTROLS_BUTTON),r.classList.add(h.VOLUME_ROOT),o.classList.add(h.CONTROLS_BUTTON),i.source.muted?o.classList.add(h.MUTED_BUTTON):o.classList.add(h.UNMUTED_BUTTON),t.on(O.RESIZE,this._onResize),r.addEventListener(u.TRANSITION_END,this._onResize),o.addEventListener(u.CLICK,this._onClick),i.source.addEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),i.source.addEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),i.source.addEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay),a.init(h),a.on(d.INPUT_START,this._onHold),a.on(d.CHANGE,this._onChange),a.on(d.INPUT_END,this._onRelease),this._controlBar=e,this._video=i,this._updateDisplay()}destroy(t){const e=this._video,s=this._buttonEl,i=this._rootEl;i.className="",s.className="",t.off(O.RESIZE,this._onResize),i.removeEventListener(u.TRANSITION_END,this._onResize),s.removeEventListener(u.CLICK,this._onClick),e&&(e.source.removeEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),e.source.removeEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),e.source.removeEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay)),this._controlBar=null,this._rangeControl.destroy(),this._video=null}_createElements(){const t=document.createElement(Ot),e=document.createElement(z);t.appendChild(this._rangeControl.rootEl),t.appendChild(e),t.title="Toggle Mute",this._rootEl=t,this._buttonEl=e}}class yi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._targetEl;s&&(dt()?this._exitFullscreen():this._requestFullscreen(s))},this._onFullscreenChange=()=>{const s=this.element,i=this._controlBar;if(!i)return;const r=i.className;dt()?(s.classList.add(r.FULLSCREEN_EXIT_BUTTON),s.classList.remove(r.FULLSCREEN_BUTTON)):(s.classList.add(r.FULLSCREEN_BUTTON),s.classList.remove(r.FULLSCREEN_EXIT_BUTTON))},this.element=document.createElement(Ot),this.element.title="Toggle Fullscreen",this._controlBar=null,this._targetEl=null}init(t,e){const s=this.element,i=e.className;if(!this._fullscreenAvailable()){s.classList.add(i.UNAVAILABLE);return}s.classList.add(i.CONTROLS_BUTTON),s.classList.remove(i.UNAVAILABLE),s.addEventListener(u.CLICK,this._onClick),this._addFullscreenHandlers(),dt()?s.classList.add(i.FULLSCREEN_EXIT_BUTTON):s.classList.add(i.FULLSCREEN_BUTTON),this._controlBar=e,this._targetEl=t.rootEl}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._removeFullscreenHandlers(),this._controlBar=null,this._targetEl=null}_fullscreenAvailable(){return Qt.some(t=>!!document[t])}_requestFullscreen(t){for(const e of Qt){const s=t[e];if(s){s.call(t);return}}}_exitFullscreen(){for(const t of Hs){const e=document[t];if(e){e.call(document);return}}}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class bi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._updateDisplay())},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._updateDisplay())},this._onCustomTimeChange=s=>{this._currentTime=s.detail.time,this._updateDisplay()},this.element=document.createElement(z),this._video=null,this._currentTime=0,this._duration=0}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=e.className;if(!i||!i.isVideo()){r.classList.add(o.UNAVAILABLE);return}r.classList.add(o.VIDEO_TIME_DISPLAY),r.classList.remove(o.UNAVAILABLE),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onCustomTimeChange),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._updateDisplay()}destroy(){const t=this._video;t&&(this.element.className="",t.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),t.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),t.source.removeEventListener($,this._onCustomTimeChange),this._video=null)}_updateDisplay(){const t=this._currentTime,e=Math.floor(t/60),s=Math.floor(t-e*60),i=s<10?"0".concat(s):s,r=this._duration,o=Math.floor(r/60),a=Math.floor(r-o*60),h=a<10?"0".concat(a):a;this.element.innerText="".concat(e,":").concat(i," / ").concat(o,":").concat(h)}}class Ri extends K{constructor({resetCamera:t=!0,position:e=k.TOP_RIGHT,order:s=9999}={}){super({position:e,order:s}),this._onClick=()=>{const i=this._viewer,r=this.resetCamera;if(!i||!r)return;const{yaw:o=i.initialYaw,pitch:a=i.initialPitch,zoom:h=i.initialZoom,duration:l=500}=P(r);i.camera.animateTo({yaw:o,pitch:a,zoom:h,duration:l})},this._updatePie=({target:i})=>{const r=this._piePathEl,o=this._rangeCircleEl,a=i.camera,h=a.getHorizontalFov(),l=a.getYawRange(a.zoom),c=h*.5,_=24*Math.PI,E=_*h/360,f=_*(a.yaw+c+90)/360;if(r.setAttribute("stroke-dasharray","".concat(E," ").concat(_-E)),r.setAttribute("stroke-dashoffset","".concat(f)),isFinite(l.min)&&isFinite(l.max)){const v=45*Math.PI,T=(it(l.min,-180,180)-c)/360,p=(it(l.max,-180,180)+c)/360,b=v*Math.abs(p-T),C=-v*(T-.25);o.setAttribute("stroke-dasharray","".concat(b," ").concat(v-b)),o.setAttribute("stroke-dashoffset","".concat(C))}else o.setAttribute("stroke-dasharray",""),o.setAttribute("stroke-dashoffset","")},this.element=document.createElement(z),this.element.title="Reset view",this.resetCamera=t,this._createPieElements(),this._viewer=null}init(t,e){const s=this.element;t.initialized?this._updatePie({target:t}):t.once(O.READY,this._updatePie);const i=e.className.PIEVIEW_ROOT;s.classList.add(i),this.resetCamera&&s.addEventListener(u.CLICK,this._onClick),t.on(O.VIEW_CHANGE,this._updatePie),this._viewer=t}destroy(t){const e=this.element;e.removeEventListener(u.CLICK,this._onClick),e.className="",t.off(O.READY,this._updatePie),t.off(O.VIEW_CHANGE,this._updatePie),this._viewer=null}_createPieElements(){const t=this.element,e=document.createElementNS(xt,"svg");e.setAttribute("viewBox","0 0 48 48"),e.setAttribute("width","100%"),e.setAttribute("height","100%");const s=document.createElementNS(xt,"circle");s.setAttribute("stroke","currentColor"),s.setAttribute("fill","transparent"),s.setAttribute("cx","24"),s.setAttribute("cy","24"),s.setAttribute("r","12"),s.setAttribute("stroke-width","24"),e.appendChild(s);const i=document.createElementNS(xt,"circle");i.setAttribute("stroke","currentColor"),i.setAttribute("fill","transparent"),i.setAttribute("cx","24"),i.setAttribute("cy","24"),i.setAttribute("r","22.5"),i.setAttribute("stroke-width","3"),e.appendChild(i),t.appendChild(e),this._piePathEl=s,this._rangeCircleEl=i}}class Ci extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer;s&&s.vr.enter()},this.element=document.createElement(Ot),this.element.title="Enter VR",this._viewer=null}init(t,e){const s=this.element,i=e.className;s.classList.add(i.UNAVAILABLE),s.classList.add(i.VR_BUTTON),s.classList.add(i.CONTROLS_BUTTON),t.vr.isAvailable().then(r=>{r&&s.classList.remove(i.UNAVAILABLE)}),s.addEventListener(u.CLICK,this._onClick),this._viewer=t}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._viewer=null}}class Oi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer,i=this._controlBar;if(!s||!i)return;const r=s.control.gyro;r.enabled?r.disable():mt.requestSensorPermission().then(o=>{o?r.enable():this.element.classList.add(i.className.UNAVAILABLE)})},this._updateStyle=()=>{const s=this.element,i=this._viewer,r=this._controlBar;if(!i||!r)return;const o=i.control.gyro,a=r.className;o.enabled?(s.classList.add(a.GYRO_ENABLED),s.classList.remove(a.GYRO_DISABLED)):(s.classList.add(a.GYRO_DISABLED),s.classList.remove(a.GYRO_ENABLED))},this.element=document.createElement(z),this.element.title="Toggle gyroscope control"}init(t,e){const s=this.element,i=e.className;s.addEventListener(u.CLICK,this._onClick),s.classList.add(i.CONTROLS_BUTTON),s.classList.add(i.UNAVAILABLE);const r=()=>{s.classList.remove(i.UNAVAILABLE),t.control.gyro.on(d.ENABLE,this._updateStyle),t.control.gyro.on(d.DISABLE,this._updateStyle)};Oe()?r():mt.isAvailable().then(o=>{o&&r()}),this._controlBar=e,this._viewer=t,this._updateStyle()}destroy(t){const e=this.element;t.control.gyro.off(d.ENABLE,this._updateStyle),t.control.gyro.off(d.DISABLE,this._updateStyle),e.removeEventListener(u.CLICK,this._onClick),e.className="",this._controlBar=null,this._viewer=null}}class Li{get enabled(){return!!this._targetEl}get hidden(){return this._controlBar.containerEl.classList.contains(this._hiddenClass)}get _hiddenClass(){return this._controlBar.className.HIDDEN}get _fixedClass(){return this._controlBar.className.FIXED}constructor(t,{initialDelay:e=3e3,delay:s=0,idleDelay:i=3e3}){this._onMouseEnter=()=>{this._isCursorInside=!0,this.show()},this._onMouseLeave=()=>{this._isCursorInside=!1,this._hideAfterDelay()},this._onMouseMove=()=>{this._isFullscreen&&this.showTemporaliy()},this._onHold=r=>{this._isGrabbing=!0,r.pointerType==="mouse"&&(this._isCursorInside=!0),window.addEventListener(u.MOUSE_UP,this._onRelease),this.show()},this._onRelease=()=>{this._isGrabbing=!1,window.removeEventListener(u.MOUSE_UP,this._onRelease),this._hideAfterDelay()},this._onVideoPlay=()=>{this._targetEl&&this._controlBar.containerEl.classList.remove(this._fixedClass)},this._onVideoPause=()=>{this._targetEl&&this._controlBar.containerEl.classList.add(this._fixedClass)},this._onFullscreenChange=()=>{this._isFullscreen=dt(),this._isFullscreen&&this._hideAfterDelay()},this._controlBar=t,this._initialDelay=e,this._delay=s,this._idleDelay=i,this._timer=-1,this._isCursorInside=!1,this._isGrabbing=!1,this._isFullscreen=!1,this._video=null,this._targetEl=null}enable(t){var e;this._targetEl&&this.disable(t);const s=this._initialDelay,i=t.rootEl;this._targetEl=t.rootEl,this._timer=window.setTimeout(()=>{this.hide()},s),i.addEventListener(u.MOUSE_DOWN,this._onHold),i.addEventListener(u.MOUSE_ENTER,this._onMouseEnter),i.addEventListener(u.MOUSE_MOVE,this._onMouseMove),i.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._addFullscreenHandlers();const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();!r||!r.isVideo()||(r.isPaused()&&this._controlBar.containerEl.classList.add(this._fixedClass),r.source.addEventListener(u.VIDEO_PLAY,this._onVideoPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onVideoPause),this._video=r)}disable(t){if(!this._targetEl)return;const e=this._controlBar,s=t.rootEl,i=this._video;s.removeEventListener(u.MOUSE_DOWN,this._onHold),window.removeEventListener(u.MOUSE_UP,this._onRelease),s.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter),s.removeEventListener(u.MOUSE_MOVE,this._onMouseMove),s.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._removeFullscreenHandlers(),window.clearTimeout(this._timer),e.containerEl.classList.remove(this._fixedClass),i&&(i.source.removeEventListener(u.VIDEO_PLAY,this._onVideoPlay),i.source.removeEventListener(u.VIDEO_PAUSE,this._onVideoPause)),this._isCursorInside=!1,this._isGrabbing=!1,this._video=null,this._targetEl=null}show(){this._clearHideTimer(),this._controlBar.containerEl.classList.remove(this._hiddenClass)}showTemporaliy(){this.show(),this._hideAfterDelay(this._idleDelay)}hide(){this._clearHideTimer(),this._controlBar.containerEl.classList.add(this._hiddenClass)}_clearHideTimer(){this._timer&&(window.clearTimeout(this._timer),this._timer=-1)}_hideAfterDelay(t=this._delay){this._isGrabbing||!this._isFullscreen&&this._isCursorInside||(this._clearHideTimer(),t<=0?this.hide():this._timer=window.setTimeout(()=>{this.hide()},t))}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class Ii{constructor(){this._onKeyDown=t=>{const e=this._video;if(!e)return;t.preventDefault(),t.stopPropagation();const s=e.source,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];switch(i){case"LEFT":case"RIGHT":return this._changeVideoTime(s,i==="RIGHT");case"UP":case"DOWN":return this._changeVideoVolume(s,i==="UP")}(t.keyCode===Vs||t.key===zs)&&this._toggleVideo(e)}}enable(t,e){this._video=e,t.addEventListener(u.KEY_DOWN,this._onKeyDown,!0)}disable(t){this._video=null,t.removeEventListener(u.KEY_DOWN,this._onKeyDown,!0)}_changeVideoTime(t,e){const s=e?5:-5;t.currentTime+=s,t.dispatchEvent(new CustomEvent($,{detail:{time:t.currentTime}}))}_changeVideoVolume(t,e){const s=e?.1:-.1;t.muted?t.volume=N(s,0,1):t.volume=N(t.volume+s,0,1),t.volume>0?t.muted=!1:t.muted=!0}_toggleVideo(t){t.isPaused()?t.source.play():t.source.pause()}}class I{get rootEl(){return this._rootEl}get containerEl(){return this._containerEl}get backgroundEl(){return this._bgEl}get items(){return this._items}get customItems(){return this._customItems}constructor({autoHide:t,showBackground:e,clickToPlay:s=!0,keyboardControls:i=!0,progressBar:r=!0,playButton:o=!0,volumeButton:a=!0,fullscreenButton:h=!0,videoTime:l=!0,pieView:c=!0,vrButton:_=!0,gyroButton:E=!0,className:f={},customItems:v=[]}={}){var T;this._onStaticClick=({target:b,isTouch:C})=>{var y;const g=this._autoHider;if(C){if(!g.enabled)return;g.hidden?g.showTemporaliy():g.hide()}else{if(!this.clickToPlay)return;const m=(y=b.mesh)===null||y===void 0?void 0:y.getTexture();if(!m||!m.isVideo())return;m.isPaused()?m.source.play():m.source.pause()}},this._onNewSrcLoad=({target:b})=>{const C=this._items;this._updateBackground(b),this._updateAutoHide(b),this._updateKeyboardHandler(b),Object.keys(C).forEach(y=>{C[y].forEach(m=>{m.destroy(b,this),m.init(b,this)})})},this.autoHide=t,this.showBackground=e,this.clickToPlay=s,this.keyboardControls=i,this.progressBar=r,this.playButton=o,this.volumeButton=a,this.fullscreenButton=h,this.videoTime=l,this.pieView=c,this.vrButton=_,this.gyroButton=E,this.className=Object.assign(Object.assign({},I.DEFAULT_CLASS),f);const p=(T=f.CONTROLS_ROOT)!==null&&T!==void 0?T:I.DEFAULT_CLASS.CONTROLS_ROOT;this._rootEl=V(p),this._createPositionWrappers(),this._items=Object.keys(I.POSITION).reduce((b,C)=>(b[I.POSITION[C]]=[],b),{}),this._customItems=v,this._autoHider=new Li(this,P(t)),this._videoControl=new Ii,v.forEach(b=>{this._items[b.position].push(b)})}init(t){const e=t.rootEl,s=this._rootEl,i=this._createDefaultItems();this._updateBackground(t),this._updateAutoHide(t),this._updateKeyboardHandler(t),e.appendChild(s),this._addItem(t,i),this._addItem(t,this._customItems),t.on(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.on(O.STATIC_CLICK,this._onStaticClick)}destroy(t){const e=t.rootEl,s=this._rootEl,i=this._items;s.parentElement===e&&e.removeChild(s),Object.keys(i).forEach(r=>{i[r].forEach(a=>{a.destroy(t,this)}),i[r]=[]}),this._clearItemElements(),this._autoHider.disable(t),this._videoControl.disable(e),t.off(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.off(O.STATIC_CLICK,this._onStaticClick)}_addItem(t,e){for(const s of e){const i=this._items[s.position],r=this._wrapperEl[s.position],o=qs(i,a=>a.order>s.order);if(o>=0){const a=i[o].element;i.splice(o,0,s),r.insertBefore(s.element,a)}else i.push(s),r.appendChild(s.element);s.init(t,this)}}_createPositionWrappers(){const t=Object.assign(Object.assign({},I.DEFAULT_CLASS),this.className),e=this._rootEl,s=V(t.CONTROLS_BG),i=V(t.CONTROLS_FLOAT_LEFT),r=V(t.CONTROLS_FLOAT_RIGHT);e.appendChild(i),e.appendChild(r);const o=V(t.CONTROLS_MAIN),a=V(t.CONTROLS_TOP),h=V(t.CONTROLS_BOTTOM),l=V(t.CONTROLS_MID),c=V(t.CONTROLS_LEFT),_=V(t.CONTROLS_RIGHT);l.appendChild(c),l.appendChild(_),o.appendChild(s),o.appendChild(a),o.appendChild(l),o.appendChild(h),e.appendChild(o),this._bgEl=s,this._containerEl=o,this._wrapperEl={[I.POSITION.MAIN_TOP]:a,[I.POSITION.MAIN_LEFT]:c,[I.POSITION.MAIN_RIGHT]:_,[I.POSITION.MAIN_BOTTOM]:h,[I.POSITION.TOP_LEFT]:i,[I.POSITION.TOP_RIGHT]:r}}_clearItemElements(){Object.keys(I.POSITION).map(e=>I.POSITION[e]).map(e=>this._wrapperEl[e]).forEach(e=>{for(;e.firstChild;)e.removeChild(e.firstChild)})}_updateAutoHide(t){var e;const s=this.autoHide,i=this._autoHider;if(s!=null)s?i.enable(t):i.disable(t);else{const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();r&&r.isVideo()?i.enable(t):i.disable(t)}}_updateBackground(t){var e,s;const i=this._bgEl,r=this.showBackground,o=(e=this.className.HIDDEN)!==null&&e!==void 0?e:I.DEFAULT_CLASS.HIDDEN;if(r!=null)r?i.classList.remove(o):i.classList.add(o);else{const a=(s=t.mesh)===null||s===void 0?void 0:s.getTexture();a&&a.isVideo()?i.classList.remove(o):i.classList.add(o)}}_updateKeyboardHandler(t){var e;const s=t.rootEl,i=this._videoControl,r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();this.keyboardControls&&r&&r.isVideo()?i.enable(s,r):i.disable(s)}_createDefaultItems(){const t=[];return this.progressBar&&t.push(new gi(P(this.progressBar))),this.playButton&&t.push(new vi(P(this.playButton))),this.volumeButton&&t.push(new Ti(P(this.volumeButton))),this.gyroButton&&t.push(new Oi(P(this.gyroButton))),this.vrButton&&t.push(new Ci(P(this.vrButton))),this.fullscreenButton&&t.push(new yi(P(this.fullscreenButton))),this.videoTime&&t.push(new bi(P(this.videoTime))),this.pieView&&t.push(new Ri(P(this.pieView))),t}}I.DEFAULT_CLASS=xe;I.POSITION=k;class De{constructor({src:t,video:e=!1}){this.src=t,this.video=e}updateCamera(t){t.resetRange()}updateControl(t){t.ignoreZoomScale=!1}}class kt{constructor(){this.needsUpdate=!0}destroy(t){}}class Me extends pi{constructor(t,e){super(),this.vao=t,this.program=e}destroy(t){t.releaseVAO(this.vao),t.releaseShaderResources(this.program)}getTexture(){return this.program.uniforms.uTexture.texture}}class Ue{constructor(t,e,s,i){this.program=t.createProgram(e,s),this.uniforms=i,this.uniformLocations=t.getUniformLocations(this.program,i)}}class Dt{constructor(t,e){this.data=t,this.itemSize=e,this.count=t.length/e}}class Ai{constructor(t,e,s){this.vertices=new Dt(new Float32Array(t),3),this.indicies=new Dt(new Uint16Array(e),1),this.uvs=new Dt(new Float32Array(s),2)}}class Fe extends kt{constructor(t,e){super(),this.texture=e,this._webglTexture=t.createWebGLTexture(e)}destroy(t){this.texture.destroy(),t.deleteTexture(this._webglTexture)}update(t,e,s){const i=this.texture,r=i.isVideo();t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i.flipY),t.uniform1i(e,0),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this._webglTexture),!r&&s?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,i.source):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i.source),r||(this.needsUpdate=!1)}}var Si="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;varying highp vec2 vUV;void main(){vUV=uv;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}",Be="#define GLSLIFY 1\nuniform sampler2D uTexture;varying highp vec2 vUV;void main(){gl_FragColor=texture2D(uTexture,vUV.st);}";class Ve extends Ai{constructor(){const s=-.5*Math.PI,i=[],r=[],o=[];let a,h;for(a=0;a<=60;a++){const l=(a/60-.5)*Math.PI,c=Math.sin(l),_=Math.cos(l);for(h=0;h<=60;h++){const E=(h/60-.5)*2*Math.PI+s,f=Math.sin(E),T=Math.cos(E)*_,p=c,b=f*_,C=h/60,y=a/60;if(i.push(C,y),r.push(T,p,b),h!==60&&a!==60){const g=a*61+h,m=g+60+1;o.push(g,g+1,m,m,g+1,m+1)}}}super(r,o,i)}}class Ni extends De{constructor(t){super(t)}createMesh(t,e){const s={uTexture:new Fe(t,e)},i=new Ve,r=new Ue(t,Si,Be,s),o=t.createVAO(i,r);return new Me(o,r)}}class wi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform1f(e,this.val),this.needsUpdate=!1}}class xi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform4fv(e,this.val.reduce((s,i)=>[...s,...i],[])),this.needsUpdate=!1}}var Pi="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;uniform vec4 uTexScaleOffset[2];uniform float uEye;varying highp vec2 vUV;void main(){vec4 scaleOffset=uTexScaleOffset[int(uEye)];vUV=uv.xy*scaleOffset.xy+scaleOffset.zw;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}";class Wt extends De{constructor(t){super(t),this._mode=t.mode}createMesh(t,e){let s,i;switch(this._mode){case Wt.MODE.LEFT_RIGHT:s=[.5,1,0,0],i=[.5,1,.5,0];break;default:s=[1,.5,0,0],i=[1,.5,0,.5]}const r={uTexture:new Fe(t,e),uEye:new wi(0),uTexScaleOffset:new xi([s,i])},o=new Ve,a=new Ue(t,Pi,Be,r),h=t.createVAO(o,a);return new Me(h,a)}}Wt.MODE={LEFT_RIGHT:"left_right",TOP_BOTTOM:"top_bottom"};var Di=re("<canvas class=view360-canvas>"),Mi=re("<video id=view360-video playsinline crossorigin=anonymous style=display:none>");const ji=()=>{let n;ze(()=>{const s=document.getElementById("view360-container"),i=document.getElementById("view360-video");s&&i&&(n=new we(s,{projection:new Ni({src:i,video:{autoplay:Xe("video_autoplay")}}),plugins:[new I({pieView:{order:0},gyroButton:{position:"top-right",order:1},vrButton:{position:"top-right",order:2}})]}))}),Ge(()=>n==null?void 0:n.destroy());const[t,e]=He(!1);return St(Ke,{onAutoNextChange:e,get children(){return St(jt,{w:"$full",h:"60vh",id:"video360-player",get children(){return St(jt,{w:"100%",h:"100%",id:"view360-container",className:"view360-container",get children(){return[Di(),(()=>{var s=Mi();return ke(()=>We(s,"src",Ye.raw_url)),s})()]}})}})}})};export{ji as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{k as It,ac as Tt,D as Mt,X as dt,C as ft,U as Y,cz as Ct,cM as Ft,R as At,dU as qt,E as H,a1 as Dt,S as Rt,ao as Bt,bs as Lt,bQ as Pt,q as Ot,c0 as _t,G as zt,aN as Ht,aq as Xt,aC as Vt,cJ as Nt,as as Wt,aE as Ut,dV as Yt,a7 as Zt}from"./index-Bl5KfUKm.js";import{O as Gt}from"./icon-DqPtjxiZ.js";/*!
|
|
2
2
|
* artplayer.js v5.3.0
|
|
3
3
|
* Github: https://github.com/zhw2590582/ArtPlayer
|
|
4
4
|
* (c) 2017-2025 Harvey Zack
|