@mavea/mavea 1.0.7
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/CHANGELOG.md +159 -0
- package/DISCLAIMER.md +16 -0
- package/LICENSE +75 -0
- package/PRIVACY.md +127 -0
- package/README.md +248 -0
- package/SECURITY.md +72 -0
- package/SUPPORT.md +13 -0
- package/TERMS.md +122 -0
- package/THIRD-PARTY.txt +639 -0
- package/TRADEMARKS.md +15 -0
- package/bin/mavea.mjs +1079 -0
- package/dist/.vite/manifest.json +4261 -0
- package/dist/_headers +52 -0
- package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
- package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
- package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
- package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
- package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
- package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
- package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
- package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
- package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
- package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
- package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
- package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
- package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
- package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
- package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
- package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
- package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
- package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
- package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
- package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
- package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
- package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
- package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
- package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
- package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
- package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
- package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
- package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
- package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
- package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
- package/dist/assets/DropSelect-DUhdQSta.js +1 -0
- package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
- package/dist/assets/ExportModal-D65cGyj_.js +2 -0
- package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
- package/dist/assets/FallbackCard-B489rTd9.js +1 -0
- package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
- package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
- package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
- package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
- package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
- package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
- package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
- package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
- package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
- package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
- package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
- package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
- package/dist/assets/LegalApp-DZBdExTy.js +1 -0
- package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
- package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
- package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
- package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
- package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
- package/dist/assets/Library-D2XGNXz7.js +1 -0
- package/dist/assets/Library-DmrtHjUf.css +1 -0
- package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
- package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
- package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
- package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
- package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
- package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
- package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
- package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
- package/dist/assets/Orb-B0NEVfqL.js +1 -0
- package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
- package/dist/assets/PlanReview-33V8GTNB.js +1 -0
- package/dist/assets/Presence-CzLJIeSD.js +1 -0
- package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
- package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
- package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
- package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
- package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
- package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
- package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
- package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
- package/dist/assets/Quiz-CUwtekfu.js +1 -0
- package/dist/assets/Recap-DCiiWNiV.css +1 -0
- package/dist/assets/Recap-H5fhj5Tc.js +1 -0
- package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
- package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
- package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
- package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
- package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
- package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
- package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
- package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
- package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
- package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
- package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
- package/dist/assets/SeeDontRead-C389viue.js +1 -0
- package/dist/assets/ShareModal-C8S7ySls.css +1 -0
- package/dist/assets/ShareModal-ClnEkudw.js +32 -0
- package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
- package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
- package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
- package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
- package/dist/assets/ShipGate-BVZfCllb.css +1 -0
- package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
- package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
- package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
- package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
- package/dist/assets/ShipIncident-DcmindmE.js +2 -0
- package/dist/assets/ShipMigration-BznCskNg.css +1 -0
- package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
- package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
- package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
- package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
- package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
- package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
- package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
- package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
- package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
- package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
- package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
- package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
- package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
- package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
- package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
- package/dist/assets/TermsApp-C70tW6m6.js +123 -0
- package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
- package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
- package/dist/assets/TourPrism-BvucSkcs.js +1 -0
- package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
- package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
- package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
- package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
- package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
- package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
- package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
- package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
- package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
- package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
- package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
- package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
- package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
- package/dist/assets/annotations-D2K9A5GB.js +1 -0
- package/dist/assets/backup-c-Btapzp.js +1 -0
- package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
- package/dist/assets/c-DWGmR78Y.js +1 -0
- package/dist/assets/c-SSSlmE39.js +1 -0
- package/dist/assets/cache-BumECILO.js +1 -0
- package/dist/assets/canvas-QTEIiK23.js +1 -0
- package/dist/assets/catalog-BHjl-1uH.js +2 -0
- package/dist/assets/catalog-Dqaq2YFd.js +1 -0
- package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
- package/dist/assets/chapters-BiUsDClQ.js +1 -0
- package/dist/assets/charts1-EOoxU_K3.js +1 -0
- package/dist/assets/charts2-tyUiQPff.js +1 -0
- package/dist/assets/chunk-BVpWp9h4.js +1 -0
- package/dist/assets/citation-BcvmjKS8.js +1 -0
- package/dist/assets/code-CpjYCNS8.js +8 -0
- package/dist/assets/codeContext-0UMRSGRr.js +5 -0
- package/dist/assets/colors-D49Req-e.js +1 -0
- package/dist/assets/compose-BJ9EfcQS.js +3 -0
- package/dist/assets/contentVault-DzTYWcbD.js +1 -0
- package/dist/assets/core-DEFyprhs.js +1 -0
- package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
- package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
- package/dist/assets/courseStore-DfafnL-9.js +1 -0
- package/dist/assets/courses-BkH1ntDL.css +1 -0
- package/dist/assets/cpp-BGdv8dzs.js +1 -0
- package/dist/assets/cpp-CNAAXZl-.js +1 -0
- package/dist/assets/csharp-oqKa8noW.js +1 -0
- package/dist/assets/css-CdtkT07m.js +1 -0
- package/dist/assets/css-LbU1hoFO.js +1 -0
- package/dist/assets/dag-C3Xx8pOD.js +2 -0
- package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
- package/dist/assets/dashboards-rcWxdoXI.css +1 -0
- package/dist/assets/deckLine-NBd3MyGT.js +1 -0
- package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
- package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
- package/dist/assets/diagrams-CaSfjT4I.js +1 -0
- package/dist/assets/diff-woXpYk--.js +1 -0
- package/dist/assets/display-OvC57CMc.js +9 -0
- package/dist/assets/dist-BFx3nZg4.js +2785 -0
- package/dist/assets/dist-xRGLOZwv.js +14 -0
- package/dist/assets/docs-B2aDtm5K.js +1 -0
- package/dist/assets/everyday-CoZa4kDZ.js +1 -0
- package/dist/assets/explode-WBykfhqW.js +13 -0
- package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
- package/dist/assets/facts-BBTt3ImG.js +1 -0
- package/dist/assets/finance-Bxn_Q1p0.js +1 -0
- package/dist/assets/fit-0HxU-rtB.js +1 -0
- package/dist/assets/fitText-CDFmCQzl.js +1 -0
- package/dist/assets/flows-BL81J7yN.js +1 -0
- package/dist/assets/format-DlZTyeMy.js +1 -0
- package/dist/assets/format-hc2QOoIu.js +1 -0
- package/dist/assets/forms-DeoXOxdD.js +1 -0
- package/dist/assets/generate-8odaTyr4.js +17 -0
- package/dist/assets/generateBeats-b64CL54v.js +1 -0
- package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
- package/dist/assets/generateLive-D4B30fnF.js +52 -0
- package/dist/assets/geometry-DXAbnb0J.js +1 -0
- package/dist/assets/gesture-DabMpPcq.js +2 -0
- package/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
- package/dist/assets/githubToken-DtcLYqwm.js +11 -0
- package/dist/assets/go-rLFTqkRN.js +1 -0
- package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
- package/dist/assets/html-BcACZWSP.js +1 -0
- package/dist/assets/html-DDNsd9lV.js +1 -0
- package/dist/assets/http-CJCtjYpA.js +2 -0
- package/dist/assets/icons-CHVz6kv_.js +1 -0
- package/dist/assets/index-CepQEz75.css +1 -0
- package/dist/assets/index-y8GL67bB.js +22 -0
- package/dist/assets/index.es-CRLiWwiA.js +5 -0
- package/dist/assets/info-CiqHR5cs.js +1 -0
- package/dist/assets/java-BtIQNnN0.js +1 -0
- package/dist/assets/java-DxlWrXwe.js +1 -0
- package/dist/assets/javascript-BzbQS41l.js +1 -0
- package/dist/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/assets/json-B0N3XRZU.js +1 -0
- package/dist/assets/json-B88Oqtu5.js +1 -0
- package/dist/assets/json-CaljABEy.js +1 -0
- package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
- package/dist/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
- package/dist/assets/katex-BMCG0xok.js +257 -0
- package/dist/assets/keyVault-DEsNh9FR.js +1 -0
- package/dist/assets/kokoro-D4GKpSL0.js +1 -0
- package/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/assets/layout-BFQOzXtG.js +1 -0
- package/dist/assets/layout-CkO0Psde.js +1 -0
- package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
- package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
- package/dist/assets/learn-DVfqN-nf.js +1 -0
- package/dist/assets/lib-DMAxsZKm.css +1 -0
- package/dist/assets/lib-VFqp6Y3w.js +1 -0
- package/dist/assets/links--u_phi0x.js +1 -0
- package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
- package/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/assets/mastery-BPjxP0fN.js +4 -0
- package/dist/assets/media-CsrUl279.js +43 -0
- package/dist/assets/model-BE0UHu1w.js +27 -0
- package/dist/assets/motion-S0NRruNj.js +1 -0
- package/dist/assets/nav-Czm-NzPV.js +1 -0
- package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
- package/dist/assets/notes-A9t4jdfx.css +1 -0
- package/dist/assets/notes-lROPCorS.js +1 -0
- package/dist/assets/notify-Bz4wuE4T.js +1 -0
- package/dist/assets/now-C9-UAzTC.js +1 -0
- package/dist/assets/number-DXgzss0v.js +1 -0
- package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
- package/dist/assets/openchemlib-nMLMmg26.js +23 -0
- package/dist/assets/overlays-JxbHtA2o.js +1 -0
- package/dist/assets/owners-FXDGInVq.js +2 -0
- package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
- package/dist/assets/pdf-Df7PCH7q.js +11 -0
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
- package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
- package/dist/assets/perfProbe-COAp9PAa.js +1 -0
- package/dist/assets/php-CYrBA5iX.js +1 -0
- package/dist/assets/pickers-B4-3HOR8.js +1 -0
- package/dist/assets/pin-Bya3BL_a.css +1 -0
- package/dist/assets/pin-CXSuPJYL.js +1 -0
- package/dist/assets/planTracker-7AMCQPNx.js +1 -0
- package/dist/assets/portal-DMw7C32j.js +1 -0
- package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
- package/dist/assets/predictions-CYS7Vo39.js +1 -0
- package/dist/assets/prewarm--whjQhWJ.js +1 -0
- package/dist/assets/prism-app-CXYElq8-.css +1 -0
- package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
- package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
- package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
- package/dist/assets/providers-wzm7E8Pa.js +1 -0
- package/dist/assets/purify.es-adlwq8Pz.js +3 -0
- package/dist/assets/python-gzcpVVnB.js +1 -0
- package/dist/assets/queue-DHeyJ32F.css +1 -0
- package/dist/assets/queue-J4h7E3uc.js +1 -0
- package/dist/assets/quietHours-BvcsBKKK.js +1 -0
- package/dist/assets/react-BQSORdFI.js +1 -0
- package/dist/assets/reference-sJzyMiL4.js +1 -0
- package/dist/assets/registry-1GuPBfQK.js +1 -0
- package/dist/assets/registry-2GJZ46M8.css +1 -0
- package/dist/assets/registry-2v0jlh5Q.js +2 -0
- package/dist/assets/registry-B8DStMJk.js +1 -0
- package/dist/assets/registry-B940W2j5.js +1 -0
- package/dist/assets/registry-BAoRB8rd.css +1 -0
- package/dist/assets/registry-BPvIPLke.js +1 -0
- package/dist/assets/registry-BVHiKEwE.css +1 -0
- package/dist/assets/registry-BcZXBr3y.css +1 -0
- package/dist/assets/registry-BffpZK5w.js +1 -0
- package/dist/assets/registry-BgGeRiDA.js +2 -0
- package/dist/assets/registry-Buq5uuCv.js +1 -0
- package/dist/assets/registry-BzNLfje1.css +1 -0
- package/dist/assets/registry-C3ezxLR3.css +1 -0
- package/dist/assets/registry-CAusoyBh.js +1 -0
- package/dist/assets/registry-CEVrY72Z.js +1 -0
- package/dist/assets/registry-CKjKq6ct.js +1 -0
- package/dist/assets/registry-CNgybLQv.css +1 -0
- package/dist/assets/registry-CRM7y8QT.css +1 -0
- package/dist/assets/registry-CRisz4Ca.css +1 -0
- package/dist/assets/registry-Cg7qUZPS.js +1 -0
- package/dist/assets/registry-Cix-yqch.js +1 -0
- package/dist/assets/registry-CtbuZWYz.css +1 -0
- package/dist/assets/registry-DCI_BeFJ.js +5 -0
- package/dist/assets/registry-DDLSYDVA.js +1 -0
- package/dist/assets/registry-DI1wSG1Y.js +1 -0
- package/dist/assets/registry-DJinB5ye.js +2 -0
- package/dist/assets/registry-DUvXX_d0.js +1 -0
- package/dist/assets/registry-DVzLacl_.css +1 -0
- package/dist/assets/registry-DWcNVyI2.css +1 -0
- package/dist/assets/registry-D_URPoL4.js +1 -0
- package/dist/assets/registry-Dkc7hN5T.js +1 -0
- package/dist/assets/registry-DmQlNN3y.js +1 -0
- package/dist/assets/registry-DpaaVbmL.css +1 -0
- package/dist/assets/registry-Dpb8EXHn.js +49 -0
- package/dist/assets/registry-Dru0JcTa.css +1 -0
- package/dist/assets/registry-DujBAgn_.js +1 -0
- package/dist/assets/registry-Dye5m3qt.css +1 -0
- package/dist/assets/registry-GeSy4i7R.css +1 -0
- package/dist/assets/registry-QcULZpdE.js +4 -0
- package/dist/assets/registry-T3i2Q9SI.css +1 -0
- package/dist/assets/registry-UFIuwh3i.css +1 -0
- package/dist/assets/registry-Xzq_Rpmm.css +1 -0
- package/dist/assets/registry-ZOWzhOHk.css +1 -0
- package/dist/assets/registry-aIH-Im5Y.css +1 -0
- package/dist/assets/registry-aazwkBJp.js +1 -0
- package/dist/assets/registry-ei6fIgBT.css +1 -0
- package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
- package/dist/assets/registry-upbw6pyj.css +1 -0
- package/dist/assets/registry-zRPjWNl5.js +1 -0
- package/dist/assets/relate-A9ZeaaAI.js +1 -0
- package/dist/assets/richText-BkxJhl9N.js +1 -0
- package/dist/assets/ruby-BhrksQMt.js +1 -0
- package/dist/assets/run-BYP2YlZT.js +23 -0
- package/dist/assets/run-C_0B_41W.js +21 -0
- package/dist/assets/run-DSVvshaB.js +21 -0
- package/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/assets/safeCssColor-di93BXgG.js +1 -0
- package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
- package/dist/assets/scale-Bcgfo6Hp.js +1 -0
- package/dist/assets/screen-DLR7p_yP.js +1 -0
- package/dist/assets/search-DnjHupRf.js +1 -0
- package/dist/assets/seed-b1xc0dj2.js +1 -0
- package/dist/assets/shapes-RqjqC0ay.js +1 -0
- package/dist/assets/shard000-DM_rqD7W.js +1 -0
- package/dist/assets/shard001-gQEQs7_F.js +1 -0
- package/dist/assets/shard002-DbDas-W-.js +1 -0
- package/dist/assets/shard003-DxMszG4_.js +1 -0
- package/dist/assets/shard004-DZMpLBw1.js +1 -0
- package/dist/assets/shard005-DLVkh9IH.js +1 -0
- package/dist/assets/shard006-B6efKHov.js +1 -0
- package/dist/assets/shard007-AFdZLe38.js +1 -0
- package/dist/assets/shard008-LbSBzwRx.js +1 -0
- package/dist/assets/shard009-D_6-SUDb.js +1 -0
- package/dist/assets/shard010-DbOj-uZW.js +1 -0
- package/dist/assets/shard011-BYSz7EEW.js +1 -0
- package/dist/assets/shard012-B5Ypj7OV.js +1 -0
- package/dist/assets/shard013-BtsliNIe.js +1 -0
- package/dist/assets/shard014-15sjmk68.js +1 -0
- package/dist/assets/shard015-nnXrqru_.js +1 -0
- package/dist/assets/shard016-BayXFE13.js +1 -0
- package/dist/assets/shard017-Cy4cGexs.js +1 -0
- package/dist/assets/shard018-aO-BYJ8H.js +1 -0
- package/dist/assets/shard019-gxaTeA3I.js +1 -0
- package/dist/assets/shard020-BibJdMI0.js +1 -0
- package/dist/assets/shard021-2FE-tze4.js +1 -0
- package/dist/assets/shard022-IXiyG-JK.js +1 -0
- package/dist/assets/shard023-314F6NJS.js +1 -0
- package/dist/assets/shard024-cN5rpQ_X.js +1 -0
- package/dist/assets/shard025-KKTaXOGE.js +1 -0
- package/dist/assets/shard026-C2Dkd1t6.js +1 -0
- package/dist/assets/shard027-Xy-8x9As.js +1 -0
- package/dist/assets/shard028-Bul-klUj.js +1 -0
- package/dist/assets/shard029-BbRSUcUZ.js +1 -0
- package/dist/assets/shard030-GYllsFVC.js +1 -0
- package/dist/assets/shard031-DMigeiyn.js +1 -0
- package/dist/assets/shard032-CcvmzK0l.js +1 -0
- package/dist/assets/shard033-11AU702M.js +1 -0
- package/dist/assets/shard034-Bx3urxjM.js +1 -0
- package/dist/assets/shard035-DBdEeyCt.js +1 -0
- package/dist/assets/shard036-vYgoRBqS.js +1 -0
- package/dist/assets/shard037-DP4MMw91.js +1 -0
- package/dist/assets/shard038-ffxsv7d6.js +1 -0
- package/dist/assets/shard039-C1JHHNp9.js +1 -0
- package/dist/assets/shard040-JbVvCSO_.js +1 -0
- package/dist/assets/shard041-5L_eFwGx.js +1 -0
- package/dist/assets/shard042-C9nsGL79.js +1 -0
- package/dist/assets/shard043-Dx_9HSKI.js +1 -0
- package/dist/assets/shard044-B3QQNC4A.js +1 -0
- package/dist/assets/shard045-B7z0WHO6.js +1 -0
- package/dist/assets/shard046-D1yDablJ.js +1 -0
- package/dist/assets/shard047-DJi3AgeT.js +1 -0
- package/dist/assets/shard048-D_2ipfUr.js +1 -0
- package/dist/assets/shard049-1aGgWZdd.js +1 -0
- package/dist/assets/shard050-Bjwa0Og4.js +1 -0
- package/dist/assets/shard051-Cx_GAk3v.js +1 -0
- package/dist/assets/shard052-LaeOD3V5.js +1 -0
- package/dist/assets/shard053-D-da7Foj.js +1 -0
- package/dist/assets/shard054-CM8eSRQk.js +1 -0
- package/dist/assets/shard055-QRpDl4Vs.js +1 -0
- package/dist/assets/shard056-DkY7CQm3.js +1 -0
- package/dist/assets/shard057-BVCgf7o0.js +1 -0
- package/dist/assets/shard058-93aGtdrX.js +1 -0
- package/dist/assets/shard059-rJE9X1_I.js +1 -0
- package/dist/assets/shard060-Lu_hfl1r.js +1 -0
- package/dist/assets/shard061-C9A8iNiq.js +1 -0
- package/dist/assets/shard062-BBIpEYZO.js +1 -0
- package/dist/assets/shard063-C_uen3Ub.js +1 -0
- package/dist/assets/shard064-DAHUsHST.js +1 -0
- package/dist/assets/shard065-C2edvdvh.js +1 -0
- package/dist/assets/shard066-DFcuVhZm.js +1 -0
- package/dist/assets/shard067-BN8DM8JZ.js +1 -0
- package/dist/assets/shard068-i464K77p.js +1 -0
- package/dist/assets/shard069-Dm9m2a5U.js +1 -0
- package/dist/assets/shard070-BPVvR8GH.js +1 -0
- package/dist/assets/shard071-Bal_0d9L.js +1 -0
- package/dist/assets/shard072-CBQu62kt.js +1 -0
- package/dist/assets/shard073-D5BRae0w.js +1 -0
- package/dist/assets/shard074-DtFvcBnZ.js +1 -0
- package/dist/assets/share-QHGHNDhQ.js +1 -0
- package/dist/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
- package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
- package/dist/assets/speed-DwPw9KSv.js +1 -0
- package/dist/assets/spokenText-D4zPX9JY.js +1 -0
- package/dist/assets/sql-0Qcw9ht3.js +1 -0
- package/dist/assets/sql-CP0rg-5b.js +1 -0
- package/dist/assets/src-DbgF7cRH.js +2 -0
- package/dist/assets/stats-BeP5Bws0.js +1 -0
- package/dist/assets/status-BY02LIJt.js +1 -0
- package/dist/assets/stepDriver-DwjFet6U.js +1 -0
- package/dist/assets/store-4JNNn732.js +1 -0
- package/dist/assets/store-BFC7DZcg.js +1 -0
- package/dist/assets/store-BFrJaSxJ.js +1 -0
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-DgG0C1Qx.js +1 -0
- package/dist/assets/streamParse-DRgMHWye.js +2 -0
- package/dist/assets/student.generated-DS_acPaJ.js +1 -0
- package/dist/assets/swift-DonLKvLd.js +1 -0
- package/dist/assets/tables-Dzd3rTqG.js +1 -0
- package/dist/assets/time-BHTmJR1s.js +1 -0
- package/dist/assets/toast-BBNs2h3L.js +1 -0
- package/dist/assets/toml-CcmNWLt0.js +1 -0
- package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
- package/dist/assets/tsx-5f3ulCja.js +1 -0
- package/dist/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/assets/typeof-B5XbjTb1.js +1 -0
- package/dist/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
- package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
- package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
- package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
- package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
- package/dist/assets/useSrsCards-CagZefwX.js +1 -0
- package/dist/assets/useStudy-Bflreq2a.js +1 -0
- package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
- package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
- package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
- package/dist/assets/verbatim-CBMzUDlf.js +1 -0
- package/dist/assets/worker-BbLKfGzm.js +2 -0
- package/dist/assets/xml-WY0zc4PG.js +1 -0
- package/dist/assets/yaml-CxbubiML.js +1 -0
- package/dist/assets/yaml-DijMHRDA.js +1 -0
- package/dist/demo-assets/CREDITS.md +40 -0
- package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
- package/dist/demo-assets/images/capelinhos.jpg +0 -0
- package/dist/demo-assets/images/cliff-fields.jpg +0 -0
- package/dist/demo-assets/images/crater-panorama.jpg +0 -0
- package/dist/demo-assets/images/furnas-lake.jpg +0 -0
- package/dist/demo-assets/images/green-coast.jpg +0 -0
- package/dist/demo-assets/images/overcast-coast.jpg +0 -0
- package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
- package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
- package/dist/demo-assets/images/sete-cidades.jpg +0 -0
- package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
- package/dist/demo-assets/images/slide-placeholder.svg +9 -0
- package/dist/demo-assets/images/village-street.jpg +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- package/dist/favicon.svg +19 -0
- package/dist/fonts/LICENSE.txt +34 -0
- package/dist/fonts/archivo-var-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
- package/dist/fonts/export/families/archivo.css +12 -0
- package/dist/fonts/export/families/bodoni-moda.css +23 -0
- package/dist/fonts/export/families/eb-garamond.css +22 -0
- package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
- package/dist/fonts/export/families/instrument-serif.css +22 -0
- package/dist/fonts/export/families/jetbrains-mono.css +12 -0
- package/dist/fonts/export/families/libre-franklin.css +12 -0
- package/dist/fonts/export/families/lora.css +22 -0
- package/dist/fonts/export/families/source-serif-4.css +12 -0
- package/dist/fonts/export/families/space-grotesk.css +12 -0
- package/dist/fonts/export/families/spectral.css +52 -0
- package/dist/fonts/fonts.css +141 -0
- package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
- package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
- package/dist/fonts/lora-var-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
- package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
- package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-latin.woff2 +0 -0
- package/dist/fonts/spectral-600-latin.woff2 +0 -0
- package/dist/index.html +117 -0
- package/dist/legal/DISCLAIMER.md +16 -0
- package/dist/legal/LICENSE.txt +75 -0
- package/dist/legal/PRIVACY.md +127 -0
- package/dist/legal/SECURITY.md +72 -0
- package/dist/legal/SUPPORT.md +13 -0
- package/dist/legal/TERMS.md +122 -0
- package/dist/legal/THIRD-PARTY.txt +639 -0
- package/dist/legal/TRADEMARKS.md +15 -0
- package/dist/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/sw.js +30 -0
- package/dist/vad.worklet.bundle.min.js +1 -0
- package/docker-compose.yml +33 -0
- package/gateway/README.md +99 -0
- package/gateway/actions-gateway.mjs +537 -0
- package/gateway/connectors.d.mts +27 -0
- package/gateway/connectors.mjs +463 -0
- package/gateway/guard.mjs +110 -0
- package/gateway/tokenStore.mjs +134 -0
- package/package.json +143 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[Object.freeze(JSON.parse(`{"displayName":"SQL","name":"sql","patterns":[{"match":"((?<!@)@)\\\\b(\\\\w+)\\\\b","name":"text.variable"},{"match":"(\\\\[)[^]]*(])","name":"text.bracketed"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"},"5":{"name":"entity.name.function.sql"}},"match":"(?i:^\\\\s*(create(?:\\\\s+or\\\\s+replace)?)\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)([\\"'\`]?)(\\\\w+)\\\\4","name":"meta.create.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"}},"match":"(?i:^\\\\s*(drop)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"},"3":{"name":"entity.name.function.sql"},"4":{"name":"keyword.other.cascade.sql"}},"match":"(?i:\\\\s*(drop)\\\\s+(table)\\\\s+(\\\\w+)(\\\\s+cascade)?\\\\b)","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"}},"match":"(?i:^\\\\s*(alter)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)","name":"meta.alter.sql"},{"captures":{"1":{"name":"storage.type.sql"},"2":{"name":"storage.type.sql"},"3":{"name":"constant.numeric.sql"},"4":{"name":"storage.type.sql"},"5":{"name":"constant.numeric.sql"},"6":{"name":"storage.type.sql"},"7":{"name":"constant.numeric.sql"},"8":{"name":"constant.numeric.sql"},"9":{"name":"storage.type.sql"},"10":{"name":"constant.numeric.sql"},"11":{"name":"storage.type.sql"},"12":{"name":"storage.type.sql"},"13":{"name":"storage.type.sql"},"14":{"name":"constant.numeric.sql"},"15":{"name":"storage.type.sql"}},"match":"(?i)\\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\b|\\\\b(bit\\\\svarying|character\\\\s(?:varying)?|tinyint|var\\\\schar|float|interval)\\\\((\\\\d+)\\\\)|\\\\b(char|number|varchar\\\\d?)\\\\b(?:\\\\((\\\\d+)\\\\))?|\\\\b(numeric|decimal)\\\\b(?:\\\\((\\\\d+),(\\\\d+)\\\\))?|\\\\b(times?)\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\swith(?:out)?\\\\stime\\\\szone\\\\b)?|\\\\b(timestamp)(s|tz)?\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\s(with(?:|out))\\\\stime\\\\szone\\\\b)?"},{"match":"(?i:\\\\b((?:primary|foreign)\\\\s+key|references|on\\\\s+(delete|update)(\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\b)","name":"storage.modifier.sql"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.sql"},{"match":"(?i:\\\\b(select(\\\\s+(all|distinct))?|insert\\\\s+(ignore\\\\s+)?into|update|delete|from|set|where|group\\\\s+by|or|like|and|union(\\\\s+all)?|having|order\\\\s+by|limit|cross\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\s+outer)?)\\\\s+join|natural(\\\\s+(inner|(left|right|full)(\\\\s+outer)?))?\\\\s+join)\\\\b)","name":"keyword.other.DML.sql"},{"match":"(?i:\\\\b(on|off|((is\\\\s+)?not\\\\s+)?null)\\\\b)","name":"keyword.other.DDL.create.II.sql"},{"match":"(?i:\\\\bvalues\\\\b)","name":"keyword.other.DML.II.sql"},{"match":"(?i:\\\\b(begin(\\\\s+work)?|start\\\\s+transaction|commit(\\\\s+work)?|rollback(\\\\s+work)?)\\\\b)","name":"keyword.other.LUW.sql"},{"match":"(?i:\\\\b(grant(\\\\swith\\\\sgrant\\\\soption)?|revoke)\\\\b)","name":"keyword.other.authorization.sql"},{"match":"(?i:\\\\bin\\\\b)","name":"keyword.other.data-integrity.sql"},{"match":"(?i:^\\\\s*(comment\\\\s+on\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\s+)","name":"keyword.other.object-comments.sql"},{"match":"(?i)\\\\bAS\\\\b","name":"keyword.other.alias.sql"},{"match":"(?i)\\\\b(DESC|ASC)\\\\b","name":"keyword.other.order.sql"},{"match":"\\\\*","name":"keyword.operator.star.sql"},{"match":"[!<>]?=|<>|[<>]","name":"keyword.operator.comparison.sql"},{"match":"[-+/]","name":"keyword.operator.math.sql"},{"match":"\\\\|\\\\|","name":"keyword.operator.concatenator.sql"},{"captures":{"1":{"name":"support.function.aggregate.sql"}},"match":"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.analytic.sql"}},"match":"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.bitmanipulation.sql"}},"match":"(?i)\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.conversion.sql"}},"match":"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.collation.sql"}},"match":"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cryptographic.sql"}},"match":"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cursor.sql"}},"match":"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datetime.sql"}},"match":"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datatype.sql"}},"match":"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.expression.sql"}},"match":"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.globalvar.sql"}},"match":"(?<!@)@@(?i)\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.json.sql"}},"match":"(?i)\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.logical.sql"}},"match":"(?i)\\\\b(choose|iif|greatest|least)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.mathematical.sql"}},"match":"(?i)\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.metadata.sql"}},"match":"(?i)\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.ranking.sql"}},"match":"(?i)\\\\b(rank|dense_rank|ntile|row_number)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.rowset.sql"}},"match":"(?i)\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.security.sql"}},"match":"(?i)\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.string.sql"}},"match":"(?i)\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.system.sql"}},"match":"(?i)\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.textimage.sql"}},"match":"(?i)\\\\b(patindex|textptr|textvalid)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.vector.sql"}},"match":"(?i)\\\\b(vector_(?:distance|norm|normalize))\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"constant.other.database-name.sql"},"2":{"name":"constant.other.table-name.sql"}},"match":"(\\\\w+?)\\\\.(\\\\w+)"},{"include":"#strings"},{"include":"#regexps"},{"match":"\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\s+or\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\b","name":"keyword.other.sql"},{"captures":{"1":{"name":"punctuation.section.scope.begin.sql"},"2":{"name":"punctuation.section.scope.end.sql"}},"match":"(\\\\()(\\\\))","name":"meta.block.sql"}],"repository":{"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\*/","name":"comment.block","patterns":[{"include":"#comment-block"}]},"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\n","name":"comment.line.double-dash.sql"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[]},{"include":"#comment-block"}]},"regexps":{"patterns":[{"begin":"/(?=\\\\S.*/)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.sql","patterns":[{"include":"#string_interpolation"},{"match":"\\\\\\\\/","name":"constant.character.escape.slash.sql"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.modr.sql","patterns":[{"include":"#string_interpolation"}]}]},"string_escape":{"match":"\\\\\\\\.","name":"constant.character.escape.sql"},"string_interpolation":{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(#\\\\{)([^}]*)(})","name":"string.interpolated.sql"},"strings":{"patterns":[{"captures":{"2":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(?:(?<![0-9A-Z_a-z])(N))?(')[^']*(')","name":"string.quoted.single.sql"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.single.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(\`)[^\\\\\\\\\`]*(\`)","name":"string.quoted.other.backtick.sql"},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.other.backtick.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(\\")[^\\"#]*(\\")","name":"string.quoted.double.sql"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.double.sql","patterns":[{"include":"#string_interpolation"}]},{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.other.quoted.brackets.sql","patterns":[{"include":"#string_interpolation"}]}]}},"scopeName":"source.sql"}`))];export{e as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./chunk-BVpWp9h4.js";import{t as e}from"./__vite-browser-external-BufR4LQa.js";function t(e){if(!e)throw Error(`Assertion failed.`)}var n=e=>{let t=(e%360+360)%360;if(t===0||t===90||t===180||t===270)return t;throw Error(`Invalid rotation ${e}.`)},r=e=>e&&e[e.length-1],i=e=>e>=0&&e<2**32,a=e=>{let t=0;for(;e.readBits(1)===0&&t<32;)t++;if(t>=32)throw Error(`Invalid exponential-Golomb code.`);return(1<<t)-1+e.readBits(t)},o=e=>{let t=a(e);return t&1?t+1>>1:-(t>>1)},s=e=>e.constructor===Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),c=e=>e.constructor===DataView?e:ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),l=new TextEncoder,u={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},d={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},f={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},p=e=>!!e&&!!e.primaries&&!!e.transfer&&!!e.matrix&&e.fullRange!==void 0,m=e=>e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||ArrayBuffer.isView(e),h=class{constructor(){this.currentPromise=Promise.resolve(),this.pending=0}async acquire(){let e,t=new Promise(t=>{let n=!1;e=()=>{n||=(t(),this.pending--,!0)}}),n=this.currentPromise;return this.currentPromise=t,this.pending++,await n,e}},g=(e,t,n)=>{let r=0,i=e.length-1,a=-1;for(;r<=i;){let o=r+(i-r+1)/2|0;n(e[o])<=t?(a=o,r=o+1):i=o-1}return a},_=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},v=e=>{throw Error(`Unexpected value: ${e}`)},y=(e,t,n)=>{let r=e.getUint8(t),i=e.getUint8(t+1),a=e.getUint8(t+2);return n?r|i<<8|a<<16:r<<16|i<<8|a},b=(e,t,n,r)=>{n>>>=0,n&=16777215,r?(e.setUint8(t,n&255),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,n>>>16&255)):(e.setUint8(t,n>>>16&255),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,n&255))},ee=(e,t,n,r)=>{n=x(n,-8388608,8388607),n<0&&(n=n+16777216&16777215),b(e,t,n,r)},x=(e,t,n)=>Math.max(t,Math.min(n,e)),te=(e,t)=>Math.round(e/t)*t,ne=(e,t)=>Math.round(e*t)/t,S=(e,t)=>Math.floor(e*t)/t,C=/^[a-z]{3}$/,re=e=>C.test(e),w=1e6*(1+2**-52),ie=(e,t)=>{let n=e<0?-1:1;e=Math.abs(e);let r=0,i=1,a=1,o=0,s=e;for(;;){let e=Math.floor(s),c=e*a+r,l=e*o+i;if(l>t)return{num:n*a,den:o};if(r=a,i=o,a=c,o=l,s=1/(s-e),!isFinite(s))break}return{num:n*a,den:o}},ae=class{constructor(){this.currentPromise=Promise.resolve()}call(e){return this.currentPromise=this.currentPromise.then(e)}},oe=null,se=()=>oe===null?oe=!!(typeof navigator<`u`&&(navigator.vendor?.match(/apple/i)||/AppleWebKit/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent))):oe,ce=null,le=()=>ce===null?ce=typeof navigator<`u`&&navigator.userAgent?.includes(`Firefox`):ce,ue=null,de=()=>ue===null?ue=!!(typeof navigator<`u`&&(navigator.vendor?.includes(`Google Inc`)||/Chrome/.test(navigator.userAgent))):ue,fe=null,pe=()=>{if(fe!==null)return fe;if(typeof navigator>`u`)return null;let e=/\bChrome\/(\d+)/.exec(navigator.userAgent);return e?fe=Number(e[1]):null},me=function*(e){for(let t in e){let n=e[t];n!==void 0&&(yield{key:t,value:n})}},he=()=>{Symbol.dispose??=Symbol(`Symbol.dispose`)},ge=(e,t)=>{let n=-1,r=1/0;for(let i=0;i<e.length;i++){let a=t(e[i]);a<r&&(r=a,n=i)}return n},_e=e=>{t(Number.isInteger(e.num)),t(Number.isInteger(e.den)),t(e.den!==0);let n=Math.abs(e.num),r=Math.abs(e.den);for(;r!==0;){let e=n%r;n=r,r=e}let i=n||1;return{num:e.num/i,den:e.den/i}},ve=(e,t)=>{if(typeof e!=`object`||!e)throw TypeError(`${t} must be an object.`);if(!Number.isInteger(e.left)||e.left<0)throw TypeError(`${t}.left must be a non-negative integer.`);if(!Number.isInteger(e.top)||e.top<0)throw TypeError(`${t}.top must be a non-negative integer.`);if(!Number.isInteger(e.width)||e.width<0)throw TypeError(`${t}.width must be a non-negative integer.`);if(!Number.isInteger(e.height)||e.height<0)throw TypeError(`${t}.height must be a non-negative integer.`)},ye=e=>new Promise(t=>setTimeout(t,e)),be=e=>Array.isArray(e)?e:[e],xe=class{constructor(){this._listeners=new Map}on(e,t,n){this._listeners.has(e)||this._listeners.set(e,new Set);let r={fn:t,once:n?.once??!1};return this._listeners.get(e).add(r),()=>{this._listeners.get(e)?.delete(r)}}_emit(...e){let[t,n]=e,r=this._listeners.get(t);if(r)for(let e of r){try{e.fn(n)}catch(e){console.error(e)}e.once&&r.delete(e)}}},Se=e=>typeof e==`object`&&!!e&&Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(e=>typeof e==`string`),T;(function(e){e[e.Silent=0]=`Silent`,e[e.Errors=1]=`Errors`,e[e.Warnings=2]=`Warnings`,e[e.Info=3]=`Info`})(T||={});var E=class e{constructor(){}static get level(){return e._level}static set level(t){if(t!==T.Silent&&t!==T.Errors&&t!==T.Warnings&&t!==T.Info)throw TypeError(`Invalid log level. Use one of the values of the LogLevel enum.`);e._level=t}static get _emitter(){return e._emitterInstance??=new xe}static on(t,n,r){return e._emitter.on(t,n,r)}static _error(...t){e._emitter._emit(`error`,t),e._level>=T.Errors&&console.error(...t)}static _warn(...t){e._emitter._emit(`warn`,t),e._level>=T.Warnings&&console.warn(...t)}static _info(...t){e._emitter._emit(`info`,t),e._level>=T.Info&&console.info(...t)}};E._level=T.Info,E._emitterInstance=null;var Ce=class{constructor(e,t){if(this.data=e,this.mimeType=t,!(e instanceof Uint8Array))throw TypeError(`data must be a Uint8Array.`);if(typeof t!=`string`)throw TypeError(`mimeType must be a string.`)}},we=class{constructor(e,t,n,r){if(this.data=e,this.mimeType=t,this.name=n,this.description=r,!(e instanceof Uint8Array))throw TypeError(`data must be a Uint8Array.`);if(t!==void 0&&typeof t!=`string`)throw TypeError(`mimeType, when provided, must be a string.`);if(n!==void 0&&typeof n!=`string`)throw TypeError(`name, when provided, must be a string.`);if(r!==void 0&&typeof r!=`string`)throw TypeError(`description, when provided, must be a string.`)}},Te=e=>{if(!e||typeof e!=`object`)throw TypeError(`tags must be an object.`);if(e.title!==void 0&&typeof e.title!=`string`)throw TypeError(`tags.title, when provided, must be a string.`);if(e.description!==void 0&&typeof e.description!=`string`)throw TypeError(`tags.description, when provided, must be a string.`);if(e.artist!==void 0&&typeof e.artist!=`string`)throw TypeError(`tags.artist, when provided, must be a string.`);if(e.album!==void 0&&typeof e.album!=`string`)throw TypeError(`tags.album, when provided, must be a string.`);if(e.albumArtist!==void 0&&typeof e.albumArtist!=`string`)throw TypeError(`tags.albumArtist, when provided, must be a string.`);if(e.trackNumber!==void 0&&(!Number.isInteger(e.trackNumber)||e.trackNumber<=0))throw TypeError(`tags.trackNumber, when provided, must be a positive integer.`);if(e.tracksTotal!==void 0&&(!Number.isInteger(e.tracksTotal)||e.tracksTotal<=0))throw TypeError(`tags.tracksTotal, when provided, must be a positive integer.`);if(e.discNumber!==void 0&&(!Number.isInteger(e.discNumber)||e.discNumber<=0))throw TypeError(`tags.discNumber, when provided, must be a positive integer.`);if(e.discsTotal!==void 0&&(!Number.isInteger(e.discsTotal)||e.discsTotal<=0))throw TypeError(`tags.discsTotal, when provided, must be a positive integer.`);if(e.genre!==void 0&&typeof e.genre!=`string`)throw TypeError(`tags.genre, when provided, must be a string.`);if(e.date!==void 0&&(!(e.date instanceof Date)||Number.isNaN(e.date.getTime())))throw TypeError(`tags.date, when provided, must be a valid Date.`);if(e.lyrics!==void 0&&typeof e.lyrics!=`string`)throw TypeError(`tags.lyrics, when provided, must be a string.`);if(e.images!==void 0){if(!Array.isArray(e.images))throw TypeError(`tags.images, when provided, must be an array.`);for(let t of e.images){if(!t||typeof t!=`object`)throw TypeError(`Each image in tags.images must be an object.`);if(!(t.data instanceof Uint8Array))throw TypeError(`Each image.data must be a Uint8Array.`);if(typeof t.mimeType!=`string`)throw TypeError(`Each image.mimeType must be a string.`);if(![`coverFront`,`coverBack`,`unknown`].includes(t.kind))throw TypeError(`Each image.kind must be 'coverFront', 'coverBack', or 'unknown'.`)}}if(e.comment!==void 0&&typeof e.comment!=`string`)throw TypeError(`tags.comment, when provided, must be a string.`);if(e.raw!==void 0){if(!e.raw||typeof e.raw!=`object`)throw TypeError(`tags.raw, when provided, must be an object.`);for(let t of Object.values(e.raw))if(t!==null&&typeof t!=`string`&&!(t instanceof Uint8Array)&&!(t instanceof Ce)&&!(t instanceof we)&&!Se(t))throw TypeError(`Each value in tags.raw must be a string, Uint8Array, RichImageData, AttachedFile, Record<string, string>, or null.`)}},Ee=e=>{if(!e||typeof e!=`object`)throw TypeError(`disposition must be an object.`);if(e.default!==void 0&&typeof e.default!=`boolean`)throw TypeError(`disposition.default must be a boolean.`);if(e.primary!==void 0&&typeof e.primary!=`boolean`)throw TypeError(`disposition.primary must be a boolean.`);if(e.forced!==void 0&&typeof e.forced!=`boolean`)throw TypeError(`disposition.forced must be a boolean.`);if(e.original!==void 0&&typeof e.original!=`boolean`)throw TypeError(`disposition.original must be a boolean.`);if(e.commentary!==void 0&&typeof e.commentary!=`boolean`)throw TypeError(`disposition.commentary must be a boolean.`);if(e.hearingImpaired!==void 0&&typeof e.hearingImpaired!=`boolean`)throw TypeError(`disposition.hearingImpaired must be a boolean.`);if(e.visuallyImpaired!==void 0&&typeof e.visuallyImpaired!=`boolean`)throw TypeError(`disposition.visuallyImpaired must be a boolean.`)},D=class e{constructor(e){this.bytes=e,this.pos=0}seekToByte(e){this.pos=8*e}readBit(){let e=Math.floor(this.pos/8),t=this.bytes[e]??0,n=7-(this.pos&7),r=(t&1<<n)>>n;return this.pos++,r}readBits(e){if(e===1)return this.readBit();let t=0;for(let n=0;n<e;n++)t<<=1,t|=this.readBit();return t}writeBits(e,t){let n=this.pos+e;for(let e=this.pos;e<n;e++){let r=Math.floor(e/8),i=this.bytes[r],a=7-(e&7);i&=~(1<<a),i|=(t&1<<n-e-1)>>n-e-1<<a,this.bytes[r]=i}this.pos=n}readAlignedByte(){if(this.pos%8!=0)throw Error(`Bitstream is not byte-aligned.`);let e=this.pos/8,t=this.bytes[e]??0;return this.pos+=8,t}skipBits(e){this.pos+=e}getBitsLeft(){return this.bytes.length*8-this.pos}clone(){let t=new e(this.bytes);return t.pos=this.pos,t}},De=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],Oe=[-1,1,2,3,4,5,6,8],ke=e=>{if(!e||e.byteLength<2)throw TypeError(`AAC description must be at least 2 bytes long.`);let t=new D(e),n=t.readBits(5);n===31&&(n=32+t.readBits(6));let r=t.readBits(4),i=null;r===15?i=t.readBits(24):r<De.length&&(i=De[r]);let a=t.readBits(4),o=null;return a>=1&&a<=7&&(o=Oe[a]),{objectType:n,frequencyIndex:r,sampleRate:i,channelConfiguration:a,numberOfChannels:o}},Ae=e=>{let t=De.indexOf(e.sampleRate),n=null;t===-1&&(t=15,n=e.sampleRate);let r=Oe.indexOf(e.numberOfChannels);if(r===-1)throw TypeError(`Unsupported number of channels: ${e.numberOfChannels}`);let i=13;e.objectType>=32&&(i+=6),t===15&&(i+=24);let a=Math.ceil(i/8),o=new Uint8Array(a),s=new D(o);return e.objectType<32?s.writeBits(5,e.objectType):(s.writeBits(5,31),s.writeBits(6,e.objectType-32)),s.writeBits(4,t),t===15&&s.writeBits(24,n),s.writeBits(4,r),o},O=[`avc`,`hevc`,`vp9`,`av1`,`vp8`,`prores`],k=[`pcm-s16`,`pcm-s16be`,`pcm-s24`,`pcm-s24be`,`pcm-s32`,`pcm-s32be`,`pcm-f32`,`pcm-f32be`,`pcm-f64`,`pcm-f64be`,`pcm-u8`,`pcm-s8`,`ulaw`,`alaw`],je=[`aac`,`opus`,`mp3`,`vorbis`,`flac`,`ac3`,`eac3`],Me=[...je,...k],Ne=[`webvtt`],Pe=[{maxMacroblocks:99,maxBitrate:64e3,maxDpbMbs:396,level:10},{maxMacroblocks:396,maxBitrate:192e3,maxDpbMbs:900,level:11},{maxMacroblocks:396,maxBitrate:384e3,maxDpbMbs:2376,level:12},{maxMacroblocks:396,maxBitrate:768e3,maxDpbMbs:2376,level:13},{maxMacroblocks:396,maxBitrate:2e6,maxDpbMbs:2376,level:20},{maxMacroblocks:792,maxBitrate:4e6,maxDpbMbs:4752,level:21},{maxMacroblocks:1620,maxBitrate:4e6,maxDpbMbs:8100,level:22},{maxMacroblocks:1620,maxBitrate:1e7,maxDpbMbs:8100,level:30},{maxMacroblocks:3600,maxBitrate:14e6,maxDpbMbs:18e3,level:31},{maxMacroblocks:5120,maxBitrate:2e7,maxDpbMbs:20480,level:32},{maxMacroblocks:8192,maxBitrate:2e7,maxDpbMbs:32768,level:40},{maxMacroblocks:8192,maxBitrate:5e7,maxDpbMbs:32768,level:41},{maxMacroblocks:8704,maxBitrate:5e7,maxDpbMbs:34816,level:42},{maxMacroblocks:22080,maxBitrate:135e6,maxDpbMbs:110400,level:50},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:51},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:52},{maxMacroblocks:139264,maxBitrate:24e7,maxDpbMbs:696320,level:60},{maxMacroblocks:139264,maxBitrate:48e7,maxDpbMbs:696320,level:61},{maxMacroblocks:139264,maxBitrate:8e8,maxDpbMbs:696320,level:62}],Fe=[{maxPictureSize:36864,maxBitrate:128e3,tier:`L`,level:30},{maxPictureSize:122880,maxBitrate:15e5,tier:`L`,level:60},{maxPictureSize:245760,maxBitrate:3e6,tier:`L`,level:63},{maxPictureSize:552960,maxBitrate:6e6,tier:`L`,level:90},{maxPictureSize:983040,maxBitrate:1e7,tier:`L`,level:93},{maxPictureSize:2228224,maxBitrate:12e6,tier:`L`,level:120},{maxPictureSize:2228224,maxBitrate:3e7,tier:`H`,level:120},{maxPictureSize:2228224,maxBitrate:2e7,tier:`L`,level:123},{maxPictureSize:2228224,maxBitrate:5e7,tier:`H`,level:123},{maxPictureSize:8912896,maxBitrate:25e6,tier:`L`,level:150},{maxPictureSize:8912896,maxBitrate:1e8,tier:`H`,level:150},{maxPictureSize:8912896,maxBitrate:4e7,tier:`L`,level:153},{maxPictureSize:8912896,maxBitrate:16e7,tier:`H`,level:153},{maxPictureSize:8912896,maxBitrate:6e7,tier:`L`,level:156},{maxPictureSize:8912896,maxBitrate:24e7,tier:`H`,level:156},{maxPictureSize:35651584,maxBitrate:6e7,tier:`L`,level:180},{maxPictureSize:35651584,maxBitrate:24e7,tier:`H`,level:180},{maxPictureSize:35651584,maxBitrate:12e7,tier:`L`,level:183},{maxPictureSize:35651584,maxBitrate:48e7,tier:`H`,level:183},{maxPictureSize:35651584,maxBitrate:24e7,tier:`L`,level:186},{maxPictureSize:35651584,maxBitrate:8e8,tier:`H`,level:186}],Ie=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:35651584,maxBitrate:18e7,level:60},{maxPictureSize:35651584,maxBitrate:24e7,level:61},{maxPictureSize:35651584,maxBitrate:48e7,level:62}],Le=[{maxPictureSize:147456,maxBitrate:15e5,tier:`M`,level:0},{maxPictureSize:278784,maxBitrate:3e6,tier:`M`,level:1},{maxPictureSize:665856,maxBitrate:6e6,tier:`M`,level:4},{maxPictureSize:1065024,maxBitrate:1e7,tier:`M`,level:5},{maxPictureSize:2359296,maxBitrate:12e6,tier:`M`,level:8},{maxPictureSize:2359296,maxBitrate:3e7,tier:`H`,level:8},{maxPictureSize:2359296,maxBitrate:2e7,tier:`M`,level:9},{maxPictureSize:2359296,maxBitrate:5e7,tier:`H`,level:9},{maxPictureSize:8912896,maxBitrate:3e7,tier:`M`,level:12},{maxPictureSize:8912896,maxBitrate:1e8,tier:`H`,level:12},{maxPictureSize:8912896,maxBitrate:4e7,tier:`M`,level:13},{maxPictureSize:8912896,maxBitrate:16e7,tier:`H`,level:13},{maxPictureSize:8912896,maxBitrate:6e7,tier:`M`,level:14},{maxPictureSize:8912896,maxBitrate:24e7,tier:`H`,level:14},{maxPictureSize:35651584,maxBitrate:6e7,tier:`M`,level:15},{maxPictureSize:35651584,maxBitrate:24e7,tier:`H`,level:15},{maxPictureSize:35651584,maxBitrate:6e7,tier:`M`,level:16},{maxPictureSize:35651584,maxBitrate:24e7,tier:`H`,level:16},{maxPictureSize:35651584,maxBitrate:1e8,tier:`M`,level:17},{maxPictureSize:35651584,maxBitrate:48e7,tier:`H`,level:17},{maxPictureSize:35651584,maxBitrate:16e7,tier:`M`,level:18},{maxPictureSize:35651584,maxBitrate:8e8,tier:`H`,level:18},{maxPictureSize:35651584,maxBitrate:16e7,tier:`M`,level:19},{maxPictureSize:35651584,maxBitrate:8e8,tier:`H`,level:19}],Re=[`ap4x`,`ap4h`,`apch`,`apcn`,`apcs`,`apco`],ze=[{fourCc:`apco`,bitrate:45e6,alpha:!1},{fourCc:`apcs`,bitrate:102e6,alpha:!1},{fourCc:`apcn`,bitrate:147e6,alpha:!1},{fourCc:`apch`,bitrate:22e7,alpha:!1},{fourCc:`ap4h`,bitrate:33e7,alpha:!0},{fourCc:`ap4x`,bitrate:5e8,alpha:!0}],Be=(e,t,n,i,a)=>{if(e===`avc`){let e=Math.ceil(t/16)*Math.ceil(n/16),a=Pe.find(t=>e<=t.maxMacroblocks&&i<=t.maxBitrate)??r(Pe),o=a?a.level:0;return`avc1.${`64`.padStart(2,`0`)}00${o.toString(16).padStart(2,`0`)}`}else if(e===`hevc`){let e=t*n,a=Fe.find(t=>e<=t.maxPictureSize&&i<=t.maxBitrate)??r(Fe);return`hev1.1.6.${a.tier}${a.level}.B0`}else if(e===`vp8`)return`vp8`;else if(e===`vp9`){let e=t*n;return`vp09.00.${(Ie.find(t=>e<=t.maxPictureSize&&i<=t.maxBitrate)??r(Ie)).level.toString().padStart(2,`0`)}.08`}else if(e===`av1`){let e=t*n,a=Le.find(t=>e<=t.maxPictureSize&&i<=t.maxBitrate)??r(Le);return`av01.0.${a.level.toString().padStart(2,`0`)}${a.tier}.08`}else if(e===`prores`){let e=(t*n/(1920*1080))**.95,r=ze.filter(e=>e.alpha===a),o=r[0].fourCc,s=1/0;for(let{fourCc:t,bitrate:n}of r){let r=Math.abs(n*e-i);r<s&&(s=r,o=t)}return o}else v(e);throw TypeError(`Unhandled codec '${String(e)}'.`)},Ve=e=>{let t=e.split(`.`),n=Number(t[1]),r=t[2],i=Number(r.slice(0,-1)),a=(n<<5)+i,o=+(r.slice(-1)===`H`),s=Number(t[3])===8?0:1,c=t[4]?Number(t[4]):0,l=t[5]?Number(t[5][0]):1,u=t[5]?Number(t[5][1]):1,d=t[5]?Number(t[5][2]):0;return[129,a,(o<<7)+(s<<6)+0+(c<<4)+(l<<3)+(u<<2)+d,0]},He=(e,t,n)=>{if(e===`aac`)return t>=2&&n<=24e3?`mp4a.40.29`:n<=24e3?`mp4a.40.5`:`mp4a.40.2`;if(e===`mp3`)return`mp3`;if(e===`opus`)return`opus`;if(e===`vorbis`)return`vorbis`;if(e===`flac`)return`flac`;if(e===`ac3`)return`ac-3`;if(e===`eac3`)return`ec-3`;if(k.includes(e))return e;throw TypeError(`Unhandled codec '${e}'.`)},Ue=/^pcm-([usf])(\d+)(be)?$/,A=e=>{if(t(k.includes(e)),e===`ulaw`)return{dataType:`ulaw`,sampleSize:1,littleEndian:!0,silentValue:255};if(e===`alaw`)return{dataType:`alaw`,sampleSize:1,littleEndian:!0,silentValue:213};let n=Ue.exec(e);t(n);let r;r=n[1]===`u`?`unsigned`:n[1]===`s`?`signed`:`float`;let i=Number(n[2])/8,a=n[3]!==`be`;return{dataType:r,sampleSize:i,littleEndian:a,silentValue:e===`pcm-u8`?2**7:0}},We=e=>e.startsWith(`avc1`)||e.startsWith(`avc3`)?`avc`:e.startsWith(`hev1`)||e.startsWith(`hvc1`)?`hevc`:e===`vp8`?`vp8`:e.startsWith(`vp09`)?`vp9`:e.startsWith(`av01`)?`av1`:Re.includes(e)?`prores`:e===`mp3`||e===`mp4a.69`||e===`mp4a.6B`||e===`mp4a.6b`||e===`mp4a.40.34`?`mp3`:e.startsWith(`mp4a.40.`)||e===`mp4a.67`?`aac`:e===`opus`?`opus`:e===`vorbis`?`vorbis`:e===`flac`?`flac`:e===`ac-3`||e===`ac3`?`ac3`:e===`ec-3`||e===`eac3`?`eac3`:e===`ulaw`?`ulaw`:e===`alaw`?`alaw`:Ue.test(e)?e:e===`webvtt`?`webvtt`:null,Ge=e=>e===`avc`?{avc:{format:`avc`}}:e===`hevc`?{hevc:{format:`hevc`}}:{},Ke=e=>e===`aac`?{aac:{format:`aac`}}:e===`opus`?{opus:{format:`opus`}}:{},qe=[`avc1`,`avc3`,`hev1`,`hvc1`,`vp8`,`vp09`,`av01`,...Re],Je=/^(avc1|avc3)\.[0-9a-fA-F]{6}$/,Ye=/^(hev1|hvc1)\.(?:[ABC]?\d+)\.[0-9a-fA-F]{1,8}\.[LH]\d+(?:\.[0-9a-fA-F]{1,2}){0,6}$/,Xe=/^vp09(?:\.\d{2}){3}(?:(?:\.\d{2}){5})?$/,Ze=/^av01\.\d\.\d{2}[MH]\.\d{2}(?:\.\d\.\d{3}\.\d{2}\.\d{2}\.\d{2}\.\d)?$/,Qe=e=>{if(!e)throw TypeError(`Video chunk metadata must be provided.`);if(typeof e!=`object`)throw TypeError(`Video chunk metadata must be an object.`);if(!e.decoderConfig)throw TypeError(`Video chunk metadata must include a decoder configuration.`);if(typeof e.decoderConfig!=`object`)throw TypeError(`Video chunk metadata decoder configuration must be an object.`);if(typeof e.decoderConfig.codec!=`string`)throw TypeError(`Video chunk metadata decoder configuration must specify a codec string.`);if(!qe.some(t=>e.decoderConfig.codec.startsWith(t)))throw TypeError(`Video chunk metadata decoder configuration codec string must be a valid video codec string as specified in the Mediabunny Codec Registry.`);if(!Number.isInteger(e.decoderConfig.codedWidth)||e.decoderConfig.codedWidth<=0)throw TypeError(`Video chunk metadata decoder configuration must specify a valid codedWidth (positive integer).`);if(!Number.isInteger(e.decoderConfig.codedHeight)||e.decoderConfig.codedHeight<=0)throw TypeError(`Video chunk metadata decoder configuration must specify a valid codedHeight (positive integer).`);if(e.decoderConfig.displayAspectWidth!==void 0&&(!Number.isInteger(e.decoderConfig.displayAspectWidth)||e.decoderConfig.displayAspectWidth<=0))throw TypeError(`Video chunk metadata decoder configuration displayAspectWidth, when defined, must be a positive integer.`);if(e.decoderConfig.displayAspectHeight!==void 0&&(!Number.isInteger(e.decoderConfig.displayAspectHeight)||e.decoderConfig.displayAspectHeight<=0))throw TypeError(`Video chunk metadata decoder configuration displayAspectHeight, when defined, must be a positive integer.`);if(e.decoderConfig.displayAspectWidth!==void 0!=(e.decoderConfig.displayAspectHeight!==void 0))throw TypeError(`Video chunk metadata decoder configuration must specify both displayAspectWidth and displayAspectHeight, or neither.`);if(e.decoderConfig.description!==void 0&&!m(e.decoderConfig.description))throw TypeError(`Video chunk metadata decoder configuration description, when defined, must be an ArrayBuffer or an ArrayBuffer view.`);if(e.decoderConfig.colorSpace!==void 0){let{colorSpace:t}=e.decoderConfig;if(typeof t!=`object`)throw TypeError(`Video chunk metadata decoder configuration colorSpace, when provided, must be an object.`);let n=Object.keys(u);if(t.primaries!=null&&!n.includes(t.primaries))throw TypeError(`Video chunk metadata decoder configuration colorSpace primaries, when defined, must be one of ${n.join(`, `)}.`);let r=Object.keys(d);if(t.transfer!=null&&!r.includes(t.transfer))throw TypeError(`Video chunk metadata decoder configuration colorSpace transfer, when defined, must be one of ${r.join(`, `)}.`);let i=Object.keys(f);if(t.matrix!=null&&!i.includes(t.matrix))throw TypeError(`Video chunk metadata decoder configuration colorSpace matrix, when defined, must be one of ${i.join(`, `)}.`);if(t.fullRange!=null&&typeof t.fullRange!=`boolean`)throw TypeError(`Video chunk metadata decoder configuration colorSpace fullRange, when defined, must be a boolean.`)}if(e.decoderConfig.codec.startsWith(`avc1`)||e.decoderConfig.codec.startsWith(`avc3`)){if(!Je.test(e.decoderConfig.codec))throw TypeError(`Video chunk metadata decoder configuration codec string for AVC must be a valid AVC codec string as specified in Section 3.4 of RFC 6381.`)}else if(e.decoderConfig.codec.startsWith(`hev1`)||e.decoderConfig.codec.startsWith(`hvc1`)){if(!Ye.test(e.decoderConfig.codec))throw TypeError(`Video chunk metadata decoder configuration codec string for HEVC must be a valid HEVC codec string as specified in Section E.3 of ISO 14496-15.`)}else if(e.decoderConfig.codec.startsWith(`vp8`)){if(e.decoderConfig.codec!==`vp8`)throw TypeError(`Video chunk metadata decoder configuration codec string for VP8 must be "vp8".`)}else if(e.decoderConfig.codec.startsWith(`vp09`)){if(!Xe.test(e.decoderConfig.codec))throw TypeError(`Video chunk metadata decoder configuration codec string for VP9 must be a valid VP9 codec string as specified in Section "Codecs Parameter String" of https://www.webmproject.org/vp9/mp4/.`)}else if(e.decoderConfig.codec.startsWith(`av01`)){if(!Ze.test(e.decoderConfig.codec))throw TypeError(`Video chunk metadata decoder configuration codec string for AV1 must be a valid AV1 codec string as specified in Section "Codecs Parameter String" of https://aomediacodec.github.io/av1-isobmff/.`)}else if(Re.some(t=>e.decoderConfig.codec.startsWith(t))&&!Re.some(t=>e.decoderConfig.codec===t))throw TypeError(`Video chunk metadata decoder configuration codec string for ProRes must be one of the valid ProRes four-character codes: ${Re.join(`, `)}.`)},$e=[`mp4a`,`mp3`,`opus`,`vorbis`,`flac`,`ulaw`,`alaw`,`pcm`,`ac-3`,`ec-3`],et=e=>{if(!e)throw TypeError(`Audio chunk metadata must be provided.`);if(typeof e!=`object`)throw TypeError(`Audio chunk metadata must be an object.`);if(!e.decoderConfig)throw TypeError(`Audio chunk metadata must include a decoder configuration.`);if(typeof e.decoderConfig!=`object`)throw TypeError(`Audio chunk metadata decoder configuration must be an object.`);if(typeof e.decoderConfig.codec!=`string`)throw TypeError(`Audio chunk metadata decoder configuration must specify a codec string.`);if(!$e.some(t=>e.decoderConfig.codec.startsWith(t)))throw TypeError(`Audio chunk metadata decoder configuration codec string must be a valid audio codec string as specified in the Mediabunny Codec Registry.`);if(!Number.isInteger(e.decoderConfig.sampleRate)||e.decoderConfig.sampleRate<=0)throw TypeError(`Audio chunk metadata decoder configuration must specify a valid sampleRate (positive integer).`);if(!Number.isInteger(e.decoderConfig.numberOfChannels)||e.decoderConfig.numberOfChannels<=0)throw TypeError(`Audio chunk metadata decoder configuration must specify a valid numberOfChannels (positive integer).`);if(e.decoderConfig.description!==void 0&&!m(e.decoderConfig.description))throw TypeError(`Audio chunk metadata decoder configuration description, when defined, must be an ArrayBuffer or an ArrayBuffer view.`);if(e.decoderConfig.codec.startsWith(`mp4a`)&&e.decoderConfig.codec!==`mp4a.69`&&e.decoderConfig.codec!==`mp4a.6B`&&e.decoderConfig.codec!==`mp4a.6b`){if(![`mp4a.40.2`,`mp4a.40.02`,`mp4a.40.5`,`mp4a.40.05`,`mp4a.40.29`,`mp4a.67`].includes(e.decoderConfig.codec))throw TypeError(`Audio chunk metadata decoder configuration codec string for AAC must be a valid AAC codec string as specified in https://www.w3.org/TR/webcodecs-aac-codec-registration/.`)}else if(e.decoderConfig.codec.startsWith(`mp3`)||e.decoderConfig.codec.startsWith(`mp4a`)){if(e.decoderConfig.codec!==`mp3`&&e.decoderConfig.codec!==`mp4a.69`&&e.decoderConfig.codec!==`mp4a.6B`&&e.decoderConfig.codec!==`mp4a.6b`)throw TypeError(`Audio chunk metadata decoder configuration codec string for MP3 must be "mp3", "mp4a.69" or "mp4a.6B".`)}else if(e.decoderConfig.codec.startsWith(`opus`)){if(e.decoderConfig.codec!==`opus`)throw TypeError(`Audio chunk metadata decoder configuration codec string for Opus must be "opus".`);if(e.decoderConfig.description&&e.decoderConfig.description.byteLength<18)throw TypeError(`Audio chunk metadata decoder configuration description, when specified, is expected to be an Identification Header as specified in Section 5.1 of RFC 7845.`)}else if(e.decoderConfig.codec.startsWith(`vorbis`)){if(e.decoderConfig.codec!==`vorbis`)throw TypeError(`Audio chunk metadata decoder configuration codec string for Vorbis must be "vorbis".`);if(!e.decoderConfig.description)throw TypeError(`Audio chunk metadata decoder configuration for Vorbis must include a description, which is expected to adhere to the format described in https://www.w3.org/TR/webcodecs-vorbis-codec-registration/.`)}else if(e.decoderConfig.codec.startsWith(`flac`)){if(e.decoderConfig.codec!==`flac`)throw TypeError(`Audio chunk metadata decoder configuration codec string for FLAC must be "flac".`);if(!e.decoderConfig.description||e.decoderConfig.description.byteLength<42)throw TypeError(`Audio chunk metadata decoder configuration for FLAC must include a description, which is expected to adhere to the format described in https://www.w3.org/TR/webcodecs-flac-codec-registration/.`)}else if(e.decoderConfig.codec.startsWith(`ac-3`)||e.decoderConfig.codec.startsWith(`ac3`)){if(e.decoderConfig.codec!==`ac-3`)throw TypeError(`Audio chunk metadata decoder configuration codec string for AC-3 must be "ac-3".`)}else if(e.decoderConfig.codec.startsWith(`ec-3`)||e.decoderConfig.codec.startsWith(`eac3`)){if(e.decoderConfig.codec!==`ec-3`)throw TypeError(`Audio chunk metadata decoder configuration codec string for EC-3 must be "ec-3".`)}else if((e.decoderConfig.codec.startsWith(`pcm`)||e.decoderConfig.codec.startsWith(`ulaw`)||e.decoderConfig.codec.startsWith(`alaw`))&&!k.includes(e.decoderConfig.codec))throw TypeError(`Audio chunk metadata decoder configuration codec string for PCM must be one of the supported PCM codecs (${k.join(`, `)}).`)},tt=e=>{if(!e)throw TypeError(`Subtitle metadata must be provided.`);if(typeof e!=`object`)throw TypeError(`Subtitle metadata must be an object.`);if(!e.config)throw TypeError(`Subtitle metadata must include a config object.`);if(typeof e.config!=`object`)throw TypeError(`Subtitle metadata config must be an object.`);if(typeof e.config.description!=`string`)throw TypeError(`Subtitle metadata config description must be a string.`)},nt=[48e3,44100,32e3],rt=[24e3,22050,16e3],j;(function(e){e[e.NON_IDR_SLICE=1]=`NON_IDR_SLICE`,e[e.SLICE_DPA=2]=`SLICE_DPA`,e[e.SLICE_DPB=3]=`SLICE_DPB`,e[e.SLICE_DPC=4]=`SLICE_DPC`,e[e.IDR=5]=`IDR`,e[e.SEI=6]=`SEI`,e[e.SPS=7]=`SPS`,e[e.PPS=8]=`PPS`,e[e.AUD=9]=`AUD`,e[e.SPS_EXT=13]=`SPS_EXT`})(j||={});var M;(function(e){e[e.RASL_N=8]=`RASL_N`,e[e.RASL_R=9]=`RASL_R`,e[e.BLA_W_LP=16]=`BLA_W_LP`,e[e.RSV_IRAP_VCL23=23]=`RSV_IRAP_VCL23`,e[e.VPS_NUT=32]=`VPS_NUT`,e[e.SPS_NUT=33]=`SPS_NUT`,e[e.PPS_NUT=34]=`PPS_NUT`,e[e.AUD_NUT=35]=`AUD_NUT`,e[e.PREFIX_SEI_NUT=39]=`PREFIX_SEI_NUT`,e[e.SUFFIX_SEI_NUT=40]=`SUFFIX_SEI_NUT`})(M||={});var it=function*(e){let t=0,n=-1;for(;t<e.length-2;){let r=e.indexOf(0,t);if(r===-1||r>=e.length-2)break;t=r;let i=0;if(t+3<e.length&&e[t+1]===0&&e[t+2]===0&&e[t+3]===1?i=4:e[t+1]===0&&e[t+2]===1&&(i=3),i===0){t++;continue}n!==-1&&t>n&&(yield{offset:n,length:t-n}),n=t+i,t=n}n!==-1&&n<e.length&&(yield{offset:n,length:e.length-n})},at=function*(e,n){let r=0,i=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;r+n<=e.length;){let e;n===1?e=i.getUint8(r):n===2?e=i.getUint16(r,!1):n===3?e=y(i,r,!1):(t(n===4),e=i.getUint32(r,!1)),r+=n,yield{offset:r,length:e},r+=e}},ot=(e,t)=>t.description?at(e,(s(t.description)[4]&3)+1):it(e),st=e=>e&31,ct=e=>{let t=[],n=e.length;for(let r=0;r<n;r++)r+2<n&&e[r]===0&&e[r+1]===0&&e[r+2]===3?(t.push(0,0),r+=2):t.push(e[r]);return new Uint8Array(t)};new Uint8Array([0,0,0,1]);var lt=(e,t)=>{let n=e.reduce((e,n)=>e+t+n.byteLength,0),r=new Uint8Array(n),i=0;for(let n of e){let e=new DataView(r.buffer,r.byteOffset,r.byteLength);switch(t){case 1:e.setUint8(i,n.byteLength);break;case 2:e.setUint16(i,n.byteLength,!1);break;case 3:b(e,i,n.byteLength,!1);break;case 4:e.setUint32(i,n.byteLength,!1);break}i+=t,r.set(n,i),i+=n.byteLength}return r},ut=e=>{try{let n=[],r=[],i=[];for(let t of it(e)){let a=e.subarray(t.offset,t.offset+t.length),o=st(a[0]);o===j.SPS?n.push(a):o===j.PPS?r.push(a):o===j.SPS_EXT&&i.push(a)}if(n.length===0||r.length===0)return null;let a=n[0],o=pt(a);t(o!==null);let s=o.profileIdc===100||o.profileIdc===110||o.profileIdc===122||o.profileIdc===144;return{configurationVersion:1,avcProfileIndication:o.profileIdc,profileCompatibility:o.constraintFlags,avcLevelIndication:o.levelIdc,lengthSizeMinusOne:3,sequenceParameterSets:n,pictureParameterSets:r,chromaFormat:s?o.chromaFormatIdc:null,bitDepthLumaMinus8:s?o.bitDepthLumaMinus8:null,bitDepthChromaMinus8:s?o.bitDepthChromaMinus8:null,sequenceParameterSetExt:s?i:null}}catch(e){return E._error(`Error building AVC Decoder Configuration Record:`,e),null}},dt=e=>{let n=[];n.push(e.configurationVersion),n.push(e.avcProfileIndication),n.push(e.profileCompatibility),n.push(e.avcLevelIndication),n.push(252|e.lengthSizeMinusOne&3),n.push(224|e.sequenceParameterSets.length&31);for(let t of e.sequenceParameterSets){let e=t.byteLength;n.push(e>>8),n.push(e&255);for(let r=0;r<e;r++)n.push(t[r])}n.push(e.pictureParameterSets.length);for(let t of e.pictureParameterSets){let e=t.byteLength;n.push(e>>8),n.push(e&255);for(let r=0;r<e;r++)n.push(t[r])}if(e.avcProfileIndication===100||e.avcProfileIndication===110||e.avcProfileIndication===122||e.avcProfileIndication===144){t(e.chromaFormat!==null),t(e.bitDepthLumaMinus8!==null),t(e.bitDepthChromaMinus8!==null),t(e.sequenceParameterSetExt!==null),n.push(252|e.chromaFormat&3),n.push(248|e.bitDepthLumaMinus8&7),n.push(248|e.bitDepthChromaMinus8&7),n.push(e.sequenceParameterSetExt.length);for(let t of e.sequenceParameterSetExt){let e=t.byteLength;n.push(e>>8),n.push(e&255);for(let r=0;r<e;r++)n.push(t[r])}}return new Uint8Array(n)},ft={1:{num:1,den:1},2:{num:12,den:11},3:{num:10,den:11},4:{num:16,den:11},5:{num:40,den:33},6:{num:24,den:11},7:{num:20,den:11},8:{num:32,den:11},9:{num:80,den:33},10:{num:18,den:11},11:{num:15,den:11},12:{num:64,den:33},13:{num:160,den:99},14:{num:4,den:3},15:{num:3,den:2},16:{num:2,den:1}},pt=e=>{try{let n=new D(ct(e));if(n.skipBits(1),n.skipBits(2),n.readBits(5)!==7)return null;let i=n.readAlignedByte(),s=n.readAlignedByte(),c=n.readAlignedByte();a(n);let l=1,u=0,d=0,f=0;if((i===100||i===110||i===122||i===244||i===44||i===83||i===86||i===118||i===128)&&(l=a(n),l===3&&(f=n.readBits(1)),u=a(n),d=a(n),n.skipBits(1),n.readBits(1))){for(let e=0;e<(l===3?12:8);e++)if(n.readBits(1)){let t=e<6?16:64,r=8,i=8;for(let e=0;e<t;e++){if(i!==0){let e=o(n);i=(r+e+256)%256}r=i===0?r:i}}}a(n);let p=a(n);if(p===0)a(n);else if(p===1){n.skipBits(1),o(n),o(n);let e=a(n);for(let t=0;t<e;t++)o(n)}a(n),n.skipBits(1);let m=a(n),h=a(n),g=16*(m+1),_=16*(h+1),v=g,y=_,b=n.readBits(1);if(b||n.skipBits(1),n.skipBits(1),n.readBits(1)){let e=a(n),t=a(n),r=a(n),i=a(n),o,s;if((f===0?l:0)===0)o=1,s=2-b;else{let e=l===3?1:2,t=l===1?2:1;o=e,s=t*(2-b)}v-=o*(e+t),y-=s*(r+i)}let ee=2,x=2,te=2,ne=0,S={num:1,den:1},C=null,re=null;if(n.readBits(1)){if(n.readBits(1)){let e=n.readBits(8);if(e===255)S={num:n.readBits(16),den:n.readBits(16)};else{let t=ft[e];t&&(S=t)}}n.readBits(1)&&n.skipBits(1),n.readBits(1)&&(n.skipBits(3),ne=n.readBits(1),n.readBits(1)&&(ee=n.readBits(8),x=n.readBits(8),te=n.readBits(8))),n.readBits(1)&&(a(n),a(n)),n.readBits(1)&&(n.skipBits(32),n.skipBits(32),n.skipBits(1));let e=n.readBits(1);e&&mt(n);let t=n.readBits(1);t&&mt(n),(e||t)&&n.skipBits(1),n.skipBits(1),n.readBits(1)&&(n.skipBits(1),a(n),a(n),a(n),a(n),C=a(n),re=a(n))}if(C===null){t(re===null);let e=s&16;if((i===44||i===86||i===100||i===110||i===122||i===244)&&e)C=0,re=0;else{let e=m+1,t=h+1,n=(2-b)*t,i=Pe.find(e=>e.level>=c)??r(Pe),a=Math.min(Math.floor(i.maxDpbMbs/(e*n)),16);C=a,re=a}}return t(re!==null),{profileIdc:i,constraintFlags:s,levelIdc:c,frameMbsOnlyFlag:b,chromaFormatIdc:l,bitDepthLumaMinus8:u,bitDepthChromaMinus8:d,codedWidth:g,codedHeight:_,displayWidth:v,displayHeight:y,pixelAspectRatio:S,colourPrimaries:ee,matrixCoefficients:te,transferCharacteristics:x,fullRangeFlag:ne,numReorderFrames:C,maxDecFrameBuffering:re}}catch(e){return E._error(`Error parsing AVC SPS:`,e),null}},mt=e=>{let t=a(e);e.skipBits(4),e.skipBits(4);for(let n=0;n<=t;n++)a(e),a(e),e.skipBits(1);e.skipBits(5),e.skipBits(5),e.skipBits(5),e.skipBits(5)},ht=(e,t)=>t.description?at(e,(s(t.description)[21]&3)+1):it(e),gt=e=>e>>1&63,_t=e=>{try{let t=new D(ct(e));t.skipBits(16),t.readBits(4);let n=t.readBits(3),r=t.readBits(1),{general_profile_space:i,general_tier_flag:o,general_profile_idc:s,general_profile_compatibility_flags:c,general_constraint_indicator_flags:l,general_level_idc:u}=yt(t,n);a(t);let d=a(t),f=0;d===3&&(f=t.readBits(1));let p=a(t),m=a(t),h=p,g=m;if(t.readBits(1)){let e=a(t),n=a(t),r=a(t),i=a(t),o=1,s=1,c=f===0?d:0;c===1?(o=2,s=2):c===2&&(o=2,s=1),h-=(e+n)*o,g-=(r+i)*s}let _=a(t),v=a(t);a(t);let y=t.readBits(1)?0:n,b=0;for(let e=y;e<=n;e++)a(t),b=a(t),a(t);if(a(t),a(t),a(t),a(t),a(t),a(t),t.readBits(1)&&t.readBits(1)&&bt(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&(t.skipBits(4),t.skipBits(4),a(t),a(t),t.skipBits(1)),xt(t,a(t)),t.readBits(1)){let e=a(t);for(let n=0;n<e;n++)a(t),t.skipBits(1)}t.skipBits(1),t.skipBits(1);let ee=2,x=2,te=2,ne=0,S=0,C={num:1,den:1};if(t.readBits(1)){let e=Ct(t,n);C=e.pixelAspectRatio,ee=e.colourPrimaries,x=e.transferCharacteristics,te=e.matrixCoefficients,ne=e.fullRangeFlag,S=e.minSpatialSegmentationIdc}return{displayWidth:h,displayHeight:g,pixelAspectRatio:C,colourPrimaries:ee,transferCharacteristics:x,matrixCoefficients:te,fullRangeFlag:ne,maxDecFrameBuffering:b+1,spsMaxSubLayersMinus1:n,spsTemporalIdNestingFlag:r,generalProfileSpace:i,generalTierFlag:o,generalProfileIdc:s,generalProfileCompatibilityFlags:c,generalConstraintIndicatorFlags:l,generalLevelIdc:u,chromaFormatIdc:d,bitDepthLumaMinus8:_,bitDepthChromaMinus8:v,minSpatialSegmentationIdc:S}}catch(e){return E._error(`Error parsing HEVC SPS:`,e),null}},vt=e=>{try{let t=[],n=[],r=[],i=[];for(let a of it(e)){let o=e.subarray(a.offset,a.offset+a.length),s=gt(o[0]);s===M.VPS_NUT?t.push(o):s===M.SPS_NUT?n.push(o):s===M.PPS_NUT?r.push(o):(s===M.PREFIX_SEI_NUT||s===M.SUFFIX_SEI_NUT)&&i.push(o)}if(n.length===0||r.length===0)return null;let s=_t(n[0]);if(!s)return null;let c=0;if(r.length>0){let e=r[0],t=new D(ct(e));t.skipBits(16),a(t),a(t),t.skipBits(1),t.skipBits(1),t.skipBits(3),t.skipBits(1),t.skipBits(1),a(t),a(t),o(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&a(t),o(t),o(t),t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);let n=t.readBits(1),i=t.readBits(1);c=!n&&!i?0:n&&!i?2:!n&&i?3:0}let l=[...t.length?[{arrayCompleteness:1,nalUnitType:M.VPS_NUT,nalUnits:t}]:[],...n.length?[{arrayCompleteness:1,nalUnitType:M.SPS_NUT,nalUnits:n}]:[],...r.length?[{arrayCompleteness:1,nalUnitType:M.PPS_NUT,nalUnits:r}]:[],...i.length?[{arrayCompleteness:1,nalUnitType:gt(i[0][0]),nalUnits:i}]:[]];return{configurationVersion:1,generalProfileSpace:s.generalProfileSpace,generalTierFlag:s.generalTierFlag,generalProfileIdc:s.generalProfileIdc,generalProfileCompatibilityFlags:s.generalProfileCompatibilityFlags,generalConstraintIndicatorFlags:s.generalConstraintIndicatorFlags,generalLevelIdc:s.generalLevelIdc,minSpatialSegmentationIdc:s.minSpatialSegmentationIdc,parallelismType:c,chromaFormatIdc:s.chromaFormatIdc,bitDepthLumaMinus8:s.bitDepthLumaMinus8,bitDepthChromaMinus8:s.bitDepthChromaMinus8,avgFrameRate:0,constantFrameRate:0,numTemporalLayers:s.spsMaxSubLayersMinus1+1,temporalIdNested:s.spsTemporalIdNestingFlag,lengthSizeMinusOne:3,arrays:l}}catch(e){return E._error(`Error building HEVC Decoder Configuration Record:`,e),null}},yt=(e,t)=>{let n=e.readBits(2),r=e.readBits(1),i=e.readBits(5),a=0;for(let t=0;t<32;t++)a=a<<1|e.readBits(1);let o=new Uint8Array(6);for(let t=0;t<6;t++)o[t]=e.readBits(8);let s=e.readBits(8),c=[],l=[];for(let n=0;n<t;n++)c.push(e.readBits(1)),l.push(e.readBits(1));if(t>0)for(let n=t;n<8;n++)e.skipBits(2);for(let n=0;n<t;n++)c[n]&&e.skipBits(88),l[n]&&e.skipBits(8);return{general_profile_space:n,general_tier_flag:r,general_profile_idc:i,general_profile_compatibility_flags:a,general_constraint_indicator_flags:o,general_level_idc:s}},bt=e=>{for(let t=0;t<4;t++)for(let n=0;n<(t===3?2:6);n++)if(!e.readBits(1))a(e);else{let n=Math.min(64,1<<4+(t<<1));t>1&&o(e);for(let t=0;t<n;t++)o(e)}},xt=(e,t)=>{let n=[];for(let r=0;r<t;r++)n[r]=St(e,r,t,n)},St=(e,t,n,r)=>{let i=0,o=0,s=0;if(t!==0&&(o=e.readBits(1)),o){s=t===n?t-(a(e)+1):t-1,e.readBits(1),a(e);let o=r[s]??0;for(let t=0;t<=o;t++)e.readBits(1)||e.readBits(1);i=r[s]}else{let t=a(e),n=a(e);for(let n=0;n<t;n++)a(e),e.readBits(1);for(let t=0;t<n;t++)a(e),e.readBits(1);i=t+n}return i},Ct=(e,t)=>{let n=2,r=2,i=2,o=0,s=0,c={num:1,den:1};if(e.readBits(1)){let t=e.readBits(8);if(t===255)c={num:e.readBits(16),den:e.readBits(16)};else{let e=ft[t];e&&(c=e)}}return e.readBits(1)&&e.readBits(1),e.readBits(1)&&(e.readBits(3),o=e.readBits(1),e.readBits(1)&&(n=e.readBits(8),r=e.readBits(8),i=e.readBits(8))),e.readBits(1)&&(a(e),a(e)),e.readBits(1),e.readBits(1),e.readBits(1),e.readBits(1)&&(a(e),a(e),a(e),a(e)),e.readBits(1)&&(e.readBits(32),e.readBits(32),e.readBits(1)&&a(e),e.readBits(1)&&wt(e,!0,t)),e.readBits(1)&&(e.readBits(1),e.readBits(1),e.readBits(1),s=a(e),a(e),a(e),a(e),a(e)),{pixelAspectRatio:c,colourPrimaries:n,transferCharacteristics:r,matrixCoefficients:i,fullRangeFlag:o,minSpatialSegmentationIdc:s}},wt=(e,t,n)=>{let r=!1,i=!1,o=!1;t&&(r=e.readBits(1)===1,i=e.readBits(1)===1,(r||i)&&(o=e.readBits(1)===1,o&&(e.readBits(8),e.readBits(5),e.readBits(1),e.readBits(5)),e.readBits(4),e.readBits(4),o&&e.readBits(4),e.readBits(5),e.readBits(5),e.readBits(5)));for(let t=0;t<=n;t++){let t=e.readBits(1)===1,n=!0;t||(n=e.readBits(1)===1);let s=!1;n?a(e):s=e.readBits(1)===1;let c=1;s||(c=a(e)+1),r&&Tt(e,c,o),i&&Tt(e,c,o)}},Tt=(e,t,n)=>{for(let r=0;r<t;r++)a(e),a(e),n&&(a(e),a(e)),e.readBits(1)},Et=e=>{let t=[];t.push(e.configurationVersion),t.push((e.generalProfileSpace&3)<<6|(e.generalTierFlag&1)<<5|e.generalProfileIdc&31),t.push(e.generalProfileCompatibilityFlags>>>24&255),t.push(e.generalProfileCompatibilityFlags>>>16&255),t.push(e.generalProfileCompatibilityFlags>>>8&255),t.push(e.generalProfileCompatibilityFlags&255),t.push(...e.generalConstraintIndicatorFlags),t.push(e.generalLevelIdc&255),t.push(240|e.minSpatialSegmentationIdc>>8&15),t.push(e.minSpatialSegmentationIdc&255),t.push(252|e.parallelismType&3),t.push(252|e.chromaFormatIdc&3),t.push(248|e.bitDepthLumaMinus8&7),t.push(248|e.bitDepthChromaMinus8&7),t.push(e.avgFrameRate>>8&255),t.push(e.avgFrameRate&255),t.push((e.constantFrameRate&3)<<6|(e.numTemporalLayers&7)<<3|(e.temporalIdNested&1)<<2|e.lengthSizeMinusOne&3),t.push(e.arrays.length&255);for(let n of e.arrays){t.push((n.arrayCompleteness&1)<<7|0|n.nalUnitType&63),t.push(n.nalUnits.length>>8&255),t.push(n.nalUnits.length&255);for(let e of n.nalUnits){t.push(e.length>>8&255),t.push(e.length&255);for(let n=0;n<e.length;n++)t.push(e[n])}}return new Uint8Array(t)},Dt;(function(e){e[e.audAllowed=0]=`audAllowed`,e[e.beforeFirstVcl=1]=`beforeFirstVcl`,e[e.afterFirstVcl=2]=`afterFirstVcl`,e[e.eoBitstreamAllowed=3]=`eoBitstreamAllowed`,e[e.noMoreDataAllowed=4]=`noMoreDataAllowed`})(Dt||={});var Ot=function*(e){let n=new D(e),r=()=>{let e=0;for(let t=0;t<8;t++){let r=n.readAlignedByte();if(e|=(r&127)<<t*7,!(r&128))break;if(t===7&&r&128)return null}return e>=2**32-1?null:e};for(;n.getBitsLeft()>=8;){n.skipBits(1);let i=n.readBits(4),a=n.readBits(1),o=n.readBits(1);n.skipBits(1),a&&n.skipBits(8);let s;if(o){let e=r();if(e===null)return;s=e}else s=Math.floor(n.getBitsLeft()/8);t(n.pos%8==0),yield{type:i,data:e.subarray(n.pos/8,n.pos/8+s)},n.skipBits(s*8)}},kt=e=>{let t=c(e),n=t.getUint8(9),r=t.getUint16(10,!0),i=t.getUint32(12,!0),a=t.getInt16(16,!0),o=t.getUint8(18),s=null;return o&&(s=e.subarray(19,21+n)),{outputChannelCount:n,preSkip:r,inputSampleRate:i,outputGain:a,channelMappingFamily:o,channelMappingTable:s}},At=(e,n,r)=>{switch(e){case`avc`:for(let e of ot(r,n)){let t=r[e.offset],n=st(t);if(n>=j.NON_IDR_SLICE&&n<=j.SLICE_DPC)return`delta`;if(n===j.IDR)return`key`;if(n===j.SEI&&(!de()||pe()>=144)){let t=ct(r.subarray(e.offset,e.offset+e.length)),n=1;do{let e=0;for(;;){let r=t[n++];if(r===void 0||(e+=r,r<255))break}let r=0;for(;;){let e=t[n++];if(e===void 0||(r+=e,e<255))break}if(e===6){let e=new D(t);e.pos=8*n;let r=a(e),i=e.readBits(1);if(r===0&&i===1)return`key`}n+=r}while(n<t.length-1)}}return`delta`;case`hevc`:for(let e of ht(r,n)){let t=gt(r[e.offset]);if(t<M.BLA_W_LP)return`delta`;if(t<=M.RSV_IRAP_VCL23)return`key`}return`delta`;case`vp8`:return r[0]&1?`delta`:`key`;case`vp9`:{let e=new D(r);if(e.readBits(2)!==2)return null;let t=e.readBits(1);return(e.readBits(1)<<1)+t===3&&e.skipBits(1),e.readBits(1)?null:e.readBits(1)===0?`key`:`delta`}case`av1`:{let e=!1;for(let{type:t,data:n}of Ot(r))if(t===1){let t=new D(n);t.skipBits(4),e=!!t.readBits(1)}else if(t===3||t===6||t===7){if(e)return`key`;let t=new D(n);return t.readBits(1)?null:t.readBits(2)===0?`key`:`delta`}return null}case`prores`:return`key`;default:v(e),t(!1)}},jt;(function(e){e[e.STREAMINFO=0]=`STREAMINFO`,e[e.VORBIS_COMMENT=4]=`VORBIS_COMMENT`,e[e.PICTURE=6]=`PICTURE`})(jt||={});var Mt=e=>{if(e.length<7||e[0]!==11||e[1]!==119)return null;let t=new D(e);t.skipBits(16),t.skipBits(16);let n=t.readBits(2);if(n===3)return null;let r=t.readBits(6),i=t.readBits(5);if(i>8)return null;let a=t.readBits(3),o=t.readBits(3);return o&1&&o!==1&&t.skipBits(2),o&4&&t.skipBits(2),o===2&&t.skipBits(2),{fscod:n,bsid:i,bsmod:a,acmod:o,lfeon:t.readBits(1),bitRateCode:Math.floor(r/2)}};new Uint8Array([5,4,65,67,45,51]),new Uint8Array([5,4,69,65,67,51]);var Nt=[1,2,3,6],Pt=e=>{if(e.length<6||e[0]!==11||e[1]!==119)return null;let t=new D(e);t.skipBits(16);let n=t.readBits(2);if(t.skipBits(3),n!==0&&n!==2)return null;let r=t.readBits(11),i=t.readBits(2),a=0,o;i===3?(a=t.readBits(2),o=3):o=t.readBits(2);let s=t.readBits(3),c=t.readBits(1),l=t.readBits(5);if(l<11||l>16)return null;let u=Nt[o],d;return d=i<3?nt[i]/1e3:rt[a]/1e3,{dataRate:Math.round((r+1)*d/(u*16)),substreams:[{fscod:i,fscod2:a,bsid:l,bsmod:0,acmod:s,lfeon:c,numDepSub:0,chanLoc:0}]}},Ft=new Uint8Array,It=class e{constructor(e,t,n,r,i=-1,a,o){if(this.data=e,this.type=t,this.timestamp=n,this.duration=r,this.sequenceNumber=i,e===Ft&&a===void 0)throw Error(`Internal error: byteLength must be explicitly provided when constructing metadata-only packets.`);if(a===void 0&&(a=e.byteLength),!(e instanceof Uint8Array))throw TypeError(`data must be a Uint8Array.`);if(t!==`key`&&t!==`delta`)throw TypeError(`type must be either "key" or "delta".`);if(!Number.isFinite(n))throw TypeError(`timestamp must be a number.`);if(!Number.isFinite(r)||r<0)throw TypeError(`duration must be a non-negative number.`);if(!Number.isFinite(i))throw TypeError(`sequenceNumber must be a number.`);if(!Number.isInteger(a)||a<0)throw TypeError(`byteLength must be a non-negative integer.`);if(o!==void 0&&(typeof o!=`object`||!o))throw TypeError(`sideData, when provided, must be an object.`);if(o?.alpha!==void 0&&!(o.alpha instanceof Uint8Array))throw TypeError(`sideData.alpha, when provided, must be a Uint8Array.`);if(o?.alphaByteLength!==void 0&&(!Number.isInteger(o.alphaByteLength)||o.alphaByteLength<0))throw TypeError(`sideData.alphaByteLength, when provided, must be a non-negative integer.`);this.byteLength=a,this.sideData=o??{},this.sideData.alpha&&this.sideData.alphaByteLength===void 0&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===Ft}get microsecondTimestamp(){return Math.trunc(w*this.timestamp)}get microsecondDuration(){return Math.trunc(w*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw TypeError(`Metadata-only packets cannot be converted to a video chunk.`);if(typeof EncodedVideoChunk>`u`)throw Error(`Your browser does not support EncodedVideoChunk.`);return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(e=this.type){if(!this.sideData.alpha)throw TypeError(`This packet does not contain alpha side data.`);if(this.isMetadataOnly)throw TypeError(`Metadata-only packets cannot be converted to a video chunk.`);if(typeof EncodedVideoChunk>`u`)throw Error(`Your browser does not support EncodedVideoChunk.`);return new EncodedVideoChunk({data:this.sideData.alpha,type:e,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw TypeError(`Metadata-only packets cannot be converted to an audio chunk.`);if(typeof EncodedAudioChunk>`u`)throw Error(`Your browser does not support EncodedAudioChunk.`);return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(t,n){if(!(t instanceof EncodedVideoChunk||t instanceof EncodedAudioChunk))throw TypeError(`chunk must be an EncodedVideoChunk or EncodedAudioChunk.`);let r=new Uint8Array(t.byteLength);return t.copyTo(r),new e(r,t.type,t.timestamp/1e6,(t.duration??0)/1e6,void 0,void 0,n)}clone(t){if(t!==void 0&&(typeof t!=`object`||!t))throw TypeError(`options, when provided, must be an object.`);if(t?.data!==void 0&&!(t.data instanceof Uint8Array))throw TypeError(`options.data, when provided, must be a Uint8Array.`);if(t?.type!==void 0&&t.type!==`key`&&t.type!==`delta`)throw TypeError(`options.type, when provided, must be either "key" or "delta".`);if(t?.timestamp!==void 0&&!Number.isFinite(t.timestamp))throw TypeError(`options.timestamp, when provided, must be a number.`);if(t?.duration!==void 0&&!Number.isFinite(t.duration))throw TypeError(`options.duration, when provided, must be a number.`);if(t?.sequenceNumber!==void 0&&!Number.isFinite(t.sequenceNumber))throw TypeError(`options.sequenceNumber, when provided, must be a number.`);if(t?.sideData!==void 0&&(typeof t.sideData!=`object`||t.sideData===null))throw TypeError(`options.sideData, when provided, must be an object.`);return new e(t?.data??this.data,t?.type??this.type,t?.timestamp??this.timestamp,t?.duration??this.duration,t?.sequenceNumber??this.sequenceNumber,this.byteLength,t?.sideData??this.sideData)}},Lt=e=>{let t=(e.hasVideo?`video/`:e.hasAudio?`audio/`:`application/`)+(e.isQuickTime?`quicktime`:`mp4`);if(e.codecStrings.length>0){let n=[...new Set(e.codecStrings)];t+=`; codecs="${n.join(`, `)}"`}return t},Rt=e=>{let t=e.filePos,n=new D(Nn(e,9));if(n.readBits(12)!==4095||(n.skipBits(1),n.readBits(2)!==0))return null;let r=n.readBits(1),i=n.readBits(2)+1,a=n.readBits(4);if(a===15)return null;n.skipBits(1);let o=n.readBits(3);if(o===0)throw Error(`ADTS frames with channel configuration 0 are not supported.`);n.skipBits(1),n.skipBits(1),n.skipBits(1),n.skipBits(1);let s=n.readBits(13);n.skipBits(11);let c=n.readBits(2)+1;if(c!==1)throw Error(`ADTS frames with more than one AAC frame are not supported.`);let l=null;return r===1?e.filePos-=2:l=n.readBits(16),{objectType:i,samplingFrequencyIndex:a,channelConfiguration:o,frameLength:s,numberOfAacFrames:c,crcCheck:l,startPos:t}};e();var zt=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Bt=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});he();var Vt=-1/0,Ht=-1/0,Ut=null;typeof FinalizationRegistry<`u`&&(Ut=new FinalizationRegistry(e=>{let t=performance.now();e.type===`video`?(t-Vt>=1e3&&(E._error(`A VideoSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your VideoSamples as soon as you're done using them.`),Vt=t),typeof VideoFrame<`u`&&e.data instanceof VideoFrame&&e.data.close()):(t-Ht>=1e3&&(E._error(`An AudioSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your AudioSamples as soon as you're done using them.`),Ht=t),typeof AudioData<`u`&&e.data instanceof AudioData&&e.data.close())}));var N=class{constructor(){this._referenceCount=0,this._lastAllocationBuffer=null}},Wt=[`I420`,`I420P10`,`I420P12`,`I420A`,`I420AP10`,`I420AP12`,`I422`,`I422P10`,`I422P12`,`I422A`,`I422AP10`,`I422AP12`,`I444`,`I444P10`,`I444P12`,`I444A`,`I444AP10`,`I444AP12`,`NV12`,`RGBA`,`RGBX`,`BGRA`,`BGRX`],Gt=new Set(Wt),Kt=class e{get codedWidth(){return this.visibleRect.width}get codedHeight(){return this.visibleRect.height}get displayWidth(){return this.rotation%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this.rotation%180==0?this.squarePixelHeight:this.squarePixelWidth}get microsecondTimestamp(){return Math.trunc(w*this.timestamp)}get microsecondDuration(){return Math.trunc(w*this.duration)}get hasAlpha(){return this.format&&this.format.includes(`A`)}constructor(t,n){if(this._closed=!1,t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer||ArrayBuffer.isView(t)){if(!n||typeof n!=`object`)throw TypeError(`init must be an object.`);if(n.format===void 0||!Gt.has(n.format))throw TypeError(`init.format must be one of: `+Wt.join(`, `));if(!Number.isInteger(n.codedWidth)||n.codedWidth<=0)throw TypeError(`init.codedWidth must be a positive integer.`);if(!Number.isInteger(n.codedHeight)||n.codedHeight<=0)throw TypeError(`init.codedHeight must be a positive integer.`);if(n.rotation!==void 0&&![0,90,180,270].includes(n.rotation))throw TypeError(`init.rotation, when provided, must be 0, 90, 180, or 270.`);if(!Number.isFinite(n.timestamp))throw TypeError(`init.timestamp must be a number.`);if(n.duration!==void 0&&(!Number.isFinite(n.duration)||n.duration<0))throw TypeError(`init.duration, when provided, must be a non-negative number.`);if(n.layout!==void 0){if(!Array.isArray(n.layout))throw TypeError(`init.layout, when provided, must be an array.`);for(let e of n.layout){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Each entry in init.layout must be an object.`);if(!Number.isInteger(e.offset)||e.offset<0)throw TypeError(`plane.offset must be a non-negative integer.`);if(!Number.isInteger(e.stride)||e.stride<0)throw TypeError(`plane.stride must be a non-negative integer.`)}}if(n.visibleRect!==void 0&&ve(n.visibleRect,`init.visibleRect`),n.displayWidth!==void 0&&(!Number.isInteger(n.displayWidth)||n.displayWidth<=0))throw TypeError(`init.displayWidth, when provided, must be a positive integer.`);if(n.displayHeight!==void 0&&(!Number.isInteger(n.displayHeight)||n.displayHeight<=0))throw TypeError(`init.displayHeight, when provided, must be a positive integer.`);if(n.displayWidth!==void 0!=(n.displayHeight!==void 0))throw TypeError(`init.displayWidth and init.displayHeight must be either both provided or both omitted.`);this.format=n.format,this.rotation=n.rotation??0,this.timestamp=n.timestamp,this.duration=n.duration??0;let e=n.layout??nn(n.format,n.codedWidth,n.codedHeight),r=n.colorSpace??null;r===null&&(r=this.format===`RGBA`||this.format===`RGBX`||this.format===`BGRA`||this.format===`BGRX`?{primaries:`bt709`,transfer:`iec61966-2-1`,matrix:`rgb`,fullRange:!0}:{primaries:`bt709`,transfer:`bt709`,matrix:`bt709`,fullRange:!1}),this.visibleRect={left:n.visibleRect?.left??0,top:n.visibleRect?.top??0,width:n.visibleRect?.width??n.codedWidth,height:n.visibleRect?.height??n.codedHeight},n.displayWidth===void 0?(this.squarePixelWidth=this.visibleRect.width,this.squarePixelHeight=this.visibleRect.height):(this.squarePixelWidth=this.rotation%180==0?n.displayWidth:n.displayHeight,this.squarePixelHeight=this.rotation%180==0?n.displayHeight:n.displayWidth),this._data=n._doNotCopy?s(t):s(t).slice(),this._layout=e,this.colorSpace=new Zt(r)}else if(typeof VideoFrame<`u`&&t instanceof VideoFrame){if(n?.rotation!==void 0&&![0,90,180,270].includes(n.rotation))throw TypeError(`init.rotation, when provided, must be 0, 90, 180, or 270.`);if(n?.timestamp!==void 0&&!Number.isFinite(n?.timestamp))throw TypeError(`init.timestamp, when provided, must be a number.`);if(n?.duration!==void 0&&(!Number.isFinite(n.duration)||n.duration<0))throw TypeError(`init.duration, when provided, must be a non-negative number.`);n?.visibleRect!==void 0&&ve(n.visibleRect,`init.visibleRect`),this._data=t,this._layout=null,this.format=t.format,this.visibleRect={left:t.visibleRect?.x??0,top:t.visibleRect?.y??0,width:t.visibleRect?.width??t.codedWidth,height:t.visibleRect?.height??t.codedHeight},this.rotation=n?.rotation??0,this.squarePixelWidth=t.displayWidth,this.squarePixelHeight=t.displayHeight,this.timestamp=n?.timestamp??t.timestamp/1e6,this.duration=n?.duration??(t.duration??0)/1e6,this.colorSpace=new Zt(t.colorSpace)}else if(typeof HTMLImageElement<`u`&&t instanceof HTMLImageElement||typeof SVGImageElement<`u`&&t instanceof SVGImageElement||typeof ImageBitmap<`u`&&t instanceof ImageBitmap||typeof HTMLVideoElement<`u`&&t instanceof HTMLVideoElement||typeof HTMLCanvasElement<`u`&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<`u`&&t instanceof OffscreenCanvas){if(!n||typeof n!=`object`)throw TypeError(`init must be an object.`);if(n.rotation!==void 0&&![0,90,180,270].includes(n.rotation))throw TypeError(`init.rotation, when provided, must be 0, 90, 180, or 270.`);if(!Number.isFinite(n.timestamp))throw TypeError(`init.timestamp must be a number.`);if(n.duration!==void 0&&(!Number.isFinite(n.duration)||n.duration<0))throw TypeError(`init.duration, when provided, must be a non-negative number.`);if(typeof VideoFrame<`u`)return new e(new VideoFrame(t,{timestamp:Math.trunc(n.timestamp*w),duration:Math.trunc((n.duration??0)*w)||void 0}),n);let r=0,i=0;if(`naturalWidth`in t?(r=t.naturalWidth,i=t.naturalHeight):`videoWidth`in t?(r=t.videoWidth,i=t.videoHeight):`width`in t&&(r=Number(t.width),i=Number(t.height)),!r||!i)throw TypeError(`Could not determine dimensions.`);let a=new OffscreenCanvas(r,i),o=a.getContext(`2d`,{alpha:le(),willReadFrequently:!0});if(!o)throw Error(`OffscreenCanvas must have support for the '2d' context in order to create a VideoSample from this data.`);o.drawImage(t,0,0),this._data=a,this._layout=null,this.format=`RGBX`,this.visibleRect={left:0,top:0,width:r,height:i},this.squarePixelWidth=r,this.squarePixelHeight=i,this.rotation=n.rotation??0,this.timestamp=n.timestamp,this.duration=n.duration??0,this.colorSpace=new Zt({matrix:`rgb`,primaries:`bt709`,transfer:`iec61966-2-1`,fullRange:!0})}else if(t instanceof N){if(!n||typeof n!=`object`)throw TypeError(`init must be an object.`);if(n.rotation!==void 0&&![0,90,180,270].includes(n.rotation))throw TypeError(`init.rotation, when provided, must be 0, 90, 180, or 270.`);if(!Number.isFinite(n.timestamp))throw TypeError(`init.timestamp must be a number.`);if(n.duration!==void 0&&(!Number.isFinite(n.duration)||n.duration<0))throw TypeError(`init.duration, when provided, must be a non-negative number.`);if(this._data=t,t._referenceCount++,this.format=t.getFormat(),this.format!==null&&!Wt.includes(this.format))throw TypeError(`getFormat() must return a VideoSamplePixelFormat or null.`);if(this.visibleRect={left:0,top:0,width:t.getCodedWidth(),height:t.getCodedHeight()},!Number.isInteger(this.visibleRect.width)||this.visibleRect.width<=0)throw TypeError(`getCodedWidth() must return a positive integer.`);if(!Number.isInteger(this.visibleRect.height)||this.visibleRect.height<=0)throw TypeError(`getCodedHeight() must return a positive integer.`);if(this.squarePixelWidth=t.getSquarePixelWidth(),!Number.isInteger(this.squarePixelWidth)||this.squarePixelWidth<=0)throw TypeError(`getSquarePixelWidth() must return a positive integer.`);if(this.squarePixelHeight=t.getSquarePixelHeight(),!Number.isInteger(this.squarePixelHeight)||this.squarePixelHeight<=0)throw TypeError(`getSquarePixelHeight() must return a positive integer.`);this.rotation=n.rotation??0,this.timestamp=n.timestamp,this.duration=n.duration??0,this.colorSpace=t.getColorSpace()}else throw TypeError(`Invalid data type: Must be a BufferSource, CanvasImageSource, or VideoSampleResource.`);this.encodeOptions=n?.encodeOptions??{},this.pixelAspectRatio=_e({num:this.squarePixelWidth*this.codedHeight,den:this.squarePixelHeight*this.codedWidth}),Ut?.register(this,{type:`video`,data:this._data},this)}clone(){if(this._closed)throw Error(`VideoSample is closed.`);return t(this._data!==null),this._data instanceof N?new e(this._data,{timestamp:this.timestamp,duration:this.duration,rotation:this.rotation,encodeOptions:this.encodeOptions}):Qt(this._data)?new e(this._data.clone(),{timestamp:this.timestamp,duration:this.duration,rotation:this.rotation,encodeOptions:this.encodeOptions}):this._data instanceof Uint8Array?(t(this._layout),new e(this._data,{format:this.format,layout:this._layout,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight,encodeOptions:this.encodeOptions,_doNotCopy:!0})):new e(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight,encodeOptions:this.encodeOptions})}close(){this._closed||=(Ut?.unregister(this),this._data instanceof N?(this._data._referenceCount--,this._data._referenceCount===0&&this._data.close()):Qt(this._data)?this._data.close():this._data=null,!0)}allocationSize(e={}){if(tn(e),this._closed)throw Error(`VideoSample is closed.`);if((e.format??this.format)==null)throw Error(`Cannot get allocation size when format is null.`);return Qt(this._data)?this._data.allocationSize(e):an(this,e).allocationSize}async copyTo(n,r={}){if(!m(n))throw TypeError(`destination must be an ArrayBuffer or an ArrayBuffer view.`);if(tn(r),this._closed)throw Error(`VideoSample is closed.`);if((r.format??this.format)==null)throw Error(`Cannot copy video sample data when format is null.`);if(t(this._data!==null),Qt(this._data))return this._data.copyTo(n,r);if(r.format&&![`RGBA`,`RGBX`,`BGRA`,`BGRX`].includes(this.format)&&[`RGBA`,`RGBX`,`BGRA`,`BGRX`].includes(r.format))if(this._data instanceof N){let t={stack:[],error:void 0,hasError:!1};try{let i=zt(t,await this._data.toRgbSample({timestamp:this.timestamp,duration:this.duration,rotation:this.rotation},r.colorSpace??`srgb`),!1);if(!(i instanceof e))throw TypeError(`toRgbSample() must return a VideoSample.`);if(![`RGBA`,`RGBX`,`BGRA`,`BGRX`].includes(i.format))throw Error(`Sample returned by toRgbSample was expected to have an RGB format, got '${i.format}' instead.`);return await i.copyTo(n,r)}catch(e){t.error=e,t.hasError=!0}finally{Bt(t)}}else{if(typeof VideoFrame>`u`)throw Error(`For this sample, converting from a non-RGB to an RGB format requires VideoFrame to be defined.`);let e=this.toVideoFrame(),t=await e.copyTo(n,r);return e.close(),t}let i=an(this,r);t(this.format);let a=s(n);if(a.byteLength<i.allocationSize)throw TypeError(`Destination buffer too small. Required: ${i.allocationSize}, Available: ${a.byteLength}`);let o=rn(this.format),c;if(this._data instanceof N){let e=this._data.getDataPlanes();if(e instanceof Promise&&(e=await e),!Array.isArray(e)||e.some(e=>!(e.data instanceof Uint8Array)||!Number.isInteger(e.stride)||e.stride<0))throw TypeError(`getDataPlanes() must return an array of objects with a Uint8Array "data" property and a non-negative integer "stride" property.`);c=e}else if(this._data instanceof Uint8Array)t(this._layout),t(this._layout.length===o.length),c=this._layout.map((e,t)=>{let n=Math.ceil(this.codedHeight/o[t].heightDivisor);return{data:this._data.subarray(e.offset,e.offset+e.stride*n),stride:e.stride}});else{let e=this._data.getContext(`2d`);t(e),c=[{data:s(e.getImageData(0,0,this.codedWidth,this.codedHeight).data),stride:4*this.codedWidth}]}let l=[],u=o.length;for(let e=0;e<u;e++){let t=i.computedLayouts[e],n=c[e].stride,r=c[e].data,o=t.sourceTop*n;o+=t.sourceLeftBytes;let s=t.destinationOffset,u=t.sourceWidthBytes,d={offset:s,stride:t.destinationStride};for(let e=0;e<t.sourceHeight;e++){if(o+u>r.byteLength)throw Error(`Source buffer OOB read.`);if(s+u>a.byteLength)throw Error(`Destination buffer OOB write.`);let e=r.subarray(o,o+u);a.set(e,s),o+=n,s+=t.destinationStride}l.push(d)}if(r.format!==void 0){let e=this.format.startsWith(`RGB`)!==r.format.startsWith(`RGB`),t=this.format.includes(`X`)&&r.format.includes(`A`);if(e||t)for(let n=0;n<i.allocationSize;n+=4){if(e){let e=a[n];a[n]=a[n+2],a[n+2]=e}t&&(a[n+3]=255)}}return l}toVideoFrame(){if(this._closed)throw Error(`VideoSample is closed.`);if(t(this._data!==null),this._data instanceof N){if(this.format===null)throw Error(`Cannot convert a VideoSampleResource-backed VideoSample to VideoFrame if format is null.`);let e=this._data.getDataPlanes();if(e instanceof Promise)throw Error(`Cannot convert a VideoSampleResource-backed VideoSample to VideoFrame if getDataPlanes() returns a promise.`);let t=e.reduce((e,t)=>e+t.data.byteLength,0),n=new Uint8Array(t),r=0,i=[];for(let t of e)n.set(t.data,r),i.push(r),r+=t.data.byteLength;return new VideoFrame(n,{format:this.format,layout:e.map((e,t)=>({offset:i[t],stride:e.stride})),codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration,colorSpace:this.colorSpace,visibleRect:this.visibleRect,displayWidth:this.squarePixelWidth,displayHeight:this.squarePixelHeight})}else if(Qt(this._data))return new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0});else if(this._data instanceof Uint8Array)return t(this._layout),new VideoFrame(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,layout:this._layout,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0,colorSpace:this.colorSpace,visibleRect:this.visibleRect,displayWidth:this.squarePixelWidth,displayHeight:this.squarePixelHeight});else return new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0})}draw(e,t,n,r,i,a,o,s,c){let l=0,u=0,d=this.displayWidth,f=this.displayHeight,p=0,m=0,h=this.displayWidth,g=this.displayHeight;if(a===void 0?(p=t,m=n,r!==void 0&&(h=r,g=i)):(l=t,u=n,d=r,f=i,p=a,m=o,s===void 0?(h=d,g=f):(h=s,g=c)),!(typeof CanvasRenderingContext2D<`u`&&e instanceof CanvasRenderingContext2D||typeof OffscreenCanvasRenderingContext2D<`u`&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError(`context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.`);if(!Number.isFinite(l))throw TypeError(`sx must be a number.`);if(!Number.isFinite(u))throw TypeError(`sy must be a number.`);if(!Number.isFinite(d)||d<0)throw TypeError(`sWidth must be a non-negative number.`);if(!Number.isFinite(f)||f<0)throw TypeError(`sHeight must be a non-negative number.`);if(!Number.isFinite(p))throw TypeError(`dx must be a number.`);if(!Number.isFinite(m))throw TypeError(`dy must be a number.`);if(!Number.isFinite(h)||h<0)throw TypeError(`dWidth must be a non-negative number.`);if(!Number.isFinite(g)||g<0)throw TypeError(`dHeight must be a non-negative number.`);if(this._closed)throw Error(`VideoSample is closed.`);({sx:l,sy:u,sWidth:d,sHeight:f}=this._rotateSourceRegion(l,u,d,f,this.rotation));let _=this.toCanvasImageSource();e.save();let v=p+h/2,y=m+g/2;e.translate(v,y),e.rotate(this.rotation*Math.PI/180);let b=this.rotation%180==0?1:h/g;e.scale(1/b,b),e.drawImage(_,l,u,d,f,-h/2,-g/2,h,g),e.restore()}drawWithFit(e,t){if(!(typeof CanvasRenderingContext2D<`u`&&e instanceof CanvasRenderingContext2D||typeof OffscreenCanvasRenderingContext2D<`u`&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError(`context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.`);if(!t||typeof t!=`object`)throw TypeError(`options must be an object.`);if(![`fill`,`contain`,`cover`].includes(t.fit))throw TypeError(`options.fit must be 'fill', 'contain', or 'cover'.`);if(t.rotation!==void 0&&![0,90,180,270].includes(t.rotation))throw TypeError(`options.rotation, when provided, must be 0, 90, 180, or 270.`);t.crop!==void 0&&en(t.crop,`options.`);let n=e.canvas.width,r=e.canvas.height,i=t.rotation??this.rotation,[a,o]=i%180==0?[this.squarePixelWidth,this.squarePixelHeight]:[this.squarePixelHeight,this.squarePixelWidth],s=t.crop;s&&=$t(s,a,o);let c,l,u,d,{sx:f,sy:p,sWidth:m,sHeight:h}=this._rotateSourceRegion(t.crop?.left??0,t.crop?.top??0,t.crop?.width??a,t.crop?.height??o,i);if(t.fit===`fill`)c=0,l=0,u=n,d=r;else{let[e,i]=t.crop?[t.crop.width,t.crop.height]:[a,o],s=t.fit===`contain`?Math.min(n/e,r/i):Math.max(n/e,r/i);u=e*s,d=i*s,c=(n-u)/2,l=(r-d)/2}e.save();let g=i%180==0?1:u/d;e.translate(n/2,r/2),e.rotate(i*Math.PI/180),e.scale(1/g,g),e.translate(-n/2,-r/2),e.drawImage(this.toCanvasImageSource(),f,p,m,h,c,l,u,d),e.restore()}_rotateSourceRegion(e,t,n,r,i){return i===90?[e,t,n,r]=[t,this.squarePixelHeight-e-n,r,n]:i===180?[e,t]=[this.squarePixelWidth-e-n,this.squarePixelHeight-t-r]:i===270&&([e,t,n,r]=[this.squarePixelWidth-t-r,e,r,n]),{sx:e,sy:t,sWidth:n,sHeight:r}}toCanvasImageSource(){if(this._closed)throw Error(`VideoSample is closed.`);if(t(this._data!==null),this._data instanceof N||this._data instanceof Uint8Array){let e=this.toVideoFrame();return queueMicrotask(()=>e.close()),e}else return this._data}async transform(t){if(!t||typeof t!=`object`)throw TypeError(`options must be an object.`);if(t.width!==void 0&&(!Number.isInteger(t.width)||t.width<=0))throw TypeError(`options.width, when provided, must be a positive integer.`);if(t.height!==void 0&&(!Number.isInteger(t.height)||t.height<=0))throw TypeError(`options.height, when provided, must be a positive integer.`);if(t.roundDimensionsTo!==void 0&&(!Number.isInteger(t.roundDimensionsTo)||t.roundDimensionsTo<=0))throw TypeError(`options.roundDimensionsTo, when provided, must be a positive integer.`);if(t.fit!==void 0&&![`fill`,`contain`,`cover`].includes(t.fit))throw TypeError(`options.fit, when provided, must be one of "fill", "contain", or "cover".`);if(t.width!==void 0&&t.height!==void 0&&t.fit===void 0)throw TypeError(`When both options.width and options.height are provided, options.fit must also be provided.`);if(t.rotate!==void 0&&![0,90,180,270].includes(t.rotate))throw TypeError(`options.rotate, when provided, must be 0, 90, 180 or 270.`);if(t.crop!==void 0&&en(t.crop,`options.`),t.alpha!==void 0&&![`keep`,`discard`].includes(t.alpha))throw TypeError(`options.alpha, when provided, must be 'keep' or 'discard'.`);let r=n(this.rotation+(t.rotate??0)),[i,a]=r%180==0?[this.squarePixelWidth,this.squarePixelHeight]:[this.squarePixelHeight,this.squarePixelWidth],o=t.crop;o&&=$t(o,i,a);let s=o?o.width:i,c=o?o.height:a,l=s/c,u,d;t.width!==void 0&&t.height===void 0?(u=t.width,d=u/l):t.width===void 0&&t.height!==void 0?(d=t.height,u=d*l):t.width!==void 0&&t.height!==void 0?(u=t.width,d=t.height):(u=s,d=c),u=te(u,t.roundDimensionsTo??1),d=te(d,t.roundDimensionsTo??1);let f={width:u,height:d,fit:t.fit??`fill`,rotation:r,crop:o??{left:0,top:0,width:i,height:a},alpha:t.alpha??`keep`};for(let e of qt){let t=e(this,f);if(t instanceof Promise&&(t=await t),t!==null)return t}let p=null,m=!1;for(let e of Yt)if(e.canvas.width===f.width&&e.canvas.height===f.height){p=e.canvas,e.age=Xt++;break}if(p===null){if(typeof OffscreenCanvas<`u`)p=new OffscreenCanvas(f.width,f.height);else{if(typeof window>`u`||typeof document>`u`)throw Error(`Cannot transform VideoSamples in this environment. Either run in an environment with OffscreenCanvas or HTMLCanvasElement, or supply a custom VideoSample transformer using registerVideoSampleTransformer().`);p=document.createElement(`canvas`),p.width=f.width,p.height=f.height}m=!0,Yt.length>=Jt&&Yt.splice(ge(Yt,e=>e.age),1),Yt.push({canvas:p,age:Xt++})}let h=p.getContext(`2d`,{alpha:!0});if(!h)throw Error(`The '2d' canvas context is required to transform VideoSamples. Register a custom transformer using registerVideoSampleTransformer to work around this limitation.`);return f.alpha===`discard`?(h.fillStyle=`black`,h.fillRect(0,0,f.width,f.height)):m||h.clearRect(0,0,f.width,f.height),this.drawWithFit(h,{fit:f.fit,rotation:f.rotation,crop:f.crop}),new e(p,{timestamp:this.timestamp,duration:this.duration,rotation:0})}setRotation(e){if(![0,90,180,270].includes(e))throw TypeError(`newRotation must be 0, 90, 180, or 270.`);this.rotation=e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError(`newTimestamp must be a number.`);this.timestamp=e}setDuration(e){if(!Number.isFinite(e)||e<0)throw TypeError(`newDuration must be a non-negative number.`);this.duration=e}setEncodeOptions(e){if(!e||typeof e!=`object`)throw TypeError(`newEncodeOptions must be an object.`);this.encodeOptions=e}[Symbol.dispose](){this.close()}},qt=[],Jt=3,Yt=[],Xt=0,Zt=class{constructor(e){if(e!==void 0){if(!e||typeof e!=`object`)throw TypeError(`init.colorSpace, when provided, must be an object.`);let t=Object.keys(u);if(e.primaries!=null&&!t.includes(e.primaries))throw TypeError(`init.colorSpace.primaries, when provided, must be one of ${t.join(`, `)}.`);let n=Object.keys(d);if(e.transfer!=null&&!n.includes(e.transfer))throw TypeError(`init.colorSpace.transfer, when provided, must be one of ${n.join(`, `)}.`);let r=Object.keys(f);if(e.matrix!=null&&!r.includes(e.matrix))throw TypeError(`init.colorSpace.matrix, when provided, must be one of ${r.join(`, `)}.`);if(e.fullRange!=null&&typeof e.fullRange!=`boolean`)throw TypeError(`init.colorSpace.fullRange, when provided, must be a boolean.`)}this.primaries=e?.primaries??null,this.transfer=e?.transfer??null,this.matrix=e?.matrix??null,this.fullRange=e?.fullRange??null}toJSON(){return{primaries:this.primaries,transfer:this.transfer,matrix:this.matrix,fullRange:this.fullRange}}},Qt=e=>typeof VideoFrame<`u`&&e instanceof VideoFrame,$t=(e,n,r)=>{let i=Math.min(e.left,n),a=Math.min(e.top,r),o=Math.min(e.width,n-i),s=Math.min(e.height,r-a);return t(o>=0),t(s>=0),{left:i,top:a,width:o,height:s}},en=(e,t)=>{if(!e||typeof e!=`object`)throw TypeError(t+`crop, when provided, must be an object.`);if(!Number.isInteger(e.left)||e.left<0)throw TypeError(t+`crop.left must be a non-negative integer.`);if(!Number.isInteger(e.top)||e.top<0)throw TypeError(t+`crop.top must be a non-negative integer.`);if(!Number.isInteger(e.width)||e.width<0)throw TypeError(t+`crop.width must be a non-negative integer.`);if(!Number.isInteger(e.height)||e.height<0)throw TypeError(t+`crop.height must be a non-negative integer.`)},tn=e=>{if(!e||typeof e!=`object`)throw TypeError(`options must be an object.`);if(e.colorSpace!==void 0&&![`display-p3`,`srgb`].includes(e.colorSpace))throw TypeError(`options.colorSpace, when provided, must be 'display-p3' or 'srgb'.`);if(e.format!==void 0&&typeof e.format!=`string`)throw TypeError(`options.format, when provided, must be a string.`);if(e.layout!==void 0){if(!Array.isArray(e.layout))throw TypeError(`options.layout, when provided, must be an array.`);for(let t of e.layout){if(!t||typeof t!=`object`)throw TypeError(`Each entry in options.layout must be an object.`);if(!Number.isInteger(t.offset)||t.offset<0)throw TypeError(`plane.offset must be a non-negative integer.`);if(!Number.isInteger(t.stride)||t.stride<0)throw TypeError(`plane.stride must be a non-negative integer.`)}}if(e.rect!==void 0){if(!e.rect||typeof e.rect!=`object`)throw TypeError(`options.rect, when provided, must be an object.`);if(e.rect.x!==void 0&&(!Number.isInteger(e.rect.x)||e.rect.x<0))throw TypeError(`options.rect.x, when provided, must be a non-negative integer.`);if(e.rect.y!==void 0&&(!Number.isInteger(e.rect.y)||e.rect.y<0))throw TypeError(`options.rect.y, when provided, must be a non-negative integer.`);if(e.rect.width!==void 0&&(!Number.isInteger(e.rect.width)||e.rect.width<0))throw TypeError(`options.rect.width, when provided, must be a non-negative integer.`);if(e.rect.height!==void 0&&(!Number.isInteger(e.rect.height)||e.rect.height<0))throw TypeError(`options.rect.height, when provided, must be a non-negative integer.`)}},nn=(e,t,n)=>{let r=rn(e),i=[],a=0;for(let e of r){let r=Math.ceil(t/e.widthDivisor),o=Math.ceil(n/e.heightDivisor),s=r*e.sampleBytes,c=s*o;i.push({offset:a,stride:s}),a+=c}return i},rn=e=>{let n=(e,t,n,r,i)=>{let a=[{sampleBytes:e,widthDivisor:1,heightDivisor:1},{sampleBytes:t,widthDivisor:n,heightDivisor:r},{sampleBytes:t,widthDivisor:n,heightDivisor:r}];return i&&a.push({sampleBytes:e,widthDivisor:1,heightDivisor:1}),a};switch(e){case`I420`:return n(1,1,2,2,!1);case`I420P10`:case`I420P12`:return n(2,2,2,2,!1);case`I420A`:return n(1,1,2,2,!0);case`I420AP10`:case`I420AP12`:return n(2,2,2,2,!0);case`I422`:return n(1,1,2,1,!1);case`I422P10`:case`I422P12`:return n(2,2,2,1,!1);case`I422A`:return n(1,1,2,1,!0);case`I422AP10`:case`I422AP12`:return n(2,2,2,1,!0);case`I444`:return n(1,1,1,1,!1);case`I444P10`:case`I444P12`:return n(2,2,1,1,!1);case`I444A`:return n(1,1,1,1,!0);case`I444AP10`:case`I444AP12`:return n(2,2,1,1,!0);case`NV12`:return[{sampleBytes:1,widthDivisor:1,heightDivisor:1},{sampleBytes:2,widthDivisor:2,heightDivisor:2}];case`RGBA`:case`RGBX`:case`BGRA`:case`BGRX`:return[{sampleBytes:4,widthDivisor:1,heightDivisor:1}];default:v(e),t(!1)}},an=(e,t)=>{let n={left:0,top:0,width:e.codedWidth,height:e.codedHeight},r=t.rect,i=on(n,r,e.codedWidth,e.codedHeight,e.format),a=t.layout,o;if(!t.format||t.format===e.format)o=e.format;else if([`RGBA`,`RGBX`,`BGRA`,`BGRX`].includes(t.format))o=t.format;else throw Error(`NotSupportedError: Invalid destination format.`);return cn(i,o,a)},on=(e,t,n,r,i)=>{let a={...e};if(t!==void 0){if(t.width===0||t.height===0)throw TypeError(`visibleRect dimensions cannot be zero.`);if((t.x||0)+(t.width||0)>n)throw TypeError(`visibleRect exceeds codedWidth.`);if((t.y||0)+(t.height||0)>r)throw TypeError(`visibleRect exceeds codedHeight.`);a.x=t.x||0,a.y=t.y||0,a.width=t.width||0,a.height=t.height||0}if(!sn(i,a))throw TypeError(`visibleRect alignment is invalid for the format.`);return a},sn=(e,t)=>{if(e===null)return!0;let n=rn(e);for(let e=0;e<n.length;e++){let r=n[e],i=r.widthDivisor,a=r.heightDivisor;if((t.x||0)%i!==0||(t.y||0)%a!==0)return!1}return!0},cn=(e,t,n)=>{let r=rn(t),i=r.length;if(n!==void 0&&n.length!==i)throw TypeError(`Layout must have ${i} planes.`);let a=0,o=[],s=[];for(let t=0;t<i;t++){let i=r[t],c=i.sampleBytes,l=i.widthDivisor,u=i.heightDivisor,d={destinationOffset:0,destinationStride:0,sourceTop:0,sourceHeight:0,sourceLeftBytes:0,sourceWidthBytes:0};if(d.sourceTop=Math.ceil(Math.trunc(e.y||0)/u),d.sourceHeight=Math.ceil(Math.trunc(e.height||0)/u),d.sourceLeftBytes=Math.floor(Math.trunc(e.x||0)/l)*c,d.sourceWidthBytes=Math.floor(Math.trunc(e.width||0)/l)*c,n!==void 0){let e=n[t];if(e.stride<d.sourceWidthBytes)throw TypeError(`Stride for plane ${t} is too small.`);d.destinationOffset=e.offset,d.destinationStride=e.stride}else d.destinationOffset=a,d.destinationStride=d.sourceWidthBytes;let f=d.destinationStride*d.sourceHeight+d.destinationOffset;if(f>4294967295)throw TypeError(`Allocation size exceeds limit.`);s.push(f),a=Math.max(a,f);for(let e=0;e<t;e++){let n=o[e];if(!(s[t]<=n.destinationOffset||s[e]<=d.destinationOffset))throw TypeError(`Planes overlap.`)}o.push(d)}return{allocationSize:a,computedLayouts:o}},ln=new Set([`f32`,`f32-planar`,`s16`,`s16-planar`,`s32`,`s32-planar`,`u8`,`u8-planar`]),un=class{constructor(){this._referenceCount=0}},dn=class e{get microsecondTimestamp(){return Math.trunc(w*this.timestamp)}get microsecondDuration(){return Math.trunc(w*this.duration)}constructor(e){if(this._closed=!1,mn(e)){if(e.format===null)throw TypeError(`AudioData with null format is not supported.`);this._data=e,this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=e.numberOfFrames,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp/1e6,this.duration=e.numberOfFrames/e.sampleRate}else if(e instanceof un){if(this._data=e,e._referenceCount++,this.format=e.getFormat(),!ln.has(this.format))throw TypeError(`getFormat() must return an AudioSampleFormat.`);if(this.sampleRate=e.getSampleRate(),!Number.isInteger(this.sampleRate)||this.sampleRate<=0)throw TypeError(`getSampleRate() must return a positive integer.`);if(this.numberOfFrames=e.getNumberOfFrames(),!Number.isInteger(this.numberOfFrames)||this.numberOfFrames<0)throw TypeError(`getNumberOfFrames() must return a non-negative integer.`);if(this.numberOfChannels=e.getNumberOfChannels(),!Number.isInteger(this.numberOfChannels)||this.numberOfChannels<=0)throw TypeError(`getNumberOfChannels() must return a positive integer.`);if(this.timestamp=e.getTimestamp(),!Number.isFinite(this.timestamp))throw TypeError(`getTimestamp() must return a finite number.`);this.duration=this.numberOfFrames/this.sampleRate}else{if(!e||typeof e!=`object`)throw TypeError(`Invalid AudioDataInit: must be an object.`);if(!ln.has(e.format))throw TypeError(`Invalid AudioDataInit: invalid format.`);if(!Number.isFinite(e.sampleRate)||e.sampleRate<=0)throw TypeError(`Invalid AudioDataInit: sampleRate must be > 0.`);if(!Number.isInteger(e.numberOfChannels)||e.numberOfChannels===0)throw TypeError(`Invalid AudioDataInit: numberOfChannels must be an integer > 0.`);if(!Number.isFinite(e?.timestamp))throw TypeError(`init.timestamp must be a number.`);let t=e.data.byteLength/(P(e.format)*e.numberOfChannels);if(!Number.isInteger(t))throw TypeError(`Invalid AudioDataInit: data size is not a multiple of frame size.`);this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=t,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp,this.duration=t/e.sampleRate;let n;if(e.data instanceof ArrayBuffer)n=new Uint8Array(e.data);else if(ArrayBuffer.isView(e.data))n=new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.byteLength);else throw TypeError(`Invalid AudioDataInit: data is not a BufferSource.`);let r=this.numberOfFrames*this.numberOfChannels*P(this.format);if(n.byteLength<r)throw TypeError(`Invalid AudioDataInit: insufficient data size.`);this._data=n}Ut?.register(this,{type:`audio`,data:this._data},this)}allocationSize(e){if(!e||typeof e!=`object`)throw TypeError(`options must be an object.`);if(!Number.isInteger(e.planeIndex)||e.planeIndex<0)throw TypeError(`planeIndex must be a non-negative integer.`);if(e.format!==void 0&&!ln.has(e.format))throw TypeError(`Invalid format.`);if(e.frameOffset!==void 0&&(!Number.isInteger(e.frameOffset)||e.frameOffset<0))throw TypeError(`frameOffset must be a non-negative integer.`);if(e.frameCount!==void 0&&(!Number.isInteger(e.frameCount)||e.frameCount<0))throw TypeError(`frameCount must be a non-negative integer.`);if(this._closed)throw Error(`AudioSample is closed.`);let t=e.format??this.format,n=e.frameOffset??0;if(n>=this.numberOfFrames)throw RangeError(`frameOffset out of range`);let r=e.frameCount===void 0?this.numberOfFrames-n:e.frameCount;if(r>this.numberOfFrames-n)throw RangeError(`frameCount out of range`);let i=P(t),a=F(t);if(a&&e.planeIndex>=this.numberOfChannels||!a&&e.planeIndex!==0)throw RangeError(`planeIndex out of range`);return(a?r:r*this.numberOfChannels)*i}copyTo(e,t){if(!m(e))throw TypeError(`destination must be an ArrayBuffer or an ArrayBuffer view.`);if(!t||typeof t!=`object`)throw TypeError(`options must be an object.`);if(!Number.isInteger(t.planeIndex)||t.planeIndex<0)throw TypeError(`planeIndex must be a non-negative integer.`);if(t.format!==void 0&&!ln.has(t.format))throw TypeError(`Invalid format.`);if(t.frameOffset!==void 0&&(!Number.isInteger(t.frameOffset)||t.frameOffset<0))throw TypeError(`frameOffset must be a non-negative integer.`);if(t.frameCount!==void 0&&(!Number.isInteger(t.frameCount)||t.frameCount<0))throw TypeError(`frameCount must be a non-negative integer.`);if(this._closed)throw Error(`AudioSample is closed.`);let{format:n,frameCount:r,frameOffset:i}=t,{planeIndex:a}=t,o=this.format,s=n??this.format;if(!s)throw Error(`Destination format not determined`);let l=this.numberOfFrames,u=this.numberOfChannels,d=i??0;if(d>=l)throw RangeError(`frameOffset out of range`);let f=r===void 0?l-d:r;if(f>l-d)throw RangeError(`frameCount out of range`);let p=P(s),h=F(s);if(h&&a>=u||!h&&a!==0)throw RangeError(`planeIndex out of range`);let g=(h?f:f*u)*p;if(e.byteLength<g)throw RangeError(`Destination buffer is too small`);let _=c(e),v=pn(s);if(mn(this._data))se()&&u>2&&s!==o?gn(this._data,_,o,s,u,a,d,f):this._data.copyTo(e,{planeIndex:a,frameOffset:d,frameCount:f,format:s});else{let e=fn(o),t=P(o),n=F(o),r;if(this._data instanceof un){let e=e=>{let r=this._data.getDataPlane(e);if(!(r instanceof Uint8Array))throw TypeError(`getDataPlane() must return a Uint8Array.`);let i=l*t*(n?1:u);if(r.byteLength!==i)throw TypeError(`Data plane ${e} has invalid size. Expected exactly ${i} bytes, got ${r.byteLength} bytes.`);return r};if(n)if(h)r=e(a),a=0;else{r=new Uint8Array(l*t*u);for(let n=0;n<u;n++){let i=e(n);r.set(i,n*l*t)}}else r=e(0)}else r=this._data;let i=c(r);for(let r=0;r<f;r++)if(h){let o=r*p,s;s=n?(a*l+(r+d))*t:((r+d)*u+a)*t,v(_,o,e(i,s))}else for(let a=0;a<u;a++){let o=(r*u+a)*p,s;s=n?(a*l+(r+d))*t:((r+d)*u+a)*t,v(_,o,e(i,s))}}}clone(){if(this._closed)throw Error(`AudioSample is closed.`);if(this._data instanceof un){let t=new e(this._data);return t.setTimestamp(this.timestamp),t}else if(mn(this._data)){let t=new e(this._data.clone());return t.setTimestamp(this.timestamp),t}else return new e({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.timestamp,data:this._data})}trim(t,n=this.numberOfFrames){if(!Number.isInteger(t)||t<0)throw TypeError(`startSample must be a non-negative integer.`);if(!Number.isInteger(n)||n<0)throw TypeError(`endSample must be a non-negative integer.`);if(t>this.numberOfFrames)throw RangeError(`startSample out of range.`);if(n>this.numberOfFrames)throw RangeError(`endSample out of range.`);if(n<t)throw RangeError(`endSample must not be less than startSample.`);if(this._closed)throw Error(`AudioSample is closed.`);let r=n-t,i=P(this.format),a;if(F(this.format)){let e=r*i;if(a=new Uint8Array(e*this.numberOfChannels),r>0)for(let n=0;n<this.numberOfChannels;n++)this.copyTo(a.subarray(n*e,(n+1)*e),{planeIndex:n,format:this.format,frameOffset:t,frameCount:r})}else a=new Uint8Array(r*this.numberOfChannels*i),r>0&&this.copyTo(a,{planeIndex:0,format:this.format,frameOffset:t,frameCount:r});return new e({data:a,format:this.format,sampleRate:this.sampleRate,numberOfChannels:this.numberOfChannels,timestamp:this.timestamp+t/this.sampleRate})}close(){this._closed||=(Ut?.unregister(this),this._data instanceof un?(this._data._referenceCount--,this._data._referenceCount===0&&this._data.close()):mn(this._data)?this._data.close():this._data=new Uint8Array,!0)}toAudioData(){if(this._closed)throw Error(`AudioSample is closed.`);return this._data instanceof un?this._createAudioDataFromData():mn(this._data)?this._data.timestamp===this.microsecondTimestamp?this._data.clone():this._createAudioDataFromData():new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:this._data.buffer instanceof ArrayBuffer?this._data.buffer:this._data.slice()})}_createAudioDataFromData(){if(F(this.format)){let e=this.allocationSize({planeIndex:0,format:this.format}),t=new ArrayBuffer(e*this.numberOfChannels);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(new Uint8Array(t,n*e,e),{planeIndex:n,format:this.format});return new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:t})}else{let e=new ArrayBuffer(this.allocationSize({planeIndex:0,format:this.format}));return this.copyTo(e,{planeIndex:0,format:this.format}),new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:e})}}toAudioBuffer(){if(this._closed)throw Error(`AudioSample is closed.`);let e=new AudioBuffer({numberOfChannels:this.numberOfChannels,length:this.numberOfFrames,sampleRate:this.sampleRate}),t=new Float32Array(this.allocationSize({planeIndex:0,format:`f32-planar`})/4);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(t,{planeIndex:n,format:`f32-planar`}),e.copyToChannel(t,n);return e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError(`newTimestamp must be a number.`);this.timestamp=e}[Symbol.dispose](){this.close()}static*_fromAudioBuffer(t,n){if(!(t instanceof AudioBuffer))throw TypeError(`audioBuffer must be an AudioBuffer.`);let r=t.numberOfChannels,i=t.sampleRate,a=t.length,o=Math.floor(24e4/r),s=0,c=a;for(;c>0;){let a=Math.min(o,c),l=new Float32Array(r*a);for(let e=0;e<r;e++)t.copyFromChannel(l.subarray(e*a,(e+1)*a),e,s);yield new e({format:`f32-planar`,sampleRate:i,numberOfFrames:a,numberOfChannels:r,timestamp:n+s/i,data:l}),s+=a,c-=a}}static fromAudioBuffer(t,n){if(!(t instanceof AudioBuffer))throw TypeError(`audioBuffer must be an AudioBuffer.`);let r=t.numberOfChannels,i=t.sampleRate,a=t.length,o=Math.floor(24e4/r),s=0,c=a,l=[];for(;c>0;){let a=Math.min(o,c),u=new Float32Array(r*a);for(let e=0;e<r;e++)t.copyFromChannel(u.subarray(e*a,(e+1)*a),e,s);let d=new e({format:`f32-planar`,sampleRate:i,numberOfFrames:a,numberOfChannels:r,timestamp:n+s/i,data:u});l.push(d),s+=a,c-=a}return l}},P=e=>{switch(e){case`u8`:case`u8-planar`:return 1;case`s16`:case`s16-planar`:return 2;case`s32`:case`s32-planar`:return 4;case`f32`:case`f32-planar`:return 4;default:throw Error(`Unknown AudioSampleFormat`)}},F=e=>{switch(e){case`u8-planar`:case`s16-planar`:case`s32-planar`:case`f32-planar`:return!0;default:return!1}},fn=e=>{switch(e){case`u8`:case`u8-planar`:return(e,t)=>(e.getUint8(t)-128)/128;case`s16`:case`s16-planar`:return(e,t)=>e.getInt16(t,!0)/32768;case`s32`:case`s32-planar`:return(e,t)=>e.getInt32(t,!0)/2147483648;case`f32`:case`f32-planar`:return(e,t)=>e.getFloat32(t,!0)}},pn=e=>{switch(e){case`u8`:case`u8-planar`:return(e,t,n)=>e.setUint8(t,x((n+1)*127.5,0,255));case`s16`:case`s16-planar`:return(e,t,n)=>e.setInt16(t,x(Math.round(n*32767),-32768,32767),!0);case`s32`:case`s32-planar`:return(e,t,n)=>e.setInt32(t,x(Math.round(n*2147483647),-2147483648,2147483647),!0);case`f32`:case`f32-planar`:return(e,t,n)=>e.setFloat32(t,n,!0)}},mn=e=>typeof AudioData<`u`&&e instanceof AudioData,hn=e=>{switch(e){case`u8-planar`:return`u8`;case`s16-planar`:return`s16`;case`s32-planar`:return`s32`;case`f32-planar`:return`f32`;default:return e}},gn=(e,t,n,r,i,a,o,s)=>{let l=fn(n),u=pn(r),d=P(n),f=P(r),p=F(n);if(F(r))if(p){let r=new ArrayBuffer(s*d),i=c(r);e.copyTo(r,{planeIndex:a,frameOffset:o,frameCount:s,format:n});for(let e=0;e<s;e++){let n=e*d;u(t,e*f,l(i,n))}}else{let r=new ArrayBuffer(s*i*d),p=c(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:s,format:n});for(let e=0;e<s;e++){let n=(e*i+a)*d;u(t,e*f,l(p,n))}}else if(p){let r=s*d,a=new ArrayBuffer(r),p=c(a);for(let r=0;r<i;r++){e.copyTo(a,{planeIndex:r,frameOffset:o,frameCount:s,format:n});for(let e=0;e<s;e++){let n=e*d;u(t,(e*i+r)*f,l(p,n))}}}else{let r=new ArrayBuffer(s*i*d),a=c(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:s,format:n});for(let e=0;e<s;e++)for(let n=0;n<i;n++){let r=e*i+n,o=r*d;u(t,r*f,l(a,o))}}},_n=(e,t)=>{let n=e.allocationSize({format:t,planeIndex:0}),r=new ArrayBuffer(n);return e.copyTo(r,{format:t,planeIndex:0}),new dn({data:r,format:t,numberOfChannels:e.numberOfChannels,sampleRate:e.sampleRate,timestamp:e.timestamp,duration:e.duration})},vn=new Map,yn=e=>{if(!e||typeof e!=`object`)throw TypeError(`Encoding config must be an object.`);if(!O.includes(e.codec))throw TypeError(`Invalid video codec '${e.codec}'. Must be one of: ${O.join(`, `)}.`);if(!(e.bitrate instanceof Tn)&&(!Number.isInteger(e.bitrate)||e.bitrate<=0))throw TypeError(`config.bitrate must be a positive integer or a quality.`);if(e.keyFrameInterval!==void 0&&(!Number.isFinite(e.keyFrameInterval)||e.keyFrameInterval<0))throw TypeError(`config.keyFrameInterval, when provided, must be a non-negative number.`);if(e.sizeChangeBehavior!==void 0&&![`deny`,`passThrough`,`fill`,`contain`,`cover`].includes(e.sizeChangeBehavior))throw TypeError(`config.sizeChangeBehavior, when provided, must be 'deny', 'passThrough', 'fill', 'contain' or 'cover'.`);if(e.transform!==void 0){if(typeof e.transform!=`object`||!e.transform)throw TypeError(`config.transform, when provided, must be an object.`);if(e.transform.width!==void 0&&(!Number.isInteger(e.transform.width)||e.transform.width<=0))throw TypeError(`config.transform.width, when provided, must be a positive integer.`);if(e.transform.height!==void 0&&(!Number.isInteger(e.transform.height)||e.transform.height<=0))throw TypeError(`config.transform.height, when provided, must be a positive integer.`);if(e.transform.fit!==void 0&&![`fill`,`contain`,`cover`].includes(e.transform.fit))throw TypeError(`config.transform.fit, when provided, must be one of "fill", "contain", or "cover".`);if(e.transform.width!==void 0&&e.transform.height!==void 0&&e.transform.fit===void 0&&![`fill`,`contain`,`cover`].includes(e.sizeChangeBehavior))throw TypeError(`When both config.transform.width and config.transform.height are provided, config.transform.fit must also be provided.`);if(e.transform.fit!==void 0&&[`fill`,`contain`,`cover`].includes(e.sizeChangeBehavior)&&e.transform.fit!==e.sizeChangeBehavior)throw TypeError(`config.transform.fit, when provided, cannot differ from config.sizeChangeBehavior when config.sizeChangeBehavior is 'fill', 'contain' or 'cover', as sizeChangeBehavior already determines the fitting algorithm.`);if(e.transform.rotate!==void 0&&![0,90,180,270].includes(e.transform.rotate))throw TypeError(`config.transform.rotate, when provided, must be 0, 90, 180 or 270.`);if(e.transform.crop!==void 0&&en(e.transform.crop,`config.transform.`),e.transform.process!==void 0&&typeof e.transform.process!=`function`)throw TypeError(`config.transform.process, when provided, must be a function.`);if(e.transform.frameRate!==void 0&&(!Number.isFinite(e.transform.frameRate)||e.transform.frameRate<=0))throw TypeError(`config.transform.frameRate, when provided, must be a finite positive number.`);if(e.transform.force!==void 0&&typeof e.transform.force!=`boolean`)throw TypeError(`config.transform.force, when provided, must be a boolean.`)}if(e.onEncodedPacket!==void 0&&typeof e.onEncodedPacket!=`function`)throw TypeError(`config.onEncodedPacket, when provided, must be a function.`);if(e.onEncoderConfig!==void 0&&typeof e.onEncoderConfig!=`function`)throw TypeError(`config.onEncoderConfig, when provided, must be a function.`);if(e.onEncodedSample!==void 0&&typeof e.onEncodedSample!=`function`)throw TypeError(`config.onEncodedSample, when provided, must be a function.`);bn(e.codec,e)},bn=(e,t)=>{if(!t||typeof t!=`object`)throw TypeError(`Encoding options must be an object.`);if(t.alpha!==void 0&&![`discard`,`keep`].includes(t.alpha))throw TypeError(`options.alpha, when provided, must be 'discard' or 'keep'.`);if(t.bitrateMode!==void 0&&![`constant`,`variable`].includes(t.bitrateMode))throw TypeError(`bitrateMode, when provided, must be 'constant' or 'variable'.`);if(t.latencyMode!==void 0&&![`quality`,`realtime`].includes(t.latencyMode))throw TypeError(`latencyMode, when provided, must be 'quality' or 'realtime'.`);if(t.fullCodecString!==void 0&&typeof t.fullCodecString!=`string`)throw TypeError(`fullCodecString, when provided, must be a string.`);if(t.fullCodecString!==void 0&&We(t.fullCodecString)!==e)throw TypeError(`fullCodecString, when provided, must be a string that matches the specified codec (${e}).`);if(t.hardwareAcceleration!==void 0&&![`no-preference`,`prefer-hardware`,`prefer-software`].includes(t.hardwareAcceleration))throw TypeError(`hardwareAcceleration, when provided, must be 'no-preference', 'prefer-hardware' or 'prefer-software'.`);if(t.scalabilityMode!==void 0&&typeof t.scalabilityMode!=`string`)throw TypeError(`scalabilityMode, when provided, must be a string.`);if(t.contentHint!==void 0&&typeof t.contentHint!=`string`)throw TypeError(`contentHint, when provided, must be a string.`)},xn=e=>{let t=e.bitrate instanceof Tn?e.bitrate._toVideoBitrate(e.codec,e.width,e.height):e.bitrate;return{codec:e.fullCodecString??Be(e.codec,e.width,e.height,t,e.alpha===`keep`),width:e.width,height:e.height,displayWidth:e.squarePixelWidth,displayHeight:e.squarePixelHeight,bitrate:t,bitrateMode:e.bitrateMode,alpha:e.alpha??`discard`,framerate:e.framerate,latencyMode:e.latencyMode,hardwareAcceleration:e.hardwareAcceleration,scalabilityMode:e.scalabilityMode,contentHint:e.contentHint,...Ge(e.codec)}},Sn=e=>{if(!e||typeof e!=`object`)throw TypeError(`Encoding config must be an object.`);if(!Me.includes(e.codec))throw TypeError(`Invalid audio codec '${e.codec}'. Must be one of: ${Me.join(`, `)}.`);if(e.bitrate===void 0&&!(k.includes(e.codec)||e.codec===`flac`))throw TypeError(`config.bitrate must be provided for compressed audio codecs.`);if(e.bitrate!==void 0&&!(e.bitrate instanceof Tn)&&(!Number.isInteger(e.bitrate)||e.bitrate<=0))throw TypeError(`config.bitrate, when provided, must be a positive integer or a quality.`);if(e.transform!==void 0){if(typeof e.transform!=`object`||!e.transform)throw TypeError(`config.transform, when provided, must be an object.`);if(e.transform.numberOfChannels!==void 0&&(!Number.isInteger(e.transform.numberOfChannels)||e.transform.numberOfChannels<=0))throw TypeError(`config.transform.numberOfChannels, when provided, must be a positive integer.`);if(e.transform.sampleRate!==void 0&&(!Number.isInteger(e.transform.sampleRate)||e.transform.sampleRate<=0))throw TypeError(`config.transform.sampleRate, when provided, must be a positive integer.`);if(e.transform.sampleFormat!==void 0&&![`u8`,`s16`,`s32`,`f32`].includes(e.transform.sampleFormat))throw TypeError(`config.transform.sampleFormat, when provided, must be one of: u8, s16, s32, f32.`);if(e.transform.process!==void 0&&typeof e.transform.process!=`function`)throw TypeError(`config.transform.process, when provided, must be a function.`)}if(e.onEncodedPacket!==void 0&&typeof e.onEncodedPacket!=`function`)throw TypeError(`config.onEncodedPacket, when provided, must be a function.`);if(e.onEncoderConfig!==void 0&&typeof e.onEncoderConfig!=`function`)throw TypeError(`config.onEncoderConfig, when provided, must be a function.`);if(e.onEncodedSample!==void 0&&typeof e.onEncodedSample!=`function`)throw TypeError(`config.onEncodedSample, when provided, must be a function.`);Cn(e.codec,e)},Cn=(e,t)=>{if(!t||typeof t!=`object`)throw TypeError(`Encoding options must be an object.`);if(t.bitrateMode!==void 0&&![`constant`,`variable`].includes(t.bitrateMode))throw TypeError(`bitrateMode, when provided, must be 'constant' or 'variable'.`);if(t.fullCodecString!==void 0&&typeof t.fullCodecString!=`string`)throw TypeError(`fullCodecString, when provided, must be a string.`);if(t.fullCodecString!==void 0&&We(t.fullCodecString)!==e)throw TypeError(`fullCodecString, when provided, must be a string that matches the specified codec (${e}).`)},wn=e=>{let t=e.bitrate instanceof Tn?e.bitrate._toAudioBitrate(e.codec):e.bitrate;return{codec:e.fullCodecString??He(e.codec,e.numberOfChannels,e.sampleRate),numberOfChannels:e.numberOfChannels,sampleRate:e.sampleRate,bitrate:t,bitrateMode:e.bitrateMode,...Ke(e.codec)}},Tn=class{constructor(e){this._factor=e}_toVideoBitrate(e,t,n){let r=t*n,i=3e6,a=i*(r/2073600)**.95*{avc:1,hevc:.6,vp9:.6,av1:.4,vp8:1.2,prores:22e7/i}[e]*this._factor;return Math.ceil(a/1e3)*1e3}_toAudioBitrate(e){if(k.includes(e)||e===`flac`)return;let t={aac:128e3,opus:64e3,mp3:16e4,vorbis:64e3,ac3:384e3,eac3:192e3}[e];if(!t)throw Error(`Unhandled codec: ${e}`);let n=t*this._factor;return e===`aac`?n=[96e3,128e3,16e4,192e3].reduce((e,t)=>Math.abs(t-n)<Math.abs(e-n)?t:e):e===`opus`||e===`vorbis`?n=Math.max(6e3,n):e===`mp3`&&(n=[8e3,16e3,24e3,32e3,4e4,48e3,64e3,8e4,96e3,112e3,128e3,16e4,192e3,224e3,256e3,32e4].reduce((e,t)=>Math.abs(t-n)<Math.abs(e-n)?t:e)),Math.round(n/1e3)*1e3}},En=async(e,t={})=>{let{width:n=1280,height:r=720,bitrate:i=1e6,...a}=t;if(!O.includes(e))return!1;if(!Number.isInteger(n)||n<=0)throw TypeError(`width must be a positive integer.`);if(!Number.isInteger(r)||r<=0)throw TypeError(`height must be a positive integer.`);if(!(i instanceof Tn)&&(!Number.isInteger(i)||i<=0))throw TypeError(`bitrate must be a positive integer or a quality.`);bn(e,a);let o=xn({codec:e,width:n,height:r,bitrate:i,framerate:void 0,...a,alpha:`discard`}),s=JSON.stringify(o),c=vn.get(s);if(c)return c;let l=(async()=>Dn.some(t=>t.supports(e,o))?!0:typeof VideoEncoder>`u`||(n%2==1||r%2==1)&&(e===`avc`||e===`hevc`)||!(await VideoEncoder.isConfigSupported(o)).supported?!1:le()?new Promise(async e=>{try{let t=new VideoEncoder({output:()=>{},error:()=>e(!1)});t.configure(o);let i=new Uint8Array(n*r*4),a=new VideoFrame(i,{format:`RGBA`,codedWidth:n,codedHeight:r,timestamp:0});t.encode(a),a.close(),await t.flush(),e(!0)}catch{e(!1)}}):!0)();return vn.set(s,l),l},Dn=[],On=[],kn=e=>{let t=8191,n=e,r=4096,i=0,a=12,o=0;for(n<0&&(n=-n,i=128),n+=33,n>t&&(n=t);(n&r)!==r&&a>=5;)r>>=1,a--;return o=n>>a-4&15,~(i|a-5<<4|o)&255},An=e=>{let t=4095,n=2048,r=0,i=11,a=0,o=e;for(o<0&&(o=-o,r=128),o>t&&(o=t);(o&n)!==n&&i>=5;)n>>=1,i--;return a=o>>(i===4?1:i-4)&15,(r|i-4<<4|a)^85},jn=class e{constructor(e,t,n,r,i){this.bytes=e,this.view=t,this.offset=n,this.start=r,this.end=i,this.bufferPos=r-n}static tempFromBytes(t){return new e(t,c(t),0,0,t.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(e){this.bufferPos=e-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(e){this.bufferPos+=e}slice(t,n=this.end-t){if(t<this.start||t+n>this.end)throw RangeError(`Slicing outside of original slice.`);return new e(this.bytes,this.view,this.offset,t,t+n)}},Mn=(e,t)=>{if(e.filePos<e.start||e.filePos+t>e.end)throw RangeError(`Tried reading [${e.filePos}, ${e.filePos+t}), but slice is [${e.start}, ${e.end}). This is likely an internal error, please report it alongside the file that caused it.`)},Nn=(e,t)=>{Mn(e,t);let n=e.bytes.subarray(e.bufferPos,e.bufferPos+t);return e.bufferPos+=t,n},Pn=class{constructor(e){this.mutex=new h,this.trackTimestampInfo=new WeakMap,this.output=e}onTrackClose(e){}validateTimestamp(e,t,n){if(t<0)throw Error(`Timestamps must be non-negative (got ${t}s).`);let r=this.trackTimestampInfo.get(e);if(r){if(n&&(r.maxTimestampBeforeLastKeyPacket=r.maxTimestamp),r.maxTimestampBeforeLastKeyPacket!==null&&t<r.maxTimestampBeforeLastKeyPacket)throw Error(`Timestamps cannot be smaller than the largest timestamp of the previous GOP (a GOP begins with a key packet and ends right before the next key packet). Got ${t}s, but largest timestamp is ${r.maxTimestampBeforeLastKeyPacket}s.`);r.maxTimestamp=Math.max(r.maxTimestamp,t)}else{if(!n)throw Error(`First packet must be a key packet.`);r={maxTimestamp:t,maxTimestampBeforeLastKeyPacket:null},this.trackTimestampInfo.set(e,r)}}},Fn=/<(?:(\d{2}):)?(\d{2}):(\d{2}).(\d{3})>/g,In=e=>{let t=Math.floor(e/(3600*1e3)),n=Math.floor(e%(3600*1e3)/(60*1e3)),r=Math.floor(e%(60*1e3)/1e3),i=e%1e3;return t.toString().padStart(2,`0`)+`:`+n.toString().padStart(2,`0`)+`:`+r.toString().padStart(2,`0`)+`.`+i.toString().padStart(3,`0`)},Ln=class{constructor(e){this.writer=e,this.helper=new Uint8Array(8),this.helperView=new DataView(this.helper.buffer),this.offsets=new WeakMap}writeU32(e){this.helperView.setUint32(0,e,!1),this.writer.write(this.helper.subarray(0,4))}writeU64(e){this.helperView.setUint32(0,Math.floor(e/2**32),!1),this.helperView.setUint32(4,e,!1),this.writer.write(this.helper.subarray(0,8))}writeAscii(e){for(let t=0;t<e.length;t++)this.helperView.setUint8(t%8,e.charCodeAt(t)),t%8==7&&this.writer.write(this.helper);e.length%8!=0&&this.writer.write(this.helper.subarray(0,e.length%8))}writeBox(e){if(this.offsets.set(e,this.writer.getPos()),e.contents&&!e.children)this.writeBoxHeader(e,e.size??e.contents.byteLength+8),this.writer.write(e.contents);else{let t=this.writer.getPos();if(this.writeBoxHeader(e,0),e.contents&&this.writer.write(e.contents),e.children)for(let t of e.children)t&&this.writeBox(t);let n=this.writer.getPos(),r=e.size??n-t;this.writer.seek(t),this.writeBoxHeader(e,r),this.writer.seek(n)}}writeBoxHeader(e,t){this.writeU32(e.largeSize?1:t),this.writeAscii(e.type),e.largeSize&&this.writeU64(t)}measureBoxHeader(e){return 8+(e.largeSize?8:0)}patchBox(e){let n=this.offsets.get(e);t(n!==void 0);let r=this.writer.getPos();this.writer.seek(n),this.writeBox(e),this.writer.seek(r)}measureBox(e){if(e.contents&&!e.children)return this.measureBoxHeader(e)+e.contents.byteLength;{let t=this.measureBoxHeader(e);if(e.contents&&(t+=e.contents.byteLength),e.children)for(let n of e.children)n&&(t+=this.measureBox(n));return t}}},I=new Uint8Array(8),L=new DataView(I.buffer),R=e=>[(e%256+256)%256],z=e=>(L.setUint16(0,e,!1),[I[0],I[1]]),Rn=e=>(L.setInt16(0,e,!1),[I[0],I[1]]),zn=e=>(L.setUint32(0,e,!1),[I[1],I[2],I[3]]),B=e=>(L.setUint32(0,e,!1),[I[0],I[1],I[2],I[3]]),V=e=>(L.setInt32(0,e,!1),[I[0],I[1],I[2],I[3]]),H=e=>(L.setUint32(0,Math.floor(e/2**32),!1),L.setUint32(4,e,!1),[I[0],I[1],I[2],I[3],I[4],I[5],I[6],I[7]]),Bn=e=>(L.setInt32(0,Math.floor(e/2**32),!1),L.setUint32(4,e,!1),[I[0],I[1],I[2],I[3],I[4],I[5],I[6],I[7]]),Vn=e=>(L.setInt16(0,2**8*e,!1),[I[0],I[1]]),U=e=>(L.setInt32(0,2**16*e,!1),[I[0],I[1],I[2],I[3]]),Hn=e=>(L.setInt32(0,2**30*e,!1),[I[0],I[1],I[2],I[3]]),Un=(e,t)=>{let n=[],r=e;do{let e=r&127;r>>=7,n.length>0&&(e|=128),n.push(e),t!==void 0&&t--}while(r>0||t);return n.reverse()},W=(e,t=!1)=>{let n=Array(e.length).fill(null).map((t,n)=>e.charCodeAt(n));return t&&n.push(0),n},Wn=e=>{let t=Math.PI/180*e,n=Math.round(Math.cos(t)),r=Math.round(Math.sin(t));return[n,r,0,-r,n,0,0,0,1]},Gn=Wn(0),Kn=e=>[U(e[0]),U(e[1]),Hn(e[2]),U(e[3]),U(e[4]),Hn(e[5]),U(e[6]),U(e[7]),Hn(e[8])],G=(e,t,n)=>({type:e,contents:t&&new Uint8Array(t.flat(10)),children:n}),K=(e,t,n,r,i)=>G(e,[R(t),zn(n),r??[]],i),qn=e=>e.isQuickTime?G(`ftyp`,[W(`qt `),B(512),W(`qt `)]):e.fragmented?e.cmaf?G(`ftyp`,[W(`iso5`),B(512),W(`iso5`),W(`iso6`),W(`mp41`),W(`cmfc`),W(`dash`)]):G(`ftyp`,[W(`iso5`),B(512),W(`iso5`),W(`iso6`),W(`mp41`)]):G(`ftyp`,[W(`isom`),B(512),W(`isom`),e.holdsAvc?W(`avc1`):[],W(`mp41`)]),Jn=()=>G(`styp`,[W(`iso5`),B(0),W(`iso5`),W(`iso6`),W(`mp41`),W(`cmfc`),W(`dash`)]),Yn=(e,t)=>{let n=e.maxWrittenEndTimestamp-e.minWrittenTimestamp;return Number.isFinite(n)||(n=0),K(`sidx`,1,0,[B(1),B(Q),H($(e.minWrittenTimestamp,Q)),H(0),z(0),z(1),B(t&2147483647),B($(n,Q)),B(0)])},Xn=e=>({type:`mdat`,largeSize:e}),Zn=e=>({type:`free`,size:e}),Qn=e=>G(`moov`,void 0,[$n(e.creationTime,e.trackDatas),...e.trackDatas.map(t=>tr(t,e.creationTime)),e.isFragmented?Br(e.trackDatas):null,ti(e)]),$n=(e,t)=>{let n=Math.max(0,...t.map(e=>$(er(e),Q)+$(e.startTimestampOffset??0,Q))),r=Math.max(0,...t.map(e=>e.track.id))+1,a=!i(e)||!i(n),o=a?H:B;return K(`mvhd`,+a,0,[o(e),o(e),B(Q),o(n),U(1),Vn(1),Array(10).fill(0),Kn(Gn),Array(24).fill(0),B(r)])},er=e=>{if(e.samples.length===0)return 0;let t=1/0,n=-1/0;for(let r=0;r<e.samples.length;r++){let i=e.samples[r];i.timestamp<t&&(t=i.timestamp),i.timestamp+i.duration>n&&(n=i.timestamp+i.duration)}return t===1/0?0:n-t},tr=(e,t)=>{let n=xi(e),r=e.startTimestampOffset!==null&&e.startTimestampOffset>0;return G(`trak`,void 0,[nr(e,t),r?rr(e,e.startTimestampOffset):null,ir(e,t),n.name===void 0?null:G(`udta`,void 0,[G(`name`,[...l.encode(n.name)])])])},nr=(e,t)=>{let n=$(er(e),Q)+$(e.startTimestampOffset??0,Q),r=!i(t)||!i(n),a=r?H:B,o;if(e.type===`video`){let t=e.track.metadata.rotation;o=Wn(t??0)}else o=Gn;let s=2;return e.track.metadata.disposition?.default!==!1&&(s|=1),K(`tkhd`,+r,s,[a(t),a(t),B(e.track.id),B(0),a(n),Array(8).fill(0),z(0),z(e.track.id),Vn(+(e.type===`audio`)),z(0),Kn(o),U(e.type===`video`?e.info.width:0),U(e.type===`video`?e.info.height:0)])},rr=(e,t)=>{let n=$(t,Q),r=$(er(e),Q),a=!i(n)||!i(r),o=a?H:B,s=a?Bn:V;return G(`edts`,void 0,[K(`elst`,+!!a,0,[B(2),o(n),s(-1),U(1),o(r),s(0),U(1)])])},ir=(e,t)=>G(`mdia`,void 0,[ar(e,t),cr(!0,or[e.type],sr[e.type]),lr(e)]),ar=(e,t)=>{let n=$(er(e),e.timescale),r=!i(t)||!i(n),a=r?H:B;return K(`mdhd`,+r,0,[a(t),a(t),B(e.timescale),a(n),z(pi(e.track.metadata.languageCode??`und`)),z(0)])},or={video:`vide`,audio:`soun`,subtitle:`text`},sr={video:`MediabunnyVideoHandler`,audio:`MediabunnySoundHandler`,subtitle:`MediabunnyTextHandler`},cr=(e,t,n,r=`\0\0\0\0`)=>K(`hdlr`,0,0,[e?W(`mhlr`):B(0),W(t),W(r),B(0),B(0),W(n,!0)]),lr=e=>G(`minf`,void 0,[ur[e.type](),dr(),mr(e)]),ur={video:()=>K(`vmhd`,0,1,[z(0),z(0),z(0),z(0)]),audio:()=>K(`smhd`,0,0,[z(0),z(0)]),subtitle:()=>K(`nmhd`,0,0)},dr=()=>G(`dinf`,void 0,[fr()]),fr=()=>K(`dref`,0,0,[B(1)],[pr()]),pr=()=>K(`url `,0,1),mr=e=>{let t=e.compositionTimeOffsetTable.length>1||e.compositionTimeOffsetTable.some(e=>e.sampleCompositionTimeOffset!==0);return G(`stbl`,void 0,[hr(e),Nr(e),t?Rr(e):null,t?zr(e):null,Fr(e),Ir(e),Lr(e),Pr(e)])},hr=e=>{let n;if(e.type===`video`)n=gr(si(e.track.source._codec,e.info.decoderConfig.codec),e);else if(e.type===`audio`){let r=li(e.track.source._codec,e.muxer.isQuickTime);t(r),n=Cr(r,e)}else e.type===`subtitle`&&(n=jr(di[e.track.source._codec],e));return t(n),K(`stsd`,0,0,[B(1)],[n])},gr=(e,t)=>G(e,[[,,,,,,].fill(0),z(1),z(0),z(0),Array(12).fill(0),z(t.info.width),z(t.info.height),B(4718592),B(4718592),B(0),z(1),Array(32).fill(0),z(24),Rn(65535)],[ci[t.track.source._codec]?.(t)??null,_r(t),p(t.info.decoderConfig.colorSpace)?vr(t):null]),_r=e=>e.info.pixelAspectRatio.num===e.info.pixelAspectRatio.den?null:G(`pasp`,[B(e.info.pixelAspectRatio.num),B(e.info.pixelAspectRatio.den)]),vr=e=>G(`colr`,[W(e.muxer.isQuickTime?`nclc`:`nclx`),z(u[e.info.decoderConfig.colorSpace.primaries]),z(d[e.info.decoderConfig.colorSpace.transfer]),z(f[e.info.decoderConfig.colorSpace.matrix]),e.muxer.isQuickTime?[]:R(!!e.info.decoderConfig.colorSpace.fullRange<<7)]),yr=e=>e.info.decoderConfig&&G(`avcC`,[...s(e.info.decoderConfig.description)]),br=e=>e.info.decoderConfig&&G(`hvcC`,[...s(e.info.decoderConfig.description)]),xr=e=>{if(!e.info.decoderConfig)return null;let t=e.info.decoderConfig,n=t.codec.split(`.`),r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=n[4]?Number(n[4]):1,s=n[8]?Number(n[8]):Number(t.colorSpace?.fullRange??0),c=(a<<4)+(o<<1)+s,l=n[5]?Number(n[5]):t.colorSpace?.primaries?u[t.colorSpace.primaries]:2,p=n[6]?Number(n[6]):t.colorSpace?.transfer?d[t.colorSpace.transfer]:2,m=n[7]?Number(n[7]):t.colorSpace?.matrix?f[t.colorSpace.matrix]:2;return K(`vpcC`,1,0,[R(r),R(i),R(c),R(l),R(p),R(m),z(0)])},Sr=e=>G(`av1C`,Ve(e.info.decoderConfig.codec)),Cr=(e,t)=>{let n=0,r,i=16,a=k.includes(t.track.source._codec);if(a){let e=t.track.source._codec,{sampleSize:r}=A(e);i=8*r,i>16&&(n=1)}if(t.muxer.isQuickTime&&(n=1),n===0)r=[[,,,,,,].fill(0),z(1),z(n),z(0),B(0),z(t.info.numberOfChannels),z(i),z(0),z(0),z(t.info.sampleRate<2**16?t.info.sampleRate:0),z(0)];else{let e=a?0:-2;r=[[,,,,,,].fill(0),z(1),z(n),z(0),B(0),z(t.info.numberOfChannels),z(Math.min(i,16)),Rn(e),z(0),z(t.info.sampleRate<2**16?t.info.sampleRate:0),z(0),a?[B(1),B(i/8),B(t.info.numberOfChannels*i/8)]:[B(0),B(0),B(0)],B(2)]}return G(e,r,[ui(t.track.source._codec,t.muxer.isQuickTime)?.(t)??null])},wr=e=>{let t;switch(e.track.source._codec){case`aac`:t=64;break;case`mp3`:t=107;break;case`vorbis`:t=221;break;default:throw Error(`Unhandled audio codec: ${e.track.source._codec}`)}let n=[...R(t),...R(21),...zn(0),...B(0),...B(0)];if(e.info.decoderConfig.description){let t=s(e.info.decoderConfig.description);n=[...n,...R(5),...Un(t.byteLength),...t]}return n=[...z(1),...R(0),...R(4),...Un(n.length),...n,...R(6),...R(1),...R(2)],n=[...R(3),...Un(n.length),...n],K(`esds`,0,0,n)},q=e=>G(`wave`,void 0,[Tr(e),Er(e),G(`\0\0\0\0`)]),Tr=e=>G(`frma`,[W(li(e.track.source._codec,e.muxer.isQuickTime))]),Er=e=>{let{littleEndian:t}=A(e.track.source._codec);return G(`enda`,[z(+t)])},Dr=e=>{let n=e.info.numberOfChannels,r=3840,i=e.info.sampleRate,a=0,o=0,c=new Uint8Array,l=e.info.decoderConfig?.description;if(l){t(l.byteLength>=18);let e=kt(s(l));n=e.outputChannelCount,r=e.preSkip,i=e.inputSampleRate,a=e.outputGain,o=e.channelMappingFamily,e.channelMappingTable&&(c=e.channelMappingTable)}return G(`dOps`,[R(0),R(n),z(r),B(i),Rn(a),R(o),...c])},Or=e=>{let n=e.info.decoderConfig?.description;return t(n),K(`dfLa`,0,0,[...s(n).subarray(4)])},J=e=>{let{littleEndian:t,sampleSize:n}=A(e.track.source._codec);return K(`pcmC`,0,0,[R(+t),R(8*n)])},kr=e=>{let t=Mt(e.info.firstPacket.data);if(!t)throw Error(`Couldn't extract AC-3 frame info from the audio packet. Ensure the packets contain valid AC-3 sync frames (as specified in ETSI TS 102 366).`);let n=new Uint8Array(3),r=new D(n);return r.writeBits(2,t.fscod),r.writeBits(5,t.bsid),r.writeBits(3,t.bsmod),r.writeBits(3,t.acmod),r.writeBits(1,t.lfeon),r.writeBits(5,t.bitRateCode),r.writeBits(5,0),G(`dac3`,[...n])},Ar=e=>{let t=Pt(e.info.firstPacket.data);if(!t)throw Error(`Couldn't extract E-AC-3 frame info from the audio packet. Ensure the packets contain valid E-AC-3 sync frames (as specified in ETSI TS 102 366).`);let n=16;for(let e of t.substreams)n+=23,e.numDepSub>0?n+=9:n+=1;let r=Math.ceil(n/8),i=new Uint8Array(r),a=new D(i);a.writeBits(13,t.dataRate),a.writeBits(3,t.substreams.length-1);for(let e of t.substreams)a.writeBits(2,e.fscod),a.writeBits(5,e.bsid),a.writeBits(1,0),a.writeBits(1,0),a.writeBits(3,e.bsmod),a.writeBits(3,e.acmod),a.writeBits(1,e.lfeon),a.writeBits(3,0),a.writeBits(4,e.numDepSub),e.numDepSub>0?a.writeBits(9,e.chanLoc):a.writeBits(1,0);return G(`dec3`,[...i])},jr=(e,t)=>G(e,[[,,,,,,].fill(0),z(1)],[fi[t.track.source._codec](t)]),Mr=e=>G(`vttC`,[...l.encode(e.info.config.description)]),Nr=e=>K(`stts`,0,0,[B(e.timeToSampleTable.length),e.timeToSampleTable.map(e=>[B(e.sampleCount),B(e.sampleDelta)])]),Pr=e=>{if(e.samples.every(e=>e.type===`key`))return null;let t=[...e.samples.entries()].filter(([,e])=>e.type===`key`);return K(`stss`,0,0,[B(t.length),t.map(([e])=>B(e+1))])},Fr=e=>K(`stsc`,0,0,[B(e.compactlyCodedChunkTable.length),e.compactlyCodedChunkTable.map(e=>[B(e.firstChunk),B(e.samplesPerChunk),B(1)])]),Ir=e=>{if(e.type===`audio`&&e.info.requiresPcmTransformation){let{sampleSize:t}=A(e.track.source._codec);return K(`stsz`,0,0,[B(t*e.info.numberOfChannels),B(e.samples.reduce((t,n)=>t+$(n.duration,e.timescale),0))])}return K(`stsz`,0,0,[B(0),B(e.samples.length),e.samples.map(e=>B(e.size))])},Lr=e=>e.finalizedChunks.length>0&&r(e.finalizedChunks).offset>=2**32?K(`co64`,0,0,[B(e.finalizedChunks.length),e.finalizedChunks.map(e=>H(e.offset))]):K(`stco`,0,0,[B(e.finalizedChunks.length),e.finalizedChunks.map(e=>B(e.offset))]),Rr=e=>K(`ctts`,1,0,[B(e.compositionTimeOffsetTable.length),e.compositionTimeOffsetTable.map(e=>[B(e.sampleCount),V(e.sampleCompositionTimeOffset)])]),zr=e=>{let n=1/0,r=-1/0,i=1/0,a=-1/0;t(e.compositionTimeOffsetTable.length>0),t(e.samples.length>0);for(let t=0;t<e.compositionTimeOffsetTable.length;t++){let i=e.compositionTimeOffsetTable[t];n=Math.min(n,i.sampleCompositionTimeOffset),r=Math.max(r,i.sampleCompositionTimeOffset)}for(let t=0;t<e.samples.length;t++){let n=e.samples[t];i=Math.min(i,$(n.timestamp,e.timescale)),a=Math.max(a,$(n.timestamp+n.duration,e.timescale))}let o=Math.max(-n,0);return a>=2**31?null:K(`cslg`,0,0,[V(o),V(n),V(r),V(i),V(a)])},Br=e=>G(`mvex`,void 0,e.map(Vr)),Vr=e=>K(`trex`,0,0,[B(e.track.id),B(1),B(0),B(0),B(0)]),Hr=(e,t)=>G(`moof`,void 0,[Ur(e),...t.map(Gr)]),Ur=e=>K(`mfhd`,0,0,[B(e)]),Wr=e=>{let t=0,n=0,r=e.type===`delta`;return n|=+r,r?t|=1:t|=2,t<<24|n<<16|0},Gr=e=>G(`traf`,void 0,[Kr(e),qr(e),Jr(e)]),Kr=e=>{t(e.currentChunk);let n=0;n|=8,n|=16,n|=32,n|=131072;let r=e.currentChunk.samples[1]??e.currentChunk.samples[0],i={duration:r.timescaleUnitsToNextSample,size:r.size,flags:Wr(r)};return K(`tfhd`,0,n,[B(e.track.id),B(i.duration),B(i.size),B(i.flags)])},qr=e=>(t(e.currentChunk),K(`tfdt`,1,0,[H($(e.currentChunk.startTimestamp,e.timescale))])),Jr=e=>{t(e.currentChunk);let n=e.currentChunk.samples.map(e=>e.timescaleUnitsToNextSample),r=e.currentChunk.samples.map(e=>e.size),i=e.currentChunk.samples.map(Wr),a=e.currentChunk.samples.map(t=>$(t.timestamp-t.decodeTimestamp,e.timescale)),o=new Set(n),s=new Set(r),c=new Set(i),l=new Set(a),u=c.size===2&&i[0]!==i[1],d=o.size>1,f=s.size>1,p=!u&&c.size>1,m=l.size>1||[...l].some(e=>e!==0),h=0;return h|=1,h|=4*u,h|=256*d,h|=512*f,h|=1024*p,h|=2048*m,K(`trun`,1,h,[B(e.currentChunk.samples.length),B(e.currentChunk.offset-e.currentChunk.moofOffset||0),u?B(i[0]):[],e.currentChunk.samples.map((e,t)=>[d?B(n[t]):[],f?B(r[t]):[],p?B(i[t]):[],m?V(a[t]):[]])])},Yr=e=>G(`mfra`,void 0,[...e.map(Xr),Zr()]),Xr=(e,t)=>K(`tfra`,1,0,[B(e.track.id),B(63),B(e.finalizedChunks.length),e.finalizedChunks.map(n=>[H($(n.samples[0].timestamp,e.timescale)),H(n.moofOffset),B(t+1),B(1),B(1)])]),Zr=()=>K(`mfro`,0,0,[B(0)]),Qr=()=>G(`vtte`),$r=(e,t,n,r,i)=>G(`vttc`,void 0,[i===null?null:G(`vsid`,[V(i)]),n===null?null:G(`iden`,[...l.encode(n)]),t===null?null:G(`ctim`,[...l.encode(In(t))]),r===null?null:G(`sttg`,[...l.encode(r)]),G(`payl`,[...l.encode(e)])]),ei=e=>G(`vtta`,[...l.encode(e)]),ti=e=>{let t=[],n=e.format._options.metadataFormat??`auto`,r=e.output._metadataTags;if(n===`mdir`||n===`auto`&&!e.isQuickTime){let e=ai(r);e&&t.push(e)}else if(n===`mdta`){let e=oi(r);e&&t.push(e)}else (n===`udta`||n===`auto`&&e.isQuickTime)&&ni(t,e.output._metadataTags);return t.length===0?null:G(`udta`,void 0,t)},ni=(e,t)=>{for(let{key:n,value:r}of me(t))switch(n){case`title`:e.push(Y(`©nam`,r));break;case`description`:e.push(Y(`©des`,r));break;case`artist`:e.push(Y(`©ART`,r));break;case`album`:e.push(Y(`©alb`,r));break;case`albumArtist`:e.push(Y(`albr`,r));break;case`genre`:e.push(Y(`©gen`,r));break;case`date`:e.push(Y(`©day`,r.toISOString().slice(0,10)));break;case`comment`:e.push(Y(`©cmt`,r));break;case`lyrics`:e.push(Y(`©lyr`,r));break;case`raw`:break;case`discNumber`:case`discsTotal`:case`trackNumber`:case`tracksTotal`:case`images`:break;default:v(n)}if(t.raw)for(let n in t.raw){let r=t.raw[n];r==null||n.length!==4||e.some(e=>e.type===n)||(typeof r==`string`?e.push(Y(n,r)):r instanceof Uint8Array&&e.push(G(n,Array.from(r))))}},Y=(e,t)=>{let n=l.encode(t);return G(e,[z(n.length),z(pi(`und`)),Array.from(n)])},ri={"image/jpeg":13,"image/png":14,"image/bmp":27},ii=(e,t)=>{let n=[];for(let{key:r,value:i}of me(e))switch(r){case`title`:n.push({key:t?`title`:`©nam`,value:X(i)});break;case`description`:n.push({key:t?`description`:`©des`,value:X(i)});break;case`artist`:n.push({key:t?`artist`:`©ART`,value:X(i)});break;case`album`:n.push({key:t?`album`:`©alb`,value:X(i)});break;case`albumArtist`:n.push({key:t?`album_artist`:`aART`,value:X(i)});break;case`comment`:n.push({key:t?`comment`:`©cmt`,value:X(i)});break;case`genre`:n.push({key:t?`genre`:`©gen`,value:X(i)});break;case`lyrics`:n.push({key:t?`lyrics`:`©lyr`,value:X(i)});break;case`date`:n.push({key:t?`date`:`©day`,value:X(i.toISOString().slice(0,10))});break;case`images`:for(let e of i)e.kind===`coverFront`&&n.push({key:`covr`,value:G(`data`,[B(ri[e.mimeType]??0),B(0),Array.from(e.data)])});break;case`trackNumber`:if(t){let t=e.tracksTotal===void 0?i.toString():`${i}/${e.tracksTotal}`;n.push({key:`track`,value:X(t)})}else n.push({key:`trkn`,value:G(`data`,[B(0),B(0),z(0),z(i),z(e.tracksTotal??0),z(0)])});break;case`discNumber`:t||n.push({key:`disc`,value:G(`data`,[B(0),B(0),z(0),z(i),z(e.discsTotal??0),z(0)])});break;case`tracksTotal`:case`discsTotal`:break;case`raw`:break;default:v(r)}if(e.raw)for(let r in e.raw){let i=e.raw[r];i==null||!t&&r.length!==4||n.some(e=>e.key===r)||(typeof i==`string`?n.push({key:r,value:X(i)}):i instanceof Uint8Array?n.push({key:r,value:G(`data`,[B(0),B(0),Array.from(i)])}):i instanceof Ce&&n.push({key:r,value:G(`data`,[B(ri[i.mimeType]??0),B(0),Array.from(i.data)])}))}return n},ai=e=>{let t=ii(e,!1);return t.length===0?null:K(`meta`,0,0,void 0,[cr(!1,`mdir`,``,`appl`),G(`ilst`,void 0,t.map(e=>G(e.key,void 0,[e.value])))])},oi=e=>{let t=ii(e,!0);return t.length===0?null:G(`meta`,void 0,[cr(!1,`mdta`,``),K(`keys`,0,0,[B(t.length)],t.map(e=>G(`mdta`,[...l.encode(e.key)]))),G(`ilst`,void 0,t.map((e,t)=>G(String.fromCharCode(...B(t+1)),void 0,[e.value])))])},X=e=>G(`data`,[B(1),B(0),...l.encode(e)]),si=(e,t)=>{switch(e){case`avc`:return t.startsWith(`avc3`)?`avc3`:`avc1`;case`hevc`:return`hvc1`;case`vp8`:return`vp08`;case`vp9`:return`vp09`;case`av1`:return`av01`;case`prores`:return t}},ci={avc:yr,hevc:br,vp8:xr,vp9:xr,av1:Sr,prores:null},li=(e,t)=>{switch(e){case`aac`:return`mp4a`;case`mp3`:return`mp4a`;case`opus`:return`Opus`;case`vorbis`:return`mp4a`;case`flac`:return`fLaC`;case`ulaw`:return`ulaw`;case`alaw`:return`alaw`;case`pcm-u8`:return`raw `;case`pcm-s8`:return`sowt`;case`ac3`:return`ac-3`;case`eac3`:return`ec-3`}if(t)switch(e){case`pcm-s16`:return`sowt`;case`pcm-s16be`:return`twos`;case`pcm-s24`:return`in24`;case`pcm-s24be`:return`in24`;case`pcm-s32`:return`in32`;case`pcm-s32be`:return`in32`;case`pcm-f32`:return`fl32`;case`pcm-f32be`:return`fl32`;case`pcm-f64`:return`fl64`;case`pcm-f64be`:return`fl64`}else switch(e){case`pcm-s16`:return`ipcm`;case`pcm-s16be`:return`ipcm`;case`pcm-s24`:return`ipcm`;case`pcm-s24be`:return`ipcm`;case`pcm-s32`:return`ipcm`;case`pcm-s32be`:return`ipcm`;case`pcm-f32`:return`fpcm`;case`pcm-f32be`:return`fpcm`;case`pcm-f64`:return`fpcm`;case`pcm-f64be`:return`fpcm`}},ui=(e,t)=>{switch(e){case`aac`:return wr;case`mp3`:return wr;case`opus`:return Dr;case`vorbis`:return wr;case`flac`:return Or;case`ac3`:return kr;case`eac3`:return Ar}if(t)switch(e){case`pcm-s24`:return q;case`pcm-s24be`:return q;case`pcm-s32`:return q;case`pcm-s32be`:return q;case`pcm-f32`:return q;case`pcm-f32be`:return q;case`pcm-f64`:return q;case`pcm-f64be`:return q}else switch(e){case`pcm-s16`:return J;case`pcm-s16be`:return J;case`pcm-s24`:return J;case`pcm-s24be`:return J;case`pcm-s32`:return J;case`pcm-s32be`:return J;case`pcm-f32`:return J;case`pcm-f32be`:return J;case`pcm-f64`:return J;case`pcm-f64be`:return J}return null},di={webvtt:`wvtt`},fi={webvtt:Mr},pi=e=>{t(e.length===3);let n=0;for(let t=0;t<3;t++)n<<=5,n+=e.charCodeAt(t)-96;return n},mi=class{constructor(e,t){if(this.finalized=!1,this.started=!1,this.pos=0,this.trackedWrites=null,this.trackedStart=-1,this.trackedEnd=-1,e._writerAcquired)throw Error(`Can't have multiple Writers for the same Target.`);this.target=e,e._setMonotonicity(t),e._writerAcquired=!0}start(){t(!this.started),this.target._start(),this.started=!0}write(e){t(this.started&&!this.finalized),this.maybeTrackWrites(e),this.target._write(e,this.pos),this.pos+=e.byteLength}seek(e){this.pos=e}getPos(){return this.pos}async flush(){return t(this.started&&!this.finalized),this.target._flush()}async finalize(){t(this.started&&!this.finalized),await this.target._finalize(),this.finalized=!0}maybeTrackWrites(e){if(!this.trackedWrites)return;let t=this.getPos();if(t<this.trackedStart){if(t+e.byteLength<=this.trackedStart)return;e=e.subarray(this.trackedStart-t),t=0}let n=t+e.byteLength-this.trackedStart,r=this.trackedWrites.byteLength;for(;r<n;)r*=2;if(r!==this.trackedWrites.byteLength){let e=new Uint8Array(r);e.set(this.trackedWrites,0),this.trackedWrites=e}this.trackedWrites.set(e,t-this.trackedStart),this.trackedEnd=Math.max(this.trackedEnd,t+e.byteLength)}startTrackingWrites(){this.trackedWrites=new Uint8Array(2**10),this.trackedStart=this.getPos(),this.trackedEnd=this.trackedStart}stopTrackingWrites(){if(!this.trackedWrites)throw Error(`Internal error: Can't get tracked writes since nothing was tracked.`);let e={data:this.trackedWrites.subarray(0,this.trackedEnd-this.trackedStart),start:this.trackedStart,end:this.trackedEnd};return this.trackedWrites=null,e}},Z=class extends xe{constructor(){super(...arguments),this._writerAcquired=!1,this._monotonicity=null,this.onwrite=null}_setMonotonicity(e){this._monotonicity!==!1&&(this._monotonicity=e)}_dispatchWrite(e,t){this.onwrite?.(e,t),this._emit(`write`,{start:e,end:t})}slice(e){if(!Number.isInteger(e)||e<0)throw TypeError(`offset must be a non-negative integer.`);return new vi(this,e)}},hi=2**16,gi=2**32,_i=class extends Z{constructor(e={}){if(super(),this.buffer=null,this._maxPos=0,!e||typeof e!=`object`)throw TypeError(`BufferTarget options, when provided, must be an object.`);if(e.onFinalize!==void 0&&typeof e.onFinalize!=`function`)throw TypeError(`options.onFinalize, when provided, must be a function.`);if(this._options=e,this._supportsResize=`resize`in new ArrayBuffer(0),this._supportsResize)try{this._buffer=new ArrayBuffer(hi,{maxByteLength:gi})}catch{this._buffer=new ArrayBuffer(hi),this._supportsResize=!1}else this._buffer=new ArrayBuffer(hi);this._bytes=new Uint8Array(this._buffer)}_ensureSize(e){let t=this._buffer.byteLength;for(;t<e;)t*=2;if(t!==this._buffer.byteLength){if(t>gi)throw Error(`ArrayBuffer exceeded maximum size of ${gi} bytes. Please consider using another target.`);if(this._supportsResize)this._buffer.resize(t);else{let e=new ArrayBuffer(t),n=new Uint8Array(e);n.set(this._bytes,0),this._buffer=e,this._bytes=n}}}_start(){}_write(e,t){this._ensureSize(t+e.byteLength),this._bytes.set(e,t),this._maxPos=Math.max(this._maxPos,t+e.byteLength),this._dispatchWrite(t,t+e.byteLength)}async _flush(){}async _finalize(){this.buffer=this._buffer.slice(0,this._maxPos),this._options.onFinalize&&await this._options.onFinalize(this.buffer),this._emit(`finalized`)}async _close(){}_getSlice(e,t){return this._bytes.slice(e,t)}},vi=class extends Z{constructor(e,t){super(),this._baseTarget=e,this._offset=t}_start(){}_write(e,t){this._baseTarget._write(e,this._offset+t),this._dispatchWrite(t,t+e.byteLength)}_flush(){return this._baseTarget._flush()}async _finalize(){this._emit(`finalized`)}async _close(){}_setMonotonicity(e){super._setMonotonicity(e),this._baseTarget._setMonotonicity(e)}},yi=class{constructor(e,t){if(this.rootPath=e,this.getTarget=t,typeof e!=`string`)throw TypeError(`rootPath must be a string.`);if(typeof t!=`function`)throw TypeError(`getTarget must be a function.`)}},Q=57600,bi=2082844800,xi=e=>{let t={},n=e.track;return n.metadata.name!==void 0&&(t.name=n.metadata.name),t},$=(e,t,n=!0)=>{let r=e*t;return n?Math.round(r):r},Si=class extends Pn{constructor(e,t){super(e),this.writer=null,this.boxWriter=null,this.initWriter=null,this.initBoxWriter=null,this.auxTarget=new _i,this.auxWriter=new mi(this.auxTarget,!1),this.auxBoxWriter=new Ln(this.auxWriter),this.mdat=null,this.ftypSize=null,this.trackDatas=[],this.allTracksKnown=_(),this.creationTime=Math.floor(Date.now()/1e3)+bi,this.finalizedChunks=[],this.nextFragmentNumber=1,this.maxWrittenTimestamp=-1/0,this.minWrittenTimestamp=1/0,this.maxWrittenEndTimestamp=-1/0,this.segmentHeaderSize=null,this.format=t,this.isQuickTime=t instanceof Bi,this.isCmaf=t instanceof zi,this.minimumFragmentDuration=t._options.minimumFragmentDuration??(t instanceof zi?1/0:1)}async start(){let e=await this.mutex.acquire();if(this.isCmaf?(this.fastStart=`fragmented`,this.isFragmented=!0):(this.writer=await this.output._getRootWriter(e=>this.format._options.fastStart===void 0?e instanceof _i:this.format._options.fastStart===`fragmented`),this.boxWriter=new Ln(this.writer),this.fastStart=this.format._options.fastStart??(this.writer.target instanceof _i?`in-memory`:!1),this.isFragmented=this.fastStart===`fragmented`),this.isCmaf){if(!this.output._hasInitTarget())throw Error(`CMAF outputs require the initTarget field in OutputOptions to be set; the init segment will be written to it.`);let e=new mi(await this.output._getInitTarget(),!0);e.start(),this.initWriter=e,this.initBoxWriter=new Ln(e)}let n=this.output._tracks.some(e=>e.isVideoTrack()&&e.source._codec===`avc`);{let e=this.initBoxWriter??this.boxWriter;if(t(e),this.format._options.onFtyp&&e.writer.startTrackingWrites(),e.writeBox(qn({isQuickTime:this.isQuickTime,holdsAvc:n,fragmented:this.isFragmented,cmaf:this.isCmaf})),this.format._options.onFtyp){let{data:t,start:n}=e.writer.stopTrackingWrites();this.format._options.onFtyp(t,n)}this.ftypSize=e.writer.getPos(),this.isCmaf&&await this.initWriter.flush()}if(this.fastStart!==`in-memory`)if(this.fastStart===`reserve`){for(let e of this.output._tracks)if(e.metadata.maximumPacketCount===void 0)throw Error(`All tracks must specify maximumPacketCount in their metadata when using fastStart: 'reserve'.`)}else this.isFragmented||(t(this.writer),t(this.boxWriter),this.format._options.onMdat&&this.writer.startTrackingWrites(),this.mdat=Xn(!0),this.boxWriter.writeBox(this.mdat));await this.writer?.flush(),e()}allTracksAreKnown(){for(let e of this.output._tracks)if(!e.source._closed&&!this.trackDatas.some(t=>t.track===e))return!1;return!0}async getMimeType(){await this.allTracksKnown.promise;let e=this.trackDatas.map(e=>e.type===`video`||e.type===`audio`?e.info.decoderConfig.codec:{webvtt:`wvtt`}[e.track.source._codec]);return Lt({isQuickTime:this.isQuickTime,hasVideo:this.trackDatas.some(e=>e.type===`video`),hasAudio:this.trackDatas.some(e=>e.type===`audio`),codecStrings:e})}getVideoTrackData(e,n,r){let i=this.trackDatas.find(t=>t.track===e);if(i)return i;Qe(r),t(r),t(r.decoderConfig);let a={...r.decoderConfig};t(a.codedWidth!==void 0),t(a.codedHeight!==void 0);let o=!1;if(e.source._codec===`avc`&&!a.description){let e=ut(n.data);if(!e)throw Error(`Couldn't extract an AVCDecoderConfigurationRecord from the AVC packet. Make sure the packets are in Annex B format (as specified in ITU-T-REC-H.264) when not providing a description, or provide a description (must be an AVCDecoderConfigurationRecord as specified in ISO 14496-15) and ensure the packets are in AVCC format.`);a.description=dt(e),o=!0}else if(e.source._codec===`hevc`&&!a.description){let e=vt(n.data);if(!e)throw Error(`Couldn't extract an HEVCDecoderConfigurationRecord from the HEVC packet. Make sure the packets are in Annex B format (as specified in ITU-T-REC-H.265) when not providing a description, or provide a description (must be an HEVCDecoderConfigurationRecord as specified in ISO 14496-15) and ensure the packets are in HEVC format.`);a.description=Et(e),o=!0}let s=ie(1/(e.metadata.frameRate??57600),1e6).den,c=a.displayAspectWidth,l=a.displayAspectHeight,u=c===void 0||l===void 0?{num:1,den:1}:_e({num:c*a.codedHeight,den:l*a.codedWidth}),d={muxer:this,track:e,type:`video`,info:{width:a.codedWidth,height:a.codedHeight,pixelAspectRatio:u,decoderConfig:a,requiresAnnexBTransformation:o},timescale:s,samples:[],sampleQueue:[],timestampProcessingQueue:[],timeToSampleTable:[],compositionTimeOffsetTable:[],lastTimescaleUnits:null,lastSample:null,startTimestampOffset:null,finalizedChunks:[],currentChunk:null,compactlyCodedChunkTable:[],closed:!1};return this.trackDatas.push(d),this.trackDatas.sort((e,t)=>e.track.id-t.track.id),this.allTracksAreKnown()&&this.allTracksKnown.resolve(),d}getAudioTrackData(e,n,r){let i=this.trackDatas.find(t=>t.track===e);if(i)return i;et(r),t(r),t(r.decoderConfig);let a={...r.decoderConfig},o=!1;if(e.source._codec===`aac`&&!a.description){let e=Rt(jn.tempFromBytes(n.data));if(!e)throw Error(`Couldn't parse ADTS header from the AAC packet. Make sure the packets are in ADTS format (as specified in ISO 13818-7) when not providing a description, or provide a description (must be an AudioSpecificConfig as specified in ISO 14496-3) and ensure the packets are raw AAC data.`);let t=De[e.samplingFrequencyIndex],r=Oe[e.channelConfiguration];if(t===void 0||r===void 0)throw Error(`Invalid ADTS frame header.`);a.description=Ae({objectType:e.objectType,sampleRate:t,numberOfChannels:r}),o=!0}let s={muxer:this,track:e,type:`audio`,info:{numberOfChannels:r.decoderConfig.numberOfChannels,sampleRate:r.decoderConfig.sampleRate,decoderConfig:a,requiresPcmTransformation:!this.isFragmented&&k.includes(e.source._codec),expectedNextPcmPacketTimestamp:null,requiresAdtsStripping:o,firstPacket:n},timescale:a.sampleRate,samples:[],sampleQueue:[],timestampProcessingQueue:[],timeToSampleTable:[],compositionTimeOffsetTable:[],lastTimescaleUnits:null,lastSample:null,startTimestampOffset:null,finalizedChunks:[],currentChunk:null,compactlyCodedChunkTable:[],closed:!1};return this.trackDatas.push(s),this.trackDatas.sort((e,t)=>e.track.id-t.track.id),this.allTracksAreKnown()&&this.allTracksKnown.resolve(),s}getSubtitleTrackData(e,n){let r=this.trackDatas.find(t=>t.track===e);if(r)return r;tt(n),t(n),t(n.config);let i={muxer:this,track:e,type:`subtitle`,info:{config:n.config},timescale:1e3,samples:[],sampleQueue:[],timestampProcessingQueue:[],timeToSampleTable:[],compositionTimeOffsetTable:[],lastTimescaleUnits:null,lastSample:null,startTimestampOffset:null,finalizedChunks:[],currentChunk:null,compactlyCodedChunkTable:[],closed:!1,lastCueEndTimestamp:0,cueQueue:[],nextSourceId:0,cueToSourceId:new WeakMap};return this.trackDatas.push(i),this.trackDatas.sort((e,t)=>e.track.id-t.track.id),this.allTracksAreKnown()&&this.allTracksKnown.resolve(),i}async addEncodedVideoPacket(e,t,n){let r=await this.mutex.acquire();try{let r=this.getVideoTrackData(e,t,n),i=t.data;if(r.info.requiresAnnexBTransformation){let e=[...it(i)].map(e=>i.subarray(e.offset,e.offset+e.length));if(e.length===0)throw Error(`Failed to transform packet data. Make sure all packets are provided in Annex B format, as specified in ITU-T-REC-H.264 and ITU-T-REC-H.265.`);i=lt(e,4)}this.validateTimestamp(r.track,t.timestamp,t.type===`key`);let a=this.createSampleForTrack(r,i,t.timestamp,t.duration,t.type);await this.registerSample(r,a)}finally{r()}}async addEncodedAudioPacket(e,t,n){let r=await this.mutex.acquire();try{let r=this.getAudioTrackData(e,t,n),i=t.data;if(r.info.requiresAdtsStripping){let e=Rt(jn.tempFromBytes(i));if(!e)throw Error(`Expected ADTS frame, didn't get one.`);let t=e.crcCheck===null?7:9;i=i.subarray(t)}this.validateTimestamp(r.track,t.timestamp,t.type===`key`);let a=t.timestamp,o=t.duration;if(r.info.requiresPcmTransformation){let e=A(r.info.decoderConfig.codec).sampleSize*r.info.numberOfChannels;if(o=i.byteLength/e/r.info.sampleRate,r.info.expectedNextPcmPacketTimestamp!==null){let e=a-r.info.expectedNextPcmPacketTimestamp;if(e<.01)a=r.info.expectedNextPcmPacketTimestamp;else{let t=await this.padWithSilence(r,r.info.expectedNextPcmPacketTimestamp,e);a=r.info.expectedNextPcmPacketTimestamp+t}}r.info.expectedNextPcmPacketTimestamp=a+o}let s=this.createSampleForTrack(r,i,a,o,t.type);await this.registerSample(r,s)}finally{r()}}async padWithSilence(e,t,n){let r=$(n,e.timescale);if(n=r/e.timescale,r>0){let{sampleSize:i,silentValue:a}=A(e.info.decoderConfig.codec),o=r*e.info.numberOfChannels,s=new Uint8Array(i*o).fill(a),c=this.createSampleForTrack(e,new Uint8Array(s.buffer),t,n,`key`);await this.registerSample(e,c)}return n}async addSubtitleCue(e,t,n){let r=await this.mutex.acquire();try{let r=this.getSubtitleTrackData(e,n);this.validateTimestamp(r.track,t.timestamp,!0),e.source._codec===`webvtt`&&(r.cueQueue.push(t),await this.processWebVTTCues(r,t.timestamp))}finally{r()}}async processWebVTTCues(e,n){for(;e.cueQueue.length>0;){let r=new Set([]);for(let i of e.cueQueue)t(i.timestamp<=n),t(e.lastCueEndTimestamp<=i.timestamp+i.duration),r.add(Math.max(i.timestamp,e.lastCueEndTimestamp)),r.add(i.timestamp+i.duration);let i=[...r].sort((e,t)=>e-t),a=i[0],o=i[1]??a;if(n<o)break;if(e.lastCueEndTimestamp<a){this.auxWriter.seek(0);let t=Qr();this.auxBoxWriter.writeBox(t);let n=this.auxTarget._getSlice(0,this.auxWriter.getPos()),r=this.createSampleForTrack(e,n,e.lastCueEndTimestamp,a-e.lastCueEndTimestamp,`key`);await this.registerSample(e,r),e.lastCueEndTimestamp=a}this.auxWriter.seek(0);for(let t=0;t<e.cueQueue.length;t++){let n=e.cueQueue[t];if(n.timestamp>=o)break;Fn.lastIndex=0;let r=Fn.test(n.text),i=n.timestamp+n.duration,s=e.cueToSourceId.get(n);if(s===void 0&&o<i&&(s=e.nextSourceId++,e.cueToSourceId.set(n,s)),n.notes){let e=ei(n.notes);this.auxBoxWriter.writeBox(e)}let c=$r(n.text,r?a:null,n.identifier??null,n.settings??null,s??null);this.auxBoxWriter.writeBox(c),i===o&&e.cueQueue.splice(t--,1)}let s=this.auxTarget._getSlice(0,this.auxWriter.getPos()),c=this.createSampleForTrack(e,s,a,o-a,`key`);await this.registerSample(e,c),e.lastCueEndTimestamp=o}}createSampleForTrack(e,t,n,r,i){return{timestamp:n,decodeTimestamp:n,duration:r,data:t,size:t.byteLength,type:i,timescaleUnitsToNextSample:$(r,e.timescale)}}processTimestamps(e,n){if(e.timestampProcessingQueue.length===0)return;if(e.type===`audio`&&e.info.requiresPcmTransformation){this.isFragmented||(e.startTimestampOffset??=e.timestampProcessingQueue[0].timestamp);let t=0;for(let n=0;n<e.timestampProcessingQueue.length;n++){let r=e.timestampProcessingQueue[n],i=$(r.duration,e.timescale);t+=i}if(e.timeToSampleTable.length===0)e.timeToSampleTable.push({sampleCount:t,sampleDelta:1});else{let n=r(e.timeToSampleTable);n.sampleCount+=t}e.timestampProcessingQueue.length=0;return}let i=e.timestampProcessingQueue.map(e=>e.timestamp).sort((e,t)=>e-t);this.isFragmented||(e.startTimestampOffset??=i[0]);for(let n=0;n<e.timestampProcessingQueue.length;n++){let a=e.timestampProcessingQueue[n];a.decodeTimestamp=i[n];let o=$(a.timestamp-a.decodeTimestamp,e.timescale),s=$(a.duration,e.timescale);if(e.lastTimescaleUnits!==null){t(e.lastSample);let n=$(a.decodeTimestamp,e.timescale,!1),i=Math.round(n-e.lastTimescaleUnits);if(t(i>=0),e.lastTimescaleUnits+=i,e.lastSample.timescaleUnitsToNextSample=i,!this.isFragmented){let n=r(e.timeToSampleTable);if(t(n),n.sampleCount===1){n.sampleDelta=i;let t=e.timeToSampleTable[e.timeToSampleTable.length-2];t&&t.sampleDelta===i&&(t.sampleCount++,e.timeToSampleTable.pop(),n=t)}else n.sampleDelta!==i&&(n.sampleCount--,e.timeToSampleTable.push(n={sampleCount:1,sampleDelta:i}));n.sampleDelta===s?n.sampleCount++:e.timeToSampleTable.push({sampleCount:1,sampleDelta:s});let a=r(e.compositionTimeOffsetTable);t(a),a.sampleCompositionTimeOffset===o?a.sampleCount++:e.compositionTimeOffsetTable.push({sampleCount:1,sampleCompositionTimeOffset:o})}}else e.lastTimescaleUnits=$(a.decodeTimestamp,e.timescale,!1),this.isFragmented||(e.timeToSampleTable.push({sampleCount:1,sampleDelta:s}),e.compositionTimeOffsetTable.push({sampleCount:1,sampleCompositionTimeOffset:o}));e.lastSample=a}if(e.timestampProcessingQueue.length=0,t(e.lastSample),t(e.lastTimescaleUnits!==null),n!==void 0&&e.lastSample.timescaleUnitsToNextSample===0){t(n.type===`key`);let r=$(n.timestamp,e.timescale,!1),i=Math.round(r-e.lastTimescaleUnits);e.lastSample.timescaleUnitsToNextSample=i}}async registerSample(e,t){t.type===`key`&&this.processTimestamps(e,t),e.timestampProcessingQueue.push(t),this.isFragmented?(e.sampleQueue.push(t),await this.interleaveSamples()):this.fastStart===`reserve`?await this.registerSampleFastStartReserve(e,t):await this.addSampleToTrack(e,t)}async addSampleToTrack(e,n){if(!this.isFragmented&&(e.samples.push(n),this.fastStart===`reserve`)){let n=e.track.metadata.maximumPacketCount;if(t(n!==void 0),e.samples.length>n)throw Error(`Track #${e.track.id} has already reached the maximum packet count (${n}). Either add less packets or increase the maximum packet count.`)}let r=!1;if(!e.currentChunk)r=!0;else{e.currentChunk.startTimestamp=Math.min(e.currentChunk.startTimestamp,n.timestamp);let t=n.timestamp-e.currentChunk.startTimestamp;if(this.isFragmented){let i=this.trackDatas.every(t=>{if(e===t)return n.type===`key`;let r=t.sampleQueue[0];return r?r.type===`key`:t.closed});t>=this.minimumFragmentDuration&&i&&n.timestamp>this.maxWrittenTimestamp&&(r=!0,await this.finalizeFragment())}else r=t>=.5}r&&(e.currentChunk&&await this.finalizeCurrentChunk(e),e.currentChunk={startTimestamp:n.timestamp,samples:[],offset:null,moofOffset:null}),t(e.currentChunk),e.currentChunk.samples.push(n),this.isFragmented&&(this.maxWrittenTimestamp=Math.max(this.maxWrittenTimestamp,n.timestamp),this.maxWrittenEndTimestamp=Math.max(this.maxWrittenEndTimestamp,n.timestamp+n.duration),this.minWrittenTimestamp=Math.min(this.minWrittenTimestamp,n.timestamp))}async finalizeCurrentChunk(e){if(t(!this.isFragmented),t(this.writer),!e.currentChunk)return;e.finalizedChunks.push(e.currentChunk),this.finalizedChunks.push(e.currentChunk);let n=e.currentChunk.samples.length;if(e.type===`audio`&&e.info.requiresPcmTransformation&&(n=e.currentChunk.samples.reduce((t,n)=>t+$(n.duration,e.timescale),0)),(e.compactlyCodedChunkTable.length===0||r(e.compactlyCodedChunkTable).samplesPerChunk!==n)&&e.compactlyCodedChunkTable.push({firstChunk:e.finalizedChunks.length,samplesPerChunk:n}),this.fastStart===`in-memory`){e.currentChunk.offset=0;return}e.currentChunk.offset=this.writer.getPos();for(let n of e.currentChunk.samples)t(n.data),this.writer.write(n.data),n.data=null;await this.writer.flush()}async interleaveSamples(e=!1){if(t(this.isFragmented),!(!e&&!this.allTracksAreKnown()))outer:for(;;){let t=null,n=1/0;for(let r of this.trackDatas){if(!e&&r.sampleQueue.length===0&&!r.closed)break outer;r.sampleQueue.length>0&&r.sampleQueue[0].timestamp<n&&(t=r,n=r.sampleQueue[0].timestamp)}if(!t)break;let r=t.sampleQueue.shift();await this.addSampleToTrack(t,r)}}async finalizeFragment(e=!this.isCmaf){t(this.isFragmented);let n=this.nextFragmentNumber++;if(n===1){let e=this.initBoxWriter??this.boxWriter;t(e),this.format._options.onMoov&&e.writer.startTrackingWrites(),this.ensureOneEnabledTrack();let n=Qn(this);if(e.writeBox(n),this.format._options.onMoov){let{data:t,start:n}=e.writer.stopTrackingWrites();this.format._options.onMoov(t,n)}if(this.isCmaf){t(this.initWriter),await this.initWriter.flush(),await this.initWriter.finalize(),this.writer=await this.output._getRootWriter(!0),this.boxWriter=new Ln(this.writer);let e=this.boxWriter.measureBox(Jn()),n=this.boxWriter.measureBox(Yn(this,0));this.segmentHeaderSize=e+n,this.writer.seek(this.segmentHeaderSize)}}t(this.writer),t(this.boxWriter);let r=this.trackDatas.filter(e=>e.currentChunk),i=Hr(n,r),a=this.writer.getPos(),o=a+this.boxWriter.measureBox(i),s=o+8,c=1/0;for(let e of r){e.currentChunk.offset=s,e.currentChunk.moofOffset=a;for(let t of e.currentChunk.samples)s+=t.size;c=Math.min(c,e.currentChunk.startTimestamp)}let l=s-o,u=l>=2**32;if(u)for(let e of r)e.currentChunk.offset+=8;this.format._options.onMoof&&this.writer.startTrackingWrites();let d=Hr(n,r);if(this.boxWriter.writeBox(d),this.format._options.onMoof){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMoof(e,t,c)}t(this.writer.getPos()===o),this.format._options.onMdat&&this.writer.startTrackingWrites();let f=Xn(u);f.size=l,this.boxWriter.writeBox(f),this.writer.seek(o+(u?16:8));for(let e of r)for(let t of e.currentChunk.samples)this.writer.write(t.data),t.data=null;if(this.format._options.onMdat){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMdat(e,t)}for(let e of r)e.finalizedChunks.push(e.currentChunk),this.finalizedChunks.push(e.currentChunk),e.currentChunk=null;e&&await this.writer.flush()}async registerSampleFastStartReserve(e,n){if(t(this.writer),t(this.boxWriter),this.allTracksAreKnown()){if(!this.mdat){this.ensureOneEnabledTrack();let e=Qn(this),n=this.boxWriter.measureBox(e)+this.computeSampleTableSizeUpperBound()+4096;t(this.ftypSize!==null),this.writer.seek(this.ftypSize+n),this.format._options.onMdat&&this.writer.startTrackingWrites(),this.mdat=Xn(!0),this.boxWriter.writeBox(this.mdat);for(let e of this.trackDatas){for(let t of e.sampleQueue)await this.addSampleToTrack(e,t);e.sampleQueue.length=0}}await this.addSampleToTrack(e,n)}else e.sampleQueue.push(n)}computeSampleTableSizeUpperBound(){t(this.fastStart===`reserve`);let e=0;for(let n of this.trackDatas){let r=n.track.metadata.maximumPacketCount;t(r!==void 0),e+=8*Math.ceil(2/3*r),e+=4*r,e+=8*Math.ceil(2/3*r),e+=12*Math.ceil(2/3*r),e+=4*r,e+=8*r}return e}async onTrackClose(e){let t=await this.mutex.acquire(),n=this.trackDatas.find(t=>t.track===e);n&&(n.closed=!0,n.type===`subtitle`&&e.source._codec===`webvtt`&&await this.processWebVTTCues(n,1/0),this.processTimestamps(n)),this.allTracksAreKnown()&&this.allTracksKnown.resolve(),this.isFragmented&&await this.interleaveSamples(),t()}ensureOneEnabledTrack(){for(let e of[`video`,`audio`,`subtitle`]){let t=this.trackDatas.filter(t=>t.type===e);if(t.length!==0&&!t.some(e=>e.track.metadata.disposition?.default!==!1)){let e=t[0];e.track.metadata.disposition={...e.track.metadata.disposition,default:!0}}}}async finalize(){let e=await this.mutex.acquire();this.allTracksKnown.resolve(),this.ensureOneEnabledTrack();for(let e of this.trackDatas)e.closed=!0,e.type===`subtitle`&&e.track.source._codec===`webvtt`&&await this.processWebVTTCues(e,1/0),this.processTimestamps(e);if(this.isFragmented)await this.interleaveSamples(!0),await this.finalizeFragment(!1);else for(let e of this.trackDatas){await this.finalizeCurrentChunk(e),t(e.startTimestampOffset!==null);for(let t=0;t<e.samples.length;t++){let n=e.samples[t];n.timestamp-=e.startTimestampOffset,n.decodeTimestamp-=e.startTimestampOffset}}if(t(this.writer),t(this.boxWriter),this.fastStart===`in-memory`){this.mdat=Xn(!1);let e;for(let n=0;n<2;n++){let n=Qn(this),r=this.boxWriter.measureBox(n);e=this.boxWriter.measureBox(this.mdat);let i=this.writer.getPos()+r+e;for(let n of this.finalizedChunks){n.offset=i;for(let{data:r}of n.samples)t(r),i+=r.byteLength,e+=r.byteLength}if(i<2**32)break;e>=2**32&&(this.mdat.largeSize=!0)}this.format._options.onMoov&&this.writer.startTrackingWrites();let n=Qn(this);if(this.boxWriter.writeBox(n),this.format._options.onMoov){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMoov(e,t)}this.format._options.onMdat&&this.writer.startTrackingWrites(),this.mdat.size=e,this.boxWriter.writeBox(this.mdat);for(let e of this.finalizedChunks)for(let n of e.samples)t(n.data),this.writer.write(n.data),n.data=null;if(this.format._options.onMdat){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMdat(e,t)}}else if(this.isFragmented)if(this.isCmaf){let e=this.segmentHeaderSize===null?0:this.writer.getPos()-this.segmentHeaderSize;this.writer.seek(0),this.boxWriter.writeBox(Jn()),this.boxWriter.writeBox(Yn(this,e))}else{let e=this.writer.getPos(),t=Yr(this.trackDatas);this.boxWriter.writeBox(t);let n=this.writer.getPos()-e;this.writer.seek(this.writer.getPos()-4),this.boxWriter.writeU32(n)}else{t(this.mdat);let e=this.boxWriter.offsets.get(this.mdat);t(e!==void 0);let n=this.writer.getPos()-e;if(this.mdat.size=n,this.mdat.largeSize=n>=2**32,this.boxWriter.patchBox(this.mdat),this.format._options.onMdat){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMdat(e,t)}let r=Qn(this);if(this.fastStart===`reserve`){t(this.ftypSize!==null),this.writer.seek(this.ftypSize),this.format._options.onMoov&&this.writer.startTrackingWrites(),this.boxWriter.writeBox(r);let e=this.boxWriter.offsets.get(this.mdat)-this.writer.getPos();this.boxWriter.writeBox(Zn(e))}else this.format._options.onMoov&&this.writer.startTrackingWrites(),this.boxWriter.writeBox(r);if(this.format._options.onMoov){let{data:e,start:t}=this.writer.stopTrackingWrites();this.format._options.onMoov(e,t)}}e()}},Ci=class{constructor(e){this.sourceSampleRate=null,this.sourceNumberOfChannels=null,this.startTime=null,this.bufferStartFrame=0,this.maxWrittenFrame=null,this.targetSampleRate=e.targetSampleRate,this.targetNumberOfChannels=e.targetNumberOfChannels,this.onSample=e.onSample,this.bufferSizeInFrames=Math.floor(this.targetSampleRate*5),this.bufferSizeInSamples=this.bufferSizeInFrames*this.targetNumberOfChannels,this.outputBuffer=new Float32Array(this.bufferSizeInSamples)}doChannelMixerSetup(){t(this.sourceNumberOfChannels!==null);let e=this.sourceNumberOfChannels,n=this.targetNumberOfChannels;e===1&&n===2?this.channelMixer=(t,n)=>t[n*e]:e===1&&n===4?this.channelMixer=(t,n,r)=>t[n*e]*+(r<2):e===1&&n===6?this.channelMixer=(t,n,r)=>t[n*e]*+(r===2):e===2&&n===1?this.channelMixer=(t,n)=>{let r=n*e;return .5*(t[r]+t[r+1])}:e===2&&n===4||e===2&&n===6?this.channelMixer=(t,n,r)=>t[n*e+r]*+(r<2):e===4&&n===1?this.channelMixer=(t,n)=>{let r=n*e;return .25*(t[r]+t[r+1]+t[r+2]+t[r+3])}:e===4&&n===2?this.channelMixer=(t,n,r)=>{let i=n*e;return .5*(t[i+r]+t[i+r+2])}:e===4&&n===6?this.channelMixer=(t,n,r)=>{let i=n*e;return r<2?t[i+r]:r===2||r===3?0:t[i+r-2]}:e===6&&n===1?this.channelMixer=(t,n)=>{let r=n*e;return Math.SQRT1_2*(t[r]+t[r+1])+t[r+2]+.5*(t[r+4]+t[r+5])}:e===6&&n===2?this.channelMixer=(t,n,r)=>{let i=n*e;return t[i+r]+Math.SQRT1_2*(t[i+2]+t[i+r+4])}:e===6&&n===4?this.channelMixer=(t,n,r)=>{let i=n*e;return r<2?t[i+r]+Math.SQRT1_2*t[i+2]:t[i+r+2]}:this.channelMixer=(t,n,r)=>r<e?t[n*e+r]:0}ensureTempBufferSize(e){let t=this.tempSourceBuffer.length;for(;t<e;)t*=2;if(t!==this.tempSourceBuffer.length){let e=new Float32Array(t);e.set(this.tempSourceBuffer),this.tempSourceBuffer=e}}async add(e){this.sourceSampleRate===null&&(this.sourceSampleRate=e.sampleRate,this.sourceNumberOfChannels=e.numberOfChannels,this.startTime=e.timestamp,this.tempSourceBuffer=new Float32Array(this.sourceSampleRate*this.sourceNumberOfChannels),this.doChannelMixerSetup()),t(this.startTime!==null);let n=e.numberOfFrames*e.numberOfChannels;this.ensureTempBufferSize(n);let r=e.allocationSize({planeIndex:0,format:`f32`}),i=new Float32Array(this.tempSourceBuffer.buffer,0,r/4);e.copyTo(i,{planeIndex:0,format:`f32`});let a=e.timestamp-this.startTime,o=a+e.duration,s=Math.floor(a*this.targetSampleRate),c=Math.ceil(o*this.targetSampleRate);for(let n=s;n<c;n++){if(n<this.bufferStartFrame)continue;for(;n>=this.bufferStartFrame+this.bufferSizeInFrames;)await this.finalizeCurrentBuffer(),this.bufferStartFrame+=this.bufferSizeInFrames;let r=n-this.bufferStartFrame;t(r<this.bufferSizeInFrames);let o=(n/this.targetSampleRate-a)*this.sourceSampleRate,s=Math.floor(o),c=Math.ceil(o),l=o-s;for(let t=0;t<this.targetNumberOfChannels;t++){let n=0,a=0;s>=0&&s<e.numberOfFrames&&(n=this.channelMixer(i,s,t)),c>=0&&c<e.numberOfFrames&&(a=this.channelMixer(i,c,t));let o=n+l*(a-n),u=r*this.targetNumberOfChannels+t;this.outputBuffer[u]+=o}this.maxWrittenFrame===null?this.maxWrittenFrame=r:this.maxWrittenFrame=Math.max(this.maxWrittenFrame,r)}}async finalizeCurrentBuffer(){if(this.maxWrittenFrame===null)return;t(this.startTime!==null);let e=(this.maxWrittenFrame+1)*this.targetNumberOfChannels,n=new Float32Array(e);n.set(this.outputBuffer.subarray(0,e));let r=new dn({format:`f32`,sampleRate:this.targetSampleRate,numberOfChannels:this.targetNumberOfChannels,timestamp:this.startTime+this.bufferStartFrame/this.targetSampleRate,data:n});await this.onSample(r),this.outputBuffer.fill(0),this.maxWrittenFrame=null}finalize(){return this.finalizeCurrentBuffer()}},wi=class{constructor(){this._connectedTrack=null,this._closingPromise=null,this._closed=!1}_ensureValidAdd(){if(!this._connectedTrack)throw Error(`Source is not connected to an output track.`);if(this._connectedTrack.output.state===`canceled`)throw Error(`Output has been canceled.`);if(this._connectedTrack.output.state===`finalizing`||this._connectedTrack.output.state===`finalized`)throw Error(`Output has been finalized.`);if(this._connectedTrack.output.state===`pending`)throw Error(`Output has not started.`);if(this._closed)throw Error(`Source is closed.`)}async _start(){}async _flushAndClose(e){}close(){if(this._closingPromise)return;let e=this._connectedTrack;if(!e)throw Error(`Cannot call close without connecting the source to an output track.`);if(e.output.state===`pending`)throw Error(`Cannot call close before output has been started.`);this._closingPromise=(async()=>{await this._flushAndClose(!1),this._closed=!0,!(e.output.state===`finalizing`||e.output.state===`finalized`)&&e.output._muxer.onTrackClose(e)})()}async _flushOrWaitForOngoingClose(e){return this._closingPromise??=(async()=>{await this._flushAndClose(e),this._closed=!0})()}},Ti=class extends wi{constructor(e){if(super(),this._connectedTrack=null,!O.includes(e))throw TypeError(`Invalid video codec '${e}'. Must be one of: ${O.join(`, `)}.`);this._codec=e}},Ei=(e,t)=>{if(e.metadata.hasOnlyKeyPackets&&t.type!==`key`)throw Error(`Cannot add non-key packets to a hasOnlyKeyPackets video track.`)},Di=class{setError(e){this.errorSet||=(this.error=e,!0)}constructor(e,t){this.source=e,this.encodingConfig=t,this.ensureEncoderPromise=null,this.encoderInitialized=!1,this.encoder=null,this.muxer=null,this.lastMultipleOfKeyFrameInterval=-1,this.emittedEncoderPackets=0,this.codedWidth=null,this.codedHeight=null,this.outputWidth=null,this.outputHeight=null,this.frameRateLastSample=null,this.frameRateLastTimestamp=null,this.frameRateLastEndTimestamp=null,this.preciseTimings=[],this.customEncoder=null,this.customEncoderCallSerializer=new ae,this.customEncoderQueueSize=0,this.alphaEncoder=null,this.splitter=null,this.splitterCreationFailed=!1,this.alphaFrameQueue=[],this.error=null,this.errorSet=!1,this.lastMuxerPromise=Promise.resolve(),this.closed=!1}async add(e,n,r){let i=e;try{this.checkForEncoderError(),this.source._ensureValidAdd();let a=this.encodingConfig,o=a.sizeChangeBehavior??`deny`,s=!1;if(this.codedWidth!==null&&this.codedHeight!==null){if((e.codedWidth!==this.codedWidth||e.codedHeight!==this.codedHeight)&&(s=!0,o===`deny`))throw Error(`Video sample size must remain constant. Expected ${this.codedWidth}x${this.codedHeight}, got ${e.codedWidth}x${e.codedHeight}. To allow the sample size to change over time, set \`sizeChangeBehavior\` to a value other than 'deny' in the encoding options.`)}else this.codedWidth=e.codedWidth,this.codedHeight=e.codedHeight;if(a.transform?.width!==void 0||a.transform?.height!==void 0||a.transform?.rotate!==void 0||a.transform?.crop!==void 0||a.transform?.force===!0||s&&o!==`passThrough`){let r=a.transform?.width,i=a.transform?.height,c=a.transform?.fit??`fill`;s&&o!==`passThrough`&&(t(this.outputWidth),t(this.outputHeight),t(o!==`deny`),r=this.outputWidth,i=this.outputHeight,c=o);let l=await e.transform({width:r,height:i,roundDimensionsTo:2,crop:a.transform?.crop,rotate:a.transform?.rotate,fit:c,alpha:a.alpha});(this.outputWidth===null||this.outputHeight===null)&&(this.outputWidth=l.displayWidth,this.outputHeight=l.displayHeight),n&&e.close(),e=l,n=!0}else (this.outputWidth===null||this.outputHeight===null)&&(this.outputWidth=e.codedWidth,this.outputHeight=e.codedHeight);let c=a.transform?.frameRate;if(c!==void 0){let t=e.timestamp+e.duration,a=S(e.timestamp,c);if(this.frameRateLastSample!==null)if(a<=this.frameRateLastTimestamp){this.frameRateLastSample.close(),this.frameRateLastSample=e.clone(),this.frameRateLastEndTimestamp=t;return}else await this.padFrameRate(a,r);e===i&&(e=e.clone(),n=!0),e.setTimestamp(a),e.setDuration(1/c),this.frameRateLastSample?.close(),this.frameRateLastSample=e.clone(),this.frameRateLastTimestamp=a,this.frameRateLastEndTimestamp=t}await this.processAndEncode(e,r)}finally{n&&e.close()}}async processAndEncode(e,n){let r=this.encodingConfig,i;if(r.transform?.process){let t=r.transform.process(e);if(t instanceof Promise&&(t=await t),t===null)return;Array.isArray(t)||(t=[t]),i=t.map(t=>t instanceof Kt?t:typeof VideoFrame<`u`&&t instanceof VideoFrame?new Kt(t):new Kt(t,{timestamp:e.timestamp,duration:e.duration}))}else i=[e];try{for(let e of i){if(this.encoderInitialized||(this.ensureEncoderPromise||this.ensureEncoder(e),this.encoderInitialized||await this.ensureEncoderPromise),t(this.encoderInitialized),this.closed)break;let r=this.encodingConfig.keyFrameInterval??2,i=Math.floor(e.timestamp/r),a={...e.encodeOptions,...n},o={...a,keyFrame:a.keyFrame===void 0?r===0||i!==this.lastMultipleOfKeyFrameInterval:a.keyFrame};if(this.lastMultipleOfKeyFrameInterval=i,this.encodingConfig.onEncodedSample?.(e),this.customEncoder){this.customEncoderQueueSize++;let t=e.clone(),n=this.customEncoderCallSerializer.call(()=>this.customEncoder.encode(t,o)).catch(e=>this.setError(e)).finally(()=>{this.customEncoderQueueSize--,t.close()});this.customEncoderQueueSize>=4&&await n}else{t(this.encoder);let n=e.toVideoFrame(),r=g(this.preciseTimings,n.timestamp,e=>e.microsecondTimestamp),i=r===-1?null:this.preciseTimings[r];if(i&&i.microsecondTimestamp===n.timestamp?(i.timestamp!==e.timestamp&&(i.timestampIsValid=!1),i.duration!==e.duration&&(i.durationIsValid=!1)):(this.preciseTimings.splice(r+1,0,{microsecondTimestamp:n.timestamp,timestamp:e.timestamp,duration:e.duration,timestampIsValid:!0,durationIsValid:!0}),this.preciseTimings.length>128&&this.preciseTimings.shift()),!this.alphaEncoder)this.encoder.encode(n,o),n.close();else if(n.format&&!n.format.includes(`A`)||this.splitterCreationFailed)this.alphaFrameQueue.push(null),this.encoder.encode(n,o),n.close();else{this.splitter||=new ki;let{colorFrame:e,alphaFrame:t}=await this.splitter.split(n);this.alphaFrameQueue.push(t),this.encoder.encode(e,o),e.close()}this.encoder.encodeQueueSize>=4&&await new Promise(e=>this.encoder.addEventListener(`dequeue`,e,{once:!0}))}await this.lastMuxerPromise}}finally{for(let t of i)t!==e&&t.close()}}async padFrameRate(e,n){let r=this.encodingConfig.transform.frameRate;t(this.frameRateLastSample);let i=Math.round((e-this.frameRateLastTimestamp)*r);for(let e=1;e<i;e++){let t=this.frameRateLastSample.clone();t.setTimestamp(this.frameRateLastTimestamp+e/r),t.setDuration(1/r),await this.processAndEncode(t,n),t.close()}}ensureEncoder(e){this.ensureEncoderPromise=(async()=>{let n=xn({...this.encodingConfig,width:e.codedWidth,height:e.codedHeight,squarePixelWidth:e.squarePixelWidth,squarePixelHeight:e.squarePixelHeight,framerate:this.source._connectedTrack?.metadata.frameRate});this.encodingConfig.onEncoderConfig?.(n);let r=Dn.find(e=>e.supports(this.encodingConfig.codec,n));if(r)this.customEncoder=new r,this.customEncoder.codec=this.encodingConfig.codec,this.customEncoder.config=n,this.customEncoder.onPacket=(e,t)=>{if(!(e instanceof It))throw TypeError(`The first argument passed to onPacket must be an EncodedPacket.`);if(t!==void 0&&(!t||typeof t!=`object`))throw TypeError(`The second argument passed to onPacket must be an object or undefined.`);Ei(this.source._connectedTrack,e),this.encodingConfig.onEncodedPacket?.(e,t),this.lastMuxerPromise=this.muxer.addEncodedVideoPacket(this.source._connectedTrack,e,t).catch(e=>{this.setError(e)})},this.customEncoder.onError=e=>{this.setError(e)},await this.customEncoder.init();else{if(typeof VideoEncoder>`u`)throw Error(`VideoEncoder is not supported by this browser.`);if(n.alpha=`discard`,this.encodingConfig.alpha===`keep`&&(n.latencyMode=`quality`),(n.width%2==1||n.height%2==1)&&(this.encodingConfig.codec===`avc`||this.encodingConfig.codec===`hevc`))throw Error(`The dimensions ${n.width}x${n.height} are not supported for codec '${this.encodingConfig.codec}'; both width and height must be even numbers. Make sure to round your dimensions to the nearest even number.`);if(!(await VideoEncoder.isConfigSupported(n)).supported)throw Error(`This specific encoder configuration (${n.codec}, ${n.bitrate} bps, ${n.width}x${n.height}, hardware acceleration: ${n.hardwareAcceleration??`no-preference`}) is not supported by this browser. Consider using another codec or changing your video parameters.`);let e=[],r=[],i=0,a=0,o=(e,t,n)=>{let r={};if(t){let e=new Uint8Array(t.byteLength);t.copyTo(e),r.alpha=e}let i=It.fromEncodedChunk(e,r),a=g(this.preciseTimings,e.timestamp,e=>e.microsecondTimestamp),o=a===-1?null:this.preciseTimings[a],s=null;this.emittedEncoderPackets===0&&i.type===`delta`&&n?.decoderConfig&&(s=At(this.encodingConfig.codec,n.decoderConfig,i.data)),(o&&o.microsecondTimestamp===e.timestamp||s!==null)&&(i=i.clone({timestamp:o?.timestampIsValid?o.timestamp:void 0,duration:o?.durationIsValid?o.duration:void 0,type:s??void 0})),Ei(this.source._connectedTrack,i),this.encodingConfig.onEncodedPacket?.(i,n),this.lastMuxerPromise=this.muxer.addEncodedVideoPacket(this.source._connectedTrack,i,n).catch(e=>{this.setError(e)}),this.emittedEncoderPackets++},s=Error(`Encoding error`).stack;if(this.encoder=new VideoEncoder({output:(n,s)=>{if(!this.alphaEncoder){o(n,null,s);return}let c=this.alphaFrameQueue.shift();t(c!==void 0),c?(this.alphaEncoder.encode(c,{keyFrame:n.type===`key`}),a++,c.close(),e.push({chunk:n,meta:s})):a===0?o(n,null,s):(r.push(i+a),e.push({chunk:n,meta:s}))},error:e=>{e.stack=s,this.setError(e)}}),this.encoder.configure(n),this.encodingConfig.alpha===`keep`){let s=Error(`Encoding error`).stack;this.alphaEncoder=new VideoEncoder({output:(n,s)=>{a--;let c=e.shift();for(t(c!==void 0),o(c.chunk,n,c.meta),i++;r.length>0&&r[0]===i;){r.shift();let n=e.shift();t(n!==void 0),o(n.chunk,null,n.meta)}},error:e=>{e.stack=s,this.setError(e)}}),this.alphaEncoder.configure(n)}}t(this.source._connectedTrack),this.muxer=this.source._connectedTrack.output._muxer,this.encoderInitialized=!0})()}async flushAndClose(e){if(e||this.checkForEncoderError(),!e&&this.frameRateLastSample){let e=this.encodingConfig.transform.frameRate,t=S(this.frameRateLastEndTimestamp,e);await this.padFrameRate(t)}this.closed=!0,this.frameRateLastSample?.close(),this.frameRateLastSample=null,this.customEncoder?(e||this.customEncoderCallSerializer.call(()=>this.customEncoder.flush()),await this.customEncoderCallSerializer.call(()=>this.customEncoder.close())):this.encoder&&(e||(await this.encoder.flush(),await this.alphaEncoder?.flush(),await ye(25)),this.encoder.state!==`closed`&&this.encoder.close(),this.alphaEncoder&&this.alphaEncoder.state!==`closed`&&this.alphaEncoder.close(),this.alphaFrameQueue.forEach(e=>e?.close()),this.splitter?.close()),e||this.checkForEncoderError()}getQueueSize(){return this.customEncoder?this.customEncoderQueueSize:this.encoder?.encodeQueueSize??0}checkForEncoderError(){if(this.errorSet)throw this.error}},Oi=null,ki=class{constructor(){this.worker=null,this.pendingRequests=new Map,this.nextRequestId=0}split(e){if(!this.worker){if(!Oi){let e=new Blob([`(${Ai.toString()})()`],{type:`application/javascript`});Oi=URL.createObjectURL(e)}this.worker=new Worker(Oi),this.worker.addEventListener(`message`,e=>{let t=e.data,n=this.pendingRequests.get(t.id);n&&(this.pendingRequests.delete(t.id),`error`in t?n.reject(Error(t.error)):n.resolve({colorFrame:t.colorFrame,alphaFrame:t.alphaFrame}))}),this.worker.addEventListener(`error`,e=>{let t=Error(e.message||`Color/alpha splitter worker error.`);for(let e of this.pendingRequests.values())e.reject(t);this.pendingRequests.clear()})}let t=this.nextRequestId++,n=_();return this.pendingRequests.set(t,n),this.worker.postMessage({id:t,sourceFrame:e},{transfer:[e]}),n.promise}close(){this.worker?.terminate(),this.worker=null;let e=Error(`Color/alpha splitter closed.`);for(let t of this.pendingRequests.values())t.reject(e);this.pendingRequests.clear()}},Ai=()=>{let e=null,t=Promise.resolve();self.addEventListener(`message`,e=>{let{id:r,sourceFrame:i}=e.data;t=t.then(async()=>{try{let{colorFrame:e,alphaFrame:t}=await n(i);self.postMessage({id:r,colorFrame:e,alphaFrame:t},{transfer:[e,t]})}catch(e){self.postMessage({id:r,error:e.message})}finally{i.close()}})});let n=async t=>{let n=t.format;if(!n)throw Error(`CPU color/alpha splitting requires a known VideoFrame format.`);let a=t.allocationSize();if((!e||e.byteLength!==a)&&(e=new Uint8Array(a)),await t.copyTo(e),n===`RGBA`||n===`BGRA`)return r(e,n,t);if(n===`I420A`||n===`I420AP10`||n===`I420AP12`||n===`I422A`||n===`I422AP10`||n===`I422AP12`||n===`I444A`||n===`I444AP10`||n===`I444AP12`)return i(e,n,t);throw Error(`CPU color/alpha splitting does not support format '${n}'.`)},r=(e,t,n)=>{let r=n.visibleRect?.width??n.codedWidth,i=n.visibleRect?.height??n.codedHeight,a=r*i,o=a+Math.ceil(r/2)*Math.ceil(i/2)*2,s=new Uint8Array(o);for(let t=0,n=3;t<a;t++,n+=4)s[t]=e[n];s.fill(128,a);let c=new VideoFrame(e,{format:t===`RGBA`?`RGBX`:`BGRX`,codedWidth:r,codedHeight:i,timestamp:n.timestamp,duration:n.duration??void 0}),l={format:`I420`,codedWidth:r,codedHeight:i,timestamp:n.timestamp,duration:n.duration??void 0,transfer:[s.buffer]};return{colorFrame:c,alphaFrame:new VideoFrame(s,l)}},i=(e,t,n)=>{let r=n.visibleRect?.width??n.codedWidth,i=n.visibleRect?.height??n.codedHeight,a=t.includes(`P10`),o=t.includes(`P12`),s=a||o?2:1,c,l;t.startsWith(`I420`)?(c=Math.ceil(r/2),l=Math.ceil(i/2)):t.startsWith(`I422`)?(c=Math.ceil(r/2),l=i):(c=r,l=i);let u=r*i,d=c*l,f=u*s,p=d*s,m=u*s,h=f+p*2,g=t.replace(`A`,``),_=Math.ceil(r/2)*Math.ceil(i/2),v=m+_*s*2,y=new Uint8Array(v),b=h;y.set(e.subarray(b,b+m),0);let ee=m,x=a?512:o?2048:128;s===1?y.fill(x,ee):new Uint16Array(y.buffer,ee,2*_).fill(x);let te=a?`I420P10`:o?`I420P12`:`I420`,ne=new VideoFrame(e.subarray(0,h),{format:g,codedWidth:r,codedHeight:i,timestamp:n.timestamp,duration:n.duration??void 0}),S={format:te,codedWidth:r,codedHeight:i,timestamp:n.timestamp,duration:n.duration??void 0,transfer:[y.buffer]};return{colorFrame:ne,alphaFrame:new VideoFrame(y,S)}}},ji=class extends Ti{constructor(e,t){if(!(typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement)&&!(typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas))throw TypeError(`canvas must be an HTMLCanvasElement or OffscreenCanvas.`);yn(t),super(t.codec),this._encoder=new Di(this,t),this._canvas=e}add(e,t=0,n){if(!Number.isFinite(e)||e<0)throw TypeError(`timestamp must be a non-negative number.`);if(!Number.isFinite(t)||t<0)throw TypeError(`duration must be a non-negative number.`);let r=new Kt(this._canvas,{timestamp:e,duration:t});return this._encoder.add(r,!0,n)}_flushAndClose(e){return this._encoder.flushAndClose(e)}},Mi=class extends wi{constructor(e){if(super(),this._connectedTrack=null,!Me.includes(e))throw TypeError(`Invalid audio codec '${e}'. Must be one of: ${Me.join(`, `)}.`);this._codec=e}},Ni=class{setError(e){this.errorSet||=(this.error=e,!0)}constructor(e,t){this.source=e,this.encodingConfig=t,this.ensureEncoderPromise=null,this.encoderInitialized=!1,this.encoder=null,this.muxer=null,this.lastNumberOfChannels=null,this.lastSampleRate=null,this.isPcmEncoder=!1,this.outputSampleSize=null,this.writeOutputValue=null,this.customEncoder=null,this.customEncoderCallSerializer=new ae,this.customEncoderQueueSize=0,this.lastEndSampleIndex=null,this.resampler=null,this.error=null,this.errorSet=!1,this.lastMuxerPromise=Promise.resolve(),this.closed=!1}async add(e,t){try{if(this.checkForEncoderError(),this.source._ensureValidAdd(),this.lastNumberOfChannels!==null&&this.lastSampleRate!==null){if(e.numberOfChannels!==this.lastNumberOfChannels||e.sampleRate!==this.lastSampleRate)throw Error(`Audio parameters must remain constant. Expected ${this.lastNumberOfChannels} channels at ${this.lastSampleRate} Hz, got ${e.numberOfChannels} channels at ${e.sampleRate} Hz.`)}else this.lastNumberOfChannels=e.numberOfChannels,this.lastSampleRate=e.sampleRate;let n=this.encodingConfig;n.transform?.numberOfChannels!==void 0||n.transform?.sampleRate!==void 0?(this.resampler||=new Ci({targetNumberOfChannels:n.transform.numberOfChannels??e.numberOfChannels,targetSampleRate:n.transform.sampleRate??e.sampleRate,onSample:async e=>{await this.processAndEncode(e,!0)}}),await this.resampler.add(e)):await this.processAndEncode(e,t)}finally{t&&e.close()}}async processAndEncode(e,t){let n=this.encodingConfig;if(n.transform?.sampleFormat!==void 0&&hn(e.format)!==n.transform.sampleFormat){let r=_n(e,n.transform.sampleFormat);t&&e.close(),e=r,t=!0}if(n.transform?.process){let r=n.transform.process(e);if(r instanceof Promise&&(r=await r),r===null)return;Array.isArray(r)||(r=[r]);for(let e of r){if(!(e instanceof dn))throw TypeError(`The audio process function must return an AudioSample, null, or an array of AudioSamples.`);await this.encodeSample(e,!0)}t&&e.close()}else await this.encodeSample(e,t)}async encodeSample(e,n){try{if(this.encoderInitialized||(this.ensureEncoderPromise||this.ensureEncoder(e),this.encoderInitialized||await this.ensureEncoderPromise),t(this.encoderInitialized),this.closed)return;{let t=Math.round(e.timestamp*e.sampleRate),n=Math.round((e.timestamp+e.duration)*e.sampleRate);if(this.lastEndSampleIndex===null)this.lastEndSampleIndex=n;else{let n=t-this.lastEndSampleIndex;if(n>=64){let t=new dn({data:new Float32Array(n*e.numberOfChannels),format:`f32-planar`,sampleRate:e.sampleRate,numberOfChannels:e.numberOfChannels,numberOfFrames:n,timestamp:this.lastEndSampleIndex/e.sampleRate});await this.encodeSample(t,!0)}this.lastEndSampleIndex+=e.numberOfFrames}}if(this.encodingConfig.onEncodedSample?.(e),this.customEncoder){this.customEncoderQueueSize++;let t=e.clone(),n=this.customEncoderCallSerializer.call(()=>this.customEncoder.encode(t)).catch(e=>this.setError(e)).finally(()=>{this.customEncoderQueueSize--,t.close()});this.customEncoderQueueSize>=4&&await n,await this.lastMuxerPromise}else if(this.isPcmEncoder)await this.doPcmEncoding(e,n);else{t(this.encoder);let r=e.toAudioData();this.encoder.encode(r),r.close(),n&&e.close(),this.encoder.encodeQueueSize>=4&&await new Promise(e=>this.encoder.addEventListener(`dequeue`,e,{once:!0})),await this.lastMuxerPromise}}finally{n&&e.close()}}async doPcmEncoding(e,n){t(this.outputSampleSize),t(this.writeOutputValue);let{numberOfChannels:r,numberOfFrames:i,sampleRate:a,timestamp:o}=e,s=2048,c=[];for(let t=0;t<i;t+=s){let n=Math.min(s,e.numberOfFrames-t),i=n*r*this.outputSampleSize,a=new ArrayBuffer(i),o=new DataView(a);c.push({frameCount:n,view:o})}let l=e.allocationSize({planeIndex:0,format:`f32-planar`}),u=new Float32Array(l/Float32Array.BYTES_PER_ELEMENT);for(let t=0;t<r;t++){e.copyTo(u,{planeIndex:t,format:`f32-planar`});for(let e=0;e<c.length;e++){let{frameCount:n,view:i}=c[e];for(let a=0;a<n;a++)this.writeOutputValue(i,(a*r+t)*this.outputSampleSize,u[e*s+a])}}n&&e.close();let d={decoderConfig:{codec:this.encodingConfig.codec,numberOfChannels:r,sampleRate:a}};for(let e=0;e<c.length;e++){let{frameCount:t,view:n}=c[e],r=n.buffer,i=e*s,l=new It(new Uint8Array(r),`key`,o+i/a,t/a);this.encodingConfig.onEncodedPacket?.(l,d),await this.muxer.addEncodedAudioPacket(this.source._connectedTrack,l,d)}}ensureEncoder(e){this.ensureEncoderPromise=(async()=>{let{numberOfChannels:n,sampleRate:i}=e,a=wn({numberOfChannels:n,sampleRate:i,...this.encodingConfig});this.encodingConfig.onEncoderConfig?.(a);let o=On.find(e=>e.supports(this.encodingConfig.codec,a));if(o)this.customEncoder=new o,this.customEncoder.codec=this.encodingConfig.codec,this.customEncoder.config=a,this.customEncoder.onPacket=(e,t)=>{if(!(e instanceof It))throw TypeError(`The first argument passed to onPacket must be an EncodedPacket.`);if(t!==void 0&&(!t||typeof t!=`object`))throw TypeError(`The second argument passed to onPacket must be an object or undefined.`);this.encodingConfig.onEncodedPacket?.(e,t),this.lastMuxerPromise=this.muxer.addEncodedAudioPacket(this.source._connectedTrack,e,t).catch(e=>{this.setError(e)})},this.customEncoder.onError=e=>{this.setError(e)},await this.customEncoder.init();else if(k.includes(this.encodingConfig.codec))this.initPcmEncoder();else{if(typeof AudioEncoder>`u`)throw Error(`AudioEncoder is not supported by this browser.`);if(!(await AudioEncoder.isConfigSupported(a)).supported)throw Error(`This specific encoder configuration (${a.codec}, ${a.bitrate} bps, ${a.numberOfChannels} channels, ${a.sampleRate} Hz) is not supported by this browser. Consider using another codec or changing your audio parameters.`);let e=Error(`Encoding error`).stack;this.encoder=new AudioEncoder({output:(e,t)=>{if(this.encodingConfig.codec===`aac`&&t?.decoderConfig){let e=!1;if(e=!t.decoderConfig.description||t.decoderConfig.description.byteLength<2?!0:ke(s(t.decoderConfig.description)).objectType===0,e){let e=Number(r(a.codec.split(`.`)));t.decoderConfig.description=Ae({objectType:e,numberOfChannels:t.decoderConfig.numberOfChannels,sampleRate:t.decoderConfig.sampleRate})}}let n=It.fromEncodedChunk(e);n=n.clone({timestamp:ne(n.timestamp,a.sampleRate),duration:e.duration==null?void 0:ne(n.duration,a.sampleRate)}),this.encodingConfig.onEncodedPacket?.(n,t),this.lastMuxerPromise=this.muxer.addEncodedAudioPacket(this.source._connectedTrack,n,t).catch(e=>{this.setError(e)})},error:t=>{t.stack=e,this.setError(t)}}),this.encoder.configure(a)}t(this.source._connectedTrack),this.muxer=this.source._connectedTrack.output._muxer,this.encoderInitialized=!0})()}initPcmEncoder(){this.isPcmEncoder=!0;let e=this.encodingConfig.codec,{dataType:n,sampleSize:r,littleEndian:i}=A(e);switch(this.outputSampleSize=r,r){case 1:n===`unsigned`?this.writeOutputValue=(e,t,n)=>e.setUint8(t,x((n+1)*127.5,0,255)):n===`signed`?this.writeOutputValue=(e,t,n)=>{e.setInt8(t,x(Math.round(n*128),-128,127))}:n===`ulaw`?this.writeOutputValue=(e,t,n)=>{let r=x(Math.floor(n*32767),-32768,32767);e.setUint8(t,kn(r))}:n===`alaw`?this.writeOutputValue=(e,t,n)=>{let r=x(Math.floor(n*32767),-32768,32767);e.setUint8(t,An(r))}:t(!1);break;case 2:n===`unsigned`?this.writeOutputValue=(e,t,n)=>e.setUint16(t,x((n+1)*32767.5,0,65535),i):n===`signed`?this.writeOutputValue=(e,t,n)=>e.setInt16(t,x(Math.round(n*32767),-32768,32767),i):t(!1);break;case 3:n===`unsigned`?this.writeOutputValue=(e,t,n)=>b(e,t,x((n+1)*8388607.5,0,16777215),i):n===`signed`?this.writeOutputValue=(e,t,n)=>ee(e,t,x(Math.round(n*8388607),-8388608,8388607),i):t(!1);break;case 4:n===`unsigned`?this.writeOutputValue=(e,t,n)=>e.setUint32(t,x((n+1)*2147483647.5,0,4294967295),i):n===`signed`?this.writeOutputValue=(e,t,n)=>e.setInt32(t,x(Math.round(n*2147483647),-2147483648,2147483647),i):n===`float`?this.writeOutputValue=(e,t,n)=>e.setFloat32(t,n,i):t(!1);break;case 8:n===`float`?this.writeOutputValue=(e,t,n)=>e.setFloat64(t,n,i):t(!1);break;default:v(r),t(!1)}}async flushAndClose(e){e||this.checkForEncoderError(),!e&&this.resampler&&await this.resampler.finalize(),this.resampler=null,this.closed=!0,this.customEncoder?(e||this.customEncoderCallSerializer.call(()=>this.customEncoder.flush()),await this.customEncoderCallSerializer.call(()=>this.customEncoder.close())):this.encoder&&(e||await this.encoder.flush(),this.encoder.state!==`closed`&&this.encoder.close()),e||this.checkForEncoderError()}getQueueSize(){return this.customEncoder?this.customEncoderQueueSize:this.isPcmEncoder?0:this.encoder?.encodeQueueSize??0}checkForEncoderError(){if(this.errorSet)throw this.error}},Pi=class extends Mi{get errorPromise(){return this._errorPromiseAccessed=!0,this._promiseWithResolvers.promise}get paused(){return this._paused}constructor(e,t,n={}){if(!(e instanceof MediaStreamTrack)||e.kind!==`audio`)throw TypeError(`track must be an audio MediaStreamTrack.`);if(Sn(t),typeof n!=`object`||!n)throw TypeError(`options must be an object.`);if(n.timestampBase!==void 0&&n.timestampBase!==`synced-zero`&&n.timestampBase!==`zero`&&n.timestampBase!==`unix`)throw TypeError(`options.timestampBase, when provided, must be one of 'synced-zero', 'zero', or 'unix'.`);super(t.codec),this._abortController=null,this._audioContext=null,this._scriptProcessorNode=null,this._promiseWithResolvers=_(),this._errorPromiseAccessed=!1,this._paused=!1,this._options=n,this._encoder=new Ni(this,t),this._track=e}async _start(){this._errorPromiseAccessed||E._warn("Make sure not to ignore the `errorPromise` field on MediaStreamAudioTrackSource, so that any internal errors get bubbled up properly."),this._abortController=new AbortController;let e=null,t=!1,n=null,r=0,i=i=>{if(t){i.close();return}let a=i.timestamp;if(this._paused){if(e!==null){if(n!==null&&this._options.timestampBase!==`unix`){let e=a-n;r-=e}n=a}i.close();return}if(e===null){e=i.timestamp;let t,n=this._options.timestampBase??`synced-zero`;if(n===`unix`)t=Date.now()/1e3;else if(n===`zero`)t=0;else{let e=this._connectedTrack.output;e._firstMediaStreamTimestamp===null?(e._firstMediaStreamTimestamp=performance.now()/1e3,t=0):t=performance.now()/1e3-e._firstMediaStreamTimestamp}r=t-e}if(n=a,this._encoder.getQueueSize()>=8){i.close();return}i.setTimestamp(a+r),this._encoder.add(i,!0).catch(e=>{t=!0,this._abortController?.abort(),this._promiseWithResolvers.reject(e),this._audioContext?.suspend()})};if(typeof MediaStreamTrackProcessor<`u`){let e=new MediaStreamTrackProcessor({track:this._track}),t=new WritableStream({write:e=>i(new dn(e))});e.readable.pipeTo(t,{signal:this._abortController.signal}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||this._promiseWithResolvers.reject(e)})}else{let e=window.AudioContext||window.webkitAudioContext;this._audioContext=new e({sampleRate:this._track.getSettings().sampleRate});let t=this._audioContext.createMediaStreamSource(new MediaStream([this._track]));this._scriptProcessorNode=this._audioContext.createScriptProcessor(4096),this._audioContext.state===`suspended`&&await this._audioContext.resume(),t.connect(this._scriptProcessorNode),this._scriptProcessorNode.connect(this._audioContext.destination);let n=0;this._scriptProcessorNode.onaudioprocess=e=>{let t=dn._fromAudioBuffer(e.inputBuffer,n);n+=e.inputBuffer.duration;for(let e of t)i(e)}}}pause(){this._paused=!0}resume(){this._paused=!1}async _flushAndClose(e){this._abortController&&=(this._abortController.abort(),null),this._audioContext&&(t(this._scriptProcessorNode),this._scriptProcessorNode.disconnect(),await this._audioContext.suspend()),await this._encoder.flushAndClose(e)}},Fi=class extends wi{constructor(e){if(super(),this._connectedTrack=null,!Ne.includes(e))throw TypeError(`Invalid subtitle codec '${e}'. Must be one of: ${Ne.join(`, `)}.`);this._codec=e}},Ii=class{getSupportedVideoCodecs(){return this.getSupportedCodecs().filter(e=>O.includes(e))}getSupportedAudioCodecs(){return this.getSupportedCodecs().filter(e=>Me.includes(e))}getSupportedSubtitleCodecs(){return this.getSupportedCodecs().filter(e=>Ne.includes(e))}_codecUnsupportedHint(e){return``}},Li=class extends Ii{constructor(e={}){if(!e||typeof e!=`object`)throw TypeError(`options must be an object.`);if(e.fastStart!==void 0&&![!1,`in-memory`,`reserve`,`fragmented`].includes(e.fastStart))throw TypeError(`options.fastStart, when provided, must be false, 'in-memory', 'reserve', or 'fragmented'.`);if(e.minimumFragmentDuration!==void 0&&(!Number.isFinite(e.minimumFragmentDuration)||e.minimumFragmentDuration<0))throw TypeError(`options.minimumFragmentDuration, when provided, must be a non-negative number.`);if(e.onFtyp!==void 0&&typeof e.onFtyp!=`function`)throw TypeError(`options.onFtyp, when provided, must be a function.`);if(e.onMoov!==void 0&&typeof e.onMoov!=`function`)throw TypeError(`options.onMoov, when provided, must be a function.`);if(e.onMdat!==void 0&&typeof e.onMdat!=`function`)throw TypeError(`options.onMdat, when provided, must be a function.`);if(e.onMoof!==void 0&&typeof e.onMoof!=`function`)throw TypeError(`options.onMoof, when provided, must be a function.`);if(e.metadataFormat!==void 0&&![`mdir`,`mdta`,`udta`,`auto`].includes(e.metadataFormat))throw TypeError(`options.metadataFormat, when provided, must be either 'auto', 'mdir', 'mdta', or 'udta'.`);super(),this._options=e}getSupportedTrackCounts(){let e=2**32-1;return{video:{min:0,max:e},audio:{min:0,max:e},subtitle:{min:0,max:e},total:{min:1,max:e}}}get supportsVideoRotationMetadata(){return!0}get supportsTimestampedMediaData(){return!0}_createMuxer(e){return new Si(e,this)}},Ri=class extends Li{constructor(e){super(e)}get _name(){return`MP4`}get fileExtension(){return`.mp4`}get mimeType(){return`video/mp4`}getSupportedCodecs(){return[...O,...je,`pcm-s16`,`pcm-s16be`,`pcm-s24`,`pcm-s24be`,`pcm-s32`,`pcm-s32be`,`pcm-f32`,`pcm-f32be`,`pcm-f64`,`pcm-f64be`,...Ne]}_codecUnsupportedHint(e){return new Bi().getSupportedCodecs().includes(e)?` Switching to MOV will grant support for this codec.`:``}},zi=class extends Li{constructor(e){super(e)}get _name(){return`CMAF`}get fileExtension(){return`.m4s`}get mimeType(){return`video/mp4`}getSupportedCodecs(){return[...O,...je,`pcm-s16`,`pcm-s16be`,`pcm-s24`,`pcm-s24be`,`pcm-s32`,`pcm-s32be`,`pcm-f32`,`pcm-f32be`,`pcm-f64`,`pcm-f64be`,...Ne]}},Bi=class extends Li{constructor(e){super(e)}get _name(){return`MOV`}get fileExtension(){return`.mov`}get mimeType(){return`video/quicktime`}getSupportedCodecs(){return[...O,...Me]}_codecUnsupportedHint(e){return new Ri().getSupportedCodecs().includes(e)?` Switching to MP4 will grant support for this codec.`:``}},Vi=[`video`,`audio`,`subtitle`],Hi=class e{constructor(e,t,n,r,i){this.id=e,this.output=t,this.type=n,this.source=r,this.metadata=i}isVideoTrack(){return this.type===`video`}isAudioTrack(){return this.type===`audio`}isSubtitleTrack(){return this.type===`subtitle`}canBePairedWith(t){if(!(t instanceof e))throw TypeError(`other must be an OutputTrack.`);if(this===t)return!1;let n=be(this.metadata.group),r=be(t.metadata.group);for(let e of n)if(this.type!==t.type&&r.some(t=>e===t)||r.some(t=>e._pairedGroups.has(t)))return!0;return!1}},Ui=class extends Hi{constructor(e,t,n,r){super(e,t,`video`,n,r)}},Wi=class extends Hi{constructor(e,t,n,r){super(e,t,`audio`,n,r)}},Gi=class extends Hi{constructor(e,t,n,r){super(e,t,`subtitle`,n,r)}},Ki=class e{constructor(){this._pairedGroups=new Set}pairWith(t){if(!(t instanceof e))throw TypeError(`other must be an OutputTrackGroup.`);if(this===t)throw TypeError(`Cannot pair a group with itself.`);this._pairedGroups.add(t),t._pairedGroups.add(this)}},qi=e=>{if(!e||typeof e!=`object`)throw TypeError(`metadata must be an object.`);if(e.languageCode!==void 0&&!re(e.languageCode))throw TypeError(`metadata.languageCode, when provided, must be a three-letter, ISO 639-2/T language code.`);if(e.name!==void 0&&typeof e.name!=`string`)throw TypeError(`metadata.name, when provided, must be a string.`);if(e.disposition!==void 0&&Ee(e.disposition),e.maximumPacketCount!==void 0&&(!Number.isInteger(e.maximumPacketCount)||e.maximumPacketCount<0))throw TypeError(`metadata.maximumPacketCount, when provided, must be a non-negative integer.`);if(e.group!==void 0&&!(e.group instanceof Ki)&&(!Array.isArray(e.group)||e.group.some(e=>!(e instanceof Ki))))throw TypeError(`metadata.group, when provided, must be an OutputTrackGroup instance or an array of OutputTrackGroup instances.`)},Ji=class extends xe{get target(){let e=`Output.target cannot be used when using PathedTarget with an async callback. Use the 'target' event instead.`;if(this._rootTargetPromise)throw TypeError(e);let t=this._getRootTarget();if(t instanceof Promise)throw TypeError(e);return t}constructor(e){if(super(),this.state=`pending`,this.defaultTrackGroup=new Ki,this._onFinalize=null,this._unfinalizedTargets=new Set,this._rootWriterPromise=null,this._tracks=[],this._startPromise=null,this._cancelPromise=null,this._finalizePromise=null,this._mutex=new h,this._metadataTags={},this._rootTarget=null,this._rootTargetPromise=null,this._firstMediaStreamTimestamp=null,!e||typeof e!=`object`)throw TypeError(`options must be an object.`);if(!(e.format instanceof Ii))throw TypeError(`options.format must be an OutputFormat.`);if(!(e.target instanceof Z||e.target instanceof yi))throw TypeError(`options.target must be a Target or a PathedTarget.`);if(e.target instanceof Z&&this._rememberTarget(e.target),e.initTarget!==void 0&&!(e.initTarget instanceof Z)&&typeof e.initTarget!=`function`)throw Error(`options.initTarget, when provided, must be a Target or a function that returns or resolves to a Target.`);if(e.onFinalize!==void 0&&typeof e.onFinalize!=`function`)throw TypeError(`options.onFinalize, when provided, must be a function.`);this.format=e.format,this._target=e.target,this._onFinalize=e.onFinalize??null,this._initTarget=e.initTarget??null,this._initTarget instanceof Z&&this._rememberTarget(this._initTarget),this._muxer=e.format._createMuxer(this)}_getTargetValidated(e){t(this._target instanceof yi);let n=this._target.getTarget(e),r=e=>{if(!(e instanceof Z))throw TypeError(`getTarget must return a Target.`);return e};return n instanceof Promise?n.then(r):r(n)}async _getTarget(e){t(this._target instanceof yi);let n=await this._getTargetValidated(e);return this._emit(`target`,{target:n,request:e,isRoot:e.isRoot}),this.state===`canceled`?await n._close():this._rememberTarget(n),n}_rememberTarget(e){this._unfinalizedTargets.add(e),e.on(`finalized`,()=>this._unfinalizedTargets.delete(e),{once:!0})}async _getInitTarget(){if(t(this._initTarget!==null),this._initTarget instanceof Z)return this._initTarget;let e=await this._initTarget();return this.state===`canceled`?await e._close():this._rememberTarget(e),e}_hasInitTarget(){return this._initTarget!==null}_getRootTarget(){if(this._rootTarget)return this._rootTarget;if(this._rootTargetPromise)return this._rootTargetPromise;if(this._target instanceof Z)return this._emit(`target`,{target:this._target,request:null,isRoot:!0}),this._rootTarget=this._target,this._target;let e={path:this._target.rootPath,isRoot:!0,mimeType:this.format.mimeType},t=this._getTargetValidated(e),n=t=>(this.state===`canceled`?t._close():this._rememberTarget(t),this._emit(`target`,{target:t,request:e,isRoot:!0}),this._rootTarget=t,t);return t instanceof Promise?this._rootTargetPromise=t.then(n):n(t)}_getRootWriter(e){return this._rootWriterPromise??=(async()=>{let t=await this._getRootTarget(),n=new mi(t,typeof e==`boolean`?e:e(t));return n.start(),n})()}addVideoTrack(e,t={}){if(!(e instanceof Ti))throw TypeError(`source must be a VideoSource.`);if(qi(t),t.rotation!==void 0&&![0,90,180,270].includes(t.rotation))throw TypeError(`Invalid video rotation: ${t.rotation}. Has to be 0, 90, 180 or 270.`);if(!this.format.supportsVideoRotationMetadata&&t.rotation)throw Error(`${this.format._name} does not support video rotation metadata.`);if(t.frameRate!==void 0&&(!Number.isFinite(t.frameRate)||t.frameRate<=0))throw TypeError(`Invalid video frame rate: ${t.frameRate}. Must be a positive number.`);let n={...t};return n.group??=this.defaultTrackGroup,this._addTrack(new Ui(this._tracks.length+1,this,e,n))}addAudioTrack(e,t={}){if(!(e instanceof Mi))throw TypeError(`source must be an AudioSource.`);qi(t);let n={...t};return n.group??=this.defaultTrackGroup,this._addTrack(new Wi(this._tracks.length+1,this,e,n))}addSubtitleTrack(e,t={}){if(!(e instanceof Fi))throw TypeError(`source must be a SubtitleSource.`);qi(t);let n={...t};return n.group??=this.defaultTrackGroup,this._addTrack(new Gi(this._tracks.length+1,this,e,n))}setMetadataTags(e){if(Te(e),this.state!==`pending`)throw Error(`Cannot set metadata tags after output has been started or canceled.`);this._metadataTags=e}_addTrack(e){if(this.state!==`pending`)throw Error(`Cannot add track after output has been started or canceled.`);if(e.source._connectedTrack)throw Error(`Source is already used for a track.`);let t=this.format.getSupportedTrackCounts(),n=this._tracks.reduce((t,n)=>t+ +(n.type===e.type),0),r=t[e.type].max;if(n===r)throw Error(r===0?`${this.format._name} does not support ${e.type} tracks.`:`${this.format._name} does not support more than ${r} ${e.type} track${r===1?``:`s`}.`);let i=t.total.max;if(this._tracks.length===i)throw Error(`${this.format._name} does not support more than ${i} tracks${i===1?``:`s`} in total.`);if(e.isVideoTrack()){let t=this.format.getSupportedVideoCodecs();if(t.length===0)throw Error(`${this.format._name} does not support video tracks.`+this.format._codecUnsupportedHint(e.source._codec));if(!t.includes(e.source._codec))throw Error(`Codec '${e.source._codec}' cannot be contained within ${this.format._name}. Supported video codecs are: ${t.map(e=>`'${e}'`).join(`, `)}.`+this.format._codecUnsupportedHint(e.source._codec))}else if(e.isAudioTrack()){let t=this.format.getSupportedAudioCodecs();if(t.length===0)throw Error(`${this.format._name} does not support audio tracks.`+this.format._codecUnsupportedHint(e.source._codec));if(!t.includes(e.source._codec))throw Error(`Codec '${e.source._codec}' cannot be contained within ${this.format._name}. Supported audio codecs are: ${t.map(e=>`'${e}'`).join(`, `)}.`+this.format._codecUnsupportedHint(e.source._codec))}else if(e.isSubtitleTrack()){let t=this.format.getSupportedSubtitleCodecs();if(t.length===0)throw Error(`${this.format._name} does not support subtitle tracks.`+this.format._codecUnsupportedHint(e.source._codec));if(!t.includes(e.source._codec))throw Error(`Codec '${e.source._codec}' cannot be contained within ${this.format._name}. Supported subtitle codecs are: ${t.map(e=>`'${e}'`).join(`, `)}.`+this.format._codecUnsupportedHint(e.source._codec))}return this._tracks.push(e),e.source._connectedTrack=e,e}async start(){let e=this.format.getSupportedTrackCounts();for(let t of Vi){let n=this._tracks.reduce((e,n)=>e+ +(n.type===t),0),r=e[t].min;if(n<r)throw Error(r===e[t].max?`${this.format._name} requires exactly ${r} ${t} track${r===1?``:`s`}.`:`${this.format._name} requires at least ${r} ${t} track${r===1?``:`s`}.`)}let t=e.total.min;if(this._tracks.length<t)throw Error(t===e.total.max?`${this.format._name} requires exactly ${t} track${t===1?``:`s`}.`:`${this.format._name} requires at least ${t} track${t===1?``:`s`}.`);if(this.state===`canceled`)throw Error(`Output has been canceled.`);return this._startPromise?(E._warn(`Output has already been started.`),this._startPromise):this._startPromise=(async()=>{this.state=`started`;let e=await this._mutex.acquire();try{await this._muxer.start();let e=this._tracks.map(e=>e.source._start());await Promise.all(e)}finally{e()}})()}getMimeType(){return this._muxer.getMimeType()}async cancel(){if(this._cancelPromise)return E._warn(`Output has already been canceled.`),this._cancelPromise;if(this.state===`finalizing`||this.state===`finalized`){this.state===`finalized`&&E._warn(`Output has already been finalized.`);return}return this._cancelPromise=(async()=>{this.state=`canceled`;let e=await this._mutex.acquire();try{let e=this._tracks.map(e=>e.source._flushOrWaitForOngoingClose(!0));await Promise.all(e),await Promise.all([...this._unfinalizedTargets].map(e=>e._close())),this._unfinalizedTargets.clear()}finally{e()}})()}async finalize(){if(this.state===`pending`)throw Error(`Cannot finalize before starting.`);if(this.state===`canceled`)throw Error(`Cannot finalize after canceling.`);return this._finalizePromise?(E._warn(`Output has already been finalized.`),this._finalizePromise):this._finalizePromise=(async()=>{this.state=`finalizing`;let e=await this._mutex.acquire();try{let e=this._tracks.map(e=>e.source._flushOrWaitForOngoingClose(!1));if(await Promise.all(e),await this._muxer.finalize(),this._rootWriterPromise){let e=await this._rootWriterPromise;e.finalized||(await e.flush(),await e.finalize())}this._onFinalize&&await this._onFinalize(),this.state=`finalized`}finally{e()}})()}},Yi=Symbol.for(`mediabunny loaded`);globalThis[Yi]&&E._error(`[WARNING]
|
|
2
|
+
Mediabunny was loaded twice. This will likely cause Mediabunny not to work correctly. Check if multiple dependencies are importing different versions of Mediabunny, or if something is being bundled incorrectly.`),globalThis[Yi]=!0;export{_i as BufferTarget,ji as CanvasSource,Pi as MediaStreamAudioTrackSource,Ri as Mp4OutputFormat,Ji as Output,En as canEncodeVideo};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={sparkstat:{title:`Resting heart rate`,icon:`spark`,iconColor:`var(--presence)`,value:`54 bpm`,unit:`avg last 7 days`,delta:`-4 bpm`,deltaDir:`down`,color:`var(--presence)`,points:[{v:61,label:`Mar`},{v:60,label:`wk 1`},{v:59,label:`wk 2`},{v:58,label:`wk 3`},{v:57,label:`wk 4`},{v:56,label:`wk 5`},{v:55,label:`wk 6`},{v:54,label:`now`}],footer:`Lower is fitter, a 4-bpm drop in 90 days tracks your rising aerobic base.`},counter:{title:`Steps today`,icon:`arrowUp`,iconColor:`var(--insight)`,value:11420,label:`steps · 84% of goal beaten on 5 of 7 days`,delta:`+2.1k vs avg`,deltaDir:`up`,color:`var(--insight)`,footer:`Your 10k goal is now the floor, not the ceiling.`},herostat:{title:`VO₂ max`,icon:`sparkle`,iconColor:`var(--presence)`,value:`48.6`,unit:`mL/kg/min`,narrative:`Estimated from your runs, <b>“excellent”</b> for your age band.`,trend:`+1.9 this quarter`,trendDir:`up`,detail:`Up from 46.7 in February. Most of the gain came from two threshold runs a week.`,color:`var(--presence)`,footer:`A reliable long-run predictor of cardiovascular health.`},trendtile:{title:`Net-new ARR`,icon:`chart`,iconColor:`var(--insight)`,value:`$824k`,delta:`+27%`,deltaDir:`up`,color:`var(--insight)`,bars:[410,480,520,590,650,824],footer:`Six quarters of acceleration, Q2 is the steepest step yet.`},scorebadge:{title:`Recovery readiness`,icon:`shield`,iconColor:`var(--presence)`,score:82,grade:`A-`,caption:`Primed to train hard today`,color:`var(--presence)`,components:[{label:`HRV`,value:88,color:`var(--presence)`},{label:`Sleep`,value:84,color:`var(--insight)`},{label:`Resting HR`,value:86,color:`var(--presence-soft)`},{label:`Prior strain`,value:71,color:`var(--warning)`}],footer:`Whoop blends four signals into one go/no-go number.`},percentilebar:{title:`Your VO₂ max vs everyone your age`,icon:`spark`,iconColor:`var(--presence)`,percentile:91,value:`48.6 mL/kg/min`,unit:`cardio fitness`,lowLabel:`sedentary`,highLabel:`elite`,color:`var(--presence)`,footer:`You're fitter than <mark>91%</mark> of people in your age band.`},statpair:{title:`Calories: in vs out`,icon:`sparkle`,iconColor:`var(--insight)`,left:{label:`Intake`,value:`2,240`,weight:2240,color:`var(--insight)`,sub:`avg / day`},right:{label:`Burned`,value:`2,610`,weight:2610,color:`var(--presence)`,sub:`BMR + activity`},connector:`→`,ratioLabel:`daily deficit ≈ 370 kcal`,footer:`A modest, sustainable deficit, consistent with your 4-lb drop.`},scorecard:{title:`The quarter at a glance`,icon:`spark`,iconColor:`var(--insight)`,cols:4,tiles:[{icon:`chart`,label:`ARR`,value:`$5.4M`,delta:`+18%`,deltaDir:`up`,color:`var(--insight)`,detail:`Net-new $824k; Enterprise drove 61% of it.`},{icon:`arrowUp`,label:`Net new logos`,value:`47`,delta:`+11`,deltaDir:`up`,color:`var(--presence)`,detail:`47 new customers, 9 in Enterprise.`},{icon:`spark`,label:`NRR`,value:`116%`,delta:`+6pt`,deltaDir:`up`,color:`var(--insight)`,detail:`Gross retention 94%; expansion +22pt.`},{icon:`alert`,label:`Logo churn`,value:`2.1%`,delta:`+0.4pt`,deltaDir:`up`,color:`var(--warning)`,detail:`Concentrated in self-serve Starter accounts.`},{icon:`cart`,label:`CAC payback`,value:`14 mo`,delta:`-3 mo`,deltaDir:`down`,color:`var(--presence)`,detail:`Improving as Enterprise deal size grows.`},{icon:`clock`,label:`Sales cycle`,value:`41 days`,delta:`-6 days`,deltaDir:`down`,color:`var(--presence)`,detail:`Faster mid-market close on the new pricing.`},{icon:`shield`,label:`Gross margin`,value:`82%`,delta:`+1pt`,deltaDir:`up`,color:`var(--insight)`,detail:`Infra efficiency offset usage growth.`},{icon:`lock`,label:`Runway`,value:`26 mo`,delta:`at this burn`,deltaDir:`up`,color:`var(--text-muted)`,detail:`No raise needed to reach the Series B milestone.`}],footer:`Eight headline metrics, all from the Q2 close.`},deltacascade:{title:`New bookings, built up`,icon:`spark`,iconColor:`var(--insight)`,prefix:`$`,suffix:`k`,steps:[{label:`Pipeline created`,delta:3200,isBase:!0,detail:`Sourced from inbound + outbound + partner.`},{label:`Stage slippage`,delta:-940,detail:`Deals pushed to Q3.`},{label:`No-decision losses`,delta:-560},{label:`Competitive losses`,delta:-188,detail:`Two to the incumbent on price.`},{label:`Discount given`,delta:-136},{label:`Closed bookings`,delta:0,isTotal:!0,detail:`Lands at $1.38M new ACV.`}],footer:`Win-rate held at <b>28%</b> even as deal sizes grew.`},bulletkpi:{title:`Quarter targets vs actuals`,icon:`check`,iconColor:`var(--insight)`,rows:[{label:`Net-new ARR`,value:824,target:750,max:1e3,display:`$824k`,color:`var(--insight)`},{label:`New logos`,value:47,target:45,max:60,display:`47`,color:`var(--insight)`},{label:`Pipeline ($M)`,value:3.2,target:3.6,max:5,display:`$3.2M`,color:`var(--warning)`},{label:`NRR`,value:116,target:110,max:130,display:`116%`,color:`var(--insight)`},{label:`NPS`,value:52,target:55,max:80,display:`52`,color:`var(--warning)`}],footer:`Three of five beat target, pipeline and NPS are the watch items.`},confusionmatrix:{title:`Classifier results on the held-out test set`,icon:`table`,iconColor:`var(--presence)`,classes:[`Setosa`,`Versicolor`,`Virginica`],matrix:[[50,0,0],[0,47,3],[0,4,46]],showTotals:!0,readout:`perclass`,countLabel:`samples`,footer:`Setosa separates cleanly; the only confusion is between Versicolor and Virginica, where the petals overlap.`},kpidashboard:{title:`Q2 board metrics`,icon:`chart`,iconColor:`var(--presence)`,caption:`Trailing 6 months · refreshed nightly from the data warehouse`,tiles:[{label:`MRR`,value:`$182.4k`,delta:`+6.8%`,deltaDir:`up`,spark:[142,148,153,161,167,171,176,182.4],conf:`MoM`},{label:`Net revenue retention`,value:118,unit:`%`,delta:`+3 pts`,deltaDir:`up`,spark:[109,111,112,114,115,116,117,118],conf:`cohort-weighted`},{label:`Gross churn`,value:2.1,unit:`%/mo`,delta:`−0.6 pts`,deltaDir:`good`,spark:[3.4,3.1,2.9,2.7,2.5,2.4,2.2,2.1],conf:`logo churn`},{label:`CAC`,value:`$1,240`,delta:`+9.2%`,deltaDir:`down`,spark:[980,1010,1055,1080,1120,1165,1205,1240],conf:`blended`},{label:`CAC payback`,value:11,unit:`mo`,delta:`−1 mo`,deltaDir:`good`,spark:[14,13.5,13,12.5,12,11.5,11.2,11],conf:`gross-margin adj.`},{label:`Runway`,value:19,unit:`mo`,delta:`−2 mo`,deltaDir:`down`,spark:[27,26,24,23,22,21,20,19],conf:`at current burn`}],footer:`NRR above 115% and falling churn are funding the runway draw — <strong>CAC creep</strong> is the one to watch.`},abtestresult:{title:`Command bar A/B test · search completion`,icon:`chart`,iconColor:`var(--presence)`,control:{name:`Old search bar`,n:8412,conversionRate:.612},variant:{name:`New command bar`,n:8350,conversionRate:.724},pValue:8e-4,confidenceInterval:[9.2,26.4],footer:`The command bar shipped to 50% for two weeks; the interval sits well clear of zero, so this lift is holding, not noise.`},powersample:{title:`Command bar test · sample size`,icon:`chart`,iconColor:`var(--presence)`,effectSize:.1,alpha:.05,power:.8,curve:[{n:400,power:.29},{n:800,power:.52},{n:1200,power:.69},{n:1600,power:.81},{n:2400,power:.93},{n:3200,power:.98},{n:4e3,power:.99}],footer:`We pre-registered for a conservative 5-point lift; the real effect turned out much bigger, which is why the result below is so unambiguous.`},inventoryreorder:{title:`Stock vs. reorder point, by SKU`,icon:`cart`,iconColor:`var(--presence)`,items:[{sku:`SKU-1042`,label:`Steel water bottle, 24oz`,level:86,reorderPoint:150,safetyStock:60,max:600,leadTimeDays:21},{sku:`SKU-1108`,label:`Canvas tote bag`,level:40,reorderPoint:120,safetyStock:50,max:500,leadTimeDays:14},{sku:`SKU-2231`,label:`Ceramic mug, matte black`,level:168,reorderPoint:180,safetyStock:80,max:700,leadTimeDays:18},{sku:`SKU-3387`,label:`Cork yoga mat`,level:210,reorderPoint:100,safetyStock:40,max:400,leadTimeDays:30},{sku:`SKU-4471`,label:`Bamboo cutlery set`,level:340,reorderPoint:90,safetyStock:35,max:450,leadTimeDays:10}],footer:`Reorder points assume the same 6-week sell-through rate as last quarter.`},boardgamescore:{title:`Wingspan, the side table`,icon:`table`,iconColor:`var(--insight)`,game:`Wingspan`,players:[{name:`Dana`,roundScores:[8,11,14,9],total:42},{name:`Marco`,roundScores:[10,9,15,12],total:46},{name:`Priya`,roundScores:[7,10,12,10],total:39}],footer:`Round 4 bird-cards bonus still to add once everyone reveals their hand.`},cvssscorecard:{title:`Worst finding from the pre-split security sweep`,icon:`shield`,iconColor:`var(--warning)`,baseScore:7.5,severity:`high`,cve:`CVE-2024-21306`,vector:[{label:`AV`,value:`Network`},{label:`AC`,value:`Low`},{label:`PR`,value:`None`},{label:`UI`,value:`None`},{label:`S`,value:`Unchanged`}],footer:`Already patched upstream in a transitive dependency; bumping it is part of Wk 1–2.`},ridgeplot:{title:`Predicted-confidence shape, by model`,icon:`chart`,iconColor:`var(--insight)`,categories:[{label:`Transformer-v3`,color:`var(--presence)`,curve:[2,4,6,9,12,15,22,34,52,71,84,78,55,30]},{label:`Baseline BERT`,color:`var(--text-muted)`,curve:[8,14,20,27,33,38,41,40,35,28,20,13,8,4]},{label:`v3 small`,color:`var(--insight)`,curve:[3,6,9,13,18,25,35,48,63,70,60,40,22,10]}],overlap:.6,footer:`v3 concentrates near high confidence on correct calls; the baseline stays flatter, less decisive either way.`},ecdf:{title:`Raw sample, same window`,icon:`clock`,iconColor:`var(--presence)`,unit:`ms`,color:`var(--presence)`,values:[52,58,61,64,67,70,73,76,79,82,85,88,91,95,99,104,110,118,128,142,160,185,214,260,310,372,410],footer:`A 27-request pull from the same hour, the actual step function behind the p99 headline.`},forestplot:{title:`Reading a forest plot — pooled risk ratio (worked example)`,icon:`proof`,measure:`RR`,studies:[{label:`Trial A`,year:2014,effect:.62,ciLow:.38,ciHigh:1.02},{label:`Trial B`,year:2015,effect:.85,ciLow:.61,ciHigh:1.19},{label:`Trial C`,year:2017,effect:.44,ciLow:.21,ciHigh:.92},{label:`Trial D`,year:2018,effect:.71,ciLow:.55,ciHigh:.91},{label:`Trial E`,year:2020,effect:1.08,ciLow:.74,ciHigh:1.58},{label:`Trial F`,year:2021,effect:.58,ciLow:.35,ciHigh:.96},{label:`Trial G`,year:2023,effect:.77,ciLow:.62,ciHigh:.95}],heterogeneity:`I² = 28%`,favorsLeft:`Favors intervention`,favorsRight:`Favors control`,footer:`A textbook illustration of evidence synthesis: each row is one trial's risk ratio with its 95% CI, the square scales with the trial's inverse-variance weight, and the diamond's width is the pooled interval. Values are illustrative, not from real trials.`}};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={a11yaudit:{title:`Accessibility audit — checkout flow`,icon:`shield`,iconColor:`var(--insight)`,score:`82/100`,checks:[{label:`Keyboard navigation`,status:`pass`,note:`Every control is reachable and operable with Tab and Enter.`},{label:`Focus order`,status:`pass`,note:`Tab order follows the visual reading order top to bottom.`},{label:`Colour contrast`,status:`warn`,note:`Placeholder text sits at 3.9:1 — below the 4.5:1 target for body copy.`},{label:`Image alt text`,status:`pass`,note:`All informative images carry descriptive alt; decorative ones are empty.`},{label:`Form field labels`,status:`fail`,note:`The promo-code input has no associated label, so screen readers announce it as "edit text".`},{label:`Touch target size`,status:`warn`,note:`The remove-item icon is 36px; bump to 44px to meet the minimum target size.`}],footer:`Two issues block the AA bar: the unlabelled promo field and the low-contrast placeholders.`},progressbar:{title:`Annual plan progress`,icon:`chart`,iconColor:`var(--presence)`,caption:`58% of the $1.45M net-new ARR plan`,segments:[{label:`Q1`,value:650,color:`var(--presence)`,done:!0,detail:`Q1 net-new $650k (delivered).`},{label:`Q2`,value:824,color:`var(--insight)`,done:!0,detail:`Q2 net-new $824k (delivered).`},{label:`Q3 plan`,value:880,color:`var(--presence-soft)`,detail:`Usage-based billing is the lever.`},{label:`Q4 plan`,value:940,color:`var(--text-muted)`,detail:`EU residency unlocks EMEA Enterprise.`}],footer:`Halfway through the year, you are <b>tracking ahead</b> of the full-year plan.`},stepindicator:{title:`Your half-marathon plan`,icon:`check`,iconColor:`var(--presence)`,orientation:`vertical`,color:`var(--presence)`,steps:[{label:`Base building`,sub:`Weeks 1–4`,state:`done`,icon:`check`,detail:`Easy mileage banked, aerobic base is set.`},{label:`Build phase`,sub:`Weeks 5–8`,state:`done`,icon:`arrowUp`,detail:`Tempo + threshold work added. VO₂ max climbed 1.9.`},{label:`Peak`,sub:`Weeks 9–10`,state:`active`,icon:`spark`,detail:`Highest load of the block, recovery readiness says you’re primed for it.`},{label:`Taper`,sub:`Week 11`,state:`locked`,icon:`moon`,detail:`Cut volume 40%, keep intensity. Sleep does the rest.`},{label:`Race day`,sub:`Week 12`,state:`locked`,icon:`sparkle`,detail:`Target 1:42, your fitness markers support it.`}],footer:`You’re on schedule and trending ahead of your goal pace.`},statustimeline:{title:`Operating cadence · this quarter`,icon:`clock`,iconColor:`var(--presence)`,events:[{time:`Apr 3`,label:`Q2 kickoff + targets set`,status:`done`,detail:`Board approved the $750k net-new target.`},{time:`Apr 18`,label:`SSO + SCIM shipped`,status:`done`,detail:`Unblocked three Enterprise deals.`},{time:`May 9`,label:`Pricing v2 launched`,status:`done`,detail:`Cut sales cycle by 6 days.`},{time:`May 27`,label:`Crossed $5M ARR`,status:`done`},{time:`Jun 12`,label:`Usage-based billing beta`,status:`progress`,detail:`8 design-partner accounts onboarding.`},{time:`Jun 24`,label:`Copilot eval gate`,status:`progress`,detail:`Quality below bar, launch decision pending.`},{time:`Jul 1`,label:`Series B model review`,status:`pending`,detail:`Scenarios still in draft.`},{time:`Jun 8`,label:`Region outage (APAC)`,status:`failed`,detail:`38-minute partial outage; postmortem filed.`}],footer:`Four shipped, two in flight, one at risk, the Copilot gate needs a call.`},healthgrid:{title:`System & business health`,icon:`shield`,iconColor:`var(--insight)`,cols:4,cells:[{label:`API uptime`,level:`ok`,value:`99.98%`,detail:`30-day rolling; SLA is 99.9%.`},{label:`p95 latency`,level:`ok`,value:`212 ms`,detail:`Steady quarter-over-quarter.`},{label:`Error rate`,level:`ok`,value:`0.04%`,detail:`Well under the 0.1% budget.`},{label:`APAC region`,level:`warn`,value:`99.4%`,detail:`One 38-min partial outage in June.`},{label:`Support SLA`,level:`ok`,value:`94%`,detail:`First response under 2h, 94% of tickets.`},{label:`NPS`,level:`warn`,value:`52`,detail:`Down 3pt, onboarding friction cited.`},{label:`Pipeline coverage`,level:`warn`,value:`2.6×`,detail:`Below the 3× target for Q3.`},{label:`Cash runway`,level:`ok`,value:`26 mo`,detail:`No raise needed to hit Series B.`}],footer:`Green where it counts; the three amber cells are this quarter’s focus list.`},emptystate:{title:`Soundtrack`,icon:`speaker`,iconColor:`var(--insight)`,art:`spark`,headline:`No licensed track yet`,copy:`The cut is running on a scratch piano. Pick a final track and I'll <b>re-time the chapters to the beats</b>.`,action:`Browse calm scores`,actionIcon:`play`,secondary:`Keep the scratch`,color:`var(--presence)`,footer:`One missing piece before this film is shareable.`},skeleton:{title:`Pulling 12 more refs`,icon:`image`,iconColor:`var(--text-muted)`,variant:`media`,rows:4,loadedLabel:`Show what loaded`,footer:`Importing the rest of your saved pins, the board grows as they land.`},sliderinput:{title:`Set your daily step goal`,icon:`arrowUp`,iconColor:`var(--insight)`,prompt:`Drag to set a target, Mavéa estimates the weekly calorie burn.`,min:6e3,max:16e3,step:500,value:11e3,suffix:` steps`,marks:[{at:8e3,label:`baseline`},{at:1e4,label:`guideline`},{at:14e3,label:`stretch`}],outputLabel:`Est. weekly burn`,outputFactor:.28,outputPrefix:``,outputSuffix:` kcal`,color:`var(--insight)`,footer:`Each extra 1,000 steps adds roughly 40 kcal a day for you.`},segmented:{title:`Activity rings by window`,icon:`sun`,iconColor:`var(--presence)`,selected:1,color:`var(--presence)`,options:[{label:`Today`,icon:`clock`,value:`94%`,caption:`Move ring nearly closed, <b>1 short walk</b> to finish.`},{label:`This week`,icon:`chart`,value:`6 / 7`,caption:`Closed all three rings on <b>6 of 7</b> days.`},{label:`This month`,icon:`spark`,value:`24 / 30`,caption:`A perfect streak from the 4th to the 19th.`}],footer:`Switch the window to see how the rings held up.`},rangefilter:{title:`Filter workouts by effort`,icon:`spark`,iconColor:`var(--warning)`,min:60,max:190,step:5,low:130,high:175,suffix:` bpm`,unitLabel:`workouts`,color:`var(--warning)`,items:[{label:`Easy recovery jog`,value:118,display:`118 bpm avg`,meta:`Mon · 32 min`},{label:`Tempo run`,value:162,display:`162 bpm avg`,meta:`Tue · 28 min`},{label:`Strength circuit`,value:138,display:`138 bpm avg`,meta:`Wed · 45 min`},{label:`Threshold intervals`,value:171,display:`171 bpm avg`,meta:`Thu · 38 min`},{label:`Zone-2 cycle`,value:134,display:`134 bpm avg`,meta:`Fri · 60 min`},{label:`Long run`,value:148,display:`148 bpm avg`,meta:`Sat · 82 min`},{label:`Yoga flow`,value:96,display:`96 bpm avg`,meta:`Sun · 40 min`}],footer:`Drag the handles to see which sessions land in your target heart-rate band.`},ratinginput:{title:`This week’s habit consistency`,icon:`check`,iconColor:`var(--presence)`,shape:`star`,max:5,value:4,caption:`4 of 5, your strongest week yet`,color:`var(--presence)`,facets:[{label:`Hydration`,value:5},{label:`Protein target`,value:4},{label:`Lights out by 11`,value:4},{label:`Mobility 10 min`,value:2},{label:`No alcohol`,value:5}],footer:`Mobility is the habit dragging the score, the same gap your radar flagged.`},litigationtimeline:{title:`If the renewal dispute escalates`,icon:`proof`,iconColor:`var(--presence)`,events:[{date:`2026-08-03`,kind:`filing`,court:`D. Del.`,party:`Plaintiff`,urgency:`routine`,detail:`Complaint for breach of contract, if the 90-day notice window gets missed.`},{date:`2026-08-24`,kind:`motion`,court:`D. Del.`,party:`Defendant`,urgency:`soon`,detail:`Motion to dismiss, citing Bell v. Meridian on the notice-window question.`},{date:`2026-09-14`,kind:`hearing`,court:`D. Del.`,urgency:`soon`,detail:`Oral argument on the motion to dismiss.`},{date:`2026-09-28`,kind:`deadline`,urgency:`critical`,detail:`Last day to file non-renewal notice before the term silently rolls another year.`},{date:`2026-10-19`,kind:`order`,court:`D. Del.`,urgency:`routine`,detail:`Ruling expected on the motion to dismiss.`}],footer:`The track record Bell v. Meridian sets, worth avoiding by redlining §8.2 now.`},billtracker:{title:`The bill that could reshape this MSA`,icon:`chart`,iconColor:`var(--insight)`,bill:`S. 1189 — Data Broker Registration Act`,stages:[{name:`Introduced`,status:`done`},{name:`Committee`,status:`done`,voteTally:{yea:14,nay:6}},{name:`Floor Vote`,status:`done`,voteTally:{yea:62,nay:38}},{name:`Other Chamber`,status:`current`},{name:`Signed`,status:`pending`}],footer:`If it passes, data processors like Acme pick up new registration duties, worth its own clause in the next redline.`},triageboard:{title:`Meanwhile, down in the ED`,icon:`alert`,iconColor:`var(--danger)`,patients:[{chiefComplaint:`Crushing chest pain, radiating to left arm`,esiLevel:1,vitals:[{label:`HR`,value:`118`,abnormal:!0},{label:`BP`,value:`88/56`,abnormal:!0},{label:`SpO₂`,value:`91%`,abnormal:!0}],waitTime:`being seen`},{chiefComplaint:`Fall from ladder, deformed forearm`,esiLevel:2,vitals:[{label:`HR`,value:`96`},{label:`Pain`,value:`8/10`,abnormal:!0}],waitTime:`6 min`},{chiefComplaint:`Fever and cough, 3 days`,esiLevel:3,vitals:[{label:`Temp`,value:`38.9°C`,abnormal:!0}],waitTime:`42 min`},{chiefComplaint:`Twisted ankle playing soccer`,esiLevel:4,waitTime:`1h 10m`},{chiefComplaint:`Refill request, ran out of a maintenance medication`,esiLevel:5,waitTime:`1h 45m`}],footer:`The chest-pain patient jumped the queue the moment they walked in, everyone else holds their spot.`},mentalhealthscreen:{title:`Routine screen on admission — Mr. Alvarez`,icon:`chat`,iconColor:`var(--presence)`,instrument:`PHQ-9`,items:[{prompt:`Little interest or pleasure in doing things`,score:1,anchor:`Several days`},{prompt:`Feeling down, depressed, or hopeless`,score:1,anchor:`Several days`},{prompt:`Trouble falling or staying asleep, or sleeping too much`,score:2,anchor:`More than half the days`},{prompt:`Feeling tired or having little energy`,score:2,anchor:`More than half the days`},{prompt:`Poor appetite or overeating`,score:1,anchor:`Several days`},{prompt:`Feeling bad about yourself, or that you are a failure`,score:0,anchor:`Not at all`},{prompt:`Trouble concentrating on things`,score:1,anchor:`Several days`},{prompt:`Moving or speaking slowly, or being fidgety/restless`,score:0,anchor:`Not at all`},{prompt:`Thoughts that you would be better off dead`,score:0,anchor:`Not at all`}],total:8,maxTotal:27,bands:[{label:`Minimal`,range:[0,4],tone:`ok`},{label:`Mild`,range:[5,9],tone:`mild`},{label:`Moderate`,range:[10,14],tone:`moderate`},{label:`Mod. severe`,range:[15,19],tone:`moderate`},{label:`Severe`,range:[20,27],tone:`severe`}],footer:`Sleep and fatigue are likely the acute admission talking, not a standalone mood concern, worth a re-screen after discharge.`},usabilityfindings:{title:`Usability test — checkout flow`,icon:`eye`,iconColor:`var(--presence)`,taskSuccessRate:78,avgTimeOnTask:`2m 14s`,issues:[{label:`Promo-code field has no visible label`,severity:`critical`,affectedUsers:6,note:`Four of six testers typed the code into the wrong field on the first try.`},{label:`Low-contrast placeholder text reads as filled-in`,severity:`major`,affectedUsers:3,note:`Two testers skipped the field, assuming it already had a value.`},{label:`Remove-item icon is easy to miss on touch`,severity:`minor`,affectedUsers:2}],footer:`Both blockers trace to the same two components flagged in the audit above.`},roomblockdashboard:{title:`Every room in the building, right now`,icon:`bell`,iconColor:`var(--presence)`,cols:4,cells:[{label:`Loft A`,level:`booked`,value:`Wedding party · full day`},{label:`Loft B`,level:`held`,value:`Your session · 9:00 AM`},{label:`Loft C`,level:`checked-in`,value:`Product shoot · since 8:00 AM`},{label:`Cyc Wall`,level:`open`},{label:`Editing Suite 1`,level:`checked-in`,value:`Sol Marín · editing`},{label:`Editing Suite 2`,level:`open`},{label:`Green Room`,level:`held`,value:`Hair & makeup · 8:30 AM`},{label:`Rooftop`,level:`booked`,value:`Golden-hour shoot · 6:00 PM`}],footer:`Loft B is the only room still just a hold, confirm and it flips to booked.`},immigrationcase:{title:`Case status — employment-based petition`,icon:`globe`,iconColor:`var(--presence)`,visaCategory:`EB-2 · I-140 Immigrant Petition`,priorityDate:`Mar 15, 2024`,rfeDeadline:`2026-07-20`,stages:[{name:`I-140 filed`,status:`done`,date:`Mar 15, 2024`},{name:`Biometrics`,status:`done`,date:`May 2, 2024`},{name:`Request for Evidence issued`,status:`current`,date:`Jun 10, 2026`},{name:`Decision`,status:`pending`}],footer:`The RFE asks for updated proof of the employer’s ability to pay, gather the last two years of tax returns before the deadline.`},painscale:{title:`How bad is the pain right now?`,icon:`sparkle`,iconColor:`var(--warning)`,kind:`faces`,value:6,caption:`Moderate — interferes with focus`,anchors:[`No pain`,`Worst imaginable`],footer:`Six or higher is worth flagging to a clinician if it persists past a few days.`},habittracker:{title:`Your habits this week`,icon:`check`,iconColor:`var(--presence)`,days:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],habits:[{name:`Morning walk`,done:[!0,!0,!0,!1,!0,!0,!0]},{name:`Read 20 min`,done:[!0,!0,!0,!0,!0,!1,!0]},{name:`No phone after 10`,done:[!1,!0,!1,!0,!1,!0,!1]},{name:`Drink 2L water`,done:[!0,!0,!0,!0,!0,!0,!0]}],caption:`Strong week — phone curfew is the one to nudge`,footer:`The water habit hit 7 of 7; the phone curfew at 3 of 7 is dragging the weekly average.`},streakgrid:{title:`Run streak`,icon:`spark`,iconColor:`var(--warning)`,habit:`Run`,current:12,best:21,days:[{date:`May 21`,done:!0},{date:`May 22`,done:!0},{date:`May 23`,done:!1},{date:`May 24`,done:!0},{date:`May 25`,done:!0},{date:`May 26`,done:!0},{date:`May 27`,done:!1},{date:`May 28`,done:!0},{date:`May 29`,done:!0},{date:`May 30`,done:!0},{date:`May 31`,done:!0},{date:`Jun 1`,done:!0},{date:`Jun 2`,done:!1},{date:`Jun 3`,done:!0},{date:`Jun 4`,done:!0},{date:`Jun 5`,done:!0},{date:`Jun 6`,done:!1},{date:`Jun 7`,done:!0},{date:`Jun 8`,done:!0},{date:`Jun 9`,done:!0},{date:`Jun 10`,done:!0},{date:`Jun 11`,done:!0},{date:`Jun 12`,done:!0},{date:`Jun 13`,done:!0},{date:`Jun 14`,done:!0},{date:`Jun 15`,done:!0},{date:`Jun 16`,done:!0},{date:`Jun 17`,done:!0},{date:`Jun 18`,done:!0},{date:`Jun 19`,done:!0}],caption:`Twelve days clean — don’t break the chain`,footer:`Twelve straight, nine shy of your all-time best of 21.`}};export{e as default};
|