@beesolve/analytics-dashboard 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DOCS.md +28 -0
- package/README.md +168 -3
- package/dist/authConsumer/authConsumer.mjs +26 -0
- package/dist/authConsumer/authConsumer.mjs.map +7 -0
- package/dist/authConsumer/bowser-YSBMONHT.mjs +2 -0
- package/dist/authConsumer/bowser-YSBMONHT.mjs.map +7 -0
- package/dist/authConsumer/chunk-5FKPGIT4.mjs +19 -0
- package/dist/authConsumer/chunk-5FKPGIT4.mjs.map +7 -0
- package/dist/authConsumer/chunk-A55324SF.mjs +2 -0
- package/dist/authConsumer/chunk-A55324SF.mjs.map +7 -0
- package/dist/authConsumer/chunk-BTFKTGDG.mjs +4 -0
- package/dist/authConsumer/chunk-BTFKTGDG.mjs.map +7 -0
- package/dist/authConsumer/chunk-C2HKOC4G.mjs +16 -0
- package/dist/authConsumer/chunk-C2HKOC4G.mjs.map +7 -0
- package/dist/authConsumer/chunk-CJTIV5DQ.mjs +2 -0
- package/dist/authConsumer/chunk-CJTIV5DQ.mjs.map +7 -0
- package/dist/authConsumer/chunk-HGD7WY52.mjs +2 -0
- package/dist/authConsumer/chunk-HGD7WY52.mjs.map +7 -0
- package/dist/authConsumer/chunk-JJCR37FH.mjs +10 -0
- package/dist/authConsumer/chunk-JJCR37FH.mjs.map +7 -0
- package/dist/authConsumer/chunk-NX6AKUU3.mjs +2 -0
- package/dist/authConsumer/chunk-NX6AKUU3.mjs.map +7 -0
- package/dist/authConsumer/chunk-OQ6H2FAT.mjs +2 -0
- package/dist/authConsumer/chunk-OQ6H2FAT.mjs.map +7 -0
- package/dist/authConsumer/chunk-SHDTR6JV.mjs +2 -0
- package/dist/authConsumer/chunk-SHDTR6JV.mjs.map +7 -0
- package/dist/authConsumer/chunk-UVVOS55R.mjs +2 -0
- package/dist/authConsumer/chunk-UVVOS55R.mjs.map +7 -0
- package/dist/authConsumer/chunk-VVQ6TCBE.mjs +2 -0
- package/dist/authConsumer/chunk-VVQ6TCBE.mjs.map +7 -0
- package/dist/authConsumer/chunk-WWJVMT5K.mjs +2 -0
- package/dist/authConsumer/chunk-WWJVMT5K.mjs.map +7 -0
- package/dist/authConsumer/chunk-XU7UBKPR.mjs +2 -0
- package/dist/authConsumer/chunk-XU7UBKPR.mjs.map +7 -0
- package/dist/authConsumer/dist-es-5RMISOKM.mjs +2 -0
- package/dist/authConsumer/dist-es-5RMISOKM.mjs.map +7 -0
- package/dist/authConsumer/dist-es-A3KZDGFL.mjs +2 -0
- package/dist/authConsumer/dist-es-A3KZDGFL.mjs.map +7 -0
- package/dist/authConsumer/dist-es-BARSD4VH.mjs +2 -0
- package/dist/authConsumer/dist-es-BARSD4VH.mjs.map +7 -0
- package/dist/authConsumer/dist-es-ICRQP6OY.mjs +7 -0
- package/dist/authConsumer/dist-es-ICRQP6OY.mjs.map +7 -0
- package/dist/authConsumer/dist-es-NSKORCUT.mjs +3 -0
- package/dist/authConsumer/dist-es-NSKORCUT.mjs.map +7 -0
- package/dist/authConsumer/dist-es-SJXVMHWV.mjs +2 -0
- package/dist/authConsumer/dist-es-SJXVMHWV.mjs.map +7 -0
- package/dist/authConsumer/dist-es-X5OVBSBE.mjs +2 -0
- package/dist/authConsumer/dist-es-X5OVBSBE.mjs.map +7 -0
- package/dist/authConsumer/dist-es-YZCOQZO5.mjs +3 -0
- package/dist/authConsumer/dist-es-YZCOQZO5.mjs.map +7 -0
- package/dist/authConsumer/event-streams-HKJTV7SP.mjs +2 -0
- package/dist/authConsumer/event-streams-HKJTV7SP.mjs.map +7 -0
- package/dist/authConsumer/event-streams-WPTL7RJA.mjs +2 -0
- package/dist/authConsumer/event-streams-WPTL7RJA.mjs.map +7 -0
- package/dist/authConsumer/loadSso-4CGEWHWX.mjs +2 -0
- package/dist/authConsumer/loadSso-4CGEWHWX.mjs.map +7 -0
- package/dist/authConsumer/signin-FWYC566H.mjs +2 -0
- package/dist/authConsumer/signin-FWYC566H.mjs.map +7 -0
- package/dist/authConsumer/sso-oidc-7RHBKIHO.mjs +2 -0
- package/dist/authConsumer/sso-oidc-7RHBKIHO.mjs.map +7 -0
- package/dist/authConsumer/sts-CPERFVPD.mjs +2 -0
- package/dist/authConsumer/sts-CPERFVPD.mjs.map +7 -0
- package/dist/build/client/_app/immutable/assets/0.DRO3o7Ky.css +1 -0
- package/dist/build/client/_app/immutable/assets/0.DRO3o7Ky.css.br +0 -0
- package/dist/build/client/_app/immutable/assets/0.DRO3o7Ky.css.gz +0 -0
- package/dist/build/client/_app/immutable/assets/3.Kr4XtrhX.css +1 -0
- package/dist/build/client/_app/immutable/assets/3.Kr4XtrhX.css.br +0 -0
- package/dist/build/client/_app/immutable/assets/3.Kr4XtrhX.css.gz +0 -0
- package/dist/build/client/_app/immutable/assets/4.pzhatwyO.css +1 -0
- package/dist/build/client/_app/immutable/assets/4.pzhatwyO.css.br +3 -0
- package/dist/build/client/_app/immutable/assets/4.pzhatwyO.css.gz +0 -0
- package/dist/build/client/_app/immutable/assets/7.CLAH1zbo.css +1 -0
- package/dist/build/client/_app/immutable/assets/7.CLAH1zbo.css.br +0 -0
- package/dist/build/client/_app/immutable/assets/7.CLAH1zbo.css.gz +0 -0
- package/dist/build/client/_app/immutable/assets/8.kPbJskIW.css +1 -0
- package/dist/build/client/_app/immutable/assets/8.kPbJskIW.css.br +0 -0
- package/dist/build/client/_app/immutable/assets/8.kPbJskIW.css.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/-flIlLbR.js +1 -0
- package/dist/build/client/_app/immutable/chunks/-flIlLbR.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/-flIlLbR.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/BaNbYf_w.js +1 -0
- package/dist/build/client/_app/immutable/chunks/BaNbYf_w.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/BaNbYf_w.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/Bbj_adPZ.js +1 -0
- package/dist/build/client/_app/immutable/chunks/Bbj_adPZ.js.br +2 -0
- package/dist/build/client/_app/immutable/chunks/Bbj_adPZ.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/BjDtInFk.js +1 -0
- package/dist/build/client/_app/immutable/chunks/BjDtInFk.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/BjDtInFk.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/dist/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/BsZAT_sO.js +1 -0
- package/dist/build/client/_app/immutable/chunks/BsZAT_sO.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/BsZAT_sO.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/C65wlWj3.js +3 -0
- package/dist/build/client/_app/immutable/chunks/C65wlWj3.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/C65wlWj3.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/CI6ywtCd.js +3 -0
- package/dist/build/client/_app/immutable/chunks/CI6ywtCd.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/CI6ywtCd.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/CSvV6lTB.js +1 -0
- package/dist/build/client/_app/immutable/chunks/CSvV6lTB.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/CSvV6lTB.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/DLxYM5fa.js +1 -0
- package/dist/build/client/_app/immutable/chunks/DLxYM5fa.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/DLxYM5fa.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/DzNyqKSt.js +1 -0
- package/dist/build/client/_app/immutable/chunks/DzNyqKSt.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/DzNyqKSt.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/RsrLknAJ.js +1 -0
- package/dist/build/client/_app/immutable/chunks/RsrLknAJ.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/RsrLknAJ.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/hePW80VL.js +1 -0
- package/dist/build/client/_app/immutable/chunks/hePW80VL.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/hePW80VL.js.gz +0 -0
- package/dist/build/client/_app/immutable/chunks/kEdGpB3n.js +1 -0
- package/dist/build/client/_app/immutable/chunks/kEdGpB3n.js.br +0 -0
- package/dist/build/client/_app/immutable/chunks/kEdGpB3n.js.gz +0 -0
- package/dist/build/client/_app/immutable/entry/app.prk0UIKZ.js +2 -0
- package/dist/build/client/_app/immutable/entry/app.prk0UIKZ.js.br +0 -0
- package/dist/build/client/_app/immutable/entry/app.prk0UIKZ.js.gz +0 -0
- package/dist/build/client/_app/immutable/entry/payload.DSmR2FwN.js +1 -0
- package/dist/build/client/_app/immutable/entry/payload.DSmR2FwN.js.br +0 -0
- package/dist/build/client/_app/immutable/entry/payload.DSmR2FwN.js.gz +0 -0
- package/dist/build/client/_app/immutable/entry/start.Dxjvp0la.js +2 -0
- package/dist/build/client/_app/immutable/entry/start.Dxjvp0la.js.br +0 -0
- package/dist/build/client/_app/immutable/entry/start.Dxjvp0la.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/0.jy0BlCX0.js +1 -0
- package/dist/build/client/_app/immutable/nodes/0.jy0BlCX0.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/0.jy0BlCX0.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/1.0LAtJInZ.js +1 -0
- package/dist/build/client/_app/immutable/nodes/1.0LAtJInZ.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/1.0LAtJInZ.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/10.C7ib9SAf.js +1 -0
- package/dist/build/client/_app/immutable/nodes/10.C7ib9SAf.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/10.C7ib9SAf.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/2.xIoVI8Pt.js +1 -0
- package/dist/build/client/_app/immutable/nodes/2.xIoVI8Pt.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/2.xIoVI8Pt.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/3.yf_BSypc.js +1 -0
- package/dist/build/client/_app/immutable/nodes/3.yf_BSypc.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/3.yf_BSypc.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/4.DcPD8uRH.js +3 -0
- package/dist/build/client/_app/immutable/nodes/4.DcPD8uRH.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/4.DcPD8uRH.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/5.Bnv17IW5.js +1 -0
- package/dist/build/client/_app/immutable/nodes/5.Bnv17IW5.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/5.Bnv17IW5.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/6.BzMUTdRA.js +1 -0
- package/dist/build/client/_app/immutable/nodes/6.BzMUTdRA.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/6.BzMUTdRA.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/7.axFX3R7h.js +1 -0
- package/dist/build/client/_app/immutable/nodes/7.axFX3R7h.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/7.axFX3R7h.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/8.DBrComIy.js +1 -0
- package/dist/build/client/_app/immutable/nodes/8.DBrComIy.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/8.DBrComIy.js.gz +0 -0
- package/dist/build/client/_app/immutable/nodes/9.CozJkzSE.js +1 -0
- package/dist/build/client/_app/immutable/nodes/9.CozJkzSE.js.br +0 -0
- package/dist/build/client/_app/immutable/nodes/9.CozJkzSE.js.gz +0 -0
- package/dist/build/client/_app/version.json +1 -0
- package/dist/build/client/_app/version.json.br +0 -0
- package/dist/build/client/_app/version.json.gz +0 -0
- package/dist/build/routes.json +1 -0
- package/dist/build/server/0-ZBLOQKP7.js +3 -0
- package/dist/build/server/0-ZBLOQKP7.js.map +6 -0
- package/dist/build/server/1-5WYCLPWK.js +3 -0
- package/dist/build/server/1-5WYCLPWK.js.map +6 -0
- package/dist/build/server/10-N3GZHVAL.js +3 -0
- package/dist/build/server/10-N3GZHVAL.js.map +6 -0
- package/dist/build/server/2-XRUNWLSZ.js +3 -0
- package/dist/build/server/2-XRUNWLSZ.js.map +6 -0
- package/dist/build/server/3-G6G4VVSG.js +3 -0
- package/dist/build/server/3-G6G4VVSG.js.map +6 -0
- package/dist/build/server/4-RAONXXL6.js +3 -0
- package/dist/build/server/4-RAONXXL6.js.map +6 -0
- package/dist/build/server/5-FHHUR6IU.js +3 -0
- package/dist/build/server/5-FHHUR6IU.js.map +6 -0
- package/dist/build/server/6-6KBB7U66.js +3 -0
- package/dist/build/server/6-6KBB7U66.js.map +6 -0
- package/dist/build/server/7-ZA6GJPFX.js +3 -0
- package/dist/build/server/7-ZA6GJPFX.js.map +6 -0
- package/dist/build/server/8-MCEF7TBG.js +3 -0
- package/dist/build/server/8-MCEF7TBG.js.map +6 -0
- package/dist/build/server/9-6V4EY4YA.js +3 -0
- package/dist/build/server/9-6V4EY4YA.js.map +6 -0
- package/dist/build/server/_layout.svelte-CKXMSCZZ.js +3 -0
- package/dist/build/server/_layout.svelte-CKXMSCZZ.js.map +6 -0
- package/dist/build/server/_page.svelte-3Y5APV4K.js +3 -0
- package/dist/build/server/_page.svelte-3Y5APV4K.js.map +6 -0
- package/dist/build/server/_page.svelte-JYYJHLNJ.js +3 -0
- package/dist/build/server/_page.svelte-JYYJHLNJ.js.map +6 -0
- package/dist/build/server/_page.svelte-QJUGTVOP.js +3 -0
- package/dist/build/server/_page.svelte-QJUGTVOP.js.map +6 -0
- package/dist/build/server/_page.svelte-S3KIXETO.js +3 -0
- package/dist/build/server/_page.svelte-S3KIXETO.js.map +6 -0
- package/dist/build/server/_page.svelte-UZF7NHFO.js +3 -0
- package/dist/build/server/_page.svelte-UZF7NHFO.js.map +6 -0
- package/dist/build/server/_page.svelte-WPZPALIR.js +3 -0
- package/dist/build/server/_page.svelte-WPZPALIR.js.map +6 -0
- package/dist/build/server/_page.svelte-XXUKHSQ3.js +3 -0
- package/dist/build/server/_page.svelte-XXUKHSQ3.js.map +6 -0
- package/dist/build/server/_page.svelte-YR5ZRVJB.js +3 -0
- package/dist/build/server/_page.svelte-YR5ZRVJB.js.map +6 -0
- package/dist/build/server/bowser-64WH7SLH.js +3 -0
- package/dist/build/server/bowser-64WH7SLH.js.map +6 -0
- package/dist/build/server/chunk-45OCATQP.js +3 -0
- package/dist/build/server/chunk-45OCATQP.js.map +6 -0
- package/dist/build/server/chunk-4SGGWC4Y.js +3 -0
- package/dist/build/server/chunk-4SGGWC4Y.js.map +6 -0
- package/dist/build/server/chunk-4ZFJD7V4.js +9 -0
- package/dist/build/server/chunk-4ZFJD7V4.js.map +6 -0
- package/dist/build/server/chunk-5AOSKFCC.js +3 -0
- package/dist/build/server/chunk-5AOSKFCC.js.map +6 -0
- package/dist/build/server/chunk-6CUGABU3.js +3 -0
- package/dist/build/server/chunk-6CUGABU3.js.map +6 -0
- package/dist/build/server/chunk-6ZFGHU6W.js +3 -0
- package/dist/build/server/chunk-6ZFGHU6W.js.map +6 -0
- package/dist/build/server/chunk-7H7K7YVM.js +23 -0
- package/dist/build/server/chunk-7H7K7YVM.js.map +6 -0
- package/dist/build/server/chunk-7LPGCU4C.js +11 -0
- package/dist/build/server/chunk-7LPGCU4C.js.map +6 -0
- package/dist/build/server/chunk-COXRAWZU.js +7 -0
- package/dist/build/server/chunk-COXRAWZU.js.map +6 -0
- package/dist/build/server/chunk-CSRMCT5X.js +3 -0
- package/dist/build/server/chunk-CSRMCT5X.js.map +6 -0
- package/dist/build/server/chunk-CTC7EH5D.js +8 -0
- package/dist/build/server/chunk-CTC7EH5D.js.map +6 -0
- package/dist/build/server/chunk-CZ754NYE.js +2 -0
- package/dist/build/server/chunk-CZ754NYE.js.map +6 -0
- package/dist/build/server/chunk-DVLTINVM.js +24 -0
- package/dist/build/server/chunk-DVLTINVM.js.map +6 -0
- package/dist/build/server/chunk-DYKW3K3W.js +4 -0
- package/dist/build/server/chunk-DYKW3K3W.js.map +6 -0
- package/dist/build/server/chunk-EFZAFSVU.js +5 -0
- package/dist/build/server/chunk-EFZAFSVU.js.map +6 -0
- package/dist/build/server/chunk-EI7KG3XR.js +119 -0
- package/dist/build/server/chunk-EI7KG3XR.js.map +6 -0
- package/dist/build/server/chunk-EN7Z5YF5.js +3 -0
- package/dist/build/server/chunk-EN7Z5YF5.js.map +6 -0
- package/dist/build/server/chunk-EPPCNHKZ.js +3 -0
- package/dist/build/server/chunk-EPPCNHKZ.js.map +6 -0
- package/dist/build/server/chunk-EV3SFPHU.js +9 -0
- package/dist/build/server/chunk-EV3SFPHU.js.map +6 -0
- package/dist/build/server/chunk-FQR3U6BT.js +3 -0
- package/dist/build/server/chunk-FQR3U6BT.js.map +6 -0
- package/dist/build/server/chunk-FX527VAY.js +3 -0
- package/dist/build/server/chunk-FX527VAY.js.map +6 -0
- package/dist/build/server/chunk-GLKH6VBF.js +3 -0
- package/dist/build/server/chunk-GLKH6VBF.js.map +6 -0
- package/dist/build/server/chunk-J3JWBB7E.js +9 -0
- package/dist/build/server/chunk-J3JWBB7E.js.map +6 -0
- package/dist/build/server/chunk-JBGJIY2K.js +3 -0
- package/dist/build/server/chunk-JBGJIY2K.js.map +6 -0
- package/dist/build/server/chunk-JCF4MFGG.js +3 -0
- package/dist/build/server/chunk-JCF4MFGG.js.map +6 -0
- package/dist/build/server/chunk-JLDSEZUK.js +3 -0
- package/dist/build/server/chunk-JLDSEZUK.js.map +6 -0
- package/dist/build/server/chunk-JOH2QUXW.js +3 -0
- package/dist/build/server/chunk-JOH2QUXW.js.map +6 -0
- package/dist/build/server/chunk-JUDBP2XJ.js +3 -0
- package/dist/build/server/chunk-JUDBP2XJ.js.map +6 -0
- package/dist/build/server/chunk-KFOZ3QDS.js +5 -0
- package/dist/build/server/chunk-KFOZ3QDS.js.map +6 -0
- package/dist/build/server/chunk-KUYN4HWD.js +3 -0
- package/dist/build/server/chunk-KUYN4HWD.js.map +6 -0
- package/dist/build/server/chunk-LBNNT2QS.js +3 -0
- package/dist/build/server/chunk-LBNNT2QS.js.map +6 -0
- package/dist/build/server/chunk-M5VLIKDC.js +3 -0
- package/dist/build/server/chunk-M5VLIKDC.js.map +6 -0
- package/dist/build/server/chunk-MFLM3JS7.js +3 -0
- package/dist/build/server/chunk-MFLM3JS7.js.map +6 -0
- package/dist/build/server/chunk-MLC2CEYH.js +7 -0
- package/dist/build/server/chunk-MLC2CEYH.js.map +6 -0
- package/dist/build/server/chunk-OWM5LWOG.js +3 -0
- package/dist/build/server/chunk-OWM5LWOG.js.map +6 -0
- package/dist/build/server/chunk-PNWN3T3A.js +3 -0
- package/dist/build/server/chunk-PNWN3T3A.js.map +6 -0
- package/dist/build/server/chunk-PWME7NGZ.js +3 -0
- package/dist/build/server/chunk-PWME7NGZ.js.map +6 -0
- package/dist/build/server/chunk-Q2IEUOHW.js +4 -0
- package/dist/build/server/chunk-Q2IEUOHW.js.map +6 -0
- package/dist/build/server/chunk-SVLGZRKZ.js +20 -0
- package/dist/build/server/chunk-SVLGZRKZ.js.map +6 -0
- package/dist/build/server/chunk-U7NJH7YG.js +3 -0
- package/dist/build/server/chunk-U7NJH7YG.js.map +6 -0
- package/dist/build/server/chunk-ULOSRW2D.js +3 -0
- package/dist/build/server/chunk-ULOSRW2D.js.map +6 -0
- package/dist/build/server/chunk-V4WLSBDY.js +3 -0
- package/dist/build/server/chunk-V4WLSBDY.js.map +6 -0
- package/dist/build/server/chunk-VKYMR5UJ.js +3 -0
- package/dist/build/server/chunk-VKYMR5UJ.js.map +6 -0
- package/dist/build/server/chunk-WFJCOJII.js +3 -0
- package/dist/build/server/chunk-WFJCOJII.js.map +6 -0
- package/dist/build/server/chunk-WV6QT4WX.js +3 -0
- package/dist/build/server/chunk-WV6QT4WX.js.map +6 -0
- package/dist/build/server/chunk-XHZNAFX4.js +3 -0
- package/dist/build/server/chunk-XHZNAFX4.js.map +6 -0
- package/dist/build/server/chunk-XQGDXRCJ.js +4 -0
- package/dist/build/server/chunk-XQGDXRCJ.js.map +6 -0
- package/dist/build/server/chunk-XYYC33WE.js +3 -0
- package/dist/build/server/chunk-XYYC33WE.js.map +6 -0
- package/dist/build/server/chunk-YHXLVT6T.js +19 -0
- package/dist/build/server/chunk-YHXLVT6T.js.map +6 -0
- package/dist/build/server/chunk-ZBF6TCMI.js +11 -0
- package/dist/build/server/chunk-ZBF6TCMI.js.map +6 -0
- package/dist/build/server/dist-es-2BUR2XC3.js +3 -0
- package/dist/build/server/dist-es-2BUR2XC3.js.map +6 -0
- package/dist/build/server/dist-es-4AKCON7Z.js +4 -0
- package/dist/build/server/dist-es-4AKCON7Z.js.map +6 -0
- package/dist/build/server/dist-es-6AEKBKLO.js +4 -0
- package/dist/build/server/dist-es-6AEKBKLO.js.map +6 -0
- package/dist/build/server/dist-es-7VEQXIE2.js +3 -0
- package/dist/build/server/dist-es-7VEQXIE2.js.map +6 -0
- package/dist/build/server/dist-es-BATVHFG5.js +8 -0
- package/dist/build/server/dist-es-BATVHFG5.js.map +6 -0
- package/dist/build/server/dist-es-KTHQ5GFH.js +3 -0
- package/dist/build/server/dist-es-KTHQ5GFH.js.map +6 -0
- package/dist/build/server/dist-es-PFWLVSUH.js +3 -0
- package/dist/build/server/dist-es-PFWLVSUH.js.map +6 -0
- package/dist/build/server/dist-es-SRGFDDYG.js +3 -0
- package/dist/build/server/dist-es-SRGFDDYG.js.map +6 -0
- package/dist/build/server/dist-es-SRLXROG6.js +3 -0
- package/dist/build/server/dist-es-SRLXROG6.js.map +6 -0
- package/dist/build/server/dist-es2-N6B2SB7P.js +8 -0
- package/dist/build/server/dist-es2-N6B2SB7P.js.map +6 -0
- package/dist/build/server/dist-es3-DKADLFA6.js +3 -0
- package/dist/build/server/dist-es3-DKADLFA6.js.map +6 -0
- package/dist/build/server/dist-es4-HWRJJ4KU.js +3 -0
- package/dist/build/server/dist-es4-HWRJJ4KU.js.map +6 -0
- package/dist/build/server/dist-es5-CNJWR77J.js +3 -0
- package/dist/build/server/dist-es5-CNJWR77J.js.map +6 -0
- package/dist/build/server/dist-es6-3H546ZJB.js +4 -0
- package/dist/build/server/dist-es6-3H546ZJB.js.map +6 -0
- package/dist/build/server/dist-es7-GBNLQKWI.js +3 -0
- package/dist/build/server/dist-es7-GBNLQKWI.js.map +6 -0
- package/dist/build/server/dist-es8-XKF26QFV.js +4 -0
- package/dist/build/server/dist-es8-XKF26QFV.js.map +6 -0
- package/dist/build/server/error.svelte-6ET2IFRD.js +3 -0
- package/dist/build/server/error.svelte-6ET2IFRD.js.map +6 -0
- package/dist/build/server/event-streams-4E4LBL7I.js +3 -0
- package/dist/build/server/event-streams-4E4LBL7I.js.map +6 -0
- package/dist/build/server/event-streams-P6EJEFOZ.js +3 -0
- package/dist/build/server/event-streams-P6EJEFOZ.js.map +6 -0
- package/dist/build/server/event-streams-Y2DDNV3W.js +3 -0
- package/dist/build/server/event-streams-Y2DDNV3W.js.map +6 -0
- package/dist/build/server/handler.js +3 -0
- package/dist/build/server/handler.js.map +6 -0
- package/dist/build/server/hooks.server-DUGXMI46.js +3 -0
- package/dist/build/server/hooks.server-DUGXMI46.js.map +6 -0
- package/dist/build/server/instance-R4IOGTAZ.js +69 -0
- package/dist/build/server/instance-R4IOGTAZ.js.map +6 -0
- package/dist/build/server/layout.svelte-2JY65LGT.js +3 -0
- package/dist/build/server/layout.svelte-2JY65LGT.js.map +6 -0
- package/dist/build/server/loadSso-G3UDUWRB.js +3 -0
- package/dist/build/server/loadSso-G3UDUWRB.js.map +6 -0
- package/dist/build/server/loadSso-IHGCKVPZ.js +3 -0
- package/dist/build/server/loadSso-IHGCKVPZ.js.map +6 -0
- package/dist/build/server/package.json +5 -0
- package/dist/build/server/remote-14csdey-AN6OF5DV.js +3 -0
- package/dist/build/server/remote-14csdey-AN6OF5DV.js.map +6 -0
- package/dist/build/server/remote-1tatjnv-AZZDHATA.js +3 -0
- package/dist/build/server/remote-1tatjnv-AZZDHATA.js.map +6 -0
- package/dist/build/server/remote-nc6tv3-PU2UBZ2H.js +3 -0
- package/dist/build/server/remote-nc6tv3-PU2UBZ2H.js.map +6 -0
- package/dist/build/server/remote-qvubti-BI734GR7.js +3 -0
- package/dist/build/server/remote-qvubti-BI734GR7.js.map +6 -0
- package/dist/build/server/signin-DR2A7DIJ.js +3 -0
- package/dist/build/server/signin-DR2A7DIJ.js.map +6 -0
- package/dist/build/server/signin-OFY7FSKY.js +3 -0
- package/dist/build/server/signin-OFY7FSKY.js.map +6 -0
- package/dist/build/server/sso-oidc-3ERD4PTK.js +3 -0
- package/dist/build/server/sso-oidc-3ERD4PTK.js.map +6 -0
- package/dist/build/server/sso-oidc-NILKGEWO.js +3 -0
- package/dist/build/server/sso-oidc-NILKGEWO.js.map +6 -0
- package/dist/build/server/stream.js +3 -0
- package/dist/build/server/stream.js.map +6 -0
- package/dist/build/server/sts-LINENT6I.js +3 -0
- package/dist/build/server/sts-LINENT6I.js.map +6 -0
- package/dist/build/server/sts-ZU7KLM25.js +3 -0
- package/dist/build/server/sts-ZU7KLM25.js.map +6 -0
- package/dist/cdk.d.ts +17 -0
- package/dist/cdk.js +83 -0
- package/docs/how-to/getting-started.md +110 -0
- package/package.json +69 -6
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* CommonJS polyfills */import { fileURLToPath } from 'node:url';import { createRequire } from 'node:module';const __filename = fileURLToPath(import.meta.url);const __dirname = fileURLToPath(new URL('.', import.meta.url));const require = createRequire(import.meta.url);/* end of CommonJS polyfills */
|
|
2
|
+
import{a as f}from"./chunk-A55324SF.mjs";var F={AmazonBot:"amazonbot","Amazon Silk":"amazon_silk","Android Browser":"android",BaiduSpider:"baiduspider",Bada:"bada",BingCrawler:"bingcrawler",Brave:"brave",BlackBerry:"blackberry","ChatGPT-User":"chatgpt_user",Chrome:"chrome",ClaudeBot:"claudebot",Chromium:"chromium",Diffbot:"diffbot",DuckDuckBot:"duckduckbot",DuckDuckGo:"duckduckgo",Electron:"electron",Epiphany:"epiphany",FacebookExternalHit:"facebookexternalhit",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot",GPTBot:"gptbot","Internet Explorer":"ie",InternetArchiveCrawler:"internetarchivecrawler","K-Meleon":"k_meleon",LibreWolf:"librewolf",Linespider:"linespider",Maxthon:"maxthon","Meta-ExternalAds":"meta_externalads","Meta-ExternalAgent":"meta_externalagent","Meta-ExternalFetcher":"meta_externalfetcher","Meta-WebIndexer":"meta_webindexer","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver","OAI-SearchBot":"oai_searchbot",Omgilibot:"omgilibot",Opera:"opera","Opera Coast":"opera_coast","Pale Moon":"pale_moon",PerplexityBot:"perplexitybot","Perplexity-User":"perplexity_user",PhantomJS:"phantomjs",PingdomBot:"pingdombot",Puffin:"puffin",QQ:"qq",QQLite:"qqlite",QupZilla:"qupzilla",Roku:"roku",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SlackBot:"slackbot",SeaMonkey:"seamonkey",Sleipnir:"sleipnir","Sogou Browser":"sogou",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat",YahooSlurp:"yahooslurp","Yandex Browser":"yandex",YandexBot:"yandexbot",YouBot:"youbot"},p={amazonbot:"AmazonBot",amazon_silk:"Amazon Silk",android:"Android Browser",baiduspider:"BaiduSpider",bada:"Bada",bingcrawler:"BingCrawler",blackberry:"BlackBerry",brave:"Brave",chatgpt_user:"ChatGPT-User",chrome:"Chrome",claudebot:"ClaudeBot",chromium:"Chromium",diffbot:"Diffbot",duckduckbot:"DuckDuckBot",duckduckgo:"DuckDuckGo",edge:"Microsoft Edge",electron:"Electron",epiphany:"Epiphany",facebookexternalhit:"FacebookExternalHit",firefox:"Firefox",focus:"Focus",generic:"Generic",google_search:"Google Search",googlebot:"Googlebot",gptbot:"GPTBot",ie:"Internet Explorer",internetarchivecrawler:"InternetArchiveCrawler",k_meleon:"K-Meleon",librewolf:"LibreWolf",linespider:"Linespider",maxthon:"Maxthon",meta_externalads:"Meta-ExternalAds",meta_externalagent:"Meta-ExternalAgent",meta_externalfetcher:"Meta-ExternalFetcher",meta_webindexer:"Meta-WebIndexer",mz:"MZ Browser",naver:"NAVER Whale Browser",oai_searchbot:"OAI-SearchBot",omgilibot:"Omgilibot",opera:"Opera",opera_coast:"Opera Coast",pale_moon:"Pale Moon",perplexitybot:"PerplexityBot",perplexity_user:"Perplexity-User",phantomjs:"PhantomJS",pingdombot:"PingdomBot",puffin:"Puffin",qq:"QQ Browser",qqlite:"QQ Browser Lite",qupzilla:"QupZilla",roku:"Roku",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",slackbot:"SlackBot",sleipnir:"Sleipnir",sogou:"Sogou Browser",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yahooslurp:"YahooSlurp",yandex:"Yandex Browser",yandexbot:"YandexBot",youbot:"YouBot"},o={bot:"bot",desktop:"desktop",mobile:"mobile",tablet:"tablet",tv:"tv"},b={Android:"Android",Bada:"Bada",BlackBerry:"BlackBerry",ChromeOS:"Chrome OS",HarmonyOS:"HarmonyOS",iOS:"iOS",Linux:"Linux",MacOS:"macOS",PlayStation4:"PlayStation 4",Roku:"Roku",Tizen:"Tizen",WebOS:"WebOS",Windows:"Windows",WindowsPhone:"Windows Phone"},m={Blink:"Blink",EdgeHTML:"EdgeHTML",Gecko:"Gecko",Presto:"Presto",Trident:"Trident",WebKit:"WebKit"};var s=class r{static{f(this,"Utils")}static getFirstMatch(e,t){let i=t.match(e);return i&&i.length>0&&i[1]||""}static getSecondMatch(e,t){let i=t.match(e);return i&&i.length>1&&i[2]||""}static matchAndReturnConst(e,t,i){if(e.test(t))return i}static getWindowsVersionName(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(e){let t=e.split(".").splice(0,2).map(c=>parseInt(c,10)||0);t.push(0);let i=t[0],a=t[1];if(i===10)switch(a){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}switch(i){case 11:return"Big Sur";case 12:return"Monterey";case 13:return"Ventura";case 14:return"Sonoma";case 15:return"Sequoia";default:return}}static getAndroidVersionName(e){let t=e.split(".").splice(0,2).map(i=>parseInt(i,10)||0);if(t.push(0),!(t[0]===1&&t[1]<5)){if(t[0]===1&&t[1]<6)return"Cupcake";if(t[0]===1&&t[1]>=6)return"Donut";if(t[0]===2&&t[1]<2)return"Eclair";if(t[0]===2&&t[1]===2)return"Froyo";if(t[0]===2&&t[1]>2)return"Gingerbread";if(t[0]===3)return"Honeycomb";if(t[0]===4&&t[1]<1)return"Ice Cream Sandwich";if(t[0]===4&&t[1]<4)return"Jelly Bean";if(t[0]===4&&t[1]>=4)return"KitKat";if(t[0]===5)return"Lollipop";if(t[0]===6)return"Marshmallow";if(t[0]===7)return"Nougat";if(t[0]===8)return"Oreo";if(t[0]===9)return"Pie"}}static getVersionPrecision(e){return e.split(".").length}static compareVersions(e,t,i=!1){let a=r.getVersionPrecision(e),c=r.getVersionPrecision(t),u=Math.max(a,c),l=0,d=r.map([e,t],g=>{let h=u-r.getVersionPrecision(g),A=g+new Array(h+1).join(".0");return r.map(A.split("."),y=>new Array(20-y.length).join("0")+y).reverse()});for(i&&(l=u-Math.min(a,c)),u-=1;u>=l;){if(d[0][u]>d[1][u])return 1;if(d[0][u]===d[1][u]){if(u===l)return 0;u-=1}else if(d[0][u]<d[1][u])return-1}}static map(e,t){let i=[],a;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(a=0;a<e.length;a+=1)i.push(t(e[a]));return i}static find(e,t){let i,a;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,a=e.length;i<a;i+=1){let c=e[i];if(t(c,i))return c}}static assign(e,...t){let i=e,a,c;if(Object.assign)return Object.assign(e,...t);for(a=0,c=t.length;a<c;a+=1){let u=t[a];typeof u=="object"&&u!==null&&Object.keys(u).forEach(d=>{i[d]=u[d]})}return e}static getBrowserAlias(e){return F[e]}static getBrowserTypeByAlias(e){return p[e]||""}};var n=/version\/(\d+(\.?_?\d+)+)/i,P=[{test:[/gptbot/i],describe(r){let e={name:"GPTBot"},t=s.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/chatgpt-user/i],describe(r){let e={name:"ChatGPT-User"},t=s.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/oai-searchbot/i],describe(r){let e={name:"OAI-SearchBot"},t=s.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe(r){let e={name:"ClaudeBot"},t=s.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/omgilibot/i,/webzio-extended/i],describe(r){let e={name:"Omgilibot"},t=s.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/diffbot/i],describe(r){let e={name:"Diffbot"},t=s.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/perplexitybot/i],describe(r){let e={name:"PerplexityBot"},t=s.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/perplexity-user/i],describe(r){let e={name:"Perplexity-User"},t=s.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/youbot/i],describe(r){let e={name:"YouBot"},t=s.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/meta-webindexer/i],describe(r){let e={name:"Meta-WebIndexer"},t=s.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/meta-externalads/i],describe(r){let e={name:"Meta-ExternalAds"},t=s.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/meta-externalagent/i],describe(r){let e={name:"Meta-ExternalAgent"},t=s.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/meta-externalfetcher/i],describe(r){let e={name:"Meta-ExternalFetcher"},t=s.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/googlebot/i],describe(r){let e={name:"Googlebot"},t=s.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/linespider/i],describe(r){let e={name:"Linespider"},t=s.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/amazonbot/i],describe(r){let e={name:"AmazonBot"},t=s.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/bingbot/i],describe(r){let e={name:"BingCrawler"},t=s.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/baiduspider/i],describe(r){let e={name:"BaiduSpider"},t=s.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/duckduckbot/i],describe(r){let e={name:"DuckDuckBot"},t=s.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/ia_archiver/i],describe(r){let e={name:"InternetArchiveCrawler"},t=s.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe(){return{name:"FacebookExternalHit"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe(r){let e={name:"SlackBot"},t=s.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/yahoo!?[\s/]*slurp/i],describe(){return{name:"YahooSlurp"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe(){return{name:"YandexBot"}}},{test:[/pingdom/i],describe(){return{name:"PingdomBot"}}},{test:[/opera/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opr\/|opios/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/SamsungBrowser/i],describe(r){let e={name:"Samsung Internet for Android"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Whale/i],describe(r){let e={name:"NAVER Whale Browser"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/PaleMoon/i],describe(r){let e={name:"Pale Moon"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/MZBrowser/i],describe(r){let e={name:"MZ Browser"},t=s.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/focus/i],describe(r){let e={name:"Focus"},t=s.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/swing/i],describe(r){let e={name:"Swing"},t=s.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/coast/i],describe(r){let e={name:"Opera Coast"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(r){let e={name:"Opera Touch"},t=s.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/yabrowser/i],describe(r){let e={name:"Yandex Browser"},t=s.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/ucbrowser/i],describe(r){let e={name:"UC Browser"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Maxthon|mxios/i],describe(r){let e={name:"Maxthon"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/epiphany/i],describe(r){let e={name:"Epiphany"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/puffin/i],describe(r){let e={name:"Puffin"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sleipnir/i],describe(r){let e={name:"Sleipnir"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/k-meleon/i],describe(r){let e={name:"K-Meleon"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/micromessenger/i],describe(r){let e={name:"WeChat"},t=s.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/qqbrowser/i],describe(r){let e={name:/qqbrowserlite/i.test(r)?"QQ Browser Lite":"QQ Browser"},t=s.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/msie|trident/i],describe(r){let e={name:"Internet Explorer"},t=s.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/\sedg\//i],describe(r){let e={name:"Microsoft Edge"},t=s.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/edg([ea]|ios)/i],describe(r){let e={name:"Microsoft Edge"},t=s.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/vivaldi/i],describe(r){let e={name:"Vivaldi"},t=s.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/seamonkey/i],describe(r){let e={name:"SeaMonkey"},t=s.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sailfish/i],describe(r){let e={name:"Sailfish"},t=s.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,r);return t&&(e.version=t),e}},{test:[/silk/i],describe(r){let e={name:"Amazon Silk"},t=s.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/phantom/i],describe(r){let e={name:"PhantomJS"},t=s.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/slimerjs/i],describe(r){let e={name:"SlimerJS"},t=s.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e={name:"BlackBerry"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(web|hpw)[o0]s/i],describe(r){let e={name:"WebOS Browser"},t=s.getFirstMatch(n,r)||s.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/bada/i],describe(r){let e={name:"Bada"},t=s.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/tizen/i],describe(r){let e={name:"Tizen"},t=s.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/qupzilla/i],describe(r){let e={name:"QupZilla"},t=s.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/librewolf/i],describe(r){let e={name:"LibreWolf"},t=s.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/firefox|iceweasel|fxios/i],describe(r){let e={name:"Firefox"},t=s.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/electron/i],describe(r){let e={name:"Electron"},t=s.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\.[x]/i],describe(r){let e={name:"Sogou Browser"},t=s.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,r),i=s.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,r),a=s.getFirstMatch(/se ([\d.]+)x/i,r),c=t||i||a;return c&&(e.version=c),e}},{test:[/MiuiBrowser/i],describe(r){let e={name:"Miui"},t=s.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){return r.hasBrand("DuckDuckGo")?!0:r.test(/\sDdg\/[\d.]+$/i)},describe(r,e){let t={name:"DuckDuckGo"};if(e){let a=e.getBrandVersion("DuckDuckGo");if(a)return t.version=a,t}let i=s.getFirstMatch(/\sDdg\/([\d.]+)$/i,r);return i&&(t.version=i),t}},{test(r){return r.hasBrand("Brave")},describe(r,e){let t={name:"Brave"};if(e){let i=e.getBrandVersion("Brave");if(i)return t.version=i,t}return t}},{test:[/chromium/i],describe(r){let e={name:"Chromium"},t=s.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/chrome|crios|crmo/i],describe(r){let e={name:"Chrome"},t=s.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/GSA/i],describe(r){let e={name:"Google Search"},t=s.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e={name:"Android Browser"},t=s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/playstation 4/i],describe(r){let e={name:"PlayStation 4"},t=s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/safari|applewebkit/i],describe(r){let e={name:"Safari"},t=s.getFirstMatch(n,r);return t&&(e.version=t),e}},{test:[/.*/i],describe(r){let e=/^(.*)\/(.*) /,t=/^(.*)\/(.*)[ \t]\((.*)/,a=r.search("\\(")!==-1?t:e;return{name:s.getFirstMatch(a,r),version:s.getSecondMatch(a,r)}}}],S=P;var B=[{test:[/Roku\/DVP/],describe(r){let e=s.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,r);return{name:b.Roku,version:e}}},{test:[/windows phone/i],describe(r){let e=s.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,r);return{name:b.WindowsPhone,version:e}}},{test:[/windows /i],describe(r){let e=s.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,r),t=s.getWindowsVersionName(e);return{name:b.Windows,version:e,versionName:t}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(r){let e={name:b.iOS},t=s.getSecondMatch(/(Version\/)(\d[\d.]+)/,r);return t&&(e.version=t),e}},{test:[/macintosh/i],describe(r){let e=s.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,r).replace(/[_\s]/g,"."),t=s.getMacOSVersionName(e),i={name:b.MacOS,version:e};return t&&(i.versionName=t),i}},{test:[/(ipod|iphone|ipad)/i],describe(r){let e=s.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,r).replace(/[_\s]/g,".");return{name:b.iOS,version:e}}},{test:[/OpenHarmony/i],describe(r){let e=s.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i,r);return{name:b.HarmonyOS,version:e}}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e=s.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,r),t=s.getAndroidVersionName(e),i={name:b.Android,version:e};return t&&(i.versionName=t),i}},{test:[/(web|hpw)[o0]s/i],describe(r){let e=s.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,r),t={name:b.WebOS};return e&&e.length&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e=s.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,r)||s.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,r)||s.getFirstMatch(/\bbb(\d+)/i,r);return{name:b.BlackBerry,version:e}}},{test:[/bada/i],describe(r){let e=s.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,r);return{name:b.Bada,version:e}}},{test:[/tizen/i],describe(r){let e=s.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,r);return{name:b.Tizen,version:e}}},{test:[/linux/i],describe(){return{name:b.Linux}}},{test:[/CrOS/],describe(){return{name:b.ChromeOS}}},{test:[/PlayStation 4/],describe(r){let e=s.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,r);return{name:b.PlayStation4,version:e}}}];var x=[{test:[/googlebot/i],describe(){return{type:o.bot,vendor:"Google"}}},{test:[/linespider/i],describe(){return{type:o.bot,vendor:"Line"}}},{test:[/amazonbot/i],describe(){return{type:o.bot,vendor:"Amazon"}}},{test:[/gptbot/i],describe(){return{type:o.bot,vendor:"OpenAI"}}},{test:[/chatgpt-user/i],describe(){return{type:o.bot,vendor:"OpenAI"}}},{test:[/oai-searchbot/i],describe(){return{type:o.bot,vendor:"OpenAI"}}},{test:[/baiduspider/i],describe(){return{type:o.bot,vendor:"Baidu"}}},{test:[/bingbot/i],describe(){return{type:o.bot,vendor:"Bing"}}},{test:[/duckduckbot/i],describe(){return{type:o.bot,vendor:"DuckDuckGo"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe(){return{type:o.bot,vendor:"Anthropic"}}},{test:[/omgilibot/i,/webzio-extended/i],describe(){return{type:o.bot,vendor:"Webz.io"}}},{test:[/diffbot/i],describe(){return{type:o.bot,vendor:"Diffbot"}}},{test:[/perplexitybot/i],describe(){return{type:o.bot,vendor:"Perplexity AI"}}},{test:[/perplexity-user/i],describe(){return{type:o.bot,vendor:"Perplexity AI"}}},{test:[/youbot/i],describe(){return{type:o.bot,vendor:"You.com"}}},{test:[/ia_archiver/i],describe(){return{type:o.bot,vendor:"Internet Archive"}}},{test:[/meta-webindexer/i],describe(){return{type:o.bot,vendor:"Meta"}}},{test:[/meta-externalads/i],describe(){return{type:o.bot,vendor:"Meta"}}},{test:[/meta-externalagent/i],describe(){return{type:o.bot,vendor:"Meta"}}},{test:[/meta-externalfetcher/i],describe(){return{type:o.bot,vendor:"Meta"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe(){return{type:o.bot,vendor:"Meta"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe(){return{type:o.bot,vendor:"Slack"}}},{test:[/yahoo/i],describe(){return{type:o.bot,vendor:"Yahoo"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe(){return{type:o.bot,vendor:"Yandex"}}},{test:[/pingdom/i],describe(){return{type:o.bot,vendor:"Pingdom"}}},{test:[/huawei/i],describe(r){let e=s.getFirstMatch(/(can-l01)/i,r)&&"Nova",t={type:o.mobile,vendor:"Huawei"};return e&&(t.model=e),t}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe(){return{type:o.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe(){return{type:o.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(){return{type:o.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe(){return{type:o.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe(){return{type:o.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe(){return{type:o.tablet}}},{test(r){let e=r.test(/ipod|iphone/i),t=r.test(/like (ipod|iphone)/i);return e&&!t},describe(r){let e=s.getFirstMatch(/(ipod|iphone)/i,r);return{type:o.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe(){return{type:o.mobile,vendor:"Nexus"}}},{test:[/Nokia/i],describe(r){let e=s.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i,r),t={type:o.mobile,vendor:"Nokia"};return e&&(t.model=e),t}},{test:[/[^-]mobi/i],describe(){return{type:o.mobile}}},{test(r){return r.getBrowserName(!0)==="blackberry"},describe(){return{type:o.mobile,vendor:"BlackBerry"}}},{test(r){return r.getBrowserName(!0)==="bada"},describe(){return{type:o.mobile}}},{test(r){return r.getBrowserName()==="windows phone"},describe(){return{type:o.mobile,vendor:"Microsoft"}}},{test(r){let e=Number(String(r.getOSVersion()).split(".")[0]);return r.getOSName(!0)==="android"&&e>=3},describe(){return{type:o.tablet}}},{test(r){return r.getOSName(!0)==="android"},describe(){return{type:o.mobile}}},{test:[/smart-?tv|smarttv/i],describe(){return{type:o.tv}}},{test:[/netcast/i],describe(){return{type:o.tv}}},{test(r){return r.getOSName(!0)==="macos"},describe(){return{type:o.desktop,vendor:"Apple"}}},{test(r){return r.getOSName(!0)==="windows"},describe(){return{type:o.desktop}}},{test(r){return r.getOSName(!0)==="linux"},describe(){return{type:o.desktop}}},{test(r){return r.getOSName(!0)==="playstation 4"},describe(){return{type:o.tv}}},{test(r){return r.getOSName(!0)==="roku"},describe(){return{type:o.tv}}}];var k=[{test(r){return r.getBrowserName(!0)==="microsoft edge"},describe(r){if(/\sedg\//i.test(r))return{name:m.Blink};let t=s.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,r);return{name:m.EdgeHTML,version:t}}},{test:[/trident/i],describe(r){let e={name:m.Trident},t=s.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){return r.test(/presto/i)},describe(r){let e={name:m.Presto},t=s.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=r.test(/gecko/i),t=r.test(/like gecko/i);return e&&!t},describe(r){let e={name:m.Gecko},t=s.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:m.Blink}}},{test:[/(apple)?webkit/i],describe(r){let e={name:m.WebKit},t=s.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}}];var w=class{static{f(this,"Parser")}constructor(e,t=!1,i=null){if(e==null||e==="")throw new Error("UserAgent parameter can't be empty");this._ua=e;let a=!1;typeof t=="boolean"?(a=t,this._hints=i):t!=null&&typeof t=="object"?this._hints=t:this._hints=null,this.parsedResult={},a!==!0&&this.parse()}getHints(){return this._hints}hasBrand(e){if(!this._hints||!Array.isArray(this._hints.brands))return!1;let t=e.toLowerCase();return this._hints.brands.some(i=>i.brand&&i.brand.toLowerCase()===t)}getBrandVersion(e){if(!this._hints||!Array.isArray(this._hints.brands))return;let t=e.toLowerCase(),i=this._hints.brands.find(a=>a.brand&&a.brand.toLowerCase()===t);return i?i.version:void 0}getUA(){return this._ua}test(e){return e.test(this._ua)}parseBrowser(){this.parsedResult.browser={};let e=s.find(S,t=>{if(typeof t.test=="function")return t.test(this);if(Array.isArray(t.test))return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.browser=e.describe(this.getUA(),this)),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};let e=s.find(B,t=>{if(typeof t.test=="function")return t.test(this);if(Array.isArray(t.test))return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os}getOSName(e){let{name:t}=this.getOS();return e?String(t).toLowerCase()||"":t||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(e=!1){let{type:t}=this.getPlatform();return e?String(t).toLowerCase()||"":t||""}parsePlatform(){this.parsedResult.platform={};let e=s.find(x,t=>{if(typeof t.test=="function")return t.test(this);if(Array.isArray(t.test))return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};let e=s.find(k,t=>{if(typeof t.test=="function")return t.test(this);if(Array.isArray(t.test))return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return s.assign({},this.parsedResult)}satisfies(e){let t={},i=0,a={},c=0;if(Object.keys(e).forEach(l=>{let d=e[l];typeof d=="string"?(a[l]=d,c+=1):typeof d=="object"&&(t[l]=d,i+=1)}),i>0){let l=Object.keys(t),d=s.find(l,h=>this.isOS(h));if(d){let h=this.satisfies(t[d]);if(h!==void 0)return h}let g=s.find(l,h=>this.isPlatform(h));if(g){let h=this.satisfies(t[g]);if(h!==void 0)return h}}if(c>0){let l=Object.keys(a),d=s.find(l,g=>this.isBrowser(g,!0));if(d!==void 0)return this.compareVersion(a[d])}}isBrowser(e,t=!1){let i=this.getBrowserName().toLowerCase(),a=e.toLowerCase(),c=s.getBrowserTypeByAlias(a);return t&&c&&(a=c.toLowerCase()),a===i}compareVersion(e){let t=[0],i=e,a=!1,c=this.getBrowserVersion();if(typeof c=="string")return e[0]===">"||e[0]==="<"?(i=e.substr(1),e[1]==="="?(a=!0,i=e.substr(2)):t=[],e[0]===">"?t.push(1):t.push(-1)):e[0]==="="?i=e.substr(1):e[0]==="~"&&(a=!0,i=e.substr(1)),t.indexOf(s.compareVersions(c,i,a))>-1}isOS(e){return this.getOSName(!0)===String(e).toLowerCase()}isPlatform(e){return this.getPlatformType(!0)===String(e).toLowerCase()}isEngine(e){return this.getEngineName(!0)===String(e).toLowerCase()}is(e,t=!1){return this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)}some(e=[]){return e.some(t=>this.is(t))}},v=w;var M=class{static{f(this,"Bowser")}static getParser(e,t=!1,i=null){if(typeof e!="string")throw new Error("UserAgent should be a string");return new v(e,t,i)}static parse(e,t=null){return new v(e,t).getResult()}static get BROWSER_MAP(){return p}static get ENGINE_MAP(){return m}static get OS_MAP(){return b}static get PLATFORMS_MAP(){return o}},$=M;export{$ as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/constants.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/utils.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/parser-browsers.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/parser-os.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/parser-platforms.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/parser-engines.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/parser.js", "../../../../node_modules/.bun/bowser@2.14.1/node_modules/bowser/src/bowser.js"],
|
|
4
|
+
"sourcesContent": ["// NOTE: this list must be up-to-date with browsers listed in\n// test/acceptance/useragentstrings.yml\nexport const BROWSER_ALIASES_MAP = {\n AmazonBot: 'amazonbot',\n 'Amazon Silk': 'amazon_silk',\n 'Android Browser': 'android',\n BaiduSpider: 'baiduspider',\n Bada: 'bada',\n BingCrawler: 'bingcrawler',\n Brave: 'brave',\n BlackBerry: 'blackberry',\n 'ChatGPT-User': 'chatgpt_user',\n Chrome: 'chrome',\n ClaudeBot: 'claudebot',\n Chromium: 'chromium',\n Diffbot: 'diffbot',\n DuckDuckBot: 'duckduckbot',\n DuckDuckGo: 'duckduckgo',\n Electron: 'electron',\n Epiphany: 'epiphany',\n FacebookExternalHit: 'facebookexternalhit',\n Firefox: 'firefox',\n Focus: 'focus',\n Generic: 'generic',\n 'Google Search': 'google_search',\n Googlebot: 'googlebot',\n GPTBot: 'gptbot',\n 'Internet Explorer': 'ie',\n InternetArchiveCrawler: 'internetarchivecrawler',\n 'K-Meleon': 'k_meleon',\n LibreWolf: 'librewolf',\n Linespider: 'linespider',\n Maxthon: 'maxthon',\n 'Meta-ExternalAds': 'meta_externalads',\n 'Meta-ExternalAgent': 'meta_externalagent',\n 'Meta-ExternalFetcher': 'meta_externalfetcher',\n 'Meta-WebIndexer': 'meta_webindexer',\n 'Microsoft Edge': 'edge',\n 'MZ Browser': 'mz',\n 'NAVER Whale Browser': 'naver',\n 'OAI-SearchBot': 'oai_searchbot',\n Omgilibot: 'omgilibot',\n Opera: 'opera',\n 'Opera Coast': 'opera_coast',\n 'Pale Moon': 'pale_moon',\n PerplexityBot: 'perplexitybot',\n 'Perplexity-User': 'perplexity_user',\n PhantomJS: 'phantomjs',\n PingdomBot: 'pingdombot',\n Puffin: 'puffin',\n QQ: 'qq',\n QQLite: 'qqlite',\n QupZilla: 'qupzilla',\n Roku: 'roku',\n Safari: 'safari',\n Sailfish: 'sailfish',\n 'Samsung Internet for Android': 'samsung_internet',\n SlackBot: 'slackbot',\n SeaMonkey: 'seamonkey',\n Sleipnir: 'sleipnir',\n 'Sogou Browser': 'sogou',\n Swing: 'swing',\n Tizen: 'tizen',\n 'UC Browser': 'uc',\n Vivaldi: 'vivaldi',\n 'WebOS Browser': 'webos',\n WeChat: 'wechat',\n YahooSlurp: 'yahooslurp',\n 'Yandex Browser': 'yandex',\n YandexBot: 'yandexbot',\n YouBot: 'youbot',\n};\n\nexport const BROWSER_MAP = {\n amazonbot: 'AmazonBot',\n amazon_silk: 'Amazon Silk',\n android: 'Android Browser',\n baiduspider: 'BaiduSpider',\n bada: 'Bada',\n bingcrawler: 'BingCrawler',\n blackberry: 'BlackBerry',\n brave: 'Brave',\n chatgpt_user: 'ChatGPT-User',\n chrome: 'Chrome',\n claudebot: 'ClaudeBot',\n chromium: 'Chromium',\n diffbot: 'Diffbot',\n duckduckbot: 'DuckDuckBot',\n duckduckgo: 'DuckDuckGo',\n edge: 'Microsoft Edge',\n electron: 'Electron',\n epiphany: 'Epiphany',\n facebookexternalhit: 'FacebookExternalHit',\n firefox: 'Firefox',\n focus: 'Focus',\n generic: 'Generic',\n google_search: 'Google Search',\n googlebot: 'Googlebot',\n gptbot: 'GPTBot',\n ie: 'Internet Explorer',\n internetarchivecrawler: 'InternetArchiveCrawler',\n k_meleon: 'K-Meleon',\n librewolf: 'LibreWolf',\n linespider: 'Linespider',\n maxthon: 'Maxthon',\n meta_externalads: 'Meta-ExternalAds',\n meta_externalagent: 'Meta-ExternalAgent',\n meta_externalfetcher: 'Meta-ExternalFetcher',\n meta_webindexer: 'Meta-WebIndexer',\n mz: 'MZ Browser',\n naver: 'NAVER Whale Browser',\n oai_searchbot: 'OAI-SearchBot',\n omgilibot: 'Omgilibot',\n opera: 'Opera',\n opera_coast: 'Opera Coast',\n pale_moon: 'Pale Moon',\n perplexitybot: 'PerplexityBot',\n perplexity_user: 'Perplexity-User',\n phantomjs: 'PhantomJS',\n pingdombot: 'PingdomBot',\n puffin: 'Puffin',\n qq: 'QQ Browser',\n qqlite: 'QQ Browser Lite',\n qupzilla: 'QupZilla',\n roku: 'Roku',\n safari: 'Safari',\n sailfish: 'Sailfish',\n samsung_internet: 'Samsung Internet for Android',\n seamonkey: 'SeaMonkey',\n slackbot: 'SlackBot',\n sleipnir: 'Sleipnir',\n sogou: 'Sogou Browser',\n swing: 'Swing',\n tizen: 'Tizen',\n uc: 'UC Browser',\n vivaldi: 'Vivaldi',\n webos: 'WebOS Browser',\n wechat: 'WeChat',\n yahooslurp: 'YahooSlurp',\n yandex: 'Yandex Browser',\n yandexbot: 'YandexBot',\n youbot: 'YouBot',\n};\n\nexport const PLATFORMS_MAP = {\n bot: 'bot',\n desktop: 'desktop',\n mobile: 'mobile',\n tablet: 'tablet',\n tv: 'tv',\n};\n\nexport const OS_MAP = {\n Android: 'Android',\n Bada: 'Bada',\n BlackBerry: 'BlackBerry',\n ChromeOS: 'Chrome OS',\n HarmonyOS: 'HarmonyOS',\n iOS: 'iOS',\n Linux: 'Linux',\n MacOS: 'macOS',\n PlayStation4: 'PlayStation 4',\n Roku: 'Roku',\n Tizen: 'Tizen',\n WebOS: 'WebOS',\n Windows: 'Windows',\n WindowsPhone: 'Windows Phone',\n};\n\nexport const ENGINE_MAP = {\n Blink: 'Blink',\n EdgeHTML: 'EdgeHTML',\n Gecko: 'Gecko',\n Presto: 'Presto',\n Trident: 'Trident',\n WebKit: 'WebKit',\n};\n", "import { BROWSER_MAP, BROWSER_ALIASES_MAP } from './constants.js';\n\nexport default class Utils {\n /**\n * Get first matched item for a string\n * @param {RegExp} regexp\n * @param {String} ua\n * @return {Array|{index: number, input: string}|*|boolean|string}\n */\n static getFirstMatch(regexp, ua) {\n const match = ua.match(regexp);\n return (match && match.length > 0 && match[1]) || '';\n }\n\n /**\n * Get second matched item for a string\n * @param regexp\n * @param {String} ua\n * @return {Array|{index: number, input: string}|*|boolean|string}\n */\n static getSecondMatch(regexp, ua) {\n const match = ua.match(regexp);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n /**\n * Match a regexp and return a constant or undefined\n * @param {RegExp} regexp\n * @param {String} ua\n * @param {*} _const Any const that will be returned if regexp matches the string\n * @return {*}\n */\n static matchAndReturnConst(regexp, ua, _const) {\n if (regexp.test(ua)) {\n return _const;\n }\n return void (0);\n }\n\n static getWindowsVersionName(version) {\n switch (version) {\n case 'NT': return 'NT';\n case 'XP': return 'XP';\n case 'NT 5.0': return '2000';\n case 'NT 5.1': return 'XP';\n case 'NT 5.2': return '2003';\n case 'NT 6.0': return 'Vista';\n case 'NT 6.1': return '7';\n case 'NT 6.2': return '8';\n case 'NT 6.3': return '8.1';\n case 'NT 10.0': return '10';\n default: return undefined;\n }\n }\n\n /**\n * Get macOS version name\n * 10.5 - Leopard\n * 10.6 - Snow Leopard\n * 10.7 - Lion\n * 10.8 - Mountain Lion\n * 10.9 - Mavericks\n * 10.10 - Yosemite\n * 10.11 - El Capitan\n * 10.12 - Sierra\n * 10.13 - High Sierra\n * 10.14 - Mojave\n * 10.15 - Catalina\n * 11 - Big Sur\n * 12 - Monterey\n * 13 - Ventura\n * 14 - Sonoma\n * 15 - Sequoia\n *\n * @example\n * getMacOSVersionName(\"10.14\") // 'Mojave'\n *\n * @param {string} version\n * @return {string} versionName\n */\n static getMacOSVersionName(version) {\n const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n v.push(0);\n const major = v[0];\n const minor = v[1];\n\n if (major === 10) {\n switch (minor) {\n case 5: return 'Leopard';\n case 6: return 'Snow Leopard';\n case 7: return 'Lion';\n case 8: return 'Mountain Lion';\n case 9: return 'Mavericks';\n case 10: return 'Yosemite';\n case 11: return 'El Capitan';\n case 12: return 'Sierra';\n case 13: return 'High Sierra';\n case 14: return 'Mojave';\n case 15: return 'Catalina';\n default: return undefined;\n }\n }\n\n switch (major) {\n case 11: return 'Big Sur';\n case 12: return 'Monterey';\n case 13: return 'Ventura';\n case 14: return 'Sonoma';\n case 15: return 'Sequoia';\n default: return undefined;\n }\n }\n\n /**\n * Get Android version name\n * 1.5 - Cupcake\n * 1.6 - Donut\n * 2.0 - Eclair\n * 2.1 - Eclair\n * 2.2 - Froyo\n * 2.x - Gingerbread\n * 3.x - Honeycomb\n * 4.0 - Ice Cream Sandwich\n * 4.1 - Jelly Bean\n * 4.4 - KitKat\n * 5.x - Lollipop\n * 6.x - Marshmallow\n * 7.x - Nougat\n * 8.x - Oreo\n * 9.x - Pie\n *\n * @example\n * getAndroidVersionName(\"7.0\") // 'Nougat'\n *\n * @param {string} version\n * @return {string} versionName\n */\n static getAndroidVersionName(version) {\n const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n v.push(0);\n if (v[0] === 1 && v[1] < 5) return undefined;\n if (v[0] === 1 && v[1] < 6) return 'Cupcake';\n if (v[0] === 1 && v[1] >= 6) return 'Donut';\n if (v[0] === 2 && v[1] < 2) return 'Eclair';\n if (v[0] === 2 && v[1] === 2) return 'Froyo';\n if (v[0] === 2 && v[1] > 2) return 'Gingerbread';\n if (v[0] === 3) return 'Honeycomb';\n if (v[0] === 4 && v[1] < 1) return 'Ice Cream Sandwich';\n if (v[0] === 4 && v[1] < 4) return 'Jelly Bean';\n if (v[0] === 4 && v[1] >= 4) return 'KitKat';\n if (v[0] === 5) return 'Lollipop';\n if (v[0] === 6) return 'Marshmallow';\n if (v[0] === 7) return 'Nougat';\n if (v[0] === 8) return 'Oreo';\n if (v[0] === 9) return 'Pie';\n return undefined;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n static getVersionPrecision(version) {\n return version.split('.').length;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions('1.10.2.1', '1.8.2.1.90') // 1\n * compareVersions('1.010.2.1', '1.09.2.1.90'); // 1\n * compareVersions('1.10.2.1', '1.10.2.1'); // 0\n * compareVersions('1.10.2.1', '1.0800.2'); // -1\n * compareVersions('1.10.2.1', '1.10', true); // 0\n *\n * @param {String} versionA versions versions to compare\n * @param {String} versionB versions versions to compare\n * @param {boolean} [isLoose] enable loose comparison\n * @return {Number} comparison result: -1 when versionA is lower,\n * 1 when versionA is bigger, 0 when both equal\n */\n /* eslint consistent-return: 1 */\n static compareVersions(versionA, versionB, isLoose = false) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n const versionAPrecision = Utils.getVersionPrecision(versionA);\n const versionBPrecision = Utils.getVersionPrecision(versionB);\n\n let precision = Math.max(versionAPrecision, versionBPrecision);\n let lastPrecision = 0;\n\n const chunks = Utils.map([versionA, versionB], (version) => {\n const delta = precision - Utils.getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n const _version = version + new Array(delta + 1).join('.0');\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return Utils.map(_version.split('.'), chunk => new Array(20 - chunk.length).join('0') + chunk).reverse();\n });\n\n // adjust precision for loose comparison\n if (isLoose) {\n lastPrecision = precision - Math.min(versionAPrecision, versionBPrecision);\n }\n\n // iterate in reverse order by reversed chunks array\n precision -= 1;\n while (precision >= lastPrecision) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n\n if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === lastPrecision) {\n // all version chunks are same\n return 0;\n }\n\n precision -= 1;\n } else if (chunks[0][precision] < chunks[1][precision]) {\n return -1;\n }\n }\n\n return undefined;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n static map(arr, iterator) {\n const result = [];\n let i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i += 1) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Array::find polyfill\n *\n * @param {Array} arr\n * @param {Function} predicate\n * @return {Array}\n */\n static find(arr, predicate) {\n let i;\n let l;\n if (Array.prototype.find) {\n return Array.prototype.find.call(arr, predicate);\n }\n for (i = 0, l = arr.length; i < l; i += 1) {\n const value = arr[i];\n if (predicate(value, i)) {\n return value;\n }\n }\n return undefined;\n }\n\n /**\n * Object::assign polyfill\n *\n * @param {Object} obj\n * @param {Object} ...objs\n * @return {Object}\n */\n static assign(obj, ...assigners) {\n const result = obj;\n let i;\n let l;\n if (Object.assign) {\n return Object.assign(obj, ...assigners);\n }\n for (i = 0, l = assigners.length; i < l; i += 1) {\n const assigner = assigners[i];\n if (typeof assigner === 'object' && assigner !== null) {\n const keys = Object.keys(assigner);\n keys.forEach((key) => {\n result[key] = assigner[key];\n });\n }\n }\n return obj;\n }\n\n /**\n * Get short version/alias for a browser name\n *\n * @example\n * getBrowserAlias('Microsoft Edge') // edge\n *\n * @param {string} browserName\n * @return {string}\n */\n static getBrowserAlias(browserName) {\n return BROWSER_ALIASES_MAP[browserName];\n }\n\n /**\n * Get browser name for a short version/alias\n *\n * @example\n * getBrowserTypeByAlias('edge') // Microsoft Edge\n *\n * @param {string} browserAlias\n * @return {string}\n */\n static getBrowserTypeByAlias(browserAlias) {\n return BROWSER_MAP[browserAlias] || '';\n }\n}\n", "/**\n * Browsers' descriptors\n *\n * The idea of descriptors is simple. You should know about them two simple things:\n * 1. Every descriptor has a method or property called `test` and a `describe` method.\n * 2. Order of descriptors is important.\n *\n * More details:\n * 1. Method or property `test` serves as a way to detect whether the UA string\n * matches some certain browser or not. The `describe` method helps to make a result\n * object with params that show some browser-specific things: name, version, etc.\n * 2. Order of descriptors is important because a Parser goes through them one by one\n * in course. For example, if you insert Chrome's descriptor as the first one,\n * more then a half of browsers will be described as Chrome, because they will pass\n * the Chrome descriptor's test.\n *\n * Descriptor's `test` could be a property with an array of RegExps, where every RegExp\n * will be applied to a UA string to test it whether it matches or not.\n * If a descriptor has two or more regexps in the `test` array it tests them one by one\n * with a logical sum operation. Parser stops if it has found any RegExp that matches the UA.\n *\n * Or `test` could be a method. In that case it gets a Parser instance and should\n * return true/false to get the Parser know if this browser descriptor matches the UA or not.\n */\n\nimport Utils from './utils.js';\n\nconst commonVersionIdentifier = /version\\/(\\d+(\\.?_?\\d+)+)/i;\n\nconst browsersList = [\n /* GPTBot */\n {\n test: [/gptbot/i],\n describe(ua) {\n const browser = {\n name: 'GPTBot',\n };\n const version = Utils.getFirstMatch(/gptbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* ChatGPT-User */\n {\n test: [/chatgpt-user/i],\n describe(ua) {\n const browser = {\n name: 'ChatGPT-User',\n };\n const version = Utils.getFirstMatch(/chatgpt-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* OAI-SearchBot */\n {\n test: [/oai-searchbot/i],\n describe(ua) {\n const browser = {\n name: 'OAI-SearchBot',\n };\n const version = Utils.getFirstMatch(/oai-searchbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* ClaudeBot */\n {\n test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n describe(ua) {\n const browser = {\n name: 'ClaudeBot',\n };\n const version = Utils.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Omgilibot */\n {\n test: [/omgilibot/i, /webzio-extended/i],\n describe(ua) {\n const browser = {\n name: 'Omgilibot',\n };\n const version = Utils.getFirstMatch(/(?:omgilibot|webzio-extended)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Diffbot */\n {\n test: [/diffbot/i],\n describe(ua) {\n const browser = {\n name: 'Diffbot',\n };\n const version = Utils.getFirstMatch(/diffbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* PerplexityBot */\n {\n test: [/perplexitybot/i],\n describe(ua) {\n const browser = {\n name: 'PerplexityBot',\n };\n const version = Utils.getFirstMatch(/perplexitybot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Perplexity-User */\n {\n test: [/perplexity-user/i],\n describe(ua) {\n const browser = {\n name: 'Perplexity-User',\n };\n const version = Utils.getFirstMatch(/perplexity-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* YouBot */\n {\n test: [/youbot/i],\n describe(ua) {\n const browser = {\n name: 'YouBot',\n };\n const version = Utils.getFirstMatch(/youbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-WebIndexer */\n {\n test: [/meta-webindexer/i],\n describe(ua) {\n const browser = {\n name: 'Meta-WebIndexer',\n };\n const version = Utils.getFirstMatch(/meta-webindexer\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalAds */\n {\n test: [/meta-externalads/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalAds',\n };\n const version = Utils.getFirstMatch(/meta-externalads\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalAgent */\n {\n test: [/meta-externalagent/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalAgent',\n };\n const version = Utils.getFirstMatch(/meta-externalagent\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalFetcher */\n {\n test: [/meta-externalfetcher/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalFetcher',\n };\n const version = Utils.getFirstMatch(/meta-externalfetcher\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Googlebot */\n {\n test: [/googlebot/i],\n describe(ua) {\n const browser = {\n name: 'Googlebot',\n };\n const version = Utils.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Linespider */\n {\n test: [/linespider/i],\n describe(ua) {\n const browser = {\n name: 'Linespider',\n };\n const version = Utils.getFirstMatch(/(?:linespider)(?:-[-\\w]+)?[\\s/](\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* AmazonBot */\n {\n test: [/amazonbot/i],\n describe(ua) {\n const browser = {\n name: 'AmazonBot',\n };\n const version = Utils.getFirstMatch(/amazonbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* BingCrawler */\n {\n test: [/bingbot/i],\n describe(ua) {\n const browser = {\n name: 'BingCrawler',\n };\n const version = Utils.getFirstMatch(/bingbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* BaiduSpider */\n {\n test: [/baiduspider/i],\n describe(ua) {\n const browser = {\n name: 'BaiduSpider',\n };\n const version = Utils.getFirstMatch(/baiduspider\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* DuckDuckBot */\n {\n test: [/duckduckbot/i],\n describe(ua) {\n const browser = {\n name: 'DuckDuckBot',\n };\n const version = Utils.getFirstMatch(/duckduckbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* InternetArchiveCrawler */\n {\n test: [/ia_archiver/i],\n describe(ua) {\n const browser = {\n name: 'InternetArchiveCrawler',\n };\n const version = Utils.getFirstMatch(/ia_archiver\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* FacebookExternalHit */\n {\n test: [/facebookexternalhit/i, /facebookcatalog/i],\n describe() {\n return {\n name: 'FacebookExternalHit',\n };\n },\n },\n\n /* SlackBot */\n {\n test: [/slackbot/i, /slack-imgProxy/i],\n describe(ua) {\n const browser = {\n name: 'SlackBot',\n };\n const version = Utils.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\\w]+)?[\\s/](\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* YahooSlurp */\n {\n test: [/yahoo!?[\\s/]*slurp/i],\n describe() {\n return {\n name: 'YahooSlurp',\n };\n },\n },\n\n /* YandexBot */\n {\n test: [/yandexbot/i, /yandexmobilebot/i],\n describe() {\n return {\n name: 'YandexBot',\n };\n },\n },\n\n /* PingdomBot */\n {\n test: [/pingdom/i],\n describe() {\n return {\n name: 'PingdomBot',\n };\n },\n },\n\n /* Opera < 13.0 */\n {\n test: [/opera/i],\n describe(ua) {\n const browser = {\n name: 'Opera',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Opera > 13.0 */\n {\n test: [/opr\\/|opios/i],\n describe(ua) {\n const browser = {\n name: 'Opera',\n };\n const version = Utils.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/SamsungBrowser/i],\n describe(ua) {\n const browser = {\n name: 'Samsung Internet for Android',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/Whale/i],\n describe(ua) {\n const browser = {\n name: 'NAVER Whale Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/PaleMoon/i],\n describe(ua) {\n const browser = {\n name: 'Pale Moon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:PaleMoon)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/MZBrowser/i],\n describe(ua) {\n const browser = {\n name: 'MZ Browser',\n };\n const version = Utils.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/focus/i],\n describe(ua) {\n const browser = {\n name: 'Focus',\n };\n const version = Utils.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/swing/i],\n describe(ua) {\n const browser = {\n name: 'Swing',\n };\n const version = Utils.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/coast/i],\n describe(ua) {\n const browser = {\n name: 'Opera Coast',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/opt\\/\\d+(?:.?_?\\d+)+/i],\n describe(ua) {\n const browser = {\n name: 'Opera Touch',\n };\n const version = Utils.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/yabrowser/i],\n describe(ua) {\n const browser = {\n name: 'Yandex Browser',\n };\n const version = Utils.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/ucbrowser/i],\n describe(ua) {\n const browser = {\n name: 'UC Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/Maxthon|mxios/i],\n describe(ua) {\n const browser = {\n name: 'Maxthon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/epiphany/i],\n describe(ua) {\n const browser = {\n name: 'Epiphany',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/puffin/i],\n describe(ua) {\n const browser = {\n name: 'Puffin',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sleipnir/i],\n describe(ua) {\n const browser = {\n name: 'Sleipnir',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/k-meleon/i],\n describe(ua) {\n const browser = {\n name: 'K-Meleon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/micromessenger/i],\n describe(ua) {\n const browser = {\n name: 'WeChat',\n };\n const version = Utils.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/qqbrowser/i],\n describe(ua) {\n const browser = {\n name: (/qqbrowserlite/i).test(ua) ? 'QQ Browser Lite' : 'QQ Browser',\n };\n const version = Utils.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/msie|trident/i],\n describe(ua) {\n const browser = {\n name: 'Internet Explorer',\n };\n const version = Utils.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/\\sedg\\//i],\n describe(ua) {\n const browser = {\n name: 'Microsoft Edge',\n };\n\n const version = Utils.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/edg([ea]|ios)/i],\n describe(ua) {\n const browser = {\n name: 'Microsoft Edge',\n };\n\n const version = Utils.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/vivaldi/i],\n describe(ua) {\n const browser = {\n name: 'Vivaldi',\n };\n const version = Utils.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/seamonkey/i],\n describe(ua) {\n const browser = {\n name: 'SeaMonkey',\n };\n const version = Utils.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sailfish/i],\n describe(ua) {\n const browser = {\n name: 'Sailfish',\n };\n\n const version = Utils.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/silk/i],\n describe(ua) {\n const browser = {\n name: 'Amazon Silk',\n };\n const version = Utils.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/phantom/i],\n describe(ua) {\n const browser = {\n name: 'PhantomJS',\n };\n const version = Utils.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/slimerjs/i],\n describe(ua) {\n const browser = {\n name: 'SlimerJS',\n };\n const version = Utils.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe(ua) {\n const browser = {\n name: 'BlackBerry',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/(web|hpw)[o0]s/i],\n describe(ua) {\n const browser = {\n name: 'WebOS Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/bada/i],\n describe(ua) {\n const browser = {\n name: 'Bada',\n };\n const version = Utils.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/tizen/i],\n describe(ua) {\n const browser = {\n name: 'Tizen',\n };\n const version = Utils.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/qupzilla/i],\n describe(ua) {\n const browser = {\n name: 'QupZilla',\n };\n const version = Utils.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/librewolf/i],\n describe(ua) {\n const browser = {\n name: 'LibreWolf',\n };\n const version = Utils.getFirstMatch(/(?:librewolf)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/firefox|iceweasel|fxios/i],\n describe(ua) {\n const browser = {\n name: 'Firefox',\n };\n const version = Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/electron/i],\n describe(ua) {\n const browser = {\n name: 'Electron',\n };\n const version = Utils.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sogoumobilebrowser/i, /metasr/i, /se 2\\.[x]/i],\n describe(ua) {\n const browser = {\n name: 'Sogou Browser',\n };\n const sogouMobileVersion = Utils.getFirstMatch(/(?:sogoumobilebrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n const chromiumVersion = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n const seVersion = Utils.getFirstMatch(/se ([\\d.]+)x/i, ua);\n const version = sogouMobileVersion || chromiumVersion || seVersion;\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/MiuiBrowser/i],\n describe(ua) {\n const browser = {\n name: 'Miui',\n };\n const version = Utils.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n /* DuckDuckGo Browser */\n {\n test(parser) {\n // Chromium platforms (Android, Windows): check Client Hints brands first\n if (parser.hasBrand('DuckDuckGo')) {\n return true;\n }\n // WebKit platforms (iOS, macOS): check UA string for Ddg/version suffix\n return parser.test(/\\sDdg\\/[\\d.]+$/i);\n },\n describe(ua, parser) {\n const browser = {\n name: 'DuckDuckGo',\n };\n\n // Try Client Hints brand version first\n if (parser) {\n const hintsVersion = parser.getBrandVersion('DuckDuckGo');\n if (hintsVersion) {\n browser.version = hintsVersion;\n return browser;\n }\n }\n\n // Fall back to WebKit UA pattern\n const uaVersion = Utils.getFirstMatch(/\\sDdg\\/([\\d.]+)$/i, ua);\n if (uaVersion) {\n browser.version = uaVersion;\n }\n\n return browser;\n },\n },\n /* Brave Browser */\n {\n test(parser) {\n // Check Client Hints brands for Brave\n return parser.hasBrand('Brave');\n },\n describe(ua, parser) {\n const browser = {\n name: 'Brave',\n };\n\n if (parser) {\n const hintsVersion = parser.getBrandVersion('Brave');\n if (hintsVersion) {\n browser.version = hintsVersion;\n return browser;\n }\n }\n\n return browser;\n },\n },\n {\n test: [/chromium/i],\n describe(ua) {\n const browser = {\n name: 'Chromium',\n };\n const version = Utils.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/chrome|crios|crmo/i],\n describe(ua) {\n const browser = {\n name: 'Chrome',\n };\n const version = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/GSA/i],\n describe(ua) {\n const browser = {\n name: 'Google Search',\n };\n const version = Utils.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Android Browser */\n {\n test(parser) {\n const notLikeAndroid = !parser.test(/like android/i);\n const butAndroid = parser.test(/android/i);\n return notLikeAndroid && butAndroid;\n },\n describe(ua) {\n const browser = {\n name: 'Android Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* PlayStation 4 */\n {\n test: [/playstation 4/i],\n describe(ua) {\n const browser = {\n name: 'PlayStation 4',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Safari */\n {\n test: [/safari|applewebkit/i],\n describe(ua) {\n const browser = {\n name: 'Safari',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Something else */\n {\n test: [/.*/i],\n describe(ua) {\n /* Here we try to make sure that there are explicit details about the device\n * in order to decide what regexp exactly we want to apply\n * (as there is a specific decision based on that conclusion)\n */\n const regexpWithoutDeviceSpec = /^(.*)\\/(.*) /;\n const regexpWithDeviceSpec = /^(.*)\\/(.*)[ \\t]\\((.*)/;\n const hasDeviceSpec = ua.search('\\\\(') !== -1;\n const regexp = hasDeviceSpec ? regexpWithDeviceSpec : regexpWithoutDeviceSpec;\n return {\n name: Utils.getFirstMatch(regexp, ua),\n version: Utils.getSecondMatch(regexp, ua),\n };\n },\n },\n];\n\nexport default browsersList;\n", "import Utils from './utils.js';\nimport { OS_MAP } from './constants.js';\n\nexport default [\n /* Roku */\n {\n test: [/Roku\\/DVP/],\n describe(ua) {\n const version = Utils.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i, ua);\n return {\n name: OS_MAP.Roku,\n version,\n };\n },\n },\n\n /* Windows Phone */\n {\n test: [/windows phone/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.WindowsPhone,\n version,\n };\n },\n },\n\n /* Windows */\n {\n test: [/windows /i],\n describe(ua) {\n const version = Utils.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i, ua);\n const versionName = Utils.getWindowsVersionName(version);\n\n return {\n name: OS_MAP.Windows,\n version,\n versionName,\n };\n },\n },\n\n /* Firefox on iPad */\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe(ua) {\n const result = {\n name: OS_MAP.iOS,\n };\n const version = Utils.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/, ua);\n if (version) {\n result.version = version;\n }\n return result;\n },\n },\n\n /* macOS */\n {\n test: [/macintosh/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i, ua).replace(/[_\\s]/g, '.');\n const versionName = Utils.getMacOSVersionName(version);\n\n const os = {\n name: OS_MAP.MacOS,\n version,\n };\n if (versionName) {\n os.versionName = versionName;\n }\n return os;\n },\n },\n\n /* iOS */\n {\n test: [/(ipod|iphone|ipad)/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i, ua).replace(/[_\\s]/g, '.');\n\n return {\n name: OS_MAP.iOS,\n version,\n };\n },\n },\n\n /* HarmonyOS */\n {\n test: [/OpenHarmony/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/OpenHarmony\\s+(\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.HarmonyOS,\n version,\n };\n },\n },\n\n /* Android */\n {\n test(parser) {\n const notLikeAndroid = !parser.test(/like android/i);\n const butAndroid = parser.test(/android/i);\n return notLikeAndroid && butAndroid;\n },\n describe(ua) {\n const version = Utils.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i, ua);\n const versionName = Utils.getAndroidVersionName(version);\n const os = {\n name: OS_MAP.Android,\n version,\n };\n if (versionName) {\n os.versionName = versionName;\n }\n return os;\n },\n },\n\n /* WebOS */\n {\n test: [/(web|hpw)[o0]s/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i, ua);\n const os = {\n name: OS_MAP.WebOS,\n };\n\n if (version && version.length) {\n os.version = version;\n }\n return os;\n },\n },\n\n /* BlackBerry */\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i, ua)\n || Utils.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i, ua)\n || Utils.getFirstMatch(/\\bbb(\\d+)/i, ua);\n\n return {\n name: OS_MAP.BlackBerry,\n version,\n };\n },\n },\n\n /* Bada */\n {\n test: [/bada/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i, ua);\n\n return {\n name: OS_MAP.Bada,\n version,\n };\n },\n },\n\n /* Tizen */\n {\n test: [/tizen/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i, ua);\n\n return {\n name: OS_MAP.Tizen,\n version,\n };\n },\n },\n\n /* Linux */\n {\n test: [/linux/i],\n describe() {\n return {\n name: OS_MAP.Linux,\n };\n },\n },\n\n /* Chrome OS */\n {\n test: [/CrOS/],\n describe() {\n return {\n name: OS_MAP.ChromeOS,\n };\n },\n },\n\n /* Playstation 4 */\n {\n test: [/PlayStation 4/],\n describe(ua) {\n const version = Utils.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.PlayStation4,\n version,\n };\n },\n },\n];\n", "import Utils from './utils.js';\nimport { PLATFORMS_MAP } from './constants.js';\n\n/*\n * Tablets go first since usually they have more specific\n * signs to detect.\n */\n\nexport default [\n /* Googlebot */\n {\n test: [/googlebot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Google',\n };\n },\n },\n\n /* LineSpider */\n {\n test: [/linespider/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Line',\n };\n },\n },\n\n /* AmazonBot */\n {\n test: [/amazonbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Amazon',\n };\n },\n },\n\n /* GPTBot */\n {\n test: [/gptbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* ChatGPT-User */\n {\n test: [/chatgpt-user/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* OAI-SearchBot */\n {\n test: [/oai-searchbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* Baidu */\n {\n test: [/baiduspider/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Baidu',\n };\n },\n },\n\n /* Bingbot */\n {\n test: [/bingbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Bing',\n };\n },\n },\n\n /* DuckDuckBot */\n {\n test: [/duckduckbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'DuckDuckGo',\n };\n },\n },\n\n /* ClaudeBot */\n {\n test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Anthropic',\n };\n },\n },\n\n /* Omgilibot */\n {\n test: [/omgilibot/i, /webzio-extended/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Webz.io',\n };\n },\n },\n\n /* Diffbot */\n {\n test: [/diffbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Diffbot',\n };\n },\n },\n\n /* PerplexityBot */\n {\n test: [/perplexitybot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Perplexity AI',\n };\n },\n },\n\n /* Perplexity-User */\n {\n test: [/perplexity-user/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Perplexity AI',\n };\n },\n },\n\n /* YouBot */\n {\n test: [/youbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'You.com',\n };\n },\n },\n\n /* Internet Archive Crawler */\n {\n test: [/ia_archiver/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Internet Archive',\n };\n },\n },\n\n /* Meta-WebIndexer */\n {\n test: [/meta-webindexer/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalAds */\n {\n test: [/meta-externalads/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalAgent */\n {\n test: [/meta-externalagent/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalFetcher */\n {\n test: [/meta-externalfetcher/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta Web Crawler */\n {\n test: [/facebookexternalhit/i, /facebookcatalog/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* SlackBot */\n {\n test: [/slackbot/i, /slack-imgProxy/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Slack',\n };\n },\n },\n\n /* Yahoo! Slurp */\n {\n test: [/yahoo/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Yahoo',\n };\n },\n },\n\n /* Yandex */\n {\n test: [/yandexbot/i, /yandexmobilebot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Yandex',\n };\n },\n },\n\n /* Pingdom */\n {\n test: [/pingdom/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Pingdom',\n };\n },\n },\n\n /* Huawei */\n {\n test: [/huawei/i],\n describe(ua) {\n const model = Utils.getFirstMatch(/(can-l01)/i, ua) && 'Nova';\n const platform = {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Huawei',\n };\n if (model) {\n platform.model = model;\n }\n return platform;\n },\n },\n\n /* Nexus Tablet */\n {\n test: [/nexus\\s*(?:7|8|9|10).*/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Nexus',\n };\n },\n },\n\n /* iPad */\n {\n test: [/ipad/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Apple',\n model: 'iPad',\n };\n },\n },\n\n /* Firefox on iPad */\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Apple',\n model: 'iPad',\n };\n },\n },\n\n /* Amazon Kindle Fire */\n {\n test: [/kftt build/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Amazon',\n model: 'Kindle Fire HD 7',\n };\n },\n },\n\n /* Another Amazon Tablet with Silk */\n {\n test: [/silk/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Amazon',\n };\n },\n },\n\n /* Tablet */\n {\n test: [/tablet(?! pc)/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n };\n },\n },\n\n /* iPod/iPhone */\n {\n test(parser) {\n const iDevice = parser.test(/ipod|iphone/i);\n const likeIDevice = parser.test(/like (ipod|iphone)/i);\n return iDevice && !likeIDevice;\n },\n describe(ua) {\n const model = Utils.getFirstMatch(/(ipod|iphone)/i, ua);\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Apple',\n model,\n };\n },\n },\n\n /* Nexus Mobile */\n {\n test: [/nexus\\s*[0-6].*/i, /galaxy nexus/i],\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Nexus',\n };\n },\n },\n\n /* Nokia */\n {\n test: [/Nokia/i],\n describe(ua) {\n const model = Utils.getFirstMatch(/Nokia\\s+([0-9]+(\\.[0-9]+)?)/i, ua);\n const platform = {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Nokia',\n };\n if (model) {\n platform.model = model;\n }\n return platform;\n },\n },\n\n /* Mobile */\n {\n test: [/[^-]mobi/i],\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* BlackBerry */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'blackberry';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'BlackBerry',\n };\n },\n },\n\n /* Bada */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'bada';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* Windows Phone */\n {\n test(parser) {\n return parser.getBrowserName() === 'windows phone';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Microsoft',\n };\n },\n },\n\n /* Android Tablet */\n {\n test(parser) {\n const osMajorVersion = Number(String(parser.getOSVersion()).split('.')[0]);\n return parser.getOSName(true) === 'android' && (osMajorVersion >= 3);\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n };\n },\n },\n\n /* Android Mobile */\n {\n test(parser) {\n return parser.getOSName(true) === 'android';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* Smart TV */\n {\n test: [/smart-?tv|smarttv/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n\n /* NetCast (LG Smart TV) */\n {\n test: [/netcast/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n\n /* desktop */\n {\n test(parser) {\n return parser.getOSName(true) === 'macos';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n vendor: 'Apple',\n };\n },\n },\n\n /* Windows */\n {\n test(parser) {\n return parser.getOSName(true) === 'windows';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n };\n },\n },\n\n /* Linux */\n {\n test(parser) {\n return parser.getOSName(true) === 'linux';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n };\n },\n },\n\n /* PlayStation 4 */\n {\n test(parser) {\n return parser.getOSName(true) === 'playstation 4';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n\n /* Roku */\n {\n test(parser) {\n return parser.getOSName(true) === 'roku';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n];\n", "import Utils from './utils.js';\nimport { ENGINE_MAP } from './constants.js';\n\n/*\n * More specific goes first\n */\nexport default [\n /* EdgeHTML */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'microsoft edge';\n },\n describe(ua) {\n const isBlinkBased = /\\sedg\\//i.test(ua);\n\n // return blink if it's blink-based one\n if (isBlinkBased) {\n return {\n name: ENGINE_MAP.Blink,\n };\n }\n\n // otherwise match the version and return EdgeHTML\n const version = Utils.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n return {\n name: ENGINE_MAP.EdgeHTML,\n version,\n };\n },\n },\n\n /* Trident */\n {\n test: [/trident/i],\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Trident,\n };\n\n const version = Utils.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Presto */\n {\n test(parser) {\n return parser.test(/presto/i);\n },\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Presto,\n };\n\n const version = Utils.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Gecko */\n {\n test(parser) {\n const isGecko = parser.test(/gecko/i);\n const likeGecko = parser.test(/like gecko/i);\n return isGecko && !likeGecko;\n },\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Gecko,\n };\n\n const version = Utils.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Blink */\n {\n test: [/(apple)?webkit\\/537\\.36/i],\n describe() {\n return {\n name: ENGINE_MAP.Blink,\n };\n },\n },\n\n /* WebKit */\n {\n test: [/(apple)?webkit/i],\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.WebKit,\n };\n\n const version = Utils.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n];\n", "import browserParsersList from './parser-browsers.js';\nimport osParsersList from './parser-os.js';\nimport platformParsersList from './parser-platforms.js';\nimport enginesParsersList from './parser-engines.js';\nimport Utils from './utils.js';\n\n/**\n * @typedef {Object} ClientHints\n * @property {Array<{brand: string, version: string}>} [brands] Array of brand objects\n * @property {boolean} [mobile] Whether the device is mobile\n * @property {string} [platform] Platform name (e.g., \"Windows\", \"macOS\")\n * @property {string} [platformVersion] Platform version\n * @property {string} [architecture] CPU architecture\n * @property {string} [model] Device model\n * @property {boolean} [wow64] Whether running under WoW64\n */\n\n/**\n * The main class that arranges the whole parsing process.\n */\nclass Parser {\n /**\n * Create instance of Parser\n *\n * @param {String} UA User-Agent string\n * @param {Boolean|ClientHints} [skipParsingOrHints=false] Either a boolean to skip parsing,\n * or a ClientHints object containing User-Agent Client Hints data\n * @param {ClientHints} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n *\n * @throw {Error} in case of empty UA String\n *\n * @constructor\n */\n constructor(UA, skipParsingOrHints = false, clientHints = null) {\n if (UA === void (0) || UA === null || UA === '') {\n throw new Error(\"UserAgent parameter can't be empty\");\n }\n\n this._ua = UA;\n\n // Handle overloaded constructor: (UA, clientHints) or (UA, skipParsing, clientHints)\n let skipParsing = false;\n if (typeof skipParsingOrHints === 'boolean') {\n skipParsing = skipParsingOrHints;\n this._hints = clientHints;\n } else if (skipParsingOrHints != null && typeof skipParsingOrHints === 'object') {\n this._hints = skipParsingOrHints;\n } else {\n this._hints = null;\n }\n\n /**\n * @typedef ParsedResult\n * @property {Object} browser\n * @property {String|undefined} [browser.name]\n * Browser name, like `\"Chrome\"` or `\"Internet Explorer\"`\n * @property {String|undefined} [browser.version] Browser version as a String `\"12.01.45334.10\"`\n * @property {Object} os\n * @property {String|undefined} [os.name] OS name, like `\"Windows\"` or `\"macOS\"`\n * @property {String|undefined} [os.version] OS version, like `\"NT 5.1\"` or `\"10.11.1\"`\n * @property {String|undefined} [os.versionName] OS name, like `\"XP\"` or `\"High Sierra\"`\n * @property {Object} platform\n * @property {String|undefined} [platform.type]\n * platform type, can be either `\"desktop\"`, `\"tablet\"` or `\"mobile\"`\n * @property {String|undefined} [platform.vendor] Vendor of the device,\n * like `\"Apple\"` or `\"Samsung\"`\n * @property {String|undefined} [platform.model] Device model,\n * like `\"iPhone\"` or `\"Kindle Fire HD 7\"`\n * @property {Object} engine\n * @property {String|undefined} [engine.name]\n * Can be any of this: `WebKit`, `Blink`, `Gecko`, `Trident`, `Presto`, `EdgeHTML`\n * @property {String|undefined} [engine.version] String version of the engine\n */\n this.parsedResult = {};\n\n if (skipParsing !== true) {\n this.parse();\n }\n }\n\n /**\n * Get Client Hints data\n * @return {ClientHints|null}\n *\n * @public\n * @example\n * const parser = Bowser.getParser(UA, clientHints);\n * const hints = parser.getHints();\n * console.log(hints.platform); // 'Windows'\n * console.log(hints.mobile); // false\n */\n getHints() {\n return this._hints;\n }\n\n /**\n * Check if a brand exists in Client Hints brands array\n * @param {string} brandName The brand name to check for\n * @return {boolean}\n *\n * @public\n * @example\n * const parser = Bowser.getParser(UA, clientHints);\n * if (parser.hasBrand('Google Chrome')) {\n * console.log('Chrome detected!');\n * }\n */\n hasBrand(brandName) {\n if (!this._hints || !Array.isArray(this._hints.brands)) {\n return false;\n }\n const brandLower = brandName.toLowerCase();\n return this._hints.brands.some(\n b => b.brand && b.brand.toLowerCase() === brandLower,\n );\n }\n\n /**\n * Get brand version from Client Hints\n * @param {string} brandName The brand name to get version for\n * @return {string|undefined}\n *\n * @public\n * @example\n * const parser = Bowser.getParser(UA, clientHints);\n * const version = parser.getBrandVersion('Google Chrome');\n * console.log(version); // '131'\n */\n getBrandVersion(brandName) {\n if (!this._hints || !Array.isArray(this._hints.brands)) {\n return undefined;\n }\n const brandLower = brandName.toLowerCase();\n const brand = this._hints.brands.find(\n b => b.brand && b.brand.toLowerCase() === brandLower,\n );\n return brand ? brand.version : undefined;\n }\n\n /**\n * Get UserAgent string of current Parser instance\n * @return {String} User-Agent String of the current <Parser> object\n *\n * @public\n */\n getUA() {\n return this._ua;\n }\n\n /**\n * Test a UA string for a regexp\n * @param {RegExp} regex\n * @return {Boolean}\n */\n test(regex) {\n return regex.test(this._ua);\n }\n\n /**\n * Get parsed browser object\n * @return {Object}\n */\n parseBrowser() {\n this.parsedResult.browser = {};\n\n const browserDescriptor = Utils.find(browserParsersList, (_browser) => {\n if (typeof _browser.test === 'function') {\n return _browser.test(this);\n }\n\n if (Array.isArray(_browser.test)) {\n return _browser.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (browserDescriptor) {\n this.parsedResult.browser = browserDescriptor.describe(this.getUA(), this);\n }\n\n return this.parsedResult.browser;\n }\n\n /**\n * Get parsed browser object\n * @return {Object}\n *\n * @public\n */\n getBrowser() {\n if (this.parsedResult.browser) {\n return this.parsedResult.browser;\n }\n\n return this.parseBrowser();\n }\n\n /**\n * Get browser's name\n * @return {String} Browser's name or an empty string\n *\n * @public\n */\n getBrowserName(toLowerCase) {\n if (toLowerCase) {\n return String(this.getBrowser().name).toLowerCase() || '';\n }\n return this.getBrowser().name || '';\n }\n\n\n /**\n * Get browser's version\n * @return {String} version of browser\n *\n * @public\n */\n getBrowserVersion() {\n return this.getBrowser().version;\n }\n\n /**\n * Get OS\n * @return {Object}\n *\n * @example\n * this.getOS();\n * {\n * name: 'macOS',\n * version: '10.11.12'\n * }\n */\n getOS() {\n if (this.parsedResult.os) {\n return this.parsedResult.os;\n }\n\n return this.parseOS();\n }\n\n /**\n * Parse OS and save it to this.parsedResult.os\n * @return {*|{}}\n */\n parseOS() {\n this.parsedResult.os = {};\n\n const os = Utils.find(osParsersList, (_os) => {\n if (typeof _os.test === 'function') {\n return _os.test(this);\n }\n\n if (Array.isArray(_os.test)) {\n return _os.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (os) {\n this.parsedResult.os = os.describe(this.getUA());\n }\n\n return this.parsedResult.os;\n }\n\n /**\n * Get OS name\n * @param {Boolean} [toLowerCase] return lower-cased value\n * @return {String} name of the OS — macOS, Windows, Linux, etc.\n */\n getOSName(toLowerCase) {\n const { name } = this.getOS();\n\n if (toLowerCase) {\n return String(name).toLowerCase() || '';\n }\n\n return name || '';\n }\n\n /**\n * Get OS version\n * @return {String} full version with dots ('10.11.12', '5.6', etc)\n */\n getOSVersion() {\n return this.getOS().version;\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n getPlatform() {\n if (this.parsedResult.platform) {\n return this.parsedResult.platform;\n }\n\n return this.parsePlatform();\n }\n\n /**\n * Get platform name\n * @param {Boolean} [toLowerCase=false]\n * @return {*}\n */\n getPlatformType(toLowerCase = false) {\n const { type } = this.getPlatform();\n\n if (toLowerCase) {\n return String(type).toLowerCase() || '';\n }\n\n return type || '';\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n parsePlatform() {\n this.parsedResult.platform = {};\n\n const platform = Utils.find(platformParsersList, (_platform) => {\n if (typeof _platform.test === 'function') {\n return _platform.test(this);\n }\n\n if (Array.isArray(_platform.test)) {\n return _platform.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (platform) {\n this.parsedResult.platform = platform.describe(this.getUA());\n }\n\n return this.parsedResult.platform;\n }\n\n /**\n * Get parsed engine\n * @return {{}}\n */\n getEngine() {\n if (this.parsedResult.engine) {\n return this.parsedResult.engine;\n }\n\n return this.parseEngine();\n }\n\n /**\n * Get engines's name\n * @return {String} Engines's name or an empty string\n *\n * @public\n */\n getEngineName(toLowerCase) {\n if (toLowerCase) {\n return String(this.getEngine().name).toLowerCase() || '';\n }\n return this.getEngine().name || '';\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n parseEngine() {\n this.parsedResult.engine = {};\n\n const engine = Utils.find(enginesParsersList, (_engine) => {\n if (typeof _engine.test === 'function') {\n return _engine.test(this);\n }\n\n if (Array.isArray(_engine.test)) {\n return _engine.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (engine) {\n this.parsedResult.engine = engine.describe(this.getUA());\n }\n\n return this.parsedResult.engine;\n }\n\n /**\n * Parse full information about the browser\n * @returns {Parser}\n */\n parse() {\n this.parseBrowser();\n this.parseOS();\n this.parsePlatform();\n this.parseEngine();\n\n return this;\n }\n\n /**\n * Get parsed result\n * @return {ParsedResult}\n */\n getResult() {\n return Utils.assign({}, this.parsedResult);\n }\n\n /**\n * Check if parsed browser matches certain conditions\n *\n * @param {Object} checkTree It's one or two layered object,\n * which can include a platform or an OS on the first layer\n * and should have browsers specs on the bottom-laying layer\n *\n * @returns {Boolean|undefined} Whether the browser satisfies the set conditions or not.\n * Returns `undefined` when the browser is no described in the checkTree object.\n *\n * @example\n * const browser = Bowser.getParser(window.navigator.userAgent);\n * if (browser.satisfies({chrome: '>118.01.1322' }))\n * // or with os\n * if (browser.satisfies({windows: { chrome: '>118.01.1322' } }))\n * // or with platforms\n * if (browser.satisfies({desktop: { chrome: '>118.01.1322' } }))\n */\n satisfies(checkTree) {\n const platformsAndOSes = {};\n let platformsAndOSCounter = 0;\n const browsers = {};\n let browsersCounter = 0;\n\n const allDefinitions = Object.keys(checkTree);\n\n allDefinitions.forEach((key) => {\n const currentDefinition = checkTree[key];\n if (typeof currentDefinition === 'string') {\n browsers[key] = currentDefinition;\n browsersCounter += 1;\n } else if (typeof currentDefinition === 'object') {\n platformsAndOSes[key] = currentDefinition;\n platformsAndOSCounter += 1;\n }\n });\n\n if (platformsAndOSCounter > 0) {\n const platformsAndOSNames = Object.keys(platformsAndOSes);\n const OSMatchingDefinition = Utils.find(platformsAndOSNames, name => (this.isOS(name)));\n\n if (OSMatchingDefinition) {\n const osResult = this.satisfies(platformsAndOSes[OSMatchingDefinition]);\n\n if (osResult !== void 0) {\n return osResult;\n }\n }\n\n const platformMatchingDefinition = Utils.find(\n platformsAndOSNames,\n name => (this.isPlatform(name)),\n );\n if (platformMatchingDefinition) {\n const platformResult = this.satisfies(platformsAndOSes[platformMatchingDefinition]);\n\n if (platformResult !== void 0) {\n return platformResult;\n }\n }\n }\n\n if (browsersCounter > 0) {\n const browserNames = Object.keys(browsers);\n const matchingDefinition = Utils.find(browserNames, name => (this.isBrowser(name, true)));\n\n if (matchingDefinition !== void 0) {\n return this.compareVersion(browsers[matchingDefinition]);\n }\n }\n\n return undefined;\n }\n\n /**\n * Check if the browser name equals the passed string\n * @param {string} browserName The string to compare with the browser name\n * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n * @returns {boolean}\n */\n isBrowser(browserName, includingAlias = false) {\n const defaultBrowserName = this.getBrowserName().toLowerCase();\n let browserNameLower = browserName.toLowerCase();\n const alias = Utils.getBrowserTypeByAlias(browserNameLower);\n\n if (includingAlias && alias) {\n browserNameLower = alias.toLowerCase();\n }\n return browserNameLower === defaultBrowserName;\n }\n\n compareVersion(version) {\n let expectedResults = [0];\n let comparableVersion = version;\n let isLoose = false;\n\n const currentBrowserVersion = this.getBrowserVersion();\n\n if (typeof currentBrowserVersion !== 'string') {\n return void 0;\n }\n\n if (version[0] === '>' || version[0] === '<') {\n comparableVersion = version.substr(1);\n if (version[1] === '=') {\n isLoose = true;\n comparableVersion = version.substr(2);\n } else {\n expectedResults = [];\n }\n if (version[0] === '>') {\n expectedResults.push(1);\n } else {\n expectedResults.push(-1);\n }\n } else if (version[0] === '=') {\n comparableVersion = version.substr(1);\n } else if (version[0] === '~') {\n isLoose = true;\n comparableVersion = version.substr(1);\n }\n\n return expectedResults.indexOf(\n Utils.compareVersions(currentBrowserVersion, comparableVersion, isLoose),\n ) > -1;\n }\n\n /**\n * Check if the OS name equals the passed string\n * @param {string} osName The string to compare with the OS name\n * @returns {boolean}\n */\n isOS(osName) {\n return this.getOSName(true) === String(osName).toLowerCase();\n }\n\n /**\n * Check if the platform type equals the passed string\n * @param {string} platformType The string to compare with the platform type\n * @returns {boolean}\n */\n isPlatform(platformType) {\n return this.getPlatformType(true) === String(platformType).toLowerCase();\n }\n\n /**\n * Check if the engine name equals the passed string\n * @param {string} engineName The string to compare with the engine name\n * @returns {boolean}\n */\n isEngine(engineName) {\n return this.getEngineName(true) === String(engineName).toLowerCase();\n }\n\n /**\n * Is anything? Check if the browser is called \"anything\",\n * the OS called \"anything\" or the platform called \"anything\"\n * @param {String} anything\n * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n * @returns {Boolean}\n */\n is(anything, includingAlias = false) {\n return this.isBrowser(anything, includingAlias) || this.isOS(anything)\n || this.isPlatform(anything);\n }\n\n /**\n * Check if any of the given values satisfies this.is(anything)\n * @param {String[]} anythings\n * @returns {Boolean}\n */\n some(anythings = []) {\n return anythings.some(anything => this.is(anything));\n }\n}\n\nexport default Parser;\n", "/*!\n * Bowser - a browser detector\n * https://github.com/bowser-js/bowser\n * MIT License | (c) Dustin Diaz 2012-2015\n * MIT License | (c) Denis Demchenko 2015-2019\n */\nimport Parser from './parser.js';\nimport {\n BROWSER_MAP,\n ENGINE_MAP,\n OS_MAP,\n PLATFORMS_MAP,\n} from './constants.js';\n\n/**\n * Bowser class.\n * Keep it simple as much as it can be.\n * It's supposed to work with collections of {@link Parser} instances\n * rather then solve one-instance problems.\n * All the one-instance stuff is located in Parser class.\n *\n * @class\n * @classdesc Bowser is a static object, that provides an API to the Parsers\n * @hideconstructor\n */\nclass Bowser {\n /**\n * Creates a {@link Parser} instance\n *\n * @param {String} UA UserAgent string\n * @param {Boolean|Object} [skipParsingOrHints=false] Either a boolean to skip parsing,\n * or a ClientHints object (navigator.userAgentData)\n * @param {Object} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n * @returns {Parser}\n * @throws {Error} when UA is not a String\n *\n * @example\n * const parser = Bowser.getParser(window.navigator.userAgent);\n * const result = parser.getResult();\n *\n * @example\n * // With User-Agent Client Hints\n * const parser = Bowser.getParser(\n * window.navigator.userAgent,\n * window.navigator.userAgentData\n * );\n */\n static getParser(UA, skipParsingOrHints = false, clientHints = null) {\n if (typeof UA !== 'string') {\n throw new Error('UserAgent should be a string');\n }\n return new Parser(UA, skipParsingOrHints, clientHints);\n }\n\n /**\n * Creates a {@link Parser} instance and runs {@link Parser.getResult} immediately\n *\n * @param {String} UA UserAgent string\n * @param {Object} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n * @return {ParsedResult}\n *\n * @example\n * const result = Bowser.parse(window.navigator.userAgent);\n *\n * @example\n * // With User-Agent Client Hints\n * const result = Bowser.parse(\n * window.navigator.userAgent,\n * window.navigator.userAgentData\n * );\n */\n static parse(UA, clientHints = null) {\n return (new Parser(UA, clientHints)).getResult();\n }\n\n static get BROWSER_MAP() {\n return BROWSER_MAP;\n }\n\n static get ENGINE_MAP() {\n return ENGINE_MAP;\n }\n\n static get OS_MAP() {\n return OS_MAP;\n }\n\n static get PLATFORMS_MAP() {\n return PLATFORMS_MAP;\n }\n}\n\nexport default Bowser;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["BROWSER_ALIASES_MAP", "BROWSER_MAP", "PLATFORMS_MAP", "OS_MAP", "ENGINE_MAP", "Utils", "_Utils", "__name", "regexp", "ua", "match", "_const", "version", "v", "s", "major", "minor", "versionA", "versionB", "isLoose", "versionAPrecision", "versionBPrecision", "precision", "lastPrecision", "chunks", "delta", "_version", "chunk", "arr", "iterator", "result", "i", "predicate", "l", "value", "obj", "assigners", "assigner", "key", "browserName", "BROWSER_ALIASES_MAP", "browserAlias", "BROWSER_MAP", "commonVersionIdentifier", "browsersList", "ua", "browser", "version", "Utils", "sogouMobileVersion", "chromiumVersion", "seVersion", "parser", "hintsVersion", "uaVersion", "notLikeAndroid", "butAndroid", "regexpWithoutDeviceSpec", "regexpWithDeviceSpec", "regexp", "parser_browsers_default", "parser_os_default", "ua", "version", "Utils", "OS_MAP", "versionName", "result", "os", "parser", "notLikeAndroid", "butAndroid", "parser_platforms_default", "PLATFORMS_MAP", "ua", "model", "Utils", "platform", "parser", "iDevice", "likeIDevice", "osMajorVersion", "parser_engines_default", "parser", "ua", "ENGINE_MAP", "version", "Utils", "engine", "isGecko", "likeGecko", "Parser", "__name", "UA", "skipParsingOrHints", "clientHints", "skipParsing", "brandName", "brandLower", "b", "brand", "regex", "browserDescriptor", "Utils", "parser_browsers_default", "_browser", "condition", "toLowerCase", "os", "parser_os_default", "_os", "name", "type", "platform", "parser_platforms_default", "_platform", "engine", "parser_engines_default", "_engine", "checkTree", "platformsAndOSes", "platformsAndOSCounter", "browsers", "browsersCounter", "key", "currentDefinition", "platformsAndOSNames", "OSMatchingDefinition", "osResult", "platformMatchingDefinition", "platformResult", "browserNames", "matchingDefinition", "browserName", "includingAlias", "defaultBrowserName", "browserNameLower", "alias", "version", "expectedResults", "comparableVersion", "isLoose", "currentBrowserVersion", "osName", "platformType", "engineName", "anything", "anythings", "parser_default", "Bowser", "__name", "UA", "skipParsingOrHints", "clientHints", "parser_default", "BROWSER_MAP", "ENGINE_MAP", "OS_MAP", "PLATFORMS_MAP", "bowser_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* CommonJS polyfills */import { fileURLToPath } from 'node:url';import { createRequire } from 'node:module';const __filename = fileURLToPath(import.meta.url);const __dirname = fileURLToPath(new URL('.', import.meta.url));const require = createRequire(import.meta.url);/* end of CommonJS polyfills */
|
|
2
|
+
import{a as At,b as je,d as Ct,e as b,f as I}from"./chunk-VVQ6TCBE.mjs";import{B as St,P as B,Q as $e,R as ie,S as oe,T as k,U as yt,V as ne,W as ae,b as lt,g as Le,ka as D,l as ut,na as wt,o as Pe,oa as xt,pa as Et,s as Ue,t as He}from"./chunk-JJCR37FH.mjs";import{F as E,Q as U,c as ee,d as ze,j as te,m as y,n as Be,p as re,r as L,s as P,t as z,v as dt,w as pt,x as gt,y as se}from"./chunk-C2HKOC4G.mjs";import{a as H}from"./chunk-OQ6H2FAT.mjs";import{a as N,b as ce,d as fe}from"./chunk-CJTIV5DQ.mjs";import{a as h}from"./chunk-A55324SF.mjs";var me=h(n=>ze.isInstance(n)?n.headers?.date??n.headers?.Date:void 0,"getDateHeader"),he=h(n=>ze.isInstance(n)?n.headers?.age??n.headers?.Age:void 0,"getAgeHeader");var q=h(n=>new Date(Date.now()+n),"getSkewCorrectedDate");var le=h((n,e,t,s)=>{if(s!==void 0)return e;let r=Date.parse(n),i=Date.now();return t!==void 0&&i-t>9e5?e:t!==void 0?r-(t+i)/2:r-i},"getUpdatedSystemClockOffset");var v=h((n,e)=>{if(!e)throw new Error(`Property \`${n}\` is not resolved for AWS SDK SigV4Auth`);return e},"throwSigningPropertyError"),W=h(async n=>{let e=v("context",n.context),t=v("config",n.config),s=e.endpointV2?.properties?.authSchemes?.[0],i=await v("signer",t.signer)(s),o=n?.signingRegion,a=n?.signingRegionSet,f=n?.signingName;return{config:t,signer:i,signingRegion:o,signingRegionSet:a,signingName:f}},"validateSigningProperties"),$=class{static{h(this,"AwsSdkSigV4Signer")}async sign(e,t,s){if(!ee.isInstance(e))throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await W(s),{config:i,signer:o}=r,{signingRegion:a,signingName:f}=r,m=s.context;if(m?.authSchemes?.length??!1){let[u,d]=m.authSchemes;u?.name==="sigv4a"&&d?.name==="sigv4"&&(a=d?.signingRegion??a,f=d?.signingName??f)}let c=await i.disableClockSkewCorrection?.()===!0;return s._disableClockSkewCorrection=c,c||(s._preRequestSystemClockOffset=i.systemClockOffset,s._requestSentAt=Date.now()),await o.sign(e,{signingDate:c?new Date:q(i.systemClockOffset),signingRegion:a,signingService:f})}errorHandler(e){return t=>{let s=t;if(!e._disableClockSkewCorrection){let r=s.ServerTime??me(s.$response);if(r){let i=v("config",e.config),o=e._preRequestSystemClockOffset,a=e._requestSentAt,f=he(s.$response),m=le(r,i.systemClockOffset,a,f);i.systemClockOffset=m,Math.abs(m)>=24e4&&(m!==o||o!==void 0&&o!==m)&&s.$metadata&&(s.$metadata.clockSkewCorrected=!0)}}throw t}}successHandler(e,t){if(t._disableClockSkewCorrection)return;let s=me(e);if(s){let r=v("config",t.config),i=t._requestSentAt,o=he(e);r.systemClockOffset=le(s,r.systemClockOffset,i,o)}}};var ue=class extends ${static{h(this,"AwsSdkSigV4ASigner")}async sign(e,t,s){if(!ee.isInstance(e))throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:r,signer:i,signingRegion:o,signingRegionSet:a,signingName:f}=await W(s),c=(await r.sigv4aSigningRegionSet?.()??a??[o]).join(","),l=await r.disableClockSkewCorrection?.()===!0;return s._disableClockSkewCorrection=l,l||(s._preRequestSystemClockOffset=r.systemClockOffset,s._requestSentAt=Date.now()),await i.sign(e,{signingDate:l?new Date:q(r.systemClockOffset),signingRegion:c,signingService:f})}};var Ve=h(n=>typeof n=="string"&&n.length>0?n.split(",").map(e=>e.trim()):[],"getArrayForCommaSeparatedString");var Nt=h(n=>`AWS_BEARER_TOKEN_${n.replace(/[\s-]/g,"_").toUpperCase()}`,"getBearerTokenEnvKey");var bt="AWS_AUTH_SCHEME_PREFERENCE",Tt="auth_scheme_preference",Rt={environmentVariableSelector:h((n,e)=>{if(e?.signingName&&Nt(e.signingName)in n)return["httpBearerAuth"];if(bt in n)return Ve(n[bt])},"environmentVariableSelector"),configFileSelector:h(n=>{if(Tt in n)return Ve(n[Tt])},"configFileSelector"),default:[]};var _t=h(n=>(n.sigv4aSigningRegionSet=D(n.sigv4aSigningRegionSet),n),"resolveAwsSdkSigV4AConfig"),It={environmentVariableSelector(n){if(n.AWS_SIGV4A_SIGNING_REGION_SET)return n.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new Pe("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:!0})},configFileSelector(n){if(n.sigv4a_signing_region_set)return(n.sigv4a_signing_region_set??"").split(",").map(e=>e.trim());throw new Pe("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};var de=class{static{h(this,"HeaderFormatter")}format(e){let t=[];for(let i in e){if(!N(e,i))continue;let o=je(i);t.push(Uint8Array.from([o.byteLength]),o,this.formatHeaderValue(e[i]))}let s=new Uint8Array(t.reduce((i,o)=>i+o.byteLength,0)),r=0;for(let i of t)s.set(i,r),r+=i.byteLength;return s}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let s=new DataView(new ArrayBuffer(5));return s.setUint8(0,4),s.setInt32(1,e.value,!1),new Uint8Array(s.buffer);case"long":let r=new Uint8Array(9);return r[0]=5,r.set(e.value.bytes,1),r;case"binary":let i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);let o=new Uint8Array(i.buffer);return o.set(e.value,3),o;case"string":let a=je(e.value),f=new DataView(new ArrayBuffer(3+a.byteLength));f.setUint8(0,7),f.setUint16(1,a.byteLength,!1);let m=new Uint8Array(f.buffer);return m.set(a,3),m;case"timestamp":let c=new Uint8Array(9);return c[0]=8,c.set(Ke.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!pr.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);let l=new Uint8Array(17);return l[0]=9,l.set(Ct(e.value.replace(/-/g,"")),1),l}}},kt;(function(n){n[n.boolTrue=0]="boolTrue",n[n.boolFalse=1]="boolFalse",n[n.byte=2]="byte",n[n.short=3]="short",n[n.integer=4]="integer",n[n.long=5]="long",n[n.byteArray=6]="byteArray",n[n.string=7]="string",n[n.timestamp=8]="timestamp",n[n.uuid=9]="uuid"})(kt||(kt={}));var pr=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Ke=class n{static{h(this,"Int64")}bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776e3||e<-9223372036854776e3)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let s=7,r=Math.abs(Math.round(e));s>-1&&r>0;s--,r/=256)t[s]=r;return e<0&&Dt(t),new n(t)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&Dt(e),parseInt(b(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function Dt(n){for(let e=0;e<8;e++)n[e]^=255;for(let e=7;e>-1&&(n[e]++,n[e]===0);e--);}h(Dt,"negate");var Mt="X-Amz-Algorithm",Ot="X-Amz-Credential",Fe="X-Amz-Date",zt="X-Amz-SignedHeaders",Bt="X-Amz-Expires",Qe="X-Amz-Signature",Ge="X-Amz-Security-Token";var Xe="authorization",qe=Fe.toLowerCase(),gr="date",Lt=[Xe,qe,gr],Pt=Qe.toLowerCase(),J="x-amz-content-sha256",Ut=Ge.toLowerCase();var Ht={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},$t=/^proxy-/,jt=/^sec-/;var pe="AWS4-HMAC-SHA256";var Vt="AWS4-HMAC-SHA256-PAYLOAD",Kt="UNSIGNED-PAYLOAD",Ft=50,ve="aws4_request",Qt=3600*24*7;var Gt=h(({query:n={}})=>{let e=[],t={};for(let s in n){if(!N(n,s)||s.toLowerCase()===Pt)continue;let r=H(s);e.push(r);let i=n[s];typeof i=="string"?t[r]=`${r}=${H(i)}`:Array.isArray(i)&&(t[r]=i.slice(0).reduce((o,a)=>o.concat([`${r}=${H(a)}`]),[]).sort().join("&"))}return e.sort().map(s=>t[s]).filter(s=>s).join("&")},"getCanonicalQuery");var Xt=h(n=>Sr(n).toISOString().replace(/\.\d{3}Z$/,"Z"),"iso8601"),Sr=h(n=>typeof n=="number"?new Date(n*1e3):typeof n=="string"?Number(n)?new Date(Number(n)*1e3):new Date(n):n,"toDate");var ge=class{static{h(this,"SignatureV4Base")}service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:s,service:r,sha256:i,uriEscapePath:o=!0}){this.service=r,this.sha256=i,this.uriEscapePath=o,this.applyChecksum=typeof e=="boolean"?e:!0,this.regionProvider=fe(s),this.credentialProvider=fe(t)}createCanonicalRequest(e,t,s){let r=Object.keys(t).sort();return`${e.method}
|
|
3
|
+
${this.getCanonicalPath(e)}
|
|
4
|
+
${Gt(e)}
|
|
5
|
+
${r.map(i=>`${i}:${t[i]}`).join(`
|
|
6
|
+
`)}
|
|
7
|
+
|
|
8
|
+
${r.join(";")}
|
|
9
|
+
${s}`}async createStringToSign(e,t,s,r){let i=new this.sha256;i.update(I(s));let o=await i.digest();return`${r}
|
|
10
|
+
${e}
|
|
11
|
+
${t}
|
|
12
|
+
${b(o)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let t=[];for(let i of e.split("/"))i?.length!==0&&i!=="."&&(i===".."?t.pop():t.push(i));let s=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;return H(s).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if(typeof e!="object"||typeof e.accessKeyId!="string"||typeof e.secretAccessKey!="string")throw new Error("Resolved credential object is not valid")}formatDate(e){let t=Xt(e).replace(/[-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}};var Se={},We=[],ye=h((n,e,t)=>`${n}/${e}/${t}/${ve}`,"createScope"),vt=h(async(n,e,t,s,r)=>{let i=await qt(n,e.secretAccessKey,e.accessKeyId),o=`${t}:${s}:${r}:${b(i)}:${e.sessionToken}`;if(o in Se)return Se[o];for(We.push(o);We.length>Ft;)delete Se[We.shift()];let a=`AWS4${e.secretAccessKey}`;for(let f of[t,s,r,ve])a=await qt(n,a,f);return Se[o]=a},"getSigningKey");var qt=h((n,e,t)=>{let s=new n(e);return s.update(I(t)),s.digest()},"hmac");var Je=h(({headers:n},e,t)=>{let s={};for(let r of Object.keys(n).sort()){if(n[r]==null)continue;let i=r.toLowerCase();(i in Ht||e?.has(i)||$t.test(i)||jt.test(i))&&(!t||t&&!t.has(i))||(s[i]=n[r].trim().replace(/\s+/g," "))}return s},"getCanonicalHeaders");var we=h(async({headers:n,body:e},t)=>{for(let s in n)if(N(n,s)&&s.toLowerCase()===J)return n[s];if(e==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if(typeof e=="string"||ArrayBuffer.isView(e)||At(e)){let s=new t;return s.update(I(e)),b(await s.digest())}return Kt},"getPayloadHash");var Wt=h((n,e)=>{n=n.toLowerCase();for(let t in e)if(N(e,t)&&n===t.toLowerCase())return!0;return!1},"hasHeader");var Jt=h((n,e={})=>{let{headers:t,query:s={}}=ce.clone(n);for(let r in t){if(!N(t,r))continue;let i=r.toLowerCase();(i.slice(0,6)==="x-amz-"&&!e.unhoistableHeaders?.has(i)||e.hoistableHeaders?.has(i))&&(s[r]=t[r],delete t[r])}return{...n,headers:t,query:s}},"moveHeadersToQuery");var Ye=h(n=>{n=ce.clone(n);for(let e in n.headers)N(n.headers,e)&&Lt.indexOf(e.toLowerCase())>-1&&delete n.headers[e];return n},"prepareRequest");var j=class extends ge{static{h(this,"SignatureV4")}headerFormatter=new de;constructor({applyChecksum:e,credentials:t,region:s,service:r,sha256:i,uriEscapePath:o=!0}){super({applyChecksum:e,credentials:t,region:s,service:r,sha256:i,uriEscapePath:o})}async presign(e,t={}){let{signingDate:s=new Date,expiresIn:r=3600,unsignableHeaders:i,unhoistableHeaders:o,signableHeaders:a,hoistableHeaders:f,signingRegion:m,signingService:c}=t,l=await this.credentialProvider();this.validateResolvedCredentials(l);let u=m??await this.regionProvider(),{longDate:d,shortDate:p}=this.formatDate(s);if(r>Qt)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let S=ye(p,u,c??this.service),g=Jt(Ye(e),{unhoistableHeaders:o,hoistableHeaders:f});l.sessionToken&&(g.query[Ge]=l.sessionToken),g.query[Mt]=pe,g.query[Ot]=`${l.accessKeyId}/${S}`,g.query[Fe]=d,g.query[Bt]=r.toString(10);let x=Je(g,i,a);return g.query[zt]=this.getCanonicalHeaderList(x),g.query[Qe]=await this.getSignature(d,S,this.getSigningKey(l,u,p,c),this.createCanonicalRequest(g,x,await we(e,this.sha256))),g}async sign(e,t){return typeof e=="string"?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:s=new Date,priorSignature:r,signingRegion:i,signingService:o,eventStreamCredentials:a}){let f=i??await this.regionProvider(),{shortDate:m,longDate:c}=this.formatDate(s),l=ye(m,f,o??this.service),u=await we({headers:{},body:t},this.sha256),d=new this.sha256;d.update(e);let p=b(await d.digest()),S=[Vt,c,l,r,p,u].join(`
|
|
13
|
+
`);return this.signString(S,{signingDate:s,signingRegion:f,signingService:o,eventStreamCredentials:a})}async signMessage(e,{signingDate:t=new Date,signingRegion:s,signingService:r,eventStreamCredentials:i}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:s,signingService:r,priorSignature:e.priorSignature,eventStreamCredentials:i}).then(a=>({message:e.message,signature:a}))}async signString(e,{signingDate:t=new Date,signingRegion:s,signingService:r,eventStreamCredentials:i}={}){let o=i??await this.credentialProvider();this.validateResolvedCredentials(o);let a=s??await this.regionProvider(),{shortDate:f}=this.formatDate(t),m=new this.sha256(await this.getSigningKey(o,a,f,r));return m.update(I(e)),b(await m.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:s,unsignableHeaders:r,signingRegion:i,signingService:o}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let f=i??await this.regionProvider(),m=Ye(e),{longDate:c,shortDate:l}=this.formatDate(t),u=ye(l,f,o??this.service);m.headers[qe]=c,a.sessionToken&&(m.headers[Ut]=a.sessionToken);let d=await we(m,this.sha256);!Wt(J,m.headers)&&this.applyChecksum&&(m.headers[J]=d);let p=Je(m,r,s),S=await this.getSignature(c,u,this.getSigningKey(a,f,l,o),this.createCanonicalRequest(m,p,d));return m.headers[Xe]=`${pe} Credential=${a.accessKeyId}/${u}, SignedHeaders=${this.getCanonicalHeaderList(p)}, Signature=${S}`,m}async getSignature(e,t,s,r){let i=await this.createStringToSign(e,t,r,pe),o=new this.sha256(await s);return o.update(I(i)),b(await o.digest())}getSigningKey(e,t,s,r){return vt(this.sha256,e,s,t,r||this.service)}};var yr={SignatureV4a:null};var Ze=h(n=>e=>{let t=e.credentials,s=!!e.credentials,r;Object.defineProperty(e,"credentials",{set(c){c&&c!==t&&c!==r&&(s=!0),t=c;let l=wr(e,{credentials:t,credentialDefaultProvider:e.credentialDefaultProvider}),u=xr(e,l);if(s&&!u.attributed){let d=typeof t=="object"&&t!==null;r=h(async p=>{let g=await u(p);return d&&(!g.$source||Object.keys(g.$source).length===0)?lt(g,"CREDENTIALS_CODE","e"):g},"resolvedCredentials"),r.memoized=u.memoized,r.configBound=u.configBound,r.attributed=!0}else r=u},get(){return r},enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:i=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:a}=e,f;return e.signer?f=D(e.signer):e.regionInfoProvider?f=h(()=>D(e.region)().then(async c=>[await e.regionInfoProvider(c,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},c]).then(([c,l])=>{let{signingRegion:u,signingService:d}=c;e.signingRegion=e.signingRegion||u||l,e.signingName=e.signingName||d||e.serviceId;let p={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:a,uriEscapePath:i},S=e.signerConstructor||j;return new S(p)}),"signer"):f=h(async c=>{c=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await D(e.region)(),properties:{}},c);let l=c.signingRegion,u=c.signingName;e.signingRegion=e.signingRegion||l,e.signingName=e.signingName||u||e.serviceId;let d={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:a,uriEscapePath:i},p=e.signerConstructor||j;return new p(d)},"signer"),Object.assign(e,{systemClockOffset:o,signingEscapePath:i,signer:f,disableClockSkewCorrection:D(e.disableClockSkewCorrection??n)})},"bindResolveAwsSdkSigV4Config");function wr(n,{credentials:e,credentialDefaultProvider:t}){let s;return e?e?.memoized?s=e:s=Et(e,wt,xt):t?s=D(t(Object.assign({},n,{parentClientConfig:n}))):s=h(async()=>{throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")},"credentialsProvider"),s.memoized=!0,s}h(wr,"normalizeCredentialProvider");function xr(n,e){if(e.configBound)return e;let t=h(async s=>e({...s,callerClientConfig:n}),"fn");return t.memoized=e.memoized,t.configBound=!0,t}h(xr,"bindCallerConfig");var Ar="AWS_DISABLE_CLOCK_SKEW_CORRECTION",Cr="disable_clock_skew_correction",Yt={environmentVariableSelector:h(n=>Ue(n,Ar,He.ENV),"environmentVariableSelector"),configFileSelector:h(n=>Ue(n,Cr,He.CONFIG),"configFileSelector"),default:!1};var Zt=St(Yt);var $i=Ze(Zt);var R=class{static{h(this,"ProtocolLib")}queryCompat;errorRegistry;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,t){let s=t.getMemberSchemas(),r=Object.values(s).find(i=>!!i.getMergedTraits().httpPayload);if(r){let i=r.getMergedTraits().mediaType;return i||(r.isStringSchema()?"text/plain":r.isBlobSchema()?"application/octet-stream":e)}else if(!t.isUnitSchema()&&Object.values(s).find(o=>{let{httpQuery:a,httpQueryParams:f,httpHeader:m,httpLabel:c,httpPrefixHeaders:l}=o.getMergedTraits();return!a&&!f&&!m&&!c&&l===void 0}))return e}async getErrorSchemaOrThrowBaseException(e,t,s,r,i,o){let a=e;e.includes("#")&&([,a]=e.split("#"));let f={$metadata:i,$fault:s.statusCode<500?"client":"server"};if(!this.errorRegistry)throw new Error("@aws-sdk/core/protocols - error handler not initialized.");try{return{errorSchema:o?.(this.errorRegistry,a)??this.errorRegistry.getSchema(e),errorMetadata:f}}catch{r.message=r.message??r.Message??"UnknownError";let c=this.errorRegistry,l=c.getBaseException();if(l){let p=c.getErrorCtor(l)??Error;throw this.decorateServiceException(Object.assign(new p({name:a}),f),r)}let u=r,d=u?.message??u?.Message??u?.Error?.Message??u?.Error?.message;throw this.decorateServiceException(Object.assign(new Error(d),{name:a},f),r)}}compose(e,t,s){let r=s;t.includes("#")&&([r]=t.split("#"));let i=Be.for(r),o=Be.for("smithy.ts.sdk.synthetic."+s);e.copyFrom(i),e.copyFrom(o),this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){let s=e.Message??t.Message,r=Le(e,t);s&&(r.message=s);let i=r.Error??{};i.Type=r.Error?.Type,i.Code=r.Error?.Code,i.Message=r.Error?.message??r.Error?.Message??s,r.Error=i;let o=r.$metadata.requestId;return o&&(r.RequestId=o),r}return Le(e,t)}setQueryCompatError(e,t){let s=t.headers?.["x-amzn-query-error"];if(e!==void 0&&s!=null){let[r,i]=s.split(";"),o=Object.keys(e),a={Code:r,Type:i};e.Code=r,e.Type=i;for(let f=0;f<o.length;f++){let m=o[f];a[m==="message"?"Message":m]=e[m]}delete a.__type,e.Error=a}}queryCompatOutput(e,t){e.Error&&(t.Error=e.Error),e.Type&&(t.Type=e.Type),e.Code&&(t.Code=e.Code)}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch{return e.find(r=>y.of(r).getMergedTraits().awsQueryError?.[0]===t)}}};var w=class{static{h(this,"SerdeContextConfig")}serdeContext;setSerdeContext(e){this.serdeContext=e}};var V=class{static{h(this,"UnionSerde")}from;to;keys;constructor(e,t){this.from=e,this.to=t;let s=Object.keys(this.from),r=new Set(s);r.delete("__type"),this.keys=r}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,t=this.from[e];this.to.$unknown=[e,t]}}};var Y;function xe(){if(Y===void 0)try{if(typeof Buffer!="function")Y=!1;else{let n=JSON.parse(Buffer.from([123,125]));Y=n!==null&&typeof n=="object"}}catch{Y=!1}return Y}h(xe,"detectBufferParsing");function Ee(n,e,t){if(t?.source){let s=t.source;if(typeof e=="number")return e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER?br(s,e)?e:new E(s,"bigDecimal"):Nr(s)?new E(s,"bigDecimal"):/[eE]/.test(s)?Tr(s):BigInt(s)}return e}h(Ee,"jsonReviver");function Nr(n){let e=n.indexOf(".");if(e===-1)return!1;let t=n.search(/[eE]/);if(t===-1)return!0;let s=t-e-1;return parseInt(n.slice(t+1),10)<s}h(Nr,"isFractionalBigNumeric");function br(n,e){if(n===String(e)||Object.is(e,-0))return!0;if(/[eE]/.test(n))return et(n)===et(String(e));let t=n.replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,""),s=String(e);return t===s?!0:/[eE]/.test(s)?t===et(s):!1}h(br,"isRepresentable");function et(n){let e=n.startsWith("-"),t=e?n.slice(1):n,s=t.search(/[eE]/),r;if(s===-1)r=t;else{let i=parseInt(t.slice(s+1),10),o=t.slice(0,s),a=o.indexOf("."),f,m;a===-1?(f=o,m=o.length):(f=o.slice(0,a)+o.slice(a+1),m=a),f=f.replace(/0+$/,"")||"0";let c=m+i;f==="0"?r="0":c<=0?r="0."+"0".repeat(-c)+f:c>=f.length?r=f+"0".repeat(c-f.length):r=f.slice(0,c)+"."+f.slice(c)}return r.includes(".")&&(r=r.replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,"")),(e?"-":"")+r}h(et,"expandToDecimal");function Tr(n){let e=n.search(/[eE]/),t=parseInt(n.slice(e+1),10),s=n.startsWith("-"),r=n.slice(s?1:0,e),i=r.indexOf("."),o,a;if(i===-1)o=r,a=t;else{o=r.slice(0,i)+r.slice(i+1);let m=r.length-i-1;a=t-m}o=o.replace(/0+$/,"")||"0";let f=BigInt(o)*10n**BigInt(a+(r.replace(".","").length-o.length));return s?-f:f}h(Tr,"expandExponentToBigInt");var tt=Symbol.for("@aws-sdk/reviver");function Ce(n){let e=y.of(n),t=e.getSchema();if(Array.isArray(t)&&e.isStructSchema()){if(tt in t)return t[tt];let s=Ae(e,new Set);return t[tt]=s,s}return Ae(e,new Set)}h(Ce,"needsReviver");function Ae(n,e){let t=n.getSchema();if(e.has(t))return!1;if(e.add(t),n.isBigIntegerSchema()||n.isBigDecimalSchema())return!0;if(n.isStructSchema()){for(let[,s]of n.structIterator())if(Ae(s,e))return!0}else if(n.isListSchema()||n.isMapSchema()){if(Ae(n.getValueSchema(),e))return!0}else if(n.isDocumentSchema())return!0;return!1}h(Ae,"_check");var er=h((n,e)=>B(n,e).then(t=>(e?.utf8Encoder??P)(t)),"collectBodyString");async function rr(n,e,t){let s;if(xe()&&typeof n?.[Symbol.asyncIterator]=="function"){let i=await B(n,e);typeof Buffer=="function"&&(Buffer.isBuffer(i)?s=i:s=Buffer.from(i.buffer,i.byteOffset,i.byteLength))}if(s||(s=await er(n,e)),s.length===0)return{};let r=t&&Ce(t)?Ee:void 0;try{return JSON.parse(s,r)}catch(i){throw i?.name==="SyntaxError"&&Object.defineProperty(i,"$responseBodyText",{value:typeof s=="string"?s:s.toString("utf8")}),i}}h(rr,"parseJsonBody");var tr=h((n,e)=>Object.keys(n).find(t=>t.toLowerCase()===e.toLowerCase()),"findKey"),rt=h(n=>{let e=n;return typeof e=="number"&&(e=e.toString()),e.indexOf(",")>=0&&(e=e.split(",")[0]),e.indexOf(":")>=0&&(e=e.split(":")[0]),e.indexOf("#")>=0&&(e=e.split("#")[1]),e},"sanitizeErrorCode"),sr=h((n,e)=>or(n,e,["header","code","type"]),"loadRestJsonErrorCode"),ir=h((n,e,t=!1)=>or(n,e,t?["code","header","type"]:["type","code","header"]),"loadJsonRpcErrorCode"),or=h(({headers:n},e,t)=>{for(;t.length>0;)switch(t.shift()){case"header":let r=tr(n??{},"x-amzn-errortype");if(r!==void 0)return rt(n[r]);break;case"code":let i=tr(e??{},"code");if(i&&e[i]!==void 0)return rt(e[i]);break;case"type":if(e?.__type!==void 0)return rt(e.__type);break}},"loadErrorCode");function Z(n){Object.defineProperty(n,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0})}h(Z,"writeKey");var Ne=class extends w{static{h(this,"JsonShapeDeserializer2")}settings;constructor(e){super(),this.settings=e}async read(e,t){let s=Ce(e)?Ee:void 0,r;if(typeof t=="string"){if(t.length===0)return{};r=JSON.parse(t,s)}else if(t instanceof Uint8Array&&xe()){if(t.byteLength===0)return{};let i=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);r=JSON.parse(i,s)}else r=await rr(t,this.serdeContext,e);return this._read(e,r)}readObject(e,t){return this._read(e,t)}_read(e,t){let s=t!==null&&typeof t=="object",r=y.of(e);if(s){if(r.isStructSchema())return this._readStruct(r,t);if(Array.isArray(t)&&r.isListSchema()){let o=r.getValueSchema();if(this.needsTransform(o))for(let a=0;a<t.length;++a)t[a]=this._read(o,t[a]);return t}if(r.isMapSchema()){let o=r.getValueSchema(),a=t;if(this.needsTransform(o))for(let f in a)f==="__proto__"&&Z(a),a[f]=this._read(o,a[f]);return a}}if(r.isBlobSchema()&&typeof t=="string")return re(t);let i=r.getMergedTraits().mediaType;if(r.isStringSchema()&&typeof t=="string"&&i)return i==="application/json"||i.endsWith("+json")?se.from(t):t;if(r.isTimestampSchema()&&t!=null)switch(k(r,this.settings)){case 5:return dt(t);case 6:return pt(t);case 7:return gt(t);default:return console.warn("Missing timestamp format, parsing value with Date constructor:",t),new Date(t)}if(r.isBigIntegerSchema()&&(typeof t=="number"||typeof t=="string"))return BigInt(t);if(r.isBigDecimalSchema()&&t!=null){if(t instanceof E)return t;let o=t;return o.type==="bigDecimal"&&"string"in o?new E(o.string,o.type):new E(String(t),"bigDecimal")}if(r.isNumericSchema()&&typeof t=="string"){switch(t){case"Infinity":return 1/0;case"-Infinity":return-1/0;case"NaN":return NaN}return t}if(r.isDocumentSchema()&&s)if(Array.isArray(t))for(let o=0;o<t.length;++o){let a=t[o];a instanceof E||(t[o]=this._read(r,a))}else{let o=t;for(let a in o){a==="__proto__"&&Z(o);let f=o[a];f instanceof E||(o[a]=this._read(r,f))}}return t}_readStruct(e,t){let s=e.isUnionSchema(),r={},i,o=typeof t.__type=="string",{jsonName:a}=this.settings;a&&o&&(i={});let f;s&&(f=new V(t,r));for(let[m,c]of e.structIterator()){let l=m;a&&(l=c.getMergedTraits().jsonName??l,o&&(i[l]=m)),s&&f.mark(l),t[l]!=null&&(r[m]=this._read(c,t[l]))}if(s)f.writeUnknown();else if(o)for(let m in t){let c=t[m],l=a?i[m]??m:m;l in r||(r[l]=c)}return r}needsTransform(e){return!!(e.isBlobSchema()||e.isTimestampSchema()||e.isBigIntegerSchema()||e.isBigDecimalSchema()||e.isDocumentSchema()||e.isStructSchema()||e.isListSchema()||e.isMapSchema()||e.isStringSchema()&&e.getMergedTraits().mediaType)}};var be=class n extends Uint8Array{static{h(this,"JsonBytesStringAdapter")}string=null;static allocUnsafe(e){if(typeof Buffer=="function"){let t=Buffer.allocUnsafe(e);return new n(t.buffer,t.byteOffset,t.byteLength)}return new n(e)}toString(){return this.s()}valueOf(){return this.s()}includes(e,t){return typeof e=="string"?this.s().includes(e,t):Uint8Array.prototype.includes.call(this,e,t)}indexOf(e,t){return typeof e=="string"?this.s().indexOf(e,t):Uint8Array.prototype.indexOf.call(this,e,t)}lastIndexOf(e,t){if(typeof e=="string")return this.s().lastIndexOf(e,t);let s=Uint8Array.prototype.lastIndexOf;return t!==void 0?s.call(this,e,t):s.call(this,e)}startsWith(e,t){return this.s().startsWith(e,t)}endsWith(e,t){return this.s().endsWith(e,t)}match(e){return this.s().match(e)}replace(e,t){return this.s().replace(e,t)}search(e){return this.s().search(e)}split(e,t){return this.s().split(e,t)}substring(e,t){return this.s().substring(e,t)}trim(){return this.s().trim()}trimStart(){return this.s().trimStart()}trimEnd(){return this.s().trimEnd()}charAt(e){return this.s().charAt(e)}charCodeAt(e){return this.s().charCodeAt(e)}padStart(e,t){return this.s().padStart(e,t)}padEnd(e,t){return this.s().padEnd(e,t)}repeat(e){return this.s().repeat(e)}toUpperCase(){return this.s().toUpperCase()}toLowerCase(){return this.s().toLowerCase()}s(){if(this.string==null){let e=Date.now();e>nr+6e4&&(console.warn("@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error."),nr=e),this.string=P(this)}return this.string}},nr=0;var Te=new TextEncoder,ar=123,cr=125,Rr=91,_r=93,K=34,Re=58,_e=44,fr=92,Ir=new Uint8Array([116,114,117,101]),kr=new Uint8Array([102,97,108,115,101]),Dr=new Uint8Array([110,117,108,108]),_=new Array(128).fill(null);_[8]="b";_[9]="t";_[10]="n";_[12]="f";_[13]="r";_[34]='"';_[92]="\\";for(let n=0;n<32;n++)_[n]===null&&(_[n]="u00"+n.toString(16).padStart(2,"0"));var mr=2048;function st(n){return be.allocUnsafe(n)}h(st,"alloc");var Ie=class n extends w{static{h(this,"JsonShapeSerializer2")}settings;json;i=0;rootSchema;rawValue;passthrough=!1;constructor(e){super(),this.settings=e,this.json=st(mr)}write(e,t){this.i=0,this.rawValue=t,this.rootSchema=y.of(e),this.passthrough=this.rootSchema.isBlobSchema()||this.rootSchema.isStringSchema(),this.passthrough||this.writeValue(this.rootSchema,t,void 0)}writeDiscriminatedDocument(e,t){this.i=0,this.rootSchema=y.of(e);let s=this.rootSchema;if(s.isStructSchema()&&t!=null&&typeof t=="object"){this.writeValue(s,t,void 0);let r=`"__type":"${s.getName(!0)??"Unknown"}",`,i=r.length;this.ensure(i),this.json.copyWithin(1+i,1,this.i),Te.encodeInto(r,this.json.subarray(1)),this.i+=i}else this.writeValue(s,t,void 0)}flush(){this.rootSchema=void 0;let e=this.i;this.i=0;let t=this.rawValue;if(this.rawValue=void 0,e===0)return t;let s=this.json.subarray(0,e);return this.json=st(mr),s}ensure(e){let{i:t,json:s}=this;if(t+e>s.length){let r=s.length*2;for(;r<t+e;)r*=2;let i=st(r);i.set(this.json),this.json=i}}writeAscii(e){let t=e.length;this.ensure(t);let{i:s,json:r}=this;for(let i=0;i<t;++i)r[s]=e.charCodeAt(i),s+=1;this.i=s}writeAsciiQuoted(e){let t=e.length;this.ensure(t+4);let{json:s,i:r}=this;s[r++]=K;for(let i=0;i<t;++i)s[r++]=e.charCodeAt(i);s[r++]=K,this.i=r}writeJsonString(e){this.ensure(e.length*3+2),this.json[this.i++]=K;let t=e.length;for(let s=0;s<t;++s){let r=e.charCodeAt(s);if(r>34&&r<92)this.json[this.i++]=r;else if(r<128){let i=_[r];if(i!==null){this.ensure(i.length+1),this.json[this.i++]=fr;for(let o=0;o<i.length;o++)this.json[this.i++]=i.charCodeAt(o)}else this.json[this.i++]=r}else if(r>=55296&&r<=56319){let i=s+1<t?e.charCodeAt(s+1):0;if(i>=56320&&i<=57343){this.ensure(4);let{written:o}=Te.encodeInto(e.substring(s,s+2),this.json.subarray(this.i));this.i+=o,++s}else this.ensure(6),this.writeUnicodeEscape(r)}else if(r>=56320&&r<=57343)this.ensure(6),this.writeUnicodeEscape(r);else{let{i,json:o}=this;r<2048?(o[i++]=192|r>>6,o[i++]=128|r&63):(o[i++]=224|r>>12,o[i++]=128|r>>6&63,o[i++]=128|r&63),this.i=i}}this.json[this.i++]=K}writeUnicodeEscape(e){let{json:t,i:s}=this;t[s++]=fr,t[s++]=117;let r=e.toString(16).padStart(4,"0");for(let i=0;i<4;++i)t[s++]=r.charCodeAt(i);this.i=s}static B64=(()=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=new Uint8Array(64);for(let s=0;s<64;++s)t[s]=e.charCodeAt(s);return t})();writeBase64(e){let t=Math.ceil(e.length/3)*4;this.ensure(t+2);let s=this.json,r=n.B64,i=this.i;s[i++]=K;let o=e.length,a=o%3,f=o-a;for(let m=0;m<f;m+=3){let c=e[m],l=e[m+1],u=e[m+2];s[i++]=r[c>>2],s[i++]=r[(c&3)<<4|l>>4],s[i++]=r[(l&15)<<2|u>>6],s[i++]=r[u&63]}if(a===2){let m=e[f],c=e[f+1];s[i++]=r[m>>2],s[i++]=r[(m&3)<<4|c>>4],s[i++]=r[(c&15)<<2],s[i++]=61}else if(a===1){let m=e[f];s[i++]=r[m>>2],s[i++]=r[(m&3)<<4],s[i++]=61,s[i++]=61}s[i++]=K,this.i=i}writeValue(e,t,s){if(t==null){if(s?.isStructSchema()){if(t===void 0&&y.of(e).isIdempotencyToken()){this.writeAsciiQuoted(U());return}return}this.ensure(4),this.json.set(Dr,this.i),this.i+=4;return}let r=y.of(e),i=typeof t=="object";if(r.isStringSchema()){let o=r.getMergedTraits().mediaType;if(o&&(o==="application/json"||o.endsWith("+json"))){this.writeJsonString(se.from(t).toString());return}}if(i){if(r.isStructSchema()){this.writeStruct(r,t);return}if(Array.isArray(t)&&(r.isListSchema()||r.isDocumentSchema())){this.writeList(r,t,r.isDocumentSchema());return}if(r.isMapSchema()){this.writeMap(r,t,!1);return}if(t instanceof Uint8Array&&(r.isBlobSchema()||r.isDocumentSchema())){this.writeBase64(t);return}if(t instanceof Date&&(r.isTimestampSchema()||r.isDocumentSchema())){this.writeTimestamp(r,t);return}if(t instanceof E){this.writeAscii(t.string);return}if(r.isDocumentSchema()){Array.isArray(t)?this.writeList(r,t,!0):this.writeMap(r,t,!0);return}let o=JSON.stringify(t);this.writeAscii(o);return}if(typeof t=="string"){if(r.isBlobSchema()){let o=(this.serdeContext?.base64Encoder??L)(t);this.writeAsciiQuoted(o);return}this.writeJsonString(t);return}if(typeof t=="number"){if(Math.abs(t)===1/0||Number.isNaN(t)){this.writeAsciiQuoted(String(t));return}let o=String(t);this.writeAscii(o);return}if(typeof t=="boolean"){this.ensure(5);let{i:o,json:a}=this;t?(a.set(Ir,o),o+=4):(a.set(kr,o),o+=5),this.i=o;return}if(typeof t=="bigint"){this.writeAscii(t.toString());return}this.writeAscii(String(t))}writeStruct(e,t){this.ensure(2),this.json[this.i++]=ar;let s=!1,r=typeof t.__type=="string",i;r&&(i=new Set);for(let[o,a]of e.structIterator()){let f=t[o];if(f==null&&!a.isIdempotencyToken())continue;s&&(this.ensure(1),this.json[this.i++]=_e),s=!0;let m=this.settings.jsonName?a.getMergedTraits().jsonName??o:o;i&&(i.add(o),i.add(m)),this.writeAsciiQuoted(m),this.json[this.i++]=Re,this.writeValue(a,f,e)}if(!s&&e.isUnionSchema()){let{$unknown:o}=t;if(Array.isArray(o)){let[a,f]=o;this.writeAsciiQuoted(a),this.ensure(1),this.json[this.i++]=Re,this.writeValue(15,f,e)}}else if(r)for(let o in t){if(i.has(o))continue;i.add(o);let a=t[o];s&&(this.ensure(1),this.json[this.i++]=_e),s=!0,this.writeAsciiQuoted(o),this.ensure(1),this.json[this.i++]=Re,this.writeValue(15,a,void 0)}this.ensure(1),this.json[this.i++]=cr}writeList(e,t,s){let r=!!e.getMergedTraits().sparse,i=e.getValueSchema();if(!s&&(i.isStringSchema()||i.isNumericSchema()||i.isBooleanSchema())){let a=!1;for(let m=0;m<t.length;++m){let c=t[m];if(Number.isNaN(c)||c===1/0||c===-1/0||c==null&&!r){a=!0;break}}let f;if(!a)f=JSON.stringify(t);else{let m=[];for(let c=0;c<t.length;++c){let l=t[c];l==null&&!r||(Number.isNaN(l)||l===1/0||l===-1/0?m.push(String(l)):m.push(l))}f=JSON.stringify(m)}this.ensure(f.length*3),this.i+=Te.encodeInto(f,this.json.subarray(this.i)).written;return}this.ensure(2),this.json[this.i++]=Rr;let o=!1;for(let a=0;a<t.length;++a){let f=t[a];(s?f===void 0:f==null&&!r)||(o&&(this.ensure(1),this.json[this.i++]=_e),this.writeValue(i,f,void 0),o=!0)}this.ensure(1),this.json[this.i++]=_r}writeMap(e,t,s){let r=!!e.getMergedTraits().sparse,i=e.getValueSchema();if(!s&&(i.isStringSchema()||i.isNumericSchema()||i.isBooleanSchema())){let a;for(let m in t){let c=t[m];Number.isNaN(c)||c===1/0||c===-1/0?((a??={})[m]=c,t[m]=String(c)):c===null&&!r&&((a??={})[m]=null,t[m]=void 0)}let f=JSON.stringify(t);a&&Object.assign(t,a),this.ensure(f.length*3),this.i+=Te.encodeInto(f,this.json.subarray(this.i)).written;return}this.ensure(2),this.json[this.i++]=ar;let o=!0;for(let a in t){let f=t[a];(s?f===void 0:f==null&&!r)||(o||(this.ensure(1),this.json[this.i++]=_e),o=!1,this.writeJsonString(a),this.ensure(1),this.json[this.i++]=Re,this.writeValue(i,f,void 0))}this.ensure(1),this.json[this.i++]=cr}writeTimestamp(e,t){switch(k(e,this.settings)){case 5:{let r=t.toISOString().replace(".000Z","Z");this.writeAsciiQuoted(r);return}case 6:{this.writeAsciiQuoted(z(t));return}case 7:{let r=String(t.getTime()/1e3);this.writeAscii(r);return}default:{let r=String(t.getTime()/1e3);this.writeAscii(r);return}}}};var F=class extends w{static{h(this,"JsonCodec2")}settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new Ie(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new Ne(this.settings);return e.setSerdeContext(this.serdeContext),e}};var it=class extends ie{static{h(this,"AwsRestJsonProtocol")}serializer;deserializer;codec;mixin=new R;constructor({defaultNamespace:e,errorTypeRegistries:t,jsonCodec:s}){super({defaultNamespace:e,errorTypeRegistries:t});let r={timestampFormat:{useTrait:!0,default:7},httpBindings:!0,jsonName:!0};this.codec=s??new F(r),this.serializer=new ae(this.codec.createSerializer(),r),this.deserializer=new ne(this.codec.createDeserializer(),r)}getShapeId(){return"aws.protocols#restJson1"}getPayloadCodec(){return this.codec}setSerdeContext(e){this.codec.setSerdeContext(e),super.setSerdeContext(e)}async serializeRequest(e,t,s){let r=await super.serializeRequest(e,t,s),i=y.of(e.input);if(!r.headers["content-type"]){let o=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);o&&(r.headers["content-type"]=o)}return r.body==null&&r.headers["content-type"]===this.getDefaultContentType()&&(r.body="{}"),r}async deserializeResponse(e,t,s){let r=await super.deserializeResponse(e,t,s),i=y.of(e.output);for(let[o,a]of i.structIterator())a.getMemberTraits().httpPayload&&!(o in r)&&(r[o]=null);return r}async handleError(e,t,s,r,i){let o=sr(s,r)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,o,this.options.defaultNamespace);let{errorSchema:a,errorMetadata:f}=await this.mixin.getErrorSchemaOrThrowBaseException(o,this.options.defaultNamespace,s,r,i),m=y.of(a),c=r.message??r.Message??"UnknownError",l=this.compositeErrorRegistry.getErrorCtor(a)??Error,u=new l({});await this.deserializeHttpMessage(a,t,s,r);let d={},p=this.codec.createDeserializer();for(let[S,g]of m.structIterator()){let x=g.getMergedTraits().jsonName??S;d[S]=p.readObject(g,r[x])}throw this.mixin.decorateServiceException(Object.assign(u,f,{$fault:m.getMergedTraits().error,message:c},d),r)}getDefaultContentType(){return"application/json"}};var Mr=/[&<>"]/g,Or={"&":"&","<":"<",">":">",'"':"""};function hr(n){return n.replace(Mr,e=>Or[e])}h(hr,"escapeAttribute");var zr=/[&"'<>\r\n\u0085\u2028]/g,Br={"&":"&",'"':""","'":"'","<":"<",">":">","\r":"
","\n":"
","
":"…","\u2028":"
"};function lr(n){return n.replace(zr,e=>Br[e])}h(lr,"escapeElement");var M=class{static{h(this,"XmlText")}value;constructor(e){this.value=e}toString(){return lr(""+this.value)}};var A=class n{static{h(this,"XmlNode")}name;children;attributes={};static of(e,t,s){let r=new n(e);return t!==void 0&&r.addChildNode(new M(t)),s!==void 0&&r.withName(s),r}constructor(e,t=[]){this.name=e,this.children=t}withName(e){return this.name=e,this}addAttribute(e,t){return this.attributes[e]=t,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,t){return t!=null&&(this.attributes[e]=t),this}cc(e,t,s=t){if(e[t]!=null){let r=n.of(t,e[t]).withName(s);this.c(r)}}l(e,t,s,r){e[t]!=null&&r().map(o=>{o.withName(s),this.c(o)})}lc(e,t,s,r){if(e[t]!=null){let i=r(),o=new n(s);i.map(a=>{o.c(a)}),this.c(o)}}toString(){let e=!!this.children.length,t=`<${this.name}`,s=this.attributes;for(let r of Object.keys(s)){let i=s[r];i!=null&&(t+=` ${r}="${hr(""+i)}"`)}return t+=e?`>${this.children.map(r=>r.toString()).join("")}</${this.name}>`:"/>"}};function ot(n){Object.defineProperty(n,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0})}h(ot,"writeKey");function at(n){return new nt(n).parse()}h(at,"parseXML");var nt=class n{static{h(this,"AwsXmlParser")}x;i=0;z;constructor(e){this.x=e,this.x=e.replace(/\r\n?/g,`
|
|
14
|
+
`),this.z=this.x.length}parse(){let e=this,{z:t}=e;for(;e.i<t&&(e.trim(),!(e.i>=t));)if(e.isNext("<?"))e.readTo("?>"),e.trim();else if(e.isNext("<!--"))e.readTo("-->"),e.trim();else if(e.isNext("<!DOCTYPE",!1))e.skipDoctype(),e.trim();else if(e.x[e.i]==="<"){let s=e.parseTag();return{[s.tag]:s.value}}else throw new Error("@aws-sdk XML parse error: unexpected content.");throw new Error("@aws-sdk XML parse error: no root element.")}isNext(e,t=!0){let s=this;return t?s.x.startsWith(e,s.i):s.x.toLowerCase().startsWith(e.toLowerCase(),s.i)}readTo(e){let t=this,s=t.x.indexOf(e,t.i);if(s===-1)throw new Error(`@aws-sdk XML parse error: expected "${e}" not found.`);let r=t.x.slice(t.i,s);return t.i=s+e.length,r}trim(){let e=this;for(;e.i<e.z&&` \r
|
|
15
|
+
`.includes(e.x[e.i]);)++e.i}readAttrValue(){let e=this,t=e.x[e.i];++e.i;let s="";for(;e.i<e.z&&e.x[e.i]!==t;)s+=e.x[e.i++];return++e.i,e.decodeEntities(s)}parseTag(){let e=this;++e.i;let t="";for(;e.i<e.z&&!` \r
|
|
16
|
+
>/`.includes(e.x[e.i]);)t+=e.x[e.i++];let s=!1,r={};for(;e.i<e.z&&(e.trim(),!">/".includes(e.x[e.i]));){let c="";for(;e.i<e.z&&!`= \r
|
|
17
|
+
>/?`.includes(e.x[e.i]);)c+=e.x[e.i++];if(e.trim(),e.x[e.i]!=="=")break;++e.i,e.trim(),c==="__proto__"&&ot(r),r[c]=e.readAttrValue(),s=!0}if(e.i>=e.z)throw new Error("@aws-sdk XML parse error: unexpected end of input.");if(e.x[e.i]==="/"){if(++e.i,e.i>=e.z||e.x[e.i]!==">")throw new Error("@aws-sdk XML parse error: expected > at the end of self-closing tag.");return++e.i,{tag:t,value:s?r:""}}if(e.x[e.i]!==">")throw new Error("@aws-sdk XML parse error: expected > at the end of opening tag.");++e.i;let i=[],o=[],a=!1;for(;e.i<e.z&&!e.isNext("</");)if(e.x[e.i]==="<")e.isNext("<!--")?e.readTo("-->"):e.isNext("<![CDATA[")?(e.i+=9,i.push(e.readTo("]]>"))):e.isNext("<?")?e.readTo("?>"):(a=!0,o.push(e.parseTag()));else{let c="";for(;e.i<e.z&&e.x[e.i]!=="<";)c+=e.x[e.i++];i.push(e.decodeEntities(c))}if(!e.isNext("</"))throw new Error(`@aws-sdk XML parse error: missing closing tag </${t}>.`);e.i+=2;let f=e.readTo(">").trim();if(f!==t)throw new Error(`@aws-sdk XML parse error: mismatched tags <${t}> and </${f}>.`);if(!s&&i.length===0&&!a)return{tag:t,value:""};if(!s&&!a){let c=i.length===1?i[0]:i.join("");return c.trim()===""&&c.includes(`
|
|
18
|
+
`)?{tag:t,value:""}:{tag:t,value:c}}let m={};for(let c of i)c.trim()===""&&c.includes(`
|
|
19
|
+
`)||(m["#text"]="#text"in m?m["#text"]+c:c);for(let c of o)c.tag==="__proto__"&&ot(m),c.tag in m?Array.isArray(m[c.tag])?m[c.tag].push(c.value):m[c.tag]=[m[c.tag],c.value]:m[c.tag]=c.value;for(let[c,l]of Object.entries(r))c==="__proto__"&&ot(m),m[c]=l;return{tag:t,value:m}}static ENTITIES={amp:"&",lt:"<",gt:">",quot:'"',apos:"'"};skipDoctype(){let e=this;e.i+=9;let t=0;for(;e.i<e.z;){let s=e.x[e.i];if(s==="[")++t;else if(s==="]")--t;else if(s===">"&&t===0){++e.i;return}++e.i}throw new Error("@aws-sdk XML parse error: unclosed DOCTYPE.")}decodeEntities(e){return e.replace(/&(?:#x([0-9a-fA-F]{1,6})|#(\d{1,7})|([a-zA-Z][a-zA-Z0-9]{0,30}));/g,(t,s,r,i)=>s?String.fromCharCode(parseInt(s,16)):r?String.fromCharCode(parseInt(r,10)):n.ENTITIES[i]??"")}};var Q=class extends w{static{h(this,"XmlShapeDeserializer")}settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new yt(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,t,s){let r=y.of(e),i=r.getMemberSchemas();if(r.isStructSchema()&&r.isMemberSchema()&&!!Object.values(i).find(m=>!!m.getMemberTraits().eventPayload)){let m={},c=Object.keys(i)[0];return i[c].isBlobSchema()?m[c]=t:m[c]=this.read(i[c],t),m}let a=(this.serdeContext?.utf8Encoder??P)(t),f=this.parseXml(a);return this.readSchema(e,s?f[s]:f)}readSchema(e,t){let s=y.of(e);if(s.isUnitSchema())return;let r=s.getMergedTraits();if(s.isListSchema()&&!Array.isArray(t))return this.readSchema(s,[t]);if(t==null)return t;if(typeof t=="object"){let i=!!r.xmlFlattened;if(s.isListSchema()){let a=s.getValueSchema(),f=[],m=a.getMergedTraits().xmlName??"member",c=i?t:(t[0]??t)[m];if(c==null)return f;let l=Array.isArray(c)?c:[c];for(let u of l)f.push(this.readSchema(a,u));return f}let o={};if(s.isMapSchema()){let a=s.getKeySchema(),f=s.getValueSchema(),m;i?m=Array.isArray(t)?t:[t]:m=Array.isArray(t.entry)?t.entry:[t.entry];let c=a.getMergedTraits().xmlName??"key",l=f.getMergedTraits().xmlName??"value";for(let u of m){let d=u[c],p=u[l];d==="__proto__"&&Z(o),o[d]=this.readSchema(f,p)}return o}if(s.isStructSchema()){let a=s.isUnionSchema(),f;a&&(f=new V(t,o));for(let[m,c]of s.structIterator()){let l=c.getMergedTraits(),u=l.httpPayload?l.xmlName??c.getName():c.getMemberTraits().xmlName??m;a&&f.mark(u),t[u]!=null&&(o[m]=this.readSchema(c,t[u]))}return a&&f.writeUnknown(),o}if(s.isDocumentSchema())return t;throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${s.getName(!0)}`)}return s.isListSchema()?[]:s.isMapSchema()||s.isStructSchema()?{}:this.stringDeserializer.read(s,t)}parseXml(e){if(e.length){let t;try{t=at(e)}catch(o){throw o&&typeof o=="object"&&Object.defineProperty(o,"$responseBodyText",{value:e}),o}let s="#text",r=Object.keys(t)[0],i=t[r];return i[s]&&(i[r]=i[s],delete i[s]),ut(i)}return{}}};var ke=class extends w{static{h(this,"QueryShapeSerializer")}settings;buffer;constructor(e){super(),this.settings=e}write(e,t,s=""){this.buffer===void 0&&(this.buffer="");let r=y.of(e);if(s&&!s.endsWith(".")&&(s+="."),r.isBlobSchema())(typeof t=="string"||t instanceof Uint8Array)&&(this.writeKey(s),this.writeValue((this.serdeContext?.base64Encoder??L)(t)));else if(r.isBooleanSchema()||r.isNumericSchema()||r.isStringSchema())t!=null?(this.writeKey(s),this.writeValue(String(t))):r.isIdempotencyToken()&&(this.writeKey(s),this.writeValue(U()));else if(r.isBigIntegerSchema())t!=null&&(this.writeKey(s),this.writeValue(String(t)));else if(r.isBigDecimalSchema())t!=null&&(this.writeKey(s),this.writeValue(t instanceof E?t.string:String(t)));else if(r.isTimestampSchema()){if(t instanceof Date)switch(this.writeKey(s),k(r,this.settings)){case 5:this.writeValue(t.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(z(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}else if(r.isDocumentSchema())Array.isArray(t)?this.write(79,t,s):t instanceof Date?this.write(4,t,s):t instanceof Uint8Array?this.write(21,t,s):t&&typeof t=="object"?this.write(143,t,s):(this.writeKey(s),this.writeValue(String(t)));else if(r.isListSchema()){if(Array.isArray(t))if(t.length===0)this.settings.serializeEmptyLists&&(this.writeKey(s),this.writeValue(""));else{let i=r.getValueSchema(),o=this.settings.flattenLists||r.getMergedTraits().xmlFlattened,a=1;for(let f of t){if(f==null)continue;let m=i.getMergedTraits(),c=this.getKey("member",m.xmlName,m.ec2QueryName),l=o?`${s}${a}`:`${s}${c}.${a}`;this.write(i,f,l),++a}}}else if(r.isMapSchema()){if(t&&typeof t=="object"){let i=r.getKeySchema(),o=r.getValueSchema(),a=r.getMergedTraits().xmlFlattened,f=1;for(let m in t){let c=t[m];if(c==null)continue;let l=i.getMergedTraits(),u=this.getKey("key",l.xmlName,l.ec2QueryName),d=a?`${s}${f}.${u}`:`${s}entry.${f}.${u}`,p=o.getMergedTraits(),S=this.getKey("value",p.xmlName,p.ec2QueryName),g=a?`${s}${f}.${S}`:`${s}entry.${f}.${S}`;this.write(i,m,d),this.write(o,c,g),++f}}}else if(r.isStructSchema()){if(t&&typeof t=="object"){let i=!1;for(let[o,a]of r.structIterator()){if(t[o]==null&&!a.isIdempotencyToken())continue;let f=a.getMergedTraits(),m=this.getKey(o,f.xmlName,f.ec2QueryName,"struct"),c=`${s}${m}`;this.write(a,t[o],c),i=!0}if(!i&&r.isUnionSchema()){let{$unknown:o}=t;if(Array.isArray(o)){let[a,f]=o,m=`${s}${a}`;this.write(15,f,m)}}}}else if(!r.isUnitSchema())throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${r.getName(!0)}`)}flush(){if(this.buffer===void 0)throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.");let e=this.buffer;return delete this.buffer,e}getKey(e,t,s,r){let{ec2:i,capitalizeKeys:o}=this.settings;if(i&&s)return s;let a=t??e;return o&&r==="struct"?a[0].toUpperCase()+a.slice(1):a}writeKey(e){e.endsWith(".")&&(e=e.slice(0,e.length-1)),this.buffer+=`&${$e(e)}=`}writeValue(e){this.buffer+=$e(e)}};var ct=class extends oe{static{h(this,"AwsQueryProtocol")}options;serializer;deserializer;mixin=new R;constructor(e){super({defaultNamespace:e.defaultNamespace,errorTypeRegistries:e.errorTypeRegistries}),this.options=e;let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!1,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:!0};this.serializer=new ke(t),this.deserializer=new Q(t)}getShapeId(){return"aws.protocols#awsQuery"}setSerdeContext(e){this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw new Error("AWSQuery protocol has no payload codec.")}async serializeRequest(e,t,s){let r=await super.serializeRequest(e,t,s);r.path.endsWith("/")||(r.path+="/"),r.headers["content-type"]="application/x-www-form-urlencoded",(te(e.input)==="unit"||!r.body)&&(r.body="");let i=e.name.split("#")[1]??e.name;return r.body=`Action=${i}&Version=${this.options.version}`+r.body,r.body.endsWith("&")&&(r.body=r.body.slice(-1)),r}async deserializeResponse(e,t,s){let r=this.deserializer,i=y.of(e.output),o={};if(s.statusCode>=300){let c=await B(s.body,t);c.byteLength>0&&Object.assign(o,await r.read(15,c)),await this.handleError(e,t,s,o,this.deserializeMetadata(s))}for(let c in s.headers){let l=s.headers[c];delete s.headers[c],s.headers[c.toLowerCase()]=l}let a=e.name.split("#")[1]??e.name,f=i.isStructSchema()&&this.useNestedResult()?a+"Result":void 0,m=await B(s.body,t);return m.byteLength>0&&Object.assign(o,await r.read(i,m,f)),o.$metadata=this.deserializeMetadata(s),o}useNestedResult(){return!0}async handleError(e,t,s,r,i){let o=this.loadQueryErrorCode(s,r)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,o,this.options.defaultNamespace);let a=this.loadQueryError(r)??{},f=this.loadQueryErrorMessage(r);a.message=f,a.Error={Type:a.Type,Code:a.Code,Message:f};let{errorSchema:m,errorMetadata:c}=await this.mixin.getErrorSchemaOrThrowBaseException(o,this.options.defaultNamespace,s,a,i,this.mixin.findQueryCompatibleError),l=y.of(m),u=this.compositeErrorRegistry.getErrorCtor(m)??Error,d=new u({}),p={Type:a.Error.Type,Code:a.Error.Code,Error:a.Error};for(let[S,g]of l.structIterator()){let x=g.getMergedTraits().xmlName??S,C=a[x]??r[x];p[S]=this.deserializer.readSchema(g,C)}throw this.mixin.decorateServiceException(Object.assign(d,c,{$fault:l.getMergedTraits().error,message:f},p),r)}loadQueryErrorCode(e,t){let s=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(s!==void 0)return s;if(e.statusCode==404)return"NotFound"}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){let t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??"Unknown"}getDefaultContentType(){return"application/x-www-form-urlencoded"}};var De=class extends oe{static{h(this,"AwsJsonRpcProtocol")}serializer;deserializer;serviceTarget;codec;mixin;awsQueryCompatible;constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:s,awsQueryCompatible:r,jsonCodec:i}){super({defaultNamespace:e,errorTypeRegistries:t}),this.serviceTarget=s,this.codec=i??new F({timestampFormat:{useTrait:!0,default:7},jsonName:!1}),this.serializer=this.codec.createSerializer(),this.deserializer=this.codec.createDeserializer(),this.awsQueryCompatible=!!r,this.mixin=new R(this.awsQueryCompatible)}async serializeRequest(e,t,s){let r=await super.serializeRequest(e,t,s);return r.path.endsWith("/")||(r.path+="/"),r.headers["content-type"]=`application/x-amz-json-${this.getJsonRpcVersion()}`,r.headers["x-amz-target"]=`${this.serviceTarget}.${e.name}`,this.awsQueryCompatible&&(r.headers["x-amzn-query-mode"]="true"),(te(e.input)==="unit"||!r.body)&&(r.body="{}"),r}getPayloadCodec(){return this.codec}async handleError(e,t,s,r,i){let{awsQueryCompatible:o}=this;o&&this.mixin.setQueryCompatError(r,s);let a=ir(s,r,o)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,a,this.options.defaultNamespace);let{errorSchema:f,errorMetadata:m}=await this.mixin.getErrorSchemaOrThrowBaseException(a,this.options.defaultNamespace,s,r,i,o?this.mixin.findQueryCompatibleError:void 0),c=y.of(f),l=r.message??r.Message??"UnknownError",u=this.compositeErrorRegistry.getErrorCtor(f)??Error,d=new u({}),p={},S=this.codec.createDeserializer();for(let[g,x]of c.structIterator())r[g]!=null&&(p[g]=S.readObject(x,r[g]));throw o&&this.mixin.queryCompatOutput(r,p),this.mixin.decorateServiceException(Object.assign(d,m,{$fault:c.getMergedTraits().error,message:l},p),r)}};var ft=class extends De{static{h(this,"AwsJson1_0Protocol")}constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:s,awsQueryCompatible:r,jsonCodec:i}){super({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:s,awsQueryCompatible:r,jsonCodec:i})}getShapeId(){return"aws.protocols#awsJson1_0"}getJsonRpcVersion(){return"1.0"}getDefaultContentType(){return"application/x-amz-json-1.0"}};var ur=h((n,e)=>{if(e?.Error?.Code!==void 0)return e.Error.Code;if(e?.Code!==void 0)return e.Code;if(n.statusCode==404)return"NotFound"},"loadRestXmlErrorCode");var Me=class extends w{static{h(this,"XmlShapeSerializer")}settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,t){let s=y.of(e);if(s.isStringSchema()&&typeof t=="string")this.stringBuffer=t;else if(s.isBlobSchema())this.byteBuffer="byteLength"in t?t:(this.serdeContext?.base64Decoder??re)(t);else{this.buffer=this.writeStruct(s,t,void 0);let r=s.getMergedTraits();r.httpPayload&&!r.xmlName&&this.buffer.withName(s.getName())}}flush(){if(this.byteBuffer!==void 0){let t=this.byteBuffer;return delete this.byteBuffer,t}if(this.stringBuffer!==void 0){let t=this.stringBuffer;return delete this.stringBuffer,t}let e=this.buffer;return this.settings.xmlNamespace&&(e?.attributes?.xmlns||e.addAttribute("xmlns",this.settings.xmlNamespace)),delete this.buffer,e.toString()}writeStruct(e,t,s){let r=e.getMergedTraits(),i=e.isMemberSchema()&&!r.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():r.xmlName??e.getName();if(!i||!e.isStructSchema())throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let o=A.of(i),[a,f]=this.getXmlnsAttribute(e,s);for(let[c,l]of e.structIterator()){let u=t[c];if(u!=null||l.isIdempotencyToken()){if(l.getMergedTraits().xmlAttribute){o.addAttribute(l.getMergedTraits().xmlName??c,this.writeSimple(l,u));continue}if(l.isListSchema())this.writeList(l,u,o,f);else if(l.isMapSchema())this.writeMap(l,u,o,f);else if(l.isStructSchema())o.addChildNode(this.writeStruct(l,u,f));else{let d=A.of(l.getMergedTraits().xmlName??l.getMemberName());this.writeSimpleInto(l,u,d,f),o.addChildNode(d)}}}let{$unknown:m}=t;if(m&&e.isUnionSchema()&&Array.isArray(m)&&Object.keys(t).length===1){let[c,l]=m,u=A.of(c);if(typeof l!="string")if(t instanceof A||t instanceof M)o.addChildNode(t);else throw new Error("@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.");this.writeSimpleInto(0,l,u,f),o.addChildNode(u)}return f&&o.addAttribute(a,f),o}writeList(e,t,s,r){if(!e.isMemberSchema())throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let i=e.getMergedTraits(),o=e.getValueSchema(),a=o.getMergedTraits(),f=!!a.sparse,m=!!i.xmlFlattened,[c,l]=this.getXmlnsAttribute(e,r),u=h((d,p)=>{if(o.isListSchema())this.writeList(o,Array.isArray(p)?p:[p],d,l);else if(o.isMapSchema())this.writeMap(o,p,d,l);else if(o.isStructSchema()){let S=this.writeStruct(o,p,l);d.addChildNode(S.withName(m?i.xmlName??e.getMemberName():a.xmlName??"member"))}else{let S=A.of(m?i.xmlName??e.getMemberName():a.xmlName??"member");this.writeSimpleInto(o,p,S,l),d.addChildNode(S)}},"writeItem");if(m)for(let d of t)(f||d!=null)&&u(s,d);else{let d=A.of(i.xmlName??e.getMemberName());l&&d.addAttribute(c,l);for(let p of t)(f||p!=null)&&u(d,p);s.addChildNode(d)}}writeMap(e,t,s,r,i=!1){if(!e.isMemberSchema())throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let o=e.getMergedTraits(),a=e.getKeySchema(),m=a.getMergedTraits().xmlName??"key",c=e.getValueSchema(),l=c.getMergedTraits(),u=l.xmlName??"value",d=!!l.sparse,p=!!o.xmlFlattened,[S,g]=this.getXmlnsAttribute(e,r),x=h((C,O,T)=>{let G=A.of(m,O),[dr,ht]=this.getXmlnsAttribute(a,g);ht&&G.addAttribute(dr,ht),C.addChildNode(G);let X=A.of(u);c.isListSchema()?this.writeList(c,T,X,g):c.isMapSchema()?this.writeMap(c,T,X,g,!0):c.isStructSchema()?X=this.writeStruct(c,T,g):this.writeSimpleInto(c,T,X,g),C.addChildNode(X)},"addKeyValue");if(p)for(let C in t){let O=t[C];if(d||O!=null){let T=A.of(o.xmlName??e.getMemberName());x(T,C,O),s.addChildNode(T)}}else{let C;i||(C=A.of(o.xmlName??e.getMemberName()),g&&C.addAttribute(S,g),s.addChildNode(C));for(let O in t){let T=t[O];if(d||T!=null){let G=A.of("entry");x(G,O,T),(i?s:C).addChildNode(G)}}}}writeSimple(e,t){if(t===null)throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let s=y.of(e),r=null;if(t&&typeof t=="object")if(s.isBlobSchema())r=(this.serdeContext?.base64Encoder??L)(t);else if(s.isTimestampSchema()&&t instanceof Date)switch(k(s,this.settings)){case 5:r=t.toISOString().replace(".000Z","Z");break;case 6:r=z(t);break;case 7:r=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",t),r=z(t);break}else{if(s.isBigDecimalSchema()&&t)return t instanceof E?t.string:String(t);throw s.isMapSchema()||s.isListSchema()?new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead."):new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${s.getName(!0)}`)}if((s.isBooleanSchema()||s.isNumericSchema()||s.isBigIntegerSchema()||s.isBigDecimalSchema())&&(r=String(t)),s.isStringSchema()&&(t===void 0&&s.isIdempotencyToken()?r=U():r=String(t)),r===null)throw new Error(`Unhandled schema-value pair ${s.getName(!0)}=${t}`);return r}writeSimpleInto(e,t,s,r){let i=this.writeSimple(e,t),o=y.of(e),a=new M(i),[f,m]=this.getXmlnsAttribute(o,r);m&&s.addAttribute(f,m),s.addChildNode(a)}getXmlnsAttribute(e,t){let s=e.getMergedTraits(),[r,i]=s.xmlNamespace??[];return i&&i!==t?[r?`xmlns:${r}`:"xmlns",i]:[void 0,void 0]}};var Oe=class extends w{static{h(this,"XmlCodec")}settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new Me(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new Q(this.settings);return e.setSerdeContext(this.serdeContext),e}};var mt=class extends ie{static{h(this,"AwsRestXmlProtocol")}codec;serializer;deserializer;mixin=new R;constructor(e){super(e);let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new Oe(t),this.serializer=new ae(this.codec.createSerializer(),t),this.deserializer=new ne(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,t,s){let r=await super.serializeRequest(e,t,s),i=y.of(e.input);if(!r.headers["content-type"]){let o=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);o&&(r.headers["content-type"]=o)}return typeof r.body=="string"&&r.headers["content-type"]===this.getDefaultContentType()&&!r.body.startsWith("<?xml ")&&!this.hasUnstructuredPayloadBinding(i)&&(r.body='<?xml version="1.0" encoding="UTF-8"?>'+r.body),r}async deserializeResponse(e,t,s){return super.deserializeResponse(e,t,s)}async handleError(e,t,s,r,i){let o=ur(s,r)??"Unknown";if(this.mixin.compose(this.compositeErrorRegistry,o,this.options.defaultNamespace),r.Error&&typeof r.Error=="object")for(let S of Object.keys(r.Error))r[S]=r.Error[S],S.toLowerCase()==="message"&&(r.message=r.Error[S]);r.RequestId&&!i.requestId&&(i.requestId=r.RequestId);let{errorSchema:a,errorMetadata:f}=await this.mixin.getErrorSchemaOrThrowBaseException(o,this.options.defaultNamespace,s,r,i),m=y.of(a),c=r.Error?.message??r.Error?.Message??r.message??r.Message??"UnknownError",l=this.compositeErrorRegistry.getErrorCtor(a)??Error,u=new l({});await this.deserializeHttpMessage(a,t,s,r);let d={},p=this.codec.createDeserializer();for(let[S,g]of m.structIterator()){let x=g.getMergedTraits().xmlName??S,C=r.Error?.[x]??r[x];d[S]=p.readSchema(g,C)}throw this.mixin.decorateServiceException(Object.assign(u,f,{$fault:m.getMergedTraits().error,message:c},d),r)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,t]of e.structIterator())if(t.getMergedTraits().httpPayload)return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema());return!1}};export{j as a,yr as b,ft as c,it as d,ct as e,mt as f,$ as g,ue as h,Rt as i,_t as j,It as k,$i as l};
|