Compare commits

..
852 Commits
Author SHA1 Message Date
Harvey Zack d33d59720f chore: 更新 CHANGELOG,新增 artplayer-plugin-dash-control 插件并修复相关问题 2024-10-26 15:54:31 +08:00
Harvey Zack 5e8047e33b Merge remote-tracking branch 'origin/artplayer-plugin-dash-control' 2024-10-26 15:26:14 +08:00
dependabot[bot] a7c45588fb chore(deps): bump @webav/av-cliper from 0.14.15 to 0.16.4 (#847)
Bumps [@webav/av-cliper](https://github.com/bilibili/WebAV) from 0.14.15 to 0.16.4.
- [Changelog](https://github.com/bilibili/WebAV/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bilibili/WebAV/commits)

---
updated-dependencies:
- dependency-name: "@webav/av-cliper"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 09:35:43 +08:00
Harvey Zack 11742b82dd Refactor Control class to remove unnecessary loading.show assignments 2024-10-21 18:48:41 +08:00
Harvey Zack cebbb6ec29 Refactor Control class to update control option variables and element references 2024-10-21 18:32:42 +08:00
Harvey Zack bb3fc27427 Refactor Control class to update control option variables and element references 2024-10-21 18:26:06 +08:00
Harvey Zack a01782732d Refactor Control class to update control option variables and element references 2024-10-21 17:32:48 +08:00
Harvey Zack 0b75f1d132 Refactor Control class to update control option variables and element references 2024-10-21 17:22:52 +08:00
Harvey Zack dcd6e081d8 Refactor Control class to update control option variables and element references 2024-10-21 16:16:29 +08:00
Harvey Zack cc13b9cc0f Refactor Control class to update control option variables and element references 2024-10-21 14:18:33 +08:00
Harvey Zack 2eb4be2bbe Refactor Control class to update control option variables and element references 2024-10-21 14:13:02 +08:00
Harvey Zack af1c769150 Update index.js 2024-10-21 12:42:49 +08:00
Harvey Zack 5dcb3e11c1 Refactor Artplayer class to use arrow functions for getter methods 2024-10-21 11:52:45 +08:00
Harvey Zack 395747f88f Refactor Artplayer class to update video URLs with query parameters 2024-10-21 11:49:14 +08:00
Harvey Zack 945ff841d5 Refactor Artplayer class to update qualityMix.js and component.js 2024-10-21 11:18:22 +08:00
Harvey Zack c82e381aa1 Refactor Artplayer class to remove unnecessary CSS transformations in setting.less 2024-10-21 10:27:26 +08:00
Harvey Zack ed88c73ab2 Refactor Artplayer class to update import path for Component 2024-10-21 00:18:28 +08:00
Harvey Zack 2db49bdede Refactor Artplayer class to update import path for Component 2024-10-20 23:58:07 +08:00
Harvey Zack c526b45820 Update index.js 2024-10-20 23:43:55 +08:00
Harvey Zack d87e120282 Update event.md 2024-10-20 22:44:25 +08:00
Harvey Zack 477331b0e2 Refactor Artplayer class to remove unnecessary CSS transformations in setting.less 2024-10-20 22:35:14 +08:00
Harvey Zack 0d5757b51c Refactor subtitleOffset function to update range values and append items 2024-10-20 22:03:35 +08:00
Harvey Zack 8566df6336 Refactor subtitleOffset function to update range values and append items 2024-10-20 22:02:01 +08:00
Harvey Zack 3cece10f9e Refactor Artplayer class to add isGetter utility function 2024-10-20 21:57:44 +08:00
Harvey Zack b6df6a6148 Refactor Artplayer class to add keydown event listener 2024-10-20 16:21:34 +08:00
Harvey Zack 0ddb7751a1 Refactor Artplayer class to update build timestamp 2024-10-20 15:06:06 +08:00
Harvey Zack fbfee926ca Refactor Setting class to update range values and append items 2024-10-20 14:46:40 +08:00
Harvey Zack d678378119 Update version to 5.2.1 in package.json and Artplayer class 2024-10-20 14:21:52 +08:00
Harvey Zack b949fedc06 Refactor Setting class to fix state loss issue, update range callback return type, and remove isStringOrNumber utility function 2024-10-20 13:56:22 +08:00
Harvey Zack 191c7736c4 Refactor Setting class to update range values 2024-10-20 13:28:39 +08:00
Harvey Zack c84157e30b Refactor Setting class to update and append items 2024-10-20 12:21:18 +08:00
Harvey Zack 1d191fe658 Refactor Setting class to update and append items 2024-10-20 10:49:45 +08:00
Harvey Zack bae22338dc Refactor Setting class to update and append items 2024-10-20 00:24:49 +08:00
Harvey Zack 6cf85b2f39 Refactor Setting class to update and append items 2024-10-20 00:09:09 +08:00
Harvey Zack 5e09d2e513 Refactor Setting class to append items to panel 2024-10-19 23:58:24 +08:00
Harvey Zack 49704ffc29 Refactor Setting class to fix formatting and event handling 2024-10-19 23:37:01 +08:00
Harvey Zack e8c317051a Refactor Setting class to fix formatting and event handling 2024-10-19 23:27:28 +08:00
Harvey Zack b16a845875 Refactor Setting class to fix formatting and event handling 2024-10-19 23:11:19 +08:00
Harvey Zack 885bbf5a6d Refactor Setting class to use correct import and naming conventions 2024-10-19 22:56:52 +08:00
Harvey Zack 5e38f2d3b5 Refactor Setting class to use correct import and naming conventions 2024-10-19 22:31:32 +08:00
Harvey Zack 74915ebf9f Refactor Setting class to use correct import and naming conventions 2024-10-19 18:19:37 +08:00
Harvey Zack f62640e6e9 Update artplayer package version to 5.2.0 2024-10-19 14:10:13 +08:00
Harvey Zack 9221d42964 Add artplayer-plugin-ambilight package and demo 2024-10-19 13:55:16 +08:00
Harvey Zack 5a4598f846 Update CHANGELOG_CN.md 2024-10-19 13:54:23 +08:00
Harvey Zack 5dfe50c719 Add artplayer-plugin-ambilight package and demo 2024-10-19 13:53:36 +08:00
Harvey Zack 406d71b53c Refactor thumbnailsMix to add hover event handling 2024-10-18 23:45:01 +08:00
Harvey Zack 8481bddba1 Update mobile.html 2024-10-14 23:16:51 +08:00
Harvey Zack edc33bb32f artplayer-plugin-vast@1.0.0 2024-10-12 16:58:23 +08:00
Harvey Zack 252c226473 chore: add .npmrc and .npmignore files to multiple packages 2024-10-08 19:49:55 +08:00
Harvey Zack b8c29f29dc refactor: remove unused $player reference and add segmenter initialization log 2024-10-08 19:29:25 +08:00
Harvey Zack ffe4dd0d37 Update index.js 2024-10-08 12:05:48 +08:00
Harvey Zack a7599c41b5 docs: update README and config to include danmuku-mask plugin link 2024-10-08 12:00:40 +08:00
Harvey Zack e9d544f416 Built@main artplayer-plugin-danmuku-mask 2024-10-08 11:57:45 +08:00
Harvey Zack 7a1240b889 fix Option 2024-10-08 11:53:26 +08:00
Harvey Zack fdfc44806c fix stopSegmentation 2024-10-08 10:09:29 +08:00
Harvey Zack bdecbffeeb add selfie_segmentation 2024-10-08 09:47:05 +08:00
Harvey Zack 56b71879e8 feat: add function to make white pixels transparent in danmuku mask canvas 2024-10-08 00:51:12 +08:00
Harvey Zack fed73a9409 feat: adjust canvas opacity and update color settings for danmuku mask functionality 2024-10-08 00:34:54 +08:00
Harvey Zack ef56482911 feat: remove unused style file and integrate TensorFlow body segmentation for danmuku mask functionality 2024-10-07 23:49:33 +08:00
Harvey Zack d9bdc9bdeb feat: add danmuku mask plugin for ArtPlayer with initial implementation and documentation 2024-10-07 22:41:51 +08:00
Harvey Zack a6f0dc50e5 feat: update version to 1.0.1 and enhance Chromecast plugin functionality 2024-09-24 10:50:26 +08:00
Harvey Zack c9d2d6c194 feat: filter empty lines in subtitle rendering for improved display 2024-09-22 21:33:42 +08:00
Harvey Zack 1e63b8dc83 feat: update version to 1.1.0 and simplify cue merging logic 2024-09-22 18:08:40 +08:00
Harvey Zack c0c5a12010 feat: update subtitle properties and events to enhance cue management and retrieval 2024-09-22 17:35:12 +08:00
Harvey Zack 8ea85476e0 feat: update subtitle handling to support multiple active cues and improve rendering logic 2024-09-22 17:23:43 +08:00
Harvey Zack 3d33458efc feat: update package version to 1.0.0 and remove deprecated HLS quality files 2024-09-22 16:38:44 +08:00
Harvey Zack 6b93dc95b0 feat: update HLS links in documentation to reflect migration to artplayer-plugin-hls-control 2024-09-22 16:37:20 +08:00
Harvey Zack e3db4125b0 feat: simplify HLS instance handling in update function 2024-09-22 16:29:23 +08:00
Harvey Zack b9878e43e0 feat: update HLS control example and improve audio/quality track selection logic 2024-09-22 14:37:01 +08:00
Harvey Zack 31bd66a33e feat: add audio control feature to artplayer-plugin-hls-control, include audio.svg and update documentation 2024-09-22 13:46:14 +08:00
Harvey Zack ef964c4bc0 feat: migrate from artplayer-plugin-hls-quality to artplayer-plugin-hls-control, update configurations and documentation 2024-09-22 12:46:59 +08:00
Harvey Zack 4a172377b5 feat: update artplayer-plugin-hls-quality to version 3.0.0, add quality.svg and remove image.svg 2024-09-22 12:17:30 +08:00
Harvey Zack 666d1d8585 Update option.md 2024-09-19 18:07:03 +08:00
Harvey Zack 610e1e6139 Update config.js 2024-09-19 10:54:31 +08:00
Harvey Zack 57725e8e27 feat: add initial implementation of artplayer-proxy-canvas with core functionality 2024-09-19 10:52:54 +08:00
Harvey Zack 1605df2943 feat: update artplayerProxyCanvas to accept a callback for custom rendering options 2024-09-17 11:11:52 +08:00
Harvey Zack 92654e911f feat: add picture-in-picture support and enhance event emission in artplayerProxyCanvas 2024-09-17 10:30:52 +08:00
Harvey Zack faa621c5be Update canvas.js 2024-09-17 10:11:44 +08:00
Harvey Zack 157d28a647 refactor: simplify artplayerProxyCanvas implementation and improve event handling 2024-09-17 09:38:57 +08:00
Harvey Zack 51e558dc50 feat: add Arabic language support to documentation and type definitions 2024-09-16 22:41:15 +08:00
Harvey Zack 8f4dab5005 feat: Arabic language support added 2024-09-16 22:35:14 +08:00
Sumer Ahmed 4f631a0d7f feat: Arabic language support added (#809) 2024-09-16 22:29:22 +08:00
Harvey Zack c0a280a6e8 fix: remove error throwing in artplayerProxyCanvas 2024-09-15 11:57:26 +08:00
Harvey Zack 2a864ad97d Update canvas.js 2024-09-15 11:13:08 +08:00
Harvey Zack 2ba1b7d77a fix: artplayerProxyCanvas 2024-09-15 11:05:56 +08:00
Harvey Zack a74e7bbff4 feat: createImageBitmap 2024-09-15 10:56:51 +08:00
Harvey Zack 710f9477f8 feat: artplayerProxyCanvas 2024-09-15 10:39:11 +08:00
Harvey Zack 22dce779d1 update controls 2024-09-15 00:24:02 +08:00
Harvey Zack 400ab2f9c4 fix drawImage 2024-09-15 00:15:03 +08:00
Harvey Zack 278119068c feat: 移除不必要的日志输出,优化视频元素的创建逻辑,增加视频播放时的内联属性 2024-09-15 00:03:32 +08:00
Harvey Zack d4a868621f feat: 重命名渲染函数,优化绘制逻辑,增加绘制事件的日志输出 2024-09-14 23:33:30 +08:00
Harvey Zack f867a97032 feat: 重构视频帧绘制逻辑,优化渲染流程,增加视频播放和暂停事件的日志输出 2024-09-14 18:32:37 +08:00
Harvey Zack 211e9d22a2 feat: 增加动态设置字幕偏移功能,更新相关文档 2024-09-14 17:37:47 +08:00
Harvey Zack 36fb27d7a1 feat: 优化字幕事件逻辑,新增字幕加载和更新事件,删除不再使用的字幕切换事件 2024-09-14 17:30:22 +08:00
Harvey Zack 9b87f9661d feat: 优化字幕偏移逻辑,增加对模板的支持,修复字幕切换事件参数 2024-09-14 16:59:24 +08:00
Harvey Zack 36b2c80666 add restoreInit 2024-09-14 16:48:30 +08:00
Harvey Zack 2b11d897ff feat: 增加字幕相关属性和事件,优化字幕切换逻辑 2024-09-14 16:14:59 +08:00
Harvey Zack a0b6af32d0 Refactor artplayer-proxy-canvas to use requestAnimationFrame for frame drawing 2024-09-11 18:48:33 +08:00
Harvey Zack c81364ca9a add sleep 2024-09-08 19:43:04 +08:00
Harvey Zack c8b5282af9 feat: Add sleep function for delayed frame drawing in artplayer-proxy-canvas 2024-09-08 18:53:00 +08:00
Harvey Zack 7bf8a00a7d chore: Update artplayer-proxy-canvas to support canvas proxy 2024-09-08 18:46:02 +08:00
Harvey Zack a4be7b0ee6 feat: Update artplayer-proxy-canvas to support canvas proxy 2024-09-08 18:28:39 +08:00
Harvey Zack 813528f916 chore: Update artplayer-proxy-canvas to support canvas proxy 2024-09-08 18:20:11 +08:00
Harvey Zack 0f60ea53ae chore: Update artplayer-proxy-canvas to support canvas proxy 2024-09-08 18:05:06 +08:00
Harvey Zack c984034234 Update package.json 2024-09-07 10:39:14 +08:00
Harvey Zack 9f1ba901bb Update package.json 2024-09-07 10:30:57 +08:00
Harvey Zack afcfebe01e Update Artplayer.vue 2024-09-06 10:02:29 +08:00
Harvey Zack 910c22391f Update Artplayer.vue 2024-09-06 10:02:18 +08:00
Harvey Zack 69133015e9 chore: Update auto.thumbnail.js and index.js 2024-09-01 12:14:53 +08:00
Harvey Zack 4e2d68854a Update README.md 2024-09-01 12:07:00 +08:00
Harvey Zack a33df191a4 feat: Add artplayer-plugin-auto-thumbnail plugin 2024-09-01 12:05:08 +08:00
Harvey Zack c44ec85ed2 refactor: Update artplayer-plugin-vtt-thumbnail version to 1.0.3 2024-08-31 12:02:16 +08:00
Harvey Zack 44171beb3a refactor: Update artplayer-plugin-vtt-thumbnail 2024-08-31 11:54:34 +08:00
Harvey Zack c7299b926e Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2024-08-31 11:47:28 +08:00
Harvey Zack 3fdc11cf40 update artplayer-plugin-vtt-thumbnail 2024-08-31 11:47:23 +08:00
Harvey Zack 63223c8202 refactor: Remove unused libmedia proxy and related files 2024-08-25 14:44:11 +08:00
Harvey Zack 2fe7a09aaf refactor: Update Q群 link in index.html 2024-08-24 23:03:11 +08:00
Harvey Zack 9a4ebf7917 Update vast.js 2024-08-23 23:31:06 +08:00
Harvey Zack 4d43fffa87 refactor: Remove unused variables in VAST plugin 2024-08-23 23:27:09 +08:00
Harvey Zack 87b0506f51 refactor: Update VAST plugin in Artplayer 2024-08-23 23:23:50 +08:00
Harvey Zack f9192ff852 refactor: Update VAST plugin in Artplayer 2024-08-23 22:42:04 +08:00
Harvey Zack d2de5297d6 refactor: Update autoPlayback plugin in Artplayer 2024-08-23 16:20:25 +08:00
Harvey Zack 17b2268ce0 refactor: Remove unused loadImg function in Artplayer 2024-08-23 12:40:26 +08:00
Harvey Zack 27f161be40 refactor: Update thumbnail scale and video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-23 12:37:32 +08:00
Harvey Zack 1ee80cf012 refactor: Remove unused loadImg function in Artplayer 2024-08-23 12:06:49 +08:00
Harvey Zack 5764344aaf refactor: Update thumbnail scale in Artplayer 2024-08-23 12:05:06 +08:00
Harvey Zack 3a2e7addd9 refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-23 10:43:09 +08:00
Harvey Zack b2e54d6969 Update index.js 2024-08-23 10:17:17 +08:00
Harvey Zack 6f6d49bbae refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-22 18:29:23 +08:00
Harvey Zack 84986d384a Update option.d.ts 2024-08-22 15:40:46 +08:00
Harvey Zack 1d0139ee35 refactor: Improve video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-22 11:41:59 +08:00
Harvey Zack 71a1126aae Revert "refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav"
This reverts commit 77a3438e2d.
2024-08-22 11:38:24 +08:00
Harvey Zack 77a3438e2d refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-22 11:13:10 +08:00
Harvey Zack ce3503cc3a Update artplayer-proxy-webav.d.ts 2024-08-22 00:27:51 +08:00
Harvey Zack 52e424ad52 refactor: Update video element in Artplayer to support custom canvas or video 2024-08-22 00:21:23 +08:00
Harvey Zack 5bbbaa398e refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav 2024-08-22 00:09:03 +08:00
Harvey Zack b711291aee refactor: Update Artplayer's video element and add support for custom canvas or video
The code changes in this commit update the video element in Artplayer to support custom canvas or video. This enhancement allows for more flexibility in handling video playback and rendering. Additionally, new options such as volume, autoplay, autoSize, screenshot, setting, loop, flip, playbackRate, aspectRatio, fullscreen, fullscreenWeb, miniProgressBar, and autoPlayback are added to provide more control over the video player. These changes improve the functionality and usability of Artplayer.
2024-08-21 23:52:47 +08:00
Harvey Zack 5e37979e8f refactor: Update video element in Artplayer to support custom canvas or video 2024-08-21 23:44:01 +08:00
Harvey Zack ced8fb4fb1 refactor: Update video element in Artplayer to support custom canvas or video 2024-08-21 23:35:17 +08:00
Harvey Zack 984755b442 ```text
refactor: Update animation frame handling in artplayer-proxy-webav

The code changes replace the use of `requestAnimationFrame` with `setInterval` in the `start` function of `artplayer-proxy-webav`. This change improves the performance and stability of the animation frame handling, ensuring a smoother playback experience.
2024-08-21 23:29:38 +08:00
Harvey Zack 0374046606 refactor: Update loadedTime getter in Artplayer 2024-08-21 23:13:44 +08:00
Harvey Zack 796f25cea2 refactor: Update loadedTime getter in Artplayer
The code changes update the loadedTime getter in Artplayer to handle different scenarios. The getter now checks for the presence of the loadedTime property in the video element and returns it if available, otherwise it falls back to the previous logic of retrieving the buffered end time. This update improves the reliability and compatibility of Artplayer's loadedTime functionality.
2024-08-21 22:28:00 +08:00
Harvey Zack 0a7d3ca5aa refactor: Update loadedTime and playing getters in Artplayer 2024-08-21 22:10:24 +08:00
Harvey Zack 8613164368 refactor: Update loadedTime and playing getters in Artplayer
The code changes update the loadedTime and playing getters in Artplayer to handle different scenarios. The loadedTime getter now checks for the presence of the loadedTime property in the video element and returns it if available, otherwise it falls back to the previous logic of retrieving the buffered end time. Similarly, the playing getter now checks for the presence of the playing property in the video element and returns it if available, otherwise it falls back to the previous logic of determining if the video is playing based on its current time, paused state, ended state, and ready state. These updates improve the reliability and compatibility of Artplayer's loadedTime and playing functionality.
2024-08-21 21:56:08 +08:00
Harvey Zack 6dc6be5b9e refactor: Update library section heading in README and docs
The code changes update the heading for the library section in both the README and docs files. The heading is changed from "Library" to "Libraries" to provide a more accurate description of the content. This refactor improves the clarity and consistency of the documentation.
2024-08-18 21:46:11 +08:00
Harvey Zack 4fd012c20c feat: 添加动态代理支持
新增 `option.proxy` 选项,用于代理第三方的 `video` 和 `canvas`。新增 `artplayer-proxy-webav` 代理,来自 [bilibili/WebAV](https://github.com/bilibili/WebAV)。新增 `artplayer-proxy-libmedia` 代理,来自 [zhaohappy/libmedia](https://github.com/zhaohappy/libmedia)。
2024-08-18 21:19:34 +08:00
Harvey Zack 883762ed42 feat: Add support for dynamic proxies in Artplayer
The code changes introduce new proxy options (`artplayer-proxy-webav` and `artplayer-proxy-libmedia`) in Artplayer, allowing for the use of third-party video and canvas proxies. This enhancement provides more flexibility in handling video playback and rendering, improving the overall performance and compatibility of Artplayer.
2024-08-18 21:17:28 +08:00
Harvey Zack 7f6c9c8ee1 refactor: Update video element in Artplayer to support custom canvas or video 2024-08-18 21:06:56 +08:00
Harvey Zack 7fa69a7de8 refactor: Update video element in Artplayer to support custom canvas or video 2024-08-18 20:46:53 +08:00
Harvey Zack 66010cb376 refactor: Update video element in Artplayer to support custom canvas or video
This commit updates the `libmedia.js`, `option.d.ts`, `index.js`, `template.js`, and `scheme/index.js` files in the Artplayer repository. The changes introduce a new `video` property in the `Option` type, allowing for the use of a custom video element in Artplayer. The `video` property can be set to `null`, an `HTMLCanvasElement`, or an `HTMLVideoElement`. This enhancement provides flexibility in rendering video content and improves compatibility with different platforms and use cases.
2024-08-18 18:39:14 +08:00
Harvey Zack 5d6b94afa6 Update artplayer-plugin-canvas.d.ts 2024-08-17 21:04:32 +08:00
Harvey Zack 219956cabd refactor: Update build timestamp in Artplayer 2024-08-17 21:02:39 +08:00
Harvey Zack e9a488792c refactor: Update build timestamp in Artplayer
The build timestamp in Artplayer has been updated to "2024-08-15 23:17:21". This commit ensures that the build timestamp accurately reflects the latest changes made to the codebase.
2024-08-15 23:28:13 +08:00
Harvey Zack 65b0b2c53f refactor: Simplify thumbnails implementation in Artplayer 2024-08-15 23:08:33 +08:00
Harvey Zack 3e3b38fe07 feat: Refactor thumbnails implementation in Artplayer
This commit refactors the `thumbnails` implementation in Artplayer to improve code readability and maintainability. The code changes remove unnecessary variables and simplify the logic for displaying thumbnails. This refactor enhances the overall performance and user experience of the Artplayer plugin.
2024-08-15 22:56:19 +08:00
Harvey Zack 69168750f5 Update property.md 2024-08-15 22:51:20 +08:00
Harvey Zack 52d9064c8b feat: Add support for dynamic thumbnails in Artplayer
The code changes introduce a new `art.thumbnails` property that allows for dynamic setting of thumbnails in Artplayer. This feature enhances the user experience by providing a visual preview of the video content.
2024-08-15 22:50:21 +08:00
Harvey Zack 5655db4b20 feat: Disable hiding default right-click menu when Artplayer.CONTEXTMENU is set to false 2024-08-12 17:53:43 +08:00
Harvey Zack adff473f71 Update index.html 2024-08-06 15:03:55 +08:00
Harvey Zack 2e646ab4e1 Create ads.txt 2024-08-04 09:53:40 +08:00
Harvey Zack 0bb99184ca feat: Add Google AdSense script for ads in index.html and config.js 2024-08-04 09:43:38 +08:00
Harvey Zack 245ce6c6b7 feat: Add Google AdSense meta tag to index.html and config.js 2024-08-04 09:38:25 +08:00
Harvey Zack 0dd25d73c6 Update artplayer-plugin-chapter.d.ts 2024-07-18 09:43:41 +08:00
dependabot[bot] 00f0501c0e build(deps): Bump glob from 10.4.5 to 11.0.0 (#783)
Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 11.0.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v11.0.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 09:33:23 +08:00
Harvey Zack 7414f4a86a Update index.html 2024-07-07 22:44:31 +08:00
Harvey Zack a86664b3db Update package.json 2024-07-04 09:59:42 +08:00
Harvey Zack e71e6ad0dd feat: Add support for custom file names in screenshot functionality 2024-07-04 09:57:13 +08:00
Harvey Zack caddb2091e feat: Add support for custom file names in screenshot functionality 2024-07-03 15:56:49 +08:00
Harvey Zack b2796a1f6c feat: Add Artplayer.STYLE property to Artplayer class 2024-06-21 11:44:02 +08:00
Harvey Zack 5a0b80b03e feat: Add STYLE property to Artplayer class 2024-06-19 19:13:04 +08:00
Harvey Zack cf0c3d9b09 Update sponsor.html 2024-06-19 09:18:26 +08:00
Harvey Zack 85bf3ea0d3 Update package.json 2024-06-17 23:18:37 +08:00
Harvey Zack c6b6e13799 feat: Update Artplayer initialization in documentation 2024-06-16 23:26:40 +08:00
Harvey Zack 0cee288097 feat: Add responsive behavior to danmuku plugin and improve panel positioning 2024-06-15 19:56:06 +08:00
Harvey Zack 74460a765e add width 2024-06-14 09:31:47 +08:00
Harvey Zack e2f27e8ea5 feat: Improve panel positioning in danmuku plugin 2024-06-13 11:20:45 +08:00
Harvey Zack b4e3121917 feat: Improve panel positioning in danmuku plugin 2024-06-13 11:12:23 +08:00
Harvey Zack 685241de57 chore: Bump version to 5.1.4 and update resize method in danmuku plugin 2024-06-13 09:46:40 +08:00
Harvey Zack ef3a1f7064 feat: Add width option for danmuku plugin 2024-06-12 21:48:44 +08:00
Harvey Zack 665348ad55 feat: Update danmuku plugin with responsive behavior 2024-06-12 21:40:17 +08:00
Harvey Zack 744913b0bf feat: Optimize progress bar and add highlight feature 2024-06-08 17:38:41 +08:00
Harvey Zack e2a40e67a0 Update utils.d.ts 2024-06-08 13:01:09 +08:00
Harvey Zack 73bafc988a feat: Fix dropdown menu bug in dev.js and build.js 2024-06-08 12:47:24 +08:00
Harvey Zack 1192f18de6 chore: Update npm dependencies and package.json files 2024-06-08 12:25:05 +08:00
Harvey Zack 232b8a3e17 feat: Add getRect function to utils and update player and control modules to use it 2024-06-08 12:17:45 +08:00
Harvey Zack 2721f61b41 Merge branch 'thumbnails' 2024-06-08 12:13:18 +08:00
Harvey Zack a7f4b0bc84 feat: Add lazy loading for thumbnails in mobile.js 2024-06-08 12:11:47 +08:00
Harvey Zack f4c9f1f639 update thumbnails 2024-06-08 12:11:11 +08:00
Harvey Zack c4fd5b1a5d Update README.md 2024-06-06 10:17:38 +08:00
Harvey Zack 7c52a30833 Update CHANGELOG_CN.md 2024-06-05 09:21:00 +08:00
Harvey Zack 1ee0342f11 Update danmuku.md 2024-06-05 09:19:03 +08:00
Harvey Zack 9973cdc4da feat: Optimize chapter handling in artplayer-plugin-chapter 2024-06-05 09:17:39 +08:00
Harvey Zack 403be5dc6b chore: Bump version to 5.1.2 and update style.less in artplayer-plugin-danmuku 2024-06-05 09:13:11 +08:00
Harvey Zack 8aea92f40a Update index.js 2024-06-04 23:06:20 +08:00
Harvey Zack 0e269c2f41 Refactor danmuku.js to use async/await for emitting danmus 2024-06-04 22:08:23 +08:00
Harvey Zack 2d44d602e4 feat: Add parameter to append danmuku library in artplayer-plugin-danmuku 2024-06-04 21:59:55 +08:00
Harvey Zack 390be821d6 feat: Refactor danmuku.js to use async/await for emitting danmus 2024-06-04 19:20:26 +08:00
Harvey Zack 69d99cc478 feat: Refactor worker.js to use dynamic function dispatch 2024-06-04 19:12:11 +08:00
Harvey Zack d57a13a2bd Optimize bilibiliDanmuParseFromUrl function in artplayer-plugin-danmuku 2024-06-04 19:00:49 +08:00
Harvey Zack e58285f2dd Optimize bilibiliDanmuParseFromUrl function in artplayer-plugin-danmuku 2024-06-04 18:52:59 +08:00
Harvey Zack 999988465c feat: Optimize chapter handling in artplayer-plugin-chapter 2024-06-03 12:00:44 +08:00
Harvey Zack e11a2da806 Optimize chapter end time handling in artplayer-plugin-chapter 2024-06-03 11:51:58 +08:00
Harvey Zack 586375eeb0 Update danmuku.js 2024-06-03 10:27:11 +08:00
Harvey Zack c8d3e5b5a6 build artplayer-plugin-chapter 2024-06-03 10:09:18 +08:00
Harvey Zack 5160dcabca Optimize setBar event and remove unnecessary class manipulation in artplayer-plugin-chapter 2024-06-03 10:04:09 +08:00
Harvey Zack f3db438d6b Optimize setBar event and handle non-array chapters in artplayer-plugin-chapter 2024-06-03 01:11:35 +08:00
Harvey Zack d8ff61acf7 chore: Refactor artplayer-plugin-chapter to sort chapters before processing 2024-06-03 01:10:29 +08:00
Harvey Zack 5edf5af672 Optimize setBar event and fix chapter display in artplayer-plugin-chapter 2024-06-03 01:02:22 +08:00
Harvey Zack bc5761ecdb Optimize setBar event and add lazy loading for thumbnails in artplayer-plugin-chapter 2024-06-03 00:38:54 +08:00
Harvey Zack 2e72e0cec2 Optimize setBar event and update chapter display in artplayer-plugin-chapter 2024-06-03 00:35:47 +08:00
Harvey Zack 94e34320e0 Optimize setBar event and reduce delay for hiding chapter title in artplayer-plugin-chapter 2024-06-03 00:17:32 +08:00
Harvey Zack e8d7ae91f0 Optimize setBar event and add lazy loading for thumbnails in artplayer-plugin-chapter 2024-06-02 23:55:20 +08:00
Harvey Zack d99fa9447a Optimize setBar event and add lazy loading for thumbnails in artplayer-plugin-chapter 2024-06-02 22:59:42 +08:00
Harvey Zack aaa5ef310e Optimize setBar event and add lazy loading for thumbnails in artplayer-plugin-chapter 2024-06-02 22:23:22 +08:00
Harvey Zack 0e58ce8cd9 feat: Optimize setBar event and add artplayerPluginChapter plugin 2024-06-02 22:09:58 +08:00
Harvey Zack 570c1611d3 feat: Add lazy loading for thumbnails in artplayer-plugin-chapter 2024-06-02 20:06:47 +08:00
Harvey Zack 17ab163e91 chore: Bump artplayer-plugin-danmuku version to 5.1.1 2024-06-02 19:52:25 +08:00
Harvey Zack 41cdde4b79 feat: Improve chapter display in artplayer-plugin-chapter 2024-06-02 19:26:33 +08:00
Harvey Zack 2326628b86 feat: Update chapter title display in artplayer-plugin-chapter 2024-06-02 19:12:27 +08:00
Harvey Zack 0804d1790b feat: Add chapter text display on progress hover in artplayer-plugin-chapter 2024-06-02 18:51:16 +08:00
Harvey Zack 33eba49a3b fix: Remove unused code for progress hover in artplayer 2024-06-02 18:13:29 +08:00
Harvey Zack 3e3e355e34 feat: Add support for video chapters in artplayer-plugin-chapter 2024-06-02 18:06:11 +08:00
Harvey Zack a59942ca58 chore: Update ArtPlayer version to 5.1.5 2024-06-02 14:22:04 +08:00
Harvey Zack 0fce9f5ffe Update common.js 2024-06-02 14:01:08 +08:00
Harvey Zack eef1d675df feat: Add support for video chapters in artplayer-plugin-chapter 2024-06-02 13:07:26 +08:00
Harvey Zack 502865ef65 Update create.js 2024-06-02 12:56:26 +08:00
Harvey Zack 924c3513e8 Update create.js 2024-06-02 12:45:54 +08:00
Harvey Zack 0f7a3ce02c chore: Update window object property name to ArtplayerPluginVast 2024-06-02 12:37:30 +08:00
Harvey Zhao fac7d15726 Vast (#762)
* add artplayer-plugin-vast

* chore: Add create:plugin script to package.json

* chore: Remove deprecated artplayer-plugin-{{name}} and artplayer-plugin-vast types

* chore: Update artplayer-plugin-vast package description

* chore: Update Prettier configuration and dependencies
2024-06-02 12:28:17 +08:00
Harvey Zack b398749ef8 chore: Update ArtPlayer version to 5.1.4 2024-06-01 21:43:06 +08:00
Harvey Zack 551eb64ea7 Update mobile.js 2024-06-01 12:05:06 +08:00
Harvey Zack 994f9e4b04 feat: Update mobile.js to enable auto preload for better performance 2024-06-01 11:59:44 +08:00
Harvey Zack 32078b9669 fix: Fix fullscreen functionality in mobile.html and fullscreenMix.js 2024-06-01 11:47:27 +08:00
Harvey Zack 77fb5c6d12 add fullscreenchange 2024-06-01 10:11:48 +08:00
Harvey Zack 0ffd7980d2 Update ArtPlayer version to 5.1.3 2024-06-01 09:51:01 +08:00
Harvey Zack 4f66533021 feat: Improve fullscreen functionality in mobile.html and fullscreenMix.js 2024-06-01 09:42:47 +08:00
Harvey Zack 80aa030aaa fix: Fix fullscreen functionality in mobile.html 2024-06-01 09:37:38 +08:00
Harvey Zack 794ab9ec29 Update danmuku.js 2024-06-01 09:25:14 +08:00
Harvey Zack 31125ac790 fix: Fix fullscreen functionality in mobile.html 2024-06-01 09:13:16 +08:00
Harvey Zack 67fdb31717 Update danmuku.js 2024-06-01 09:10:19 +08:00
Harvey Zack cb87252bbd fix: Fix fullscreen functionality in mobile.html 2024-06-01 09:06:55 +08:00
Harvey Zack e7727c0fa1 Update fullscreenMix.js 2024-06-01 08:59:47 +08:00
Harvey Zack 9d20cb75f7 Update fullscreenMix.js 2024-06-01 08:46:40 +08:00
Harvey Zack cc64281bb8 Update fullscreenMix.js 2024-06-01 08:42:47 +08:00
Harvey Zack 4dc1e9164a chore: Update ArtPlayer version to 5.1.3 2024-06-01 08:02:53 +08:00
Harvey Zack c1de88c3f4 chore: Update ArtPlayer version to 5.1.3 2024-06-01 07:59:02 +08:00
Harvey Zack 34b7018e3d chore: Remove screen.orientation.lock functionality due to compatibility issues 2024-06-01 07:19:03 +08:00
Harvey Zack d86840749b chore: Update screen.orientation.lock usage for autoOrientation plugin 2024-06-01 07:11:53 +08:00
Harvey Zack 574bb14643 chore: Update webtorrent.js link in navigation bar 2024-06-01 07:07:33 +08:00
Harvey Zack 2c7430d524 chore: Update webtorrent.js link in navigation bar 2024-06-01 06:56:48 +08:00
Harvey Zack fab977711e Update fullscreenMix.js 2024-06-01 00:24:06 +08:00
Harvey Zack 495083aba1 Update webtorrent.js 2024-05-31 10:20:01 +08:00
Harvey Zack a8151ba4fb chore: Update webtorrent.js link in navigation bar 2024-05-31 10:13:45 +08:00
Harvey Zack f260f3a9ec Update index.html 2024-05-30 21:42:08 +08:00
Harvey Zack bddaf178d9 Update sponsor.html 2024-05-30 21:32:23 +08:00
Harvey Zack 82d263bc6c chore: Update donation link in navigation bar 2024-05-30 21:28:27 +08:00
Harvey Zack 0d830e04d8 chore: Add donation link and QQ group to navigation bar 2024-05-30 20:32:05 +08:00
Harvey Zack 6d1f8e1c7f chore: Update danmuku plugin configuration handling and improve performance 2024-05-30 08:11:13 +08:00
Harvey Zack 20752bc170 chore: Update danmuku plugin configuration handling and improve performance 2024-05-30 08:07:10 +08:00
Harvey Zack 0af549189a Update artplayer-plugin-danmuku.d.ts 2024-05-30 06:09:07 +08:00
Harvey Zack f62bd0558a chore: Update danmuku plugin configuration handling and improve performance 2024-05-30 00:06:36 +08:00
Harvey Zack 63e7b1a9e6 Update artplayer-plugin-danmuku.d.ts 2024-05-30 00:03:32 +08:00
Harvey Zack 58846384c8 chore: Update danmuku plugin configuration handling and improve performance 2024-05-29 23:55:07 +08:00
Harvey Zack 5cee83817a Update danmuku.js 2024-05-29 23:37:02 +08:00
Harvey Zack 6d74b32b33 chore: Update danmuku plugin configuration handling and improve performance 2024-05-29 23:36:34 +08:00
Harvey Zack 0ae3b05d0a Update artplayer-plugin-danmuku.d.ts 2024-05-29 22:37:52 +08:00
Harvey Zack eb5af00d82 Update config.js 2024-05-29 14:22:00 +08:00
Harvey Zack 1ee87c8c2b Update artplayer-plugin-danmuku.d.ts 2024-05-29 12:44:03 +08:00
Harvey Zack fcef233746 chore: Update danmuku plugin configuration handling and improve performance 2024-05-29 12:42:04 +08:00
Harvey Zack 4971eaa17c chore: Optimize danmuku plugin performance and update configuration handling 2024-05-29 11:19:13 +08:00
Harvey Zack d0f1f4a76c chore: Update danmuku plugin configuration handling and improve performance 2024-05-29 11:16:56 +08:00
Harvey Zack 034444d77d chore: Improve danmuku plugin performance and update configuration handling 2024-05-29 10:59:45 +08:00
Harvey Zack b2bf084fbc chore: Set DOM node state and update styles for danmuku plugin 2024-05-29 10:41:59 +08:00
Harvey Zack 54b20cdfcb Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2024-05-28 11:26:10 +08:00
Harvey Zack d932aa95ff Update style.css 2024-05-28 11:26:07 +08:00
Harvey Zack 5f0b7ffc77 Update nodejs.yml 2024-05-28 11:14:12 +08:00
Harvey Zack c1edb1ac6e chore: Update checkbox labels and improve code editor functionality 2024-05-28 11:11:31 +08:00
Harvey Zack 7464cfa80f Update package.json 2024-05-28 10:37:52 +08:00
Harvey Zack bc4e8ec3f7 Update package.json 2024-05-28 10:10:18 +08:00
Harvey Zack 67a5025d9e chore: Optimize danmuku plugin performance and update configuration handling 2024-05-28 10:08:03 +08:00
Harvey Zack 264ad16790 chore: Optimize danmuku plugin performance and update configuration handling 2024-05-28 10:05:34 +08:00
Harvey Zack 6719f516a5 chore: Optimize danmuku plugin performance and update configuration handling 2024-05-28 10:01:45 +08:00
Harvey Zack a158c5ebdc chore: Optimize danmuku plugin performance and update configuration handling 2024-05-28 09:32:24 +08:00
Harvey Zack e91bcff3a8 chore: Update danmuku plugin to resize and reset displayed danmuku 2024-05-28 09:02:28 +08:00
Harvey Zack 313b6ae54d chore: Refactor artplayerPluginDanmuku plugin and add artplayerPluginChromecast plugin 2024-05-28 08:45:43 +08:00
Harvey Zack 9ca560fd05 chore: Update danmuku plugin to improve performance and optimize configuration updates 2024-05-27 22:13:49 +08:00
Harvey Zack 0661848f64 chore: Update tooltip for danmuku toggle button 2024-05-27 22:04:09 +08:00
Harvey Zack 8366b0673a chore: Update Artplayer option type imports and usage 2024-05-27 18:30:06 +08:00
Harvey Zack ab109a1acd chore: Update mount parameter type in Danmuku and Setting classes 2024-05-27 18:16:40 +08:00
Harvey Zack f4396308fe Update danmuku.js 2024-05-27 17:46:20 +08:00
Harvey Zack 7ed2f58e6a chore: Update mount parameter type in Danmuku and Setting classes 2024-05-27 17:27:55 +08:00
Harvey Zack 27284099d7 chore: Update font size range for danmuku plugin 2024-05-27 14:18:58 +08:00
Harvey Zack 24e51b96e2 chore: Update Danmuku show and hide methods 2024-05-27 13:55:59 +08:00
Harvey Zack f79538d259 chore: Optimize configuration updates in Danmuku and Setting classes 2024-05-27 13:52:23 +08:00
Harvey Zack 6c74db3a06 Update danmuku.md 2024-05-27 12:46:55 +08:00
Harvey Zack c1457dd9ae chore: Update build.js to return compressedHtmlString instead of compressedCssString 2024-05-27 12:43:50 +08:00
Harvey Zack 774ca866d2 chore: Update build.js to return compressedHtmlString instead of compressedCssString 2024-05-27 12:30:30 +08:00
Harvey Zack c7e91e3c8f chore: Reset danmuku queue and emit event on reset 2024-05-27 11:47:31 +08:00
Harvey Zack b2f2251c63 Update artplayer-plugin-danmuku.d.ts 2024-05-27 11:44:20 +08:00
Harvey Zack e53c051166 chore: Update plugin names to use proper capitalization 2024-05-27 11:37:27 +08:00
Harvey Zack 43309b72cf Update common.js 2024-05-27 11:19:59 +08:00
Harvey Zack fb700fa988 chore: Update dependencies and optimize configuration updates in Danmuku and Setting classes 2024-05-27 11:03:26 +08:00
Harvey Zack e3a337d9ab chore: Remove unnecessary console.log statements 2024-05-27 10:01:40 +08:00
Harvey Zack 45c122027a chore: Optimize configuration updates in Danmuku and Setting classes 2024-05-26 22:55:53 +08:00
Harvey Zack c3ea0bdeec chore: Add artplayer plugins for various video formats 2024-05-26 22:53:06 +08:00
Harvey Zack eb5369573d chore: Remove unnecessary code and optimize configuration updates in Danmuku and Setting classes 2024-05-26 22:16:30 +08:00
Harvey Zack a1569b9ddf chore: Remove console.log statements from Danmuku and Setting classes 2024-05-26 21:39:16 +08:00
Harvey Zack 8a9132ea91 chore: Optimize configuration updates in Danmuku and Setting classes 2024-05-26 21:29:14 +08:00
Harvey Zack 2c618bc7b4 Update switchMix.js 2024-05-26 21:09:09 +08:00
WeidiDeng 2f9604c44a seek when video metadata is ready in switch url (#743) 2024-05-26 21:08:00 +08:00
Harvey Zack bc1554d240 Update nodejs.yml 2024-05-26 20:45:23 +08:00
Harvey Zack 5bb44b4998 Update nodejs.yml 2024-05-26 20:41:47 +08:00
Harvey Zack e01f49821c Update nodejs.yml 2024-05-26 20:38:40 +08:00
Harvey Zack 12b1c1d347 chore: Update package.json to set "private" flag to true 2024-05-26 20:29:25 +08:00
Harvey Zack c08798fb05 refactor: Update ESLint configuration to use latest ECMAScript version and warn about indentation 2024-05-26 20:01:27 +08:00
Harvey Zack 2b8c1e2d32 chore: Update npmClient to use yarn instead of lerna bootstrap 2024-05-26 19:53:13 +08:00
Harvey Zack 2665177532 chore: Update npmClient to use yarn instead of lerna bootstrap 2024-05-26 19:48:15 +08:00
Harvey Zack bf7629e1d7 Update nodejs.yml 2024-05-26 19:39:11 +08:00
Harvey Zack 699135afcf Danmuku (#759)
* chore: Bump artplayer-plugin-danmuku version to 5.1.0

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Refactor getDanmuTop function to handle additional cases

* chore: Refactor getDanmuTop function to handle additional cases

* chore: Update danmuku plugin with new mount option

* chore: Update danmuku plugin with new mount option

* chore: Refactor danmuku plugin to always create a new Setting instance

* Refactor danmuku plugin to always create a new Setting instance

* Refactor danmuku plugin to always create a new Setting instance

* Update danmuku.js

* Update danmuku.js

* Refactor danmuku plugin to include a new Setting instance

* Refactor danmuku plugin to include a new Setting instance

* Refactor danmuku plugin styles for better alignment and spacing

* Refactor danmuku plugin styles for better alignment and spacing

* Refactor danmuku plugin styles for better alignment and spacing

* Refactor danmuku plugin styles for better alignment and spacing

* Refactor danmuku plugin styles for better alignment and spacing

* chore: Update package.json files

* Refactor danmuku plugin to remove unnecessary whitespace in the setting template

* chore: Remove ESLint configuration files and update npm dependencies

* chore: Update ESLint configuration to disable console warnings and fix unused variable warnings

* chore: Update ESLint configuration to fix quotes rule

* Update package.json

* Update package.json

* Update setting.js

* chore: Compress CSS code in build script

* chore: Update build script to compress JavaScript code

* chore: Update build script to compress JavaScript code

* chore: Refactor setting.js to improve code organization and remove unused variables

* chore: Add isHover flag to Control component for better control hiding behavior

* chore: Update Control component to use $bottom instead of $controls for better control hiding behavior

* Update package.json

* Update package.json

* Update package.json

* chore: Update lerna.json to use independent versioning and yarn as npm client

* refactor: Update Danmuku class to support configurable modes and visibility

* refactor: Update Danmuku styles for better visibility and configurability

* feat: Update font weight in Danmuku styles for better readability

* refactor: Update Danmuku class to support configurable modes and visibility

* refactor: Add opacity, area, font, and speed sliders to Danmuku settings

* refactor: Initialize sliders for opacity, area, font, and speed in Danmuku settings

* feat: Add slider UI for opacity, area, and speed in Danmuku settings

* feat: Update slider styles in Danmuku settings for better visibility and configurability

* refactor: Improve Danmuku settings UI for better visibility and configurability

* refactor: Improve Danmuku settings UI for better visibility and configurability

* refactor: Update slider styles in Danmuku settings for better visibility and configurability

* refactor: Update margin slider initialization in Danmuku settings

* refactor: Update slider styles and initialization in Danmuku settings

* refactor: Update Danmuku class to support configurable visibility

* refactor: Update Danmuku class to support configurable visibility

* refactor: Update Danmuku class to support configurable visibility

* refactor: Update Danmuku class to support configurable visibility

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Improve Danmuku settings UI for better visibility and configurability

* add lock

* refactor: Add lock and unlock methods to Danmuku settings

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* Update artplayer-plugin-danmuku.d.ts

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings event listeners

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability

* refactor: Update Danmuku settings UI for better visibility and configurability
2024-05-26 14:57:22 +08:00
Harvey Zack dfd1cf968d chore: Refactor lock plugin to improve code readability and maintainability 2024-05-11 12:44:14 +08:00
Harvey Zack 9daa14e32d Update index.js 2024-04-16 10:00:47 +08:00
Harvey Zack 3ca3a3b781 Update artplayer-plugin-chromecast.d.ts 2024-04-16 00:55:56 +08:00
Harvey Zack aa5dbd0418 Add artplayer-plugin-chromecast to index.html 2024-04-16 00:45:26 +08:00
Harvey Zack 8f8b69cc25 Update thumbnails.js 2024-04-12 10:50:57 +08:00
Harvey Zack 00f780a7dc Update index.html to remove QQ群•320881312 and add a new div for QQ群•320881312 in the tool section 2024-04-11 10:58:22 +08:00
Harvey Zack c47c39d13b Update index.html 2024-04-11 10:01:49 +08:00
Harvey Zack 5f694a7299 Update HTML files to improve language consistency and remove unused code 2024-04-10 22:13:01 +08:00
Harvey Zack 76a6c59e12 Update style.css to remove unused color property and improve layout 2024-04-10 22:06:17 +08:00
Harvey Zack 5f0e41ad40 Update donate link in index.html 2024-04-10 21:55:43 +08:00
Harvey Zack 5ae86a407f Update style.css to improve layout and design 2024-04-10 21:51:20 +08:00
Harvey Zack 1210eb8a98 Fix indentation in clickInit.js 2024-03-30 11:13:13 +08:00
WeidiDeng 8038397185 record click timestamps to calculate number of clicks (#728)
* record click timestamps to calculate number of clicks

* break after each case
2024-03-30 11:07:25 +08:00
Harvey Zack d982f4d3b1 Add supportsFlex() function and error handling for unsupported flex layout 2024-03-30 11:02:35 +08:00
Harvey Zack fb6179e2be Add fullscreenError event to Artplayer 2024-03-30 10:34:42 +08:00
Harvey Zack 7f295a5c84 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2024-03-29 17:16:25 +08:00
Harvey Zack 5e155770f6 Remove unused font files and deleted unnecessary JavaScript files 2024-03-29 17:16:05 +08:00
Harvey Zack 04905ff44f Update Artplayer version and service worker registration 2024-03-17 18:55:47 +08:00
Harvey Zack c9dd163ab5 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2024-03-17 18:28:35 +08:00
Harvey Zack 781b93523c Update fullscreen.less and package.json 2024-03-17 18:28:18 +08:00
Harvey Zack 83ab3419e0 Create frag_bunny.mp4 2024-02-04 11:25:26 +08:00
Harvey Zack 346bb0adf2 Update release date for version 5.1.1 2024-02-03 11:52:51 +08:00
Harvey Zack 3aa30de771 Update version to 5.1.1 and add support for synchronous and asynchronous plugin functions 2024-01-11 10:40:55 +08:00
Harvey Zack a1063c20ed update docs 2024-01-10 09:58:31 +08:00
Harvey Zack 50ba902df5 Update dependencies and remove unused files 2024-01-10 09:31:36 +08:00
Harvey Zack 0dee1ef446 update docs 2024-01-10 09:20:13 +08:00
Harvey Zack 434aa3d57d Update CHANGELOG_CN.md and template.js 2023-12-23 12:02:18 +08:00
Harvey Zack 0a0b1593ae Update style.css and index.html files 2023-12-11 17:34:06 +08:00
Harvey Zack c1d86cc029 Update checkbox styling and add PRO checkbox 2023-12-11 16:50:28 +08:00
Harvey Zack 8d4749c839 Delete unused files 2023-12-11 16:23:23 +08:00
Harvey Zack d3d8229496 Delete unused font files 2023-11-27 10:33:52 +08:00
Harvey Zack aa88683cbf Update danmuku.js file 2023-11-27 10:27:48 +08:00
Harvey Zack 4e7480fffc Delete video backup file and update video file 2023-11-27 10:14:20 +08:00
Harvey Zack 52be176830 Fix hotkey event handling for non-input elements 2023-11-27 10:00:10 +08:00
Harvey Zack 144ab64421 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2023-11-27 09:59:59 +08:00
Harvey Zack 52e4564776 Replace video file format in common.js 2023-11-27 09:59:52 +08:00
WeidiDeng 773618a177 not trigger shortcuts when ctrl or command key is pressed (#668)
* not trigger shortcuts when ctrl or command key is pressed

* exclude alt and shift keys from event trigger
2023-11-27 09:31:45 +08:00
Harvey Zack b2bffa8079 Refactor artplayerPluginLibass to use ES6 syntax 2023-11-26 15:03:17 +08:00
Harvey Zack 4360c1e695 Merge branch 'pr/654' 2023-11-26 14:51:34 +08:00
Harvey Zack d8720d3bcf Update artplayer plugin versions 2023-11-26 14:05:09 +08:00
Harvey Zack b235f9bbac Update dependencies and fix documentation 2023-11-26 13:35:34 +08:00
Harvey Zack 5a166f421d Add Danmuku plugin to config.js 2023-11-26 13:28:29 +08:00
Harvey Zack a2b57495a2 Update build:docs and trans:docs scripts 2023-11-26 13:23:21 +08:00
Harvey Zack a2d3e20479 Fix build:docs script order in package.json 2023-11-26 11:42:11 +08:00
Harvey Zack b6a62f8dc5 Update language and demo links in plugin
documentation
2023-11-26 11:26:18 +08:00
Harvey Zack 69197312cc Update OpenAI translation engine and increase max
tokens limit
2023-11-26 11:19:13 +08:00
Harvey Zack 7df74e227a Update package.json 2023-11-26 10:33:03 +08:00
Harvey Zack bbbeca6e4c Update HLS, FLV, and DASH player configurations
Update progress bar height in Artplayer

Add dynamic layer, controller, menu, and setting item management

Update Changelog_CN

Update utils.js

Update package.json

Update built-in management in Artplayer

Update i18n documentation

Add support for new languages

Update language import and modification
2023-11-26 10:30:24 +08:00
Harvey Zack 73fb04737a Update hover color and progress height in
variables.less and progress.less
2023-11-25 21:16:41 +08:00
Harvey Zack 24601dd18c Update transition property in bottom.less and
remove unnecessary styles in plugins.less and
miniProgressBar.js
2023-11-25 16:14:31 +08:00
Harvey Zack 2b18452644 Delete unnecessary files and update plugin names 2023-11-24 10:11:08 +08:00
Harvey Zack a2591533f3 Update CHANGELOG_CN.md 2023-11-24 10:03:12 +08:00
Harvey Zack 21a735f86b Fix async issue in plugin addition 2023-11-24 10:00:49 +08:00
Harvey Zack d579e7e86d Refactor subtitle loading function 2023-11-24 01:02:00 +08:00
Harvey Zack 7ba3098212 Fix subtitle merging issue 2023-11-24 00:37:37 +08:00
Harvey Zack 780124d84b Add new utility functions and update styles 2023-11-23 23:58:24 +08:00
Harvey Zack 29ff487547 Add isBrowser check in Artplayer initialization 2023-11-23 23:48:09 +08:00
Harvey Zack 53b5c4165c Fix bug in login functionality 2023-11-23 23:33:08 +08:00
Harvey Zack 783bf1cac3 Refactor loadSubtitleAsVtt to use
art.constructor.utils
2023-11-23 23:29:14 +08:00
Harvey Zack 89b8525f2f Add unescape utility function and
artplayerPluginMultipleSubtitles plugin
2023-11-23 23:23:51 +08:00
Harvey Zack 3db53c425e Remove loop event and property 2023-11-21 23:42:05 +08:00
Harvey Zack ce99b73d04 Add subtitle name to track label 2023-11-21 11:11:30 +08:00
Harvey Zack 3d8d22a98a Remove art.loop interval playback feature 2023-11-21 10:52:47 +08:00
journey-ad 08ec5716f9 feat(subtitle): add artplayer-plugin-libass 2023-11-14 12:36:35 +08:00
Harvey Zack cf8cea8283 Fix minor bugs and remove loop control 2023-11-11 10:20:45 +08:00
Harvey Zack 4e139ab6f0 Update FUNDING.yml 2023-10-28 12:41:20 +08:00
Harvey Zack 9de1d74b7a fix control 2023-10-24 23:42:23 +08:00
Harvey Zack c1780c3137 update control 2023-10-24 22:22:24 +08:00
Harvey Zack ea4ec61fd7 update style 2023-10-21 12:04:54 +08:00
Harvey Zack 9efdab28b9 fix style 2023-09-10 11:18:20 +08:00
Harvey Zack adc837e225 update next.js 2023-09-09 18:50:45 +08:00
Harvey Zack 59794f32c6 add art-subtitle-line 2023-09-01 21:27:59 +08:00
Harvey Zack 95ba1810b6 use || 2023-09-01 21:14:10 +08:00
VaSeala cafff9b155 fixed absolute url in the vtt file (#610)
fixed the type file path
2023-08-31 16:57:23 +08:00
Harvey Zack 1fe653e3c3 remove i18n 2023-08-27 12:41:27 +08:00
Harvey Zack ce012c1626 update d.ts 2023-08-26 17:01:40 +08:00
Harvey Zack a2034e643d update .gitignore 2023-08-26 16:53:34 +08:00
Harvey Zack 2fc9d4d3e9 Dep (#601)
* init

* update dep
2023-08-26 16:48:19 +08:00
Harvey Zack 45ec17798f update deps 2023-08-26 13:45:35 +08:00
Harvey Zack c930bafd67 add tr.js 2023-08-26 13:32:51 +08:00
Harvey Zack e71a683dfd I18n (#600)
* update i18n

* update i18n
2023-08-26 13:22:19 +08:00
Harvey Zack 9ba838aa52 add Artplayer.USE_RAF 2023-08-26 00:03:26 +08:00
Harvey Zack 6fc1532ada update CHANGELOG_CN 2023-08-25 21:57:05 +08:00
Harvey Zack 482d074ae2 fix video:seeked event 2023-08-22 20:54:47 +08:00
Harvey Zack 894a9db1d7 add Artplayer.LOG_VERSION 2023-08-22 20:51:39 +08:00
dependabot[bot] 3179d1241e Bump prettier from 2.8.8 to 3.0.0 (#574)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.8...3.0.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 23:03:56 +08:00
Harvey Zack eac37379d3 add muted 2023-06-29 21:44:33 +08:00
Harvey Zack 6c7daa8dc7 update eventInit 2023-06-02 15:36:34 +08:00
O2bmm 16994e446e function-update-optimize (#549) 2023-06-02 15:18:03 +08:00
dependabot[bot] 7fc369d210 Bump workbox-build from 6.6.1 to 7.0.0 (#547)
Bumps [workbox-build](https://github.com/googlechrome/workbox) from 6.6.1 to 7.0.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/commits/v7.0.0)

---
updated-dependencies:
- dependency-name: workbox-build
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-02 15:17:51 +08:00
Harvey Zack 2dae9ed679 update docs 2023-05-24 16:05:01 +08:00
Harvey Zack 382b451bb9 update docs 2023-05-19 20:43:16 +08:00
Harvey Zack 4a088aebc4 update demo 2023-05-18 12:31:48 +08:00
Harvey Zack ac7667df29 update artplayer.d.ts 2023-05-14 11:39:44 +08:00
Harvey Zack 04be7f346c Update package.json 2023-05-14 11:30:35 +08:00
Harvey Zack f330081916 artplayer@5.0.9 2023-05-14 11:10:54 +08:00
Harvey Zack 7bb6af0731 artplayer@5.0.8 2023-05-13 23:48:59 +08:00
Harvey Zack f26db31777 Update miniMix.js 2023-05-13 23:25:16 +08:00
Harvey Zack e243d8b230 update docs 2023-05-13 22:48:24 +08:00
Harvey Zack 6ab5aec6d1 artplayer@5.0.7 2023-05-13 22:27:12 +08:00
Harvey Zack e3e42eb399 update docs 2023-05-13 21:57:45 +08:00
Harvey Zack 84c84e4cda Merge branch 'aspectRatio' 2023-05-13 21:41:06 +08:00
Harvey Zack 39452167c3 update resize 2023-05-13 21:39:45 +08:00
Harvey Zack 4902322808 Aspect ratio (#534)
* update

* update

* Create video2.mp4

* add art.quality

* fix art.theme
2023-05-13 21:23:05 +08:00
Harvey Zack 2faffecc00 fix art.theme 2023-05-13 21:22:43 +08:00
Harvey Zack 6c5393b691 add art.quality 2023-05-13 19:53:04 +08:00
Harvey Zack 8582259dd4 Create video2.mp4 2023-05-06 11:23:58 +08:00
Harvey Zack 0141129c74 update 2023-05-06 11:20:09 +08:00
Harvey Zack f8e07c4d25 update 2023-05-06 10:38:54 +08:00
Harvey Zack 1beff2c7fa update resizeInit 2023-05-06 10:21:04 +08:00
Harvey Zack 550aa0e7f2 update docs 2023-05-06 09:52:01 +08:00
Harvey Zack 2749d50209 Update nodejs.yml 2023-05-05 23:00:16 +08:00
Harvey Zack e095e45791 update heatmap.js 2023-05-05 22:56:00 +08:00
Harvey Zack 7cd91b8375 Test (#531)
* init

* init

* remove checkLeaks

* update browserslist
2023-05-05 22:20:04 +08:00
Harvey Zack edc99269bc update demo 2023-05-05 15:57:38 +08:00
Harvey Zack cf6670bc53 add isIOS13 2023-05-05 13:08:07 +08:00
Harvey Zack f6d6113423 update docs 2023-05-05 09:00:44 +08:00
Harvey Zack 8670175910 Update package.json 2023-05-04 15:36:04 +08:00
Harvey Zack 782a828758 update player.d.ts 2023-05-04 12:55:54 +08:00
Harvey Zack a6a9e93517 Update CHANGELOG_CN.md 2023-05-04 12:44:16 +08:00
Harvey Zack 37dc0a8203 update switchMix.js 2023-05-04 12:40:31 +08:00
Harvey Zack c301844a87 v5.0.6 2023-05-03 12:47:01 +08:00
Harvey Zack 601836c05c v5.0.5 2023-05-03 12:00:34 +08:00
Harvey Zack 8ff35b5f6f update demo 2023-05-03 11:08:49 +08:00
Harvey Zack 5959eb4669 build:all 2023-05-03 10:14:46 +08:00
Harvey Zack 283861b198 fix subtitle style 2023-05-03 09:57:28 +08:00
Harvey Zack 7dd21df106 update docs 2023-05-02 23:44:04 +08:00
Harvey Zack 0ad47e4cf1 build:all 2023-05-02 22:10:52 +08:00
Harvey Zack 88ae6d202c update docs 2023-05-02 21:41:01 +08:00
Harvey Zack 9ea091856b update heatmap 2023-05-02 20:03:29 +08:00
Harvey Zack ebc915e3ab update artplayerPluginDanmuku 2023-05-02 19:44:07 +08:00
Harvey Zack 85b3743a9f Update danmuku.js 2023-05-02 19:38:44 +08:00
Harvey Zack 4ff176c1bd fix heatmap style 2023-05-02 19:33:16 +08:00
Harvey Zack 272a98ada9 update danmuku.js 2023-05-02 19:22:47 +08:00
Harvey Zack 4d1a2acb51 Update sw.js 2023-05-02 19:14:48 +08:00
Harvey Zack 56af4ca4a4 update heatmap 2023-05-02 19:14:14 +08:00
Harvey Zack db5a7d3567 update danmuku 2023-05-02 15:51:33 +08:00
Harvey Zack ab4000d4f2 build artplayer-plugin-danmuku 2023-05-02 13:49:44 +08:00
Harvey Zack 4d9db7d1b5 update CHANGELOG_CN 2023-05-02 13:44:49 +08:00
Harvey Zack e3658aed6f Heatmap (#525)
* add heatmap

* update

* add heatmap
2023-05-02 13:43:05 +08:00
Harvey Zack 5ba1569f67 update demo 2023-04-30 13:37:34 +08:00
Harvey Zack 17f6d46fe0 update docs 2023-04-29 23:04:12 +08:00
Harvey Zack ab57157371 update docs 2023-04-29 22:52:08 +08:00
Harvey Zack 6264a54f93 build docs 2023-04-27 15:24:07 +08:00
Harvey Zack 2de2b991d5 5.0.4 2023-04-27 14:23:18 +08:00
Harvey Zack 217e83eac5 artplayer@5.0.3 2023-04-26 11:22:17 +08:00
Harvey Zack 336627cae3 build docs 2023-04-26 10:54:26 +08:00
Harvey Zack ddfce350ec update scripts 2023-04-26 10:25:02 +08:00
Harvey Zack 90a5f6d045 update Setting 2023-04-26 09:00:31 +08:00
Harvey Zack 7b65b414ff fix mobile m3u8 loading error 2023-04-25 21:59:25 +08:00
Harvey Zack b2084633db fix art-full 2023-04-24 22:47:54 +08:00
Harvey Zack 45c076bc3b 5.0.2 2023-04-24 17:14:23 +08:00
Harvey Zack 12c8b97af4 update fullscreenWeb.less 2023-04-24 11:34:44 +08:00
Harvey Zack 77b96112fb Update index.html 2023-04-24 11:22:05 +08:00
Harvey Zack 4583136d1f 5.0.1 2023-04-24 08:54:43 +08:00
Harvey Zack 93fe9a98f4 fix setting bug 2023-04-23 22:02:28 +08:00
Harvey Zack 59f8e984e2 add mobile.hls.html 2023-04-23 21:39:30 +08:00
Harvey Zack ac127bda77 v5.0.0 2023-04-23 18:15:36 +08:00
Harvey Zack 08ff3dd19d build:all 2023-04-23 16:14:40 +08:00
Harvey Zack 71199d7d0e update artplayer-plugin-control 2023-04-23 16:09:03 +08:00
Harvey Zack 2824b69174 build:all 2023-04-23 15:57:40 +08:00
Harvey Zack 868af2b230 Update CHANGELOG_CN.md 2023-04-23 15:40:52 +08:00
Harvey Zack 708fabbe61 update artplayer-plugin-danmuku 2023-04-23 15:37:05 +08:00
Harvey Zack 2371760d77 Update CHANGELOG_CN.md 2023-04-23 15:25:46 +08:00
Harvey Zack 55ca351b60 update docs 2023-04-23 15:11:08 +08:00
Harvey Zack 3f1e033152 update style 2023-04-23 14:38:13 +08:00
Harvey Zack ee49a0435e V5 (#509)
* update artplayer.d.ts

* update variables.less

* update artplayerPluginControl

* build:all

* update docs

* update docs

* update docs

* Update layers.md

* update index.js

* update docs

* update docs
2023-04-23 13:50:30 +08:00
Harvey Zack c8c08137c4 update setting 2023-04-23 00:24:05 +08:00
Harvey Zack 37d2ae1d01 Update events.d.ts 2023-04-23 00:22:20 +08:00
Harvey Zack 3b57470957 update docs 2023-04-23 00:21:38 +08:00
Harvey Zack 7c8a3c2c7d prettier 2023-04-22 19:00:25 +08:00
Harvey Zack 7fe80943a9 Update danmuku.js 2023-04-22 15:16:02 +08:00
Harvey Zack a801cd5613 fix setting add 2023-04-22 15:12:45 +08:00
Harvey Zack d34a6ba268 update property.js 2023-04-22 15:03:48 +08:00
Harvey Zack a3b767f15d update artplayer.d.ts 2023-04-21 22:55:16 +08:00
Harvey Zack 71fad99a6a update autoPlayback 2023-04-21 21:14:06 +08:00
Harvey Zack 51bee25800 Update player.d.ts 2023-04-21 16:49:37 +08:00
Harvey Zack 81edd00afc update d.ts 2023-04-21 16:44:32 +08:00
Harvey Zack 8904130837 update player.d.ts 2023-04-20 12:00:51 +08:00
Harvey Zack 4035135a69 update stateMix 2023-04-20 11:53:21 +08:00
Harvey Zack 609ccb4c46 update stateMix 2023-04-20 11:49:43 +08:00
Harvey Zack 6743144f44 update mobile.html 2023-04-20 11:14:42 +08:00
Harvey Zack b44394a3d8 Update mobile.html 2023-04-20 10:37:53 +08:00
Harvey Zack bac74f6202 Update mobile.html 2023-04-20 10:34:23 +08:00
Harvey Zack 232b12effb Update mobile.html 2023-04-20 00:34:20 +08:00
Harvey Zack ad8c50ddd7 update aspectRatioReset 2023-04-20 00:23:01 +08:00
Harvey Zack 61cf68f0bc update gestureInit 2023-04-19 23:27:02 +08:00
Harvey Zack c7a6e67940 update --art-settings-scale 2023-04-19 14:40:35 +08:00
Harvey Zack 274205a180 update --art-control-opacity 2023-04-19 14:27:36 +08:00
Harvey Zack 641b0abd64 update --art-indicator-size 2023-04-19 14:21:52 +08:00
Harvey Zack 909f9cab59 add --art-indicator-scale 2023-04-19 14:20:14 +08:00
Harvey Zack a8f0ea12c0 update time 2023-04-19 14:07:04 +08:00
Harvey Zack fb445bf669 add DBCLICK_FULLSCREEN 2023-04-19 11:43:50 +08:00
Harvey Zack 4244b085dc update artplayer-plugin-ads 2023-04-19 11:06:29 +08:00
Harvey Zack a490a0f5d9 build 2023-04-19 10:01:51 +08:00
Harvey Zack a6ab0aa276 add --art-border-radius 2023-04-19 09:59:57 +08:00
Harvey Zack 572788a9ab update style 2023-04-19 09:56:53 +08:00
Harvey Zack 48268ef091 update style 2023-04-19 09:39:52 +08:00
Harvey Zack 89206e3924 update style 2023-04-19 09:26:39 +08:00
Harvey Zack 4848b9e48c update style 2023-04-19 09:04:18 +08:00
Harvey Zack 677c99aa38 update events.d.ts 2023-04-19 02:55:29 +08:00
Harvey Zack 90915652aa update Component 2023-04-19 02:47:37 +08:00
Harvey Zack 3c8cb0e2e2 update component 2023-04-19 02:36:13 +08:00
Harvey Zack e23e828b3d Update component.d.ts 2023-04-18 23:06:43 +08:00
Harvey Zack 70f551b878 update component 2023-04-18 23:04:52 +08:00
Harvey Zack d1156a40b1 update Component 2023-04-18 23:02:51 +08:00
Harvey Zack 13f3398765 add beforeUnmount 2023-04-18 22:58:16 +08:00
Harvey Zack 645e2e2ec3 update component.d.ts 2023-04-18 22:52:33 +08:00
Harvey Zack cd28cc795f update toggle 2023-04-18 22:39:47 +08:00
Harvey Zack 776a02a221 update component 2023-04-18 22:24:06 +08:00
Harvey Zack 6d81287de9 update isStringOrNumber 2023-04-18 18:25:51 +08:00
Harvey Zack 6b6fca8b74 update setting 2023-04-18 18:17:39 +08:00
Harvey Zack 4ba822fdf2 update --art-control-height 2023-04-18 16:30:21 +08:00
Harvey Zack 058325d3cc Setting (#502)
* init

* remove updateStyle

* Revert "remove updateStyle"

This reverts commit 053654ae72.

* add --art-tip-background
2023-04-18 16:02:00 +08:00
Harvey Zack 4b9e8dfc9d Update artplayer.d.ts 2023-04-18 00:52:24 +08:00
Harvey Zack 7d6b7f2070 update setting 2023-04-18 00:51:06 +08:00
Harvey Zack 3ab2e96144 rename moveInit 2023-04-18 00:03:59 +08:00
Harvey Zack 455bd807a7 build:all 2023-04-17 23:16:44 +08:00
Harvey Zack 5354917b5a update mask.less 2023-04-17 23:06:40 +08:00
Harvey Zack c283504f0a update i18n.d.ts 2023-04-17 22:58:25 +08:00
Harvey Zack cf95177ad6 add --art-subtitle-border 2023-04-17 22:54:55 +08:00
Harvey Zack 27cf18a997 update player.d.ts 2023-04-17 22:50:11 +08:00
Harvey Zack 443afeb496 update optionInit 2023-04-17 22:45:08 +08:00
Harvey Zack 339034d30d add cssVar 2023-04-17 22:40:22 +08:00
Harvey Zack 49e1ed15b8 add cssPropertyMix 2023-04-17 22:39:18 +08:00
Harvey Zack f013f8604e add CssVar 2023-04-17 22:11:06 +08:00
Harvey Zack c4252b21b5 add documentInit 2023-04-17 22:04:57 +08:00
Harvey Zack d531c41735 update event.button === 0 2023-04-17 18:54:16 +08:00
Harvey Zack e9e1e08de5 update isMobile 2023-04-17 18:51:48 +08:00
Harvey Zack 18b4bae2fa update mobile style 2023-04-17 18:33:21 +08:00
Harvey Zack 7b53de941d V5 (#500)
* update dep

* Update package.json

* update contextmenu

* update d.ts

* update onVttLoad

* build artplayer

* update style

* --art-theme

* update style

* update style

* update user-select

* add getIcon

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* add progress-hover

* update mini

* update style

* update style

* update style

* update style

* update style

* update volume

* update style

* add art-backdrop

* update style

* update style

* update style

* update currentLevel

* update artplayerPluginControl

* update artplayerPluginDanmuku

* Update package.json
2023-04-16 23:01:26 +08:00
Harvey Zack af12bd9634 update docs 2023-03-31 22:25:27 +08:00
Harvey Zack a7e7c2ea06 Update package.json 2023-03-31 22:24:03 +08:00
Nick Panteleeff 7e9f30bfe1 Add russian translation (#490) 2023-03-27 10:31:15 +08:00
Harvey Zack ec38a16be0 update docs 2023-02-24 21:52:52 +08:00
Harvey Zack 9700b2dff9 Update package.json 2023-02-24 21:31:09 +08:00
Harvey Zack 9433cbc2bb update docs 2023-02-24 21:29:55 +08:00
几句レし a3425da515 Add Indonesian (Bahasa Indonesia) Language (#477)
* Update artplayer.d.ts

* Update option.md

* Update option.md

* Create id.json

* Update index.js

* Update i18n.d.ts
2023-02-24 16:11:39 +08:00
Harvey Zack f43a2921b7 update docs 2023-02-24 11:20:58 +08:00
Harvey Zack 2011c77df4 update docs 2023-02-24 11:16:00 +08:00
Harvey Zack f73e00fde2 add webtorrent 2023-02-19 23:27:24 +08:00
Harvey Zack fee92a9247 Update package.json 2023-02-18 19:28:01 +08:00
Harvey Zack e0fcc50055 bugfix 2023-02-18 19:27:56 +08:00
Harvey Zack 4b9c7fd4cf Update package.json 2023-02-18 13:06:27 +08:00
Harvey Zack f472410a3b add artplayer-plugin-dash-quality 2023-02-18 13:06:23 +08:00
Harvey Zack 3f399e4b41 typo fix 2023-02-18 11:34:58 +08:00
Harvey Zack 3391ca1fed artplayer-plugin-hls-quality.js v1.0.1 2023-02-18 11:34:45 +08:00
Aurèle ZANNOU-TCHOKO d3862db0f3 Add french language (#460)
* Create fr.json

* Update index.js

* Update i18n.d.ts

* Update option.md

* Update option.md

* Update artplayer.d.ts
2023-01-31 10:39:56 +08:00
Harvey Zack 35d2028bcc Update CHANGELOG_CN.md 2023-01-27 09:15:39 +08:00
Harvey Zack e2582dc185 artplayer@4.6.2 2023-01-26 15:28:58 +08:00
Harvey Zack 43fda18f18 artplayer@4.6.2 2023-01-26 15:28:49 +08:00
Harvey Zack 1d56947e16 update docs 2023-01-21 11:33:04 +08:00
Harvey Zack c733375d75 add FULLSCREEN_WEB_IN_BODY 2023-01-21 11:32:08 +08:00
Harvey Zack 827be6ee02 build docs 2023-01-21 11:20:20 +08:00
Harvey Zack 5898dad3d7 fix video:ratechange 2023-01-20 15:54:08 +08:00
Harvey Zack ff54b34275 fix setting bug 2023-01-20 15:48:03 +08:00
Harvey Zack 38ad57192d update vue3 2023-01-19 17:30:33 +08:00
Harvey Zack 181121a36d update docs 2023-01-18 15:51:04 +08:00
Harvey Zack b97184bf48 build docs 2023-01-18 15:24:59 +08:00
Harvey Zack d5844af7ae update docs 2023-01-18 14:52:27 +08:00
Harvey Zack 5414fbfd81 add aspect-ratio 2023-01-18 14:35:59 +08:00
Harvey Zack 07f4b808b8 update screenshot.png 2023-01-15 10:49:50 +08:00
Harvey Zack 2229c0a348 build all 2023-01-15 10:26:47 +08:00
Harvey Zack ccd026a4d5 update subtitleOffset 2023-01-14 18:47:45 +08:00
Harvey Zack d696e817cf update docs 2023-01-14 18:39:52 +08:00
Harvey Zack 8b515906f5 update CHANGELOG_CN.md 2023-01-14 14:55:03 +08:00
Harvey Zack fe18fce0d8 add artplayer-plugin-vtt-thumbnail 2023-01-14 14:42:32 +08:00
Harvey Zack 4028a46195 add artplayer-plugin-vtt-thumbnail 2023-01-14 14:41:50 +08:00
Harvey Zack 20a4252955 update docs 2023-01-14 11:11:58 +08:00
Harvey Zack b924ed48d7 update docs 2023-01-12 09:51:33 +08:00
Harvey Zack bd7585bcb4 update docs 2023-01-12 09:51:04 +08:00
Harvey Zack 3e0a35e080 update docs 2023-01-12 09:48:40 +08:00
Harvey Zack 92706a04cf update docs 2023-01-12 09:37:04 +08:00
Harvey Zack 4365bacbad add updateStyle 2023-01-11 23:04:15 +08:00
Harvey Zack 37f4b1868c update docs 2023-01-11 22:39:57 +08:00
Harvey Zack a07b2ecfbf update docs 2023-01-11 22:22:44 +08:00
Harvey Zack 15519a6929 Update CHANGELOG_CN.md 2023-01-11 22:17:21 +08:00
Harvey Zack 99190ef88c Update CHANGELOG_CN.md 2023-01-11 22:14:48 +08:00
Harvey Zack 9a1078aed7 update docs 2023-01-11 21:05:38 +08:00
Harvey Zack 9b4eb62453 update qq 2023-01-11 21:04:47 +08:00
Harvey Zack d295952d60 build:all 2023-01-11 20:53:12 +08:00
Harvey Zack 4125e3385b Update nodejs.yml 2023-01-11 20:45:35 +08:00
Harvey Zack fa7954de0d Artplayer vitepress (#446)
* init

* init

* update

* update

* update

* update

* update

* update

* add i18n option

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update
2023-01-11 20:45:01 +08:00
Harvey Zack 6a866f88c3 4.6.0 2023-01-01 10:37:33 +08:00
Harvey Zack e971df5c18 update thumbnails 2023-01-01 10:16:52 +08:00
Harvey Zack 78d22e4e54 update docs 2023-01-01 00:30:01 +08:00
Harvey Zack ac490964eb update artplayer-plugin-control 2023-01-01 00:17:15 +08:00
Harvey Zack 46af8a32d7 Update control.js 2023-01-01 00:10:57 +08:00
Harvey Zack 5421ccc9d6 update artplayerPluginControl 2022-12-31 23:51:07 +08:00
Harvey Zack 692a43e4ec fix updateStyle 2022-12-31 23:44:26 +08:00
Harvey Zack 0da181faae update style 2022-12-31 23:41:08 +08:00
Harvey Zack b5c61a25a2 update style 2022-12-31 23:40:59 +08:00
Harvey Zack 1b4d9815a3 update style 2022-12-31 23:38:10 +08:00
Harvey Zack c941f01650 update style 2022-12-31 23:37:51 +08:00
Harvey Zack fd63a64539 mouseout -> mouseleave 2022-12-31 23:21:00 +08:00
Harvey Zack 42f2087b66 Update index.html 2022-12-31 23:09:43 +08:00
Harvey Zack b39b5c9eda build all 2022-12-31 23:09:38 +08:00
Harvey Zack a52d5c92c0 fix setting style 2022-12-31 23:05:00 +08:00
Harvey Zack 7aad1936c2 update docs 2022-12-31 22:37:51 +08:00
Harvey Zack bfec31bc5f fix artplayer-plugin-control style 2022-12-31 21:46:51 +08:00
Harvey Zack 1df2bd1def update build-ts 2022-12-31 21:40:57 +08:00
Harvey Zack 054ee3f3f6 add artplayer-plugin-control 2022-12-31 21:38:03 +08:00
Harvey Zack aafa046a9f update artplayer-plugin-control 2022-12-31 21:30:15 +08:00
Harvey Zack 6b791be35a Aliyundrive (#436)
* init

* init

* add example

* add initControl

* add initControl

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* update style

* build all

* build all

* update style
2022-12-31 21:16:54 +08:00
Harvey Zack 4dcde5a539 update scripts 2022-12-25 18:16:37 +08:00
Harvey Zack c18739387a update scripts 2022-12-25 18:16:08 +08:00
Harvey Zack 4158136809 4.5.13 2022-12-14 23:14:03 +08:00
Harvey Zack a7a820d9f1 Update package.json 2022-12-07 21:12:57 +08:00
Harvey Zack 7167173d87 Fix type 2022-12-07 21:12:51 +08:00
Harvey Zack 417964d183 Fix typo DEBUG 2022-12-07 21:09:52 +08:00
Harvey Zack bffa21364c Update package.json 2022-12-04 21:08:32 +08:00
Harvey Zack a6c204908e update d.ts 2022-11-24 13:21:10 +08:00
Harvey Zack bf88d47ff3 4.5.12 2022-11-20 12:49:18 +08:00
Harvey Zack 920600c29f build:all 2022-11-17 16:03:39 +08:00
Harvey Zack 2fb895349f update docs 2022-11-17 16:00:42 +08:00
Harvey Zack 678e409a3f fix art.loop 2022-11-14 23:18:51 +08:00
Harvey Zack 5fc659b454 4.5.11 2022-11-13 23:00:23 +08:00
Harvey Zack 09e6942c01 whitelist default true 2022-11-13 22:53:09 +08:00
Harvey Zack 02904faddb Update CHANGELOG_CN.md 2022-11-10 18:01:33 +08:00
Harvey Zack 6250936443 add Artplayer.CONTEXTMENU 2022-11-10 18:01:28 +08:00
Harvey Zack aab4a1caaf add mobile controls 2022-11-08 20:27:37 +08:00
Harvey Zack aef5083fcb update vconsole 2022-11-08 08:19:48 +08:00
Harvey Zack 9a08306c10 build all 2022-11-06 20:47:18 +08:00
Harvey Zack 364060bd8a remove font-smoothing 2022-11-06 17:30:05 +08:00
Harvey Zack 1e2d1a23a8 Update player.d.ts 2022-11-06 14:33:24 +08:00
Harvey Zack ecc54b7428 update style 2022-11-06 14:04:13 +08:00
Harvey Zack d6e4cf01a6 update theme color 2022-11-06 13:49:59 +08:00
Harvey Zack 7890b01c4d update style 2022-11-06 13:29:17 +08:00
Harvey Zack 5edeb39b07 Update CHANGELOG_CN.md 2022-11-05 12:02:04 +08:00
Harvey Zack c2d61beb40 Update CHANGELOG_CN.md 2022-11-05 11:59:53 +08:00
Harvey Zack ea74b5fc5f artplayer@4.5.10 2022-11-05 11:59:47 +08:00
Myon f8af7c88c3 fix firefox subtitle does not show (#415) 2022-11-05 11:53:41 +08:00
Harvey Zack 2a4b271d5f update style 2022-11-05 11:40:54 +08:00
Harvey Zack 2d0560157a Update artplayer.less 2022-11-05 11:37:57 +08:00
Harvey Zack 9a58cd7a71 update style 2022-11-05 11:37:50 +08:00
Harvey Zack 795ef1f136 artplayer@4.5.9 2022-11-05 09:42:35 +08:00
Harvey Zack 824baca8b4 update docs 2022-11-05 09:31:23 +08:00
Harvey Zack e0b351831e Update README.md 2022-11-05 09:23:53 +08:00
Harvey Zack 6c4d6bf6c8 Update .prettierignore 2022-11-04 23:05:52 +08:00
Harvey Zack 7912559c17 update .prettierignore 2022-11-04 23:05:13 +08:00
Harvey Zack 463884b50a Update package.json 2022-11-04 20:57:59 +08:00
Harvey Zack 4f223885bf Update package.json 2022-11-04 20:55:24 +08:00
Harvey Zack 1593a4a528 add prettier 2022-11-04 20:55:17 +08:00
Harvey Zack 4092b51c4e remove examples dir 2022-11-04 20:29:15 +08:00
Harvey Zack 1ca9ffa832 uodate d.ts 2022-11-03 22:38:06 +08:00
Harvey Zack 9c90ed86f4 update 2022-11-03 22:18:17 +08:00
Harvey Zack 3d72f2d95f add Artplayer.PROGRESS_HEIGHT 2022-11-03 22:13:30 +08:00
Harvey Zack 6f94ebade3 fix css 2022-11-03 22:01:44 +08:00
Harvey Zack cb51568f7f update demo 2022-10-30 11:02:49 +08:00
Harvey Zack fbf1039681 fix test error 2022-10-30 10:47:21 +08:00
Harvey Zack 004a764b28 build all 2022-10-30 10:36:54 +08:00
Harvey Zack 39627bdd82 update utils 2022-10-30 10:04:02 +08:00
Harvey Zack 6715bc457a Playback rate (#411)
* update
2022-10-29 21:14:17 +08:00
Harvey Zack efc9cf7362 update docs 2022-10-27 21:47:21 +08:00
Harvey 7210653334 build all 2022-10-27 17:14:33 +08:00
Harvey bb21e129b8 update artplayer-tool-thumbnail 2022-10-27 17:12:59 +08:00
Harvey 309fb7bf95 update demo 2022-10-27 16:41:15 +08:00
Harvey c245d7faa1 Update CHANGELOG_CN.md 2022-10-27 16:34:55 +08:00
Harvey 2aa95fd3a8 Update hls.quality.js 2022-10-27 16:12:43 +08:00
Harvey 46de63b86e update demo 2022-10-27 16:11:00 +08:00
Harvey Zack 97c73c1115 Hls quality (#409)
* update docs
2022-10-27 15:30:47 +08:00
Harvey Zack 431a8642f6 update docs (#408) 2022-10-27 11:11:26 +08:00
Harvey Zack b86cc3870e update sw.js 2022-10-23 10:34:38 +08:00
Harvey Zack 3e640c1d33 typofix 2022-10-22 12:21:17 +08:00
Harvey Zack c96120a0eb Update index.js 2022-10-22 12:18:21 +08:00
Harvey 45fd1777c4 update docs 2022-10-21 13:55:34 +08:00
Harvey f0e856093e add art.type 2022-10-21 11:29:25 +08:00
Harvey 31a2a29871 update docs 2022-10-21 10:55:48 +08:00
Harvey Zack fed80dcca4 artplayer-plugin-iframe(#407)
* update artplayer-plugin-iframe
2022-10-21 10:36:50 +08:00
Harvey Zack 08f284a64b Update iframe.helper.js 2022-10-20 21:54:43 +08:00
Harvey fb96049de9 Update artplayer.d.ts 2022-10-20 17:41:25 +08:00
Harvey 8dcaada8cf Update iframe.helper.js 2022-10-20 17:31:31 +08:00
Harvey 96781698ba update iframe.helper.js 2022-10-20 17:19:02 +08:00
Harvey Zack d055eb3e60 Iframe inject (#406) 2022-10-20 16:46:26 +08:00
Harvey b5727b60a2 update iframe-fullscreen-web 2022-10-20 12:23:32 +08:00
Harvey Zack c74b86b367 Update style.css 2022-10-20 07:13:55 +08:00
Harvey Zack 9af64c0968 update demo 2022-10-20 07:12:51 +08:00
Harvey 68bb6e0a58 update demo 2022-10-19 17:48:31 +08:00
Harvey 1e9a5e21ab update d.ts 2022-10-18 18:14:52 +08:00
dependabot[bot] 0da0b55a1b Bump lerna from 5.6.2 to 6.0.0
Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/core/lerna) from 5.6.2 to 6.0.0.
- [Release notes](https://github.com/lerna/lerna/releases)
- [Changelog](https://github.com/lerna/lerna/blob/main/core/lerna/CHANGELOG.md)
- [Commits](https://github.com/lerna/lerna/commits/v6.0.0/core/lerna)

---
updated-dependencies:
- dependency-name: lerna
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 10:04:49 +08:00
Harvey 8ccab4d756 Create audio.mp3 2022-10-12 15:14:23 +08:00
Harvey 38a424c10b update docs 2022-10-12 13:32:04 +08:00
Harvey ba1dd88050 Delete artplayer.legacy.js.js 2022-10-11 17:57:32 +08:00
Harvey c6cbba717c Fix build name error 2022-10-11 17:56:22 +08:00
Harvey 5e330a59cc add legacy.js 2022-10-11 17:54:25 +08:00
Harvey 1d5197ab07 artplayer-plugin-danmuku@4.4.11 2022-10-11 10:48:42 +08:00
Harvey Zack e0351a7b93 Update common.js 2022-10-10 20:59:37 +08:00
Harvey Zack 26c2a63b55 Update artplayer.d.ts 2022-10-10 20:26:33 +08:00
Harvey Zack 84e8c23ad0 Update utils.d.ts 2022-10-10 20:25:41 +08:00
Harvey 55587c32c7 Update option.d.ts 2022-10-10 10:19:38 +08:00
Harvey 572c9db7f7 update test 2022-10-10 09:19:11 +08:00
Harvey ce97ac7f2d add lastPlaybackRate 2022-10-10 08:32:45 +08:00
DRAWCORE 07c206ab89 set right playbackrate after fastforward on mobile 2022-10-09 22:21:47 +08:00
Harvey Zack 2cf2a464b9 Update CHANGELOG_CN.md 2022-10-09 20:59:42 +08:00
Harvey Zack 0e2644c8e7 artplayer@4.5.8 2022-10-09 20:58:42 +08:00
Harvey e57be9ff2e update demo 2022-10-09 18:14:54 +08:00
Harvey bd7de49585 Update sw.js 2022-10-09 18:03:46 +08:00
Harvey 0736b7e4d2 add ts to demo 2022-10-09 18:03:23 +08:00
Harvey 57f5c44d17 Update option.d.ts 2022-10-09 17:14:43 +08:00
Harvey d2d0e2d8db update d.ts 2022-10-09 16:48:20 +08:00
Harvey 05b6dba336 Update setting.d.ts 2022-10-09 16:34:35 +08:00
Harvey Zack 02953257f7 New type (#399)
* Update artplayer.d.ts
2022-10-09 15:43:32 +08:00
Harvey e4196f53d9 add art.setting.update 2022-10-09 10:19:36 +08:00
Harvey 95c09d17ec update d.ts 2022-10-08 14:36:16 +08:00
Harvey ebb6f84358 update docs 2022-10-08 10:06:16 +08:00
Harvey 167bbbd5e8 Update sw.js 2022-10-08 09:57:31 +08:00
Harvey 500acc2444 add Artplayer.DEGUG 2022-10-08 09:51:49 +08:00
Harvey Zack eda1fab811 build 2022-10-04 20:56:27 +08:00
Harvey Zack a9af217408 add farsi language 2022-10-04 20:40:55 +08:00
mahdiasli 2346bf1271 Rename es.json to fa.json 2022-10-04 20:29:52 +08:00
mahdiasli ac4ea205cb Update es.json 2022-10-04 20:29:52 +08:00
mahdiasli c355468f99 Update index.js
importing farsi language
2022-10-04 20:29:52 +08:00
Harvey 30d6eb93b0 artplayer@4.5.7 2022-09-28 14:54:56 +08:00
Harvey 37bfafb174 Fix mobile progress 2022-09-28 11:40:19 +08:00
Harvey 783b973fb2 Fix mobile touchstart 2022-09-28 10:51:26 +08:00
Harvey Zack 4d1a695f33 Update CHANGELOG_CN.md 2022-09-27 08:28:53 +08:00
Harvey 067a0fc0c8 add art.isRotate 2022-09-26 18:32:14 +08:00
Harvey af6e936854 add art.isRotate 2022-09-26 18:28:22 +08:00
Harvey 1cbef4c6f4 Update CHANGELOG_CN.md 2022-09-26 16:04:43 +08:00
Harvey 28e85ea490 Update CHANGELOG_CN.md 2022-09-26 09:11:14 +08:00
Harvey 86d083dcc2 fix mobile control click event 2022-09-26 08:56:34 +08:00
Harvey 0f99168529 Fix progress event 2022-09-26 08:46:15 +08:00
Harvey 95407c1f75 add range onChange 2022-09-26 08:30:31 +08:00
Harvey Zack 6c5f1c8433 Update iframe.inner.html 2022-09-21 23:28:55 +08:00
Harvey Zack 2d48f247ad update iframe demo 2022-09-21 23:18:19 +08:00
Harvey 8b8d58dd66 add Iframe test 2022-09-21 11:03:45 +08:00
Harvey 4c40dbf8d8 Fix svg miss 2022-09-21 09:57:42 +08:00
Harvey 241bca703c update svg size 2022-09-21 09:52:37 +08:00
Harvey ac11b68667 Update mobile.html 2022-09-21 09:43:04 +08:00
Harvey e155f20593 Update mobile.html 2022-09-21 09:40:03 +08:00
Harvey f69ef95b80 update docs 2022-09-21 09:20:43 +08:00
Harvey 1a18ce0b9b update d.ts 2022-09-20 14:45:09 +08:00
Harvey 92ad45b976 add Artplayer.SEEK_STEP 2022-09-20 14:43:18 +08:00
Harvey 2ba636f3c7 Revert "click the progress on the mobile"
This reverts commit 01fd77c835.
2022-09-20 09:39:15 +08:00
Harvey 01fd77c835 click the progress on the mobile 2022-09-20 09:36:42 +08:00
Harvey Zack 3ab7427b74 artplayer@4.5.6 2022-09-19 23:21:51 +08:00
Harvey 650f81b8fb Update CHANGELOG_CN.md 2022-09-19 10:13:00 +08:00
Harvey 273b75d07d 4.5.5 2022-09-19 10:03:17 +08:00
Harvey Zack 0b0aad78a5 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2022-09-16 13:05:32 +08:00
Harvey Zack 2ca2eb88a0 expose danmuku option 2022-09-16 13:05:30 +08:00
Harvey Zack 7b2bf35bdb Update index.js 2022-09-16 09:08:21 +08:00
Harvey Zack c043498280 update d.ts 2022-09-16 08:40:39 +08:00
Harvey Zack 0a6ef6214e update dev build 2022-09-16 08:29:58 +08:00
Harvey Zack f0ca2c0ca4 Update CHANGELOG_CN.md 2022-09-16 08:26:51 +08:00
Nicolás Herrera 6a93517674 Addition of spanish language 2022-09-16 08:16:19 +08:00
Harvey Zack 6d93e581b7 Update mobile.html 2022-09-10 08:30:09 +08:00
Harvey cc65c58e4f update dependencies 2022-09-09 10:26:21 +08:00
dependabot[bot] 918d300e2a Bump node-html-parser from 5.4.2 to 6.0.0
Bumps [node-html-parser](https://github.com/taoqf/node-fast-html-parser) from 5.4.2 to 6.0.0.
- [Release notes](https://github.com/taoqf/node-fast-html-parser/releases)
- [Changelog](https://github.com/taoqf/node-html-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taoqf/node-fast-html-parser/compare/v5.4.2...v6.0.0)

---
updated-dependencies:
- dependency-name: node-html-parser
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 08:41:08 +08:00
Harvey 14ac231e08 update sw 2022-09-08 15:49:08 +08:00
Harvey a5b035e031 update subtitle.js 2022-09-07 16:54:01 +08:00
Harvey 8d057080f1 fix ios subtitle 2022-09-07 16:45:05 +08:00
Harvey 1e460de2e8 remove screenfull.on('change') 2022-09-07 15:49:51 +08:00
Harvey 489b81bb43 Fix mobile subtitle 2022-09-07 15:38:53 +08:00
Harvey Zack ce2184f016 add danmuku reset 2022-09-06 22:01:23 +08:00
Harvey 978ce9a4ed update d.ts 2022-08-31 15:48:19 +08:00
Harvey 815556b69a update d.ts 2022-08-31 15:45:03 +08:00
Harvey 2a32703868 update d.ts 2022-08-31 15:34:22 +08:00
Harvey 4bd67b5b87 update d.ts 2022-08-31 15:29:52 +08:00
Harvey 0aa9189d17 update d.ts 2022-08-31 15:26:52 +08:00
dependabot[bot] e2e15994c6 Bump docusaurus-lunr-search from 2.1.16 to 2.2.0
Bumps [docusaurus-lunr-search](https://github.com/lelouch77/docusaurus-lunr-search) from 2.1.16 to 2.2.0.
- [Release notes](https://github.com/lelouch77/docusaurus-lunr-search/releases)
- [Commits](https://github.com/lelouch77/docusaurus-lunr-search/compare/v2.1.16...v2.2.0)

---
updated-dependencies:
- dependency-name: docusaurus-lunr-search
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-31 08:23:48 +08:00
Harvey Zack 673c15670c Update package.json 2022-08-25 15:20:36 +08:00
Harvey eb1466288b update d.ts 2022-08-24 10:52:53 +08:00
Harvey 8c9db3f302 add createElement 2022-08-18 09:40:33 +08:00
Harvey 326a292e27 update d.ts 2022-08-16 15:18:23 +08:00
dependabot[bot] 2cbacb2704 Bump docusaurus-lunr-search from 2.1.15 to 2.1.16
Bumps [docusaurus-lunr-search](https://github.com/lelouch77/docusaurus-lunr-search) from 2.1.15 to 2.1.16.
- [Release notes](https://github.com/lelouch77/docusaurus-lunr-search/releases)
- [Commits](https://github.com/lelouch77/docusaurus-lunr-search/compare/v2.1.15...v2.1.16)

---
updated-dependencies:
- dependency-name: docusaurus-lunr-search
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 09:37:31 +08:00
Harvey e394b73553 update ads 2022-08-02 10:40:29 +08:00
Harvey 66c6bc667c update ads demo 2022-08-02 10:34:40 +08:00
Harvey 4a481a898b update docs 2022-08-02 10:27:09 +08:00
Harvey cccb9dfcf9 Update build.js 2022-08-02 10:06:57 +08:00
Hannes Fant 95e0e18ecc Add support for muted ads
Allows for more reliable autoplaying when the source video has sound by muting it automatically
2022-08-02 09:04:44 +08:00
Harvey Zack 6a602f4054 artplayer@4.5.4 2022-08-01 22:00:16 +08:00
Harvey 41c39284c5 add Artplayer.TOUCH_MOVE_RATIO 2022-07-28 17:49:24 +08:00
Harvey 62988f04e0 add option.id 2022-07-28 10:12:43 +08:00
Harvey ec09bcdc92 update types.test.ts 2022-07-19 14:16:38 +08:00
Harvey Zack bcd8010ade update docs 2022-07-18 21:42:18 +08:00
Harvey Zack e793fea93e Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2022-07-18 21:33:12 +08:00
Harvey Zack e6b4669ae9 Update thumbnails.js 2022-07-18 21:33:08 +08:00
Harvey 6c8df95f56 update build 2022-07-18 09:23:07 +08:00
Harvey fab5afed28 add screenfull.js 2022-07-18 09:22:34 +08:00
Harvey 9f1971f7d6 Update CHANGELOG_CN.md 2022-07-14 10:34:47 +08:00
Harvey 856ab536fb update d.ts 2022-07-14 10:24:48 +08:00
Harvey 7e65d486bc add Artplayer.AUTO_PLAYBACK_MIN 2022-07-14 10:23:45 +08:00
Harvey 60b61dd7b1 Update package.json 2022-07-14 09:40:51 +08:00
Harvey d8b0477cdc remove some disable 2022-07-14 09:35:45 +08:00
Harvey 99bae1fab2 artplayer@4.5.3 2022-07-13 16:16:18 +08:00
Harvey 2294620436 update airplayMix 2022-07-13 16:10:39 +08:00
Harvey a39a2a19da update sw.js 2022-07-13 16:02:12 +08:00
Harvey 5758d4c93e update docs 2022-07-13 15:42:25 +08:00
Harvey fbd1d2170a add airplay 2022-07-13 15:35:04 +08:00
Harvey 55c7560ce2 update d.ts 2022-07-11 11:18:36 +08:00
Harvey bff84f9cb6 update urlMix 2022-06-27 10:37:13 +08:00
Harvey 19d9e5cea9 update screenfull 2022-06-27 09:53:01 +08:00
Harvey b6c274b2cf update dep 2022-06-27 09:44:00 +08:00
Harvey f665cf9b92 Update CHANGELOG_CN.md 2022-06-22 17:48:49 +08:00
Harvey ace7540b9c Update CHANGELOG_CN.md 2022-06-22 17:27:41 +08:00
Harvey 1d5ff8adf0 update playMix.js 2022-06-22 17:22:15 +08:00
Harvey c09713d50f artplayer@4.5.2 2022-06-22 16:58:46 +08:00
Harvey 0971aba7f9 Update CHANGELOG_CN.md 2022-06-22 16:51:13 +08:00
Harvey d29f821338 artplayer@4.5.1 2022-06-22 16:50:34 +08:00
Harvey 1db287fb24 update docs 2022-06-22 16:47:41 +08:00
Harvey eb9e42c8f5 update style 2022-06-22 14:35:03 +08:00
Harvey e48c50956d update autoPlayback 2022-06-22 14:27:42 +08:00
Harvey 691202ace4 artplayer-plugin-ads@1.0.4 2022-06-22 10:31:39 +08:00
Harvey 1d4b2d58ac artplayer-plugin-ads@1.0.3 2022-06-22 09:37:50 +08:00
Harvey d81f9d4f65 artplayer-plugin-ads@1.0.2 2022-06-21 14:55:27 +08:00
Harvey 7a2fb8302d Update test.png 2022-06-21 14:38:12 +08:00
Harvey dbac833a26 update mobile demo 2022-06-21 14:30:53 +08:00
Harvey d148e7d9e5 update mobile demo 2022-06-21 14:06:47 +08:00
Harvey 8d04f11048 update mobile demo 2022-06-21 13:57:14 +08:00
Harvey 829d3a4b42 update mobile demo 2022-06-21 13:49:45 +08:00
Harvey a831975f4f Fix test error 2022-06-21 11:13:40 +08:00
Harvey 25d2319287 artplayer-plugin-ads@1.0.0 2022-06-21 10:52:33 +08:00
Harvey d1ead6c543 Update sw.js 2022-06-21 10:46:03 +08:00
Harvey 0149a6e557 update docs 2022-06-21 10:45:20 +08:00
Harvey 35856b745f add ads loading 2022-06-21 10:32:31 +08:00
Harvey 667b7f16e1 Update CHANGELOG_CN.md 2022-06-21 10:09:41 +08:00
Harvey 910c020488 add artplayer-plugin-ads 2022-06-21 10:08:55 +08:00
Harvey 463e05fcc0 Update package.json 2022-06-21 10:02:57 +08:00
Harvey 9a2fd6d9fd update 2022-06-21 10:01:07 +08:00
Harvey Zack 0535b798b2 update 2022-06-20 22:10:24 +08:00
Harvey 199c15ff3f update 2022-06-20 18:17:50 +08:00
Harvey 830720790e update 2022-06-20 17:52:00 +08:00
Harvey 3dea070ade update 2022-06-20 17:23:05 +08:00
Harvey 9716f97a51 update 2022-06-20 16:27:06 +08:00
Harvey ff1f38aeb7 update 2022-06-20 15:12:59 +08:00
Harvey 640360abd7 update 2022-06-20 11:44:00 +08:00
Harvey 0c70663345 update ads demo 2022-06-20 11:13:07 +08:00
Harvey a4d7ff721b init artplayerPluginAds 2022-06-20 10:29:39 +08:00
Harvey 13ace1b8a8 update docs 2022-06-20 10:12:24 +08:00
Harvey 7bbe1ed0be remove ads 2022-06-20 10:09:20 +08:00
Harvey 92f751250e Update package.json 2022-06-17 15:51:29 +08:00
Harvey 422728844a update docs 2022-06-13 15:02:32 +08:00
Harvey 107d884274 add vue2 demo 2022-06-13 15:00:06 +08:00
960 changed files with 211402 additions and 50976 deletions

No files matched your search

-7
View File
@@ -1,7 +0,0 @@
/docs
/dist
/test
/scripts
/node_modules
/packages/**/node_modules
/packages/**/dist
-22
View File
@@ -1,22 +0,0 @@
{
"parser": "@babel/eslint-parser",
"extends": "eslint:recommended",
"env": {
"browser": true,
"es6": true
},
"globals": {
"require": "readonly",
"process": "readonly"
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": "latest",
"requireConfigFile": false,
"babelOptions": {
"presets": [
"@babel/preset-react"
]
}
}
}
-1
View File
@@ -1,4 +1,3 @@
# These are supported funding model platforms
patreon: artplayer
custom: https://paypal.me/harveyzack
+15 -13
View File
@@ -4,11 +4,6 @@ on:
push:
branches:
- master
paths-ignore:
- '**.md'
- 'docs/**'
- 'dist/**'
- 'images/**'
jobs:
build:
@@ -17,12 +12,12 @@ jobs:
strategy:
matrix:
node-version: [16.x]
node-version: [20.x]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: npm install, lint, build, and test
@@ -30,10 +25,17 @@ jobs:
npm install
npm run lint
npm run build:all
cd packages/artplayer-document && ls
npm run build
cd ../../ && ls
npm run test:create
npm run test
env:
CI: true
- name: Deploy to GitHub Pages
if: success()
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add -f docs
git commit -m 'Deploy to GitHub Pages'
git subtree split --prefix docs master -b gh-pages-temp
git push origin gh-pages-temp:refs/heads/gh-pages --force
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+2
View File
@@ -1,6 +1,8 @@
.env
.vscode
.DS_Store
.parcel-cache
node_modules
package-lock.json
lerna-debug.log
yarn.lock
+11
View File
@@ -0,0 +1,11 @@
docs
.github
.docusaurus
node_modules
.parcel-cache
packages/*/dist
packages/*/node_modules
packages/*/.parcel-cache
packages/artplayer-template/*/.next
packages/artplayer-template/*/.nuxt
scripts/plugin/template
+7 -2
View File
@@ -3,5 +3,10 @@
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "all",
"printWidth": 120
}
"printWidth": 120,
"semi": true,
"bracketSpacing": true,
"arrowParens": "always",
"endOfLine": "lf",
"quoteProps": "as-needed"
}
+351 -31
View File
@@ -1,67 +1,387 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [5.2.1] - 2024-10-26
- 重构 `Setting` 组件,修复状态丢失的问题
- 类型是 `range` 的 `Setting`,现在回调函数返回的 `range` 是数字的数组,不再是单一数字
- 删除 `isStringOrNumber` 工具函数
- 修复 `artplayer-plugin-hls-control` 状态不统一的问题
- 废弃 `artplayer-plugin-dash-quality` 插件
- 新增 `artplayer-plugin-dash-control` 插件
- 使用 `code` 替代已废弃的`keyCode` 监听键盘事件
- 新增 `keydown` 事件,监听来自 `document` 的 `keydown` 事件
## [5.2.0] - 2024-10-19
- 新增 `option.proxy` 选项,用于代理第三方的 `video` 和 `canvas`
- 新增 `artplayer-proxy-canvas` 代理,可以使用 `canvas` 播放视频
- 新增 `artplayer-proxy-webav` 代理,来自 [bilibili/WebAV](https://github.com/bilibili/WebAV)
- 新增 `option.thumbnails.scale`, 用于预览图缩放
- 修复 `art.url` 更改不能触发 `autoPlayBack` 的 `bug`: [#797](https://github.com/zhw2590582/ArtPlayer/issues/797)
- 新增 `art.subtitle.cues` 属性, 获取整体的字幕列表
- 新增 `art.subtitle.activeCues` 属性, 获取活跃的字幕列表
- 新增 `subtitleBeforeUpdate` 事件, 在字幕元素渲染前触发
- 修改 `subtitleUpdate` 事件为 `subtitleAfterUpdate`, 在字幕元素渲染后触发
- 优化 `subtitleLoad` 事件的触发时机和回调参数
- 删除 `subtitleSwitch` 事件,请使用 `subtitleLoad` 代替
- 升级 `artplayer-plugin-hls-quality` 为 `artplayer-plugin-hls-control`
- 新增 `artplayer-plugin-ambilight` 插件
- 修复 `thumbnails` 显示 bug
## [5.1.7] - 2024-8-15
- 新增 `Artplayer.STYLE` 属性,返回播放器样式文本
- `art.screenshot('your-name')` 截图功能支持自定义文件名字
- `Artplayer.CONTEXTMENU` 为 `false` 时,不再隐藏默认右键菜单
- 新增 `art.thumbnails` 属性,用于动态设置 `thumbnails`
## [5.1.6] - 2024-6-15
- 优化 `setBar` 事件
- 新增 `artplayerPluginChapter` 插件
- 新增 `art.plugins.artplayerPluginDanmuku.load(target)` 参数,用于追加弹幕库
- 新增弹幕插件的 `width` 选项参数,当播放器宽度小于此值时,弹幕发射器置于播放器底部
- 修复 `artplayerPluginVttThumbnail` 在移动端不显示的问题
- 修复弹幕插件样式,和字号百分比显示的 `bug`
- 移动端也可以看到 `thumbnails` 了
- 恢复 `screen.orientation.lock` 功能
## [5.1.5] - 2024-6-1
- 重构 `artplayerPluginDanmuku` 插件
- 新增 `artplayerPluginChromecast` 插件
- 添加 `fullscreenError` 事件
- 优化双击事件: [#728](https://github.com/zhw2590582/ArtPlayer/pull/728)
- 修复 `thumbnails` 延迟显示问题
- 新增 `art.plugins.lock.state = true/false`, 用于手动控制 `lock` 状态
- 当鼠标在控制栏上,或者打开了设置面板,控制栏不再自动隐藏
- 由于兼容性不足,删除 `screen.orientation.lock` 功能
- 修复移动端的 `fullscreen` bug
## [5.1.1] - 2024-1-11
- 插件函数支持同步和异步返回
## [5.1.0] - 2023-12-23
- 插件函数改为支持异步返回
- 当播放地址发生错误到达上限后,不会再主动销毁播放器
- 分离语言文件,核心代码不再捆绑多国语言 [语言设置](https://artplayer.org/document/start/i18n.html)
- 更新组件时,支持填写只更新的字段 [pull/549](https://github.com/zhw2590582/ArtPlayer/pull/549)
- 添加 `muted` 事件,当静音的状态变化时触发
- 添加 `Artplayer.LOG_VERSION` 全局配置,设置是否打印播放器版本,默认为 `true`
- 添加 `Artplayer.USE_RAF` 全局配置,设置是否使用 `requestAnimationFrame` ,默认为 `false`,目前主要用于进度条的平滑效果
- 移除默认样式 `margin:0;padding:0;`,因为容易与第三方库起样式冲突,导致难以覆写
- 字幕行从 `p` 标签改为 `div` 标签,并且添加类名 `art-subtitle-line`
- 在移动端,点击视频会切换控制栏的显示与隐藏
- 由于功能不常用,删除 `art.loop` 区间播放功能
- 字幕轨添加 `label` 属性,用于在移动设备上显示字幕名字
- 添加 `unescape`, `isBrowser`, `setStyleText` 工具函数
- 添加 `artplayerPluginMultipleSubtitles` 插件,用于显示合并后的字幕文件: [demo](https://www.artplayer.org/?libs=./uncompiled/artplayer-plugin-multiple-subtitles/index.js&example=multiple.subtitles)
- 修改迷你进度条的显示方式
## [5.0.9] - 2023-5-14
- 修复 `art.autoOrientation` 样式错误问题
- 移除播放器容器的动画效果
## [5.0.8] - 2023-5-13
- 修复 `art.mini` 的互斥关系
- 修复 `art.aspectRatio` 动画效果问题
## [5.0.7] - 2023-5-13
- 使用 `switchUrl` 或者 `switchQuality` 方法切换地址后会保持原有的调整如:`aspectRatio`, `playbackRate`, `flip`, `autoSize`
- 删除 `switchUrl` 方法和 `switchQuality` 方法的第二个 `name` 参数
- 添加 `isIOS13` 工具,用于修复在 `IOS13` 以上版本的设备上的 `isMobile` 判断不准确的问题
- `art.autoSize` 和 `art.autoHeight` 改为方法的形式调用,即 `art.autoSize()` 和 `art.autoHeight()`
- 添加新的属性 `art.quality`,用于动态更新画质列表
- 修复 `art.aspectRatio` 属性不正确的问题
- 添加 `art.switch` Setter 属性, 功能和 `art.switchUrl` 方法一样
## [5.0.6] - 2023-5-3
- 修复设置面板的样式错误
## [5.0.5] - 2023-5-3
- 弹幕插件添加 `heatmap` 选项,用于是否开启热度图,默认为关闭
- 修复英文字幕换行的样式错误
- 修复设置面板的样式错误
- 移除多余的全局属性
- 移除 `title` 选项,因为目前用处不大
- 移除 `whitelist` 选项,因为目前用处不大
## [5.0.4] - 2023-4-27
- 修复控制器的上拉列表的样式 bug
## [5.0.3] - 2023-4-26
- 修复音量控制器 `event.pageY` 取值错误
- 修改构建配置,`artplayer.legacy.js` 可以兼容到 `IE 11`
## [5.0.2] - 2023-4-24
- 修复控制栏位置的样式兼容问题
## [5.0.1] - 2023-4-24
- 修复网页全屏的样式错误
- 修改内置设置项的文本错误
## [5.0.0] - 2023-4-23
- 重写了音量控制器
- 修复在移动端下,进度拖动的角度不正确的问题
- 重写了 `mini` 模式,现在这个模式下,视频会脱离原来的容器
- 全部组件(层,控制器,右键菜单,设置面板)支持动态删除和动态更新
- 字幕选项添加了 `onVttLoad` 方法,用于在字幕输出前修改 `vtt` 文本
- 重写了全部样式,添加了许多 `css` 变量
- 添加 `cssVar` 选项,用于初始化 `css` 变量
- 添加 `cssVar` 方法,用于设置和获取 `css` 变量
- 插件 `artplayer-plugin-hls-quality` 添加 `getResolution` 函数选项,用于获取从 `level` 中分辨率的文本
- 新增 `artplayer-plugin-dash-quality` 插件,用于添加 `Dash` 画质列表到播放器
- 修复 `lock` 和 `loop` 事件失效问题
- 添加俄语 `ru` 和印度尼西亚 `id` 语言
- 更新 `artplayer-plugin-control`,用于兼容`artplayer@5.0.0`
- 更新 `artplayer-plugin-dash-quality`,用于兼容`artplayer@5.0.0`
- 更新 `artplayer-plugin-hls-quality`,用于兼容`artplayer@5.0.0`
- 更新 `artplayer-plugin-danmuku`,用于兼容`artplayer@5.0.0`
## [4.6.2] - 2023-1-26
- `Artplayer.PROGRESS_HEIGHT` 默认值改为 `6`
- 添加 `artplayer-plugin-vtt-thumbnail` 用于使用 `vtt` 字幕文件生成视频预览图
- 添加 `Artplayer.FULLSCREEN_WEB_IN_BODY` 用于网页全屏时,是否把播放器挂载于 `document.body` 上,默认为 `false`
- 修改字幕偏移的方式为滑块
- 字幕选项添加 `escape`,用于是否转义 `html` 标签,默认为 `true`
## [4.6.1] - 2023-1-11
- 编写全新的文档
- 优化`d.ts`
- 移除多余的事件
- 优化部分样式
- 添加`i18n`选项
## [4.6.0] - 2022-12-31
- 优化控制栏图标的样式效果
- 优化设置面板的样式效果
- 修复 `art.fullscreen` 监听状态错误的问题
- 添加 `artplayer-plugin-control` 插件,用于改变控制栏样式
## [4.5.12] - 2022-11-20
- 修复 `art.loop = []` 的显示 `bug`
## [4.5.11] - 2022-11-6
- 新增 `Artplayer.CONTEXTMENU` 用于设置是否显示右键菜单,默认为 `true`
- 移动设备 `Whitelist` 功能默认为 `true`,即全部移动设备都使用播放器 `UI`
## [4.5.10] - 2022-11-5
- 修复字幕在 `firefox` 不显示的问题:[#pull/415](https://github.com/zhw2590582/ArtPlayer/pull/415)
- 信息弹窗支持点击选中视频属性文本值
## [4.5.9] - 2022-11-5
- 添加 `art.type` 属性,用于获取和设置视频类型
- 添加 `art.video` 属性,用于获取 `video` 元素
- 添加 `artplayer-plugin-iframe` 插件,用于控制 `iframe` 里的播放器
- 添加 `artplayer-plugin-hls-quality` 插件,用于添加 `Hls` 画质列表到播放器
- 新增 `Artplayer.PLAYBACK_RATE` 用于设置默认播放速度,默认 `[0.5, 0.75, 1, 1.25, 1.5, 2]`
- 新增 `Artplayer.ASPECT_RATIO` 用于设置默认长宽比,默认 `['default', '4:3', '16:9']`
- 新增 `Artplayer.FLIP` 用于设置默认翻转功能,默认 `['normal', 'horizontal', 'vertical']`
- 新增 `Artplayer.PROGRESS_HEIGHT` 用于设置进度条高度,默认为 `4`
- 添加 `legacy.js` 版本,用于兼容更老的浏览器,但相对体积较大
- 移除 `examples` 目录,不再提供 `vue.js` 和 `react.js` 的例子文件
## [4.5.8] - 2022-10-9
- 添加 `farsi` 语言
- 新增 `Artplayer.DEBUG` 用于打印 `debug` 信息,默认为 `false`
- 新增 `art.setting.update()` 用于动态更新设置面板
- 优化 `artplayer.d.ts`
## [4.5.7] - 2022-9-28
- 新增 `Artplayer.VOLUME_STEP` 用于控制调整 `音量` 的步长,默认为 `0.1`
- 新增 `Artplayer.SEEK_STEP` 用于控制调整 `快进/快退` 的步长,默认为 `5` 秒
- 修复部分 `svg` 图标在移动端不显示的问题
- 修复在桌面端进度条不能同时点击和拖动的问题
- 修复在移动端进度条不能点击和拖动的问题
- 新增 `art.isRotate` 属性,用于识别是否自动全屏旋转
- 设置面板 `range` 添加 `onChange` 选项,可以实时获取当前值
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
settings: [
{
html: 'Slider',
tooltip: '5x',
range: [5, 1, 10, 0.1],
onChange: function (item) {
return item.range + 'x';
},
},
],
});
```
## [4.5.6] - 2022-9-19
- 修复 `hls.js` 在 `Safari` 播放失效的问题
## [4.5.5] - 2022-9-19
- 广告插件添加 `option.muted` 选项,用于静音自动播放广告
- 弹幕库插件暴露 `art.plugins.artplayerPluginDanmuku.reset()` 方法,用于清空当前弹幕显示
- 弹幕库插件暴露 `art.plugins.artplayerPluginDanmuku.option` 属性,用于获取当前弹幕配置
- 修复在 `IOS` 全屏模式下,字幕失效的问题
- 添加 `es` 语言
## [4.5.4] - 2022-8-1
### Added
- 新增 `Artplayer.AUTO_PLAYBACK_MIN` 用于控制最小可以记忆播放的进度值,默认为 `5` 秒
- 新增 `Artplayer.TOUCH_MOVE_RATIO` 用于控制移动端进度条拖放比例,默认为 `0.5`
- `option.thumbnails` 添加可选的 `width` 和 `height`
- 新增播放器编号选项 `option.id`,可用于记忆播放时的唯一标识
## [4.5.3] - 2022-7-13
### Added
- `url` 选项允许传空字符串,可用于异步设置 `art.url`
```js
const art = new Artplayer({
url: '',
container: '.artplayer-app',
});
setTimeout(() => {
art.url = '/assets/sample/video.mp4';
}, 1000);
```
- `art.play()` 方法统一返回 `Promise`, `play` 事件也改为异步触发
```js
const art = new Artplayer({
url: '/assets/sample/video.mp4',
container: '.artplayer-app',
});
art.on('ready', async () => {
try {
await art.play();
console.log('播放成功');
} catch (error) {
console.log('播放失败', error.message);
}
});
```
- 新增 `airplay` (隔空播放) 功能,当前只在 Safari 下可用
```js
const art = new Artplayer({
url: '/assets/sample/video.mp4',
container: '.artplayer-app',
airplay: true,
});
```
## [4.5.2] - 2022-6-22
### Added
- 优化自动回放功能,让用户自行选择
## [4.5.0] - 2022-6-21
### Added
- 移除内置广告功能
- 新增广告插件
## [4.4.7] - 2022-6-13
### Added
- 兼容弹幕库 d.ts
- 更新依赖库
- 兼容弹幕库 d.ts
- 更新依赖库
## [4.4.6] - 2022-6-11
### Added
- 添加弹幕库 d.ts
- 调整字幕字体大小参数
- 优化正则解析xml弹幕
- 添加弹幕库 d.ts
- 调整字幕字体大小参数
- 优化正则解析 xml 弹幕
## [4.4.5] - 2022-6-2
### Added
- 修复迷你模式时,主题色缺失的bug
- 修复迷你模式时,主题色缺失的 bug
## [4.4.3] - 2022-05-26
### Added
- 修复弹幕库销毁时,自定义挂载输入框的残留
- 修复迷你模式的尺寸计算错误
- 修复弹幕库销毁时,自定义挂载输入框的残留
- 修复迷你模式的尺寸计算错误
## [4.4.2] - 2022-05-20
### Added
- 移除播放器 UI 初始化的 video:loadedmetadata 事件
- 弹幕库暴露 load 方法,用于切换弹幕源
- 添加 error 图标,出现于视频加载错误达到上限后
- 修复 setting 多次初始化时产生的 bug
- 移除播放器 UI 初始化的 video:loadedmetadata 事件
- 弹幕库暴露 load 方法,用于切换弹幕源
- 添加 error 图标,出现于视频加载错误达到上限后
- 修复 setting 多次初始化时产生的 bug
## [4.4.1] - 2022-05-17
### Added
- 添加 art.isInput 属性,当为 true 的时候不自动隐藏控制栏,如弹幕正在输入时
- 添加 art.isLock 属性,在移动端当为 true 的时候不能操作快进、开始和暂停
- 修复弹幕输入框的固定宽度 bug
- 设置面板支持 range 和 onRange 选项
- 添加 isAndroid 和 isIOS 工具函数
- 弹幕库添加 lockTime 选项,可自定义输入框的锁定时间
- 弹幕库添加 maxLength 选项,控制输入最大可输入字数
- 弹幕库添加 minWidth 选项,控制输入框最小宽度
- 弹幕库添加 maxWidth 选项,控制输入框最大宽度
- 弹幕库添加 mount 选项,控制输入框自定义挂载位置
- 弹幕库添加 beforeEmit 选项,控制弹幕发送前的校验
- 弹幕库添加 theme 选项,控制输入框自定义挂载的主题色
- 添加 art.isInput 属性,当为 true 的时候不自动隐藏控制栏,如弹幕正在输入时
- 添加 art.isLock 属性,在移动端当为 true 的时候不能操作快进、开始和暂停
- 修复弹幕输入框的固定宽度 bug
- 设置面板支持 range 和 onRange 选项
- 添加 isAndroid 和 isIOS 工具函数
- 弹幕库添加 lockTime 选项,可自定义输入框的锁定时间
- 弹幕库添加 maxLength 选项,控制输入最大可输入字数
- 弹幕库添加 minWidth 选项,控制输入框最小宽度
- 弹幕库添加 maxWidth 选项,控制输入框最大宽度
- 弹幕库添加 mount 选项,控制输入框自定义挂载位置
- 弹幕库添加 beforeEmit 选项,控制弹幕发送前的校验
- 弹幕库添加 theme 选项,控制输入框自定义挂载的主题色
## [4.4.0] - 2022-05-15
### Added
- 设置面板支持 switch 和 onSwitch 选项
- 弹幕库插件添加设置面板和弹幕发送
- 弹幕库的选项添加默认模式和默认字号
- 弹幕库字号支持按播放器的百分百
- 修复翻转设置的图标缺失
- 默认播放器获取了焦点后,不会自动隐藏控制栏
- 删除字幕开关按钮,需要自行配置字幕开关
- 设置面板支持 switch 和 onSwitch 选项
- 弹幕库插件添加设置面板和弹幕发送
- 弹幕库的选项添加默认模式和默认字号
- 弹幕库字号支持按播放器的百分百
- 修复翻转设置的图标缺失
- 默认播放器获取了焦点后,不会自动隐藏控制栏
- 删除字幕开关按钮,需要自行配置字幕开关
+1 -1
View File
@@ -32,4 +32,4 @@ npm run build
```bash
yarn build
```
```
+34
View File
@@ -22,6 +22,8 @@
<span>・</span>
<a href="https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku">弹幕演示</a>
<span>・</span>
<a href="./CHANGELOG_CN.md">更新记录</a>
<span>・</span>
</p>
<p align="center">
@@ -31,9 +33,11 @@
</p>
## Home Page
[https://artplayer.org](https://artplayer.org)
## Mobile Demo
<img src="./images/qrcode.png" width="250">
## Features
@@ -89,6 +93,36 @@ var art = new Artplayer({
});
```
## Plugins
- [artplayer-plugin-danmuku](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku)
- [artplayer-plugin-danmuku-mask](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js%0A./uncompiled/artplayer-plugin-danmuku-mask/index.js&example=danmuku.mask) (WIP)
- [artplayer-plugin-ads](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-ads/index.js&example=ads) (WIP)
- [artplayer-plugin-iframe](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-iframe/index.js&example=iframe)
- [artplayer-plugin-hls-control](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js%0A./uncompiled/artplayer-plugin-hls-control/index.js&example=hls.control)
- [artplayer-plugin-dash-control](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js%0A./uncompiled/artplayer-plugin-dash-control/index.js&example=dash.control)
- [artplayer-plugin-vtt-thumbnail](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vtt-thumbnail/index.js&example=vtt.thumbnail)
- [artplayer-plugin-multiple-subtitles](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-multiple-subtitles/index.js&example=multiple.subtitles)
- [artplayer-plugin-libass](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-libass/index.js&example=libass)
- [artplayer-plugin-chromecast](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-chromecast/index.js&example=chromecast)
- [artplayer-plugin-vast](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vast/index.js&example=vast)
- [artplayer-plugin-chapter](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-chapter/index.js&example=chapter)
- [artplayer-plugin-auto-thumbnail](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-auto-thumbnail/index.js&example=auto.thumbnail)
- [artplayer-plugin-ambilight](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-ambilight/index.js&example=ambilight)
## Libraries
- [hls.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js&example=hls)
- [dash.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js&example=dash)
- [flv.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js&example=flv)
- [mpegts.js](https://artplayer.org/?libs=https://cdn.jsdelivr.net/npm/mpegts.js@1.7.3/dist/mpegts.min.js&example=mpegts)
- [webtorrent.js](https://artplayer.org/?libs=https://cdn.jsdelivr.net/npm/webtorrent@1/webtorrent.min.js&example=webtorrent)
## Proxys
- [Canvas](https://artplayer.org/?libs=./uncompiled/artplayer-proxy-canvas/index.js&example=canvas)
- [WebAV](https://artplayer.org/?libs=./uncompiled/artplayer-proxy-webav/index.js&example=webav) (WIP)
## Changelog
[CHANGELOG_CN.md](./CHANGELOG_CN.md)
+1
View File
@@ -0,0 +1 @@
google.com, pub-8579453810848662, DIRECT, f08c47fec0942fa0
@@ -0,0 +1,10 @@
# MediaPipe JavaScript Solutions
MediaPipe offers out of the box solutions to use our ML technology with live and streaming media.
Visit us as [mediapipe.dev]()
See live demos of our JavaScript solutions at [code.mediapipe.dev/codepen]()
For more information on each of the solutions and how to use them, visit https://google.github.io/mediapipe/getting_started/javascript.
+111
View File
@@ -0,0 +1,111 @@
/**
* @fileoverview Declarations for the face tracking API.
*/
/**
* Version number of this package.
*/
export const VERSION: string;
/**
* We support several ways to get image inputs.
*/
export type InputImage = HTMLVideoElement | HTMLImageElement | HTMLCanvasElement;
/**
* Legal inputs.
*/
export interface InputMap {
image: InputImage;
}
/**
* GpuBuffers should all be compatible with Canvas' `drawImage`
*/
type GpuBuffer = HTMLCanvasElement | HTMLImageElement | ImageBitmap;
/**
* Possible results from SelfieSegmentation.
*/
export interface Results {
image: GpuBuffer;
segmentationMask: GpuBuffer;
}
/**
* Configurable options for SelfieSegmentation.
*/
export interface Options {
selfieMode?: boolean;
modelSelection?: number;
}
/**
* Listener for any results from SelfieSegmentation.
*/
export type ResultsListener = (results: Results) => (Promise<void>|void);
/**
* Contains all of the setup options to drive the face solution.
*/
export interface SelfieSegmentationConfig {
locateFile?: (path: string, prefix?: string) => string;
}
/**
* Declares the interface of SelfieSegmentation.
*/
declare interface SelfieSegmentationInterface {
close(): Promise<void>;
onResults(listener: ResultsListener): void;
initialize(): Promise<void>;
reset(): void;
send(inputs: InputMap): Promise<void>;
setOptions(options: Options): void;
}
/**
* Encapsulates the entire SelfieSegmentation solution. All that is needed from the
* developer is the source of the image data. The user will call `send`
* repeatedly and if a face is detected, then the user can receive callbacks
* with this metadata.
*/
export declare class SelfieSegmentation implements SelfieSegmentationInterface {
constructor(config?: SelfieSegmentationConfig);
/**
* Shuts down the object. Call before creating a new instance.
*/
close(): Promise<void>;
/**
* Registers a single callback that will carry any results that occur
* after calling Send().
*/
onResults(listener: ResultsListener): void;
/**
* Initializes the solution. This includes loading ML models and mediapipe
* configurations, as well as setting up potential listeners for metadata. If
* `initialize` is not called manually, then it will be called the first time
* the developer calls `send`.
*/
initialize(): Promise<void>;
/**
* Tells the graph to restart before the next frame is sent.
*/
reset(): void;
/**
* Processes a single frame of data, which depends on the options sent to the
* constructor.
*/
send(inputs: InputMap): Promise<void>;
/**
* Adjusts options in the solution. This may trigger a graph reload the next
* time the graph tries to run.
*/
setOptions(options: Options): void;
}
@@ -0,0 +1,27 @@
{
"name": "@mediapipe/selfie_segmentation",
"version": "0.1.1675465747",
"description": "Mediapipe Selfie Segmentation Solution",
"main": "selfie_segmentation.js",
"module": "selfie_segmentation.js",
"jsdelivr": "selfie_segmentation.js",
"unpkg": "selfie_segmentation.js",
"types": "index.d.ts",
"author": "mhays@google.com",
"license": "Apache-2.0",
"homepage": "https://google.github.io/mediapipe/solutions/selfie_segmentation",
"keywords": [ "AR", "ML", "Augmented" ],
"devDependencies": {
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
},
"browser": {
"node-fetch": false,
"util": false,
"crypto": false
},
"sideEffects" : []
}
@@ -0,0 +1,93 @@
(function(){/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
'use strict';var x;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var y=ca(this);function z(a,b){if(b)a:{var c=y;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}
z("Symbol",function(a){function b(g){if(this instanceof b)throw new TypeError("Symbol is not a constructor");return new c(d+(g||"")+"_"+e++,g)}function c(g,f){this.h=g;ba(this,"description",{configurable:!0,writable:!0,value:f})}if(a)return a;c.prototype.toString=function(){return this.h};var d="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",e=0;return b});
z("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=y[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&ba(d.prototype,a,{configurable:!0,writable:!0,value:function(){return da(aa(this))}})}return a});function da(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}
function A(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){if(!(a instanceof Array)){a=A(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var fa="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};z("Object.assign",function(a){return a||fa});
var ha="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ia;if("function"==typeof Object.setPrototypeOf)ia=Object.setPrototypeOf;else{var ja;a:{var ka={a:!0},la={};try{la.__proto__=ka;ja=la.a;break a}catch(a){}ja=!1}ia=ja?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ma=ia;
function na(a,b){a.prototype=ha(b.prototype);a.prototype.constructor=a;if(ma)ma(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.za=b.prototype}function oa(){this.m=!1;this.j=null;this.i=void 0;this.h=1;this.v=this.s=0;this.l=null}function pa(a){if(a.m)throw new TypeError("Generator is already running");a.m=!0}oa.prototype.u=function(a){this.i=a};
function qa(a,b){a.l={ma:b,na:!0};a.h=a.s||a.v}oa.prototype.return=function(a){this.l={return:a};this.h=this.v};function D(a,b,c){a.h=c;return{value:b}}function ra(a){this.h=new oa;this.i=a}function sa(a,b){pa(a.h);var c=a.h.j;if(c)return ta(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return ua(a)}
function ta(a,b,c,d){try{var e=b.call(a.h.j,c);if(!(e instanceof Object))throw new TypeError("Iterator result "+e+" is not an object");if(!e.done)return a.h.m=!1,e;var g=e.value}catch(f){return a.h.j=null,qa(a.h,f),ua(a)}a.h.j=null;d.call(a.h,g);return ua(a)}function ua(a){for(;a.h.h;)try{var b=a.i(a.h);if(b)return a.h.m=!1,{value:b.value,done:!1}}catch(c){a.h.i=void 0,qa(a.h,c)}a.h.m=!1;if(a.h.l){b=a.h.l;a.h.l=null;if(b.na)throw b.ma;return{value:b.return,done:!0}}return{value:void 0,done:!0}}
function va(a){this.next=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j.next,b,a.h.u):(a.h.u(b),b=ua(a));return b};this.throw=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j["throw"],b,a.h.u):(qa(a.h,b),b=ua(a));return b};this.return=function(b){return sa(a,b)};this[Symbol.iterator]=function(){return this}}function wa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})}
function E(a){return wa(new va(new ra(a)))}
z("Promise",function(a){function b(f){this.i=0;this.j=void 0;this.h=[];this.u=!1;var h=this.l();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.h=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.i=function(f){if(null==this.h){this.h=[];var h=this;this.j(function(){h.m()})}this.h.push(f)};var e=y.setTimeout;c.prototype.j=function(f){e(f,0)};c.prototype.m=function(){for(;this.h&&this.h.length;){var f=this.h;this.h=[];for(var h=0;h<f.length;++h){var k=
f[h];f[h]=null;try{k()}catch(l){this.l(l)}}}this.h=null};c.prototype.l=function(f){this.j(function(){throw f;})};b.prototype.l=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.I),reject:f(this.m)}};b.prototype.I=function(f){if(f===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(f instanceof b)this.L(f);else{a:switch(typeof f){case "object":var h=null!=f;break a;case "function":h=!0;break a;default:h=!1}h?this.F(f):this.s(f)}};
b.prototype.F=function(f){var h=void 0;try{h=f.then}catch(k){this.m(k);return}"function"==typeof h?this.M(h,f):this.s(f)};b.prototype.m=function(f){this.v(2,f)};b.prototype.s=function(f){this.v(1,f)};b.prototype.v=function(f,h){if(0!=this.i)throw Error("Cannot settle("+f+", "+h+"): Promise already settled in state"+this.i);this.i=f;this.j=h;2===this.i&&this.K();this.H()};b.prototype.K=function(){var f=this;e(function(){if(f.D()){var h=y.console;"undefined"!==typeof h&&h.error(f.j)}},1)};b.prototype.D=
function(){if(this.u)return!1;var f=y.CustomEvent,h=y.Event,k=y.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof f?f=new f("unhandledrejection",{cancelable:!0}):"function"===typeof h?f=new h("unhandledrejection",{cancelable:!0}):(f=y.document.createEvent("CustomEvent"),f.initCustomEvent("unhandledrejection",!1,!0,f));f.promise=this;f.reason=this.j;return k(f)};b.prototype.H=function(){if(null!=this.h){for(var f=0;f<this.h.length;++f)g.i(this.h[f]);this.h=null}};var g=new c;b.prototype.L=
function(f){var h=this.l();f.T(h.resolve,h.reject)};b.prototype.M=function(f,h){var k=this.l();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};b.prototype.then=function(f,h){function k(p,n){return"function"==typeof p?function(q){try{l(p(q))}catch(t){m(t)}}:n}var l,m,r=new b(function(p,n){l=p;m=n});this.T(k(f,l),k(h,m));return r};b.prototype.catch=function(f){return this.then(void 0,f)};b.prototype.T=function(f,h){function k(){switch(l.i){case 1:f(l.j);break;case 2:h(l.j);break;default:throw Error("Unexpected state: "+
l.i);}}var l=this;null==this.h?g.i(k):this.h.push(k);this.u=!0};b.resolve=d;b.reject=function(f){return new b(function(h,k){k(f)})};b.race=function(f){return new b(function(h,k){for(var l=A(f),m=l.next();!m.done;m=l.next())d(m.value).T(h,k)})};b.all=function(f){var h=A(f),k=h.next();return k.done?d([]):new b(function(l,m){function r(q){return function(t){p[q]=t;n--;0==n&&l(p)}}var p=[],n=0;do p.push(void 0),n++,d(k.value).T(r(p.length-1),m),k=h.next();while(!k.done)})};return b});
function xa(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}z("Array.prototype.keys",function(a){return a?a:function(){return xa(this,function(b){return b})}});
z("Array.prototype.fill",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});function F(a){return a?a:Array.prototype.fill}z("Int8Array.prototype.fill",F);z("Uint8Array.prototype.fill",F);z("Uint8ClampedArray.prototype.fill",F);z("Int16Array.prototype.fill",F);z("Uint16Array.prototype.fill",F);z("Int32Array.prototype.fill",F);
z("Uint32Array.prototype.fill",F);z("Float32Array.prototype.fill",F);z("Float64Array.prototype.fill",F);z("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});z("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var g=d[c];if(g===b||Object.is(g,b))return!0}return!1}});
z("String.prototype.includes",function(a){return a?a:function(b,c){if(null==this)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return-1!==this.indexOf(b,c||0)}});var ya=this||self;
function Aa(a,b){a=a.split(".");var c=ya;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function Ba(a){var b;a:{if(b=ya.navigator)if(b=b.userAgent)break a;b=""}return-1!=b.indexOf(a)};var Ca=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e="string"===typeof a?a.split(""):a,g=0;g<c;g++)g in e&&(d[g]=b.call(void 0,e[g],g,a));return d};var Da={},Ea=null;function Fa(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!="=.".indexOf(a[b-1])&&(c=-1!="=.".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),e=0;Ga(a,function(g){d[e++]=g});return e!==c?d.subarray(0,e):d}
function Ga(a,b){function c(k){for(;d<a.length;){var l=a.charAt(d++),m=Ea[l];if(null!=m)return m;if(!/^[\s\xa0]*$/.test(l))throw Error("Unknown base64 encoding at char: "+l);}return k}Ha();for(var d=0;;){var e=c(-1),g=c(0),f=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|g>>4);64!=f&&(b(g<<4&240|f>>2),64!=h&&b(f<<6&192|h))}}
function Ha(){if(!Ea){Ea={};for(var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"],c=0;5>c;c++){var d=a.concat(b[c].split(""));Da[c]=d;for(var e=0;e<d.length;e++){var g=d[e];void 0===Ea[g]&&(Ea[g]=e)}}}};var Ia="undefined"!==typeof Uint8Array,Ja=!(Ba("Trident")||Ba("MSIE"))&&"function"===typeof ya.btoa;
function Ka(a){if(!Ja){var b;void 0===b&&(b=0);Ha();b=Da[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||"",e=0,g=0;e<a.length-2;e+=3){var f=a[e],h=a[e+1],k=a[e+2],l=b[f>>2];f=b[(f&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[g++]=l+f+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[g]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join("")}for(b="";10240<a.length;)b+=String.fromCharCode.apply(null,a.subarray(0,10240)),a=a.subarray(10240);b+=String.fromCharCode.apply(null,
a);return btoa(b)}var La=RegExp("[-_.]","g");function Ma(a){switch(a){case "-":return"+";case "_":return"/";case ".":return"=";default:return""}}function Na(a){if(!Ja)return Fa(a);La.test(a)&&(a=a.replace(La,Ma));a=atob(a);for(var b=new Uint8Array(a.length),c=0;c<a.length;c++)b[c]=a.charCodeAt(c);return b}var Oa;function Pa(){return Oa||(Oa=new Uint8Array(0))}var Qa={};var Ra="function"===typeof Uint8Array.prototype.slice,G=0,H=0;function Sa(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/4294967296);b&&(c=A(Ta(c,a)),b=c.next().value,a=c.next().value,c=b);G=c>>>0;H=a>>>0}var Ua="function"===typeof BigInt;function Ta(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};function Va(a,b){this.i=a>>>0;this.h=b>>>0}
function Wa(a){if(!a)return Xa||(Xa=new Va(0,0));if(!/^-?\d+$/.test(a))return null;if(16>a.length)Sa(Number(a));else if(Ua)a=BigInt(a),G=Number(a&BigInt(4294967295))>>>0,H=Number(a>>BigInt(32)&BigInt(4294967295));else{var b=+("-"===a[0]);H=G=0;for(var c=a.length,d=b,e=(c-b)%6+b;e<=c;d=e,e+=6)d=Number(a.slice(d,e)),H*=1E6,G=1E6*G+d,4294967296<=G&&(H+=G/4294967296|0,G%=4294967296);b&&(b=A(Ta(G,H)),a=b.next().value,b=b.next().value,G=a,H=b)}return new Va(G,H)}var Xa;function Ya(a,b){return Error("Invalid wire type: "+a+" (at position "+b+")")}function Za(){return Error("Failed to read varint, encoding is invalid.")}function $a(a,b){return Error("Tried to read past the end of the data "+b+" > "+a)};function K(){throw Error("Invalid UTF8");}function ab(a,b){b=String.fromCharCode.apply(null,b);return null==a?b:a+b}var bb=void 0,cb,db="undefined"!==typeof TextDecoder,eb,fb="undefined"!==typeof TextEncoder;var gb;function hb(a){if(a!==Qa)throw Error("illegal external caller");}function ib(a,b){hb(b);this.V=a;if(null!=a&&0===a.length)throw Error("ByteString should be constructed with non-empty values");}function jb(){return gb||(gb=new ib(null,Qa))}function kb(a){hb(Qa);var b=a.V;b=null==b||Ia&&null!=b&&b instanceof Uint8Array?b:"string"===typeof b?Na(b):null;return null==b?b:a.V=b};function lb(a){if("string"===typeof a)return{buffer:Na(a),C:!1};if(Array.isArray(a))return{buffer:new Uint8Array(a),C:!1};if(a.constructor===Uint8Array)return{buffer:a,C:!1};if(a.constructor===ArrayBuffer)return{buffer:new Uint8Array(a),C:!1};if(a.constructor===ib)return{buffer:kb(a)||Pa(),C:!0};if(a instanceof Uint8Array)return{buffer:new Uint8Array(a.buffer,a.byteOffset,a.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers");
};function mb(a,b){this.i=null;this.m=!1;this.h=this.j=this.l=0;nb(this,a,b)}function nb(a,b,c){c=void 0===c?{}:c;a.S=void 0===c.S?!1:c.S;b&&(b=lb(b),a.i=b.buffer,a.m=b.C,a.l=0,a.j=a.i.length,a.h=a.l)}mb.prototype.reset=function(){this.h=this.l};function L(a,b){a.h=b;if(b>a.j)throw $a(a.j,b);}
function ob(a){var b=a.i,c=a.h,d=b[c++],e=d&127;if(d&128&&(d=b[c++],e|=(d&127)<<7,d&128&&(d=b[c++],e|=(d&127)<<14,d&128&&(d=b[c++],e|=(d&127)<<21,d&128&&(d=b[c++],e|=d<<28,d&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128)))))throw Za();L(a,c);return e}function pb(a,b){if(0>b)throw Error("Tried to read a negative byte length: "+b);var c=a.h,d=c+b;if(d>a.j)throw $a(b,a.j-c);a.h=d;return c}var qb=[];function rb(){this.h=[]}rb.prototype.length=function(){return this.h.length};rb.prototype.end=function(){var a=this.h;this.h=[];return a};function sb(a,b,c){for(;0<c||127<b;)a.h.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.h.push(b)}function M(a,b){for(;127<b;)a.h.push(b&127|128),b>>>=7;a.h.push(b)};function tb(a,b){if(qb.length){var c=qb.pop();nb(c,a,b);a=c}else a=new mb(a,b);this.h=a;this.j=this.h.h;this.i=this.l=-1;this.setOptions(b)}tb.prototype.setOptions=function(a){a=void 0===a?{}:a;this.ca=void 0===a.ca?!1:a.ca};tb.prototype.reset=function(){this.h.reset();this.j=this.h.h;this.i=this.l=-1};
function ub(a){var b=a.h;if(b.h==b.j)return!1;a.j=a.h.h;var c=ob(a.h)>>>0;b=c>>>3;c&=7;if(!(0<=c&&5>=c))throw Ya(c,a.j);if(1>b)throw Error("Invalid field number: "+b+" (at position "+a.j+")");a.l=b;a.i=c;return!0}
function vb(a){switch(a.i){case 0:if(0!=a.i)vb(a);else a:{a=a.h;for(var b=a.h,c=b+10,d=a.i;b<c;)if(0===(d[b++]&128)){L(a,b);break a}throw Za();}break;case 1:a=a.h;L(a,a.h+8);break;case 2:2!=a.i?vb(a):(b=ob(a.h)>>>0,a=a.h,L(a,a.h+b));break;case 5:a=a.h;L(a,a.h+4);break;case 3:b=a.l;do{if(!ub(a))throw Error("Unmatched start-group tag: stream EOF");if(4==a.i){if(a.l!=b)throw Error("Unmatched end-group tag");break}vb(a)}while(1);break;default:throw Ya(a.i,a.j);}}var wb=[];function xb(){this.j=[];this.i=0;this.h=new rb}function N(a,b){0!==b.length&&(a.j.push(b),a.i+=b.length)}function yb(a,b){if(b=b.R){N(a,a.h.end());for(var c=0;c<b.length;c++)N(a,kb(b[c])||Pa())}};var O="function"===typeof Symbol&&"symbol"===typeof Symbol()?Symbol():void 0;function P(a,b){if(O)return a[O]|=b;if(void 0!==a.A)return a.A|=b;Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}});return b}function zb(a,b){O?a[O]&&(a[O]&=~b):void 0!==a.A&&(a.A&=~b)}function Q(a){var b;O?b=a[O]:b=a.A;return null==b?0:b}function R(a,b){O?a[O]=b:void 0!==a.A?a.A=b:Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}})}
function Ab(a){P(a,1);return a}function Bb(a,b){R(b,(a|0)&-51)}function Cb(a,b){R(b,(a|18)&-41)};var Db={};function Eb(a){return null!==a&&"object"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var Fb,Gb=[];R(Gb,23);Fb=Object.freeze(Gb);function Hb(a){if(Q(a.o)&2)throw Error("Cannot mutate an immutable Message");}function Ib(a){var b=a.length;(b=b?a[b-1]:void 0)&&Eb(b)?b.g=1:(b={},a.push((b.g=1,b)))};function Jb(a){var b=a.i+a.G;return a.B||(a.B=a.o[b]={})}function S(a,b){return-1===b?null:b>=a.i?a.B?a.B[b]:void 0:a.o[b+a.G]}function U(a,b,c,d){Hb(a);Kb(a,b,c,d)}function Kb(a,b,c,d){a.j&&(a.j=void 0);b>=a.i||d?Jb(a)[b]=c:(a.o[b+a.G]=c,(a=a.B)&&b in a&&delete a[b])}function Lb(a,b,c,d){var e=S(a,b);Array.isArray(e)||(e=Fb);var g=Q(e);g&1||Ab(e);if(d)g&2||P(e,2),c&1||Object.freeze(e);else{d=!(c&2);var f=g&2;c&1||!f?d&&g&16&&!f&&zb(e,16):(e=Ab(Array.prototype.slice.call(e)),Kb(a,b,e))}return e}
function Mb(a,b){var c=S(a,b);var d=null==c?c:"number"===typeof c||"NaN"===c||"Infinity"===c||"-Infinity"===c?Number(c):void 0;null!=d&&d!==c&&Kb(a,b,d);return d}
function Nb(a,b,c,d,e){a.h||(a.h={});var g=a.h[c],f=Lb(a,c,3,e);if(!g){var h=f;g=[];var k=!!(Q(a.o)&16);f=!!(Q(h)&2);var l=h;!e&&f&&(h=Array.prototype.slice.call(h));for(var m=f,r=0;r<h.length;r++){var p=h[r];var n=b,q=!1;q=void 0===q?!1:q;p=Array.isArray(p)?new n(p):q?new n:void 0;if(void 0!==p){n=p.o;var t=q=Q(n);f&&(t|=2);k&&(t|=16);t!=q&&R(n,t);n=t;m=m||!!(2&n);g.push(p)}}a.h[c]=g;k=Q(h);b=k|33;b=m?b&-9:b|8;k!=b&&(m=h,Object.isFrozen(m)&&(m=Array.prototype.slice.call(m)),R(m,b),h=m);l!==h&&Kb(a,
c,h);(e||d&&f)&&P(g,2);d&&Object.freeze(g);return g}e||(e=Object.isFrozen(g),d&&!e?Object.freeze(g):!d&&e&&(g=Array.prototype.slice.call(g),a.h[c]=g));return g}function Ob(a,b,c){var d=!!(Q(a.o)&2);b=Nb(a,b,c,d,d);a=Lb(a,c,3,d);if(!(d||Q(a)&8)){for(d=0;d<b.length;d++){c=b[d];if(Q(c.o)&2){var e=Pb(c,!1);e.j=c}else e=c;c!==e&&(b[d]=e,a[d]=e.o)}P(a,8)}return b}
function V(a,b,c){if(null!=c&&"number"!==typeof c)throw Error("Value of float/double field must be a number|null|undefined, found "+typeof c+": "+c);U(a,b,c)}function Qb(a,b,c,d,e){Hb(a);var g=Nb(a,c,b,!1,!1);c=null!=d?d:new c;a=Lb(a,b,2,!1);void 0!=e?(g.splice(e,0,c),a.splice(e,0,c.o)):(g.push(c),a.push(c.o));c.C()&&zb(a,8);return c}function Rb(a,b){return null==a?b:a}function W(a,b,c){c=void 0===c?0:c;return Rb(Mb(a,b),c)};var Sb;function Tb(a){switch(typeof a){case "number":return isFinite(a)?a:String(a);case "object":if(a)if(Array.isArray(a)){if(0!==(Q(a)&128))return a=Array.prototype.slice.call(a),Ib(a),a}else{if(Ia&&null!=a&&a instanceof Uint8Array)return Ka(a);if(a instanceof ib){var b=a.V;return null==b?"":"string"===typeof b?b:a.V=Ka(b)}}}return a};function Ub(a,b,c,d){if(null!=a){if(Array.isArray(a))a=Vb(a,b,c,void 0!==d);else if(Eb(a)){var e={},g;for(g in a)e[g]=Ub(a[g],b,c,d);a=e}else a=b(a,d);return a}}function Vb(a,b,c,d){var e=Q(a);d=d?!!(e&16):void 0;a=Array.prototype.slice.call(a);for(var g=0;g<a.length;g++)a[g]=Ub(a[g],b,c,d);c(e,a);return a}function Wb(a){return a.ja===Db?a.toJSON():Tb(a)}function Xb(a,b){a&128&&Ib(b)};function Yb(a,b,c){c=void 0===c?Cb:c;if(null!=a){if(Ia&&a instanceof Uint8Array)return a.length?new ib(new Uint8Array(a),Qa):jb();if(Array.isArray(a)){var d=Q(a);if(d&2)return a;if(b&&!(d&32)&&(d&16||0===d))return R(a,d|2),a;a=Vb(a,Yb,d&4?Cb:c,!0);b=Q(a);b&4&&b&2&&Object.freeze(a);return a}return a.ja===Db?Zb(a):a}}
function $b(a,b,c,d,e,g,f){if(a=a.h&&a.h[c]){d=Q(a);d&2?d=a:(g=Ca(a,Zb),Cb(d,g),Object.freeze(g),d=g);Hb(b);f=null==d?Fb:Ab([]);if(null!=d){g=!!d.length;for(a=0;a<d.length;a++){var h=d[a];g=g&&!(Q(h.o)&2);f[a]=h.o}g=(g?8:0)|1;a=Q(f);(a&g)!==g&&(Object.isFrozen(f)&&(f=Array.prototype.slice.call(f)),R(f,a|g));b.h||(b.h={});b.h[c]=d}else b.h&&(b.h[c]=void 0);Kb(b,c,f,e)}else U(b,c,Yb(d,g,f),e)}function Zb(a){if(Q(a.o)&2)return a;a=Pb(a,!0);P(a.o,2);return a}
function Pb(a,b){var c=a.o,d=[];P(d,16);var e=a.constructor.h;e&&d.push(e);e=a.B;if(e){d.length=c.length;d.fill(void 0,d.length,c.length);var g={};d[d.length-1]=g}0!==(Q(c)&128)&&Ib(d);b=b||a.C()?Cb:Bb;g=a.constructor;Sb=d;d=new g(d);Sb=void 0;a.R&&(d.R=a.R.slice());g=!!(Q(c)&16);for(var f=e?c.length-1:c.length,h=0;h<f;h++)$b(a,d,h-a.G,c[h],!1,g,b);if(e)for(var k in e)$b(a,d,+k,e[k],!0,g,b);return d};function X(a,b,c){null==a&&(a=Sb);Sb=void 0;var d=this.constructor.i||0,e=0<d,g=this.constructor.h,f=!1;if(null==a){a=g?[g]:[];var h=48;var k=!0;e&&(d=0,h|=128);R(a,h)}else{if(!Array.isArray(a))throw Error();if(g&&g!==a[0])throw Error();var l=h=P(a,0);if(k=0!==(16&l))(f=0!==(32&l))||(l|=32);if(e)if(128&l)d=0;else{if(0<a.length){var m=a[a.length-1];if(Eb(m)&&"g"in m){d=0;l|=128;delete m.g;var r=!0,p;for(p in m){r=!1;break}r&&a.pop()}}}else if(128&l)throw Error();h!==l&&R(a,l)}this.G=(g?0:-1)-d;this.h=
void 0;this.o=a;a:{g=this.o.length;d=g-1;if(g&&(g=this.o[d],Eb(g))){this.B=g;this.i=d-this.G;break a}void 0!==b&&-1<b?(this.i=Math.max(b,d+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!e&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(c){b=k&&!f&&!0;e=this.i;var n;for(k=0;k<c.length;k++)f=c[k],f<e?(f+=this.G,(d=a[f])?ac(d,b):a[f]=Fb):(n||(n=Jb(this)),(d=n[f])?ac(d,b):n[f]=Fb)}}
X.prototype.toJSON=function(){return Vb(this.o,Wb,Xb)};X.prototype.C=function(){return!!(Q(this.o)&2)};function ac(a,b){if(Array.isArray(a)){var c=Q(a),d=1;!b||c&2||(d|=16);(c&d)!==d&&R(a,c|d)}}X.prototype.ja=Db;X.prototype.toString=function(){return this.o.toString()};function bc(a,b,c){if(c){var d={},e;for(e in c){var g=c[e],f=g.ra;f||(d.J=g.xa||g.oa.W,g.ia?(d.aa=cc(g.ia),f=function(h){return function(k,l,m){return h.J(k,l,m,h.aa)}}(d)):g.ka?(d.Z=dc(g.da.P,g.ka),f=function(h){return function(k,l,m){return h.J(k,l,m,h.Z)}}(d)):f=d.J,g.ra=f);f(b,a,g.da);d={J:d.J,aa:d.aa,Z:d.Z}}}yb(b,a)}var ec=Symbol();function fc(a,b,c){return a[ec]||(a[ec]=function(d,e){return b(d,e,c)})}
function gc(a){var b=a[ec];if(!b){var c=hc(a);b=function(d,e){return ic(d,e,c)};a[ec]=b}return b}function jc(a){var b=a.ia;if(b)return gc(b);if(b=a.wa)return fc(a.da.P,b,a.ka)}function kc(a){var b=jc(a),c=a.da,d=a.oa.U;return b?function(e,g){return d(e,g,c,b)}:function(e,g){return d(e,g,c)}}function lc(a,b){var c=a[b];"function"==typeof c&&0===c.length&&(c=c(),a[b]=c);return Array.isArray(c)&&(mc in c||nc in c||0<c.length&&"function"==typeof c[0])?c:void 0}
function oc(a,b,c,d,e,g){b.P=a[0];var f=1;if(a.length>f&&"number"!==typeof a[f]){var h=a[f++];c(b,h)}for(;f<a.length;){c=a[f++];for(var k=f+1;k<a.length&&"number"!==typeof a[k];)k++;h=a[f++];k-=f;switch(k){case 0:d(b,c,h);break;case 1:(k=lc(a,f))?(f++,e(b,c,h,k)):d(b,c,h,a[f++]);break;case 2:k=f++;k=lc(a,k);e(b,c,h,k,a[f++]);break;case 3:g(b,c,h,a[f++],a[f++],a[f++]);break;case 4:g(b,c,h,a[f++],a[f++],a[f++],a[f++]);break;default:throw Error("unexpected number of binary field arguments: "+k);}}return b}
var pc=Symbol();function cc(a){var b=a[pc];if(!b){var c=qc(a);b=function(d,e){return rc(d,e,c)};a[pc]=b}return b}function dc(a,b){var c=a[pc];c||(c=function(d,e){return bc(d,e,b)},a[pc]=c);return c}var nc=Symbol();function sc(a,b){a.push(b)}function tc(a,b,c){a.push(b,c.W)}function uc(a,b,c,d){var e=cc(d),g=qc(d).P,f=c.W;a.push(b,function(h,k,l){return f(h,k,l,g,e)})}function vc(a,b,c,d,e,g){var f=dc(d,g),h=c.W;a.push(b,function(k,l,m){return h(k,l,m,d,f)})}
function qc(a){var b=a[nc];if(b)return b;b=oc(a,a[nc]=[],sc,tc,uc,vc);mc in a&&nc in a&&(a.length=0);return b}var mc=Symbol();function wc(a,b){a[0]=b}function xc(a,b,c,d){var e=c.U;a[b]=d?function(g,f,h){return e(g,f,h,d)}:e}function yc(a,b,c,d,e){var g=c.U,f=gc(d),h=hc(d).P;a[b]=function(k,l,m){return g(k,l,m,h,f,e)}}function zc(a,b,c,d,e,g,f){var h=c.U,k=fc(d,e,g);a[b]=function(l,m,r){return h(l,m,r,d,k,f)}}
function hc(a){var b=a[mc];if(b)return b;b=oc(a,a[mc]={},wc,xc,yc,zc);mc in a&&nc in a&&(a.length=0);return b}
function ic(a,b,c){for(;ub(b)&&4!=b.i;){var d=b.l,e=c[d];if(!e){var g=c[0];g&&(g=g[d])&&(e=c[d]=kc(g))}if(!e||!e(b,a,d)){e=b;d=a;g=e.j;vb(e);var f=e;if(!f.ca){e=f.h.h-g;f.h.h=g;f=f.h;if(0==e)e=jb();else{g=pb(f,e);if(f.S&&f.m)e=f.i.subarray(g,g+e);else{f=f.i;var h=g;e=g+e;e=h===e?Pa():Ra?f.slice(h,e):new Uint8Array(f.subarray(h,e))}e=0==e.length?jb():new ib(e,Qa)}(g=d.R)?g.push(e):d.R=[e]}}}return a}
function rc(a,b,c){for(var d=c.length,e=1==d%2,g=e?1:0;g<d;g+=2)(0,c[g+1])(b,a,c[g]);bc(a,b,e?c[0]:void 0)}function Ac(a,b){return{U:a,W:b}}
var Y=Ac(function(a,b,c){if(5!==a.i)return!1;a=a.h;var d=a.i,e=a.h,g=d[e];var f=d[e+1];var h=d[e+2];d=d[e+3];L(a,a.h+4);f=(g<<0|f<<8|h<<16|d<<24)>>>0;a=2*(f>>31)+1;g=f>>>23&255;f&=8388607;U(b,c,255==g?f?NaN:Infinity*a:0==g?a*Math.pow(2,-149)*f:a*Math.pow(2,g-150)*(f+Math.pow(2,23)));return!0},function(a,b,c){b=Mb(b,c);if(null!=b){M(a.h,8*c+5);a=a.h;var d=+b;0===d?0<1/d?G=H=0:(H=0,G=2147483648):isNaN(d)?(H=0,G=2147483647):(d=(c=0>d?-2147483648:0)?-d:d,3.4028234663852886E38<d?(H=0,G=(c|2139095040)>>>
0):1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),H=0,G=(c|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d),16777216<=d&&++b,H=0,G=(c|b+127<<23|d&8388607)>>>0));c=G;a.h.push(c>>>0&255);a.h.push(c>>>8&255);a.h.push(c>>>16&255);a.h.push(c>>>24&255)}}),Bc=Ac(function(a,b,c){if(0!==a.i)return!1;var d=a.h,e=0,g=a=0,f=d.i,h=d.h;do{var k=f[h++];e|=(k&127)<<g;g+=7}while(32>g&&k&128);32<g&&(a|=(k&127)>>4);for(g=3;32>g&&k&128;g+=7)k=f[h++],a|=(k&127)<<g;L(d,
h);if(128>k){d=e>>>0;k=a>>>0;if(a=k&2147483648)d=~d+1>>>0,k=~k>>>0,0==d&&(k=k+1>>>0);d=4294967296*k+(d>>>0)}else throw Za();U(b,c,a?-d:d);return!0},function(a,b,c){b=S(b,c);null!=b&&("string"===typeof b&&Wa(b),null!=b&&(M(a.h,8*c),"number"===typeof b?(a=a.h,Sa(b),sb(a,G,H)):(c=Wa(b),sb(a.h,c.i,c.h))))}),Cc=Ac(function(a,b,c){if(0!==a.i)return!1;U(b,c,ob(a.h));return!0},function(a,b,c){b=S(b,c);if(null!=b&&null!=b)if(M(a.h,8*c),a=a.h,c=b,0<=c)M(a,c);else{for(b=0;9>b;b++)a.h.push(c&127|128),c>>=7;a.h.push(1)}}),
Dc=Ac(function(a,b,c){if(2!==a.i)return!1;var d=ob(a.h)>>>0;a=a.h;var e=pb(a,d);a=a.i;if(db){var g=a,f;(f=cb)||(f=cb=new TextDecoder("utf-8",{fatal:!0}));a=e+d;g=0===e&&a===g.length?g:g.subarray(e,a);try{var h=f.decode(g)}catch(r){if(void 0===bb){try{f.decode(new Uint8Array([128]))}catch(p){}try{f.decode(new Uint8Array([97])),bb=!0}catch(p){bb=!1}}!bb&&(cb=void 0);throw r;}}else{h=e;d=h+d;e=[];for(var k=null,l,m;h<d;)l=a[h++],128>l?e.push(l):224>l?h>=d?K():(m=a[h++],194>l||128!==(m&192)?(h--,K()):
e.push((l&31)<<6|m&63)):240>l?h>=d-1?K():(m=a[h++],128!==(m&192)||224===l&&160>m||237===l&&160<=m||128!==((g=a[h++])&192)?(h--,K()):e.push((l&15)<<12|(m&63)<<6|g&63)):244>=l?h>=d-2?K():(m=a[h++],128!==(m&192)||0!==(l<<28)+(m-144)>>30||128!==((g=a[h++])&192)||128!==((f=a[h++])&192)?(h--,K()):(l=(l&7)<<18|(m&63)<<12|(g&63)<<6|f&63,l-=65536,e.push((l>>10&1023)+55296,(l&1023)+56320))):K(),8192<=e.length&&(k=ab(k,e),e.length=0);h=ab(k,e)}U(b,c,h);return!0},function(a,b,c){b=S(b,c);if(null!=b){var d=!1;
d=void 0===d?!1:d;if(fb){if(d&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(b))throw Error("Found an unpaired surrogate");b=(eb||(eb=new TextEncoder)).encode(b)}else{for(var e=0,g=new Uint8Array(3*b.length),f=0;f<b.length;f++){var h=b.charCodeAt(f);if(128>h)g[e++]=h;else{if(2048>h)g[e++]=h>>6|192;else{if(55296<=h&&57343>=h){if(56319>=h&&f<b.length){var k=b.charCodeAt(++f);if(56320<=k&&57343>=k){h=1024*(h-55296)+k-56320+65536;g[e++]=h>>18|240;g[e++]=h>>12&63|128;
g[e++]=h>>6&63|128;g[e++]=h&63|128;continue}else f--}if(d)throw Error("Found an unpaired surrogate");h=65533}g[e++]=h>>12|224;g[e++]=h>>6&63|128}g[e++]=h&63|128}}b=e===g.length?g:g.subarray(0,e)}M(a.h,8*c+2);M(a.h,b.length);N(a,a.h.end());N(a,b)}}),Ec=Ac(function(a,b,c,d,e){if(2!==a.i)return!1;b=Qb(b,c,d);c=a.h.j;d=ob(a.h)>>>0;var g=a.h.h+d,f=g-c;0>=f&&(a.h.j=g,e(b,a,void 0,void 0,void 0),f=g-a.h.h);if(f)throw Error("Message parsing ended unexpectedly. Expected to read "+(d+" bytes, instead read "+
(d-f)+" bytes, either the data ended unexpectedly or the message misreported its own length"));a.h.h=g;a.h.j=c;return!0},function(a,b,c,d,e){b=Ob(b,d,c);if(null!=b)for(d=0;d<b.length;d++){var g=a;M(g.h,8*c+2);var f=g.h.end();N(g,f);f.push(g.i);g=f;e(b[d],a);f=a;var h=g.pop();for(h=f.i+f.h.length()-h;127<h;)g.push(h&127|128),h>>>=7,f.i++;g.push(h);f.i++}});function Fc(a){return function(b,c){a:{if(wb.length){var d=wb.pop();d.setOptions(c);nb(d.h,b,c);b=d}else b=new tb(b,c);try{var e=hc(a);var g=ic(new e.P,b,e);break a}finally{e=b.h,e.i=null,e.m=!1,e.l=0,e.j=0,e.h=0,e.S=!1,b.l=-1,b.i=-1,100>wb.length&&wb.push(b)}g=void 0}return g}}function Gc(a){return function(){var b=new xb;rc(this,b,qc(a));N(b,b.h.end());for(var c=new Uint8Array(b.i),d=b.j,e=d.length,g=0,f=0;f<e;f++){var h=d[f];c.set(h,g);g+=h.length}b.j=[c];return c}};function Z(a){X.call(this,a)}na(Z,X);var Hc=[Z,1,Cc,2,Y,3,Dc,4,Dc];Z.prototype.l=Gc(Hc);function Ic(a){X.call(this,a,-1,Jc)}na(Ic,X);Ic.prototype.addClassification=function(a,b){Qb(this,1,Z,a,b);return this};var Jc=[1],Kc=Fc([Ic,1,Ec,Hc]);function Lc(a){X.call(this,a)}na(Lc,X);var Mc=[Lc,1,Y,2,Y,3,Y,4,Y,5,Y];Lc.prototype.l=Gc(Mc);function Nc(a){X.call(this,a,-1,Oc)}na(Nc,X);var Oc=[1],Pc=Fc([Nc,1,Ec,Mc]);function Qc(a){X.call(this,a)}na(Qc,X);var Rc=[Qc,1,Y,2,Y,3,Y,4,Y,5,Y,6,Bc],Sc=Fc(Rc);Qc.prototype.l=Gc(Rc);function Tc(a,b,c){c=a.createShader(0===c?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+a.getShaderInfoLog(c));return c};function Uc(a){return Ob(a,Z,1).map(function(b){var c=S(b,1);return{index:null==c?0:c,qa:W(b,2),label:null!=S(b,3)?Rb(S(b,3),""):void 0,displayName:null!=S(b,4)?Rb(S(b,4),""):void 0}})};function Vc(a){return{x:W(a,1),y:W(a,2),z:W(a,3),visibility:null!=Mb(a,4)?W(a,4):void 0}};function Wc(a,b){this.i=a;this.h=b;this.m=0}
function Xc(a,b,c){Yc(a,b);if("function"===typeof a.h.canvas.transferToImageBitmap)return Promise.resolve(a.h.canvas.transferToImageBitmap());if(c)return Promise.resolve(a.h.canvas);if("function"===typeof createImageBitmap)return createImageBitmap(a.h.canvas);void 0===a.j&&(a.j=document.createElement("canvas"));return new Promise(function(d){a.j.height=a.h.canvas.height;a.j.width=a.h.canvas.width;a.j.getContext("2d",{}).drawImage(a.h.canvas,0,0,a.h.canvas.width,a.h.canvas.height);d(a.j)})}
function Yc(a,b){var c=a.h;if(void 0===a.s){var d=Tc(c,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",0),e=Tc(c,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),g=c.createProgram();c.attachShader(g,d);c.attachShader(g,e);c.linkProgram(g);if(!c.getProgramParameter(g,c.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+
c.getProgramInfoLog(g));d=a.s=g;c.useProgram(d);e=c.getUniformLocation(d,"sampler0");a.l={O:c.getAttribLocation(d,"aVertex"),N:c.getAttribLocation(d,"aTex"),ya:e};a.v=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.v);c.enableVertexAttribArray(a.l.O);c.vertexAttribPointer(a.l.O,2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);a.u=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.u);c.enableVertexAttribArray(a.l.N);c.vertexAttribPointer(a.l.N,
2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);c.uniform1i(e,0)}d=a.l;c.useProgram(a.s);c.canvas.width=b.width;c.canvas.height=b.height;c.viewport(0,0,b.width,b.height);c.activeTexture(c.TEXTURE0);a.i.bindTexture2d(b.glName);c.enableVertexAttribArray(d.O);c.bindBuffer(c.ARRAY_BUFFER,a.v);c.vertexAttribPointer(d.O,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,a.u);c.vertexAttribPointer(d.N,
2,c.FLOAT,!1,0,0);c.bindFramebuffer(c.DRAW_FRAMEBUFFER?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER,null);c.clearColor(0,0,0,0);c.clear(c.COLOR_BUFFER_BIT);c.colorMask(!0,!0,!0,!0);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(d.O);c.disableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,null);a.i.bindTexture2d(0)}function Zc(a){this.h=a};var $c=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function ad(a,b){return b+a}function bd(a,b){window[a]=b}function cd(a){var b=document.createElement("script");b.setAttribute("src",a);b.setAttribute("crossorigin","anonymous");return new Promise(function(c){b.addEventListener("load",function(){c()},!1);b.addEventListener("error",function(){c()},!1);document.body.appendChild(b)})}
function dd(){return E(function(a){switch(a.h){case 1:return a.s=2,D(a,WebAssembly.instantiate($c),4);case 4:a.h=3;a.s=0;break;case 2:return a.s=0,a.l=null,a.return(!1);case 3:return a.return(!0)}})}
function ed(a){this.h=a;this.listeners={};this.l={};this.L={};this.s={};this.v={};this.M=this.u=this.ga=!0;this.I=Promise.resolve();this.fa="";this.D={};this.locateFile=a&&a.locateFile||ad;if("object"===typeof window)var b=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else if("undefined"!==typeof location)b=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/";else throw Error("solutions can only be loaded on a web page or in a web worker");
this.ha=b;if(a.options){b=A(Object.keys(a.options));for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=a.options[c].default;void 0!==d&&(this.l[c]="function"===typeof d?d():d)}}}x=ed.prototype;x.close=function(){this.j&&this.j.delete();return Promise.resolve()};
function fd(a){var b,c,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!a.ga)return p.return();b=void 0===a.h.files?[]:"function"===typeof a.h.files?a.h.files(a.l):a.h.files;return D(p,dd(),2);case 2:c=p.i;if("object"===typeof window)return bd("createMediapipeSolutionsWasm",{locateFile:a.locateFile}),bd("createMediapipeSolutionsPackedAssets",{locateFile:a.locateFile}),f=b.filter(function(n){return void 0!==n.data}),h=b.filter(function(n){return void 0===n.data}),k=Promise.all(f.map(function(n){var q=
gd(a,n.url);if(void 0!==n.path){var t=n.path;q=q.then(function(w){a.overrideFile(t,w);return Promise.resolve(w)})}return q})),l=Promise.all(h.map(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c?cd(a.locateFile(n.url,a.ha)):Promise.resolve()})).then(function(){var n,q,t;return E(function(w){if(1==w.h)return n=window.createMediapipeSolutionsWasm,q=window.createMediapipeSolutionsPackedAssets,t=a,D(w,n(q),2);t.i=w.i;w.h=0})}),m=function(){return E(function(n){a.h.graph&&a.h.graph.url?n=D(n,
gd(a,a.h.graph.url),0):(n.h=0,n=void 0);return n})}(),D(p,Promise.all([l,k,m]),7);if("function"!==typeof importScripts)throw Error("solutions can only be loaded on a web page or in a web worker");d=b.filter(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c}).map(function(n){return a.locateFile(n.url,a.ha)});importScripts.apply(null,ea(d));e=a;return D(p,createMediapipeSolutionsWasm(Module),6);case 6:e.i=p.i;a.m=new OffscreenCanvas(1,1);a.i.canvas=a.m;g=a.i.GL.createContext(a.m,{antialias:!1,
alpha:!1,va:"undefined"!==typeof WebGL2RenderingContext?2:1});a.i.GL.makeContextCurrent(g);p.h=4;break;case 7:a.m=document.createElement("canvas");r=a.m.getContext("webgl2",{});if(!r&&(r=a.m.getContext("webgl",{}),!r))return alert("Failed to create WebGL canvas context when passing video frame."),p.return();a.K=r;a.i.canvas=a.m;a.i.createContext(a.m,!0,!0,{});case 4:a.j=new a.i.SolutionWasm,a.ga=!1,p.h=0}})}
function hd(a){var b,c,d,e,g,f,h,k;return E(function(l){if(1==l.h){if(a.h.graph&&a.h.graph.url&&a.fa===a.h.graph.url)return l.return();a.u=!0;if(!a.h.graph||!a.h.graph.url){l.h=2;return}a.fa=a.h.graph.url;return D(l,gd(a,a.h.graph.url),3)}2!=l.h&&(b=l.i,a.j.loadGraph(b));c=A(Object.keys(a.D));for(d=c.next();!d.done;d=c.next())e=d.value,a.j.overrideFile(e,a.D[e]);a.D={};if(a.h.listeners)for(g=A(a.h.listeners),f=g.next();!f.done;f=g.next())h=f.value,id(a,h);k=a.l;a.l={};a.setOptions(k);l.h=0})}
x.reset=function(){var a=this;return E(function(b){a.j&&(a.j.reset(),a.s={},a.v={});b.h=0})};
x.setOptions=function(a,b){var c=this;if(b=b||this.h.options){for(var d=[],e=[],g={},f=A(Object.keys(a)),h=f.next();!h.done;g={X:g.X,Y:g.Y},h=f.next())if(h=h.value,!(h in this.l&&this.l[h]===a[h])){this.l[h]=a[h];var k=b[h];void 0!==k&&(k.onChange&&(g.X=k.onChange,g.Y=a[h],d.push(function(l){return function(){var m;return E(function(r){if(1==r.h)return D(r,l.X(l.Y),2);m=r.i;!0===m&&(c.u=!0);r.h=0})}}(g))),k.graphOptionXref&&(h=Object.assign({},{calculatorName:"",calculatorIndex:0},k.graphOptionXref,
{valueNumber:1===k.type?a[h]:0,valueBoolean:0===k.type?a[h]:!1,valueString:2===k.type?a[h]:""}),e.push(h)))}if(0!==d.length||0!==e.length)this.u=!0,this.H=(void 0===this.H?[]:this.H).concat(e),this.F=(void 0===this.F?[]:this.F).concat(d)}};
function jd(a){var b,c,d,e,g,f,h;return E(function(k){switch(k.h){case 1:if(!a.u)return k.return();if(!a.F){k.h=2;break}b=A(a.F);c=b.next();case 3:if(c.done){k.h=5;break}d=c.value;return D(k,d(),4);case 4:c=b.next();k.h=3;break;case 5:a.F=void 0;case 2:if(a.H){e=new a.i.GraphOptionChangeRequestList;g=A(a.H);for(f=g.next();!f.done;f=g.next())h=f.value,e.push_back(h);a.j.changeOptions(e);e.delete();a.H=void 0}a.u=!1;k.h=0}})}
x.initialize=function(){var a=this;return E(function(b){return 1==b.h?D(b,fd(a),2):3!=b.h?D(b,hd(a),3):D(b,jd(a),0)})};function gd(a,b){var c,d;return E(function(e){if(b in a.L)return e.return(a.L[b]);c=a.locateFile(b,"");d=fetch(c).then(function(g){return g.arrayBuffer()});a.L[b]=d;return e.return(d)})}x.overrideFile=function(a,b){this.j?this.j.overrideFile(a,b):this.D[a]=b};x.clearOverriddenFiles=function(){this.D={};this.j&&this.j.clearOverriddenFiles()};
x.send=function(a,b){var c=this,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!c.h.inputs)return p.return();d=1E3*(void 0===b||null===b?performance.now():b);return D(p,c.I,2);case 2:return D(p,c.initialize(),3);case 3:e=new c.i.PacketDataList;g=A(Object.keys(a));for(f=g.next();!f.done;f=g.next())if(h=f.value,k=c.h.inputs[h]){a:{var n=a[h];switch(k.type){case "video":var q=c.s[k.stream];q||(q=new Wc(c.i,c.K),c.s[k.stream]=q);0===q.m&&(q.m=q.i.createTexture());if("undefined"!==typeof HTMLVideoElement&&
n instanceof HTMLVideoElement){var t=n.videoWidth;var w=n.videoHeight}else"undefined"!==typeof HTMLImageElement&&n instanceof HTMLImageElement?(t=n.naturalWidth,w=n.naturalHeight):(t=n.width,w=n.height);w={glName:q.m,width:t,height:w};t=q.h;t.canvas.width=w.width;t.canvas.height=w.height;t.activeTexture(t.TEXTURE0);q.i.bindTexture2d(q.m);t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n);q.i.bindTexture2d(0);q=w;break a;case "detections":q=c.s[k.stream];q||(q=new Zc(c.i),c.s[k.stream]=q);
q.data||(q.data=new q.h.DetectionListData);q.data.reset(n.length);for(w=0;w<n.length;++w){t=n[w];var v=q.data,B=v.setBoundingBox,J=w;var I=t.la;var u=new Qc;V(u,1,I.sa);V(u,2,I.ta);V(u,3,I.height);V(u,4,I.width);V(u,5,I.rotation);U(u,6,I.pa);I=u.l();B.call(v,J,I);if(t.ea)for(v=0;v<t.ea.length;++v){u=t.ea[v];B=q.data;J=B.addNormalizedLandmark;I=w;u=Object.assign({},u,{visibility:u.visibility?u.visibility:0});var C=new Lc;V(C,1,u.x);V(C,2,u.y);V(C,3,u.z);u.visibility&&V(C,4,u.visibility);u=C.l();J.call(B,
I,u)}if(t.ba)for(v=0;v<t.ba.length;++v)B=q.data,J=B.addClassification,I=w,u=t.ba[v],C=new Z,V(C,2,u.qa),u.index&&U(C,1,u.index),u.label&&U(C,3,u.label),u.displayName&&U(C,4,u.displayName),u=C.l(),J.call(B,I,u)}q=q.data;break a;default:q={}}}l=q;m=k.stream;switch(k.type){case "video":e.pushTexture2d(Object.assign({},l,{stream:m,timestamp:d}));break;case "detections":r=l;r.stream=m;r.timestamp=d;e.pushDetectionList(r);break;default:throw Error("Unknown input config type: '"+k.type+"'");}}c.j.send(e);
return D(p,c.I,4);case 4:e.delete(),p.h=0}})};
function kd(a,b,c){var d,e,g,f,h,k,l,m,r,p,n,q,t,w;return E(function(v){switch(v.h){case 1:if(!c)return v.return(b);d={};e=0;g=A(Object.keys(c));for(f=g.next();!f.done;f=g.next())h=f.value,k=c[h],"string"!==typeof k&&"texture"===k.type&&void 0!==b[k.stream]&&++e;1<e&&(a.M=!1);l=A(Object.keys(c));f=l.next();case 2:if(f.done){v.h=4;break}m=f.value;r=c[m];if("string"===typeof r)return t=d,w=m,D(v,ld(a,m,b[r]),14);p=b[r.stream];if("detection_list"===r.type){if(p){var B=p.getRectList();for(var J=p.getLandmarksList(),
I=p.getClassificationsList(),u=[],C=0;C<B.size();++C){var T=Sc(B.get(C)),od=W(T,1),pd=W(T,2),qd=W(T,3),rd=W(T,4),sd=W(T,5,0),za=void 0;za=void 0===za?0:za;T={la:{sa:od,ta:pd,height:qd,width:rd,rotation:sd,pa:Rb(S(T,6),za)},ea:Ob(Pc(J.get(C)),Lc,1).map(Vc),ba:Uc(Kc(I.get(C)))};u.push(T)}B=u}else B=[];d[m]=B;v.h=7;break}if("proto_list"===r.type){if(p){B=Array(p.size());for(J=0;J<p.size();J++)B[J]=p.get(J);p.delete()}else B=[];d[m]=B;v.h=7;break}if(void 0===p){v.h=3;break}if("float_list"===r.type){d[m]=
p;v.h=7;break}if("proto"===r.type){d[m]=p;v.h=7;break}if("texture"!==r.type)throw Error("Unknown output config type: '"+r.type+"'");n=a.v[m];n||(n=new Wc(a.i,a.K),a.v[m]=n);return D(v,Xc(n,p,a.M),13);case 13:q=v.i,d[m]=q;case 7:r.transform&&d[m]&&(d[m]=r.transform(d[m]));v.h=3;break;case 14:t[w]=v.i;case 3:f=l.next();v.h=2;break;case 4:return v.return(d)}})}
function ld(a,b,c){var d;return E(function(e){return"number"===typeof c||c instanceof Uint8Array||c instanceof a.i.Uint8BlobList?e.return(c):c instanceof a.i.Texture2dDataOut?(d=a.v[b],d||(d=new Wc(a.i,a.K),a.v[b]=d),e.return(Xc(d,c,a.M))):e.return(void 0)})}
function id(a,b){for(var c=b.name||"$",d=[].concat(ea(b.wants)),e=new a.i.StringList,g=A(b.wants),f=g.next();!f.done;f=g.next())e.push_back(f.value);g=a.i.PacketListener.implement({onResults:function(h){for(var k={},l=0;l<b.wants.length;++l)k[d[l]]=h.get(l);var m=a.listeners[c];m&&(a.I=kd(a,k,b.outs).then(function(r){r=m(r);for(var p=0;p<b.wants.length;++p){var n=k[d[p]];"object"===typeof n&&n.hasOwnProperty&&n.hasOwnProperty("delete")&&n.delete()}r&&(a.I=r)}))}});a.j.attachMultiListener(e,g);e.delete()}
x.onResults=function(a,b){this.listeners[b||"$"]=a};Aa("Solution",ed);Aa("OptionType",{BOOL:0,NUMBER:1,ua:2,0:"BOOL",1:"NUMBER",2:"STRING"});function md(a){void 0===a&&(a=0);switch(a){case 1:return"selfie_segmentation_landscape.tflite";default:return"selfie_segmentation.tflite"}}
function nd(a){var b=this;a=a||{};this.h=new ed({locateFile:a.locateFile,files:function(c){return[{simd:!0,url:"selfie_segmentation_solution_simd_wasm_bin.js"},{simd:!1,url:"selfie_segmentation_solution_wasm_bin.js"},{data:!0,url:md(c.modelSelection)}]},graph:{url:"selfie_segmentation.binarypb"},listeners:[{wants:["segmentation_mask","image_transformed"],outs:{image:{type:"texture",stream:"image_transformed"},segmentationMask:{type:"texture",stream:"segmentation_mask"}}}],inputs:{image:{type:"video",
stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"object"!==typeof window||void 0===window.navigator?!1:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},modelSelection:{type:1,
graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value"},onChange:function(c){var d,e,g;return E(function(f){if(1==f.h)return d=md(c),e="third_party/mediapipe/modules/selfie_segmentation/"+d,D(f,gd(b.h,d),2);g=f.i;b.h.overrideFile(e,g);return f.return(!0)})}}}})}x=nd.prototype;x.close=function(){this.h.close();return Promise.resolve()};x.onResults=function(a){this.h.onResults(a)};
x.initialize=function(){var a=this;return E(function(b){return D(b,a.h.initialize(),0)})};x.reset=function(){this.h.reset()};x.send=function(a){var b=this;return E(function(c){return D(c,b.h.send(a),0)})};x.setOptions=function(a){this.h.setOptions(a)};Aa("SelfieSegmentation",nd);Aa("VERSION","0.1.1675465747");}).call(this);
@@ -0,0 +1,21 @@
var createMediapipeSolutionsWasm = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(createMediapipeSolutionsWasm) {
createMediapipeSolutionsWasm = createMediapipeSolutionsWasm || {};
var Module=typeof createMediapipeSolutionsWasm!="undefined"?createMediapipeSolutionsWasm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_main","_fflush","___getTypeName","__embind_initialize_bindings","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - anLine truncated
return createMediapipeSolutionsWasm.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = createMediapipeSolutionsWasm;
else if (typeof define === 'function' && define['amd'])
define([], function() { return createMediapipeSolutionsWasm; });
else if (typeof exports === 'object')
exports["createMediapipeSolutionsWasm"] = createMediapipeSolutionsWasm;
@@ -0,0 +1,21 @@
var createMediapipeSolutionsWasm = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(createMediapipeSolutionsWasm) {
createMediapipeSolutionsWasm = createMediapipeSolutionsWasm || {};
var Module=typeof createMediapipeSolutionsWasm!="undefined"?createMediapipeSolutionsWasm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_main","_fflush","___getTypeName","__embind_initialize_bindings","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - anLine truncated
return createMediapipeSolutionsWasm.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = createMediapipeSolutionsWasm;
else if (typeof define === 'function' && define['amd'])
define([], function() { return createMediapipeSolutionsWasm; });
else if (typeof exports === 'object')
exports["createMediapipeSolutionsWasm"] = createMediapipeSolutionsWasm;
+85 -16
View File
@@ -14,6 +14,9 @@ body {
padding: 0;
color: #ccc;
background: rgb(16, 17, 19);
display: flex;
flex-direction: column;
overflow: hidden;
}
*,
@@ -36,6 +39,10 @@ img {
vertical-align: top;
}
input[type="file"] {
cursor: pointer;
}
::-webkit-scrollbar {
width: 5px;
height: 5px;
@@ -53,9 +60,10 @@ img {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
font-size: 14px;
height: 48px;
width: 100%;
flex-shrink: 0;
padding: 0 0 0 20px;
border-bottom: 1px solid rgb(17, 21, 24);
background-color: rgb(28, 32, 34);
@@ -65,30 +73,48 @@ img {
display: flex;
justify-content: space-between;
align-items: center;
margin-right: 30px;
}
.header .logo img {
margin-right: 10px;
}
.header .tool {
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
line-height: 1;
gap: 20px;
}
.header .checkbox {
display: flex;
align-items: center;
}
.header .checkbox input {
margin-right: 5px;
}
.header .menus {
display: flex;
align-items: center;
flex: 1;
height: 100%;
gap: 30px;
}
.header .menus .item {
display: flex;
align-items: center;
margin-left: 20px;
height: 100%;
line-height: 1;
}
.header .menus .has-sub-menu {
position: relative;
cursor: pointer;
}
.header .menus .has-sub-menu:hover .sub-menu {
@@ -98,36 +124,44 @@ img {
.header .menus .has-sub-menu .sub-menu {
display: none;
position: absolute;
z-index: 9;
top: 45px;
z-index: 9999;
top: 40px;
left: 0;
width: 200px;
width: 280px;
padding: 0 10px;
background: #2b2b2b;
background: #1b1b1b;
border-radius: 3px;
border: 1px solid rgb(255, 255, 255, 0.05);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.header .menus .has-sub-menu .sub-menu ul {
padding: 0;
margin-bottom: 15px;
margin-bottom: 20px;
}
.header .menus .has-sub-menu .sub-menu li {
display: block;
list-style: none;
margin-bottom: 15px;
margin-bottom: 10px;
}
.header .menus .has-sub-menu .sub-menu li.title {
color: #fff;
font-size: 16px;
margin-bottom: 15px;
font-weight: bold;
}
.header .menus .has-sub-menu .sub-menu li a:hover {
text-decoration: underline;
}
.header .run {
display: flex;
justify-content: center;
align-items: center;
width: 100px;
padding: 0 15px;
height: 100%;
line-height: 1;
cursor: pointer;
@@ -144,6 +178,7 @@ img {
display: flex;
flex: 1;
height: 100%;
overflow: hidden;
}
.main .part-left {
@@ -154,39 +189,61 @@ img {
}
.main .part-left .libs {
height: 55px;
display: flex;
height: 50px;
border-bottom: 1px solid rgb(17, 21, 24);
}
.main .part-left .upload {
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 0 15px;
height: 100%;
font-size: 13px;
color: #f1fa8c;
border-right: 1px solid rgb(17, 21, 24);
background-color: rgb(39, 41, 54);
}
.main .part-left #file {
opacity: 0;
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}
.main .part-left .libsInput {
height: 100%;
width: 100%;
flex: 1;
padding: 10px;
outline: none;
resize: none;
border: none;
font-size: 13px;
color: #ccc;
border-bottom: 1px solid rgb(17, 21, 24);
background-color: rgb(28, 32, 34);
}
.main .part-left .code {
flex: 1;
overflow: auto;
}
.main .part-left .code .codeMirrorWrap {
height: 100%;
overflow: hidden;
}
.main .part-right {
flex: 1;
display: flex;
flex-direction: column;
}
.part-right .video-wrap {
display: flex;
height: 70%;
flex: 1;
align-items: center;
justify-content: center;
flex-direction: column;
@@ -195,6 +252,7 @@ img {
.part-right .video-wrap .artplayer-app {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 20px;
@@ -243,3 +301,14 @@ img {
background-position: center center;
background-size: contain;
}
.fullscreenWeb {
position: fixed;
z-index: 9999;
width: 100%;
height: 100%;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
+48
View File
@@ -0,0 +1,48 @@
// npm i artplayer-plugin-ads
// import artplayerPluginAds from 'artplayer-plugin-ads';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
fullscreen: true,
fullscreenWeb: true,
plugins: [
artplayerPluginAds({
// html广告,假如是视频广告则忽略该值
html: '<img src="/assets/sample/poster.jpg">',
// 视频广告的地址
video: '/assets/sample/test1.mp4',
// 广告跳转网址,为空则不跳转
url: 'http://artplayer.org',
// 必须观看的时长,期间不能被跳过,单位为秒
// 当该值大于或等于totalDuration时,不能提前关闭广告
// 当该值等于或小于0时,则随时都可以关闭广告
playDuration: 5,
// 广告总时长,单位为秒
totalDuration: 10,
// 多语言支持
i18n: {
close: '关闭广告',
countdown: '%s秒',
detail: '查看详情',
canBeClosed: '%s秒后可关闭广告',
},
}),
],
});
// 广告被点击
art.on('artplayerPluginAds:click', (ads) => {
console.info('广告被点击', ads);
});
// 广告被跳过
art.on('artplayerPluginAds:skip', (ads) => {
console.info('广告被跳过', ads);
});
+16
View File
@@ -0,0 +1,16 @@
// npm i artplayer-plugin-ambilight
// import artplayerPluginAmbilight from 'artplayer-plugin-ambilight';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
plugins: [
artplayerPluginAmbilight({
blur: '50px',
opacity: 1,
frequency: 10,
duration: 0.3,
}),
],
});
+12
View File
@@ -0,0 +1,12 @@
// npm i artplayer-plugin-auto-thumbnail
// import artplayerPluginAutoThumbnail from 'artplayer-plugin-auto-thumbnail';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
plugins: [
artplayerPluginAutoThumbnail({
//
}),
],
});
+30
View File
@@ -0,0 +1,30 @@
// npm i artplayer-proxy-canvas
// import artplayerProxyCanvas from 'artplayer-proxy-canvas';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
poster: '/assets/sample/poster.jpg',
volume: 0.5,
autoplay: false,
autoSize: false,
screenshot: true,
setting: true,
loop: true,
flip: true,
pip: true,
playbackRate: true,
aspectRatio: true,
fullscreen: true,
fullscreenWeb: true,
miniProgressBar: true,
autoPlayback: true,
autoOrientation: true,
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 60,
column: 10,
scale: 0.85,
},
proxy: artplayerProxyCanvas(),
});
+28
View File
@@ -0,0 +1,28 @@
// npm i artplayer-plugin-chapter
// import artplayerPluginChapter from 'artplayer-plugin-chapter';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
fullscreen: true,
fullscreenWeb: true,
miniProgressBar: true,
autoOrientation: true,
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 60,
column: 10,
},
plugins: [
artplayerPluginChapter({
chapters: [
{ start: 0, end: 18, title: 'One more chance' },
{ start: 18, end: 36, title: '谁でもいいはずなのに' },
{ start: 36, end: 54, title: '夏の想い出がまわる' },
{ start: 54, end: 72, title: 'こんなとこにあるはずもないのに' },
{ start: 72, end: Infinity, title: '终わり' },
]
}),
],
});
+15
View File
@@ -0,0 +1,15 @@
// npm i artplayer-plugin-chromecast
// import artplayerPluginChromecast from 'artplayer-plugin-chromecast';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreen: true,
fullscreenWeb: true,
plugins: [
artplayerPluginChromecast({
// sdk: '', // The URL of the Cast SDK
// mimeType: '', // The MIME type of the media
}),
],
});
+43 -69
View File
@@ -1,80 +1,54 @@
// npm i artplayer-plugin-danmuku
// import artplayerPluginDanmuku from 'artplayer-plugin-danmuku';
// 使用文档 https://artplayer.org/document/plugin/danmuku.html
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
fullscreen: true,
fullscreenWeb: true,
flip: true,
playbackRate: true,
aspectRatio: true,
setting: true,
autoOrientation: true,
plugins: [
artplayerPluginDanmuku({
danmuku: '/assets/sample/danmuku-v2.xml',
speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
fontSize: 25, // 字体大小,支持数字和百分比
color: '#FFFFFF', // 默认字体颜色
mode: 0, // 默认模式,0-滚动,1-静止
margin: [10, '25%'], // 弹幕上下边距,支持数字和百分比
antiOverlap: true, // 是否防重叠
useWorker: true, // 是否使用 web worker
synchronousPlayback: false, // 是否同步到播放速度
filter: (danmu) => danmu.text.length < 50, // 弹幕过滤函数,返回 true 则可以发送
lockTime: 5, // 输入框锁定时间,单位秒,范围在[1 ~ 60]
maxLength: 100, // 输入框最大可输入的字数,范围在[0 ~ 500]
minWidth: 200, // 输入框最小宽度,范围在[0 ~ 500],填 0 则为无限制
maxWidth: 400, // 输入框最大宽度,范围在[0 ~ Infinity],填 0 则为 100% 宽度
theme: 'dark', // 输入框自定义挂载时的主题色,默认为 dark,可以选填亮色 light
beforeEmit: (danmu) => !!danmu.text.trim(), // 发送弹幕前的自定义校验,返回 true 则可以发送
danmuku: '/assets/sample/danmuku.xml',
// 通过 mount 选项可以自定义输入框挂载的位置,默认挂载于播放器底部,仅在当宽度小于最小值时生效
// mount: document.querySelector('.artplayer-danmuku'),
// 以下为非必填
speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
modes: [0, 1, 2], // 弹幕可见的模式
fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
antiOverlap: true, // 弹幕是否防重叠
synchronousPlayback: false, // 是否同步播放速度
mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
heatmap: true, // 是否开启热力图
width: 512, // 当播放器宽度小于此值时,弹幕发射器置于播放器底部
points: [], // 热力图数据
filter: (danmu) => danmu.text.length <= 100, // 弹幕载入前的过滤器
beforeVisible: () => true, // 弹幕显示前的过滤器,返回 true 则可以发送
visible: true, // 弹幕层是否可见
emitter: true, // 是否开启弹幕发射器
maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
OPACITY: {}, // 不透明度配置项
FONT_SIZE: {}, // 弹幕字号配置项
MARGIN: {}, // 显示区域配置项
SPEED: {}, // 弹幕速度配置项
COLOR: [], // 颜色列表配置项
// 手动发送弹幕前的过滤器,返回 true 则可以发送,可以做存库处理
beforeEmit(danmu) {
return new Promise((resolve) => {
console.log(danmu);
setTimeout(() => {
resolve(true);
}, 1000);
});
},
}),
],
});
// 监听手动输入的弹幕,保存到数据库
art.on('artplayerPluginDanmuku:emit', (danmu) => {
console.info('新增弹幕', danmu);
});
// 监听加载到的弹幕数组
art.on('artplayerPluginDanmuku:loaded', (danmus) => {
console.info('加载弹幕', danmus.length);
});
// 监听加载到弹幕的错误
art.on('artplayerPluginDanmuku:error', (error) => {
console.info('加载错误', error);
});
// 监听弹幕配置变化
art.on('artplayerPluginDanmuku:config', (option) => {
console.info('配置变化', option);
});
// 监听弹幕停止
art.on('artplayerPluginDanmuku:stop', () => {
console.info('弹幕停止');
});
// 监听弹幕开始
art.on('artplayerPluginDanmuku:start', () => {
console.info('弹幕开始');
});
// 监听弹幕隐藏
art.on('artplayerPluginDanmuku:hide', () => {
console.info('弹幕隐藏');
});
// 监听弹幕显示
art.on('artplayerPluginDanmuku:show', () => {
console.info('弹幕显示');
});
// 监听弹幕销毁
art.on('artplayerPluginDanmuku:destroy', () => {
console.info('弹幕销毁');
});
});
+22
View File
@@ -0,0 +1,22 @@
// npm i artplayer-plugin-danmuku-mask
// import artplayerPluginDanmukuMask from 'artplayer-plugin-danmuku-mask';
// npm i @mediapipe/selfie_segmentation
// 把 node_modules/@mediapipe/selfie_segmentation 目录复制到你的项目下
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
fullscreen: true,
fullscreenWeb: true,
autoOrientation: true,
plugins: [
artplayerPluginDanmuku({
danmuku: '/assets/sample/danmuku.xml'
}),
artplayerPluginDanmukuMask({
solutionPath: '/assets/@mediapipe/selfie_segmentation',
}),
],
});
+50
View File
@@ -0,0 +1,50 @@
// npm i dashjs
// npm i artplayer-plugin-dash-control
// import dashjs from 'dashjs';
// import artplayerPluginDashControl from 'artplayer-plugin-dash-control';
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd',
setting: true,
plugins: [
artplayerPluginDashControl({
quality: {
// Show qualitys in control
control: true,
// Show qualitys in setting
setting: true,
// Get the quality name from level
getName: (level) => level.height + 'P',
// I18n
title: 'Quality',
auto: 'Auto',
},
audio: {
// Show audios in control
control: true,
// Show audios in setting
setting: true,
// Get the audio name from track
getName: (track) => track.lang.toUpperCase(),
// I18n
title: 'Audio',
auto: 'Auto',
}
}),
],
customType: {
mpd: function playMpd(video, url, art) {
if (dashjs.supportsMediaSource()) {
if (art.dash) art.dash.destroy();
const dash = dashjs.MediaPlayer().create();
dash.initialize(video, url, art.option.autoplay);
art.dash = dash;
art.on('destroy', () => dash.destroy());
} else {
art.notice.show = 'Unsupported playback format: mpd';
}
}
},
});
+27
View File
@@ -0,0 +1,27 @@
// npm i dashjs
// import dashjs from 'dashjs';
function playMpd(video, url, art) {
if (dashjs.supportsMediaSource()) {
if (art.dash) art.dash.destroy();
const dash = dashjs.MediaPlayer().create();
dash.initialize(video, url, art.option.autoplay);
art.dash = dash;
art.on('destroy', () => dash.destroy());
} else {
art.notice.show = 'Unsupported playback format: mpd';
}
}
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
type: 'mpd',
customType: {
mpd: playMpd
},
});
art.on('ready', () => {
console.info(art.dash);
});
+28
View File
@@ -0,0 +1,28 @@
// npm i flv.js
// import flvjs from 'flv.js';
function playFlv(video, url, art) {
if (flvjs.isSupported()) {
if (art.flv) art.flv.destroy();
const flv = flvjs.createPlayer({ type: 'flv', url });
flv.attachMediaElement(video);
flv.load();
art.flv = flv;
art.on('destroy', () => flv.destroy());
} else {
art.notice.show = 'Unsupported playback format: flv';
}
}
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.flv',
type: 'flv',
customType: {
flv: playFlv,
},
});
art.on('ready', () => {
console.info(art.flv);
});
+53
View File
@@ -0,0 +1,53 @@
// npm i hls.js
// npm i artplayer-plugin-hls-control
// import Hls from 'hls.js';
// import artplayerPluginHlsControl from 'artplayer-plugin-hls-control';
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://playertest.longtailvideo.com/adaptive/elephants_dream_v4/index.m3u8',
setting: true,
plugins: [
artplayerPluginHlsControl({
quality: {
// Show qualitys in control
control: true,
// Show qualitys in setting
setting: true,
// Get the quality name from level
getName: (level) => level.height + 'P',
// I18n
title: 'Quality',
auto: 'Auto',
},
audio: {
// Show audios in control
control: true,
// Show audios in setting
setting: true,
// Get the audio name from track
getName: (track) => track.name,
// I18n
title: 'Audio',
auto: 'Auto',
}
}),
],
customType: {
m3u8: function playM3u8(video, url, art) {
if (Hls.isSupported()) {
if (art.hls) art.hls.destroy();
const hls = new Hls();
hls.loadSource(url);
hls.attachMedia(video);
art.hls = hls;
art.on('destroy', () => hls.destroy());
} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
video.src = url;
} else {
art.notice.show = 'Unsupported playback format: m3u8';
}
}
},
});
+30
View File
@@ -0,0 +1,30 @@
// npm i hls.js
// import Hls from 'hls.js';
function playM3u8(video, url, art) {
if (Hls.isSupported()) {
if (art.hls) art.hls.destroy();
const hls = new Hls();
hls.loadSource(url);
hls.attachMedia(video);
art.hls = hls;
art.on('destroy', () => hls.destroy());
} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
video.src = url;
} else {
art.notice.show = 'Unsupported playback format: m3u8';
}
}
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
type: 'm3u8',
customType: {
m3u8: playM3u8,
},
});
art.on('ready', () => {
console.info(art.hls);
});
+46
View File
@@ -0,0 +1,46 @@
// npm i artplayer-plugin-iframe
// import ArtplayerPluginIframe from 'artplayer-plugin-iframe';
const $iframe = document.createElement('iframe');
$iframe.allowFullscreen = true;
$iframe.width = '100%';
$iframe.height = '100%';
const $container = document.querySelector('.artplayer-app');
$container.innerHTML = '';
$container.appendChild($iframe);
const iframe = new ArtplayerPluginIframe({
iframe: $iframe,
url: '/iframe.html',
});
iframe.message(({ type, data }) => {
switch (type) {
case 'fullscreenWeb':
if (data) {
$iframe.classList.add('fullscreenWeb');
} else {
$iframe.classList.remove('fullscreenWeb');
}
break;
default:
break;
}
});
iframe.commit(() => {
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreen: true,
fullscreenWeb: true,
});
art.on('fullscreenWeb', (state) => {
ArtplayerPluginIframe.postMessage({
type: 'fullscreenWeb',
data: state,
});
});
});
+9 -5
View File
@@ -1,7 +1,6 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
title: 'Your Name',
poster: '/assets/sample/poster.jpg',
volume: 0.5,
isLive: false,
@@ -24,9 +23,9 @@ var art = new Artplayer({
backdrop: true,
playsInline: true,
autoPlayback: true,
airplay: true,
theme: '#23ade5',
lang: navigator.language.toLowerCase(),
whitelist: ['*'],
moreVideoAttr: {
crossOrigin: 'anonymous',
},
@@ -85,7 +84,7 @@ var art = new Artplayer({
tooltip: '5x',
range: [5, 1, 10, 0.1],
onRange: function (item) {
return item.range + 'x';
return item.range[0] + 'x';
},
},
],
@@ -117,17 +116,18 @@ var art = new Artplayer({
{
default: true,
html: 'SD 480P',
url: '/assets/sample/video.mp4',
url: '/assets/sample/video.mp4?q=480',
},
{
html: 'HD 720P',
url: '/assets/sample/video.mp4',
url: '/assets/sample/video.mp4?q=720',
},
],
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 60,
column: 10,
scale: 0.85,
},
subtitle: {
url: '/assets/sample/subtitle.srt',
@@ -164,7 +164,11 @@ var art = new Artplayer({
{
position: 'right',
html: 'Control',
index: 1,
tooltip: 'Control Tooltip',
style: {
marginRight: '20px',
},
click: function () {
console.info('You clicked on the custom control');
},
+44
View File
@@ -0,0 +1,44 @@
// npm i artplayer-plugin-libass
// import artplayerPluginLibass from 'artplayer-plugin-libass';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreenWeb: true,
subtitle: {
url: '/assets/sample/style-test.ass',
},
plugins: [
artplayerPluginLibass({
// debug: true,
workerUrl: 'https://unpkg.com/libass-wasm@4.1.0/dist/js/subtitles-octopus-worker.js',
// wasmUrl: 'https://unpkg.com/libass-wasm@4.1.0/dist/js/subtitles-octopus-worker.wasm',
fallbackFont: '/assets/misc/SourceHanSansCN-Bold.woff2'
}),
],
});
// init
art.on('artplayerPluginLibass:init', (adapter) => {
console.info('artplayerPluginLibass:init', adapter);
});
// subtitle switch
art.on('artplayerPluginLibass:switch', (url) => {
console.info('artplayerPluginLibass:switch', url);
})
// subtitle visible
art.on('artplayerPluginLibass:visible', (visible) => {
console.info('artplayerPluginLibass:visible', visible);
})
// subtitle timeOffset
art.on('artplayerPluginLibass:timeOffset', (timeOffset) => {
console.info('artplayerPluginLibass:timeOffset', timeOffset);
})
// destroy
art.on('artplayerPluginLibass:destroy', () => {
console.info('artplayerPluginLibass:destroy');
})
+98
View File
@@ -0,0 +1,98 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
poster: '/assets/sample/poster.jpg',
autoSize: true,
loop: true,
mutex: true,
setting: true,
flip: true,
lock: true,
fastForward: true,
playbackRate: true,
aspectRatio: true,
theme: '#ff0057',
fullscreen: true,
fullscreenWeb: true,
miniProgressBar: true,
autoOrientation: true,
airplay: true,
moreVideoAttr: {
'x5-video-player-type': 'h5',
'x5-video-player-fullscreen': false,
'x5-video-orientation': 'portraint',
preload: "metadata"
},
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 60,
column: 10,
scale: 0.6
},
subtitle: {
name: '中日双语',
url: '/assets/sample/subtitle.srt',
style: {
color: '#48aff0',
fontSize: '16px',
},
},
layers: [
{
html: `<img width="50" src="/assets/sample/layer.png">`,
click: function () {
art.notice.show = "你点击了自定义层";
},
style: {
position: 'absolute',
top: '10px',
right: '10px',
opacity: '.9',
},
},
],
icons: {
loading: '<img src="/assets/img/ploading.gif">',
state: '<img width="150" heigth="150" src="/assets/img/state.svg">',
indicator: '<img width="16" heigth="16" src="/assets/img/indicator.svg">',
},
settings: [
{
width: 200,
html: '切换字幕',
tooltip: '双语',
icon: '<img width="22" heigth="22" src="/assets/img/subtitle.svg">',
selector: [
{
html: '开关',
switch: true,
tooltip: '显示',
onSwitch: function (item) {
item.tooltip = item.switch ? '隐藏' : '显示';
art.subtitle.show = !item.switch;
return !item.switch;
},
},
{
default: true,
html: '双语',
url: '/assets/sample/subtitle.srt'
},
{
html: '中文',
url: '/assets/sample/subtitle.cn.srt'
},
{
html: '日文',
url: '/assets/sample/subtitle.jp.srt'
},
],
onSelect: function (item) {
art.subtitle.switch(item.url, {
name: item.html
});
return item.html;
},
},
],
});
+34
View File
@@ -0,0 +1,34 @@
// npm i mpegts
// import mpegts from 'mpegts';
function playFlv(video, url, art) {
if (mpegts.isSupported()) {
if (art.flv) art.flv.destroy();
const flv = mpegts.createPlayer({
type: 'flv',
url: url
});
flv.attachMediaElement(video);
flv.load();
flv.play();
art.flv = flv;
art.on('destroy', () => flv.destroy());
} else {
art.notice.show = 'Unsupported playback format: flv';
}
}
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.flv',
type: 'flv',
customType: {
flv: playFlv,
},
});
art.on('ready', () => {
console.info(art.flv);
});
+111
View File
@@ -0,0 +1,111 @@
// npm i artplayer-plugin-multiple-subtitles
// import artplayerPluginMultipleSubtitles from 'artplayer-plugin-multiple-subtitles';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
plugins: [
artplayerPluginMultipleSubtitles({
subtitles: [
{
name: 'chinese',
url: '/assets/sample/subtitle.cn.srt',
},
{
name: 'japanese',
url: '/assets/sample/subtitle.jp.srt',
}
],
})
],
settings: [
{
width: 200,
html: 'Subtitle',
tooltip: 'Double',
icon: '<img width="22" heigth="22" src="/assets/img/subtitle.svg">',
selector: [
{
html: 'Display',
tooltip: 'Show',
switch: true,
onSwitch: function (item) {
item.tooltip = item.switch ? 'Hide' : 'Show';
// 显示/隐藏字幕
// Show/hide subtitles
art.subtitle.show = !item.switch;
return !item.switch;
},
},
{
html: 'Reverse',
tooltip: 'Off',
switch: false,
onSwitch: function (item) {
item.tooltip = item.switch ? 'Off' : 'On';
// 修改字幕顺序
// Change the order of subtitles
if (item.switch) {
art.plugins.multipleSubtitles.tracks(['chinese', 'japanese']);
} else {
art.plugins.multipleSubtitles.tracks(['japanese', 'chinese']);
}
return !item.switch;
},
},
{
default: true,
html: 'Double',
name: 'double',
},
{
html: 'Chinese',
name: 'chinese',
},
{
html: 'Japanese',
name: 'japanese',
},
],
onSelect: function (item) {
if (item.name === 'double') {
// 重置字幕
// Reset subtitles
art.plugins.multipleSubtitles.reset();
} else {
// 显示单个字幕
// Show single subtitle
art.plugins.multipleSubtitles.tracks([item.name]);
}
return item.html;
},
},
],
});
// 自定义你自己的样式,请勿复制以下代码
// Customize your own style, please do not copy the following code
const style = `
.art-subtitle-chinese {
color: red;
font-size: 18px;
}
.art-subtitle-japanese {
color: yellow;
font-size: 12px;
}
`;
const $style = document.getElementById('artplayer-subtitle-style');
if ($style) {
$style.textContent = style;
} else {
const $style = document.createElement('style');
$style.id = 'artplayer-subtitle-style';
$style.textContent = style;
document.head.appendChild($style);
}
+138
View File
@@ -0,0 +1,138 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
flip: true,
playbackRate: true,
aspectRatio: true,
subtitleOffset: true,
settings: [
{
width: 200,
html: 'Subtitle',
name: 'subtitle',
tooltip: 'Bilingual',
icon: '<img width="22" heigth="22" src="/assets/img/subtitle.svg">',
selector: [
{
html: 'Display',
tooltip: 'Show',
switch: true,
onSwitch: function (item) {
item.tooltip = item.switch ? 'Hide' : 'Show';
art.subtitle.show = !item.switch;
return !item.switch;
},
},
{
default: true,
html: 'Bilingual',
url: '/assets/sample/subtitle.srt',
},
{
html: 'Chinese',
url: '/assets/sample/subtitle.cn.srt',
},
{
html: 'Japanese',
url: '/assets/sample/subtitle.jp.srt',
},
],
onSelect: function (item) {
art.subtitle.switch(item.url, {
name: item.html,
});
return item.html;
},
mounted: function (...args) {
console.info(args);
},
},
{
html: 'Switcher',
icon: '<img width="22" heigth="22" src="/assets/img/state.svg">',
tooltip: 'OFF',
switch: false,
onSwitch: function (item) {
item.tooltip = item.switch ? 'OFF' : 'ON';
console.info('You clicked on the custom switch', item.switch);
return !item.switch;
},
mounted: function (...args) {
console.info(args);
},
},
{
html: 'Slider',
icon: '<img width="22" heigth="22" src="/assets/img/state.svg">',
tooltip: '5x',
range: [5, 1, 10, 0.1],
onRange: function (item) {
return item.range[0] + 'x';
},
mounted: function (...args) {
console.info(args);
},
},
],
}, async () => {
const { sleep } = Artplayer.utils;
art.setting.show = true;
console.log(art.setting.builtin);
console.log(art.setting.find('aspect-ratio'));
console.log(art.setting.find('aspect-ratio2'));
await sleep(1000);
art.setting.resize();
await sleep(1000);
art.setting.inactivate(art.setting.find('subtitle'));
art.setting.remove('aspect-ratio');
try {
art.setting.remove('aspect-ratio2');
} catch (error) {
console.log(error.message);
}
await sleep(1000);
art.setting.update({
name: 'subtitle-offset',
html: 'new offset',
range: [5, -11, 11, 1],
});
await sleep(1000);
art.setting.find('subtitle-offset').range = [0, -0, 10, 1];
await sleep(1000);
art.setting.update({
name: 'subtitle-offset2',
html: 'new offset 2',
range: [5, -11, 11, 1],
onChange(item) {
return item.range[0] + 's';
},
});
await sleep(1000);
art.setting.update({
name: 'flip',
html: 'new flip',
tooltip: 'OFF',
switch: false,
});
await sleep(1000);
art.setting.find('flip').switch = true;
await sleep(1000);
art.setting.update({
name: 'flip2',
html: 'new flip2',
tooltip: 'OFF',
switch: true,
});
await sleep(1000);
try {
art.setting.add({
name: 'flip2',
html: 'new flip2',
tooltip: 'OFF',
switch: true,
});
} catch (error) {
console.log(error.message);
}
});
+13 -68
View File
@@ -1,69 +1,14 @@
if (window.lastThumbnail) {
window.lastThumbnail.destroy();
}
// npm i artplayer-plugin-thumbnail
// import artplayerPluginThumbnail from 'artplayer-plugin-thumbnail';
var $popups = document.querySelector('.popups');
var $popinner = document.querySelector('.popinner');
var $artplayer = document.querySelector('.artplayer-app');
$artplayer.innerHTML = 'Drop video file here or click to upload.';
var thumbnail = new ArtplayerToolThumbnail({
fileInput: $artplayer,
number: 60, // 数量
width: 160, // 宽度
column: 10, // 列数
begin: 0, // 开始
end: NaN, // 结束
});
window.lastThumbnail = thumbnail;
thumbnail.on('file', function (file) {
console.log('Read video successfully: ' + file.name);
});
thumbnail.on('video', function (video) {
console.log('Video size: ' + video.videoWidth + ' x ' + video.videoHeight);
console.log('Video duration: ' + video.duration + 's');
thumbnail.start();
});
thumbnail.on('canvas', function (canvas) {
console.log('Build canvas successfully');
console.log('Canvas size: ' + canvas.width + ' x ' + canvas.height);
console.log('Preview density: ' + thumbnail.density + ' p/s');
});
thumbnail.on('update', function (url, percentage) {
console.log('Processing: ' + Math.floor(percentage.toFixed(2) * 100) + '%');
$popups.style.display = 'flex';
$popinner.style.backgroundImage = 'url(' + url + ')';
});
thumbnail.on('download', function (name) {
console.log('Start download preview: ' + name);
});
thumbnail.on('done', function () {
$popups.style.display = 'none';
thumbnail.download();
console.log('Build preview image complete');
[...Artplayer.instances].forEach(function (art) {
art.destroy(true);
});
new Artplayer({
container: $artplayer,
url: thumbnail.videoUrl,
autoSize: true,
poster: thumbnail.thumbnailUrl,
thumbnails: {
url: thumbnail.thumbnailUrl,
number: thumbnail.option.number,
column: thumbnail.option.column,
},
});
console.log('Build player complete');
});
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
plugins: [
artplayerPluginThumbnail({
width: 160,
number: 100,
scale: 1,
}),
],
});
+24
View File
@@ -0,0 +1,24 @@
// Depends on:
// https://glomex.github.io/vast-ima-player/
// https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side
// Google's IMA SDK are blocked by your Ad blocker.
// Please Turn Off Your Ad Blocker.
// npm i artplayer-plugin-vast
// import artplayerPluginVast from 'artplayer-plugin-vast';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreen: true,
fullscreenWeb: true,
plugins: [
artplayerPluginVast(({ playUrl, imaPlayer, ima }) => {
// Play the ad when the video is played
art.once('play', () => {
playUrl('https://artplayer.org/assets/vast/linear-ad.xml');
});
}),
],
});
+12
View File
@@ -0,0 +1,12 @@
// npm i artplayer-plugin-vtt-thumbnail
// import artplayerPluginVttThumbnail from 'artplayer-plugin-vtt-thumbnail';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/bbb-video.mp4',
plugins: [
artplayerPluginVttThumbnail({
vtt: '/assets/sample/bbb-thumbnails.vtt',
})
]
});
+31
View File
@@ -0,0 +1,31 @@
// From: https://github.com/bilibili/WebAV
// npm i artplayer-proxy-webav
// import artplayerProxyWebAV from 'artplayer-proxy-webav';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/bbb-video.mp4',
volume: 0.5,
autoplay: false,
autoSize: false,
screenshot: true,
setting: true,
loop: true,
flip: true,
playbackRate: true,
aspectRatio: true,
fullscreen: true,
fullscreenWeb: true,
miniProgressBar: true,
autoPlayback: true,
thumbnails: {
url: '/assets/sample/bbb-sprite.jpg',
number: 121,
column: 11,
width: 128,
height: 72,
},
proxy: artplayerProxyWebAV({
//
}),
});
+36
View File
@@ -0,0 +1,36 @@
// npm i webtorrent
// import WebTorrent from 'webtorrent';
async function playTorrent(video, url, art) {
if (WebTorrent.WEBRTC_SUPPORT) {
if (art.torrent) art.torrent.destroy();
art.torrent = new WebTorrent();
await navigator.serviceWorker.register('/webtorrent.sw.min.js');
art.torrent.loadWorker(navigator.serviceWorker.controller);
art.torrent.add(url, (torrent) => {
const file = torrent.files.find((file) => {
return file.name.endsWith('.mp4');
});
file.streamTo(video);
});
art.on('destroy', () => art.torrent.destroy());
} else {
art.notice.show = 'Unsupported playback format: torrent';
}
}
var art = new Artplayer({
container: '.artplayer-app',
url: 'magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent',
type: 'torrent',
customType: {
torrent: playTorrent,
},
});
art.on('ready', () => {
console.info(art.torrent);
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<polygon id="dcacc03d-ebe2-486b-86c6-02f40070ed49" points="0 0 80 0 80 80 0 80"></polygon>
<path d="M52.5463795,8.01403034 C54.5470371,7.84763808 56.3253994,9.18911826 56.7676959,11.0911381 C56.8718466,11.5365362 56.8612939,11.8985083 56.8069245,12.2287648 C56.7500316,12.556723 56.6424397,12.8481393 56.4951605,13.110368 C56.4219797,13.2418271 56.3354933,13.3636336 56.2494657,13.4856699 L56.2494657,13.4856699 L55.9916124,13.8522385 L55.4708587,14.5816985 C54.7716265,15.5508645 54.0556475,16.50762 53.3171867,17.4480581 C53.3121398,17.4544931 53.3068634,17.4606984 53.3020459,17.4671334 C54.2015503,17.5075824 55.1010548,17.5517085 56.0005592,17.6022697 C57.096436,17.6624835 58.1918539,17.7339586 59.2877307,17.8093407 L59.2877307,17.8093407 L60.9309723,17.9320665 L61.7527078,17.9980259 L62.1635756,18.0324994 L62.3688948,18.0495064 L62.471669,18.0580098 L62.5872901,18.0699607 C63.8533868,18.1864812 65.1027368,18.520185 66.2644533,19.0451021 C67.4263993,19.5697893 68.5000236,20.2872985 69.4304979,21.1587894 C70.3609723,22.0295909 71.1487556,23.0543742 71.7511781,24.1807396 C72.3552065,25.3059558 72.7702036,26.5343627 72.9750639,27.7944854 C73.0051162,27.9514549 73.0214041,28.1100331 73.0429684,28.2681518 L73.0429684,28.2681518 L73.0581092,28.3867407 L73.0714148,28.4988946 L73.0927497,28.7045867 L73.178089,29.5271253 L73.3366092,31.1733515 C73.4377777,32.2714485 73.5267875,33.3709245 73.6061623,34.4713197 C73.9220556,38.8708323 74.0704819,43.2995325 73.9677076,47.7257047 C73.8695214,52.1475102 73.5717513,56.5518491 73.123949,60.9389512 C73.1124787,61.0662734 73.0904556,61.2356534 73.070956,61.3930826 C73.0530623,61.5521205 73.0269099,61.7104689 72.9989223,61.8683577 L72.9583172,62.1053058 L72.9083065,62.3406451 C72.8745837,62.4976146 72.8410903,62.6543543 72.7979618,62.8092554 C72.638524,63.4309282 72.4281579,64.0401904 72.1691575,64.6280791 C71.6523038,65.8043162 70.9393071,66.8927606 70.0700844,67.8368758 C69.2020087,68.7819103 68.1783951,69.5837648 67.0510896,70.1990025 C65.9240135,70.8153893 64.6934749,71.2433208 63.4282958,71.4609637 C63.2697757,71.485325 63.1117143,71.5129038 62.9525059,71.5331283 L62.9525059,71.5331283 L62.4762572,71.5859877 L61.6545217,71.6574628 L60.0108212,71.7907605 C58.9151739,71.8769444 57.8190677,71.9509475 56.723191,72.0210437 C54.5309786,72.1573291 52.3383075,72.2648865 50.1451775,72.3455546 C41.3733459,72.6696058 32.5989908,72.5652659 23.8315179,72.0442559 C22.7356412,71.9799053 21.6402232,71.9031442 20.5445759,71.8238551 L20.5445759,71.8238551 L18.9015636,71.6951539 L18.0802869,71.6264367 L17.6696486,71.5910438 L17.4643294,71.5731176 C17.3957368,71.5671422 17.3305852,71.5620861 17.2461635,71.5522036 C15.9706611,71.433155 14.7132819,71.091867 13.5460596,70.5609746 C12.3779196,70.0296225 11.3006248,69.3040695 10.368774,68.4252242 C9.4371526,67.5466086 8.64822227,66.5163096 8.04901145,65.3832794 C7.4486536,64.2513983 7.03686821,63.0188545 6.83407251,61.7557442 C6.80952597,61.5978554 6.78268537,61.4401964 6.7670857,61.2811585 L6.7670857,61.2811585 L6.7407039,61.0428314 L6.72762771,60.9240127 L6.71868084,60.8210517 L6.6475647,59.9978237 L6.51565574,58.3504483 C6.43283985,57.2518916 6.35942964,56.1524157 6.29565452,55.0522503 C6.03986583,50.6529675 5.93755035,46.2348392 6.03825998,41.8194687 C6.13667554,37.4068562 6.41012856,33.0075734 6.82604327,28.6223099 C6.94441723,27.3608083 7.26696333,26.1147049 7.78312886,24.9545555 C8.29814735,23.7937167 9.0047206,22.7195213 9.86476706,21.7871271 C10.7243547,20.8542732 11.7390214,20.0655187 12.8543978,19.4603933 C13.9695447,18.8548081 15.1865483,18.43561 16.4368159,18.2241723 C16.5935008,18.2007303 16.7494975,18.1726918 16.9068707,18.1540761 L16.9068707,18.1540761 L17.3762372,18.1030552 L18.1975139,18.0336485 L19.8398379,17.9037982 C20.9350264,17.8199126 22.0302149,17.7482077 23.1254035,17.6801799 C24.2455974,17.6123819 25.3662501,17.552398 26.4866734,17.4993087 C26.4731384,17.4823018 26.459374,17.465065 26.4458389,17.4480581 C25.7073781,16.50762 24.9911698,15.5508645 24.2919376,14.5816985 L24.2919376,14.5816985 L23.7714133,13.8522385 L23.51356,13.4856699 C23.4275324,13.3636336 23.3408166,13.2418271 23.2678652,13.110368 C23.1203565,12.8481393 23.0129941,12.556723 22.9558718,12.2287648 C22.9017318,11.8985083 22.8909496,11.5365362 22.9953298,11.0911381 C23.4527671,9.13281148 25.2740285,7.85039596 27.2166461,8.01403034 C27.6717894,8.05195123 28.0122293,8.1735279 28.3093112,8.32682022 C28.6031814,8.48195113 28.8468116,8.67408363 29.0507543,8.89540373 C29.1530698,9.00548922 29.2418502,9.12568695 29.3313189,9.24519521 L29.3313189,9.24519521 L29.6001838,9.60371998 L30.1328666,10.3244467 C30.8380634,11.289246 31.5265136,12.266226 32.1922524,13.2595235 C32.8575324,14.2532806 33.5042304,15.2605973 34.1217938,16.2890578 C34.3094487,16.6025372 34.4950388,16.9178551 34.6778761,17.2350116 C37.4016243,17.1878978 40.125143,17.1791645 42.8488911,17.1968609 C43.5962988,17.2026065 44.3441653,17.2120293 45.0918023,17.2232906 C45.2723456,16.9100411 45.4558711,16.59886 45.6410025,16.2890578 C46.2587952,15.2605973 46.9054933,14.2532806 47.5707733,1Line truncated
<filter x="-15.4%" y="-16.3%" width="130.9%" height="132.5%" filterUnits="objectBoundingBox" id="6229a4d6-d7ef-4db2-a990-2e5a9a80e5fb">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter2"></feOffset>
<feGaussianBlur stdDeviation="3.5" in="shadowOffsetOuter2" result="shadowBlurOuter2"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter2" result="shadowMatrixOuter2"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="shadowMatrixOuter2"></feMergeNode>
</feMerge>
</filter>
</defs>
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.800000012">
<g transform="translate(-674.000000, -832.000000)">
<g transform="translate(514.000000, 759.000000)">
<g transform="translate(160.000000, 73.000000)">
<mask id="6571edcb-5f96-450a-80cd-4185b762ee4d" fill="white">
<use xlink:href="#dcacc03d-ebe2-486b-86c6-02f40070ed49"></use>
</mask>
<g mask="url(#6571edcb-5f96-450a-80cd-4185b762ee4d)">
<use fill="black" fill-opacity="1" filter="url(#6229a4d6-d7ef-4db2-a990-2e5a9a80e5fb)" xlink:href="#271c2bc0-87b1-41ff-8ceb-2ef24f2896fe"></use>
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#271c2bc0-87b1-41ff-8ceb-2ef24f2896fe"></use>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 74" height="54"><g fill="none" fill-rule="evenodd"><rect width="199" height="73" x="0.5" y="0.5" fill="#FFF" fill-opacity="0.889" stroke="#979797" stroke-opacity="0.207" rx="8"></rect><path fill="#003087" fill-rule="nonzero" d="M77.5599861,42.672 C82.5421299,42.6678941 86.7787401,39.0351801 87.5429861,34.112 C88.3229861,29.145 84.4419861,24.8089419 78.9429861,24.8089419 L70.0799861,24.8089419 C69.7362553,24.8045668 69.4418457,25.054175 69.3899861,25.394 L65.4399861,50.466 C65.411103,50.6513547 65.4646051,50.8400802 65.5864664,50.9827001 C65.7083276,51.1253201 65.8863949,51.2076112 66.0739861,51.2080349 L70.7639861,51.2080349 C71.1069609,51.2114294 71.4002308,50.9620648 71.4519861,50.623 L72.6139861,43.258 C72.665345,42.9181575 72.9593063,42.6681411 73.3029861,42.672 L77.5599861,42.672 Z M81.4849861,33.886 C81.1949861,35.722 79.7759861,37.075 77.0599861,37.075 L73.5859861,37.075 L74.6389861,30.395 L78.0499861,30.395 C80.8599861,30.401 81.7729861,32.058 81.4849861,33.891 L81.4849861,33.886 Z M107.862986,32.706 L103.409986,32.706 C103.066412,32.702002 102.772249,32.9514007 102.719986,33.291 L102.575986,34.215 C102.575986,34.215 99.1189861,30.44 93.0009861,32.99 C89.4909861,34.451 87.8069861,37.47 87.0909861,39.68 C87.0909861,39.68 84.8139861,46.398 89.9609861,50.097 C89.9609861,50.097 94.7319861,53.653 100.105986,49.877 L100.012986,50.466 C99.9837482,50.6514164 100.037121,50.8403412 100.159058,50.9830492 C100.280994,51.1257572 100.459279,51.207952 100.646986,51.208 L105.097986,51.208 C105.441717,51.2124332 105.736126,50.962825 105.787986,50.623 L108.495986,33.448 C108.524869,33.2626453 108.471367,33.0739198 108.349506,32.9312999 C108.227645,32.7886799 108.049577,32.7063888 107.861986,32.706 L107.862986,32.706 Z M101.315986,42.198 C100.955689,44.6729154 98.8208538,46.5000884 96.3199861,46.474 C95.8464479,46.4793866 95.3750127,46.4102067 94.9229861,46.269 C93.0029861,45.653 91.9079861,43.807 92.2229861,41.807 C92.5837159,39.3248218 94.7289785,37.494888 97.2369861,37.53 C97.7109861,37.525 98.1829861,37.595 98.6349861,37.736 C100.547986,38.35 101.635986,40.196 101.320986,42.198 L101.315986,42.198 L101.315986,42.198 Z"></path><path fill="#0070E0" fill-rule="nonzero" d="M141.671986,42.672 C146.656916,42.6706404 150.897643,39.037672 151.663986,34.112 C152.442986,29.145 148.562986,24.8089637 143.061986,24.8089637 L134.201986,24.8089637 C133.85879,24.805503 133.565196,25.0547804 133.512986,25.394 L129.550986,50.473 C129.504409,50.756977 129.654011,51.0369155 129.915986,51.156 C130.000231,51.1952988 130.092026,51.2160348 130.184986,51.2160348 L134.875986,51.2160348 C135.219509,51.2194242 135.513223,50.9696175 135.564986,50.63 L136.727986,43.265 C136.778939,42.9249317 137.073149,42.6747042 137.416986,42.679 L141.671986,42.672 L141.671986,42.672 Z M145.596986,33.886 C145.306986,35.722 143.887986,37.075 141.170986,37.075 L137.697986,37.075 L138.751986,30.395 L142.162986,30.395 C144.970986,30.401 145.885986,32.058 145.596986,33.891 L145.596986,33.886 Z M171.973986,32.706 L167.525986,32.706 C167.18279,32.702503 166.889196,32.9517804 166.836986,33.291 L166.690986,34.215 C166.690986,34.215 163.234986,30.44 157.116986,32.99 C153.607986,34.451 151.922986,37.47 151.205986,39.68 C151.205986,39.68 148.929986,46.398 154.075986,50.097 C154.075986,50.097 158.847986,53.653 164.221986,49.877 L164.128986,50.466 C164.082409,50.749977 164.232011,51.0299155 164.493986,51.149 C164.577986,51.189 164.669986,51.209 164.762986,51.209 L169.213986,51.209 C169.55814,51.2141761 169.852851,50.9635224 169.902986,50.623 L172.611986,33.448 C172.638967,33.2621157 172.585098,33.073572 172.463986,32.93 C172.342253,32.7859662 172.162559,32.7038202 171.973986,32.706 L171.973986,32.706 Z M165.427986,42.198 C165.071797,44.6751772 162.934454,46.5044962 160.431986,46.474 C159.957778,46.4795969 159.485652,46.4104146 159.032986,46.269 C157.111986,45.653 156.015986,43.807 156.330986,41.807 C156.69083,39.3316868 158.825789,37.5039809 161.326986,37.53 C161.801986,37.525 162.273986,37.594 162.725986,37.736 C164.658986,38.35 165.749986,40.196 165.432986,42.198 L165.427986,42.198 L165.427986,42.198 Z"></path><path fill="#003087" fill-rule="nonzero" d="M124.204986,33.131 L118.837986,42.19 L116.114986,33.198 C116.0272,32.9049326 115.756916,32.7046623 115.450986,32.7059048 L110.608986,32.7059048 C110.439552,32.7027489 110.279321,32.782901 110.180312,32.9204358 C110.081303,33.0579706 110.056138,33.2353538 110.112986,33.395 L114.992986,48.541 L110.579986,55.679 C110.47841,55.8390534 110.472572,56.0418621 110.564775,56.2074929 C110.656977,56.3731236 110.832432,56.4750118 111.021986,56.4730293 L116.238986,56.4730293 C116.542538,56.474558 116.82432,56.3156042 116.979986,56.055 L130.611986,33.503 C130.711981,33.342671 130.716344,33.140509 130.62336,32.9760149 C130.530376,32.8115209 130.354918,32.7110068 130.165986,32.714 L124.950986,32.714 C124.645859,32.7104527 124.361807,32.8692321 124.204986,33.131 L124.204986,33.131 ZLine truncated

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

+137 -75
View File
@@ -1,11 +1,8 @@
(function () {
var userAgent = window.navigator.userAgent;
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
var isIE = /MSIE|Trident/.test(userAgent);
Artplayer.DEBUG = true;
if (isMobile || isIE) {
window.location.href = './mobile.html';
return;
if (Artplayer.utils.isMobile) {
window.location.href = './mobile.html' + location.search;
}
var $codeMirror = document.querySelector('.codeMirrorWrap');
@@ -13,59 +10,87 @@
var $run = document.querySelector('.run');
var $popups = document.querySelector('.popups');
var $console = document.querySelector('.console');
var loaddLib = [];
var $prod = document.querySelector('#prod');
var $ts = document.querySelector('#ts');
var $code = document.querySelector('#code');
var $log = document.querySelector('#log');
var $file = document.querySelector('#file');
var $editor = document.querySelector('#editor');
window.consoleLog($console);
window['consoleLog']($console);
$prod.checked = localStorage.getItem('prod') === 'true';
$ts.checked = localStorage.getItem('ts') === 'true';
$code.checked = localStorage.getItem('code') === 'true';
$log.checked = localStorage.getItem('log') === 'true';
if ($code.checked) {
$editor.style.display = 'none';
}
if ($log.checked) {
$console.style.display = 'none';
}
var editor = null;
var loadedLibs = [];
require.config({ paths: { vs: './assets/js/vs' } });
require(['vs/editor/editor.main'], function () {
var libUri = './assets/ts/artplayer.d.ts';
fetch(libUri)
.then((res) => res.text())
.then((libSource) => {
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
noSyntaxValidation: false,
});
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES6,
allowNonTsExtensions: true,
});
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
var disposable = monaco.editor.onDidCreateEditor(function () {
disposable.dispose();
setTimeout(initApp, 1000);
});
editor = monaco.editor.create($codeMirror, {
theme: 'vs-dark',
automaticLayout: true,
model: monaco.editor.createModel(
[
'var art = new Artplayer({',
"\tcontainer: '.artplayer-app',",
"\turl: 'https://artplayer.org/assets/sample/video.mp4',",
'});',
].join('\n'),
'javascript',
),
});
});
});
function initArt(art) {
Artplayer.config.events.forEach(function (item) {
art &&
art.on('video:' + item, function (event) {
console.log('video: ' + event.type);
});
require(['vs/editor/editor.main'], async function () {
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
noSyntaxValidation: false,
});
}
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES6,
allowNonTsExtensions: true,
});
var libUris = [
'./assets/ts/artplayer.d.ts',
'./assets/ts/artplayer-plugin-ads.d.ts',
'./assets/ts/artplayer-plugin-control.d.ts',
'./assets/ts/artplayer-plugin-danmuku.d.ts',
'./assets/ts/artplayer-plugin-dash-quality.d.ts',
'./assets/ts/artplayer-plugin-hls-quality.d.ts',
'./assets/ts/artplayer-plugin-iframe.d.ts',
'./assets/ts/artplayer-plugin-chromecast.d.ts',
'./assets/ts/artplayer-plugin-libass.d.ts',
'./assets/ts/artplayer-plugin-multiple-subtitles.d.ts',
'./assets/ts/artplayer-plugin-vtt-thumbnail.d.ts',
];
for (let index = 0; index < libUris.length; index++) {
var libUri = libUris[index];
var libSource = await (await fetch(libUri)).text();
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
}
var disposable = monaco.editor.onDidCreateEditor(function () {
disposable.dispose();
setTimeout(initApp, 1000);
});
editor = monaco.editor.create($codeMirror, {
theme: 'vs-dark',
automaticLayout: true,
quickSuggestions: {
other: true,
comments: true,
strings: true,
},
model: monaco.editor.createModel(
[
'var art = new Artplayer({',
"\tcontainer: '.artplayer-app',",
"\turl: '/assets/sample/video.mp4',",
'});',
].join('\n'),
$ts.checked ? 'typescript' : 'javascript',
),
});
});
function getURLParameters(url) {
return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(function (a, v) {
@@ -124,7 +149,7 @@
libsDecode
.split(/\r?\n/)
.filter(function (url) {
return !loaddLib.includes(url);
return !loadedLibs.includes(url);
})
.forEach(function (url) {
var ext = getExt(url);
@@ -163,27 +188,13 @@
}
}
function formatDate(date) {
var date = new Date(Number(date));
var YY = date.getFullYear() + '-';
var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return YY + MM + DD + ' ' + hh + mm + ss;
}
function runCode() {
Artplayer.instances.forEach(function (art) {
[...Artplayer.instances].forEach(function (art) {
art.destroy(true);
});
var code = editor.getValue();
eval(code);
initArt(Artplayer.instances[0]);
console.debug('Artplayer@' + Artplayer.version);
console.debug('Env@' + Artplayer.env);
console.debug('Build@' + formatDate(Artplayer.build));
const value = editor.getValue();
eval(value);
window.art = Artplayer.instances[0];
}
function initApp() {
@@ -194,7 +205,7 @@
loadLib(libs)
.then(function (result) {
loaddLib = loaddLib.concat(result);
loadedLibs = loadedLibs.concat(result);
loadCode(code, example);
})
.catch(function (err) {
@@ -210,6 +221,14 @@
initApp();
}
function readFile(file) {
return new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result);
reader.readAsText(file);
})
}
$run.addEventListener('click', function () {
restart();
});
@@ -220,6 +239,49 @@
}
});
$prod.addEventListener('change', function () {
localStorage.setItem('prod', $prod.checked ? 'true' : 'false');
window.location.reload();
});
$ts.addEventListener('change', function () {
localStorage.setItem('ts', $ts.checked ? 'true' : 'false');
window.location.reload();
});
$code.addEventListener('change', function () {
localStorage.setItem('code', $code.checked ? 'true' : 'false');
window.location.reload();
});
$log.addEventListener('change', function () {
localStorage.setItem('log', $log.checked ? 'true' : 'false');
window.location.reload();
});
$file.addEventListener('change', async function () {
for (let index = 0; index < $file.files.length; index++) {
const file = $file.files[index];
const name = file.name.toLowerCase().trim()
if (name.endsWith('.css')) {
const text = await readFile(file);
const $style = document.createElement('style');
$style.textContent = text;
document.body.appendChild($style);
$lib.value = `\n[${name}]`;
$lib.value = $lib.value.trim();
}
if (name.endsWith('.js')) {
const text = await readFile(file);
const $script = document.createElement('script');
$script.textContent = text;
document.body.appendChild($script);
$lib.value = `\n[${name}]`;
$lib.value = $lib.value.trim();
}
}
});
window.addEventListener('error', function (err) {
console.error(err);
});
@@ -234,4 +296,4 @@
restart();
}
});
})();
})();
+100
View File
@@ -0,0 +1,100 @@
(function () {
Artplayer.DEBUG = true;
function getURLParameters(url) {
return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(function (a, v) {
return (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a;
}, {});
}
function getExt(url) {
if (url.includes('?')) {
return getExt(url.split('?')[0]);
}
if (url.includes('#')) {
return getExt(url.split('#')[0]);
}
return url.trim().toLowerCase().split('.').pop();
}
function loadScript(url) {
return new Promise(function (resolve, reject) {
var define2 = window.define;
window.define = undefined;
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.onload = function () {
window.define = define2;
resolve(url);
};
script.onerror = function () {
reject(new Error('Loading script failed:' + url));
};
document.querySelector('head').appendChild(script);
});
}
function loadStyle(url) {
return new Promise(function (resolve, reject) {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = url;
link.onload = function () {
resolve(url);
};
link.onerror = function () {
reject(new Error('Loading style failed:' + url));
};
document.querySelector('head').appendChild(link);
});
}
function loadLib(libs) {
var libPromise = [];
var libsDecode = decodeURIComponent(libs || '');
libsDecode
.split(/\r?\n/)
.forEach(function (url) {
var ext = getExt(url);
if (ext === 'js') {
libPromise.push(loadScript(url));
} else if (ext === 'css') {
libPromise.push(loadStyle(url));
}
});
return Promise.all(libPromise);
}
function runExample(name) {
fetch('./assets/example/' + name + '.js')
.then(function (response) {
return response.text();
})
.then(function (text) {
eval(text);
})
}
function loadCode(code, example) {
if (example) {
runExample(example);
} else if (code) {
eval(decodeURIComponent(code).trim());
} else {
runExample('mobile');
}
}
var _getURLParameters = getURLParameters(window.location.href),
code = _getURLParameters.code,
libs = _getURLParameters.libs;
example = _getURLParameters.example;
loadLib(libs)
.then(function () {
loadCode(code, example);
})
})();
-13
View File
@@ -1,13 +0,0 @@
/**
* core-js 3.19.2
* https://github.com/zloirock/core-js
* License: http://rock.mit-license.org
* © 2021 Denis Pushkarev (zloirock.ru)
*/
!function(t){"use strict";var r,e,n;r=[function(t,r,e){e(1),e(84),e(85),e(86),e(87),e(88),e(89),e(90),e(91),e(92),e(93),e(94),e(95),e(96),e(97),e(98),e(113),e(115),e(117),e(119),e(121),e(123),e(124),e(125),e(126),e(128),e(129),e(131),e(135),e(136),e(137),e(138),e(142),e(143),e(145),e(146),e(147),e(150),e(151),e(152),e(153),e(154),e(159),e(161),e(162),e(163),e(164),e(171),e(173),e(176),e(177),e(178),e(179),e(180),e(181),e(185),e(186),e(188),e(189),e(190),e(192),e(193),e(194),e(195),e(196),e(197),e(205),e(207),e(208),e(209),e(211),e(212),e(214),e(215),e(217),e(218),e(219),e(220),e(221),e(222),e(223),e(224),e(225),e(226),e(227),e(231),e(232),e(234),e(236),e(237),e(238),e(239),e(240),e(242),e(244),e(245),e(246),e(248),e(249),e(251),e(252),e(253),e(254),e(256),e(257),e(258),e(259),e(260),e(261),e(262),e(263),e(265),e(266),e(267),e(268),e(269),e(270),e(271),e(272),e(273),e(274),e(276),e(277),e(278),e(279),e(291),e(292),e(293),e(294),e(295),e(296),e(297),e(298),e(300),e(301),e(302),e(303),e(304),e(305),e(306),e(307),e(308),e(309),e(315),e(316),e(318),e(319),e(320),e(321),e(322),e(323),e(324),e(326),e(329),e(330),e(331),e(332),e(336),e(337),e(339),e(340),e(341),e(342),e(344),e(345),e(346),e(347),e(348),e(349),e(351),e(352),e(353),e(356),e(357),e(358),e(359),e(360),e(361),e(362),e(363),e(364),e(365),e(366),e(367),e(368),e(374),e(375),e(376),e(377),e(378),e(379),e(380),e(381),e(382),e(383),e(384),e(385),e(386),e(390),e(391),e(392),e(393),e(394),e(395),e(396),e(397),e(398),e(399),e(400),e(401),e(402),e(403),e(404),e(405),e(406),e(407),e(408),e(409),e(410),e(411),e(412),e(414),e(415),e(416),e(423),e(424),e(425),e(426),e(428),e(429),e(431),e(432),e(433),e(434),e(436),e(437),e(439),e(440),e(441),e(442),e(443),e(444),e(445),e(446),e(447),e(448),e(449),e(450),e(451),e(453),e(455),e(456),e(457),e(458),e(460),e(461),e(462),e(463),e(464),e(465),e(466),e(467),e(468),e(469),e(470),e(471),e(472),e(474),e(476),e(478),e(479),e(480),e(481),e(483),e(484),e(486),e(487),e(488),e(489),e(490),e(491),e(493),e(494),e(495),e(496),e(498),e(499),e(500),e(501),e(502),e(504),e(505),e(506),e(507),e(508),e(509),e(510),e(511),e(512),e(513),e(514),e(515),e(516),e(518),e(519),e(520),e(521),e(522),e(523),e(524),e(526),e(527),e(528),e(529),e(530),e(531),e(532),e(533),e(534),e(536),e(537),e(538),e(540),e(541),e(542),e(543),e(544),e(545),e(546),e(547),e(548),e(549),e(550),e(551),e(552),e(553),e(554),e(555),e(556),e(557),e(558),e(559),e(560),e(561),e(562),e(563),e(564),e(565),e(566),e(567),e(568),e(569),e(570),e(571),e(572),e(573),e(574),e(575),e(576),e(577),e(578),e(579),e(580),e(581),e(582),e(585),e(586),e(587),e(588),e(589),e(593),t.exports=e(592)},function(r,e,n){var o,i=n(2),a=n(3),u=n(20),f=n(62),c=n(7),s=n(12),l=n(32),h=n(5),p=n(23),g=n(6),v=n(35),d=n(63),y=n(18),m=n(17),x=n(21),b=n(19),w=n(42),S=n(36),A=n(10),I=n(15),E=n(64),R=n(9),T=n(67),O=n(69),M=n(52),P=n(71),j=n(60),N=n(4),k=n(41),_=n(8),U=n(74),L=n(43),D=n(31),C=n(47),B=n(48),z=n(37),W=n(30),q=n(75),G=n(76),V=n(78),Y=n(45),K=n(79).forEach,H=C("hidden"),$="Symbol",J=W("toPrimitive"),X=Y.set,Q=Y.getterFor($),Z=Object.prototype,tt=a.Symbol,rt=tt&&tt.prototype,et=a.TypeError,nt=a.QObject,ot=u("JSON","stringify"),it=N.f,ut=k.f,ft=P.f,ct=_.f,st=s([].push),lt=D("symbols"),ht=D("op-symbols"),pt=D("string-to-symbol-registry"),gt=D("symbol-to-string-registry"),vt=D("wks"),dt=!nt||!nt.prototype||!nt.prototype.findChild,yt=h&&g((function(){return 7!=T(ut({},"a",{get:function(){return ut(this,"a",{value:7}).a}})).a}))?function(t,r,e){var n=it(Z,r);n&&delete Z[r],ut(t,r,e),n&&t!==Z&&ut(Z,r,n)}:ut,wrap=function(t,r){var e=lt[t]=T(rt);return X(e,{type:$,tag:t,description:r}),h||(e.description=r),e},mt=function defineProperty(t,r,e){t===Z&&mt(ht,r,e),w(t);var n=I(r);return w(e),v(lt,n)?(e.enumerable?(v(t,H)&&t[H][n]&&(t[H][n]=!1),e=T(e,{enumerable:R(0,!1)})):(v(t,H)||ut(t,H,R(1,{})),t[H][n]=!0),yt(t,n,e)):ut(t,n,e)},xt=function defineProperties(t,r){var e,n;return w(t),e=A(r),n=O(e).concat(At(e)),K(n,(function(r){h&&!c(bt,e,r)||mt(t,r,e[r])})),t},bt=function propertyIsEnumerable(t){var r=I(t),e=c(ct,this,r);return!(this===Z&&v(lt,r)&&!v(ht,r))&&(!(e||!v(this,r)||!v(lt,r)||v(this,H)&&this[H][r])||e)},wt=function getOwnPropertyDescriptor(t,r){var e,n=A(t),o=I(r);if(n!==Z||!v(lt,o)||v(ht,o))return!(e=it(n,o))||!v(lt,o)||v(n,H)&&n[H][o]||(e.enumerable=!0),e},St=function getOwnPropertyNames(t){var r=ft(A(t)),e=[];return K(r,(function(t){v(lt,t)||v(B,t)||st(e,t)})),e},At=function getOwnPropertySymbols(t){var r=t===Z,e=ft(r?ht:A(t)),n=[];return K(e,(function(t){!v(lt,t)||r&&!v(Z,t)||st(n,lt[t])})),n};p||(tt=function Symbol(){var r,e,n;if(x(rt,this))throw et("Symbol is not a constructor");return r=arguments.length&&arguments[0]!==t?E(arguments[0]):t,e=z(r),n=function(t){this===Z&&c(n,ht,t),v(this,H)&&v(this[H],e)&&(this[H][e]=!1),yt(this,e,R(1,t))},h&&dt&&yt(Z,e,{configurable:!0,set:n}),wrap(e,r)},L(rt=tt.prototype,"toString",(function toString(){return Q(this).tag})),L(tt,"withoutSetter",(function(t){return wrapLine truncated
})}),(function(){var r=l(this),e=r.target,n=r.kind,o=r.index++;return!e||o>=e.length?(r.target=t,{value:t,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:e[o],done:!1}:{value:[o,e[o]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},function(t,r,e){var n=e(2),o=e(7),i=e(32),a=e(49),u=e(18),f=e(140),c=e(99),s=e(101),l=e(78),h=e(40),p=e(43),g=e(30),v=e(107),d=e(141),y=a.PROPER,m=a.CONFIGURABLE,x=d.IteratorPrototype,b=d.BUGGY_SAFARI_ITERATORS,w=g("iterator"),S="keys",A="values",I="entries",returnThis=function(){return this};t.exports=function(t,r,e,a,g,d,E){var R,T,O,M,P,j,N,k,_,U;if(f(e,r,a),R=function(t){if(t===g&&j)return j;if(!b&&t in M)return M[t];switch(t){case S:return function keys(){return new e(this,t)};case A:return function values(){return new e(this,t)};case I:return function entries(){return new e(this,t)}}return function(){return new e(this)}},T=r+" Iterator",O=!1,P=(M=t.prototype)[w]||M["@@iterator"]||g&&M[g],j=!b&&P||R(g),(N="Array"==r&&M.entries||P)&&(k=c(N.call(new t)))!==Object.prototype&&k.next&&(i||c(k)===x||(s?s(k,x):u(k[w])||p(k,w,returnThis)),l(k,T,!0,!0),i&&(v[T]=returnThis)),y&&g==A&&P&&P.name!==A&&(!i&&m?h(M,"name",A):(O=!0,j=function values(){return o(P,this)})),g)if(_={values:R(A),keys:d?j:R(S),entries:R(I)},E)for(U in _)(b||O||!(U in M))&&p(M,U,_[U]);else n({target:r,proto:!0,forced:b||O},_);return i&&!E||M[w]===j||p(M,w,j,{name:g}),v[r]=j,_}},function(t,r,e){var n=e(141).IteratorPrototype,o=e(67),i=e(9),a=e(78),u=e(107),returnThis=function(){return this};t.exports=function(t,r,e){var f=r+" Iterator";return t.prototype=o(n,{next:i(1,e)}),a(t,f,!1,!0),u[f]=returnThis,t}},function(r,e,n){var o,i,a,u=n(6),f=n(18),c=n(67),s=n(99),l=n(43),h=n(30),p=n(32),g=h("iterator"),v=!1;[].keys&&("next"in(a=[].keys())?(i=s(s(a)))!==Object.prototype&&(o=i):v=!0),o==t||u((function(){var t={};return o[g].call(t)!==t}))?o={}:p&&(o=c(o)),f(o[g])||l(o,g,(function(){return this})),r.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:v}},function(r,e,n){var o=n(2),i=n(12),a=n(11),u=n(10),f=n(120),c=i([].join),s=a!=Object,l=f("join",",");o({target:"Array",proto:!0,forced:s||!l},{join:function join(r){return c(u(this),r===t?",":r)}})},function(t,r,e){var n=e(2),o=e(144);n({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,r,e){var n=e(62),o=e(10),i=e(56),a=e(57),u=e(120),f=Math.min,c=[].lastIndexOf,s=!!c&&1/[1].lastIndexOf(1,-0)<0,l=u("lastIndexOf");t.exports=s||!l?function lastIndexOf(t){var r,e,u;if(s)return n(c,this,arguments)||0;for(r=o(this),u=(e=a(r))-1,arguments.length>1&&(u=f(u,i(arguments[1]))),u<0&&(u=e+u);u>=0;u--)if(u in r&&r[u]===t)return u||0;return-1}:c},function(r,e,n){var o=n(2),i=n(79).map;o({target:"Array",proto:!0,forced:!n(116)("map")},{map:function map(r){return i(this,r,arguments.length>1?arguments[1]:t)}})},function(t,r,e){var n=e(2),o=e(3),i=e(6),a=e(83),u=e(73),f=o.Array;n({target:"Array",stat:!0,forced:i((function(){function F(){}return!(f.of.call(F)instanceof F)}))},{of:function of(){for(var t=0,r=arguments.length,e=new(a(this)?this:f)(r);r>t;)u(e,t,arguments[t++]);return e.length=r,e}})},function(r,e,n){var o=n(2),i=n(148).left,a=n(120),u=n(24),f=n(149);o({target:"Array",proto:!0,forced:!a("reduce")||!f&&u>79&&u<83},{reduce:function reduce(r){var e=arguments.length;return i(this,r,e,e>1?arguments[1]:t)}})},function(t,r,e){var n=e(3),o=e(27),i=e(36),a=e(11),u=e(57),f=n.TypeError,createMethod=function(t){return function(r,e,n,c){var s,l,h,p,g;if(o(e),s=i(r),l=a(s),h=u(s),p=t?h-1:0,g=t?-1:1,n<2)for(;;){if(p in l){c=l[p],p+=g;break}if(p+=g,t?p<0:h<=p)throw f("Reduce of empty array with no initial value")}for(;t?p>=0:h>p;p+=g)p in l&&(c=e(c,l[p],p,s));return c}};t.exports={left:createMethod(!1),right:createMethod(!0)}},function(t,r,e){var n=e(13),o=e(3);t.exports="process"==n(o.process)},function(r,e,n){var o=n(2),i=n(148).right,a=n(120),u=n(24),f=n(149);o({target:"Array",proto:!0,forced:!a("reduceRight")||!f&&u>79&&u<83},{reduceRight:function reduceRight(r){return i(this,r,arguments.length,arguments.length>1?arguments[1]:t)}})},function(t,r,e){var n=e(2),o=e(12),i=e(63),a=o([].reverse),u=[1,2];n({target:"Array",proto:!0,forced:String(u)===String(u.reverse())},{reverse:function reverse(){return i(this)&&(this.length=this.length),a(this)}})},function(r,e,n){var o=n(2),i=n(3),a=n(63),u=n(83),f=n(17),c=n(55),s=n(57),l=n(10),h=n(73),p=n(30),g=n(116),v=n(74),d=g("slice"),y=p("species"),m=i.Array,x=Math.max;o({target:"Array",proto:!0,forced:!d},{slice:function slice(r,e){var n,o,i,p=l(this),g=s(p),d=c(r,g),b=c(e===t?g:e,g);if(a(p)&&((u(n=p.constructor)&&(n===m||a(n.prototype))||f(n)&&null===(n=n[y]))&&(n=t),n===m||n===t))return v(p,d,b);for(o=new(n===t?m:n)(x(b-d,0)),i=0;d<b;d++,i++)d in p&&h(o,i,p[d]);return o.length=i,o}})},function(r,e,n){var o=n(2),i=n(79).some;o({target:"Array",proto:!0,forced:!n(120)("some")},{some:function some(r){return i(this,r,arguments.length>1?arguments[1]:t)}})},function(r,e,n){var o=n(2),i=Line truncated
})},function(t,r,e){var n=e(3),o=e(6),i=e(12),a=e(64),u=e(229).trim,f=e(230),c=n.parseInt,s=n.Symbol,l=s&&s.iterator,h=/^[+-]?0x/i,p=i(h.exec),g=8!==c(f+"08")||22!==c(f+"0x16")||l&&!o((function(){c(Object(l))}));t.exports=g?function parseInt(t,r){var e=u(a(t));return c(e,r>>>0||(p(h,e)?16:10))}:c},function(t,r,e){var n=e(2),o=e(3),i=e(12),a=e(56),u=e(228),f=e(184),c=e(6),s=o.RangeError,l=o.String,h=Math.floor,p=i(f),g=i("".slice),v=i(1..toFixed),pow=function(t,r,e){return 0===r?e:r%2==1?pow(t,r-1,e*t):pow(t*t,r/2,e)},multiply=function(t,r,e){for(var n=-1,o=e;++n<6;)t[n]=(o+=r*t[n])%1e7,o=h(o/1e7)},divide=function(t,r){for(var e=6,n=0;--e>=0;)t[e]=h((n+=t[e])/r),n=n%r*1e7},dataToString=function(t){for(var r,e=6,n="";--e>=0;)""===n&&0!==e&&0===t[e]||(r=l(t[e]),n=""===n?r:n+p("0",7-r.length)+r);return n};n({target:"Number",proto:!0,forced:c((function(){return"0.000"!==v(8e-5,3)||"1"!==v(.9,0)||"1.25"!==v(1.255,2)||"1000000000000000128"!==v(0xde0b6b3a7640080,0)}))||!c((function(){v({})}))},{toFixed:function toFixed(t){var r,e,n,o,i=u(this),f=a(t),c=[0,0,0,0,0,0],h="",v="0";if(f<0||f>20)throw s("Incorrect fraction digits");if(i!=i)return"NaN";if(i<=-1e21||i>=1e21)return l(i);if(i<0&&(h="-",i=-i),i>1e-21)if(e=(r=function(t){for(var r=0,e=t;e>=4096;)r+=12,e/=4096;for(;e>=2;)r+=1,e/=2;return r}(i*pow(2,69,1))-69)<0?i*pow(2,-r,1):i/pow(2,r,1),e*=4503599627370496,(r=52-r)>0){for(multiply(c,0,e),n=f;n>=7;)multiply(c,1e7,0),n-=7;for(multiply(c,pow(10,n,1),0),n=r-1;n>=23;)divide(c,1<<23),n-=23;divide(c,1<<n),multiply(c,1,1),divide(c,2),v=dataToString(c)}else multiply(c,0,e),multiply(c,1<<-r,0),v=dataToString(c)+p("0",f);return f>0?h+((o=v.length)<=f?"0."+p("0",f-o)+v:g(v,0,o-f)+"."+g(v,o-f)):h+v}})},function(r,e,n){var o=n(2),i=n(12),a=n(6),u=n(228),f=i(1..toPrecision);o({target:"Number",proto:!0,forced:a((function(){return"1"!==f(1,t)}))||!a((function(){f({})}))},{toPrecision:function toPrecision(r){return r===t?f(u(this)):f(u(this),r)}})},function(t,r,e){var n=e(2),o=e(247);n({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,r,e){var n=e(5),o=e(12),i=e(7),a=e(6),u=e(69),f=e(60),c=e(8),s=e(36),l=e(11),h=Object.assign,p=Object.defineProperty,g=o([].concat);t.exports=!h||a((function(){var t,r,e,o;return!(!n||1===h({b:1},h(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)||(r={},o="abcdefghijklmnopqrst",(t={})[e=Symbol()]=7,o.split("").forEach((function(t){r[t]=t})),7!=h({},t)[e]||u(h({},r)).join("")!=o)}))?function assign(t,r){for(var e,o,a,h,p,v=s(t),d=arguments.length,y=1,m=f.f,x=c.f;d>y;)for(e=l(arguments[y++]),a=(o=m?g(u(e),m(e)):u(e)).length,h=0;a>h;)p=o[h++],n&&!i(x,e,p)||(v[p]=e[p]);return v}:h},function(t,r,e){e(2)({target:"Object",stat:!0,sham:!e(5)},{create:e(67)})},function(t,r,e){var n=e(2),o=e(5),i=e(250),a=e(27),u=e(36),f=e(41);o&&n({target:"Object",proto:!0,forced:i},{__defineGetter__:function __defineGetter__(t,r){f.f(u(this),t,{get:a(r),enumerable:!0,configurable:!0})}})},function(t,r,e){var n=e(32),o=e(3),i=e(6),a=e(158);t.exports=n||!i((function(){if(!(a&&a<535)){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}}))},function(t,r,e){var n=e(2),o=e(5);n({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:e(68)})},function(t,r,e){var n=e(2),o=e(5);n({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:e(41).f})},function(t,r,e){var n=e(2),o=e(5),i=e(250),a=e(27),u=e(36),f=e(41);o&&n({target:"Object",proto:!0,forced:i},{__defineSetter__:function __defineSetter__(t,r){f.f(u(this),t,{set:a(r),enumerable:!0,configurable:!0})}})},function(t,r,e){var n=e(2),o=e(255).entries;n({target:"Object",stat:!0},{entries:function entries(t){return o(t)}})},function(t,r,e){var n=e(5),o=e(12),i=e(69),a=e(10),u=o(e(8).f),f=o([].push),createMethod=function(t){return function(r){for(var e,o=a(r),c=i(o),s=c.length,l=0,h=[];s>l;)e=c[l++],n&&!u(o,e)||f(h,t?[e,o[e]]:o[e]);return h}};t.exports={entries:createMethod(!0),values:createMethod(!1)}},function(t,r,e){var n=e(2),o=e(202),i=e(6),a=e(17),u=e(199).onFreeze,f=Object.freeze;n({target:"Object",stat:!0,forced:i((function(){f(1)})),sham:!o},{freeze:function freeze(t){return f&&a(t)?f(u(t)):t}})},function(t,r,e){var n=e(2),o=e(105),i=e(73);n({target:"Object",stat:!0},{fromEntries:function fromEntries(t){var r={};return o(t,(function(t,e){i(r,t,e)}),{AS_ENTRIES:!0}),r}})},function(t,r,e){var n=e(2),o=e(6),i=e(10),a=e(4).f,u=e(5),f=o((function(){a(1)}));n({target:"Object",stat:!0,forced:!u||f,sham:!u},{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,r){return a(i(t),r)}})},function(r,e,n){var o=n(2),i=n(5),a=n(51),u=n(10),f=n(4),c=n(73);o({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(r){for(var e,n,o=u(r),i=f.f,s=a(o),l={},h=0;s.length>h;)(n=i(o,e=s[h++]))!==t&&c(l,e,n);return l}})},function(t,r,e){var n=e(2),o=e(6),i=e(71).f;n({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},Line truncated
;if("string"==typeof i&&-1===I(i,a)&&-1===I(i,"$<")&&(u=n(e,C,B,i)).done)return u.value;for((f=s(i))||(i=p(i)),(g=C.global)&&(d=C.unicode,C.lastIndex=0),x=[];null!==(R=m(C,B))&&(A(x,R),g);)""===p(R[0])&&(C.lastIndex=v(B,h(C.lastIndex),d));for(T="",O=0,M=0;M<x.length;M++){for(P=p((R=x[M])[0]),j=b(w(l(R.index),B.length),0),N=[],k=1;k<R.length;k++)A(N,(D=R[k])===t?D:String(D));_=R.groups,f?(U=S([P],N,j,B),_!==t&&A(U,_),L=p(o(i,t,U))):L=y(P,B,j,N,_,i),j>=O&&(T+=E(B,O,j)+L,O=j+P.length)}return T+E(B,O)}]}),!!f((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}))||!R||T)},function(r,e,n){var o=n(12),i=n(36),a=Math.floor,u=o("".charAt),f=o("".replace),c=o("".slice),s=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,l=/\$([$&'`]|\d{1,2})/g;r.exports=function(r,e,n,o,h,p){var g=n+r.length,v=o.length,d=l;return h!==t&&(h=i(h),d=s),f(p,d,(function(i,f){var s,l,p;switch(u(f,0)){case"$":return"$";case"&":return r;case"`":return c(e,0,n);case"'":return c(e,g);case"<":s=h[c(f,1,-1)];break;default:if(0==(l=+f))return i;if(l>v)return 0===(p=a(l/10))?i:p<=v?o[p-1]===t?u(f,1):o[p-1]+u(f,1):i;s=o[l-1]}return s===t?"":s}))}},function(r,e,n){var o=n(2),i=n(3),a=n(7),u=n(12),f=n(14),c=n(18),s=n(310),l=n(64),h=n(26),p=n(311),g=n(343),v=n(30),d=n(32),y=v("replace"),m=RegExp.prototype,x=i.TypeError,b=u(p),w=u("".indexOf),S=u("".replace),A=u("".slice),I=Math.max,stringIndexOf=function(t,r,e){return e>t.length?-1:""===r?e:w(t,r,e)};o({target:"String",proto:!0},{replaceAll:function replaceAll(r,e){var n,o,i,u,p,v,E,R,T,O=f(this),M=0,P=0,j="";if(null!=r){if((n=s(r))&&(o=l(f("flags"in m?r.flags:b(r))),!~w(o,"g")))throw x("`.replaceAll` does not allow non-global regexes");if(i=h(r,y))return a(i,r,O,e);if(d&&n)return S(l(O),r,e)}for(u=l(O),p=l(r),(v=c(e))||(e=l(e)),R=I(1,E=p.length),M=stringIndexOf(u,p,0);-1!==M;)T=v?l(e(p,M,u)):g(p,u,M,[],t,e),j+=A(u,P,M)+T,P=M+E,M=stringIndexOf(u,p,M+R);return P<u.length&&(j+=A(u,P)),j}})},function(r,e,n){var o=n(7),i=n(333),a=n(42),u=n(14),f=n(264),c=n(64),s=n(26),l=n(335);i("search",(function(r,e,n){return[function search(e){var n=u(this),i=e==t?t:s(e,r);return i?o(i,e,n):new RegExp(e)[r](c(n))},function(t){var r,o,i=a(this),u=c(t),s=n(e,i,u);return s.done?s.value:(f(r=i.lastIndex,0)||(i.lastIndex=0),o=l(i,u),f(i.lastIndex,r)||(i.lastIndex=r),null===o?-1:o.index)}]}))},function(r,e,n){var o=n(62),i=n(7),a=n(12),u=n(333),f=n(310),c=n(42),s=n(14),l=n(174),h=n(334),p=n(58),g=n(64),v=n(26),d=n(72),y=n(335),m=n(317),x=n(312),b=n(6),w=x.UNSUPPORTED_Y,S=4294967295,A=Math.min,I=[].push,E=a(/./.exec),R=a(I),T=a("".slice),O=!b((function(){var t,r=/(?:)/,e=r.exec;return r.exec=function(){return e.apply(this,arguments)},2!==(t="ab".split(r)).length||"a"!==t[0]||"b"!==t[1]}));u("split",(function(r,e,n){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(r,n){var a,u,c,l,h,p,v=g(s(this)),y=n===t?S:n>>>0;if(0===y)return[];if(r===t)return[v];if(!f(r))return i(e,v,r,y);for(a=[],u=0,c=new RegExp(r.source,(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":"")+"g");(l=i(m,c,v))&&!((h=c.lastIndex)>u&&(R(a,T(v,u,l.index)),l.length>1&&l.index<v.length&&o(I,a,d(l,1)),p=l[0].length,u=h,a.length>=y));)c.lastIndex===l.index&&c.lastIndex++;return u===v.length?!p&&E(c,"")||R(a,""):R(a,T(v,u)),a.length>y?d(a,0,y):a}:"0".split(t,0).length?function(r,n){return r===t&&0===n?[]:i(e,this,r,n)}:e,[function split(e,n){var o=s(this),u=e==t?t:v(e,r);return u?i(u,e,o,n):i(a,g(o),e,n)},function(r,o){var i,u,f,s,v,d,m,x,b,I,E=c(this),O=g(r),M=n(a,E,O,o,a!==e);if(M.done)return M.value;if(i=l(E,RegExp),u=E.unicode,f=new i(w?"^(?:"+E.source+")":E,(E.ignoreCase?"i":"")+(E.multiline?"m":"")+(E.unicode?"u":"")+(w?"g":"y")),0===(s=o===t?S:o>>>0))return[];if(0===O.length)return null===y(f,O)?[O]:[];for(v=0,d=0,m=[];d<O.length;)if(f.lastIndex=w?0:d,null===(x=y(f,w?T(O,d):O))||(b=A(p(f.lastIndex+(w?d:0)),O.length))===v)d=h(O,d,u);else{if(R(m,T(O,v,d)),m.length===s)return m;for(I=1;I<=x.length-1;I++)if(R(m,x[I]),m.length===s)return m;d=v=b}return R(m,T(O,v)),m}]}),!O,w)},function(r,e,n){var o,i=n(2),a=n(12),u=n(4).f,f=n(58),c=n(64),s=n(327),l=n(14),h=n(328),p=n(32),g=a("".startsWith),v=a("".slice),d=Math.min,y=h("startsWith");i({target:"String",proto:!0,forced:!(!p&&!y&&(o=u(String.prototype,"startsWith"),o&&!o.writable)||y)},{startsWith:function startsWith(r){var e,n,o=c(l(this));return s(r),e=f(d(arguments.length>1?arguments[1]:t,o.length)),n=c(r),g?g(o,n,e):v(o,e,e+n.length)===n}})},function(r,e,n){var o=n(2),i=n(12),a=n(14),u=n(56),f=n(64),c=i("".slice),s=Math.max,l=Math.min;o({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function substr(r,e){var n,o,i=f(a(this)),h=i.length,p=u(r);return p===Infinity&&(p=0),p<0&&(p=s(h+p,0)),(n=e===t?h:u(e))<=0||n===Infinity||p>=(o=l(p+n,h))?"":c(i,p,o)}})},function(t,r,eLine truncated
from:function from(r){var e,n=u(r),o=g(n,y);return o&&(e=l(n,o),f(c,e))?e:e===t&&(o=p(n))?new d(h(n,o)):new m({iterator:e!==t?e:n})}})},function(r,e,n){var o=n(2),i=n(62),a=n(27),u=n(42),f=n(438)((function(r,e){var n=this,o=n.mapper;return r.resolve(u(i(n.next,n.iterator,e))).then((function(e){return u(e).done?(n.done=!0,{done:!0,value:t}):r.resolve(o(e.value)).then((function(t){return{done:!1,value:t}}))}))}));o({target:"AsyncIterator",proto:!0,real:!0},{map:function map(t){return new f({iterator:u(this),mapper:a(t)})}})},function(r,e,n){var o=n(2),i=n(3),a=n(7),u=n(27),f=n(42),c=n(20)("Promise"),s=i.TypeError;o({target:"AsyncIterator",proto:!0,real:!0},{reduce:function reduce(r){var e=f(this),n=u(e.next),o=arguments.length<2,i=o?t:arguments[1];return u(r),new c((function(t,u){var loop=function(){try{c.resolve(f(a(n,e))).then((function(e){try{if(f(e).done)o?u(s("Reduce of empty iterator with no initial value")):t(i);else{var n=e.value;o?(o=!1,i=n,loop()):c.resolve(r(i,n)).then((function(t){i=t,loop()}),u)}}catch(a){u(a)}}),u)}catch(l){u(l)}};loop()}))}})},function(t,r,e){var n=e(2),o=e(422).some;n({target:"AsyncIterator",proto:!0,real:!0},{some:function some(t){return o(this,t)}})},function(r,e,n){var o=n(2),i=n(62),a=n(7),u=n(42),f=n(372),c=n(438)((function(r,e){var n,o,u=this.iterator;return this.remaining--?i(this.next,u,e):(o={done:!0,value:t},this.done=!0,(n=u["return"])!==t?r.resolve(a(n,u)).then((function(){return o})):o)}));o({target:"AsyncIterator",proto:!0,real:!0},{take:function take(t){return new c({iterator:u(this),remaining:f(t)})}})},function(r,e,n){var o=n(2),i=n(422).toArray;o({target:"AsyncIterator",proto:!0,real:!0},{toArray:function toArray(){return i(this,t,[])}})},function(t,r,e){var n=e(2),o=e(452);"function"==typeof BigInt&&n({target:"BigInt",stat:!0},{range:function range(t,r,e){return new o(t,r,e,"bigint",BigInt(0),BigInt(1))}})},function(r,e,n){var o=n(3),i=n(45),a=n(140),u=n(17),f=n(68),c=n(5),s="Incorrect Number.range arguments",l="NumericRangeIterator",h=i.set,p=i.getterFor(l),g=o.RangeError,v=o.TypeError,d=a((function NumericRangeIterator(r,e,n,o,i,a){var f,p,d;if(typeof r!=o||e!==Infinity&&e!==-Infinity&&typeof e!=o)throw new v(s);if(r===Infinity||r===-Infinity)throw new g(s);if(f=e>r,p=!1,n===t)d=t;else if(u(n))d=n.step,p=!!n.inclusive;else{if(typeof n!=o)throw new v(s);d=n}if(null==d&&(d=f?a:-a),typeof d!=o)throw new v(s);if(d===Infinity||d===-Infinity||d===i&&r!==e)throw new g(s);h(this,{type:l,start:r,end:e,step:d,inclusiveEnd:p,hitsEnd:r!=r||e!=e||d!=d||e>r!=d>i,currentCount:i,zero:i}),c||(this.start=r,this.end=e,this.step=d,this.inclusive=p)}),l,(function next(){var r,e,n,o,i=p(this);return i.hitsEnd?{value:t,done:!0}:(e=i.end,(n=(r=i.start)+i.step*i.currentCount++)===e&&(i.hitsEnd=!0),o=i.inclusiveEnd,(e>r?o?n>e:n>=e:o?e>n:e>=n)?{value:t,done:i.hitsEnd=!0}:{value:n,done:!1})})),getter=function(t){return{get:t,set:function(){},configurable:!0,enumerable:!1}};c&&f(d.prototype,{start:getter((function(){return p(this).start})),end:getter((function(){return p(this).end})),inclusive:getter((function(){return p(this).inclusiveEnd})),step:getter((function(){return p(this).step}))}),r.exports=d},function(t,r,e){var n=e(2),o=e(3),i=e(62),a=e(454),u=e(20),f=e(67),c=o.Object,initializer=function(){var t=u("Object","freeze");return t?t(f(null)):f(null)};n({global:!0},{compositeKey:function compositeKey(){return i(a,c,arguments).get("object",initializer)}})},function(t,r,e){var n,o,i,a,u,f,c,s,l,h;e(197),e(412),n=e(3),o=e(20),i=e(67),a=e(17),u=n.Object,f=n.TypeError,c=o("Map"),s=o("WeakMap"),(l=function(){this.object=null,this.symbol=null,this.primitives=null,this.objectsByIndex=i(null)}).prototype.get=function(t,r){return this[t]||(this[t]=r())},l.prototype.next=function(t,r,e){var n=e?this.objectsByIndex[t]||(this.objectsByIndex[t]=new s):this.primitives||(this.primitives=new c),o=n.get(r);return o||n.set(r,o=new l),o},h=new l,t.exports=function(){var t,r,e=h,n=arguments.length;for(t=0;t<n;t++)a(r=arguments[t])&&(e=e.next(t,r,!0));if(this===u&&e===h)throw f("Composite keys must contain a non-primitive component");for(t=0;t<n;t++)a(r=arguments[t])||(e=e.next(t,r,!1));return e}},function(t,r,e){var n=e(2),o=e(454),i=e(20),a=e(62);n({global:!0},{compositeSymbol:function compositeSymbol(){return 1==arguments.length&&"string"==typeof arguments[0]?i("Symbol")["for"](arguments[0]):a(o,null,arguments).get("symbol",i("Symbol"))}})},function(t,r,e){e(194)},function(t,r,e){var n=e(2),o=e(3),i=e(168),a=e(18),u=e(40),f=e(6),c=e(35),s=e(30),l=e(141).IteratorPrototype,h=e(32),p=s("toStringTag"),g=o.Iterator,v=h||!a(g)||g.prototype!==l||!f((function(){g({})})),d=function Iterator(){i(this,l)};c(l,p)||u(l,p,"Iterator"),!v&&c(l,"constructor")&&l.constructor!==Object||u(l,"constructor",d),d.prototype=l,n({global:!0,forced:v},{Iterator:d})},function(t,r,e){var n=e(2),o=e(62),i=e(42),a=e(459)((function(t){var r=i(o(this.next,this.iterator,t));if(!(this.done=!!r.done))return[this.index++,r.value]}));Line truncated
var o=n(172),i=n(430),a=n(389),u=o.aTypedArray;(0,o.exportTypedArrayMethod)("groupBy",(function groupBy(r){var e=arguments.length>1?arguments[1]:t;return i(u(this),r,e,a)}))},function(t,r,e){var n=e(12),o=e(172),i=e(435),a=e(387),u=o.aTypedArray,f=o.exportTypedArrayMethod,c=n(i);f("uniqueBy",(function uniqueBy(t){return a(this,c(u(this),t))}))},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{deleteAll:e(473)})},function(t,r,e){e(2)({target:"WeakMap",stat:!0},{from:e(482)})},function(t,r,e){e(2)({target:"WeakMap",stat:!0},{of:e(492)})},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{emplace:e(475)})},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{upsert:e(497)})},function(t,r,e){e(2)({target:"WeakSet",proto:!0,real:!0,forced:e(32)},{addAll:e(535)})},function(t,r,e){e(2)({target:"WeakSet",proto:!0,real:!0,forced:e(32)},{deleteAll:e(473)})},function(t,r,e){e(2)({target:"WeakSet",stat:!0},{from:e(482)})},function(t,r,e){e(2)({target:"WeakSet",stat:!0},{of:e(492)})},function(t,r,e){var n,o=e(3),i=e(583),a=e(584),u=e(130),f=e(40),handlePrototype=function(t){if(t&&t.forEach!==u)try{f(t,"forEach",u)}catch(r){t.forEach=u}};for(n in i)i[n]&&handlePrototype(o[n]&&o[n].prototype);handlePrototype(a)},function(t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(r,e,n){var o=n(39)("span").classList,i=o&&o.constructor&&o.constructor.prototype;r.exports=i===Object.prototype?t:i},function(t,r,e){var n,o=e(3),i=e(583),a=e(584),u=e(138),f=e(40),c=e(30),s=c("iterator"),l=c("toStringTag"),h=u.values,handlePrototype=function(t,r){if(t){if(t[s]!==h)try{f(t,s,h)}catch(n){t[s]=h}if(t[l]||f(t,l,r),i[r])for(var e in u)if(t[e]!==u[e])try{f(t,e,u[e])}catch(n){t[e]=u[e]}}};for(n in i)handlePrototype(o[n]&&o[n].prototype,n);handlePrototype(a,"DOMTokenList")},function(t,r,e){var n=e(2),o=e(3),i=e(281);n({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(t,r,e){var n=e(2),o=e(3),i=e(283),a=e(149),u=o.process;n({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function queueMicrotask(t){var r=a&&u.domain;i(r?r.bind(t):t)}})},function(r,e,n){var o=n(2),i=n(3),a=n(62),u=n(18),f=n(25),c=n(74),s=/MSIE .\./.test(f),l=i.Function,wrap=function(r){return function(e,n){var o=arguments.length>2,i=o?c(arguments,2):t;return r(o?function(){a(u(e)?e:l(e),this,i)}:e,n)}};o({global:!0,bind:!0,forced:s},{setTimeout:wrap(i.setTimeout),setInterval:wrap(i.setInterval)})},function(r,e,n){var o,i,a,u,f,c,s,l,h,p,g,v,d,y,m,x,b,w,S,A,I,E,R,T,O,M,P,j,N,k,_,U,L,D,C,B,z,W,q,G,V,Y,K,H,$,J,X,Q,Z,tt,rt,et,nt,ot,it,ut,ft,ct,st,lt,ht,pt,gt,vt,dt,yt,mt,xt,bt,wt,St,At,It,Et,Rt,Tt,Ot,Mt,Pt,jt,Nt,kt,_t,Ut,Lt,Ft,Dt,Ct,Bt,zt,Wt,qt,Gt,Vt,Yt,Kt;n(331),o=n(2),i=n(5),a=n(590),u=n(3),f=n(80),c=n(12),s=n(68),l=n(43),h=n(168),p=n(35),g=n(247),v=n(132),d=n(72),y=n(325).codeAt,m=n(591),x=n(64),b=n(78),w=n(592),S=n(45),A=S.set,I=S.getterFor("URL"),E=w.URLSearchParams,R=w.getState,T=u.URL,O=u.TypeError,M=u.parseInt,P=Math.floor,j=Math.pow,N=c("".charAt),k=c(/./.exec),_=c([].join),U=c(1..toString),L=c([].pop),D=c([].push),C=c("".replace),B=c([].shift),z=c("".split),W=c("".slice),q=c("".toLowerCase),G=c([].unshift),V="Invalid scheme",Y="Invalid host",K="Invalid port",H=/[a-z]/i,$=/[\d+-.a-z]/i,J=/\d/,X=/^0x/i,Q=/^[0-7]+$/,Z=/^\d+$/,tt=/^[\da-f]+$/i,rt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,et=/[\0\t\n\r #/:<>?@[\\\]^|]/,nt=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,ot=/[\t\n\r]/g,ut=function(t){var r,e,n,o,i,a,u,f=z(t,".");if(f.length&&""==f[f.length-1]&&f.length--,(r=f.length)>4)return t;for(e=[],n=0;n<r;n++){if(""==(o=f[n]))return t;if(i=10,o.length>1&&"0"==N(o,0)&&(i=k(X,o)?16:8,o=W(o,8==i?1:2)),""===o)a=0;else{if(!k(10==i?Z:8==i?Q:tt,o))return t;a=M(o,i)}D(e,a)}for(n=0;n<r;n++)if(a=e[n],n==r-1){if(a>=j(256,5-r))return null}else if(a>255)return null;for(u=L(e),n=0;n<e.length;n++)u+=e[n]*j(256,3-n);return u},ft=function(t){var r,e,n,o,i,a,u,f=[0,0,0,0,0,0,0,0],c=0,s=null,l=0,chr=function(){return N(t,l)};if(":"==chr()){if(":"!=N(t,1))return;l+=2,s=++c}for(;chr();){if(8==c)return;if(":"!=chr()){for(r=e=0;e<4&&k(tt,chr());)r=16*r+M(chr(),16),l++,e++;if("."==chr()){if(0==e)return;if(l-=e,c>6)return;for(n=0;chr();){if(o=null,n>0){if(!("."==chr()&&n<4))return;l++}if(!k(J,chr()))return;for(;k(J,chr());){if(i=M(chr(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}f[c]=256*f[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==chr()){if(l++,!chr())return}else if(chr())retuLine truncated
//# sourceMappingURL=minified.js.map
@@ -1,47 +0,0 @@
(function(global) {
'use strict';
if (typeof module !== "undefined" && module.exports) {
module.exports = global;
}
global["encoding-indexes"] =
{
"big5":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,Line truncated
"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,4Line truncated
"gb18030":[19970,19972,19973,19974,19983,19986,19991,19999,20000,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,Line truncated
"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189000,65536]],
"jis0208":[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,nLine truncated
"jis0212":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,nuLine truncated
"ibm866":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],
"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],
"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],
"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],
"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],
"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],
"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],
"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],
"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],
"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],
"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],
"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],
"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],
"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],
"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],
"macintosh":[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],
"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],
"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],
"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],
"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],
"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],
"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],
"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],
"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],
"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],
"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],
"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]
};
// For strict environments where `this` inside the global scope
// is `undefined`, take a pure object instead
}(this || {}));
File diff suppressed because it is too large. Load diff
-418
View File
@@ -1,418 +0,0 @@
(function(self) {
'use strict';
// if __disableNativeFetch is set to true, the it will always polyfill fetch
// with Ajax.
if (!self.__disableNativeFetch && self.fetch) {
return
}
function normalizeName(name) {
if (typeof name !== 'string') {
name = String(name)
}
if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
throw new TypeError('Invalid character in header field name')
}
return name.toLowerCase()
}
function normalizeValue(value) {
if (typeof value !== 'string') {
value = String(value)
}
return value
}
function Headers(headers) {
this.map = {}
if (headers instanceof Headers) {
headers.forEach(function(value, name) {
this.append(name, value)
}, this)
} else if (headers) {
Object.getOwnPropertyNames(headers).forEach(function(name) {
this.append(name, headers[name])
}, this)
}
}
Headers.prototype.append = function(name, value) {
name = normalizeName(name)
value = normalizeValue(value)
var list = this.map[name]
if (!list) {
list = []
this.map[name] = list
}
list.push(value)
}
Headers.prototype['delete'] = function(name) {
delete this.map[normalizeName(name)]
}
Headers.prototype.get = function(name) {
var values = this.map[normalizeName(name)]
return values ? values[0] : null
}
Headers.prototype.getAll = function(name) {
return this.map[normalizeName(name)] || []
}
Headers.prototype.has = function(name) {
return this.map.hasOwnProperty(normalizeName(name))
}
Headers.prototype.set = function(name, value) {
this.map[normalizeName(name)] = [normalizeValue(value)]
}
Headers.prototype.forEach = function(callback, thisArg) {
Object.getOwnPropertyNames(this.map).forEach(function(name) {
this.map[name].forEach(function(value) {
callback.call(thisArg, value, name, this)
}, this)
}, this)
}
function consumed(body) {
if (body.bodyUsed) {
return Promise.reject(new TypeError('Already read'))
}
body.bodyUsed = true
}
function fileReaderReady(reader) {
return new Promise(function(resolve, reject) {
reader.onload = function() {
resolve(reader.result)
}
reader.onerror = function() {
reject(reader.error)
}
})
}
function readBlobAsArrayBuffer(blob) {
var reader = new FileReader()
reader.readAsArrayBuffer(blob)
return fileReaderReady(reader)
}
function readBlobAsText(blob, options) {
var reader = new FileReader()
var contentType = options.headers.map['content-type'] ? options.headers.map['content-type'].toString() : ''
var regex = /charset\=[0-9a-zA-Z\-\_]*;?/
var _charset = blob.type.match(regex) || contentType.match(regex)
var args = [blob]
if(_charset) {
args.push(_charset[0].replace(/^charset\=/, '').replace(/;$/, ''))
}
reader.readAsText.apply(reader, args)
return fileReaderReady(reader)
}
var support = {
blob: 'FileReader' in self && 'Blob' in self && (function() {
try {
new Blob();
return true
} catch(e) {
return false
}
})(),
formData: 'FormData' in self,
arrayBuffer: 'ArrayBuffer' in self
}
function Body() {
this.bodyUsed = false
this._initBody = function(body, options) {
this._bodyInit = body
if (typeof body === 'string') {
this._bodyText = body
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
this._bodyBlob = body
this._options = options
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
this._bodyFormData = body
} else if (!body) {
this._bodyText = ''
} else if (support.arrayBuffer && ArrayBuffer.prototype.isPrototypeOf(body)) {
// Only support ArrayBuffers for POST method.
// Receiving ArrayBuffers happens via Blobs, instead.
} else {
throw new Error('unsupported BodyInit type')
}
}
if (support.blob) {
this.blob = function() {
var rejected = consumed(this)
if (rejected) {
return rejected
}
if (this._bodyBlob) {
return Promise.resolve(this._bodyBlob)
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as blob')
} else {
return Promise.resolve(new Blob([this._bodyText]))
}
}
this.arrayBuffer = function() {
return this.blob().then(readBlobAsArrayBuffer)
}
this.text = function() {
var rejected = consumed(this)
if (rejected) {
return rejected
}
if (this._bodyBlob) {
return readBlobAsText(this._bodyBlob, this._options)
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as text')
} else {
return Promise.resolve(this._bodyText)
}
}
} else {
this.text = function() {
var rejected = consumed(this)
return rejected ? rejected : Promise.resolve(this._bodyText)
}
}
if (support.formData) {
this.formData = function() {
return this.text().then(decode)
}
}
this.json = function() {
return this.text().then(JSON.parse)
}
return this
}
// HTTP methods whose capitalization should be normalized
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']
function normalizeMethod(method) {
var upcased = method.toUpperCase()
return (methods.indexOf(upcased) > -1) ? upcased : method
}
function Request(input, options) {
options = options || {}
var body = options.body
if (Request.prototype.isPrototypeOf(input)) {
if (input.bodyUsed) {
throw new TypeError('Already read')
}
this.url = input.url
this.credentials = input.credentials
if (!options.headers) {
this.headers = new Headers(input.headers)
}
this.method = input.method
this.mode = input.mode
if (!body) {
body = input._bodyInit
input.bodyUsed = true
}
} else {
this.url = input
}
this.credentials = options.credentials || this.credentials || 'omit'
if (options.headers || !this.headers) {
this.headers = new Headers(options.headers)
}
this.method = normalizeMethod(options.method || this.method || 'GET')
this.mode = options.mode || this.mode || null
this.referrer = null
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
throw new TypeError('Body not allowed for GET or HEAD requests')
}
this._initBody(body, options)
}
Request.prototype.clone = function() {
return new Request(this)
}
function decode(body) {
var form = new FormData()
body.trim().split('&').forEach(function(bytes) {
if (bytes) {
var split = bytes.split('=')
var name = split.shift().replace(/\+/g, ' ')
var value = split.join('=').replace(/\+/g, ' ')
form.append(decodeURIComponent(name), decodeURIComponent(value))
}
})
return form
}
function headers(xhr) {
var head = new Headers()
var pairs = xhr.getAllResponseHeaders().trim().split('\n')
pairs.forEach(function(header) {
var split = header.trim().split(':')
var key = split.shift().trim()
var value = split.join(':').trim()
head.append(key, value)
})
return head
}
Body.call(Request.prototype)
function Response(bodyInit, options) {
if (!options) {
options = {}
}
this._initBody(bodyInit, options)
this.type = 'default'
this.status = options.status
this.ok = this.status >= 200 && this.status < 300
this.statusText = options.statusText
this.headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers)
this.url = options.url || ''
}
Body.call(Response.prototype)
Response.prototype.clone = function() {
return new Response(this._bodyInit, {
status: this.status,
statusText: this.statusText,
headers: new Headers(this.headers),
url: this.url
})
}
Response.error = function() {
var response = new Response(null, {status: 0, statusText: ''})
response.type = 'error'
return response
}
var redirectStatuses = [301, 302, 303, 307, 308]
Response.redirect = function(url, status) {
if (redirectStatuses.indexOf(status) === -1) {
throw new RangeError('Invalid status code')
}
return new Response(null, {status: status, headers: {location: url}})
}
self.Headers = Headers;
self.Request = Request;
self.Response = Response;
self.fetch = function(input, init) {
return new Promise(function(resolve, reject) {
var request
if (Request.prototype.isPrototypeOf(input) && !init) {
request = input
} else {
request = new Request(input, init)
}
var xhr = new XMLHttpRequest()
function responseURL() {
if ('responseURL' in xhr) {
return xhr.responseURL
}
// Avoid security warnings on getResponseHeader when not allowed by CORS
if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
return xhr.getResponseHeader('X-Request-URL')
}
return;
}
var __onLoadHandled = false;
function onload() {
if (xhr.readyState !== 4) {
return
}
var status = (xhr.status === 1223) ? 204 : xhr.status
if (status < 100 || status > 599) {
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
reject(new TypeError('Network request failed'))
return
}
var options = {
status: status,
statusText: xhr.statusText,
headers: headers(xhr),
url: responseURL()
}
var body = 'response' in xhr ? xhr.response : xhr.responseText;
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
resolve(new Response(body, options))
}
xhr.onreadystatechange = onload;
xhr.onload = onload;
xhr.onerror = function() {
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
reject(new TypeError('Network request failed'))
}
xhr.open(request.method, request.url, true)
// `withCredentials` should be setted after calling `.open` in IE10
// http://stackoverflow.com/a/19667959/1219343
try {
if (request.credentials === 'include') {
if ('withCredentials' in xhr) {
xhr.withCredentials = true;
} else {
console && console.warn && console.warn('withCredentials is not supported, you can ignore this warning');
}
}
} catch (e) {
console && console.warn && console.warn('set withCredentials error:' + e);
}
if ('responseType' in xhr && support.blob) {
xhr.responseType = 'blob'
}
request.headers.forEach(function(value, name) {
xhr.setRequestHeader(name, value)
})
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)
})
}
self.fetch.polyfill = true
// Support CommonJS
if (typeof module !== 'undefined' && module.exports) {
module.exports = self.fetch;
}
})(typeof self !== 'undefined' ? self : this);
+3 -5
View File
@@ -1,12 +1,10 @@
/*!
* vConsole v3.2.0 (https://github.com/Tencent/vConsole)
*
* vConsole v3.15.0 (https://github.com/Tencent/vConsole)
*
* Tencent is pleased to support the open source community by making vConsole available.
* Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved.
* Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
* http://opensource.org/licenses/MIT
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VConsole=t():e.VConsole=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),o(1);var i=o(2),a=n(i),r=o(18),l=n(r);a["default"].VConsolePlugin=l["default"],t["default"]=a["default"],e.exports=t["default"]},function(e,t){"use strict";if("undefined"==typeof Symbol){window.Symbol=function(){};var o="__symbol_iterator_key";window.Symbol.iterator=o,Array.prototype[o]=function(){var e=this,t=0;return{next:function(){return{done:e.length===t,value:e.length===t?void 0:e[t++]}}}}}},function(e,t,o){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),l=o(3),c=i(l),s=o(4),d=n(s),u=o(5),v=i(u);o(7);var f=o(11),p=i(f),h=o(12),g=i(h),b=o(13),m=i(b),y=o(14),_=i(y),w=o(15),x=i(w),k=o(16),C=i(k),T=o(24),O=i(T),E=o(26),S=i(E),L=o(30),j=i(L),N=o(37),P=i(N),M="#__vconsole",A=function(){function e(t){if(a(this,e),v["default"].one(M))return void console.debug("vConsole is already exists.");var o=this;if(this.version=c["default"].version,this.$dom=null,this.isInited=!1,this.option={defaultPlugins:["system","network","element","storage"]},this.activedTab="",this.tabList=[],this.pluginList={},this.switchPos={x:10,y:10,startX:0,startY:0,endX:0,endY:0},this.tool=d,this.$=v["default"],d.isObject(t))for(var n in t)this.option[n]=t[n];this._addBuiltInPlugins();var i=function(){o.isInited||(o._render(),o._mockTap(),o._bindEvent(),o._autoRun())};void 0!==document?"complete"==document.readyState?i():v["default"].bind(window,"load",i):!function(){var e=void 0,t=function o(){document&&"complete"==document.readyState?(e&&clearTimeout(e),i()):e=setTimeout(o,1)};e=setTimeout(t,1)}()}return r(e,[{key:"_addBuiltInPlugins",value:function(){this.addPlugin(new C["default"]("default","Log"));var e=this.option.defaultPlugins,t={system:{proto:O["default"],name:"System"},network:{proto:S["default"],name:"Network"},element:{proto:j["default"],name:"Element"},storage:{proto:P["default"],name:"Storage"}};if(e&&d.isArray(e))for(var o=0;o<e.length;o++){var n=t[e[o]];n?this.addPlugin(new n.proto(e[o],n.name)):console.debug("Unrecognized default plugin ID:",e[o])}}},{key:"_render",value:function(){if(!v["default"].one(M)){var e=document.createElement("div");e.innerHTML=p["default"],document.documentElement.insertAdjacentElement("beforeend",e.children[0])}this.$dom=v["default"].one(M);var t=v["default"].one(".vc-switch",this.$dom),o=1*d.getStorage("switch_x"),n=1*d.getStorage("switch_y");(o||n)&&(o+t.offsetWidth>document.documentElement.offsetWidth&&(o=document.documentElement.offsetWidth-t.offsetWidth),n+t.offsetHeight>document.documentElement.offsetHeight&&(n=document.documentElement.offsetHeight-t.offsetHeight),0>o&&(o=0),0>n&&(n=0),this.switchPos.x=o,this.switchPos.y=n,v["default"].one(".vc-switch").style.right=o+"px",v["default"].one(".vc-switch").style.bottom=n+"px");var i=window.devicePixelRatio||1,a=document.querySelector('[name="viewport"]');if(a&&a.content){var r=a.content.match(/initial\-scale\=\d+(\.\d+)?/),l=r?parseFloat(r[0].split("=")[1]):1;1>l&&(this.$dom.style.fontSize=13*i+"px")}v["default"].one(".vc-mask",this.$dom).style.display="none"}},{key:"_mockTap",value:function(){var e=700,t=10,o=void 0,n=void 0,i=void 0,a=!1,r=null;this.$dom.addEventListener("touchstart",function(e){if(void 0===o){var t=e.targetTouches[0];n=t.pageX,i=t.pageY,o=e.timeStamp,r=e.target.nodeType===Node.TEXT_NODE?e.target.parentNode:e.target}},!1),this.$dom.addEventListener("touchmove",function(e){var o=e.changedTouches[0];(Math.abs(o.pageX-n)>t||Math.abs(o.pageY-i)>t)&&(a=!0)}),this.$dom.addEventListener("touchend",function(t){if(a===!1&&t.timeStamp-o<e&&null!=r){var n=r.tagName.toLowerCase(),i=!1;switch(n){case"textarea":i=!0;break;case"input":switch(r.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":i=!1;break;default:i=!r.disabled&&!r.readOnly}}i?r.focus():t.preventDefault();var l=t.changedTouches[0],c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,1,l.screenX,l.screenY,l.clientX,l.clientY,!1,!Line truncated
}),a=e.href;e.href=URL.createObjectURL(i),a&&URL.revokeObjectURL(a)}var f={},p=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},h=p(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),g=p(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,m=0,y=[];e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=h()),"undefined"==typeof t.insertAt&&(t.insertAt="bottom");var o=i(e);return n(o,t),function(e){for(var a=[],r=0;r<o.length;r++){var l=o[r],c=f[l.id];c.refs--,a.push(c)}if(e){var s=i(e);n(s,t)}for(var r=0;r<a.length;r++){var c=a[r];if(0===c.refs){for(var d=0;d<c.parts.length;d++)c.parts[d]();delete f[c.id]}}}};var _=function(){var e=[];return function(t,o){return e[t]=o,e.filter(Boolean).join("\n")}}()},function(e,t){e.exports='<div id="__vconsole" class="">\n <div class="vc-switch">vConsole</div>\n <div class="vc-mask">\n </div>\n <div class="vc-panel">\n <div class="vc-tabbar">\n </div>\n <div class="vc-topbar">\n </div>\n <div class="vc-content">\n </div>\n <div class="vc-toolbar">\n <a class="vc-tool vc-global-tool vc-tool-last vc-hide">Hide</a>\n </div>\n </div>\n</div>'},function(e,t){e.exports='<a class="vc-tab" data-tab="{{id}}" id="__vc_tab_{{id}}">{{name}}</a>'},function(e,t){e.exports='<div class="vc-logbox" id="__vc_log_{{id}}">\n \n</div>'},function(e,t){e.exports='<a class="vc-toptab vc-topbar-{{pluginID}}{{if (className)}} {{className}}{{/if}}">{{name}}</a>'},function(e,t){e.exports='<a class="vc-tool vc-tool-{{pluginID}}">{{name}}</a>'},function(e,t,o){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),s=function w(e,t,o){null===e&&(e=Function.prototype);var n=Object.getOwnPropertyDescriptor(e,t);if(void 0===n){var i=Object.getPrototypeOf(e);return null===i?void 0:w(i,t,o)}if("value"in n)return n.value;var a=n.get;if(void 0!==a)return a.call(o)},d=o(5),u=i(d),v=o(4),f=n(v),p=o(17),h=i(p),g=o(22),b=i(g),m=o(23),y=i(m),_=function(e){function t(){var e;a(this,t);for(var o=arguments.length,n=Array(o),i=0;o>i;i++)n[i]=arguments[i];var l=r(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return l.tplTabbox=b["default"],l.windowOnError=null,l}return l(t,e),c(t,[{key:"onReady",value:function(){var e=this;s(Object.getPrototypeOf(t.prototype),"onReady",this).call(this),u["default"].bind(u["default"].one(".vc-cmd",this.$tabbox),"submit",function(t){t.preventDefault();var o=u["default"].one(".vc-cmd-input",t.target),n=o.value;o.value="",""!==n&&e.evalCommand(n)});var o="";o+="if (!!window) {",o+="window.__vConsole_cmd_result = undefined;",o+="window.__vConsole_cmd_error = false;",o+="}";var n=document.getElementsByTagName("script"),i="";n.length>0&&(i=n[0].getAttribute("nonce")||"");var a=document.createElement("SCRIPT");a.innerHTML=o,a.setAttribute("nonce",i),document.documentElement.appendChild(a),document.documentElement.removeChild(a)}},{key:"mockConsole",value:function(){s(Object.getPrototypeOf(t.prototype),"mockConsole",this).call(this);var e=this;f.isFunction(window.onerror)&&(this.windowOnError=window.onerror),window.onerror=function(t,o,n,i,a){var r=t;o&&(r+="\n"+o.replace(location.origin,"")),(n||i)&&(r+=":"+n+":"+i);var l=!!a&&!!a.stack,c=l&&a.stack.toString()||"";e.printLog({logType:"error",logs:[r,c],noOrigin:!0}),f.isFunction(e.windowOnError)&&e.windowOnError.call(window,t,o,n,i,a)}}},{key:"evalCommand",value:function(e){this.printLog({logType:"log",content:u["default"].render(y["default"],{content:e,type:"input"}),noMeta:!0,style:""});var t="";t+="try {\n",t+="window.__vConsole_cmd_result = (function() {\n",t+="return "+e+";\n",t+="})();\n",t+="window.__vConsole_cmd_error = false;\n",t+="} catch (e) {\n",t+="window.__vConsole_cmd_result = e.message;\n",t+="window.__vConsole_cmd_error = true;\n",t+="}";var o=document.getElementsByTagName("script"),n="";o.length>0&&(n=o[0].getAttribute("noncLine truncated
}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();o(31);var s=o(18),d=i(s),u=o(33),v=i(u),f=o(34),p=i(f),h=o(4),g=(n(h),o(5)),b=i(g),m=function(e){function t(){var e;a(this,t);for(var o=arguments.length,n=Array(o),i=0;o>i;i++)n[i]=arguments[i];var l=r(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(n))),c=l;c.isInited=!1,c.node={},c.$tabbox=b["default"].render(v["default"],{}),c.nodes=[],c.activedElem={};var s=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;return c.observer=new s(function(e){for(var t=0;t<e.length;t++){var o=e[t];c._isInVConsole(o.target)||c.onMutation(o)}}),l}return l(t,e),c(t,[{key:"onRenderTab",value:function(e){e(this.$tabbox)}},{key:"onAddTool",value:function(e){var t=this,o=[{name:"Expend",global:!1,onClick:function(e){if(t.activedElem)if(b["default"].hasClass(t.activedElem,"vc-toggle"))for(var o=0;o<t.activedElem.childNodes.length;o++){var n=t.activedElem.childNodes[o];if(b["default"].hasClass(n,"vcelm-l")&&!b["default"].hasClass(n,"vcelm-noc")&&!b["default"].hasClass(n,"vc-toggle")){b["default"].one(".vcelm-node",n).click();break}}else b["default"].one(".vcelm-node",t.activedElem).click()}},{name:"Collapse",global:!1,onClick:function(e){t.activedElem&&(b["default"].hasClass(t.activedElem,"vc-toggle")?b["default"].one(".vcelm-node",t.activedElem).click():t.activedElem.parentNode&&b["default"].hasClass(t.activedElem.parentNode,"vcelm-l")&&b["default"].one(".vcelm-node",t.activedElem.parentNode).click())}}];e(o)}},{key:"onShow",value:function(){if(!this.isInited){this.isInited=!0,this.node=this.getNode(document.documentElement);var e=this.renderView(this.node,b["default"].one(".vc-log",this.$tabbox)),t=b["default"].one(".vcelm-node",e);t&&t.click();var o={attributes:!0,childList:!0,characterData:!0,subtree:!0};this.observer.observe(document.documentElement,o)}}},{key:"onRemove",value:function(){this.observer.disconnect()}},{key:"onMutation",value:function(e){switch(e.type){case"childList":e.removedNodes.length>0&&this.onChildRemove(e),e.addedNodes.length>0&&this.onChildAdd(e);break;case"attributes":this.onAttributesChange(e);break;case"characterData":this.onCharacterDataChange(e)}}},{key:"onChildRemove",value:function(e){var t=e.target,o=t.__vconsole_node;if(o){for(var n=0;n<e.removedNodes.length;n++){var i=e.removedNodes[n],a=i.__vconsole_node;a&&a.view&&a.view.parentNode.removeChild(a.view)}this.getNode(t)}}},{key:"onChildAdd",value:function(e){var t=e.target,o=t.__vconsole_node;if(o){this.getNode(t),o.view&&b["default"].removeClass(o.view,"vcelm-noc");for(var n=0;n<e.addedNodes.length;n++){var i=e.addedNodes[n],a=i.__vconsole_node;if(a)if(null!==e.nextSibling){var r=e.nextSibling.__vconsole_node;r.view&&this.renderView(a,r.view,"insertBefore")}else o.view&&(o.view.lastChild?this.renderView(a,o.view.lastChild,"insertBefore"):this.renderView(a,o.view))}}}},{key:"onAttributesChange",value:function(e){var t=e.target.__vconsole_node;t&&(t=this.getNode(e.target),t.view&&this.renderView(t,t.view,!0))}},{key:"onCharacterDataChange",value:function(e){var t=e.target.__vconsole_node;t&&(t=this.getNode(e.target),t.view&&this.renderView(t,t.view,!0))}},{key:"renderView",value:function(e,t,o){var n=this,i=new p["default"](e).get();switch(e.view=i,b["default"].delegate(i,"click",".vcelm-node",function(t){t.stopPropagation();var o=this.parentNode;if(!b["default"].hasClass(o,"vcelm-noc")){n.activedElem=o,b["default"].hasClass(o,"vc-toggle")?b["default"].removeClass(o,"vc-toggle"):b["default"].addClass(o,"vc-toggle");for(var i=-1,a=0;a<o.children.length;a++){var r=o.children[a];b["default"].hasClass(r,"vcelm-l")&&(i++,r.children.length>0||(e.childNodes[i]?n.renderView(e.childNodes[i],r,"replace"):r.style.display="none"))}}}),o){case"replace":t.parentNode.replaceChild(i,t);break;case"insertBefore":t.parentNode.insertBefore(i,t);break;default:t.appendChild(i)}return i}},{key:"getNode",value:function(e){if(!this._isIgnoredElement(e)){var t=e.__vconsole_node||{};if(t.nodeType=e.nodeType,t.nodeName=e.nodeName,t.tagName=e.tagName||"",t.textContent="",t.nodeType!=e.TEXT_NODE&&t.nodeType!=e.DOCUMENT_TYPE_NODE||(t.textContent=e.textContent),t.id=e.id||"",t.className=e.className||"",t.attributes=[],e.hasAttributes&&e.hasAttributes())for(var o=0;o<eLine truncated
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("VConsole",[],n):"object"==typeof exports?exports.VConsole=n():t.VConsole=n()}(this||self,(function(){return function(){var __webpack_modules__={4264:function(t,n,e){t.exports=e(7588)},5036:function(t,n,e){e(1719),e(5677),e(6394),e(5334),e(6969),e(2021),e(8328),e(2129);var o=e(1287);t.exports=o.Promise},2582:function(t,n,e){e(1646),e(6394),e(2004),e(462),e(8407),e(2429),e(1172),e(8288),e(1274),e(8201),e(6626),e(3211),e(9952),e(15),e(9831),e(7521),e(2972),e(6956),e(5222),e(2257);var o=e(1287);t.exports=o.Symbol},8257:function(t,n,e){var o=e(7583),r=e(9212),i=e(5637),a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not a function")}},1186:function(t,n,e){var o=e(7583),r=e(2097),i=e(5637),a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not a constructor")}},9882:function(t,n,e){var o=e(7583),r=e(9212),i=o.String,a=o.TypeError;t.exports=function(t){if("object"==typeof t||r(t))return t;throw a("Can't set "+i(t)+" as a prototype")}},6288:function(t,n,e){var o=e(3649),r=e(3590),i=e(4615),a=o("unscopables"),c=Array.prototype;null==c[a]&&i.f(c,a,{configurable:!0,value:r(null)}),t.exports=function(t){c[a][t]=!0}},4761:function(t,n,e){var o=e(7583),r=e(2447),i=o.TypeError;t.exports=function(t,n){if(r(n,t))return t;throw i("Incorrect invocation")}},2569:function(t,n,e){var o=e(7583),r=e(794),i=o.String,a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not an object")}},5766:function(t,n,e){var o=e(2977),r=e(6782),i=e(1825),a=function(t){return function(n,e,a){var c,u=o(n),s=i(u),l=r(a,s);if(t&&e!=e){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===e)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},4805:function(t,n,e){var o=e(2938),r=e(7386),i=e(5044),a=e(1324),c=e(1825),u=e(4822),s=r([].push),l=function(t){var n=1==t,e=2==t,r=3==t,l=4==t,f=6==t,d=7==t,v=5==t||f;return function(h,p,g,m){for(var _,b,y=a(h),w=i(y),E=o(p,g),L=c(w),T=0,x=m||u,C=n?x(h,L):e||d?x(h,0):void 0;L>T;T++)if((v||T in w)&&(b=E(_=w[T],T,y),t))if(n)C[T]=b;else if(b)switch(t){case 3:return!0;case 5:return _;case 6:return T;case 2:s(C,_)}else switch(t){case 4:return!1;case 7:s(C,_)}return f?-1:r||l?l:C}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},9269:function(t,n,e){var o=e(6544),r=e(3649),i=e(4061),a=r("species");t.exports=function(t){return i>=51||!o((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},4546:function(t,n,e){var o=e(7583),r=e(6782),i=e(1825),a=e(5999),c=o.Array,u=Math.max;t.exports=function(t,n,e){for(var o=i(t),s=r(n,o),l=r(void 0===e?o:e,o),f=c(u(l-s,0)),d=0;s<l;s++,d++)a(f,d,t[s]);return f.length=d,f}},6917:function(t,n,e){var o=e(7386);t.exports=o([].slice)},5289:function(t,n,e){var o=e(7583),r=e(4521),i=e(2097),a=e(794),c=e(3649)("species"),u=o.Array;t.exports=function(t){var n;return r(t)&&(n=t.constructor,(i(n)&&(n===u||r(n.prototype))||a(n)&&null===(n=n[c]))&&(n=void 0)),void 0===n?u:n}},4822:function(t,n,e){var o=e(5289);t.exports=function(t,n){return new(o(t))(0===n?0:n)}},3616:function(t,n,e){var o=e(3649)("iterator"),r=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){r=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!r)return!1;var e=!1;try{var i={};i[o]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},9624:function(t,n,e){var o=e(7386),r=o({}.toString),i=o("".slice);t.exports=function(t){return i(r(t),8,-1)}},3058:function(t,n,e){var o=e(7583),r=e(8191),i=e(9212),a=e(9624),c=e(3649)("toStringTag"),u=o.Object,s="Arguments"==a(function(){return arguments}());t.exports=r?a:function(t){var n,e,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=u(t),c))?e:s?a(n):"Object"==(o=a(n))&&i(n.callee)?"Arguments":o}},1509:function(t,n,e){var o=e(7386)("".replace),r=String(Error("zxcasd").stack),i=/\n\s*at [^:]*:[^\n]*/,a=i.test(r);t.exports=function(t,n){if(a&&"string"==typeof t)for(;n--;)t=o(t,i,"");return t}},3478:function(t,n,e){var o=e(2870),r=e(929),i=e(6683),a=e(4615);t.exports=function(t,n,e){for(var c=r(n),u=a.f,s=i.f,l=0;l<c.length;l++){var f=c[l];o(t,f)||e&&o(e,f)||u(t,f,s(n,f))}}},926:function(t,n,e){var o=e(6544);t.exports=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4683:function(t,n,e){"use strict";var o=e(2365).IteratorPrototype,r=e(3590),i=e(4677),a=e(8821),c=e(339),u=function(){return this};t.exports=function(t,n,e,s){var l=n+" Iterator";return t.prototype=r(o,{next:i(+!s,e)}),a(t,l,!1,!0),c[l]=u,t}},57:function(t,n,e){var o=e(8494),r=e(4615),i=e(4677);t.exports=o?function(t,n,e){return r.f(t,n,i(1,e))}:function(t,n,e){reLine truncated
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

+361
View File
@@ -0,0 +1,361 @@
WEBVTT
00:00.000 --> 00:05.000
bbb-sprite.jpg#xywh=0,0,128,72
00:05.000 --> 00:10.000
bbb-sprite.jpg#xywh=128,0,128,72
00:10.000 --> 00:15.000
bbb-sprite.jpg#xywh=256,0,128,72
00:15.000 --> 00:20.000
bbb-sprite.jpg#xywh=384,0,128,72
00:20.000 --> 00:25.000
bbb-sprite.jpg#xywh=512,0,128,72
00:25.000 --> 00:30.000
bbb-sprite.jpg#xywh=640,0,128,72
00:30.000 --> 00:35.000
bbb-sprite.jpg#xywh=768,0,128,72
00:35.000 --> 00:40.000
bbb-sprite.jpg#xywh=896,0,128,72
00:40.000 --> 00:45.000
bbb-sprite.jpg#xywh=1024,0,128,72
00:45.000 --> 00:50.000
bbb-sprite.jpg#xywh=1152,0,128,72
00:50.000 --> 00:55.000
bbb-sprite.jpg#xywh=1280,0,128,72
00:55.000 --> 01:00.000
bbb-sprite.jpg#xywh=0,72,128,72
01:00.000 --> 01:05.000
bbb-sprite.jpg#xywh=128,72,128,72
01:05.000 --> 01:10.000
bbb-sprite.jpg#xywh=256,72,128,72
01:10.000 --> 01:15.000
bbb-sprite.jpg#xywh=384,72,128,72
01:15.000 --> 01:20.000
bbb-sprite.jpg#xywh=512,72,128,72
01:20.000 --> 01:25.000
bbb-sprite.jpg#xywh=640,72,128,72
01:25.000 --> 01:30.000
bbb-sprite.jpg#xywh=768,72,128,72
01:30.000 --> 01:35.000
bbb-sprite.jpg#xywh=896,72,128,72
01:35.000 --> 01:40.000
bbb-sprite.jpg#xywh=1024,72,128,72
01:40.000 --> 01:45.000
bbb-sprite.jpg#xywh=1152,72,128,72
01:45.000 --> 01:50.000
bbb-sprite.jpg#xywh=1280,72,128,72
01:50.000 --> 01:55.000
bbb-sprite.jpg#xywh=0,144,128,72
01:55.000 --> 02:00.000
bbb-sprite.jpg#xywh=128,144,128,72
02:00.000 --> 02:05.000
bbb-sprite.jpg#xywh=256,144,128,72
02:05.000 --> 02:10.000
bbb-sprite.jpg#xywh=384,144,128,72
02:10.000 --> 02:15.000
bbb-sprite.jpg#xywh=512,144,128,72
02:15.000 --> 02:20.000
bbb-sprite.jpg#xywh=640,144,128,72
02:20.000 --> 02:25.000
bbb-sprite.jpg#xywh=768,144,128,72
02:25.000 --> 02:30.000
bbb-sprite.jpg#xywh=896,144,128,72
02:30.000 --> 02:35.000
bbb-sprite.jpg#xywh=1024,144,128,72
02:35.000 --> 02:40.000
bbb-sprite.jpg#xywh=1152,144,128,72
02:40.000 --> 02:45.000
bbb-sprite.jpg#xywh=1280,144,128,72
02:45.000 --> 02:50.000
bbb-sprite.jpg#xywh=0,216,128,72
02:50.000 --> 02:55.000
bbb-sprite.jpg#xywh=128,216,128,72
02:55.000 --> 03:00.000
bbb-sprite.jpg#xywh=256,216,128,72
03:00.000 --> 03:05.000
bbb-sprite.jpg#xywh=384,216,128,72
03:05.000 --> 03:10.000
bbb-sprite.jpg#xywh=512,216,128,72
03:10.000 --> 03:15.000
bbb-sprite.jpg#xywh=640,216,128,72
03:15.000 --> 03:20.000
bbb-sprite.jpg#xywh=768,216,128,72
03:20.000 --> 03:25.000
bbb-sprite.jpg#xywh=896,216,128,72
03:25.000 --> 03:30.000
bbb-sprite.jpg#xywh=1024,216,128,72
03:30.000 --> 03:35.000
bbb-sprite.jpg#xywh=1152,216,128,72
03:35.000 --> 03:40.000
bbb-sprite.jpg#xywh=1280,216,128,72
03:40.000 --> 03:45.000
bbb-sprite.jpg#xywh=0,288,128,72
03:45.000 --> 03:50.000
bbb-sprite.jpg#xywh=128,288,128,72
03:50.000 --> 03:55.000
bbb-sprite.jpg#xywh=256,288,128,72
03:55.000 --> 04:00.000
bbb-sprite.jpg#xywh=384,288,128,72
04:00.000 --> 04:05.000
bbb-sprite.jpg#xywh=512,288,128,72
04:05.000 --> 04:10.000
bbb-sprite.jpg#xywh=640,288,128,72
04:10.000 --> 04:15.000
bbb-sprite.jpg#xywh=768,288,128,72
04:15.000 --> 04:20.000
bbb-sprite.jpg#xywh=896,288,128,72
04:20.000 --> 04:25.000
bbb-sprite.jpg#xywh=1024,288,128,72
04:25.000 --> 04:30.000
bbb-sprite.jpg#xywh=1152,288,128,72
04:30.000 --> 04:35.000
bbb-sprite.jpg#xywh=1280,288,128,72
04:35.000 --> 04:40.000
bbb-sprite.jpg#xywh=0,360,128,72
04:40.000 --> 04:45.000
bbb-sprite.jpg#xywh=128,360,128,72
04:45.000 --> 04:50.000
bbb-sprite.jpg#xywh=256,360,128,72
04:50.000 --> 04:55.000
bbb-sprite.jpg#xywh=384,360,128,72
04:55.000 --> 05:00.000
bbb-sprite.jpg#xywh=512,360,128,72
05:00.000 --> 05:05.000
bbb-sprite.jpg#xywh=640,360,128,72
05:05.000 --> 05:10.000
bbb-sprite.jpg#xywh=768,360,128,72
05:10.000 --> 05:15.000
bbb-sprite.jpg#xywh=896,360,128,72
05:15.000 --> 05:20.000
bbb-sprite.jpg#xywh=1024,360,128,72
05:20.000 --> 05:25.000
bbb-sprite.jpg#xywh=1152,360,128,72
05:25.000 --> 05:30.000
bbb-sprite.jpg#xywh=1280,360,128,72
05:30.000 --> 05:35.000
bbb-sprite.jpg#xywh=0,432,128,72
05:35.000 --> 05:40.000
bbb-sprite.jpg#xywh=128,432,128,72
05:40.000 --> 05:45.000
bbb-sprite.jpg#xywh=256,432,128,72
05:45.000 --> 05:50.000
bbb-sprite.jpg#xywh=384,432,128,72
05:50.000 --> 05:55.000
bbb-sprite.jpg#xywh=512,432,128,72
05:55.000 --> 06:00.000
bbb-sprite.jpg#xywh=640,432,128,72
06:00.000 --> 06:05.000
bbb-sprite.jpg#xywh=768,432,128,72
06:05.000 --> 06:10.000
bbb-sprite.jpg#xywh=896,432,128,72
06:10.000 --> 06:15.000
bbb-sprite.jpg#xywh=1024,432,128,72
06:15.000 --> 06:20.000
bbb-sprite.jpg#xywh=1152,432,128,72
06:20.000 --> 06:25.000
bbb-sprite.jpg#xywh=1280,432,128,72
06:25.000 --> 06:30.000
bbb-sprite.jpg#xywh=0,504,128,72
06:30.000 --> 06:35.000
bbb-sprite.jpg#xywh=128,504,128,72
06:35.000 --> 06:40.000
bbb-sprite.jpg#xywh=256,504,128,72
06:40.000 --> 06:45.000
bbb-sprite.jpg#xywh=384,504,128,72
06:45.000 --> 06:50.000
bbb-sprite.jpg#xywh=512,504,128,72
06:50.000 --> 06:55.000
bbb-sprite.jpg#xywh=640,504,128,72
06:55.000 --> 07:00.000
bbb-sprite.jpg#xywh=768,504,128,72
07:00.000 --> 07:05.000
bbb-sprite.jpg#xywh=896,504,128,72
07:05.000 --> 07:10.000
bbb-sprite.jpg#xywh=1024,504,128,72
07:10.000 --> 07:15.000
bbb-sprite.jpg#xywh=1152,504,128,72
07:15.000 --> 07:20.000
bbb-sprite.jpg#xywh=1280,504,128,72
07:20.000 --> 07:25.000
bbb-sprite.jpg#xywh=0,576,128,72
07:25.000 --> 07:30.000
bbb-sprite.jpg#xywh=128,576,128,72
07:30.000 --> 07:35.000
bbb-sprite.jpg#xywh=256,576,128,72
07:35.000 --> 07:40.000
bbb-sprite.jpg#xywh=384,576,128,72
07:40.000 --> 07:45.000
bbb-sprite.jpg#xywh=512,576,128,72
07:45.000 --> 07:50.000
bbb-sprite.jpg#xywh=640,576,128,72
07:50.000 --> 07:55.000
bbb-sprite.jpg#xywh=768,576,128,72
07:55.000 --> 08:00.000
bbb-sprite.jpg#xywh=896,576,128,72
08:00.000 --> 08:05.000
bbb-sprite.jpg#xywh=1024,576,128,72
08:05.000 --> 08:10.000
bbb-sprite.jpg#xywh=1152,576,128,72
08:10.000 --> 08:15.000
bbb-sprite.jpg#xywh=1280,576,128,72
08:15.000 --> 08:20.000
bbb-sprite.jpg#xywh=0,648,128,72
08:20.000 --> 08:25.000
bbb-sprite.jpg#xywh=128,648,128,72
08:25.000 --> 08:30.000
bbb-sprite.jpg#xywh=256,648,128,72
08:30.000 --> 08:35.000
bbb-sprite.jpg#xywh=384,648,128,72
08:35.000 --> 08:40.000
bbb-sprite.jpg#xywh=512,648,128,72
08:40.000 --> 08:45.000
bbb-sprite.jpg#xywh=640,648,128,72
08:45.000 --> 08:50.000
bbb-sprite.jpg#xywh=768,648,128,72
08:50.000 --> 08:55.000
bbb-sprite.jpg#xywh=896,648,128,72
08:55.000 --> 09:00.000
bbb-sprite.jpg#xywh=1024,648,128,72
09:00.000 --> 09:05.000
bbb-sprite.jpg#xywh=1152,648,128,72
09:05.000 --> 09:10.000
bbb-sprite.jpg#xywh=1280,648,128,72
09:10.000 --> 09:15.000
bbb-sprite.jpg#xywh=0,720,128,72
09:15.000 --> 09:20.000
bbb-sprite.jpg#xywh=128,720,128,72
09:20.000 --> 09:25.000
bbb-sprite.jpg#xywh=256,720,128,72
09:25.000 --> 09:30.000
bbb-sprite.jpg#xywh=384,720,128,72
09:30.000 --> 09:35.000
bbb-sprite.jpg#xywh=512,720,128,72
09:35.000 --> 09:40.000
bbb-sprite.jpg#xywh=640,720,128,72
09:40.000 --> 09:45.000
bbb-sprite.jpg#xywh=768,720,128,72
09:45.000 --> 09:50.000
bbb-sprite.jpg#xywh=896,720,128,72
09:50.000 --> 09:55.000
bbb-sprite.jpg#xywh=1024,720,128,72
09:55.000 --> 10:00.000
bbb-sprite.jpg#xywh=1152,720,128,72
+1
View File
@@ -0,0 +1 @@
[{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u8d4f\u5fc3\u60a6\u76ee","time":60.139,"color":"#FFFFFF"},{"text":"\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u5927\u8d4f","time":61.765,"color":"#FABE96"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u4e0a\u955c","time":61.857,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u975e\u5e38\u884c\u4e91\u6d41\u6c34","time":61,"color":"#FFFFFF"},{"text":"\u60f3\u5230\u4e86\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6a21\u4eff\u522b\u4eba\u5b66\u7740\u4f9d\u504e\u7684\u6837\u5b50","time":61.486,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u4eea\u6001\u597d\u6c14\u8d28\u4f73","time":62.995,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u8d4f\u5fc3\u60a6\u76ee","time":62.925,"color":"#FFFFFF"},{"text":"\u770b\u4e86\u8fd9\u4e2a\u5267\u66f4\u559c\u6b22\u7f57\u4e91\u7199\u4e86","time":62.717,"color":"#FFFFFF"},{"text":"\u6211\u53ef\u592a\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u7709\u773c\u4e86","time":63.529,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u554a\u554a\u554a\u554a","time":63.287,"color":"#FFFFFF"},{"text":"\u5927\u7231\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u989c\u503c\u6c14\u8d28","time":64.412,"color":"#FFFFFF"},{"text":"\u9ed1\u5316\u5427\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":64.365,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u975e\u5e38\u597d","time":65.875,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u771f\u7cbe\u5f69","time":66.107,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u8ff7\u7684\u6211\u4e94\u8ff7\u4e09\u9053","time":66.316,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u62ff\u7a33\u88ab\u8650\u5267\u672c","time":66.873,"color":"#FFFFFF"},{"text":"\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u5927\u8d4f","time":67.407,"color":"#FABE96"},{"text":"\u770b\u5b8c\u4e0a\u5b98\u900f\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u8fa3","time":67.848,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u884c\u4e91\u6d41\u6c34","time":67.964,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u725b\u903c","time":67.454,"color":"#FFFFFF"},{"text":"\u7247\u5934\u90fd\u820d\u4e0d\u5f97\u8df3","time":68.336,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u5f88\u597d","time":68.661,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u51fa\u573a\u5373\u60ca\u8273","time":68.474,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u7684\u6bcf\u4e00\u4e2a\u89d2\u8272\u90fd\u8ba9\u4eba\u65e0\u6cd5\u6297\u62d2","time":68.984,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u786e\u5b9e\u503c\u5f97\u4e00\u770b","time":69.311,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6211\u592a\u53ef\u4ee5\u4e86","time":69,"color":"#FFFFFF"},{"text":"\u770b\u4e86\u8fd9\u4e2a\u5267\u66f4\u559c\u6b22\u7f57\u4e91\u7199\u4e86","time":69.915,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u80fd\u628a\u60ac\u6d6e\u7684\u6fb9\u53f0\u70ec\u9970\u6f14\u7684\u8ba9\u4eba\u5171\u60c5","time":69,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6f14\u6280\u592a\u597d\u4e86","time":69.775,"color":"#FFFFFF"},{"text":"\u5439\u7206\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":70.356,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u771f\u662f\u624b\u63a7\u798f\u5229","time":70.913,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u60c5\u5546\u6ee1\u5206","time":70.797,"color":"#FFFFFF"},{"text":"\u4e0b\u73ed\u5403\u996d\u5b8c\u5c31\u6253\u5f00\u7535\u8111","time":70.89,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u53e4\u88c5\u9ca8\u6211","time":70.1,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u5e05","time":70,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7f57\u4e91\u7199","time":70.978,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u65f6\u9694\u4e94\u5e74\u7684\u53e4\u88c5\u4ed9\u4fa0\u957f\u6708\u70ec\u660e","time":70.867,"color":"#FFFFFF"},{"text":"\u5927\u7231\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u989c\u503c\u6c14\u8d28","time":71.238,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u7684\u6fb9\u53f0\u70ec\u975e\u5e38\u6709\u827a\u672f\u5438\u5f15\u529b","time":71,"color":"#FFFFFF"},{"text":"\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7b80\u76f4\u662f\u79cd\u4eab\u53d7","time":72.515,"color":"#FFFFFF"},{"text":"\u597d\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u8fd9\u4e2a\u611f\u89c9","time":72.33,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u82cf\u554a","time":72,"color":"#FFFFFF"},{"text":"\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":72.33,"color":"#FFFFFF"},{"text":"\u71ac\u591c\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":72.98,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53fLine truncated
Binary file not shown.
+26
View File
@@ -0,0 +1,26 @@
WEBVTT
1
00:00:00.000 --> 00:01:30.000
<i>[1]: 00:00 -> 01:30</i>
<i>[1]: 00:00 -> 01:30</i>
2
00:00:00.000 --> 00:00:05.000
<b>[2]: 00:00 -> 00:05</b>
<b>[2]: 00:00 -> 00:05</b>
3
00:00:00.000 --> 00:00:10.000
<b style="color:red">[3]: 00:00 -> 00:10</b>
<b style="color:red">[3]: 00:00 -> 00:10</b>
4
00:00:05.000 --> 00:00:20.000
<i style="color:yellow">[4]: 00:05 -> 00:20</i>
<i style="color:yellow">[4]: 00:05 -> 00:20</i>
5
00:00:10.000 --> 00:00:30.000
<del style="font-size:24px">[5]: 00:20 -> 01:00</del>
<del style="font-size:24px">[5]: 00:20 -> 01:00</del>
+56
View File
@@ -0,0 +1,56 @@
[Script Info]
Title:
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
ScaledBorderAndShadow: yes
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
Style: Alt,Times New Roman,40,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,8,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,This line is a comment and should not display on rendered output. This file is intended to be rendered on a 640x480 video, preferably a single solid colour, or maybe a checkerboard pattern.
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,This is a test of the ASS format and some basic features in it.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0000,0000,0000,,This and the previous line should both show at the bottom of the video in 20 pixel high white Arial with a 2 pixel black outline and 2 pixel offset shadow. This line is long so it should automatically be broken into several lines that are approximately even length, with upper lines being longer.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0000,0000,0000,,Now going to test conflict resolution. {By the way, this is a common abuse, "inline-comments" in override tag groups. They should not be rendered and not generate errors, just be ignored.}
Dialogue: 0,0:00:07.50,0:00:09.00,Default,,0000,0000,0000,,This line should be above the previous.
Dialogue: 0,0:00:09.00,0:00:11.00,Default,,0000,0000,0000,,{\an1}This line should be lower-left aligned using the \an1 override.
Dialogue: 0,0:00:11.00,0:00:13.00,Default,,0000,0000,0000,,{\an9}Upper right
Dialogue: 0,0:00:12.00,0:00:14.00,Alt,,0000,0000,0000,,This one should be below the "Upper right" line and be centered on screen. It should also be in 40 pixel high Times New Roman.
Dialogue: 0,0:00:14.00,0:00:16.00,Alt,,0000,0000,0000,,{\fs10}This should also be a toptitle in Times New Roman, but much smaller. Using an override tag to change size.
Dialogue: 0,0:00:16.00,0:00:18.00,Alt,,0000,0000,0000,,{\a5}Top-left using the legacy \a5 tag
Dialogue: 0,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,{\an5}This line is centered on screen.\NAt the bottom of the screen should be two lines in different layers, they are rendered on top of each other because conflict resolution only considers lines in the same layer.
Dialogue: 0,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,This is in layer 0
Dialogue: 1,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,And this line is in layer 1
Dialogue: 0,0:00:20.00,0:00:22.00,Default,,0000,0000,0000,,Another line in layer 0
Dialogue: 1,0:00:20.00,0:00:22.00,Default,,0050,0000,0020,,And this line is in layer 1, but has changed its margins so it isn't exactly centered, and it's raised above the other line.
Dialogue: 0,0:00:22.00,0:00:24.00,Default,,0000,0000,0000,,Switching {\fnTimes New Roman}font inline, {\r}and resetting styles
Dialogue: 0,0:00:24.00,0:00:26.00,Default,,0000,0000,0000,,Also {\rAlt}switching to a different style {\r}inline
Dialogue: 0,0:00:26.00,0:00:28.00,Default,,0000,0000,0000,,{\an5\pos(258,131)}Positioning... this line should be in an odd place
Dialogue: 0,0:00:26.00,0:00:28.00,Default,,0000,0000,0000,,{\an5\pos(222,338)\frz29.559}So should this one, and be rotated
Dialogue: 0,0:00:28.00,0:00:30.00,Default,,0000,0000,0000,,{\pos(371,314)\frz338.403\frx42\fry30\org(187,165)}Some more rotation tricks, this time in 3D and with a different origin
Dialogue: 0,0:00:30.00,0:00:32.00,Default,,0000,0000,0000,,{\an5\t(\frz360)}This line is animated and rotates 360 degrees over its duration
Dialogue: 0,0:00:32.00,0:00:34.00,Default,,0000,0000,0000,,{\an5\move(182,157,414,311)}This line moves
Dialogue: 0,0:00:34.00,0:00:36.00,Default,,0000,0000,0000,,{\an5\clip(126,192,487,241)}This line is only partially visible\Nso if you can see this, \clip is handled incorrectly
Dialogue: 0,0:00:36.00,0:00:38.00,Default,,0000,0000,0000,,{\an5\clip(m 178 212 l 163 249 212 302 257 232 309 249 366 241 392 285 473 267 487 210 421 241 353 219 207 258)}And this line has a funnily-shaped clip area
Dialogue: 0,0:00:38.00,0:00:40.00,Default,,0000,0000,0000,,{\an5\pos(321,193)}Here should be a pretty feather with a thin border and no shadow:
Dialogue: 0,0:00:38.00,0:00:40.00,Default,,0000,0000,0000,,{\an5\bord1\shad0\p1\fscx300\fscy300\pos(316,312)}m 0 0 b 33 -3 48 -7 61 -19 b 53 -7 31 -1 1 2 m 9 0 b 9 -5 10 -6 14 -12 b 9 -5 10 -3 10 0 m 10 -1 b 10 -5 11 -8 16 -12 b 17 -12 18 -13 22 -14 b 18 -10 16 -6 15 -1 b 17 -6 19 -10 23 -14 l 26 -15 b 22 -11 20 -6 19 -2 b 24 -11 27 -14 28 -15 b 31 -16 35 -16 39 -16 b 37 -14 36 -10 36 -5 b 36 -9 38 -14 39 -16 b 41 -16 43 -16 45 -15 b 44 -13 43 -10 43 -7 l 29 -3 m 43 -7 b 44 -11 45 -13 47 -15 b 46 -13 46 -11 46 -9 b 46 -11 47 -13 49 -15 b 51 -15 48 -13 48 -9 b 49 -11 49 -14 52 -16 b 55 -16 53 -17 51 -11 l 48 -8 m 54 -13 b 53 -14 54 -15 54 -16 b 54 -15 54 -14 55 -13 b 57 -13 60 -12 62 -14 b 61 -12 55 -12 53 -12 b 55 -11 56 -10 61 -10 b 61 -7 53 -9 52 -11 b 53 -8 55 -7 58 -6 b 57 -5 56 -4 54 -3 b 49 -5 48 -6 47 -9 b 47 -6 50 -4 53 -2 b 49 -3 47 -6 45 -8 b 46 -6 49 -3 52 -1 b 46 2 45 3 43 3 b 40 0 39 -3 40 -6 b 39 -3 39 1 42 3 b 40 6 36 1 34 -4 b 35 -1 36 2 38 5 b 32 7 26 9 22 8 b 19 5 17 2 16 -1 b 17 3 19 5 20 7 b 17 4 16 2 15 0 b 15 2 17 5 19 8 b 15 9 13 3 12 0 l 25 -2 l 42 -7 m 12 0 b 13 3 13 7 17 9 b 12 7 10 1 10 0
Dialogue: 0,0:00:40.00,0:00:42.00,Default,,0000,0000,0000,,Some other basic font style tests:\NNormal, {\b1}Boldface{\r}, {\i1}Italics{\r}, {\u1}Underline{\r}, {\s1}Strikethrough
Dialogue: 0,0:00:42.00,0:00:44.00,Default,,0000,0000,0000,,There should be no linebreak here,\nbut there should be one here\Nso this is on a separate line.
Dialogue: 0,0:00:44.00,0:00:46.00,Default,,0000,0000,0000,,This line is pushed left by adding some hard spaces to the right\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h
Dialogue: 0,0:00:44.00,0:00:46.00,Default,,0000,0000,0000,, Regular spaces at line start/end are ignored, so this line is centered
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\an8\q2}This is a long line but it is not broken into several because it's using the \q override tag which changes the line-wrapping mode for a single line. The tag can take several values, 0 is the default which is "smart wrapping" with top lines longer, 1 is regular wrapping, 2 is no wrapping and 3 is smart-wrapping with bottom lines longer.
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\an5\q1}This is a long line using the \q1 override tag to get "dumb" wrapping, make as long lines as possible and first wrap when it'd go off screen. This is mostly visible when the last line generated is short.
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\q3}And this line uses the \q3 wrapping style, which is similar to the \q0 default smart-wrap style, but has lower lines longer than the upper ones.
Dialogue: 0,0:00:48.00,0:00:50.00,Default,,0000,0000,0000,,{\an5}{\bord0\t(\bord10)}This text has a growing border\N{\r\shad0\t(\shad10)}This text has an increasing shadow\N{\r\t(\fry360)}This text is rotating around the Y axis\N{\r\t(\frz720)}This text rotates {\t(\frx360)}and this one even more
Dialogue: 0,0:00:50.00,0:00:52.00,Default,,0000,0000,0000,,{\an5\bord0\shad0}All of this has no border or shadow...\N{\1c&H0000FF&}This is bright red, {\1c&H00FF00&}green, {\1c&HFF0000}blue{\1c&HFFFFFF&}\N{\1a&H80&}50% transparent
Dialogue: 0,0:00:52.00,0:00:54.00,Default,,0000,0000,0000,,{\fsp10}Large inter-letter spacing
Dialogue: 0,0:00:54.00,0:00:56.00,Default,,0000,0000,0000,,{\shad0}No shadow here, just regular border, {\be1}but this is \be1 blurred edges!
Dialogue: 0,0:00:56.00,0:00:58.00,Default,,0000,0000,0000,,{\t(1000,2000,\alpha&HFF&)}Fading out after 1 sec on screen, using \alpha. Everything should fade.
Dialogue: 0,0:00:58.00,0:01:00.00,Default,,0000,0000,0000,,{\fad(1000,1000)}Fading in and out using \fad
Dialogue: 0,0:01:00.00,0:01:02.00,Default,,0000,0000,0000,,{\k10}And {\k5}now {\k20}for {\kf50}ka{\kf20}ra{\K70}o{\K10}ke{\k0}!
Dialogue: 0,0:01:02.00,0:01:04.00,Default,,0000,0000,0000,,{\an5\t()\clip(69,215,573,267)\t(1000,2000,3,\clip(573,267,573,267))}And the last thing on the programme, an animated rectangular \clip, delayed by 1 second. And it even uses acceleration...!
Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.
+52
View File
@@ -0,0 +1,52 @@
import type Artplayer from 'artplayer';
export = artplayerPluginAds;
export as namespace artplayerPluginAds;
type Option = {
/**
* 广告源文本,支持视频链接、图片链接、HTML文本
*/
source: string;
/**
* 知名广告的类型:'video' | 'image' | 'html'
*/
type: 'video' | 'image' | 'html';
/**
* 广告必看的时长,单位为秒
*/
playDuration?: number;
/**
* 广告总的时长,单位为秒
*/
totalDuration?: number;
/**
* 视频广告是否默认静音
*/
muted?: boolean;
};
type Ads = {
name: 'artplayerPluginAds';
/**
* 跳过广告
*/
skip: () => void;
/**
* 暂停广告
*/
pause: () => void;
/**
* 播放广告
*/
play: () => void;
};
declare const artplayerPluginAds: (option: Option) => (art: Artplayer) => Ads;
+17
View File
@@ -0,0 +1,17 @@
import type Artplayer from 'artplayer';
export = artplayerPluginChromecast;
export as namespace artplayerPluginChromecast;
type Option = {
url?: string;
sdk?: string;
icon?: string;
mimeType?: string;
};
type Chromecast = {
name: 'artplayerPluginChromecast';
};
declare const artplayerPluginChromecast: (option: Option) => (art: Artplayer) => Chromecast;
+13
View File
@@ -0,0 +1,13 @@
import type Artplayer from 'artplayer';
export = artplayerPluginControl;
export as namespace artplayerPluginControl;
type Option = {};
type Control = {
name: 'artplayerPluginControl';
enable: Boolean;
};
declare const artplayerPluginControl: (option?: Option) => (art: Artplayer) => Control;
+214
View File
@@ -0,0 +1,214 @@
import type Artplayer from 'artplayer';
export = artplayerPluginDanmuku;
export as namespace artplayerPluginDanmuku;
type Mode = 0 | 1 | 2;
type Danmu = {
/**
* 弹幕文本
*/
text: string;
/**
* 弹幕发送模式: 0: 滚动,1: 顶部,2: 底部
*/
mode?: Mode;
/**
* 弹幕颜色
*/
color?: string;
/**
* 弹幕出现的时间,单位为秒
*/
time?: number;
/**
* 弹幕是否有描边, 默认为 false
*/
border?: boolean;
/**
* 弹幕自定义样式
*/
style?: Partial<CSSStyleDeclaration>;
/**
* 弹幕文本是否转义, 默认为 true
*/
escape?: boolean;
};
type Option = {
/**
* 弹幕数据: 函数,数组,Promise,URL
*/
danmuku: Danmu[] | string | (() => Promise<Danmu[]>) | Promise<Danmu[]>;
/**
* 弹幕持续时间,范围在[1 ~ 10]
*/
speed?: number;
/**
* 弹幕上下边距,支持像素数字和百分比
*/
margin?: [number | `${number}%`, number | `${number}%`];
/**
* 弹幕透明度,范围在[0 ~ 1]
*/
opacity?: number;
/**
* 默认弹幕颜色,可以被单独弹幕项覆盖
*/
color?: string;
/**
* 弹幕模式: 0: 滚动,1: 顶部,2: 底部
*/
mode?: Mode;
/**
* 弹幕可见的模式
*/
modes?: Mode[];
/**
* 弹幕字体大小,支持像素数字和百分比
*/
fontSize?: number | `${number}%`;
/**
* 弹幕是否防重叠
*/
antiOverlap?: boolean;
/**
* 是否同步播放速度
*/
synchronousPlayback?: boolean;
/**
* 弹幕发射器挂载点, 默认为播放器控制栏中部
*/
mount?: HTMLDivElement | string;
/**
* 是否开启弹幕热度图
*/
heatmap?:
| boolean
| {
xMin?: number;
xMax?: number;
yMin?: number;
yMax?: number;
scale?: number;
opacity?: number;
minHeight?: number;
sampling?: number;
smoothing?: number;
flattening?: number;
};
/**
* 热力图数据
*/
points?: any[];
/**
* 弹幕载入前的过滤器,只支持返回布尔值
*/
filter?: (danmu: Danmu) => boolean;
/**
* 弹幕发送前的过滤器,支持返回 Promise
*/
beforeEmit?: (danmu: Danmu) => boolean | Promise<boolean>;
/**
* 弹幕显示前的过滤器,支持返回 Promise
*/
beforeVisible?: (danmu: Danmu) => boolean | Promise<boolean>;
/**
* 弹幕是否可见
*/
visible?: boolean;
/**
* 弹幕输入框最大长度, 范围在[1 ~ 1000]
*/
maxLength?: number;
/**
* 输入框锁定时间,范围在[1 ~ 60]
*/
lockTime?: number;
/**
* 弹幕主题,只在自定义挂载时生效
*/
theme?: 'light' | 'dark';
};
type Danmuku = {
name: 'artplayerPluginDanmuku';
/**
* 发送一条实时弹幕
*/
emit: (danmu: Danmu) => Danmuku;
/**
* 重载弹幕源,或者切换新弹幕
*/
load: () => Promise<Danmuku>;
/**
* 实时改变弹幕配置
*/
config: (option: Option) => Danmuku;
/**
* 隐藏弹幕层
*/
hide: () => Danmuku;
/**
* 显示弹幕层
*/
show: () => Danmuku;
/**
* 挂载弹幕输入框
*/
mount: (el?: HTMLDivElement | string) => void;
/**
* 重置弹幕
*/
reset: () => Danmuku;
/**
* 弹幕配置
*/
option: Option;
/**
* 是否隐藏弹幕层
*/
isHide: boolean;
/**
* 是否弹幕层停止状态
*/
isStop: boolean;
};
declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Danmuku;
+14
View File
@@ -0,0 +1,14 @@
import type Artplayer from 'artplayer';
export = artplayerPluginDashQuality;
export as namespace artplayerPluginDashQuality;
declare const artplayerPluginDashQuality: (option: {
control?: boolean;
setting?: boolean;
title?: string;
auto?: string;
getResolution?(level: any): String;
}) => (art: Artplayer) => {
name: 'artplayerPluginDashQuality';
};
+14
View File
@@ -0,0 +1,14 @@
import type Artplayer from 'artplayer';
export = artplayerPluginHlsQuality;
export as namespace artplayerPluginHlsQuality;
declare const artplayerPluginHlsQuality: (option: {
control?: boolean;
setting?: boolean;
title?: string;
auto?: string;
getResolution?(level: any): String;
}) => (art: Artplayer) => {
name: 'artplayerPluginHlsQuality';
};
+30
View File
@@ -0,0 +1,30 @@
export = ArtplayerPluginIframe;
export as namespace ArtplayerPluginIframe;
type Message = {
type: string;
data: any;
id?: number;
};
declare class ArtplayerPluginIframe {
constructor(option: { iframe: HTMLIFrameElement; url: string });
static iframe: boolean;
static postMessage(message: Message): void;
static onMessage(event: MessageEvent & { data: Message }): void;
static inject(): void;
readonly promises: Record<number, { resove: Function; reject: Function }>;
readonly injected: boolean;
readonly destroyed: boolean;
readonly $iframe: HTMLIFrameElement;
readonly url: string;
readonly messageCallback: (...args: any[]) => any;
onMessage(event: MessageEvent & { data: Message }): void;
postMessage(message: Message): Promise<any>;
commit<T extends (...args: any[]) => any>(callback: T): Promise<ReturnType<T>>;
message(callback: (...args: any[]) => any): void;
destroy(): void;
}
+17
View File
@@ -0,0 +1,17 @@
import type Artplayer from 'artplayer';
import type SubtitlesOctopus from '@hrgui/libass-wasm-ts';
import { type Options } from 'libass-wasm';
export = artplayerPluginAss;
export as namespace artplayerPluginAss;
declare const artplayerPluginAss: (options: Options) => (art: Artplayer) => {
name: 'artplayerPluginLibass';
libass: SubtitlesOctopus;
visible: boolean;
init: () => void;
switch: (url: string) => void;
show: () => void;
hide: () => void;
destroy: () => void;
};
+16
View File
@@ -0,0 +1,16 @@
import type Artplayer from 'artplayer';
export = artplayerPluginMultipleSubtitles;
export as namespace artplayerPluginMultipleSubtitles;
declare const artplayerPluginMultipleSubtitles: (option: {
subtitles: {
url?: string;
name?: string;
type?: 'vtt' | 'srt' | 'ass';
encoding?: string;
onParser?(...args: object[]): object;
}[];
}) => (art: Artplayer) => {
name: 'multipleSubtitles';
};
+10
View File
@@ -0,0 +1,10 @@
import type Artplayer from 'artplayer';
export = artplayerPluginVttThumbnail;
export as namespace artplayerPluginVttThumbnail;
declare const artplayerPluginVttThumbnail: (option: { vtt?: string; style?: Partial<CSSStyleDeclaration> }) => (
art: Artplayer,
) => {
name: 'artplayerPluginVttThumbnail';
};
+802 -412
View File
File diff suppressed because it is too large. Load diff
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<InLine>
<AdSystem><![CDATA[TEST-AD-SYSTEM]]]></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<Impression><![CDATA[https://impression-pixel]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration><![CDATA[00:00:01]]></Duration>
<VideoClicks>
<ClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></ClickThrough>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" bitrate="400" width="0" height="0" type="video/mp4">
<![CDATA[https://artplayer.org/assets/vast/linear-video-1s.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<InLine>
<AdSystem><![CDATA[TEST-AD-SYSTEM]]]></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<Impression><![CDATA[https://impression-pixel]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration><![CDATA[00:00:02]]></Duration>
<VideoClicks>
<ClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></ClickThrough>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" bitrate="400" width="0" height="0" type="video/mp4">
<![CDATA[https://artplayer.org/assets/vast/linear-video-2s.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<InLine>
<AdSystem><![CDATA[TEST-AD-SYSTEM]]]></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<Impression><![CDATA[https://impression-pixel]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration><![CDATA[00:00:04]]></Duration>
<VideoClicks>
<ClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></ClickThrough>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" bitrate="400" width="0" height="0" type="video/mp4">
<![CDATA[https://artplayer.org/assets/vast/linear-video.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<InLine>
<AdSystem><![CDATA[TEST-AD-SYSTEM]]]></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<Impression><![CDATA[https://impression-pixel]]></Impression>
<Creatives>
<Creative>
<NonLinearAds>
<NonLinear width="728" height="90" minSuggestedDuration="00:00:05" scalable="true" maintainAspectRatio="true">
<StaticResource creativeType="image/png"><![CDATA[https://artplayer.org/assets/vast/nonlinear-728x90.png]]></StaticResource>
<NonLinearClickTracking><![CDATA[https://clickTracking]]></NonLinearClickTracking>
<NonLinearClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></NonLinearClickThrough>
</NonLinear>
<NonLinear width="480" height="70" minSuggestedDuration="00:00:05" scalable="true" maintainAspectRatio="true">
<StaticResource creativeType="image/png"><![CDATA[https://artplayer.org/assets/vast/nonlinear-480x70.png]]></StaticResource>
<NonLinearClickTracking><![CDATA[https://clickTracking]]></NonLinearClickTracking>
<NonLinearClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></NonLinearClickThrough>
</NonLinear>
<NonLinear width="320" height="50" minSuggestedDuration="00:00:05" scalable="true" maintainAspectRatio="true">
<StaticResource creativeType="image/png"><![CDATA[https://artplayer.org/assets/vast/nonlinear-320x50.png]]></StaticResource>
<NonLinearClickTracking><![CDATA[https://clickTracking]]></NonLinearClickTracking>
<NonLinearClickThrough><![CDATA[https://artplayer.org/assets/vast/]]></NonLinearClickThrough>
</NonLinear>
</NonLinearAds>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<Wrapper fallbackOnNoAd="true">
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[]]>
</VASTAdTagURI>
<Extensions>
<Extension type="waterfall" fallback_index="0"/>
</Extensions>
</Wrapper>
</Ad>
<Ad>
<Wrapper fallbackOnNoAd="true">
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[does-not-exist]]>
</VASTAdTagURI>
<Extensions>
<Extension type="waterfall" fallback_index="1"/>
</Extensions>
</Wrapper>
</Ad>
<Ad>
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/linear-ad.xml]]>
</VASTAdTagURI>
<Extensions>
<Extension type="waterfall" fallback_index="2"/>
</Extensions>
</Wrapper>
</Ad>
</VAST>
+80
View File
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<VMAP xmlns:vmap="http://www.iab.net/vmap-1.0" version="1.0">
<vmap:AdBreak timeOffset="start" breakType="linear" breakId="start-0">
<vmap:AdSource id="start-0" allowMultipleAds="true" followRedirects="false">
<vmap:VASTAdData>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad sequence="1">
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/linear-ad.xml]]>
</VASTAdTagURI>
</Wrapper>
</Ad>
<Ad sequence="2">
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/linear-ad.xml]]>
</VASTAdTagURI>
</Wrapper>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
<vmap:AdBreak timeOffset="00:00:05.000" breakType="linear" breakId="midroll-0">
<vmap:AdSource id="midroll-0" allowMultipleAds="true" followRedirects="false">
<vmap:VASTAdData>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/nonlinear-ad.xml]]>
</VASTAdTagURI>
</Wrapper>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
<vmap:AdBreak timeOffset="00:00:15.000" breakType="linear" breakId="midroll-1">
<vmap:AdSource id="midroll-1" allowMultipleAds="true" followRedirects="false">
<vmap:VASTAdData>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/linear-ad.xml]]>
</VASTAdTagURI>
</Wrapper>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
<vmap:AdBreak timeOffset="end" breakType="linear" breakId="postroll-0">
<vmap:AdSource id="postroll-0" allowMultipleAds="true" followRedirects="false">
<vmap:VASTAdData>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad>
<Wrapper>
<AdSystem></AdSystem>
<Error><![CDATA[https://error-pixel?[ERRORCODE]]]></Error>
<VASTAdTagURI>
<![CDATA[https://artplayer.org/assets/vast/linear-ad.xml]]>
</VASTAdTagURI>
</Wrapper>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
</VMAP>
+1
View File
@@ -0,0 +1 @@
/*! * artplayer-plugin-ads.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,n,l,t,i){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r="function"==typeof a[t]&&a[t],o=r.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(n,l){if(!o[n]){if(!e[n]){var i="function"==typeof a[t]&&a[t];if(!l&&i)return i(n,!0);if(r)return r(n,!0);if(d&&"string"==typeof n)return d(n);var s=Error("Cannot find module '"+n+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},c.cache={};var u=o[n]=new p.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:p(n)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=o,p.parent=r,p.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(p,"root",{get:function(){return a[t]}}),a[t]=p;for(var s=0;s<n.length;s++)p(n[s]);if(l){var u=p(l);"object"==typeof exports&&"undefined"!=typeof module?module.exports=u:"function"==typeof define&&define.amd&&define(function(){return u})}}({hUYA0:[function(e,n,l){var t=e("@parcel/transformer-js/src/esmodule-helpers.js");t.defineInteropFlag(l),t.export(l,"default",()=>r);var i=e("bundle-text:./style.less"),a=t.interopDefault(i);function r(e){return n=>{!function(e){let{version:n,utils:{errorHandle:l}}=e.constructor,t=n.split(".").map(Number);l(t[0]+t[1]/100>=5,`Artplayer.js@${n}is not compatible the artplayerPluginAds@${r.version}. Please update it to version Artplayer.js@5.x.x`)}(n);let{template:{$player:l},icons:{volume:t,volumeClose:i,fullscreenOn:a,fullscreenOff:o,loading:d},constructor:{validator:p,utils:{query:s,append:u,setStyle:c}}}=n;e=p({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let y=null,f=null,g=null,m=null,x=null,v=null,h=0,b=null,w=!1,j=!1,D=!1;function P(e,n){return n.replace("%s",e)}function $(){w=!0,n.play(),e.video&&y.pause(),c(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function k(){w||(b=setTimeout(()=>{h+=1;let n=e.playDuration-h;n>=1?g.innerHTML=P(n,e.i18n.canBeClosed):(g.innerHTML=e.i18n.close,D||(D=!0)),m.innerHTML=P(e.totalDuration-h,e.i18n.countdown),h>=e.totalDuration?$():k()},1e3))}function A(){w||clearTimeout(b)}function O(){j||(j=!0,function(){n.template.$ads=u(l,'<div class="artplayer-plugin-ads"></div>'),y=u(n.template.$ads,e.video?`<video class="artplayer-plugin-ads-video" src="${e.video}" loop playsInline></video>`:`<div class="artplayer-plugin-ads-html">${e.html}</div>`),v=u(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),u(v,d),g=s(".artplayer-plugin-ads-close",f=u(n.template.$ads,`<div class="artplayer-plugin-ads-timer"><div class="artplayer-plugin-ads-close">${e.playDuration<=0?e.i18n.close:P(e.playDuration,e.i18n.canBeClosed)}</div><div class="artplayer-plugin-ads-countdown">${P(e.totalDuration,e.i18n.countdown)}</div></div>`)),m=s(".artplayer-plugin-ads-countdown",f),e.playDuration>=e.totalDuration&&c(g,"display","none"),n.proxy(g,"click",()=>{D&&$()});let r=s(".artplayer-plugin-ads-detail",x=u(n.template.$ads,`<div class="artplayer-plugin-ads-control"><div class="artplayer-plugin-ads-detail">${e.i18n.detail}</div><div class="artplayer-plugin-ads-muted"></div><div class="artplayer-plugin-ads-fullscreen"></div></div>`)),p=s(".artplayer-plugin-ads-muted",x),h=s(".artplayer-plugin-ads-fullscreen",x);if(e.url?n.proxy(r,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):c(r,"display","none"),e.video){let l=u(p,t),a=u(p,i);c(a,"display","none"),e.muted&&(y.muted=!0,c(l,"display","none"),c(a,"display","inline-flex")),n.proxy(p,"click",()=>{y.muted=!y.muted,y.muted?(c(l,"display","none"),c(a,"display","inline-flex")):(c(l,"display","inline-flex"),c(a,"display","none"))})}else c(p,"display","none");let b=u(h,a),w=u(h,o);c(w,"display","none"),n.proxy(h,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(c(b,"display","inline-flex"),c(w,"display","none")):(c(b,"display","none"),c(w,"display","inline-flex"))}),n.proxy(y,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(y,"error",$),n.proxy(y,"loadedmetadata",()=>{k(),y.play(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")})):(k(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?A():k()}))}return n.on("ready",()=>{Line truncated
@@ -0,0 +1 @@
/*! * artplayer-plugin-ads.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,n,t,r,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[r]&&i[r],o=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(n,t){if(!o[n]){if(!e[n]){var l="function"==typeof i[r]&&i[r];if(!t&&l)return l(n,!0);if(a)return a(n,!0);if(s&&"string"==typeof n)return s(n);var d=Error("Cannot find module '"+n+"'");throw d.code="MODULE_NOT_FOUND",d}c.resolve=function(t){var r=e[n][1][t];return null!=r?r:t},c.cache={};var u=o[n]=new p.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:p(n)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=o,p.parent=a,p.register=function(n,t){e[n]=[function(e,n){n.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return i[r]}}),i[r]=p;for(var d=0;d<n.length;d++)p(n[d]);if(t){var u=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=u:"function"==typeof define&&define.amd&&define(function(){return u})}}({"69VIU":[function(e,n,t){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(t),r.export(t,"default",function(){return o});var l=e("@swc/helpers/_/_object_spread"),i=e("bundle-text:./style.less"),a=r.interopDefault(i);function o(e){return function(n){r=(t=n.constructor).version,(0,t.utils.errorHandle)((i=r.split(".").map(Number))[0]+i[1]/100>=5,"Artplayer.js@".concat(r," is not compatible the artplayerPluginAds@").concat(o.version,". Please update it to version Artplayer.js@5.x.x"));var t,r,i,a=n.template.$player,s=n.icons,p=s.volume,d=s.volumeClose,u=s.fullscreenOn,c=s.fullscreenOff,f=s.loading,y=n.constructor,g=y.validator,m=y.utils,v=m.query,h=m.append,x=m.setStyle;e=g((0,l._)({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"}},e),{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});var b=null,j=null,w=null,_=null,D=null,O=null,P=0,k=null,A=!1,I=!1,M=!1;function C(e,n){return n.replace("%s",e)}function L(){A=!0,n.play(),e.video&&b.pause(),x(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function T(){A||(k=setTimeout(function(){P+=1;var n=e.playDuration-P;n>=1?w.innerHTML=C(n,e.i18n.canBeClosed):(w.innerHTML=e.i18n.close,M||(M=!0)),_.innerHTML=C(e.totalDuration-P,e.i18n.countdown),P>=e.totalDuration?L():T()},1e3))}function F(){A||clearTimeout(k)}function U(){I||(I=!0,function(){n.template.$ads=h(a,'<div class="artplayer-plugin-ads"></div>'),b=h(n.template.$ads,e.video?'<video class="artplayer-plugin-ads-video" src="'.concat(e.video,'" loop playsInline></video>'):'<div class="artplayer-plugin-ads-html">'.concat(e.html,"</div>")),O=h(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),h(O,f),w=v(".artplayer-plugin-ads-close",j=h(n.template.$ads,'<div class="artplayer-plugin-ads-timer">\n<div class="artplayer-plugin-ads-close">'.concat(e.playDuration<=0?e.i18n.close:C(e.playDuration,e.i18n.canBeClosed),'</div>\n<div class="artplayer-plugin-ads-countdown">').concat(C(e.totalDuration,e.i18n.countdown),"</div>\n</div>"))),_=v(".artplayer-plugin-ads-countdown",j),e.playDuration>=e.totalDuration&&x(w,"display","none"),n.proxy(w,"click",function(){M&&L()});var t=v(".artplayer-plugin-ads-detail",D=h(n.template.$ads,'<div class="artplayer-plugin-ads-control">\n<div class="artplayer-plugin-ads-detail">'.concat(e.i18n.detail,'</div>\n<div class="artplayer-plugin-ads-muted"></div>\n<div class="artplayer-plugin-ads-fullscreen"></div>\n</div>'))),r=v(".artplayer-plugin-ads-muted",D),l=v(".artplayer-plugin-ads-fullscreen",D);if(e.url?n.proxy(t,"click",function(){window.open(e.url),n.emit("artplayerPluginAds:click",e)}):x(t,"display","none"),e.video){var i=h(r,p),o=h(r,d);x(o,"display","none"),e.muted&&(b.muted=!0,x(i,"display","none"),x(o,"display","inline-flex")),n.proxy(r,"click",function(){b.muted=!b.muted,b.muted?(x(i,"display","none"),x(o,"display","inline-flex")):(x(i,"display","inline-flex"),x(o,"display","none"))})}else x(r,"display","none");var s=h(l,u),y=h(l,c);x(y,"display","none"),n.proxy(l,"click",function(){n.fullscreen=!n.fullscreen,n.fullscreen?(x(s,"display","inline-flex"),x(y,"display","none")):(x(s,"display","none"),x(y,"display","inline-flex"))}),n.proxy(b,"click",function(){e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(b,"error",L),n.proxy(b,"loadedmetadata",function(){T(),b.play(),x(j,"display","flex"),x(D,"display","Line truncated
@@ -0,0 +1,8 @@
/*!
* artplayer-plugin-ambilight.js v1.0.0
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2024 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,n,r,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[r]&&i[r],l=u.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function a(t,n){if(!l[t]){if(!e[t]){var o="function"==typeof i[r]&&i[r];if(!n&&o)return o(t,!0);if(u)return u(t,!0);if(f&&"string"==typeof t)return f(t);var d=Error("Cannot find module '"+t+"'");throw d.code="MODULE_NOT_FOUND",d}p.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},p.cache={};var c=l[t]=new a.Module(t);e[t][0].call(c.exports,p,c,c.exports,this)}return l[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:a(t)}}a.isParcelRequire=!0,a.Module=function(e){this.id=e,this.bundle=a,this.exports={}},a.modules=e,a.cache=l,a.parent=u,a.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(a,"root",{get:function(){return i[r]}}),i[r]=a;for(var d=0;d<t.length;d++)a(t[d]);if(n){var c=a(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define(function(){return c})}}({"4TtJY":[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e={}){return t=>{let{$video:n}=t.template,{createElement:r,addClass:o,setStyles:i}=t.constructor.utils,{blur:u="50px",opacity:l=.5,frequency:f=10,duration:a=.3}=e,d=r("div"),c=(d.innerHTML=Array(9).fill("<div></div>").join(""),Array.from(d.children));o(d,"artplayer-plugin-ambilight"),n.parentNode.insertBefore(d,n),i(d,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),function(e,t,n,r){e.forEach(e=>{i(e,{opacity:n,filter:`blur(${t})`,transition:`background-color ${r}s ease`})})}(c,u,l,a);let p=function(e,n,o){let i=r("canvas"),u=i.getContext("2d");i.width=3,i.height=3;let l=0;return function r(){let i=performance.now();if(i-l<1e3/o||!t.playing){s=requestAnimationFrame(r);return}l=i;let f=e.videoWidth/3,a=e.videoHeight/3,d=[[0,0],[f,0],[2*f,0],[0,a],[f,a],[2*f,a],[0,2*a],[f,2*a],[2*f,2*a]].map(([t,n])=>(function(t,n,r,o){u.drawImage(e,t,n,r,o,0,0,1,1);let[i,l,f]=u.getImageData(0,0,1,1).data;return`rgb(${i}, ${l}, ${f})`})(t,n,f,a));n.forEach((e,t)=>{e.style.backgroundColor=d[t]}),s=requestAnimationFrame(r)}}(n,c,f),s=null;function m(){s||p()}function g(){s&&(cancelAnimationFrame(s),s=null)}return t.on("ready",m),t.on("destroy",g),{name:"artplayerPluginAmbilight",start:m,stop:g}}}r.defineInteropFlag(n),r.export(n,"default",()=>o),"undefined"!=typeof window&&(window.artplayerPluginAmbilight=o)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["4TtJY"],"4TtJY","parcelRequire4dc0");
@@ -0,0 +1,8 @@
/*!
* artplayer-plugin-ambilight.js v1.0.0
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2024 Harvey Zack
* Released under the MIT License.
*/
!function(e,r,t,n,o){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof a[n]&&a[n],l=i.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(r,t){if(!l[r]){if(!e[r]){var o="function"==typeof a[n]&&a[n];if(!t&&o)return o(r,!0);if(i)return i(r,!0);if(s&&"string"==typeof r)return s(r);var f=Error("Cannot find module '"+r+"'");throw f.code="MODULE_NOT_FOUND",f}d.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},d.cache={};var c=l[r]=new u.Module(r);e[r][0].call(c.exports,d,c,c.exports,this)}return l[r].exports;function d(e){var r=d.resolve(e);return!1===r?{}:u(r)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=l,u.parent=i,u.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(u,"root",{get:function(){return a[n]}}),a[n]=u;for(var f=0;f<r.length;f++)u(r[f]);if(t){var c=u(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define(function(){return c})}}({aefyu:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"default",function(){return a});var o=e("@swc/helpers/_/_sliced_to_array");function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(r){var t,n,a,i,l=r.template.$video,s=r.constructor.utils,u=s.createElement,f=s.addClass,c=s.setStyles,d=e.blur,p=e.opacity,m=e.frequency,y=e.duration,_=u("div"),h=(_.innerHTML=Array(9).fill("<div></div>").join(""),Array.from(_.children));f(_,"artplayer-plugin-ambilight"),l.parentNode.insertBefore(_,l),c(_,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),function(e,r,t,n){e.forEach(function(e){c(e,{opacity:t,filter:"blur(".concat(r,")"),transition:"background-color ".concat(n,"s ease")})})}(h,void 0===d?"50px":d,void 0===p?.5:p,void 0===y?.3:y);var j=(t=void 0===m?10:m,a=(n=u("canvas")).getContext("2d"),n.width=3,n.height=3,i=0,function e(){var n=performance.now();if(n-i<1e3/t||!r.playing){v=requestAnimationFrame(e);return}i=n;var s=l.videoWidth/3,u=l.videoHeight/3,f=[[0,0],[s,0],[2*s,0],[0,u],[s,u],[2*s,u],[0,2*u],[s,2*u],[2*s,2*u]].map(function(e){var r,t,n,i,f=(0,o._)(e,2),c=f[0],d=f[1];return a.drawImage(l,c,d,s,u,0,0,1,1),t=(r=(0,o._)(a.getImageData(0,0,1,1).data,3))[0],n=r[1],i=r[2],"rgb(".concat(t,", ").concat(n,", ").concat(i,")")});h.forEach(function(e,r){e.style.backgroundColor=f[r]}),v=requestAnimationFrame(e)}),v=null;function g(){v||j()}function b(){v&&(cancelAnimationFrame(v),v=null)}return r.on("ready",g),r.on("destroy",b),{name:"artplayerPluginAmbilight",start:g,stop:b}}}"undefined"!=typeof window&&(window.artplayerPluginAmbilight=a)},{"@swc/helpers/_/_sliced_to_array":"uVQht","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],uVQht:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"_",function(){return s});var o=e("./_array_with_holes.js"),a=e("./_iterable_to_array_limit.js"),i=e("./_non_iterable_rest.js"),l=e("./_unsupported_iterable_to_array.js");function s(e,r){return(0,o._)(e)||(0,a._)(e,r)||(0,l._)(e,r)||(0,i._)()}},{"./_array_with_holes.js":"hF14e","./_iterable_to_array_limit.js":"loYCM","./_non_iterable_rest.js":"2Mjp1","./_unsupported_iterable_to_array.js":"5m31D","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],hF14e:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(Array.isArray(e))return e}n.defineInteropFlag(t),n.export(t,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,r,t){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}],loYCM:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(a.push(t.value),!r||a.length!==r);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw n}}return a}}n.defineInteropFlag(t),n.export(t,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"2Mjp1":[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(){throw TypeError("Invalid attempt to destructure non-iterable insLine truncated
@@ -0,0 +1,8 @@
/*!
* artplayer-plugin-chapter.js v1.0.0
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2024 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,r,a,n){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof o[a]&&o[a],l=i.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!l[t]){if(!e[t]){var n="function"==typeof o[a]&&o[a];if(!r&&n)return n(t,!0);if(i)return i(t,!0);if(d&&"string"==typeof t)return d(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},c.cache={};var u=l[t]=new p.Module(t);e[t][0].call(u.exports,c,u,u.exports,this)}return l[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=l,p.parent=i,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return o[a]}}),o[a]=p;for(var s=0;s<t.length;s++)p(t[s]);if(r){var u=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=u:"function"==typeof define&&define.amd&&define(function(){return u})}}({eSFsM:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>i);var n=e("bundle-text:./style.less"),o=a.interopDefault(n);function i(e={}){return t=>{let{$player:r}=t.template,{setStyle:a,append:n,clamp:o,query:i,isMobile:l,addClass:d,removeClass:p}=t.constructor.utils,s=`<div class="art-chapter"><div class="art-chapter-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div></div></div>`,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=n(h,'<div class="art-chapters"></div>'),y=n(h,'<div class="art-chapter-title"></div>');function m({$chapter:e,width:t}){let r=e.dataset.title.trim();if(r){a(y,"display","flex"),y.innerText=r;let e=y.clientWidth;t<=e/2?a(y,"left",0):t>h.clientWidth-e/2?a(y,"left",`${h.clientWidth-e}px`):a(y,"left",`${t-e/2}px`)}else a(y,"display","none")}function v(e=[]){if(c=[],g.innerText="",p(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length&&t.duration){e=e.sort((e,t)=>e.start-t.start);for(let r=0;r<e.length;r++){let a=e[r],n=e[r+1];if(a.end===1/0&&(a.end=t.duration),"number"!=typeof a.start||"number"!=typeof a.end||"string"!=typeof a.title)throw Error("Illegal chapter data type");if(a.start<0||a.end>t.duration||a.start>=a.end||n&&a.end>n.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(let t=0;t<e.length-1;t++)e[t].end!==e[t+1].start&&e.splice(t+1,0,{start:e[t].end,end:e[t+1].start,title:""});c=e.map(e=>{let r=n(g,s),a=o(e.start,0,t.duration),l=o(e.end,0,t.duration),d=l-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=l,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width=`${100*p}%`,{$chapter:r,$hover:i(".art-progress-hover",r),$loaded:i(".art-progress-loaded",r),$played:i(".art-progress-played",r)}}),d(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",(e,r,n)=>{if(c.length)for(let o=0;o<c.length;o++){let{$chapter:i,$loaded:d,$played:p,$hover:s}=c[o],f={hover:s,loaded:d,played:p}[e];if(!f)return;let h=g.clientWidth*r,v=t.duration*r,x=parseFloat(i.dataset.duration),b=parseFloat(i.dataset.start),w=parseFloat(i.dataset.end);if(v<b&&a(f,"width",0),v>w&&a(f,"width","100%"),v>=b&&v<=w){let t=(v-b)/x;a(f,"width",`${100*t}%`),l?"played"===e&&n&&(m({$chapter:i,width:h}),clearTimeout(u),u=setTimeout(()=>{a(y,"display","none")},500)):"hover"===e&&m({$chapter:i,width:h})}}}),l||t.proxy(f,"mouseleave",()=>{c.length&&a(y,"display","none")}),t.once("video:loadedmetadata",()=>v(e.chapters)),{name:"artplayerPluginChapter",update:({chapters:e})=>v(e)}}}if("undefined"!=typeof document){let e="artplayer-plugin-chapter",t=document.getElementById(e);if(t)t.textContent=o.default;else{let t=document.createElement("style");t.id=e,t.textContent=o.default,document.head.appendChild(t)}}"undefined"!=typeof window&&(window.artplayerPluginChapter=i)},{"bundle-text:./style.less":"9CXLk","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9CXLk":[function(e,t,r){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:#0000!important;height:100%!important}.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-hover,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-loaded,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-played{display:none!important}.artplayer-plugin-chapter .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 64px)!important}.artplayer-plugin-chapter .art-chapters{z-index:0;align-items:center;gap:4px;height:100%;display:flex;position:absolute;inset:0;transfLine truncated
Loaded 100 of 960 files, more files were not shown because too many files have changed in this diff. Show more