@100mslive/roomkit-react 0.3.39-alpha.1 → 0.3.40-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +2221 -1613
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +2233 -1625
- package/dist/index.js.map +4 -4
- package/dist/meta.cjs.json +26 -26
- package/dist/meta.esbuild.json +26 -26
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -98,7 +98,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
98
98
|
reject(e);
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
|
-
var step = (
|
|
101
|
+
var step = (x2) => x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected);
|
|
102
102
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
103
103
|
});
|
|
104
104
|
};
|
|
@@ -107,7 +107,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
107
107
|
var define_process_env_default;
|
|
108
108
|
var init_define_process_env = __esm({
|
|
109
109
|
"<define:process.env>"() {
|
|
110
|
-
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.29-alpha.1", USER: "runner", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.20.8 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.39-alpha.1", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.39-alpha.1", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.0.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/28.2.13676358", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1898", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20250907.24.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:16274", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.7/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.39-alpha.1", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GITHUB_RUN_ID: "17974612952", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "509554a0889c1a13e0ce30ed281830aa095238dd", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "601c286be8eec453fb1ffa6bb73996d6eba3988d6dd6662f7be34c3e2d74dfb3", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/fix/audio-output-selection", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1758711765632-0.2731746688978216:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711765441-0.5625724409258923:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711741115-0.25516911614659765:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711740939-0.17649666537554665:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_21584f58-fde5-408e-b12b-e7ff2497b4ef", INVOCATION_ID: "5c0853a442e446c09809f49338bf9db3", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "766", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000047997", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "fix/audio-output-selection", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.39-alpha.1", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.39-alpha.1", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "509554a0889c1a13e0ce30ed281830aa095238dd", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/fix/audio-output-selection", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98" };
|
|
110
|
+
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.30-alpha.0", USER: "runner", npm_package_resolutions__octokit_request: "^8.4.1", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v20.19.5 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.40-alpha.0", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_db56eb4b-af73-4c2c-a8a5-5f693071c2af", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.40-alpha.0", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.2.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1894", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20251112.124.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:14415", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.10/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.40-alpha.0", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.4/x64", GITHUB_RUN_ID: "19351282958", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "629e2980e146bf9a42cec315d45f534e859c4f22b896d22257e8d6f76b895be7", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/fix/device-change-event", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_resolutions_on_headers: "^1.1.0", npm_package_resolutions_semver: "^7.5.2", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1763083779118-0.09929644895887058:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083778946-0.7513423489060367:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753853-0.7907117933944905:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753692-0.4558616258804573:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_c6c5511b-78a8-4ff9-aa80-d99177e5aa2a", INVOCATION_ID: "6ac3f0fe55d444a89119e917de8c93e2", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "767", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000073733", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "fix/device-change-event", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.40-alpha.0", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.40-alpha.0", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions__octokit_request_error: "^5.1.1", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/fix/device-change-event", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_db56eb4b-af73-4c2c-a8a5-5f693071c2af", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_db56eb4b-af73-4c2c-a8a5-5f693071c2af" };
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
|
|
@@ -117,7 +117,7 @@ var require_lodash = __commonJS({
|
|
|
117
117
|
init_define_process_env();
|
|
118
118
|
(function() {
|
|
119
119
|
var undefined2;
|
|
120
|
-
var
|
|
120
|
+
var VERSION2 = "4.17.21";
|
|
121
121
|
var LARGE_ARRAY_SIZE = 200;
|
|
122
122
|
var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
|
|
123
123
|
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
|
@@ -3772,7 +3772,7 @@ var require_lodash = __commonJS({
|
|
|
3772
3772
|
if (fromIndex < 0) {
|
|
3773
3773
|
fromIndex = nativeMax(length + fromIndex, 0);
|
|
3774
3774
|
}
|
|
3775
|
-
return
|
|
3775
|
+
return isString2(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
|
|
3776
3776
|
}
|
|
3777
3777
|
var invokeMap = baseRest(function(collection, path, args) {
|
|
3778
3778
|
var index = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
|
|
@@ -3840,7 +3840,7 @@ var require_lodash = __commonJS({
|
|
|
3840
3840
|
return 0;
|
|
3841
3841
|
}
|
|
3842
3842
|
if (isArrayLike(collection)) {
|
|
3843
|
-
return
|
|
3843
|
+
return isString2(collection) ? stringSize(collection) : collection.length;
|
|
3844
3844
|
}
|
|
3845
3845
|
var tag = getTag(collection);
|
|
3846
3846
|
if (tag == mapTag || tag == setTag) {
|
|
@@ -4149,7 +4149,7 @@ var require_lodash = __commonJS({
|
|
|
4149
4149
|
function eq(value, other) {
|
|
4150
4150
|
return value === other || value !== value && other !== other;
|
|
4151
4151
|
}
|
|
4152
|
-
var
|
|
4152
|
+
var gt = createRelationalOperation(baseGt);
|
|
4153
4153
|
var gte = createRelationalOperation(function(value, other) {
|
|
4154
4154
|
return value >= other;
|
|
4155
4155
|
});
|
|
@@ -4275,7 +4275,7 @@ var require_lodash = __commonJS({
|
|
|
4275
4275
|
return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
|
|
4276
4276
|
}
|
|
4277
4277
|
var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
|
|
4278
|
-
function
|
|
4278
|
+
function isString2(value) {
|
|
4279
4279
|
return typeof value == "string" || !isArray2(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
|
|
4280
4280
|
}
|
|
4281
4281
|
function isSymbol(value) {
|
|
@@ -4300,7 +4300,7 @@ var require_lodash = __commonJS({
|
|
|
4300
4300
|
return [];
|
|
4301
4301
|
}
|
|
4302
4302
|
if (isArrayLike(value)) {
|
|
4303
|
-
return
|
|
4303
|
+
return isString2(value) ? stringToArray(value) : copyArray(value);
|
|
4304
4304
|
}
|
|
4305
4305
|
if (symIterator && value[symIterator]) {
|
|
4306
4306
|
return iteratorToArray(value[symIterator]());
|
|
@@ -4433,7 +4433,7 @@ var require_lodash = __commonJS({
|
|
|
4433
4433
|
var result2 = object == null ? undefined2 : baseGet(object, path);
|
|
4434
4434
|
return result2 === undefined2 ? defaultValue : result2;
|
|
4435
4435
|
}
|
|
4436
|
-
function
|
|
4436
|
+
function has2(object, path) {
|
|
4437
4437
|
return object != null && hasPath(object, path, baseHas);
|
|
4438
4438
|
}
|
|
4439
4439
|
function hasIn(object, path) {
|
|
@@ -4806,7 +4806,7 @@ var require_lodash = __commonJS({
|
|
|
4806
4806
|
function toUpper(value) {
|
|
4807
4807
|
return toString(value).toUpperCase();
|
|
4808
4808
|
}
|
|
4809
|
-
function
|
|
4809
|
+
function trim2(string, chars, guard) {
|
|
4810
4810
|
string = toString(string);
|
|
4811
4811
|
if (string && (guard || chars === undefined2)) {
|
|
4812
4812
|
return baseTrim(string);
|
|
@@ -5288,9 +5288,9 @@ var require_lodash = __commonJS({
|
|
|
5288
5288
|
lodash.forOwn = forOwn;
|
|
5289
5289
|
lodash.forOwnRight = forOwnRight;
|
|
5290
5290
|
lodash.get = get;
|
|
5291
|
-
lodash.gt =
|
|
5291
|
+
lodash.gt = gt;
|
|
5292
5292
|
lodash.gte = gte;
|
|
5293
|
-
lodash.has =
|
|
5293
|
+
lodash.has = has2;
|
|
5294
5294
|
lodash.hasIn = hasIn;
|
|
5295
5295
|
lodash.head = head;
|
|
5296
5296
|
lodash.identity = identity;
|
|
@@ -5329,7 +5329,7 @@ var require_lodash = __commonJS({
|
|
|
5329
5329
|
lodash.isRegExp = isRegExp;
|
|
5330
5330
|
lodash.isSafeInteger = isSafeInteger;
|
|
5331
5331
|
lodash.isSet = isSet;
|
|
5332
|
-
lodash.isString =
|
|
5332
|
+
lodash.isString = isString2;
|
|
5333
5333
|
lodash.isSymbol = isSymbol;
|
|
5334
5334
|
lodash.isTypedArray = isTypedArray;
|
|
5335
5335
|
lodash.isUndefined = isUndefined;
|
|
@@ -5396,7 +5396,7 @@ var require_lodash = __commonJS({
|
|
|
5396
5396
|
lodash.toSafeInteger = toSafeInteger;
|
|
5397
5397
|
lodash.toString = toString;
|
|
5398
5398
|
lodash.toUpper = toUpper;
|
|
5399
|
-
lodash.trim =
|
|
5399
|
+
lodash.trim = trim2;
|
|
5400
5400
|
lodash.trimEnd = trimEnd;
|
|
5401
5401
|
lodash.trimStart = trimStart;
|
|
5402
5402
|
lodash.truncate = truncate;
|
|
@@ -5416,7 +5416,7 @@ var require_lodash = __commonJS({
|
|
|
5416
5416
|
});
|
|
5417
5417
|
return source;
|
|
5418
5418
|
}(), { "chain": false });
|
|
5419
|
-
lodash.VERSION =
|
|
5419
|
+
lodash.VERSION = VERSION2;
|
|
5420
5420
|
arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
|
|
5421
5421
|
lodash[methodName].placeholder = lodash;
|
|
5422
5422
|
});
|
|
@@ -5592,1260 +5592,6 @@ var require_lodash = __commonJS({
|
|
|
5592
5592
|
}
|
|
5593
5593
|
});
|
|
5594
5594
|
|
|
5595
|
-
// ../../node_modules/ua-parser-js/src/ua-parser.js
|
|
5596
|
-
var require_ua_parser = __commonJS({
|
|
5597
|
-
"../../node_modules/ua-parser-js/src/ua-parser.js"(exports, module) {
|
|
5598
|
-
init_define_process_env();
|
|
5599
|
-
(function(window2, undefined2) {
|
|
5600
|
-
"use strict";
|
|
5601
|
-
var LIBVERSION = "1.0.35", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 350;
|
|
5602
|
-
var AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SHARP = "Sharp", SONY = "Sony", VIERA = "Viera", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook", CHROMIUM_OS = "Chromium OS", MAC_OS = "Mac OS";
|
|
5603
|
-
var extend = function(regexes2, extensions) {
|
|
5604
|
-
var mergedRegexes = {};
|
|
5605
|
-
for (var i in regexes2) {
|
|
5606
|
-
if (extensions[i] && extensions[i].length % 2 === 0) {
|
|
5607
|
-
mergedRegexes[i] = extensions[i].concat(regexes2[i]);
|
|
5608
|
-
} else {
|
|
5609
|
-
mergedRegexes[i] = regexes2[i];
|
|
5610
|
-
}
|
|
5611
|
-
}
|
|
5612
|
-
return mergedRegexes;
|
|
5613
|
-
}, enumerize = function(arr) {
|
|
5614
|
-
var enums = {};
|
|
5615
|
-
for (var i = 0; i < arr.length; i++) {
|
|
5616
|
-
enums[arr[i].toUpperCase()] = arr[i];
|
|
5617
|
-
}
|
|
5618
|
-
return enums;
|
|
5619
|
-
}, has = function(str1, str2) {
|
|
5620
|
-
return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
|
|
5621
|
-
}, lowerize = function(str) {
|
|
5622
|
-
return str.toLowerCase();
|
|
5623
|
-
}, majorize = function(version) {
|
|
5624
|
-
return typeof version === STR_TYPE ? version.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined2;
|
|
5625
|
-
}, trim = function(str, len) {
|
|
5626
|
-
if (typeof str === STR_TYPE) {
|
|
5627
|
-
str = str.replace(/^\s\s*/, EMPTY);
|
|
5628
|
-
return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
|
|
5629
|
-
}
|
|
5630
|
-
};
|
|
5631
|
-
var rgxMapper = function(ua, arrays) {
|
|
5632
|
-
var i = 0, j2, k2, p, q, matches, match18;
|
|
5633
|
-
while (i < arrays.length && !matches) {
|
|
5634
|
-
var regex = arrays[i], props = arrays[i + 1];
|
|
5635
|
-
j2 = k2 = 0;
|
|
5636
|
-
while (j2 < regex.length && !matches) {
|
|
5637
|
-
if (!regex[j2]) {
|
|
5638
|
-
break;
|
|
5639
|
-
}
|
|
5640
|
-
matches = regex[j2++].exec(ua);
|
|
5641
|
-
if (!!matches) {
|
|
5642
|
-
for (p = 0; p < props.length; p++) {
|
|
5643
|
-
match18 = matches[++k2];
|
|
5644
|
-
q = props[p];
|
|
5645
|
-
if (typeof q === OBJ_TYPE && q.length > 0) {
|
|
5646
|
-
if (q.length === 2) {
|
|
5647
|
-
if (typeof q[1] == FUNC_TYPE) {
|
|
5648
|
-
this[q[0]] = q[1].call(this, match18);
|
|
5649
|
-
} else {
|
|
5650
|
-
this[q[0]] = q[1];
|
|
5651
|
-
}
|
|
5652
|
-
} else if (q.length === 3) {
|
|
5653
|
-
if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
|
|
5654
|
-
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : undefined2;
|
|
5655
|
-
} else {
|
|
5656
|
-
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : undefined2;
|
|
5657
|
-
}
|
|
5658
|
-
} else if (q.length === 4) {
|
|
5659
|
-
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : undefined2;
|
|
5660
|
-
}
|
|
5661
|
-
} else {
|
|
5662
|
-
this[q] = match18 ? match18 : undefined2;
|
|
5663
|
-
}
|
|
5664
|
-
}
|
|
5665
|
-
}
|
|
5666
|
-
}
|
|
5667
|
-
i += 2;
|
|
5668
|
-
}
|
|
5669
|
-
}, strMapper = function(str, map) {
|
|
5670
|
-
for (var i in map) {
|
|
5671
|
-
if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {
|
|
5672
|
-
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
5673
|
-
if (has(map[i][j2], str)) {
|
|
5674
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5675
|
-
}
|
|
5676
|
-
}
|
|
5677
|
-
} else if (has(map[i], str)) {
|
|
5678
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5679
|
-
}
|
|
5680
|
-
}
|
|
5681
|
-
return str;
|
|
5682
|
-
};
|
|
5683
|
-
var oldSafariMap = {
|
|
5684
|
-
"1.0": "/8",
|
|
5685
|
-
"1.2": "/1",
|
|
5686
|
-
"1.3": "/3",
|
|
5687
|
-
"2.0": "/412",
|
|
5688
|
-
"2.0.2": "/416",
|
|
5689
|
-
"2.0.3": "/417",
|
|
5690
|
-
"2.0.4": "/419",
|
|
5691
|
-
"?": "/"
|
|
5692
|
-
}, windowsVersionMap = {
|
|
5693
|
-
"ME": "4.90",
|
|
5694
|
-
"NT 3.11": "NT3.51",
|
|
5695
|
-
"NT 4.0": "NT4.0",
|
|
5696
|
-
"2000": "NT 5.0",
|
|
5697
|
-
"XP": ["NT 5.1", "NT 5.2"],
|
|
5698
|
-
"Vista": "NT 6.0",
|
|
5699
|
-
"7": "NT 6.1",
|
|
5700
|
-
"8": "NT 6.2",
|
|
5701
|
-
"8.1": "NT 6.3",
|
|
5702
|
-
"10": ["NT 6.4", "NT 10.0"],
|
|
5703
|
-
"RT": "ARM"
|
|
5704
|
-
};
|
|
5705
|
-
var regexes = {
|
|
5706
|
-
browser: [
|
|
5707
|
-
[
|
|
5708
|
-
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
5709
|
-
// Chrome for Android/iOS
|
|
5710
|
-
],
|
|
5711
|
-
[VERSION, [NAME, "Chrome"]],
|
|
5712
|
-
[
|
|
5713
|
-
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
5714
|
-
// Microsoft Edge
|
|
5715
|
-
],
|
|
5716
|
-
[VERSION, [NAME, "Edge"]],
|
|
5717
|
-
[
|
|
5718
|
-
// Presto based
|
|
5719
|
-
/(opera mini)\/([-\w\.]+)/i,
|
|
5720
|
-
// Opera Mini
|
|
5721
|
-
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
5722
|
-
// Opera Mobi/Tablet
|
|
5723
|
-
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
5724
|
-
// Opera
|
|
5725
|
-
],
|
|
5726
|
-
[NAME, VERSION],
|
|
5727
|
-
[
|
|
5728
|
-
/opios[\/ ]+([\w\.]+)/i
|
|
5729
|
-
// Opera mini on iphone >= 8.0
|
|
5730
|
-
],
|
|
5731
|
-
[VERSION, [NAME, OPERA + " Mini"]],
|
|
5732
|
-
[
|
|
5733
|
-
/\bopr\/([\w\.]+)/i
|
|
5734
|
-
// Opera Webkit
|
|
5735
|
-
],
|
|
5736
|
-
[VERSION, [NAME, OPERA]],
|
|
5737
|
-
[
|
|
5738
|
-
// Mixed
|
|
5739
|
-
/(kindle)\/([\w\.]+)/i,
|
|
5740
|
-
// Kindle
|
|
5741
|
-
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
|
|
5742
|
-
// Lunascape/Maxthon/Netfront/Jasmine/Blazer
|
|
5743
|
-
// Trident based
|
|
5744
|
-
/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,
|
|
5745
|
-
// Avant/IEMobile/SlimBrowser
|
|
5746
|
-
/(ba?idubrowser)[\/ ]?([\w\.]+)/i,
|
|
5747
|
-
// Baidu Browser
|
|
5748
|
-
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
5749
|
-
// Internet Explorer
|
|
5750
|
-
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
|
5751
|
-
/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
|
|
5752
|
-
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
|
|
5753
|
-
/(heytap|ovi)browser\/([\d\.]+)/i,
|
|
5754
|
-
// Heytap/Ovi
|
|
5755
|
-
/(weibo)__([\d\.]+)/i
|
|
5756
|
-
// Weibo
|
|
5757
|
-
],
|
|
5758
|
-
[NAME, VERSION],
|
|
5759
|
-
[
|
|
5760
|
-
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
5761
|
-
// UCBrowser
|
|
5762
|
-
],
|
|
5763
|
-
[VERSION, [NAME, "UC" + BROWSER]],
|
|
5764
|
-
[
|
|
5765
|
-
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
5766
|
-
// WeChat Desktop for Windows Built-in Browser
|
|
5767
|
-
/\bqbcore\/([\w\.]+).+microm/i
|
|
5768
|
-
],
|
|
5769
|
-
[VERSION, [NAME, "WeChat(Win) Desktop"]],
|
|
5770
|
-
[
|
|
5771
|
-
/micromessenger\/([\w\.]+)/i
|
|
5772
|
-
// WeChat
|
|
5773
|
-
],
|
|
5774
|
-
[VERSION, [NAME, "WeChat"]],
|
|
5775
|
-
[
|
|
5776
|
-
/konqueror\/([\w\.]+)/i
|
|
5777
|
-
// Konqueror
|
|
5778
|
-
],
|
|
5779
|
-
[VERSION, [NAME, "Konqueror"]],
|
|
5780
|
-
[
|
|
5781
|
-
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
5782
|
-
// IE11
|
|
5783
|
-
],
|
|
5784
|
-
[VERSION, [NAME, "IE"]],
|
|
5785
|
-
[
|
|
5786
|
-
/ya(?:search)?browser\/([\w\.]+)/i
|
|
5787
|
-
// Yandex
|
|
5788
|
-
],
|
|
5789
|
-
[VERSION, [NAME, "Yandex"]],
|
|
5790
|
-
[
|
|
5791
|
-
/(avast|avg)\/([\w\.]+)/i
|
|
5792
|
-
// Avast/AVG Secure Browser
|
|
5793
|
-
],
|
|
5794
|
-
[[NAME, /(.+)/, "$1 Secure " + BROWSER], VERSION],
|
|
5795
|
-
[
|
|
5796
|
-
/\bfocus\/([\w\.]+)/i
|
|
5797
|
-
// Firefox Focus
|
|
5798
|
-
],
|
|
5799
|
-
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
5800
|
-
[
|
|
5801
|
-
/\bopt\/([\w\.]+)/i
|
|
5802
|
-
// Opera Touch
|
|
5803
|
-
],
|
|
5804
|
-
[VERSION, [NAME, OPERA + " Touch"]],
|
|
5805
|
-
[
|
|
5806
|
-
/coc_coc\w+\/([\w\.]+)/i
|
|
5807
|
-
// Coc Coc Browser
|
|
5808
|
-
],
|
|
5809
|
-
[VERSION, [NAME, "Coc Coc"]],
|
|
5810
|
-
[
|
|
5811
|
-
/dolfin\/([\w\.]+)/i
|
|
5812
|
-
// Dolphin
|
|
5813
|
-
],
|
|
5814
|
-
[VERSION, [NAME, "Dolphin"]],
|
|
5815
|
-
[
|
|
5816
|
-
/coast\/([\w\.]+)/i
|
|
5817
|
-
// Opera Coast
|
|
5818
|
-
],
|
|
5819
|
-
[VERSION, [NAME, OPERA + " Coast"]],
|
|
5820
|
-
[
|
|
5821
|
-
/miuibrowser\/([\w\.]+)/i
|
|
5822
|
-
// MIUI Browser
|
|
5823
|
-
],
|
|
5824
|
-
[VERSION, [NAME, "MIUI " + BROWSER]],
|
|
5825
|
-
[
|
|
5826
|
-
/fxios\/([-\w\.]+)/i
|
|
5827
|
-
// Firefox for iOS
|
|
5828
|
-
],
|
|
5829
|
-
[VERSION, [NAME, FIREFOX]],
|
|
5830
|
-
[
|
|
5831
|
-
/\bqihu|(qi?ho?o?|360)browser/i
|
|
5832
|
-
// 360
|
|
5833
|
-
],
|
|
5834
|
-
[[NAME, "360 " + BROWSER]],
|
|
5835
|
-
[
|
|
5836
|
-
/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i
|
|
5837
|
-
],
|
|
5838
|
-
[[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
|
|
5839
|
-
[
|
|
5840
|
-
// Oculus/Samsung/Sailfish/Huawei Browser
|
|
5841
|
-
/(comodo_dragon)\/([\w\.]+)/i
|
|
5842
|
-
// Comodo Dragon
|
|
5843
|
-
],
|
|
5844
|
-
[[NAME, /_/g, " "], VERSION],
|
|
5845
|
-
[
|
|
5846
|
-
/(electron)\/([\w\.]+) safari/i,
|
|
5847
|
-
// Electron-based App
|
|
5848
|
-
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
5849
|
-
// Tesla
|
|
5850
|
-
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i
|
|
5851
|
-
// QQBrowser/Baidu App/2345 Browser
|
|
5852
|
-
],
|
|
5853
|
-
[NAME, VERSION],
|
|
5854
|
-
[
|
|
5855
|
-
/(metasr)[\/ ]?([\w\.]+)/i,
|
|
5856
|
-
// SouGouBrowser
|
|
5857
|
-
/(lbbrowser)/i,
|
|
5858
|
-
// LieBao Browser
|
|
5859
|
-
/\[(linkedin)app\]/i
|
|
5860
|
-
// LinkedIn App for iOS & Android
|
|
5861
|
-
],
|
|
5862
|
-
[NAME],
|
|
5863
|
-
[
|
|
5864
|
-
// WebView
|
|
5865
|
-
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
5866
|
-
// Facebook App for iOS & Android
|
|
5867
|
-
],
|
|
5868
|
-
[[NAME, FACEBOOK], VERSION],
|
|
5869
|
-
[
|
|
5870
|
-
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
5871
|
-
// Kakao App
|
|
5872
|
-
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
5873
|
-
// Naver InApp
|
|
5874
|
-
/safari (line)\/([\w\.]+)/i,
|
|
5875
|
-
// Line App for iOS
|
|
5876
|
-
/\b(line)\/([\w\.]+)\/iab/i,
|
|
5877
|
-
// Line App for Android
|
|
5878
|
-
/(chromium|instagram)[\/ ]([-\w\.]+)/i
|
|
5879
|
-
// Chromium/Instagram
|
|
5880
|
-
],
|
|
5881
|
-
[NAME, VERSION],
|
|
5882
|
-
[
|
|
5883
|
-
/\bgsa\/([\w\.]+) .*safari\//i
|
|
5884
|
-
// Google Search Appliance on iOS
|
|
5885
|
-
],
|
|
5886
|
-
[VERSION, [NAME, "GSA"]],
|
|
5887
|
-
[
|
|
5888
|
-
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
5889
|
-
// TikTok
|
|
5890
|
-
],
|
|
5891
|
-
[VERSION, [NAME, "TikTok"]],
|
|
5892
|
-
[
|
|
5893
|
-
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
5894
|
-
// Chrome Headless
|
|
5895
|
-
],
|
|
5896
|
-
[VERSION, [NAME, CHROME + " Headless"]],
|
|
5897
|
-
[
|
|
5898
|
-
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
5899
|
-
// Chrome WebView
|
|
5900
|
-
],
|
|
5901
|
-
[[NAME, CHROME + " WebView"], VERSION],
|
|
5902
|
-
[
|
|
5903
|
-
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
5904
|
-
// Android Browser
|
|
5905
|
-
],
|
|
5906
|
-
[VERSION, [NAME, "Android " + BROWSER]],
|
|
5907
|
-
[
|
|
5908
|
-
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
5909
|
-
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
5910
|
-
],
|
|
5911
|
-
[NAME, VERSION],
|
|
5912
|
-
[
|
|
5913
|
-
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i
|
|
5914
|
-
// Mobile Safari
|
|
5915
|
-
],
|
|
5916
|
-
[VERSION, [NAME, "Mobile Safari"]],
|
|
5917
|
-
[
|
|
5918
|
-
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i
|
|
5919
|
-
// Safari & Safari Mobile
|
|
5920
|
-
],
|
|
5921
|
-
[VERSION, NAME],
|
|
5922
|
-
[
|
|
5923
|
-
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
5924
|
-
// Safari < 3.0
|
|
5925
|
-
],
|
|
5926
|
-
[NAME, [VERSION, strMapper, oldSafariMap]],
|
|
5927
|
-
[
|
|
5928
|
-
/(webkit|khtml)\/([\w\.]+)/i
|
|
5929
|
-
],
|
|
5930
|
-
[NAME, VERSION],
|
|
5931
|
-
[
|
|
5932
|
-
// Gecko based
|
|
5933
|
-
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
5934
|
-
// Netscape
|
|
5935
|
-
],
|
|
5936
|
-
[[NAME, "Netscape"], VERSION],
|
|
5937
|
-
[
|
|
5938
|
-
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
5939
|
-
// Firefox Reality
|
|
5940
|
-
],
|
|
5941
|
-
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
5942
|
-
[
|
|
5943
|
-
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
5944
|
-
// Flow
|
|
5945
|
-
/(swiftfox)/i,
|
|
5946
|
-
// Swiftfox
|
|
5947
|
-
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
|
|
5948
|
-
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
|
|
5949
|
-
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
5950
|
-
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
5951
|
-
/(firefox)\/([\w\.]+)/i,
|
|
5952
|
-
// Other Firefox-based
|
|
5953
|
-
/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
|
|
5954
|
-
// Mozilla
|
|
5955
|
-
// Other
|
|
5956
|
-
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
5957
|
-
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
|
|
5958
|
-
/(links) \(([\w\.]+)/i,
|
|
5959
|
-
// Links
|
|
5960
|
-
/panasonic;(viera)/i
|
|
5961
|
-
// Panasonic Viera
|
|
5962
|
-
],
|
|
5963
|
-
[NAME, VERSION],
|
|
5964
|
-
[
|
|
5965
|
-
/(cobalt)\/([\w\.]+)/i
|
|
5966
|
-
// Cobalt
|
|
5967
|
-
],
|
|
5968
|
-
[NAME, [VERSION, /master.|lts./, ""]]
|
|
5969
|
-
],
|
|
5970
|
-
cpu: [
|
|
5971
|
-
[
|
|
5972
|
-
/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
|
|
5973
|
-
// AMD64 (x64)
|
|
5974
|
-
],
|
|
5975
|
-
[[ARCHITECTURE, "amd64"]],
|
|
5976
|
-
[
|
|
5977
|
-
/(ia32(?=;))/i
|
|
5978
|
-
// IA32 (quicktime)
|
|
5979
|
-
],
|
|
5980
|
-
[[ARCHITECTURE, lowerize]],
|
|
5981
|
-
[
|
|
5982
|
-
/((?:i[346]|x)86)[;\)]/i
|
|
5983
|
-
// IA32 (x86)
|
|
5984
|
-
],
|
|
5985
|
-
[[ARCHITECTURE, "ia32"]],
|
|
5986
|
-
[
|
|
5987
|
-
/\b(aarch64|arm(v?8e?l?|_?64))\b/i
|
|
5988
|
-
// ARM64
|
|
5989
|
-
],
|
|
5990
|
-
[[ARCHITECTURE, "arm64"]],
|
|
5991
|
-
[
|
|
5992
|
-
/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
|
|
5993
|
-
// ARMHF
|
|
5994
|
-
],
|
|
5995
|
-
[[ARCHITECTURE, "armhf"]],
|
|
5996
|
-
[
|
|
5997
|
-
// PocketPC mistakenly identified as PowerPC
|
|
5998
|
-
/windows (ce|mobile); ppc;/i
|
|
5999
|
-
],
|
|
6000
|
-
[[ARCHITECTURE, "arm"]],
|
|
6001
|
-
[
|
|
6002
|
-
/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
|
|
6003
|
-
// PowerPC
|
|
6004
|
-
],
|
|
6005
|
-
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
6006
|
-
[
|
|
6007
|
-
/(sun4\w)[;\)]/i
|
|
6008
|
-
// SPARC
|
|
6009
|
-
],
|
|
6010
|
-
[[ARCHITECTURE, "sparc"]],
|
|
6011
|
-
[
|
|
6012
|
-
/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
|
|
6013
|
-
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
6014
|
-
],
|
|
6015
|
-
[[ARCHITECTURE, lowerize]]
|
|
6016
|
-
],
|
|
6017
|
-
device: [
|
|
6018
|
-
[
|
|
6019
|
-
//////////////////////////
|
|
6020
|
-
// MOBILES & TABLETS
|
|
6021
|
-
/////////////////////////
|
|
6022
|
-
// Samsung
|
|
6023
|
-
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
6024
|
-
],
|
|
6025
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
6026
|
-
[
|
|
6027
|
-
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
6028
|
-
/samsung[- ]([-\w]+)/i,
|
|
6029
|
-
/sec-(sgh\w+)/i
|
|
6030
|
-
],
|
|
6031
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
6032
|
-
[
|
|
6033
|
-
// Apple
|
|
6034
|
-
/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
|
|
6035
|
-
// iPod/iPhone
|
|
6036
|
-
],
|
|
6037
|
-
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
6038
|
-
[
|
|
6039
|
-
/\((ipad);[-\w\),; ]+apple/i,
|
|
6040
|
-
// iPad
|
|
6041
|
-
/applecoremedia\/[\w\.]+ \((ipad)/i,
|
|
6042
|
-
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
|
6043
|
-
],
|
|
6044
|
-
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
6045
|
-
[
|
|
6046
|
-
/(macintosh);/i
|
|
6047
|
-
],
|
|
6048
|
-
[MODEL, [VENDOR, APPLE]],
|
|
6049
|
-
[
|
|
6050
|
-
// Sharp
|
|
6051
|
-
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
6052
|
-
],
|
|
6053
|
-
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
6054
|
-
[
|
|
6055
|
-
// Huawei
|
|
6056
|
-
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
|
|
6057
|
-
],
|
|
6058
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
6059
|
-
[
|
|
6060
|
-
/(?:huawei|honor)([-\w ]+)[;\)]/i,
|
|
6061
|
-
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
|
|
6062
|
-
],
|
|
6063
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
6064
|
-
[
|
|
6065
|
-
// Xiaomi
|
|
6066
|
-
/\b(poco[\w ]+)(?: bui|\))/i,
|
|
6067
|
-
// Xiaomi POCO
|
|
6068
|
-
/\b; (\w+) build\/hm\1/i,
|
|
6069
|
-
// Xiaomi Hongmi 'numeric' models
|
|
6070
|
-
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
6071
|
-
// Xiaomi Hongmi
|
|
6072
|
-
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
6073
|
-
// Xiaomi Redmi
|
|
6074
|
-
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
|
|
6075
|
-
// Xiaomi Mi
|
|
6076
|
-
],
|
|
6077
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
6078
|
-
[
|
|
6079
|
-
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
|
|
6080
|
-
// Mi Pad tablets
|
|
6081
|
-
],
|
|
6082
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
6083
|
-
[
|
|
6084
|
-
// OPPO
|
|
6085
|
-
/; (\w+) bui.+ oppo/i,
|
|
6086
|
-
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
6087
|
-
],
|
|
6088
|
-
[MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
|
|
6089
|
-
[
|
|
6090
|
-
// Vivo
|
|
6091
|
-
/vivo (\w+)(?: bui|\))/i,
|
|
6092
|
-
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
6093
|
-
],
|
|
6094
|
-
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
6095
|
-
[
|
|
6096
|
-
// Realme
|
|
6097
|
-
/\b(rmx[12]\d{3})(?: bui|;|\))/i
|
|
6098
|
-
],
|
|
6099
|
-
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
6100
|
-
[
|
|
6101
|
-
// Motorola
|
|
6102
|
-
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
6103
|
-
/\bmot(?:orola)?[- ](\w*)/i,
|
|
6104
|
-
/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
|
|
6105
|
-
],
|
|
6106
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
6107
|
-
[
|
|
6108
|
-
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
6109
|
-
],
|
|
6110
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
6111
|
-
[
|
|
6112
|
-
// LG
|
|
6113
|
-
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
6114
|
-
],
|
|
6115
|
-
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
6116
|
-
[
|
|
6117
|
-
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
6118
|
-
/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
|
|
6119
|
-
/\blg-?([\d\w]+) bui/i
|
|
6120
|
-
],
|
|
6121
|
-
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
6122
|
-
[
|
|
6123
|
-
// Lenovo
|
|
6124
|
-
/(ideatab[-\w ]+)/i,
|
|
6125
|
-
/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
|
|
6126
|
-
],
|
|
6127
|
-
[MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]],
|
|
6128
|
-
[
|
|
6129
|
-
// Nokia
|
|
6130
|
-
/(?:maemo|nokia).*(n900|lumia \d+)/i,
|
|
6131
|
-
/nokia[-_ ]?([-\w\.]*)/i
|
|
6132
|
-
],
|
|
6133
|
-
[[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE, MOBILE]],
|
|
6134
|
-
[
|
|
6135
|
-
// Google
|
|
6136
|
-
/(pixel c)\b/i
|
|
6137
|
-
// Google Pixel C
|
|
6138
|
-
],
|
|
6139
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
6140
|
-
[
|
|
6141
|
-
/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
|
|
6142
|
-
// Google Pixel
|
|
6143
|
-
],
|
|
6144
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
6145
|
-
[
|
|
6146
|
-
// Sony
|
|
6147
|
-
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
6148
|
-
],
|
|
6149
|
-
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
6150
|
-
[
|
|
6151
|
-
/sony tablet [ps]/i,
|
|
6152
|
-
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
6153
|
-
],
|
|
6154
|
-
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
6155
|
-
[
|
|
6156
|
-
// OnePlus
|
|
6157
|
-
/ (kb2005|in20[12]5|be20[12][59])\b/i,
|
|
6158
|
-
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
6159
|
-
],
|
|
6160
|
-
[MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]],
|
|
6161
|
-
[
|
|
6162
|
-
// Amazon
|
|
6163
|
-
/(alexa)webm/i,
|
|
6164
|
-
/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
|
|
6165
|
-
// Kindle Fire without Silk / Echo Show
|
|
6166
|
-
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
6167
|
-
// Kindle Fire HD
|
|
6168
|
-
],
|
|
6169
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
6170
|
-
[
|
|
6171
|
-
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
6172
|
-
// Fire Phone
|
|
6173
|
-
],
|
|
6174
|
-
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
6175
|
-
[
|
|
6176
|
-
// BlackBerry
|
|
6177
|
-
/(playbook);[-\w\),; ]+(rim)/i
|
|
6178
|
-
// BlackBerry PlayBook
|
|
6179
|
-
],
|
|
6180
|
-
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
6181
|
-
[
|
|
6182
|
-
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
6183
|
-
/\(bb10; (\w+)/i
|
|
6184
|
-
// BlackBerry 10
|
|
6185
|
-
],
|
|
6186
|
-
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
6187
|
-
[
|
|
6188
|
-
// Asus
|
|
6189
|
-
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
6190
|
-
],
|
|
6191
|
-
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
6192
|
-
[
|
|
6193
|
-
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
6194
|
-
],
|
|
6195
|
-
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
6196
|
-
[
|
|
6197
|
-
// HTC
|
|
6198
|
-
/(nexus 9)/i
|
|
6199
|
-
// HTC Nexus 9
|
|
6200
|
-
],
|
|
6201
|
-
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
6202
|
-
[
|
|
6203
|
-
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
6204
|
-
// HTC
|
|
6205
|
-
// ZTE
|
|
6206
|
-
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
6207
|
-
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
6208
|
-
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
6209
|
-
],
|
|
6210
|
-
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
6211
|
-
[
|
|
6212
|
-
// Acer
|
|
6213
|
-
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
6214
|
-
],
|
|
6215
|
-
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
6216
|
-
[
|
|
6217
|
-
// Meizu
|
|
6218
|
-
/droid.+; (m[1-5] note) bui/i,
|
|
6219
|
-
/\bmz-([-\w]{2,})/i
|
|
6220
|
-
],
|
|
6221
|
-
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
6222
|
-
[
|
|
6223
|
-
// MIXED
|
|
6224
|
-
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
|
|
6225
|
-
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
|
6226
|
-
/(hp) ([\w ]+\w)/i,
|
|
6227
|
-
// HP iPAQ
|
|
6228
|
-
/(asus)-?(\w+)/i,
|
|
6229
|
-
// Asus
|
|
6230
|
-
/(microsoft); (lumia[\w ]+)/i,
|
|
6231
|
-
// Microsoft Lumia
|
|
6232
|
-
/(lenovo)[-_ ]?([-\w]+)/i,
|
|
6233
|
-
// Lenovo
|
|
6234
|
-
/(jolla)/i,
|
|
6235
|
-
// Jolla
|
|
6236
|
-
/(oppo) ?([\w ]+) bui/i
|
|
6237
|
-
// OPPO
|
|
6238
|
-
],
|
|
6239
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6240
|
-
[
|
|
6241
|
-
/(kobo)\s(ereader|touch)/i,
|
|
6242
|
-
// Kobo
|
|
6243
|
-
/(archos) (gamepad2?)/i,
|
|
6244
|
-
// Archos
|
|
6245
|
-
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
6246
|
-
// HP TouchPad
|
|
6247
|
-
/(kindle)\/([\w\.]+)/i,
|
|
6248
|
-
// Kindle
|
|
6249
|
-
/(nook)[\w ]+build\/(\w+)/i,
|
|
6250
|
-
// Nook
|
|
6251
|
-
/(dell) (strea[kpr\d ]*[\dko])/i,
|
|
6252
|
-
// Dell Streak
|
|
6253
|
-
/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
|
|
6254
|
-
// Le Pan Tablets
|
|
6255
|
-
/(trinity)[- ]*(t\d{3}) bui/i,
|
|
6256
|
-
// Trinity Tablets
|
|
6257
|
-
/(gigaset)[- ]+(q\w{1,9}) bui/i,
|
|
6258
|
-
// Gigaset Tablets
|
|
6259
|
-
/(vodafone) ([\w ]+)(?:\)| bui)/i
|
|
6260
|
-
// Vodafone
|
|
6261
|
-
],
|
|
6262
|
-
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
6263
|
-
[
|
|
6264
|
-
/(surface duo)/i
|
|
6265
|
-
// Surface Duo
|
|
6266
|
-
],
|
|
6267
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
6268
|
-
[
|
|
6269
|
-
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
6270
|
-
// Fairphone
|
|
6271
|
-
],
|
|
6272
|
-
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
6273
|
-
[
|
|
6274
|
-
/(u304aa)/i
|
|
6275
|
-
// AT&T
|
|
6276
|
-
],
|
|
6277
|
-
[MODEL, [VENDOR, "AT&T"], [TYPE, MOBILE]],
|
|
6278
|
-
[
|
|
6279
|
-
/\bsie-(\w*)/i
|
|
6280
|
-
// Siemens
|
|
6281
|
-
],
|
|
6282
|
-
[MODEL, [VENDOR, "Siemens"], [TYPE, MOBILE]],
|
|
6283
|
-
[
|
|
6284
|
-
/\b(rct\w+) b/i
|
|
6285
|
-
// RCA Tablets
|
|
6286
|
-
],
|
|
6287
|
-
[MODEL, [VENDOR, "RCA"], [TYPE, TABLET]],
|
|
6288
|
-
[
|
|
6289
|
-
/\b(venue[\d ]{2,7}) b/i
|
|
6290
|
-
// Dell Venue Tablets
|
|
6291
|
-
],
|
|
6292
|
-
[MODEL, [VENDOR, "Dell"], [TYPE, TABLET]],
|
|
6293
|
-
[
|
|
6294
|
-
/\b(q(?:mv|ta)\w+) b/i
|
|
6295
|
-
// Verizon Tablet
|
|
6296
|
-
],
|
|
6297
|
-
[MODEL, [VENDOR, "Verizon"], [TYPE, TABLET]],
|
|
6298
|
-
[
|
|
6299
|
-
/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
|
|
6300
|
-
// Barnes & Noble Tablet
|
|
6301
|
-
],
|
|
6302
|
-
[MODEL, [VENDOR, "Barnes & Noble"], [TYPE, TABLET]],
|
|
6303
|
-
[
|
|
6304
|
-
/\b(tm\d{3}\w+) b/i
|
|
6305
|
-
],
|
|
6306
|
-
[MODEL, [VENDOR, "NuVision"], [TYPE, TABLET]],
|
|
6307
|
-
[
|
|
6308
|
-
/\b(k88) b/i
|
|
6309
|
-
// ZTE K Series Tablet
|
|
6310
|
-
],
|
|
6311
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, TABLET]],
|
|
6312
|
-
[
|
|
6313
|
-
/\b(nx\d{3}j) b/i
|
|
6314
|
-
// ZTE Nubia
|
|
6315
|
-
],
|
|
6316
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, MOBILE]],
|
|
6317
|
-
[
|
|
6318
|
-
/\b(gen\d{3}) b.+49h/i
|
|
6319
|
-
// Swiss GEN Mobile
|
|
6320
|
-
],
|
|
6321
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, MOBILE]],
|
|
6322
|
-
[
|
|
6323
|
-
/\b(zur\d{3}) b/i
|
|
6324
|
-
// Swiss ZUR Tablet
|
|
6325
|
-
],
|
|
6326
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, TABLET]],
|
|
6327
|
-
[
|
|
6328
|
-
/\b((zeki)?tb.*\b) b/i
|
|
6329
|
-
// Zeki Tablets
|
|
6330
|
-
],
|
|
6331
|
-
[MODEL, [VENDOR, "Zeki"], [TYPE, TABLET]],
|
|
6332
|
-
[
|
|
6333
|
-
/\b([yr]\d{2}) b/i,
|
|
6334
|
-
/\b(dragon[- ]+touch |dt)(\w{5}) b/i
|
|
6335
|
-
// Dragon Touch Tablet
|
|
6336
|
-
],
|
|
6337
|
-
[[VENDOR, "Dragon Touch"], MODEL, [TYPE, TABLET]],
|
|
6338
|
-
[
|
|
6339
|
-
/\b(ns-?\w{0,9}) b/i
|
|
6340
|
-
// Insignia Tablets
|
|
6341
|
-
],
|
|
6342
|
-
[MODEL, [VENDOR, "Insignia"], [TYPE, TABLET]],
|
|
6343
|
-
[
|
|
6344
|
-
/\b((nxa|next)-?\w{0,9}) b/i
|
|
6345
|
-
// NextBook Tablets
|
|
6346
|
-
],
|
|
6347
|
-
[MODEL, [VENDOR, "NextBook"], [TYPE, TABLET]],
|
|
6348
|
-
[
|
|
6349
|
-
/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
|
|
6350
|
-
// Voice Xtreme Phones
|
|
6351
|
-
],
|
|
6352
|
-
[[VENDOR, "Voice"], MODEL, [TYPE, MOBILE]],
|
|
6353
|
-
[
|
|
6354
|
-
/\b(lvtel\-)?(v1[12]) b/i
|
|
6355
|
-
// LvTel Phones
|
|
6356
|
-
],
|
|
6357
|
-
[[VENDOR, "LvTel"], MODEL, [TYPE, MOBILE]],
|
|
6358
|
-
[
|
|
6359
|
-
/\b(ph-1) /i
|
|
6360
|
-
// Essential PH-1
|
|
6361
|
-
],
|
|
6362
|
-
[MODEL, [VENDOR, "Essential"], [TYPE, MOBILE]],
|
|
6363
|
-
[
|
|
6364
|
-
/\b(v(100md|700na|7011|917g).*\b) b/i
|
|
6365
|
-
// Envizen Tablets
|
|
6366
|
-
],
|
|
6367
|
-
[MODEL, [VENDOR, "Envizen"], [TYPE, TABLET]],
|
|
6368
|
-
[
|
|
6369
|
-
/\b(trio[-\w\. ]+) b/i
|
|
6370
|
-
// MachSpeed Tablets
|
|
6371
|
-
],
|
|
6372
|
-
[MODEL, [VENDOR, "MachSpeed"], [TYPE, TABLET]],
|
|
6373
|
-
[
|
|
6374
|
-
/\btu_(1491) b/i
|
|
6375
|
-
// Rotor Tablets
|
|
6376
|
-
],
|
|
6377
|
-
[MODEL, [VENDOR, "Rotor"], [TYPE, TABLET]],
|
|
6378
|
-
[
|
|
6379
|
-
/(shield[\w ]+) b/i
|
|
6380
|
-
// Nvidia Shield Tablets
|
|
6381
|
-
],
|
|
6382
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, TABLET]],
|
|
6383
|
-
[
|
|
6384
|
-
/(sprint) (\w+)/i
|
|
6385
|
-
// Sprint Phones
|
|
6386
|
-
],
|
|
6387
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6388
|
-
[
|
|
6389
|
-
/(kin\.[onetw]{3})/i
|
|
6390
|
-
// Microsoft Kin
|
|
6391
|
-
],
|
|
6392
|
-
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
6393
|
-
[
|
|
6394
|
-
/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
6395
|
-
// Zebra
|
|
6396
|
-
],
|
|
6397
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
6398
|
-
[
|
|
6399
|
-
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
6400
|
-
],
|
|
6401
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
6402
|
-
[
|
|
6403
|
-
///////////////////
|
|
6404
|
-
// SMARTTVS
|
|
6405
|
-
///////////////////
|
|
6406
|
-
/smart-tv.+(samsung)/i
|
|
6407
|
-
// Samsung
|
|
6408
|
-
],
|
|
6409
|
-
[VENDOR, [TYPE, SMARTTV]],
|
|
6410
|
-
[
|
|
6411
|
-
/hbbtv.+maple;(\d+)/i
|
|
6412
|
-
],
|
|
6413
|
-
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
6414
|
-
[
|
|
6415
|
-
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
6416
|
-
// LG SmartTV
|
|
6417
|
-
],
|
|
6418
|
-
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
6419
|
-
[
|
|
6420
|
-
/(apple) ?tv/i
|
|
6421
|
-
// Apple TV
|
|
6422
|
-
],
|
|
6423
|
-
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
6424
|
-
[
|
|
6425
|
-
/crkey/i
|
|
6426
|
-
// Google Chromecast
|
|
6427
|
-
],
|
|
6428
|
-
[[MODEL, CHROME + "cast"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
6429
|
-
[
|
|
6430
|
-
/droid.+aft(\w)( bui|\))/i
|
|
6431
|
-
// Fire TV
|
|
6432
|
-
],
|
|
6433
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
6434
|
-
[
|
|
6435
|
-
/\(dtv[\);].+(aquos)/i,
|
|
6436
|
-
/(aquos-tv[\w ]+)\)/i
|
|
6437
|
-
// Sharp
|
|
6438
|
-
],
|
|
6439
|
-
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
6440
|
-
[
|
|
6441
|
-
/(bravia[\w ]+)( bui|\))/i
|
|
6442
|
-
// Sony
|
|
6443
|
-
],
|
|
6444
|
-
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
6445
|
-
[
|
|
6446
|
-
/(mitv-\w{5}) bui/i
|
|
6447
|
-
// Xiaomi
|
|
6448
|
-
],
|
|
6449
|
-
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
6450
|
-
[
|
|
6451
|
-
/Hbbtv.*(technisat) (.*);/i
|
|
6452
|
-
// TechniSAT
|
|
6453
|
-
],
|
|
6454
|
-
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
6455
|
-
[
|
|
6456
|
-
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
6457
|
-
// Roku
|
|
6458
|
-
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
6459
|
-
// HbbTV devices
|
|
6460
|
-
],
|
|
6461
|
-
[[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]],
|
|
6462
|
-
[
|
|
6463
|
-
/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
|
|
6464
|
-
// SmartTV from Unidentified Vendors
|
|
6465
|
-
],
|
|
6466
|
-
[[TYPE, SMARTTV]],
|
|
6467
|
-
[
|
|
6468
|
-
///////////////////
|
|
6469
|
-
// CONSOLES
|
|
6470
|
-
///////////////////
|
|
6471
|
-
/(ouya)/i,
|
|
6472
|
-
// Ouya
|
|
6473
|
-
/(nintendo) ([wids3utch]+)/i
|
|
6474
|
-
// Nintendo
|
|
6475
|
-
],
|
|
6476
|
-
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
6477
|
-
[
|
|
6478
|
-
/droid.+; (shield) bui/i
|
|
6479
|
-
// Nvidia
|
|
6480
|
-
],
|
|
6481
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]],
|
|
6482
|
-
[
|
|
6483
|
-
/(playstation [345portablevi]+)/i
|
|
6484
|
-
// Playstation
|
|
6485
|
-
],
|
|
6486
|
-
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
6487
|
-
[
|
|
6488
|
-
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
6489
|
-
// Microsoft Xbox
|
|
6490
|
-
],
|
|
6491
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
6492
|
-
[
|
|
6493
|
-
///////////////////
|
|
6494
|
-
// WEARABLES
|
|
6495
|
-
///////////////////
|
|
6496
|
-
/((pebble))app/i
|
|
6497
|
-
// Pebble
|
|
6498
|
-
],
|
|
6499
|
-
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
6500
|
-
[
|
|
6501
|
-
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
6502
|
-
// Apple Watch
|
|
6503
|
-
],
|
|
6504
|
-
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
6505
|
-
[
|
|
6506
|
-
/droid.+; (glass) \d/i
|
|
6507
|
-
// Google Glass
|
|
6508
|
-
],
|
|
6509
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],
|
|
6510
|
-
[
|
|
6511
|
-
/droid.+; (wt63?0{2,3})\)/i
|
|
6512
|
-
],
|
|
6513
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
6514
|
-
[
|
|
6515
|
-
/(quest( 2| pro)?)/i
|
|
6516
|
-
// Oculus Quest
|
|
6517
|
-
],
|
|
6518
|
-
[MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
|
|
6519
|
-
[
|
|
6520
|
-
///////////////////
|
|
6521
|
-
// EMBEDDED
|
|
6522
|
-
///////////////////
|
|
6523
|
-
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
6524
|
-
// Tesla
|
|
6525
|
-
],
|
|
6526
|
-
[VENDOR, [TYPE, EMBEDDED]],
|
|
6527
|
-
[
|
|
6528
|
-
/(aeobc)\b/i
|
|
6529
|
-
// Echo Dot
|
|
6530
|
-
],
|
|
6531
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
6532
|
-
[
|
|
6533
|
-
////////////////////
|
|
6534
|
-
// MIXED (GENERIC)
|
|
6535
|
-
///////////////////
|
|
6536
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i
|
|
6537
|
-
// Android Phones from Unidentified Vendors
|
|
6538
|
-
],
|
|
6539
|
-
[MODEL, [TYPE, MOBILE]],
|
|
6540
|
-
[
|
|
6541
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
|
|
6542
|
-
// Android Tablets from Unidentified Vendors
|
|
6543
|
-
],
|
|
6544
|
-
[MODEL, [TYPE, TABLET]],
|
|
6545
|
-
[
|
|
6546
|
-
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
6547
|
-
// Unidentifiable Tablet
|
|
6548
|
-
],
|
|
6549
|
-
[[TYPE, TABLET]],
|
|
6550
|
-
[
|
|
6551
|
-
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
6552
|
-
// Unidentifiable Mobile
|
|
6553
|
-
],
|
|
6554
|
-
[[TYPE, MOBILE]],
|
|
6555
|
-
[
|
|
6556
|
-
/(android[-\w\. ]{0,9});.+buil/i
|
|
6557
|
-
// Generic Android Device
|
|
6558
|
-
],
|
|
6559
|
-
[MODEL, [VENDOR, "Generic"]]
|
|
6560
|
-
],
|
|
6561
|
-
engine: [
|
|
6562
|
-
[
|
|
6563
|
-
/windows.+ edge\/([\w\.]+)/i
|
|
6564
|
-
// EdgeHTML
|
|
6565
|
-
],
|
|
6566
|
-
[VERSION, [NAME, EDGE + "HTML"]],
|
|
6567
|
-
[
|
|
6568
|
-
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
6569
|
-
// Blink
|
|
6570
|
-
],
|
|
6571
|
-
[VERSION, [NAME, "Blink"]],
|
|
6572
|
-
[
|
|
6573
|
-
/(presto)\/([\w\.]+)/i,
|
|
6574
|
-
// Presto
|
|
6575
|
-
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
|
|
6576
|
-
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
|
6577
|
-
/ekioh(flow)\/([\w\.]+)/i,
|
|
6578
|
-
// Flow
|
|
6579
|
-
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
6580
|
-
// KHTML/Tasman/Links
|
|
6581
|
-
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
6582
|
-
// iCab
|
|
6583
|
-
/\b(libweb)/i
|
|
6584
|
-
],
|
|
6585
|
-
[NAME, VERSION],
|
|
6586
|
-
[
|
|
6587
|
-
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
6588
|
-
// Gecko
|
|
6589
|
-
],
|
|
6590
|
-
[VERSION, NAME]
|
|
6591
|
-
],
|
|
6592
|
-
os: [
|
|
6593
|
-
[
|
|
6594
|
-
// Windows
|
|
6595
|
-
/microsoft (windows) (vista|xp)/i
|
|
6596
|
-
// Windows (iTunes)
|
|
6597
|
-
],
|
|
6598
|
-
[NAME, VERSION],
|
|
6599
|
-
[
|
|
6600
|
-
/(windows) nt 6\.2; (arm)/i,
|
|
6601
|
-
// Windows RT
|
|
6602
|
-
/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,
|
|
6603
|
-
// Windows Phone
|
|
6604
|
-
/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i
|
|
6605
|
-
],
|
|
6606
|
-
[NAME, [VERSION, strMapper, windowsVersionMap]],
|
|
6607
|
-
[
|
|
6608
|
-
/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i
|
|
6609
|
-
],
|
|
6610
|
-
[[NAME, "Windows"], [VERSION, strMapper, windowsVersionMap]],
|
|
6611
|
-
[
|
|
6612
|
-
// iOS/macOS
|
|
6613
|
-
/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
6614
|
-
// iOS
|
|
6615
|
-
/ios;fbsv\/([\d\.]+)/i,
|
|
6616
|
-
/cfnetwork\/.+darwin/i
|
|
6617
|
-
],
|
|
6618
|
-
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
6619
|
-
[
|
|
6620
|
-
/(mac os x) ?([\w\. ]*)/i,
|
|
6621
|
-
/(macintosh|mac_powerpc\b)(?!.+haiku)/i
|
|
6622
|
-
// Mac OS
|
|
6623
|
-
],
|
|
6624
|
-
[[NAME, MAC_OS], [VERSION, /_/g, "."]],
|
|
6625
|
-
[
|
|
6626
|
-
// Mobile OSes
|
|
6627
|
-
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i
|
|
6628
|
-
// Android-x86/HarmonyOS
|
|
6629
|
-
],
|
|
6630
|
-
[VERSION, NAME],
|
|
6631
|
-
[
|
|
6632
|
-
// Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
|
|
6633
|
-
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
|
|
6634
|
-
/(blackberry)\w*\/([\w\.]*)/i,
|
|
6635
|
-
// Blackberry
|
|
6636
|
-
/(tizen|kaios)[\/ ]([\w\.]+)/i,
|
|
6637
|
-
// Tizen/KaiOS
|
|
6638
|
-
/\((series40);/i
|
|
6639
|
-
// Series 40
|
|
6640
|
-
],
|
|
6641
|
-
[NAME, VERSION],
|
|
6642
|
-
[
|
|
6643
|
-
/\(bb(10);/i
|
|
6644
|
-
// BlackBerry 10
|
|
6645
|
-
],
|
|
6646
|
-
[VERSION, [NAME, BLACKBERRY]],
|
|
6647
|
-
[
|
|
6648
|
-
/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
|
|
6649
|
-
// Symbian
|
|
6650
|
-
],
|
|
6651
|
-
[VERSION, [NAME, "Symbian"]],
|
|
6652
|
-
[
|
|
6653
|
-
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
6654
|
-
// Firefox OS
|
|
6655
|
-
],
|
|
6656
|
-
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
6657
|
-
[
|
|
6658
|
-
/web0s;.+rt(tv)/i,
|
|
6659
|
-
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
|
|
6660
|
-
// WebOS
|
|
6661
|
-
],
|
|
6662
|
-
[VERSION, [NAME, "webOS"]],
|
|
6663
|
-
[
|
|
6664
|
-
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
6665
|
-
// watchOS
|
|
6666
|
-
],
|
|
6667
|
-
[VERSION, [NAME, "watchOS"]],
|
|
6668
|
-
[
|
|
6669
|
-
// Google Chromecast
|
|
6670
|
-
/crkey\/([\d\.]+)/i
|
|
6671
|
-
// Google Chromecast
|
|
6672
|
-
],
|
|
6673
|
-
[VERSION, [NAME, CHROME + "cast"]],
|
|
6674
|
-
[
|
|
6675
|
-
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
6676
|
-
// Chromium OS
|
|
6677
|
-
],
|
|
6678
|
-
[[NAME, CHROMIUM_OS], VERSION],
|
|
6679
|
-
[
|
|
6680
|
-
// Smart TVs
|
|
6681
|
-
/panasonic;(viera)/i,
|
|
6682
|
-
// Panasonic Viera
|
|
6683
|
-
/(netrange)mmh/i,
|
|
6684
|
-
// Netrange
|
|
6685
|
-
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
6686
|
-
// NetTV
|
|
6687
|
-
// Console
|
|
6688
|
-
/(nintendo|playstation) ([wids345portablevuch]+)/i,
|
|
6689
|
-
// Nintendo/Playstation
|
|
6690
|
-
/(xbox); +xbox ([^\);]+)/i,
|
|
6691
|
-
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
6692
|
-
// Other
|
|
6693
|
-
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
6694
|
-
// Joli/Palm
|
|
6695
|
-
/(mint)[\/\(\) ]?(\w*)/i,
|
|
6696
|
-
// Mint
|
|
6697
|
-
/(mageia|vectorlinux)[; ]/i,
|
|
6698
|
-
// Mageia/VectorLinux
|
|
6699
|
-
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
|
6700
|
-
// Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
|
|
6701
|
-
/(hurd|linux) ?([\w\.]*)/i,
|
|
6702
|
-
// Hurd/Linux
|
|
6703
|
-
/(gnu) ?([\w\.]*)/i,
|
|
6704
|
-
// GNU
|
|
6705
|
-
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
6706
|
-
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
6707
|
-
/(haiku) (\w+)/i
|
|
6708
|
-
// Haiku
|
|
6709
|
-
],
|
|
6710
|
-
[NAME, VERSION],
|
|
6711
|
-
[
|
|
6712
|
-
/(sunos) ?([\w\.\d]*)/i
|
|
6713
|
-
// Solaris
|
|
6714
|
-
],
|
|
6715
|
-
[[NAME, "Solaris"], VERSION],
|
|
6716
|
-
[
|
|
6717
|
-
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
6718
|
-
// Solaris
|
|
6719
|
-
/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
|
|
6720
|
-
// AIX
|
|
6721
|
-
/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,
|
|
6722
|
-
// BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
|
|
6723
|
-
/(unix) ?([\w\.]*)/i
|
|
6724
|
-
// UNIX
|
|
6725
|
-
],
|
|
6726
|
-
[NAME, VERSION]
|
|
6727
|
-
]
|
|
6728
|
-
};
|
|
6729
|
-
var UAParser = function(ua, extensions) {
|
|
6730
|
-
if (typeof ua === OBJ_TYPE) {
|
|
6731
|
-
extensions = ua;
|
|
6732
|
-
ua = undefined2;
|
|
6733
|
-
}
|
|
6734
|
-
if (!(this instanceof UAParser)) {
|
|
6735
|
-
return new UAParser(ua, extensions).getResult();
|
|
6736
|
-
}
|
|
6737
|
-
var _navigator = typeof window2 !== UNDEF_TYPE && window2.navigator ? window2.navigator : undefined2;
|
|
6738
|
-
var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);
|
|
6739
|
-
var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined2;
|
|
6740
|
-
var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
|
|
6741
|
-
var _isSelfNav = _navigator && _navigator.userAgent == _ua;
|
|
6742
|
-
this.getBrowser = function() {
|
|
6743
|
-
var _browser = {};
|
|
6744
|
-
_browser[NAME] = undefined2;
|
|
6745
|
-
_browser[VERSION] = undefined2;
|
|
6746
|
-
rgxMapper.call(_browser, _ua, _rgxmap.browser);
|
|
6747
|
-
_browser[MAJOR] = majorize(_browser[VERSION]);
|
|
6748
|
-
if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {
|
|
6749
|
-
_browser[NAME] = "Brave";
|
|
6750
|
-
}
|
|
6751
|
-
return _browser;
|
|
6752
|
-
};
|
|
6753
|
-
this.getCPU = function() {
|
|
6754
|
-
var _cpu = {};
|
|
6755
|
-
_cpu[ARCHITECTURE] = undefined2;
|
|
6756
|
-
rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
|
|
6757
|
-
return _cpu;
|
|
6758
|
-
};
|
|
6759
|
-
this.getDevice = function() {
|
|
6760
|
-
var _device = {};
|
|
6761
|
-
_device[VENDOR] = undefined2;
|
|
6762
|
-
_device[MODEL] = undefined2;
|
|
6763
|
-
_device[TYPE] = undefined2;
|
|
6764
|
-
rgxMapper.call(_device, _ua, _rgxmap.device);
|
|
6765
|
-
if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {
|
|
6766
|
-
_device[TYPE] = MOBILE;
|
|
6767
|
-
}
|
|
6768
|
-
if (_isSelfNav && _device[MODEL] == "Macintosh" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {
|
|
6769
|
-
_device[MODEL] = "iPad";
|
|
6770
|
-
_device[TYPE] = TABLET;
|
|
6771
|
-
}
|
|
6772
|
-
return _device;
|
|
6773
|
-
};
|
|
6774
|
-
this.getEngine = function() {
|
|
6775
|
-
var _engine = {};
|
|
6776
|
-
_engine[NAME] = undefined2;
|
|
6777
|
-
_engine[VERSION] = undefined2;
|
|
6778
|
-
rgxMapper.call(_engine, _ua, _rgxmap.engine);
|
|
6779
|
-
return _engine;
|
|
6780
|
-
};
|
|
6781
|
-
this.getOS = function() {
|
|
6782
|
-
var _os = {};
|
|
6783
|
-
_os[NAME] = undefined2;
|
|
6784
|
-
_os[VERSION] = undefined2;
|
|
6785
|
-
rgxMapper.call(_os, _ua, _rgxmap.os);
|
|
6786
|
-
if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
|
|
6787
|
-
_os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
|
|
6788
|
-
}
|
|
6789
|
-
return _os;
|
|
6790
|
-
};
|
|
6791
|
-
this.getResult = function() {
|
|
6792
|
-
return {
|
|
6793
|
-
ua: this.getUA(),
|
|
6794
|
-
browser: this.getBrowser(),
|
|
6795
|
-
engine: this.getEngine(),
|
|
6796
|
-
os: this.getOS(),
|
|
6797
|
-
device: this.getDevice(),
|
|
6798
|
-
cpu: this.getCPU()
|
|
6799
|
-
};
|
|
6800
|
-
};
|
|
6801
|
-
this.getUA = function() {
|
|
6802
|
-
return _ua;
|
|
6803
|
-
};
|
|
6804
|
-
this.setUA = function(ua2) {
|
|
6805
|
-
_ua = typeof ua2 === STR_TYPE && ua2.length > UA_MAX_LENGTH ? trim(ua2, UA_MAX_LENGTH) : ua2;
|
|
6806
|
-
return this;
|
|
6807
|
-
};
|
|
6808
|
-
this.setUA(_ua);
|
|
6809
|
-
return this;
|
|
6810
|
-
};
|
|
6811
|
-
UAParser.VERSION = LIBVERSION;
|
|
6812
|
-
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);
|
|
6813
|
-
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
6814
|
-
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
6815
|
-
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
6816
|
-
if (typeof exports !== UNDEF_TYPE) {
|
|
6817
|
-
if (typeof module !== UNDEF_TYPE && module.exports) {
|
|
6818
|
-
exports = module.exports = UAParser;
|
|
6819
|
-
}
|
|
6820
|
-
exports.UAParser = UAParser;
|
|
6821
|
-
} else {
|
|
6822
|
-
if (typeof define === FUNC_TYPE && define.amd) {
|
|
6823
|
-
define(function() {
|
|
6824
|
-
return UAParser;
|
|
6825
|
-
});
|
|
6826
|
-
} else if (typeof window2 !== UNDEF_TYPE) {
|
|
6827
|
-
window2.UAParser = UAParser;
|
|
6828
|
-
}
|
|
6829
|
-
}
|
|
6830
|
-
var $ = typeof window2 !== UNDEF_TYPE && (window2.jQuery || window2.Zepto);
|
|
6831
|
-
if ($ && !$.ua) {
|
|
6832
|
-
var parser = new UAParser();
|
|
6833
|
-
$.ua = parser.getResult();
|
|
6834
|
-
$.ua.get = function() {
|
|
6835
|
-
return parser.getUA();
|
|
6836
|
-
};
|
|
6837
|
-
$.ua.set = function(ua) {
|
|
6838
|
-
parser.setUA(ua);
|
|
6839
|
-
var result = parser.getResult();
|
|
6840
|
-
for (var prop in result) {
|
|
6841
|
-
$.ua[prop] = result[prop];
|
|
6842
|
-
}
|
|
6843
|
-
};
|
|
6844
|
-
}
|
|
6845
|
-
})(typeof window === "object" ? window : exports);
|
|
6846
|
-
}
|
|
6847
|
-
});
|
|
6848
|
-
|
|
6849
5595
|
// ../../node_modules/lodash.isequal/index.js
|
|
6850
5596
|
var require_lodash2 = __commonJS({
|
|
6851
5597
|
"../../node_modules/lodash.isequal/index.js"(exports, module) {
|
|
@@ -8748,13 +7494,13 @@ var require_writer = __commonJS({
|
|
|
8748
7494
|
var i = 1;
|
|
8749
7495
|
var args = arguments;
|
|
8750
7496
|
var len = args.length;
|
|
8751
|
-
return formatStr.replace(formatRegExp, function(
|
|
7497
|
+
return formatStr.replace(formatRegExp, function(x2) {
|
|
8752
7498
|
if (i >= len) {
|
|
8753
|
-
return
|
|
7499
|
+
return x2;
|
|
8754
7500
|
}
|
|
8755
7501
|
var arg = args[i];
|
|
8756
7502
|
i += 1;
|
|
8757
|
-
switch (
|
|
7503
|
+
switch (x2) {
|
|
8758
7504
|
case "%%":
|
|
8759
7505
|
return "%";
|
|
8760
7506
|
case "%s":
|
|
@@ -8884,7 +7630,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8884
7630
|
var t = b2 ? Symbol.for("react.lazy") : 60116;
|
|
8885
7631
|
var v = b2 ? Symbol.for("react.block") : 60121;
|
|
8886
7632
|
var w = b2 ? Symbol.for("react.fundamental") : 60117;
|
|
8887
|
-
var
|
|
7633
|
+
var x2 = b2 ? Symbol.for("react.responder") : 60118;
|
|
8888
7634
|
var y2 = b2 ? Symbol.for("react.scope") : 60119;
|
|
8889
7635
|
function z2(a2) {
|
|
8890
7636
|
if ("object" === typeof a2 && null !== a2) {
|
|
@@ -8970,7 +7716,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8970
7716
|
return z2(a2) === p;
|
|
8971
7717
|
};
|
|
8972
7718
|
exports.isValidElementType = function(a2) {
|
|
8973
|
-
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof ===
|
|
7719
|
+
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof === x2 || a2.$$typeof === y2 || a2.$$typeof === v);
|
|
8974
7720
|
};
|
|
8975
7721
|
exports.typeOf = z2;
|
|
8976
7722
|
}
|
|
@@ -9244,7 +7990,7 @@ var require_checkPropTypes = __commonJS({
|
|
|
9244
7990
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9245
7991
|
ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9246
7992
|
loggedTypeFailures = {};
|
|
9247
|
-
|
|
7993
|
+
has2 = require_has();
|
|
9248
7994
|
printWarning = function(text) {
|
|
9249
7995
|
var message = "Warning: " + text;
|
|
9250
7996
|
if (typeof console !== "undefined") {
|
|
@@ -9252,17 +7998,17 @@ var require_checkPropTypes = __commonJS({
|
|
|
9252
7998
|
}
|
|
9253
7999
|
try {
|
|
9254
8000
|
throw new Error(message);
|
|
9255
|
-
} catch (
|
|
8001
|
+
} catch (x2) {
|
|
9256
8002
|
}
|
|
9257
8003
|
};
|
|
9258
8004
|
}
|
|
9259
8005
|
var ReactPropTypesSecret;
|
|
9260
8006
|
var loggedTypeFailures;
|
|
9261
|
-
var
|
|
8007
|
+
var has2;
|
|
9262
8008
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
9263
8009
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9264
8010
|
for (var typeSpecName in typeSpecs) {
|
|
9265
|
-
if (
|
|
8011
|
+
if (has2(typeSpecs, typeSpecName)) {
|
|
9266
8012
|
var error;
|
|
9267
8013
|
try {
|
|
9268
8014
|
if (typeof typeSpecs[typeSpecName] !== "function") {
|
|
@@ -9309,7 +8055,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9309
8055
|
var ReactIs = require_react_is();
|
|
9310
8056
|
var assign = require_object_assign();
|
|
9311
8057
|
var ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9312
|
-
var
|
|
8058
|
+
var has2 = require_has();
|
|
9313
8059
|
var checkPropTypes = require_checkPropTypes();
|
|
9314
8060
|
var printWarning = function() {
|
|
9315
8061
|
};
|
|
@@ -9321,7 +8067,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9321
8067
|
}
|
|
9322
8068
|
try {
|
|
9323
8069
|
throw new Error(message);
|
|
9324
|
-
} catch (
|
|
8070
|
+
} catch (x2) {
|
|
9325
8071
|
}
|
|
9326
8072
|
};
|
|
9327
8073
|
}
|
|
@@ -9359,11 +8105,11 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9359
8105
|
shape: createShapeTypeChecker,
|
|
9360
8106
|
exact: createStrictShapeTypeChecker
|
|
9361
8107
|
};
|
|
9362
|
-
function
|
|
9363
|
-
if (
|
|
9364
|
-
return
|
|
8108
|
+
function is2(x2, y2) {
|
|
8109
|
+
if (x2 === y2) {
|
|
8110
|
+
return x2 !== 0 || 1 / x2 === 1 / y2;
|
|
9365
8111
|
} else {
|
|
9366
|
-
return
|
|
8112
|
+
return x2 !== x2 && y2 !== y2;
|
|
9367
8113
|
}
|
|
9368
8114
|
}
|
|
9369
8115
|
function PropTypeError(message, data3) {
|
|
@@ -9502,7 +8248,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9502
8248
|
function validate(props, propName, componentName, location, propFullName) {
|
|
9503
8249
|
var propValue = props[propName];
|
|
9504
8250
|
for (var i = 0; i < expectedValues.length; i++) {
|
|
9505
|
-
if (
|
|
8251
|
+
if (is2(propValue, expectedValues[i])) {
|
|
9506
8252
|
return null;
|
|
9507
8253
|
}
|
|
9508
8254
|
}
|
|
@@ -9528,7 +8274,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9528
8274
|
return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
|
|
9529
8275
|
}
|
|
9530
8276
|
for (var key in propValue) {
|
|
9531
|
-
if (
|
|
8277
|
+
if (has2(propValue, key)) {
|
|
9532
8278
|
var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
|
|
9533
8279
|
if (error instanceof Error) {
|
|
9534
8280
|
return error;
|
|
@@ -9561,7 +8307,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9561
8307
|
if (checkerResult == null) {
|
|
9562
8308
|
return null;
|
|
9563
8309
|
}
|
|
9564
|
-
if (checkerResult.data &&
|
|
8310
|
+
if (checkerResult.data && has2(checkerResult.data, "expectedType")) {
|
|
9565
8311
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
9566
8312
|
}
|
|
9567
8313
|
}
|
|
@@ -9615,7 +8361,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9615
8361
|
var allKeys = assign({}, props[propName], shapeTypes);
|
|
9616
8362
|
for (var key in allKeys) {
|
|
9617
8363
|
var checker = shapeTypes[key];
|
|
9618
|
-
if (
|
|
8364
|
+
if (has2(shapeTypes, key) && typeof checker !== "function") {
|
|
9619
8365
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
9620
8366
|
}
|
|
9621
8367
|
if (!checker) {
|
|
@@ -19355,12 +18101,1859 @@ function createSelectorCreator(memoize) {
|
|
|
19355
18101
|
}
|
|
19356
18102
|
var createSelector = createSelectorCreator(defaultMemoize);
|
|
19357
18103
|
|
|
18104
|
+
// ../../node_modules/ua-parser-js/src/main/ua-parser.mjs
|
|
18105
|
+
init_define_process_env();
|
|
18106
|
+
var LIBVERSION = "2.0.6";
|
|
18107
|
+
var UA_MAX_LENGTH = 500;
|
|
18108
|
+
var USER_AGENT = "user-agent";
|
|
18109
|
+
var EMPTY = "";
|
|
18110
|
+
var UNKNOWN = "?";
|
|
18111
|
+
var TYPEOF = {
|
|
18112
|
+
FUNCTION: "function",
|
|
18113
|
+
OBJECT: "object",
|
|
18114
|
+
STRING: "string",
|
|
18115
|
+
UNDEFINED: "undefined"
|
|
18116
|
+
};
|
|
18117
|
+
var BROWSER = "browser";
|
|
18118
|
+
var CPU = "cpu";
|
|
18119
|
+
var DEVICE = "device";
|
|
18120
|
+
var ENGINE = "engine";
|
|
18121
|
+
var OS = "os";
|
|
18122
|
+
var RESULT = "result";
|
|
18123
|
+
var NAME = "name";
|
|
18124
|
+
var TYPE = "type";
|
|
18125
|
+
var VENDOR = "vendor";
|
|
18126
|
+
var VERSION = "version";
|
|
18127
|
+
var ARCHITECTURE = "architecture";
|
|
18128
|
+
var MAJOR = "major";
|
|
18129
|
+
var MODEL = "model";
|
|
18130
|
+
var CONSOLE = "console";
|
|
18131
|
+
var MOBILE = "mobile";
|
|
18132
|
+
var TABLET = "tablet";
|
|
18133
|
+
var SMARTTV = "smarttv";
|
|
18134
|
+
var WEARABLE = "wearable";
|
|
18135
|
+
var XR = "xr";
|
|
18136
|
+
var EMBEDDED = "embedded";
|
|
18137
|
+
var INAPP = "inapp";
|
|
18138
|
+
var BRANDS = "brands";
|
|
18139
|
+
var FORMFACTORS = "formFactors";
|
|
18140
|
+
var FULLVERLIST = "fullVersionList";
|
|
18141
|
+
var PLATFORM = "platform";
|
|
18142
|
+
var PLATFORMVER = "platformVersion";
|
|
18143
|
+
var BITNESS = "bitness";
|
|
18144
|
+
var CH = "sec-ch-ua";
|
|
18145
|
+
var CH_FULL_VER_LIST = CH + "-full-version-list";
|
|
18146
|
+
var CH_ARCH = CH + "-arch";
|
|
18147
|
+
var CH_BITNESS = CH + "-" + BITNESS;
|
|
18148
|
+
var CH_FORM_FACTORS = CH + "-form-factors";
|
|
18149
|
+
var CH_MOBILE = CH + "-" + MOBILE;
|
|
18150
|
+
var CH_MODEL = CH + "-" + MODEL;
|
|
18151
|
+
var CH_PLATFORM = CH + "-" + PLATFORM;
|
|
18152
|
+
var CH_PLATFORM_VER = CH_PLATFORM + "-version";
|
|
18153
|
+
var CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS];
|
|
18154
|
+
var AMAZON = "Amazon";
|
|
18155
|
+
var APPLE = "Apple";
|
|
18156
|
+
var ASUS = "ASUS";
|
|
18157
|
+
var BLACKBERRY = "BlackBerry";
|
|
18158
|
+
var GOOGLE = "Google";
|
|
18159
|
+
var HUAWEI = "Huawei";
|
|
18160
|
+
var LENOVO = "Lenovo";
|
|
18161
|
+
var HONOR = "Honor";
|
|
18162
|
+
var LG = "LG";
|
|
18163
|
+
var MICROSOFT = "Microsoft";
|
|
18164
|
+
var MOTOROLA = "Motorola";
|
|
18165
|
+
var NVIDIA = "Nvidia";
|
|
18166
|
+
var ONEPLUS = "OnePlus";
|
|
18167
|
+
var OPPO = "OPPO";
|
|
18168
|
+
var SAMSUNG = "Samsung";
|
|
18169
|
+
var SHARP = "Sharp";
|
|
18170
|
+
var SONY = "Sony";
|
|
18171
|
+
var XIAOMI = "Xiaomi";
|
|
18172
|
+
var ZEBRA = "Zebra";
|
|
18173
|
+
var CHROME = "Chrome";
|
|
18174
|
+
var CHROMIUM = "Chromium";
|
|
18175
|
+
var CHROMECAST = "Chromecast";
|
|
18176
|
+
var EDGE = "Edge";
|
|
18177
|
+
var FIREFOX = "Firefox";
|
|
18178
|
+
var OPERA = "Opera";
|
|
18179
|
+
var FACEBOOK = "Facebook";
|
|
18180
|
+
var SOGOU = "Sogou";
|
|
18181
|
+
var PREFIX_MOBILE = "Mobile ";
|
|
18182
|
+
var SUFFIX_BROWSER = " Browser";
|
|
18183
|
+
var WINDOWS = "Windows";
|
|
18184
|
+
var isWindow = typeof window !== TYPEOF.UNDEFINED;
|
|
18185
|
+
var NAVIGATOR = isWindow && window.navigator ? window.navigator : void 0;
|
|
18186
|
+
var NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : void 0;
|
|
18187
|
+
var extend = function(defaultRgx, extensions) {
|
|
18188
|
+
var mergedRgx = {};
|
|
18189
|
+
var extraRgx = extensions;
|
|
18190
|
+
if (!isExtensions(extensions)) {
|
|
18191
|
+
extraRgx = {};
|
|
18192
|
+
for (var i in extensions) {
|
|
18193
|
+
for (var j2 in extensions[i]) {
|
|
18194
|
+
extraRgx[j2] = extensions[i][j2].concat(extraRgx[j2] ? extraRgx[j2] : []);
|
|
18195
|
+
}
|
|
18196
|
+
}
|
|
18197
|
+
}
|
|
18198
|
+
for (var k2 in defaultRgx) {
|
|
18199
|
+
mergedRgx[k2] = extraRgx[k2] && extraRgx[k2].length % 2 === 0 ? extraRgx[k2].concat(defaultRgx[k2]) : defaultRgx[k2];
|
|
18200
|
+
}
|
|
18201
|
+
return mergedRgx;
|
|
18202
|
+
};
|
|
18203
|
+
var enumerize = function(arr) {
|
|
18204
|
+
var enums = {};
|
|
18205
|
+
for (var i = 0; i < arr.length; i++) {
|
|
18206
|
+
enums[arr[i].toUpperCase()] = arr[i];
|
|
18207
|
+
}
|
|
18208
|
+
return enums;
|
|
18209
|
+
};
|
|
18210
|
+
var has = function(str1, str2) {
|
|
18211
|
+
if (typeof str1 === TYPEOF.OBJECT && str1.length > 0) {
|
|
18212
|
+
for (var i in str1) {
|
|
18213
|
+
if (lowerize(str2) == lowerize(str1[i]))
|
|
18214
|
+
return true;
|
|
18215
|
+
}
|
|
18216
|
+
return false;
|
|
18217
|
+
}
|
|
18218
|
+
return isString(str1) ? lowerize(str2) == lowerize(str1) : false;
|
|
18219
|
+
};
|
|
18220
|
+
var isExtensions = function(obj, deep) {
|
|
18221
|
+
for (var prop in obj) {
|
|
18222
|
+
return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);
|
|
18223
|
+
}
|
|
18224
|
+
};
|
|
18225
|
+
var isString = function(val) {
|
|
18226
|
+
return typeof val === TYPEOF.STRING;
|
|
18227
|
+
};
|
|
18228
|
+
var itemListToArray = function(header) {
|
|
18229
|
+
if (!header)
|
|
18230
|
+
return void 0;
|
|
18231
|
+
var arr = [];
|
|
18232
|
+
var tokens = strip(/\\?\"/g, header).split(",");
|
|
18233
|
+
for (var i = 0; i < tokens.length; i++) {
|
|
18234
|
+
if (tokens[i].indexOf(";") > -1) {
|
|
18235
|
+
var token = trim(tokens[i]).split(";v=");
|
|
18236
|
+
arr[i] = { brand: token[0], version: token[1] };
|
|
18237
|
+
} else {
|
|
18238
|
+
arr[i] = trim(tokens[i]);
|
|
18239
|
+
}
|
|
18240
|
+
}
|
|
18241
|
+
return arr;
|
|
18242
|
+
};
|
|
18243
|
+
var lowerize = function(str) {
|
|
18244
|
+
return isString(str) ? str.toLowerCase() : str;
|
|
18245
|
+
};
|
|
18246
|
+
var majorize = function(version) {
|
|
18247
|
+
return isString(version) ? strip(/[^\d\.]/g, version).split(".")[0] : void 0;
|
|
18248
|
+
};
|
|
18249
|
+
var setProps = function(arr) {
|
|
18250
|
+
for (var i in arr) {
|
|
18251
|
+
if (!arr.hasOwnProperty(i))
|
|
18252
|
+
continue;
|
|
18253
|
+
var propName = arr[i];
|
|
18254
|
+
if (typeof propName == TYPEOF.OBJECT && propName.length == 2) {
|
|
18255
|
+
this[propName[0]] = propName[1];
|
|
18256
|
+
} else {
|
|
18257
|
+
this[propName] = void 0;
|
|
18258
|
+
}
|
|
18259
|
+
}
|
|
18260
|
+
return this;
|
|
18261
|
+
};
|
|
18262
|
+
var strip = function(pattern, str) {
|
|
18263
|
+
return isString(str) ? str.replace(pattern, EMPTY) : str;
|
|
18264
|
+
};
|
|
18265
|
+
var stripQuotes = function(str) {
|
|
18266
|
+
return strip(/\\?\"/g, str);
|
|
18267
|
+
};
|
|
18268
|
+
var trim = function(str, len) {
|
|
18269
|
+
str = strip(/^\s\s*/, String(str));
|
|
18270
|
+
return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
|
|
18271
|
+
};
|
|
18272
|
+
var rgxMapper = function(ua, arrays) {
|
|
18273
|
+
if (!ua || !arrays)
|
|
18274
|
+
return;
|
|
18275
|
+
var i = 0, j2, k2, p, q, matches, match18;
|
|
18276
|
+
while (i < arrays.length && !matches) {
|
|
18277
|
+
var regex = arrays[i], props = arrays[i + 1];
|
|
18278
|
+
j2 = k2 = 0;
|
|
18279
|
+
while (j2 < regex.length && !matches) {
|
|
18280
|
+
if (!regex[j2]) {
|
|
18281
|
+
break;
|
|
18282
|
+
}
|
|
18283
|
+
matches = regex[j2++].exec(ua);
|
|
18284
|
+
if (!!matches) {
|
|
18285
|
+
for (p = 0; p < props.length; p++) {
|
|
18286
|
+
match18 = matches[++k2];
|
|
18287
|
+
q = props[p];
|
|
18288
|
+
if (typeof q === TYPEOF.OBJECT && q.length > 0) {
|
|
18289
|
+
if (q.length === 2) {
|
|
18290
|
+
if (typeof q[1] == TYPEOF.FUNCTION) {
|
|
18291
|
+
this[q[0]] = q[1].call(this, match18);
|
|
18292
|
+
} else {
|
|
18293
|
+
this[q[0]] = q[1];
|
|
18294
|
+
}
|
|
18295
|
+
} else if (q.length >= 3) {
|
|
18296
|
+
if (typeof q[1] === TYPEOF.FUNCTION && !(q[1].exec && q[1].test)) {
|
|
18297
|
+
if (q.length > 3) {
|
|
18298
|
+
this[q[0]] = match18 ? q[1].apply(this, q.slice(2)) : void 0;
|
|
18299
|
+
} else {
|
|
18300
|
+
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : void 0;
|
|
18301
|
+
}
|
|
18302
|
+
} else {
|
|
18303
|
+
if (q.length == 3) {
|
|
18304
|
+
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : void 0;
|
|
18305
|
+
} else if (q.length == 4) {
|
|
18306
|
+
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : void 0;
|
|
18307
|
+
} else if (q.length > 4) {
|
|
18308
|
+
this[q[0]] = match18 ? q[3].apply(this, [match18.replace(q[1], q[2])].concat(q.slice(4))) : void 0;
|
|
18309
|
+
}
|
|
18310
|
+
}
|
|
18311
|
+
}
|
|
18312
|
+
} else {
|
|
18313
|
+
this[q] = match18 ? match18 : void 0;
|
|
18314
|
+
}
|
|
18315
|
+
}
|
|
18316
|
+
}
|
|
18317
|
+
}
|
|
18318
|
+
i += 2;
|
|
18319
|
+
}
|
|
18320
|
+
};
|
|
18321
|
+
var strMapper = function(str, map) {
|
|
18322
|
+
for (var i in map) {
|
|
18323
|
+
if (typeof map[i] === TYPEOF.OBJECT && map[i].length > 0) {
|
|
18324
|
+
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
18325
|
+
if (has(map[i][j2], str)) {
|
|
18326
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18327
|
+
}
|
|
18328
|
+
}
|
|
18329
|
+
} else if (has(map[i], str)) {
|
|
18330
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18331
|
+
}
|
|
18332
|
+
}
|
|
18333
|
+
return map.hasOwnProperty("*") ? map["*"] : str;
|
|
18334
|
+
};
|
|
18335
|
+
var windowsVersionMap = {
|
|
18336
|
+
"ME": "4.90",
|
|
18337
|
+
"NT 3.51": "3.51",
|
|
18338
|
+
"NT 4.0": "4.0",
|
|
18339
|
+
"2000": ["5.0", "5.01"],
|
|
18340
|
+
"XP": ["5.1", "5.2"],
|
|
18341
|
+
"Vista": "6.0",
|
|
18342
|
+
"7": "6.1",
|
|
18343
|
+
"8": "6.2",
|
|
18344
|
+
"8.1": "6.3",
|
|
18345
|
+
"10": ["6.4", "10.0"],
|
|
18346
|
+
"NT": ""
|
|
18347
|
+
};
|
|
18348
|
+
var formFactorsMap = {
|
|
18349
|
+
"embedded": "Automotive",
|
|
18350
|
+
"mobile": "Mobile",
|
|
18351
|
+
"tablet": ["Tablet", "EInk"],
|
|
18352
|
+
"smarttv": "TV",
|
|
18353
|
+
"wearable": "Watch",
|
|
18354
|
+
"xr": ["VR", "XR"],
|
|
18355
|
+
"?": ["Desktop", "Unknown"],
|
|
18356
|
+
"*": void 0
|
|
18357
|
+
};
|
|
18358
|
+
var browserHintsMap = {
|
|
18359
|
+
"Chrome": "Google Chrome",
|
|
18360
|
+
"Edge": "Microsoft Edge",
|
|
18361
|
+
"Edge WebView2": "Microsoft Edge WebView2",
|
|
18362
|
+
"Chrome WebView": "Android WebView",
|
|
18363
|
+
"Chrome Headless": "HeadlessChrome",
|
|
18364
|
+
"Huawei Browser": "HuaweiBrowser",
|
|
18365
|
+
"MIUI Browser": "Miui Browser",
|
|
18366
|
+
"Opera Mobi": "OperaMobile",
|
|
18367
|
+
"Yandex": "YaBrowser"
|
|
18368
|
+
};
|
|
18369
|
+
var defaultRegexes = {
|
|
18370
|
+
browser: [
|
|
18371
|
+
[
|
|
18372
|
+
// Most common regardless engine
|
|
18373
|
+
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
18374
|
+
// Chrome for Android/iOS
|
|
18375
|
+
],
|
|
18376
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18377
|
+
[
|
|
18378
|
+
/webview.+edge\/([\w\.]+)/i
|
|
18379
|
+
// Microsoft Edge
|
|
18380
|
+
],
|
|
18381
|
+
[VERSION, [NAME, EDGE + " WebView"]],
|
|
18382
|
+
[
|
|
18383
|
+
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
18384
|
+
],
|
|
18385
|
+
[VERSION, [NAME, "Edge"]],
|
|
18386
|
+
[
|
|
18387
|
+
// Presto based
|
|
18388
|
+
/(opera mini)\/([-\w\.]+)/i,
|
|
18389
|
+
// Opera Mini
|
|
18390
|
+
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
18391
|
+
// Opera Mobi/Tablet
|
|
18392
|
+
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
18393
|
+
// Opera
|
|
18394
|
+
],
|
|
18395
|
+
[NAME, VERSION],
|
|
18396
|
+
[
|
|
18397
|
+
/opios[\/ ]+([\w\.]+)/i
|
|
18398
|
+
// Opera mini on iphone >= 8.0
|
|
18399
|
+
],
|
|
18400
|
+
[VERSION, [NAME, OPERA + " Mini"]],
|
|
18401
|
+
[
|
|
18402
|
+
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
18403
|
+
// Opera GX
|
|
18404
|
+
],
|
|
18405
|
+
[VERSION, [NAME, OPERA + " GX"]],
|
|
18406
|
+
[
|
|
18407
|
+
/\bopr\/([\w\.]+)/i
|
|
18408
|
+
// Opera Webkit
|
|
18409
|
+
],
|
|
18410
|
+
[VERSION, [NAME, OPERA]],
|
|
18411
|
+
[
|
|
18412
|
+
// Mixed
|
|
18413
|
+
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
18414
|
+
// Baidu
|
|
18415
|
+
],
|
|
18416
|
+
[VERSION, [NAME, "Baidu"]],
|
|
18417
|
+
[
|
|
18418
|
+
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
18419
|
+
// Maxthon
|
|
18420
|
+
],
|
|
18421
|
+
[VERSION, [NAME, "Maxthon"]],
|
|
18422
|
+
[
|
|
18423
|
+
/(kindle)\/([\w\.]+)/i,
|
|
18424
|
+
// Kindle
|
|
18425
|
+
/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
|
|
18426
|
+
// Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
|
|
18427
|
+
// Trident based
|
|
18428
|
+
/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
|
|
18429
|
+
// Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet
|
|
18430
|
+
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
18431
|
+
// Internet Explorer
|
|
18432
|
+
// Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble/Palemoon
|
|
18433
|
+
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser|palemoon)\/([-\w\.]+)/i,
|
|
18434
|
+
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon
|
|
18435
|
+
/(heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
|
|
18436
|
+
// HeyTap/Ovi/115/Surf
|
|
18437
|
+
/(qwant)(?:ios|mobile)\/([\d\.]+)/i,
|
|
18438
|
+
// Qwant
|
|
18439
|
+
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
18440
|
+
// Ecosia/Weibo
|
|
18441
|
+
],
|
|
18442
|
+
[NAME, VERSION],
|
|
18443
|
+
[
|
|
18444
|
+
/quark(?:pc)?\/([-\w\.]+)/i
|
|
18445
|
+
// Quark
|
|
18446
|
+
],
|
|
18447
|
+
[VERSION, [NAME, "Quark"]],
|
|
18448
|
+
[
|
|
18449
|
+
/\bddg\/([\w\.]+)/i
|
|
18450
|
+
// DuckDuckGo
|
|
18451
|
+
],
|
|
18452
|
+
[VERSION, [NAME, "DuckDuckGo"]],
|
|
18453
|
+
[
|
|
18454
|
+
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
18455
|
+
// UCBrowser
|
|
18456
|
+
],
|
|
18457
|
+
[VERSION, [NAME, "UCBrowser"]],
|
|
18458
|
+
[
|
|
18459
|
+
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
18460
|
+
// WeChat Desktop for Windows Built-in Browser
|
|
18461
|
+
/\bqbcore\/([\w\.]+).+microm/i,
|
|
18462
|
+
/micromessenger\/([\w\.]+)/i
|
|
18463
|
+
// WeChat
|
|
18464
|
+
],
|
|
18465
|
+
[VERSION, [NAME, "WeChat"]],
|
|
18466
|
+
[
|
|
18467
|
+
/konqueror\/([\w\.]+)/i
|
|
18468
|
+
// Konqueror
|
|
18469
|
+
],
|
|
18470
|
+
[VERSION, [NAME, "Konqueror"]],
|
|
18471
|
+
[
|
|
18472
|
+
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
18473
|
+
// IE11
|
|
18474
|
+
],
|
|
18475
|
+
[VERSION, [NAME, "IE"]],
|
|
18476
|
+
[
|
|
18477
|
+
/ya(?:search)?browser\/([\w\.]+)/i
|
|
18478
|
+
// Yandex
|
|
18479
|
+
],
|
|
18480
|
+
[VERSION, [NAME, "Yandex"]],
|
|
18481
|
+
[
|
|
18482
|
+
/slbrowser\/([\w\.]+)/i
|
|
18483
|
+
// Smart Lenovo Browser
|
|
18484
|
+
],
|
|
18485
|
+
[VERSION, [NAME, "Smart " + LENOVO + SUFFIX_BROWSER]],
|
|
18486
|
+
[
|
|
18487
|
+
/(avast|avg)\/([\w\.]+)/i
|
|
18488
|
+
// Avast/AVG Secure Browser
|
|
18489
|
+
],
|
|
18490
|
+
[[NAME, /(.+)/, "$1 Secure" + SUFFIX_BROWSER], VERSION],
|
|
18491
|
+
[
|
|
18492
|
+
/\bfocus\/([\w\.]+)/i
|
|
18493
|
+
// Firefox Focus
|
|
18494
|
+
],
|
|
18495
|
+
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
18496
|
+
[
|
|
18497
|
+
/\bopt\/([\w\.]+)/i
|
|
18498
|
+
// Opera Touch
|
|
18499
|
+
],
|
|
18500
|
+
[VERSION, [NAME, OPERA + " Touch"]],
|
|
18501
|
+
[
|
|
18502
|
+
/coc_coc\w+\/([\w\.]+)/i
|
|
18503
|
+
// Coc Coc Browser
|
|
18504
|
+
],
|
|
18505
|
+
[VERSION, [NAME, "Coc Coc"]],
|
|
18506
|
+
[
|
|
18507
|
+
/dolfin\/([\w\.]+)/i
|
|
18508
|
+
// Dolphin
|
|
18509
|
+
],
|
|
18510
|
+
[VERSION, [NAME, "Dolphin"]],
|
|
18511
|
+
[
|
|
18512
|
+
/coast\/([\w\.]+)/i
|
|
18513
|
+
// Opera Coast
|
|
18514
|
+
],
|
|
18515
|
+
[VERSION, [NAME, OPERA + " Coast"]],
|
|
18516
|
+
[
|
|
18517
|
+
/miuibrowser\/([\w\.]+)/i
|
|
18518
|
+
// MIUI Browser
|
|
18519
|
+
],
|
|
18520
|
+
[VERSION, [NAME, "MIUI" + SUFFIX_BROWSER]],
|
|
18521
|
+
[
|
|
18522
|
+
/fxios\/([\w\.-]+)/i
|
|
18523
|
+
// Firefox for iOS
|
|
18524
|
+
],
|
|
18525
|
+
[VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],
|
|
18526
|
+
[
|
|
18527
|
+
/\bqihoobrowser\/?([\w\.]*)/i
|
|
18528
|
+
// 360
|
|
18529
|
+
],
|
|
18530
|
+
[VERSION, [NAME, "360"]],
|
|
18531
|
+
[
|
|
18532
|
+
/\b(qq)\/([\w\.]+)/i
|
|
18533
|
+
// QQ
|
|
18534
|
+
],
|
|
18535
|
+
[[NAME, /(.+)/, "$1Browser"], VERSION],
|
|
18536
|
+
[
|
|
18537
|
+
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
18538
|
+
],
|
|
18539
|
+
[[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION],
|
|
18540
|
+
[
|
|
18541
|
+
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
18542
|
+
/samsungbrowser\/([\w\.]+)/i
|
|
18543
|
+
// Samsung Internet
|
|
18544
|
+
],
|
|
18545
|
+
[VERSION, [NAME, SAMSUNG + " Internet"]],
|
|
18546
|
+
[
|
|
18547
|
+
/metasr[\/ ]?([\d\.]+)/i
|
|
18548
|
+
// Sogou Explorer
|
|
18549
|
+
],
|
|
18550
|
+
[VERSION, [NAME, SOGOU + " Explorer"]],
|
|
18551
|
+
[
|
|
18552
|
+
/(sogou)mo\w+\/([\d\.]+)/i
|
|
18553
|
+
// Sogou Mobile
|
|
18554
|
+
],
|
|
18555
|
+
[[NAME, SOGOU + " Mobile"], VERSION],
|
|
18556
|
+
[
|
|
18557
|
+
/(electron)\/([\w\.]+) safari/i,
|
|
18558
|
+
// Electron-based App
|
|
18559
|
+
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
18560
|
+
// Tesla
|
|
18561
|
+
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
18562
|
+
// QQ/2345
|
|
18563
|
+
],
|
|
18564
|
+
[NAME, VERSION],
|
|
18565
|
+
[
|
|
18566
|
+
/(lbbrowser|rekonq)/i
|
|
18567
|
+
// LieBao Browser/Rekonq
|
|
18568
|
+
],
|
|
18569
|
+
[NAME],
|
|
18570
|
+
[
|
|
18571
|
+
/ome\/([\w\.]+) \w* ?(iron) saf/i,
|
|
18572
|
+
// Iron
|
|
18573
|
+
/ome\/([\w\.]+).+qihu (360)[es]e/i
|
|
18574
|
+
// 360
|
|
18575
|
+
],
|
|
18576
|
+
[VERSION, NAME],
|
|
18577
|
+
[
|
|
18578
|
+
// WebView
|
|
18579
|
+
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
18580
|
+
// Facebook App for iOS & Android
|
|
18581
|
+
],
|
|
18582
|
+
[[NAME, FACEBOOK], VERSION, [TYPE, INAPP]],
|
|
18583
|
+
[
|
|
18584
|
+
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
18585
|
+
// Kakao App
|
|
18586
|
+
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
18587
|
+
// Naver InApp
|
|
18588
|
+
/(daum)apps[\/ ]([\w\.]+)/i,
|
|
18589
|
+
// Daum App
|
|
18590
|
+
/safari (line)\/([\w\.]+)/i,
|
|
18591
|
+
// Line App for iOS
|
|
18592
|
+
/\b(line)\/([\w\.]+)\/iab/i,
|
|
18593
|
+
// Line App for Android
|
|
18594
|
+
/(alipay)client\/([\w\.]+)/i,
|
|
18595
|
+
// Alipay
|
|
18596
|
+
/(twitter)(?:and| f.+e\/([\w\.]+))/i,
|
|
18597
|
+
// Twitter
|
|
18598
|
+
/(bing)(?:web|sapphire)\/([\w\.]+)/i,
|
|
18599
|
+
// Bing
|
|
18600
|
+
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
18601
|
+
// Instagram/Snapchat/Klarna
|
|
18602
|
+
],
|
|
18603
|
+
[NAME, VERSION, [TYPE, INAPP]],
|
|
18604
|
+
[
|
|
18605
|
+
/\bgsa\/([\w\.]+) .*safari\//i
|
|
18606
|
+
// Google Search Appliance on iOS
|
|
18607
|
+
],
|
|
18608
|
+
[VERSION, [NAME, "GSA"], [TYPE, INAPP]],
|
|
18609
|
+
[
|
|
18610
|
+
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
18611
|
+
// TikTok
|
|
18612
|
+
],
|
|
18613
|
+
[VERSION, [NAME, "TikTok"], [TYPE, INAPP]],
|
|
18614
|
+
[
|
|
18615
|
+
/\[(linkedin)app\]/i
|
|
18616
|
+
// LinkedIn App for iOS & Android
|
|
18617
|
+
],
|
|
18618
|
+
[NAME, [TYPE, INAPP]],
|
|
18619
|
+
[
|
|
18620
|
+
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
18621
|
+
// Zalo
|
|
18622
|
+
],
|
|
18623
|
+
[[NAME, /(.+)/, "Zalo"], VERSION, [TYPE, INAPP]],
|
|
18624
|
+
[
|
|
18625
|
+
/(chromium)[\/ ]([-\w\.]+)/i
|
|
18626
|
+
// Chromium
|
|
18627
|
+
],
|
|
18628
|
+
[NAME, VERSION],
|
|
18629
|
+
[
|
|
18630
|
+
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
18631
|
+
// Chrome Headless
|
|
18632
|
+
],
|
|
18633
|
+
[VERSION, [NAME, CHROME + " Headless"]],
|
|
18634
|
+
[
|
|
18635
|
+
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
18636
|
+
// Edge WebView2
|
|
18637
|
+
],
|
|
18638
|
+
[VERSION, [NAME, EDGE + " WebView2"]],
|
|
18639
|
+
[
|
|
18640
|
+
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
18641
|
+
// Chrome WebView
|
|
18642
|
+
],
|
|
18643
|
+
[[NAME, CHROME + " WebView"], VERSION],
|
|
18644
|
+
[
|
|
18645
|
+
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
18646
|
+
// Android Browser
|
|
18647
|
+
],
|
|
18648
|
+
[VERSION, [NAME, "Android" + SUFFIX_BROWSER]],
|
|
18649
|
+
[
|
|
18650
|
+
/chrome\/([\w\.]+) mobile/i
|
|
18651
|
+
// Chrome Mobile
|
|
18652
|
+
],
|
|
18653
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18654
|
+
[
|
|
18655
|
+
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
18656
|
+
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
18657
|
+
],
|
|
18658
|
+
[NAME, VERSION],
|
|
18659
|
+
[
|
|
18660
|
+
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
18661
|
+
// Safari Mobile
|
|
18662
|
+
],
|
|
18663
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Safari"]],
|
|
18664
|
+
[
|
|
18665
|
+
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
18666
|
+
],
|
|
18667
|
+
[[NAME, PREFIX_MOBILE + "Safari"]],
|
|
18668
|
+
[
|
|
18669
|
+
/version\/([\w\.\,]+) .*(safari)/i
|
|
18670
|
+
// Safari
|
|
18671
|
+
],
|
|
18672
|
+
[VERSION, NAME],
|
|
18673
|
+
[
|
|
18674
|
+
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
18675
|
+
// Safari < 3.0
|
|
18676
|
+
],
|
|
18677
|
+
[NAME, [VERSION, "1"]],
|
|
18678
|
+
[
|
|
18679
|
+
/(webkit|khtml)\/([\w\.]+)/i
|
|
18680
|
+
],
|
|
18681
|
+
[NAME, VERSION],
|
|
18682
|
+
[
|
|
18683
|
+
// Gecko based
|
|
18684
|
+
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
18685
|
+
// Firefox Mobile
|
|
18686
|
+
],
|
|
18687
|
+
[[NAME, PREFIX_MOBILE + FIREFOX], VERSION],
|
|
18688
|
+
[
|
|
18689
|
+
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
18690
|
+
// Netscape
|
|
18691
|
+
],
|
|
18692
|
+
[[NAME, "Netscape"], VERSION],
|
|
18693
|
+
[
|
|
18694
|
+
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
18695
|
+
// Wolvic/LibreWolf
|
|
18696
|
+
],
|
|
18697
|
+
[NAME, VERSION],
|
|
18698
|
+
[
|
|
18699
|
+
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
18700
|
+
// Firefox Reality
|
|
18701
|
+
],
|
|
18702
|
+
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
18703
|
+
[
|
|
18704
|
+
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
18705
|
+
// Flow
|
|
18706
|
+
/(swiftfox)/i,
|
|
18707
|
+
// Swiftfox
|
|
18708
|
+
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
|
|
18709
|
+
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
|
|
18710
|
+
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
18711
|
+
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
18712
|
+
/(firefox)\/([\w\.]+)/i,
|
|
18713
|
+
// Other Firefox-based
|
|
18714
|
+
/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
|
|
18715
|
+
// Mozilla
|
|
18716
|
+
// Other
|
|
18717
|
+
/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
18718
|
+
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird
|
|
18719
|
+
/\b(links) \(([\w\.]+)/i
|
|
18720
|
+
// Links
|
|
18721
|
+
],
|
|
18722
|
+
[NAME, [VERSION, /_/g, "."]],
|
|
18723
|
+
[
|
|
18724
|
+
/(cobalt)\/([\w\.]+)/i
|
|
18725
|
+
// Cobalt
|
|
18726
|
+
],
|
|
18727
|
+
[NAME, [VERSION, /[^\d\.]+./, EMPTY]]
|
|
18728
|
+
],
|
|
18729
|
+
cpu: [
|
|
18730
|
+
[
|
|
18731
|
+
/\b((amd|x|x86[-_]?|wow|win)64)\b/i
|
|
18732
|
+
// AMD64 (x64)
|
|
18733
|
+
],
|
|
18734
|
+
[[ARCHITECTURE, "amd64"]],
|
|
18735
|
+
[
|
|
18736
|
+
/(ia32(?=;))/i,
|
|
18737
|
+
// IA32 (quicktime)
|
|
18738
|
+
/\b((i[346]|x)86)(pc)?\b/i
|
|
18739
|
+
// IA32 (x86)
|
|
18740
|
+
],
|
|
18741
|
+
[[ARCHITECTURE, "ia32"]],
|
|
18742
|
+
[
|
|
18743
|
+
/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
|
|
18744
|
+
// ARM64
|
|
18745
|
+
],
|
|
18746
|
+
[[ARCHITECTURE, "arm64"]],
|
|
18747
|
+
[
|
|
18748
|
+
/\b(arm(v[67])?ht?n?[fl]p?)\b/i
|
|
18749
|
+
// ARMHF
|
|
18750
|
+
],
|
|
18751
|
+
[[ARCHITECTURE, "armhf"]],
|
|
18752
|
+
[
|
|
18753
|
+
// PocketPC mistakenly identified as PowerPC
|
|
18754
|
+
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
|
|
18755
|
+
],
|
|
18756
|
+
[[ARCHITECTURE, "arm"]],
|
|
18757
|
+
[
|
|
18758
|
+
/ sun4\w[;\)]/i
|
|
18759
|
+
// SPARC
|
|
18760
|
+
],
|
|
18761
|
+
[[ARCHITECTURE, "sparc"]],
|
|
18762
|
+
[
|
|
18763
|
+
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
18764
|
+
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
|
|
18765
|
+
/((ppc|powerpc)(64)?)( mac|;|\))/i,
|
|
18766
|
+
// PowerPC
|
|
18767
|
+
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
18768
|
+
// Alpha
|
|
18769
|
+
],
|
|
18770
|
+
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
18771
|
+
[
|
|
18772
|
+
/mc680.0/i
|
|
18773
|
+
],
|
|
18774
|
+
[[ARCHITECTURE, "68k"]],
|
|
18775
|
+
[
|
|
18776
|
+
/winnt.+\[axp/i
|
|
18777
|
+
],
|
|
18778
|
+
[[ARCHITECTURE, "alpha"]]
|
|
18779
|
+
],
|
|
18780
|
+
device: [
|
|
18781
|
+
[
|
|
18782
|
+
//////////////////////////
|
|
18783
|
+
// MOBILES & TABLETS
|
|
18784
|
+
/////////////////////////
|
|
18785
|
+
// Samsung
|
|
18786
|
+
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
18787
|
+
],
|
|
18788
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
18789
|
+
[
|
|
18790
|
+
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
18791
|
+
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
18792
|
+
/sec-(sgh\w+)/i
|
|
18793
|
+
],
|
|
18794
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
18795
|
+
[
|
|
18796
|
+
// Apple
|
|
18797
|
+
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
18798
|
+
// iPod/iPhone
|
|
18799
|
+
],
|
|
18800
|
+
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
18801
|
+
[
|
|
18802
|
+
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
18803
|
+
// iPad
|
|
18804
|
+
/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
|
|
18805
|
+
],
|
|
18806
|
+
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
18807
|
+
[
|
|
18808
|
+
/(macintosh);/i
|
|
18809
|
+
],
|
|
18810
|
+
[MODEL, [VENDOR, APPLE]],
|
|
18811
|
+
[
|
|
18812
|
+
// Sharp
|
|
18813
|
+
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
18814
|
+
],
|
|
18815
|
+
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
18816
|
+
[
|
|
18817
|
+
// Honor
|
|
18818
|
+
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
18819
|
+
],
|
|
18820
|
+
[MODEL, [VENDOR, HONOR], [TYPE, TABLET]],
|
|
18821
|
+
[
|
|
18822
|
+
/honor([-\w ]+)[;\)]/i
|
|
18823
|
+
],
|
|
18824
|
+
[MODEL, [VENDOR, HONOR], [TYPE, MOBILE]],
|
|
18825
|
+
[
|
|
18826
|
+
// Huawei
|
|
18827
|
+
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
18828
|
+
],
|
|
18829
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
18830
|
+
[
|
|
18831
|
+
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
18832
|
+
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
18833
|
+
],
|
|
18834
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
18835
|
+
[
|
|
18836
|
+
// Xiaomi
|
|
18837
|
+
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
18838
|
+
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
18839
|
+
// Mi Pad tablets
|
|
18840
|
+
],
|
|
18841
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
18842
|
+
[
|
|
18843
|
+
/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
|
|
18844
|
+
// Xiaomi POCO
|
|
18845
|
+
/\b; (\w+) build\/hm\1/i,
|
|
18846
|
+
// Xiaomi Hongmi 'numeric' models
|
|
18847
|
+
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
18848
|
+
// Xiaomi Hongmi
|
|
18849
|
+
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
18850
|
+
// Xiaomi Redmi
|
|
18851
|
+
/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
|
|
18852
|
+
// Xiaomi Redmi 'numeric' models
|
|
18853
|
+
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
18854
|
+
// Xiaomi Mi
|
|
18855
|
+
/ ([\w ]+) miui\/v?\d/i
|
|
18856
|
+
],
|
|
18857
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
18858
|
+
[
|
|
18859
|
+
// OnePlus
|
|
18860
|
+
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,
|
|
18861
|
+
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
18862
|
+
],
|
|
18863
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]],
|
|
18864
|
+
[
|
|
18865
|
+
// OPPO
|
|
18866
|
+
/; (\w+) bui.+ oppo/i,
|
|
18867
|
+
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
18868
|
+
],
|
|
18869
|
+
[MODEL, [VENDOR, OPPO], [TYPE, MOBILE]],
|
|
18870
|
+
[
|
|
18871
|
+
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
18872
|
+
],
|
|
18873
|
+
[MODEL, [VENDOR, strMapper, { "OnePlus": ["203", "304", "403", "404", "413", "415"], "*": OPPO }], [TYPE, TABLET]],
|
|
18874
|
+
[
|
|
18875
|
+
// BLU
|
|
18876
|
+
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
18877
|
+
// Vivo series
|
|
18878
|
+
],
|
|
18879
|
+
[MODEL, [VENDOR, "BLU"], [TYPE, MOBILE]],
|
|
18880
|
+
[
|
|
18881
|
+
// Vivo
|
|
18882
|
+
/; vivo (\w+)(?: bui|\))/i,
|
|
18883
|
+
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
18884
|
+
],
|
|
18885
|
+
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
18886
|
+
[
|
|
18887
|
+
// Realme
|
|
18888
|
+
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
18889
|
+
],
|
|
18890
|
+
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
18891
|
+
[
|
|
18892
|
+
// Lenovo
|
|
18893
|
+
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
18894
|
+
/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
|
|
18895
|
+
],
|
|
18896
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, TABLET]],
|
|
18897
|
+
[
|
|
18898
|
+
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
18899
|
+
],
|
|
18900
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, MOBILE]],
|
|
18901
|
+
[
|
|
18902
|
+
// Motorola
|
|
18903
|
+
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
18904
|
+
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
18905
|
+
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
18906
|
+
],
|
|
18907
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
18908
|
+
[
|
|
18909
|
+
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
18910
|
+
],
|
|
18911
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
18912
|
+
[
|
|
18913
|
+
// LG
|
|
18914
|
+
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
18915
|
+
],
|
|
18916
|
+
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
18917
|
+
[
|
|
18918
|
+
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
18919
|
+
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
18920
|
+
/\blg-?([\d\w]+) bui/i
|
|
18921
|
+
],
|
|
18922
|
+
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
18923
|
+
[
|
|
18924
|
+
// Nokia
|
|
18925
|
+
/(nokia) (t[12][01])/i
|
|
18926
|
+
],
|
|
18927
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18928
|
+
[
|
|
18929
|
+
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
18930
|
+
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
18931
|
+
],
|
|
18932
|
+
[[MODEL, /_/g, " "], [TYPE, MOBILE], [VENDOR, "Nokia"]],
|
|
18933
|
+
[
|
|
18934
|
+
// Google
|
|
18935
|
+
/(pixel (c|tablet))\b/i
|
|
18936
|
+
// Google Pixel C/Tablet
|
|
18937
|
+
],
|
|
18938
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
18939
|
+
[
|
|
18940
|
+
// Google Pixel
|
|
18941
|
+
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
18942
|
+
],
|
|
18943
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
18944
|
+
[
|
|
18945
|
+
/(google) (pixelbook( go)?)/i
|
|
18946
|
+
],
|
|
18947
|
+
[VENDOR, MODEL],
|
|
18948
|
+
[
|
|
18949
|
+
// Sony
|
|
18950
|
+
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
18951
|
+
],
|
|
18952
|
+
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
18953
|
+
[
|
|
18954
|
+
/sony tablet [ps]/i,
|
|
18955
|
+
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
18956
|
+
],
|
|
18957
|
+
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
18958
|
+
[
|
|
18959
|
+
// Amazon
|
|
18960
|
+
/(alexa)webm/i,
|
|
18961
|
+
/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
|
|
18962
|
+
// Kindle Fire without Silk / Echo Show
|
|
18963
|
+
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
18964
|
+
// Kindle Fire HD
|
|
18965
|
+
],
|
|
18966
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
18967
|
+
[
|
|
18968
|
+
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
18969
|
+
// Fire Phone
|
|
18970
|
+
],
|
|
18971
|
+
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
18972
|
+
[
|
|
18973
|
+
// BlackBerry
|
|
18974
|
+
/(playbook);[-\w\),; ]+(rim)/i
|
|
18975
|
+
// BlackBerry PlayBook
|
|
18976
|
+
],
|
|
18977
|
+
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
18978
|
+
[
|
|
18979
|
+
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
18980
|
+
/(?:blackberry|\(bb10;) (\w+)/i
|
|
18981
|
+
],
|
|
18982
|
+
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
18983
|
+
[
|
|
18984
|
+
// Asus
|
|
18985
|
+
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
18986
|
+
],
|
|
18987
|
+
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
18988
|
+
[
|
|
18989
|
+
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
18990
|
+
],
|
|
18991
|
+
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
18992
|
+
[
|
|
18993
|
+
// HTC
|
|
18994
|
+
/(nexus 9)/i
|
|
18995
|
+
// HTC Nexus 9
|
|
18996
|
+
],
|
|
18997
|
+
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
18998
|
+
[
|
|
18999
|
+
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
19000
|
+
// HTC
|
|
19001
|
+
// ZTE
|
|
19002
|
+
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
19003
|
+
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
19004
|
+
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
19005
|
+
],
|
|
19006
|
+
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
19007
|
+
[
|
|
19008
|
+
// TCL
|
|
19009
|
+
/tcl (xess p17aa)/i,
|
|
19010
|
+
/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i
|
|
19011
|
+
],
|
|
19012
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, TABLET]],
|
|
19013
|
+
[
|
|
19014
|
+
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
19015
|
+
],
|
|
19016
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, MOBILE]],
|
|
19017
|
+
[
|
|
19018
|
+
// itel
|
|
19019
|
+
/(itel) ((\w+))/i
|
|
19020
|
+
],
|
|
19021
|
+
[[VENDOR, lowerize], MODEL, [TYPE, strMapper, { "tablet": ["p10001l", "w7001"], "*": "mobile" }]],
|
|
19022
|
+
[
|
|
19023
|
+
// Acer
|
|
19024
|
+
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
19025
|
+
],
|
|
19026
|
+
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
19027
|
+
[
|
|
19028
|
+
// Meizu
|
|
19029
|
+
/droid.+; (m[1-5] note) bui/i,
|
|
19030
|
+
/\bmz-([-\w]{2,})/i
|
|
19031
|
+
],
|
|
19032
|
+
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
19033
|
+
[
|
|
19034
|
+
// Ulefone
|
|
19035
|
+
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
19036
|
+
],
|
|
19037
|
+
[MODEL, [VENDOR, "Ulefone"], [TYPE, MOBILE]],
|
|
19038
|
+
[
|
|
19039
|
+
// Energizer
|
|
19040
|
+
/; (energy ?\w+)(?: bui|\))/i,
|
|
19041
|
+
/; energizer ([\w ]+)(?: bui|\))/i
|
|
19042
|
+
],
|
|
19043
|
+
[MODEL, [VENDOR, "Energizer"], [TYPE, MOBILE]],
|
|
19044
|
+
[
|
|
19045
|
+
// Cat
|
|
19046
|
+
/; cat (b35);/i,
|
|
19047
|
+
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
19048
|
+
],
|
|
19049
|
+
[MODEL, [VENDOR, "Cat"], [TYPE, MOBILE]],
|
|
19050
|
+
[
|
|
19051
|
+
// Smartfren
|
|
19052
|
+
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
19053
|
+
],
|
|
19054
|
+
[MODEL, [VENDOR, "Smartfren"], [TYPE, MOBILE]],
|
|
19055
|
+
[
|
|
19056
|
+
// Nothing
|
|
19057
|
+
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
19058
|
+
],
|
|
19059
|
+
[MODEL, [VENDOR, "Nothing"], [TYPE, MOBILE]],
|
|
19060
|
+
[
|
|
19061
|
+
// Archos
|
|
19062
|
+
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
19063
|
+
/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i
|
|
19064
|
+
],
|
|
19065
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, TABLET]],
|
|
19066
|
+
[
|
|
19067
|
+
/archos ([\w ]+)( b|\))/i,
|
|
19068
|
+
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
19069
|
+
],
|
|
19070
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, MOBILE]],
|
|
19071
|
+
[
|
|
19072
|
+
// HMD
|
|
19073
|
+
/; (n159v)/i
|
|
19074
|
+
],
|
|
19075
|
+
[MODEL, [VENDOR, "HMD"], [TYPE, MOBILE]],
|
|
19076
|
+
[
|
|
19077
|
+
// MIXED
|
|
19078
|
+
/(imo) (tab \w+)/i,
|
|
19079
|
+
// IMO
|
|
19080
|
+
/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i
|
|
19081
|
+
// Infinix XPad / Tecno
|
|
19082
|
+
],
|
|
19083
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
19084
|
+
[
|
|
19085
|
+
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
|
|
19086
|
+
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
|
|
19087
|
+
// BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
|
|
19088
|
+
/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,
|
|
19089
|
+
/(hp) ([\w ]+\w)/i,
|
|
19090
|
+
// HP iPAQ
|
|
19091
|
+
/(microsoft); (lumia[\w ]+)/i,
|
|
19092
|
+
// Microsoft Lumia
|
|
19093
|
+
/(oppo) ?([\w ]+) bui/i,
|
|
19094
|
+
// OPPO
|
|
19095
|
+
/(hisense) ([ehv][\w ]+)\)/i,
|
|
19096
|
+
// Hisense
|
|
19097
|
+
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
19098
|
+
// Philips
|
|
19099
|
+
],
|
|
19100
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
19101
|
+
[
|
|
19102
|
+
/(kobo)\s(ereader|touch)/i,
|
|
19103
|
+
// Kobo
|
|
19104
|
+
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
19105
|
+
// HP TouchPad
|
|
19106
|
+
/(kindle)\/([\w\.]+)/i
|
|
19107
|
+
// Kindle
|
|
19108
|
+
],
|
|
19109
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
19110
|
+
[
|
|
19111
|
+
/(surface duo)/i
|
|
19112
|
+
// Surface Duo
|
|
19113
|
+
],
|
|
19114
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
19115
|
+
[
|
|
19116
|
+
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
19117
|
+
// Fairphone
|
|
19118
|
+
],
|
|
19119
|
+
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
19120
|
+
[
|
|
19121
|
+
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
19122
|
+
// Nvidia Tablets
|
|
19123
|
+
],
|
|
19124
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]],
|
|
19125
|
+
[
|
|
19126
|
+
/(sprint) (\w+)/i
|
|
19127
|
+
// Sprint Phones
|
|
19128
|
+
],
|
|
19129
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
19130
|
+
[
|
|
19131
|
+
/(kin\.[onetw]{3})/i
|
|
19132
|
+
// Microsoft Kin
|
|
19133
|
+
],
|
|
19134
|
+
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
19135
|
+
[
|
|
19136
|
+
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
19137
|
+
// Zebra
|
|
19138
|
+
],
|
|
19139
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
19140
|
+
[
|
|
19141
|
+
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
19142
|
+
],
|
|
19143
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
19144
|
+
[
|
|
19145
|
+
///////////////////
|
|
19146
|
+
// SMARTTVS
|
|
19147
|
+
///////////////////
|
|
19148
|
+
/(philips)[\w ]+tv/i,
|
|
19149
|
+
// Philips
|
|
19150
|
+
/smart-tv.+(samsung)/i
|
|
19151
|
+
// Samsung
|
|
19152
|
+
],
|
|
19153
|
+
[VENDOR, [TYPE, SMARTTV]],
|
|
19154
|
+
[
|
|
19155
|
+
/hbbtv.+maple;(\d+)/i
|
|
19156
|
+
],
|
|
19157
|
+
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
19158
|
+
[
|
|
19159
|
+
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
19160
|
+
// Vizio
|
|
19161
|
+
/tcast.+(lg)e?. ([-\w]+)/i
|
|
19162
|
+
// LG SmartTV
|
|
19163
|
+
],
|
|
19164
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19165
|
+
[
|
|
19166
|
+
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
19167
|
+
],
|
|
19168
|
+
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
19169
|
+
[
|
|
19170
|
+
/(apple) ?tv/i
|
|
19171
|
+
// Apple TV
|
|
19172
|
+
],
|
|
19173
|
+
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
19174
|
+
[
|
|
19175
|
+
/crkey.*devicetype\/chromecast/i
|
|
19176
|
+
// Google Chromecast Third Generation
|
|
19177
|
+
],
|
|
19178
|
+
[[MODEL, CHROMECAST + " Third Generation"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19179
|
+
[
|
|
19180
|
+
/crkey.*devicetype\/([^/]*)/i
|
|
19181
|
+
// Google Chromecast with specific device type
|
|
19182
|
+
],
|
|
19183
|
+
[[MODEL, /^/, "Chromecast "], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19184
|
+
[
|
|
19185
|
+
/fuchsia.*crkey/i
|
|
19186
|
+
// Google Chromecast Nest Hub
|
|
19187
|
+
],
|
|
19188
|
+
[[MODEL, CHROMECAST + " Nest Hub"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19189
|
+
[
|
|
19190
|
+
/crkey/i
|
|
19191
|
+
// Google Chromecast, Linux-based or unknown
|
|
19192
|
+
],
|
|
19193
|
+
[[MODEL, CHROMECAST], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19194
|
+
[
|
|
19195
|
+
/(portaltv)/i
|
|
19196
|
+
// Facebook Portal TV
|
|
19197
|
+
],
|
|
19198
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, SMARTTV]],
|
|
19199
|
+
[
|
|
19200
|
+
/droid.+aft(\w+)( bui|\))/i
|
|
19201
|
+
// Fire TV
|
|
19202
|
+
],
|
|
19203
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
19204
|
+
[
|
|
19205
|
+
/(shield \w+ tv)/i
|
|
19206
|
+
// Nvidia Shield TV
|
|
19207
|
+
],
|
|
19208
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]],
|
|
19209
|
+
[
|
|
19210
|
+
/\(dtv[\);].+(aquos)/i,
|
|
19211
|
+
/(aquos-tv[\w ]+)\)/i
|
|
19212
|
+
// Sharp
|
|
19213
|
+
],
|
|
19214
|
+
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
19215
|
+
[
|
|
19216
|
+
/(bravia[\w ]+)( bui|\))/i
|
|
19217
|
+
// Sony
|
|
19218
|
+
],
|
|
19219
|
+
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
19220
|
+
[
|
|
19221
|
+
/(mi(tv|box)-?\w+) bui/i
|
|
19222
|
+
// Xiaomi
|
|
19223
|
+
],
|
|
19224
|
+
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
19225
|
+
[
|
|
19226
|
+
/Hbbtv.*(technisat) (.*);/i
|
|
19227
|
+
// TechniSAT
|
|
19228
|
+
],
|
|
19229
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19230
|
+
[
|
|
19231
|
+
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
19232
|
+
// Roku
|
|
19233
|
+
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
19234
|
+
// HbbTV devices
|
|
19235
|
+
],
|
|
19236
|
+
[[VENDOR, /.+\/(\w+)/, "$1", strMapper, { "LG": "lge" }], [MODEL, trim], [TYPE, SMARTTV]],
|
|
19237
|
+
[
|
|
19238
|
+
///////////////////
|
|
19239
|
+
// CONSOLES
|
|
19240
|
+
///////////////////
|
|
19241
|
+
/(playstation \w+)/i
|
|
19242
|
+
// Playstation
|
|
19243
|
+
],
|
|
19244
|
+
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
19245
|
+
[
|
|
19246
|
+
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
19247
|
+
// Microsoft Xbox
|
|
19248
|
+
],
|
|
19249
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
19250
|
+
[
|
|
19251
|
+
/(ouya)/i,
|
|
19252
|
+
// Ouya
|
|
19253
|
+
/(nintendo) (\w+)/i,
|
|
19254
|
+
// Nintendo
|
|
19255
|
+
/(retroid) (pocket ([^\)]+))/i
|
|
19256
|
+
// Retroid Pocket
|
|
19257
|
+
],
|
|
19258
|
+
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
19259
|
+
[
|
|
19260
|
+
/droid.+; (shield)( bui|\))/i
|
|
19261
|
+
// Nvidia Portable
|
|
19262
|
+
],
|
|
19263
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]],
|
|
19264
|
+
[
|
|
19265
|
+
///////////////////
|
|
19266
|
+
// WEARABLES
|
|
19267
|
+
///////////////////
|
|
19268
|
+
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
19269
|
+
// Samsung Galaxy Watch
|
|
19270
|
+
],
|
|
19271
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]],
|
|
19272
|
+
[
|
|
19273
|
+
/((pebble))app/i,
|
|
19274
|
+
// Pebble
|
|
19275
|
+
/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i
|
|
19276
|
+
// Asus ZenWatch / LG Watch / Pixel Watch
|
|
19277
|
+
],
|
|
19278
|
+
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
19279
|
+
[
|
|
19280
|
+
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
19281
|
+
// Oppo Watch
|
|
19282
|
+
],
|
|
19283
|
+
[MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]],
|
|
19284
|
+
[
|
|
19285
|
+
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
19286
|
+
// Apple Watch
|
|
19287
|
+
],
|
|
19288
|
+
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
19289
|
+
[
|
|
19290
|
+
/(opwwe\d{3})/i
|
|
19291
|
+
// OnePlus Watch
|
|
19292
|
+
],
|
|
19293
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]],
|
|
19294
|
+
[
|
|
19295
|
+
/(moto 360)/i
|
|
19296
|
+
// Motorola 360
|
|
19297
|
+
],
|
|
19298
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]],
|
|
19299
|
+
[
|
|
19300
|
+
/(smartwatch 3)/i
|
|
19301
|
+
// Sony SmartWatch
|
|
19302
|
+
],
|
|
19303
|
+
[MODEL, [VENDOR, SONY], [TYPE, WEARABLE]],
|
|
19304
|
+
[
|
|
19305
|
+
/(g watch r)/i
|
|
19306
|
+
// LG G Watch R
|
|
19307
|
+
],
|
|
19308
|
+
[MODEL, [VENDOR, LG], [TYPE, WEARABLE]],
|
|
19309
|
+
[
|
|
19310
|
+
/droid.+; (wt63?0{2,3})\)/i
|
|
19311
|
+
],
|
|
19312
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
19313
|
+
[
|
|
19314
|
+
///////////////////
|
|
19315
|
+
// XR
|
|
19316
|
+
///////////////////
|
|
19317
|
+
/droid.+; (glass) \d/i
|
|
19318
|
+
// Google Glass
|
|
19319
|
+
],
|
|
19320
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, XR]],
|
|
19321
|
+
[
|
|
19322
|
+
/(pico) ([\w ]+) os\d/i
|
|
19323
|
+
// Pico
|
|
19324
|
+
],
|
|
19325
|
+
[VENDOR, MODEL, [TYPE, XR]],
|
|
19326
|
+
[
|
|
19327
|
+
/(quest( \d| pro)?s?).+vr/i
|
|
19328
|
+
// Meta Quest
|
|
19329
|
+
],
|
|
19330
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, XR]],
|
|
19331
|
+
[
|
|
19332
|
+
/mobile vr; rv.+firefox/i
|
|
19333
|
+
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
19334
|
+
],
|
|
19335
|
+
[[TYPE, XR]],
|
|
19336
|
+
[
|
|
19337
|
+
///////////////////
|
|
19338
|
+
// EMBEDDED
|
|
19339
|
+
///////////////////
|
|
19340
|
+
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
19341
|
+
// Tesla
|
|
19342
|
+
],
|
|
19343
|
+
[VENDOR, [TYPE, EMBEDDED]],
|
|
19344
|
+
[
|
|
19345
|
+
/(aeobc)\b/i
|
|
19346
|
+
// Echo Dot
|
|
19347
|
+
],
|
|
19348
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
19349
|
+
[
|
|
19350
|
+
/(homepod).+mac os/i
|
|
19351
|
+
// Apple HomePod
|
|
19352
|
+
],
|
|
19353
|
+
[MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]],
|
|
19354
|
+
[
|
|
19355
|
+
/windows iot/i
|
|
19356
|
+
// Unidentifiable embedded device using Windows IoT
|
|
19357
|
+
],
|
|
19358
|
+
[[TYPE, EMBEDDED]],
|
|
19359
|
+
[
|
|
19360
|
+
////////////////////
|
|
19361
|
+
// MIXED (GENERIC)
|
|
19362
|
+
///////////////////
|
|
19363
|
+
/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
|
|
19364
|
+
// Unidentifiable SmartTV
|
|
19365
|
+
],
|
|
19366
|
+
[MODEL, [TYPE, SMARTTV]],
|
|
19367
|
+
[
|
|
19368
|
+
/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
|
|
19369
|
+
],
|
|
19370
|
+
[[TYPE, SMARTTV]],
|
|
19371
|
+
[
|
|
19372
|
+
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
19373
|
+
],
|
|
19374
|
+
[MODEL, [TYPE, strMapper, { "mobile": "Mobile", "xr": "VR", "*": TABLET }]],
|
|
19375
|
+
[
|
|
19376
|
+
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
19377
|
+
// Unidentifiable Tablet
|
|
19378
|
+
],
|
|
19379
|
+
[[TYPE, TABLET]],
|
|
19380
|
+
[
|
|
19381
|
+
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
19382
|
+
// Unidentifiable Mobile
|
|
19383
|
+
],
|
|
19384
|
+
[[TYPE, MOBILE]],
|
|
19385
|
+
[
|
|
19386
|
+
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
19387
|
+
// Generic Android Device
|
|
19388
|
+
],
|
|
19389
|
+
[MODEL, [VENDOR, "Generic"]]
|
|
19390
|
+
],
|
|
19391
|
+
engine: [
|
|
19392
|
+
[
|
|
19393
|
+
/windows.+ edge\/([\w\.]+)/i
|
|
19394
|
+
// EdgeHTML
|
|
19395
|
+
],
|
|
19396
|
+
[VERSION, [NAME, EDGE + "HTML"]],
|
|
19397
|
+
[
|
|
19398
|
+
/(arkweb)\/([\w\.]+)/i
|
|
19399
|
+
// ArkWeb
|
|
19400
|
+
],
|
|
19401
|
+
[NAME, VERSION],
|
|
19402
|
+
[
|
|
19403
|
+
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
19404
|
+
// Blink
|
|
19405
|
+
],
|
|
19406
|
+
[VERSION, [NAME, "Blink"]],
|
|
19407
|
+
[
|
|
19408
|
+
/(presto)\/([\w\.]+)/i,
|
|
19409
|
+
// Presto
|
|
19410
|
+
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
|
|
19411
|
+
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo
|
|
19412
|
+
/ekioh(flow)\/([\w\.]+)/i,
|
|
19413
|
+
// Flow
|
|
19414
|
+
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
19415
|
+
// KHTML/Tasman/Links
|
|
19416
|
+
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
19417
|
+
// iCab
|
|
19418
|
+
/\b(libweb)/i
|
|
19419
|
+
// LibWeb
|
|
19420
|
+
],
|
|
19421
|
+
[NAME, VERSION],
|
|
19422
|
+
[
|
|
19423
|
+
/ladybird\//i
|
|
19424
|
+
],
|
|
19425
|
+
[[NAME, "LibWeb"]],
|
|
19426
|
+
[
|
|
19427
|
+
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
19428
|
+
// Gecko
|
|
19429
|
+
],
|
|
19430
|
+
[VERSION, NAME]
|
|
19431
|
+
],
|
|
19432
|
+
os: [
|
|
19433
|
+
[
|
|
19434
|
+
// Windows
|
|
19435
|
+
/(windows nt) (6\.[23]); arm/i
|
|
19436
|
+
// Windows RT
|
|
19437
|
+
],
|
|
19438
|
+
[[NAME, /N/, "R"], [VERSION, strMapper, windowsVersionMap]],
|
|
19439
|
+
[
|
|
19440
|
+
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
19441
|
+
// Windows IoT/Mobile/Phone
|
|
19442
|
+
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
19443
|
+
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
19444
|
+
],
|
|
19445
|
+
[NAME, VERSION],
|
|
19446
|
+
[
|
|
19447
|
+
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
19448
|
+
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
19449
|
+
],
|
|
19450
|
+
[[VERSION, /(;|\))/g, "", strMapper, windowsVersionMap], [NAME, WINDOWS]],
|
|
19451
|
+
[
|
|
19452
|
+
/(windows ce)\/?([\d\.]*)/i
|
|
19453
|
+
// Windows CE
|
|
19454
|
+
],
|
|
19455
|
+
[NAME, VERSION],
|
|
19456
|
+
[
|
|
19457
|
+
// iOS/macOS
|
|
19458
|
+
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
19459
|
+
// iOS
|
|
19460
|
+
/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w\.]+)/i,
|
|
19461
|
+
/cfnetwork\/.+darwin/i
|
|
19462
|
+
],
|
|
19463
|
+
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
19464
|
+
[
|
|
19465
|
+
/(mac os x) ?([\w\. ]*)/i,
|
|
19466
|
+
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
19467
|
+
// Mac OS
|
|
19468
|
+
],
|
|
19469
|
+
[[NAME, "macOS"], [VERSION, /_/g, "."]],
|
|
19470
|
+
[
|
|
19471
|
+
// Google Chromecast
|
|
19472
|
+
/android ([\d\.]+).*crkey/i
|
|
19473
|
+
// Google Chromecast, Android-based
|
|
19474
|
+
],
|
|
19475
|
+
[VERSION, [NAME, CHROMECAST + " Android"]],
|
|
19476
|
+
[
|
|
19477
|
+
/fuchsia.*crkey\/([\d\.]+)/i
|
|
19478
|
+
// Google Chromecast, Fuchsia-based
|
|
19479
|
+
],
|
|
19480
|
+
[VERSION, [NAME, CHROMECAST + " Fuchsia"]],
|
|
19481
|
+
[
|
|
19482
|
+
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
19483
|
+
// Google Chromecast, Linux-based Smart Speaker
|
|
19484
|
+
],
|
|
19485
|
+
[VERSION, [NAME, CHROMECAST + " SmartSpeaker"]],
|
|
19486
|
+
[
|
|
19487
|
+
/linux.*crkey\/([\d\.]+)/i
|
|
19488
|
+
// Google Chromecast, Legacy Linux-based
|
|
19489
|
+
],
|
|
19490
|
+
[VERSION, [NAME, CHROMECAST + " Linux"]],
|
|
19491
|
+
[
|
|
19492
|
+
/crkey\/([\d\.]+)/i
|
|
19493
|
+
// Google Chromecast, unknown
|
|
19494
|
+
],
|
|
19495
|
+
[VERSION, [NAME, CHROMECAST]],
|
|
19496
|
+
[
|
|
19497
|
+
// Mobile OSes
|
|
19498
|
+
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
19499
|
+
// Android-x86
|
|
19500
|
+
],
|
|
19501
|
+
[VERSION, NAME],
|
|
19502
|
+
[
|
|
19503
|
+
/(ubuntu) ([\w\.]+) like android/i
|
|
19504
|
+
// Ubuntu Touch
|
|
19505
|
+
],
|
|
19506
|
+
[[NAME, /(.+)/, "$1 Touch"], VERSION],
|
|
19507
|
+
[
|
|
19508
|
+
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
19509
|
+
// HarmonyOS
|
|
19510
|
+
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
19511
|
+
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
19512
|
+
],
|
|
19513
|
+
[NAME, VERSION],
|
|
19514
|
+
[
|
|
19515
|
+
/\(bb(10);/i
|
|
19516
|
+
// BlackBerry 10
|
|
19517
|
+
],
|
|
19518
|
+
[VERSION, [NAME, BLACKBERRY]],
|
|
19519
|
+
[
|
|
19520
|
+
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
19521
|
+
// Symbian
|
|
19522
|
+
],
|
|
19523
|
+
[VERSION, [NAME, "Symbian"]],
|
|
19524
|
+
[
|
|
19525
|
+
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
19526
|
+
// Firefox OS
|
|
19527
|
+
],
|
|
19528
|
+
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
19529
|
+
[
|
|
19530
|
+
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
19531
|
+
// WebOS
|
|
19532
|
+
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
19533
|
+
],
|
|
19534
|
+
[VERSION, [NAME, "webOS"]],
|
|
19535
|
+
[
|
|
19536
|
+
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
19537
|
+
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
19538
|
+
],
|
|
19539
|
+
[[VERSION, strMapper, { "25": "120", "24": "108", "23": "94", "22": "87", "6": "79", "5": "68", "4": "53", "3": "38", "2": "538", "1": "537", "*": "TV" }], [NAME, "webOS"]],
|
|
19540
|
+
[
|
|
19541
|
+
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
19542
|
+
// watchOS
|
|
19543
|
+
],
|
|
19544
|
+
[VERSION, [NAME, "watchOS"]],
|
|
19545
|
+
[
|
|
19546
|
+
// Google ChromeOS
|
|
19547
|
+
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
19548
|
+
// Chromium OS
|
|
19549
|
+
],
|
|
19550
|
+
[[NAME, "Chrome OS"], VERSION],
|
|
19551
|
+
[
|
|
19552
|
+
// Smart TVs
|
|
19553
|
+
/panasonic;(viera)/i,
|
|
19554
|
+
// Panasonic Viera
|
|
19555
|
+
/(netrange)mmh/i,
|
|
19556
|
+
// Netrange
|
|
19557
|
+
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
19558
|
+
// NetTV
|
|
19559
|
+
// Console
|
|
19560
|
+
/(nintendo|playstation) (\w+)/i,
|
|
19561
|
+
// Nintendo/Playstation
|
|
19562
|
+
/(xbox); +xbox ([^\);]+)/i,
|
|
19563
|
+
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
19564
|
+
/(pico) .+os([\w\.]+)/i,
|
|
19565
|
+
// Pico
|
|
19566
|
+
// Other
|
|
19567
|
+
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
19568
|
+
// Joli/Palm
|
|
19569
|
+
/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
|
|
19570
|
+
// Mint
|
|
19571
|
+
/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
|
|
19572
|
+
// Mageia/VectorLinux/Fuchsia/ArcaOS/Arch
|
|
19573
|
+
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
|
19574
|
+
// Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix
|
|
19575
|
+
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
19576
|
+
// Solaris
|
|
19577
|
+
/\b(aix)[; ]([1-9\.]{0,4})/i,
|
|
19578
|
+
// AIX
|
|
19579
|
+
/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
|
|
19580
|
+
// Hurd/Linux/MorphOS
|
|
19581
|
+
/(gnu) ?([\w\.]*)/i,
|
|
19582
|
+
// GNU
|
|
19583
|
+
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
19584
|
+
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
19585
|
+
/(haiku) ?(r\d)?/i
|
|
19586
|
+
// Haiku
|
|
19587
|
+
],
|
|
19588
|
+
[NAME, VERSION],
|
|
19589
|
+
[
|
|
19590
|
+
/(sunos) ?([\d\.]*)/i
|
|
19591
|
+
// Solaris
|
|
19592
|
+
],
|
|
19593
|
+
[[NAME, "Solaris"], VERSION],
|
|
19594
|
+
[
|
|
19595
|
+
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
19596
|
+
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
19597
|
+
/(unix) ?([\w\.]*)/i
|
|
19598
|
+
// UNIX
|
|
19599
|
+
],
|
|
19600
|
+
[NAME, VERSION]
|
|
19601
|
+
]
|
|
19602
|
+
};
|
|
19603
|
+
var defaultProps = function() {
|
|
19604
|
+
var props = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
19605
|
+
setProps.call(props.init, [
|
|
19606
|
+
[BROWSER, [NAME, VERSION, MAJOR, TYPE]],
|
|
19607
|
+
[CPU, [ARCHITECTURE]],
|
|
19608
|
+
[DEVICE, [TYPE, MODEL, VENDOR]],
|
|
19609
|
+
[ENGINE, [NAME, VERSION]],
|
|
19610
|
+
[OS, [NAME, VERSION]]
|
|
19611
|
+
]);
|
|
19612
|
+
setProps.call(props.isIgnore, [
|
|
19613
|
+
[BROWSER, [VERSION, MAJOR]],
|
|
19614
|
+
[ENGINE, [VERSION]],
|
|
19615
|
+
[OS, [VERSION]]
|
|
19616
|
+
]);
|
|
19617
|
+
setProps.call(props.isIgnoreRgx, [
|
|
19618
|
+
[BROWSER, / ?browser$/i],
|
|
19619
|
+
[OS, / ?os$/i]
|
|
19620
|
+
]);
|
|
19621
|
+
setProps.call(props.toString, [
|
|
19622
|
+
[BROWSER, [NAME, VERSION]],
|
|
19623
|
+
[CPU, [ARCHITECTURE]],
|
|
19624
|
+
[DEVICE, [VENDOR, MODEL]],
|
|
19625
|
+
[ENGINE, [NAME, VERSION]],
|
|
19626
|
+
[OS, [NAME, VERSION]]
|
|
19627
|
+
]);
|
|
19628
|
+
return props;
|
|
19629
|
+
}();
|
|
19630
|
+
var createIData = function(item, itemType) {
|
|
19631
|
+
var init_props = defaultProps.init[itemType], is_ignoreProps = defaultProps.isIgnore[itemType] || 0, is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0, toString_props = defaultProps.toString[itemType] || 0;
|
|
19632
|
+
function IData() {
|
|
19633
|
+
setProps.call(this, init_props);
|
|
19634
|
+
}
|
|
19635
|
+
IData.prototype.getItem = function() {
|
|
19636
|
+
return item;
|
|
19637
|
+
};
|
|
19638
|
+
IData.prototype.withClientHints = function() {
|
|
19639
|
+
if (!NAVIGATOR_UADATA) {
|
|
19640
|
+
return item.parseCH().get();
|
|
19641
|
+
}
|
|
19642
|
+
return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function(res) {
|
|
19643
|
+
return item.setCH(new UACHData(res, false)).parseCH().get();
|
|
19644
|
+
});
|
|
19645
|
+
};
|
|
19646
|
+
IData.prototype.withFeatureCheck = function() {
|
|
19647
|
+
return item.detectFeature().get();
|
|
19648
|
+
};
|
|
19649
|
+
if (itemType != RESULT) {
|
|
19650
|
+
IData.prototype.is = function(strToCheck) {
|
|
19651
|
+
var is2 = false;
|
|
19652
|
+
for (var i in this) {
|
|
19653
|
+
if (this.hasOwnProperty(i) && !has(is_ignoreProps, i) && lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) == lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)) {
|
|
19654
|
+
is2 = true;
|
|
19655
|
+
if (strToCheck != TYPEOF.UNDEFINED)
|
|
19656
|
+
break;
|
|
19657
|
+
} else if (strToCheck == TYPEOF.UNDEFINED && is2) {
|
|
19658
|
+
is2 = !is2;
|
|
19659
|
+
break;
|
|
19660
|
+
}
|
|
19661
|
+
}
|
|
19662
|
+
return is2;
|
|
19663
|
+
};
|
|
19664
|
+
IData.prototype.toString = function() {
|
|
19665
|
+
var str = EMPTY;
|
|
19666
|
+
for (var i in toString_props) {
|
|
19667
|
+
if (typeof this[toString_props[i]] !== TYPEOF.UNDEFINED) {
|
|
19668
|
+
str += (str ? " " : EMPTY) + this[toString_props[i]];
|
|
19669
|
+
}
|
|
19670
|
+
}
|
|
19671
|
+
return str || TYPEOF.UNDEFINED;
|
|
19672
|
+
};
|
|
19673
|
+
}
|
|
19674
|
+
if (!NAVIGATOR_UADATA) {
|
|
19675
|
+
IData.prototype.then = function(cb) {
|
|
19676
|
+
var that = this;
|
|
19677
|
+
var IDataResolve = function() {
|
|
19678
|
+
for (var prop in that) {
|
|
19679
|
+
if (that.hasOwnProperty(prop)) {
|
|
19680
|
+
this[prop] = that[prop];
|
|
19681
|
+
}
|
|
19682
|
+
}
|
|
19683
|
+
};
|
|
19684
|
+
IDataResolve.prototype = {
|
|
19685
|
+
is: IData.prototype.is,
|
|
19686
|
+
toString: IData.prototype.toString
|
|
19687
|
+
};
|
|
19688
|
+
var resolveData = new IDataResolve();
|
|
19689
|
+
cb(resolveData);
|
|
19690
|
+
return resolveData;
|
|
19691
|
+
};
|
|
19692
|
+
}
|
|
19693
|
+
return new IData();
|
|
19694
|
+
};
|
|
19695
|
+
function UACHData(uach, isHttpUACH) {
|
|
19696
|
+
uach = uach || {};
|
|
19697
|
+
setProps.call(this, CH_ALL_VALUES);
|
|
19698
|
+
if (isHttpUACH) {
|
|
19699
|
+
setProps.call(this, [
|
|
19700
|
+
[BRANDS, itemListToArray(uach[CH])],
|
|
19701
|
+
[FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
|
|
19702
|
+
[MOBILE, /\?1/.test(uach[CH_MOBILE])],
|
|
19703
|
+
[MODEL, stripQuotes(uach[CH_MODEL])],
|
|
19704
|
+
[PLATFORM, stripQuotes(uach[CH_PLATFORM])],
|
|
19705
|
+
[PLATFORMVER, stripQuotes(uach[CH_PLATFORM_VER])],
|
|
19706
|
+
[ARCHITECTURE, stripQuotes(uach[CH_ARCH])],
|
|
19707
|
+
[FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
|
|
19708
|
+
[BITNESS, stripQuotes(uach[CH_BITNESS])]
|
|
19709
|
+
]);
|
|
19710
|
+
} else {
|
|
19711
|
+
for (var prop in uach) {
|
|
19712
|
+
if (this.hasOwnProperty(prop) && typeof uach[prop] !== TYPEOF.UNDEFINED)
|
|
19713
|
+
this[prop] = uach[prop];
|
|
19714
|
+
}
|
|
19715
|
+
}
|
|
19716
|
+
}
|
|
19717
|
+
function UAItem(itemType, ua, rgxMap, uaCH) {
|
|
19718
|
+
this.get = function(prop) {
|
|
19719
|
+
if (!prop)
|
|
19720
|
+
return this.data;
|
|
19721
|
+
return this.data.hasOwnProperty(prop) ? this.data[prop] : void 0;
|
|
19722
|
+
};
|
|
19723
|
+
this.set = function(prop, val) {
|
|
19724
|
+
this.data[prop] = val;
|
|
19725
|
+
return this;
|
|
19726
|
+
};
|
|
19727
|
+
this.setCH = function(ch) {
|
|
19728
|
+
this.uaCH = ch;
|
|
19729
|
+
return this;
|
|
19730
|
+
};
|
|
19731
|
+
this.detectFeature = function() {
|
|
19732
|
+
if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {
|
|
19733
|
+
switch (this.itemType) {
|
|
19734
|
+
case BROWSER:
|
|
19735
|
+
if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == TYPEOF.FUNCTION) {
|
|
19736
|
+
this.set(NAME, "Brave");
|
|
19737
|
+
}
|
|
19738
|
+
break;
|
|
19739
|
+
case DEVICE:
|
|
19740
|
+
if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {
|
|
19741
|
+
this.set(TYPE, MOBILE);
|
|
19742
|
+
}
|
|
19743
|
+
if (this.get(MODEL) == "Macintosh" && NAVIGATOR && typeof NAVIGATOR.standalone !== TYPEOF.UNDEFINED && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) {
|
|
19744
|
+
this.set(MODEL, "iPad").set(TYPE, TABLET);
|
|
19745
|
+
}
|
|
19746
|
+
break;
|
|
19747
|
+
case OS:
|
|
19748
|
+
if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {
|
|
19749
|
+
this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
|
|
19750
|
+
}
|
|
19751
|
+
break;
|
|
19752
|
+
case RESULT:
|
|
19753
|
+
var data3 = this.data;
|
|
19754
|
+
var detect = function(itemType2) {
|
|
19755
|
+
return data3[itemType2].getItem().detectFeature().get();
|
|
19756
|
+
};
|
|
19757
|
+
this.set(BROWSER, detect(BROWSER)).set(CPU, detect(CPU)).set(DEVICE, detect(DEVICE)).set(ENGINE, detect(ENGINE)).set(OS, detect(OS));
|
|
19758
|
+
}
|
|
19759
|
+
}
|
|
19760
|
+
return this;
|
|
19761
|
+
};
|
|
19762
|
+
this.parseUA = function() {
|
|
19763
|
+
if (this.itemType != RESULT) {
|
|
19764
|
+
rgxMapper.call(this.data, this.ua, this.rgxMap);
|
|
19765
|
+
}
|
|
19766
|
+
switch (this.itemType) {
|
|
19767
|
+
case BROWSER:
|
|
19768
|
+
this.set(MAJOR, majorize(this.get(VERSION)));
|
|
19769
|
+
break;
|
|
19770
|
+
case OS:
|
|
19771
|
+
if (this.get(NAME) == "iOS" && this.get(VERSION) == "18.6") {
|
|
19772
|
+
var realVersion = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
19773
|
+
if (realVersion && parseInt(realVersion[1].substring(0, 2), 10) >= 26) {
|
|
19774
|
+
this.set(VERSION, realVersion[1]);
|
|
19775
|
+
}
|
|
19776
|
+
}
|
|
19777
|
+
break;
|
|
19778
|
+
}
|
|
19779
|
+
return this;
|
|
19780
|
+
};
|
|
19781
|
+
this.parseCH = function() {
|
|
19782
|
+
var uaCH2 = this.uaCH, rgxMap2 = this.rgxMap;
|
|
19783
|
+
switch (this.itemType) {
|
|
19784
|
+
case BROWSER:
|
|
19785
|
+
case ENGINE:
|
|
19786
|
+
var brands = uaCH2[FULLVERLIST] || uaCH2[BRANDS], prevName;
|
|
19787
|
+
if (brands) {
|
|
19788
|
+
for (var i = 0; i < brands.length; i++) {
|
|
19789
|
+
var brandName = brands[i].brand || brands[i], brandVersion = brands[i].version;
|
|
19790
|
+
if (this.itemType == BROWSER && !/not.a.brand/i.test(brandName) && (!prevName || /Chrom/.test(prevName) && brandName != CHROMIUM || prevName == EDGE && /WebView2/.test(brandName))) {
|
|
19791
|
+
brandName = strMapper(brandName, browserHintsMap);
|
|
19792
|
+
prevName = this.get(NAME);
|
|
19793
|
+
if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) {
|
|
19794
|
+
this.set(NAME, brandName).set(VERSION, brandVersion).set(MAJOR, majorize(brandVersion));
|
|
19795
|
+
}
|
|
19796
|
+
prevName = brandName;
|
|
19797
|
+
}
|
|
19798
|
+
if (this.itemType == ENGINE && brandName == CHROMIUM) {
|
|
19799
|
+
this.set(VERSION, brandVersion);
|
|
19800
|
+
}
|
|
19801
|
+
}
|
|
19802
|
+
}
|
|
19803
|
+
break;
|
|
19804
|
+
case CPU:
|
|
19805
|
+
var archName = uaCH2[ARCHITECTURE];
|
|
19806
|
+
if (archName) {
|
|
19807
|
+
if (archName && uaCH2[BITNESS] == "64")
|
|
19808
|
+
archName += "64";
|
|
19809
|
+
rgxMapper.call(this.data, archName + ";", rgxMap2);
|
|
19810
|
+
}
|
|
19811
|
+
break;
|
|
19812
|
+
case DEVICE:
|
|
19813
|
+
if (uaCH2[MOBILE]) {
|
|
19814
|
+
this.set(TYPE, MOBILE);
|
|
19815
|
+
}
|
|
19816
|
+
if (uaCH2[MODEL]) {
|
|
19817
|
+
this.set(MODEL, uaCH2[MODEL]);
|
|
19818
|
+
if (!this.get(TYPE) || !this.get(VENDOR)) {
|
|
19819
|
+
var reParse = {};
|
|
19820
|
+
rgxMapper.call(reParse, "droid 9; " + uaCH2[MODEL] + ")", rgxMap2);
|
|
19821
|
+
if (!this.get(TYPE) && !!reParse.type) {
|
|
19822
|
+
this.set(TYPE, reParse.type);
|
|
19823
|
+
}
|
|
19824
|
+
if (!this.get(VENDOR) && !!reParse.vendor) {
|
|
19825
|
+
this.set(VENDOR, reParse.vendor);
|
|
19826
|
+
}
|
|
19827
|
+
}
|
|
19828
|
+
}
|
|
19829
|
+
if (uaCH2[FORMFACTORS]) {
|
|
19830
|
+
var ff;
|
|
19831
|
+
if (typeof uaCH2[FORMFACTORS] !== "string") {
|
|
19832
|
+
var idx = 0;
|
|
19833
|
+
while (!ff && idx < uaCH2[FORMFACTORS].length) {
|
|
19834
|
+
ff = strMapper(uaCH2[FORMFACTORS][idx++], formFactorsMap);
|
|
19835
|
+
}
|
|
19836
|
+
} else {
|
|
19837
|
+
ff = strMapper(uaCH2[FORMFACTORS], formFactorsMap);
|
|
19838
|
+
}
|
|
19839
|
+
this.set(TYPE, ff);
|
|
19840
|
+
}
|
|
19841
|
+
break;
|
|
19842
|
+
case OS:
|
|
19843
|
+
var osName = uaCH2[PLATFORM];
|
|
19844
|
+
if (osName) {
|
|
19845
|
+
var osVersion = uaCH2[PLATFORMVER];
|
|
19846
|
+
if (osName == WINDOWS)
|
|
19847
|
+
osVersion = parseInt(majorize(osVersion), 10) >= 13 ? "11" : "10";
|
|
19848
|
+
this.set(NAME, osName).set(VERSION, osVersion);
|
|
19849
|
+
}
|
|
19850
|
+
if (this.get(NAME) == WINDOWS && uaCH2[MODEL] == "Xbox") {
|
|
19851
|
+
this.set(NAME, "Xbox").set(VERSION, void 0);
|
|
19852
|
+
}
|
|
19853
|
+
break;
|
|
19854
|
+
case RESULT:
|
|
19855
|
+
var data3 = this.data;
|
|
19856
|
+
var parse2 = function(itemType2) {
|
|
19857
|
+
return data3[itemType2].getItem().setCH(uaCH2).parseCH().get();
|
|
19858
|
+
};
|
|
19859
|
+
this.set(BROWSER, parse2(BROWSER)).set(CPU, parse2(CPU)).set(DEVICE, parse2(DEVICE)).set(ENGINE, parse2(ENGINE)).set(OS, parse2(OS));
|
|
19860
|
+
}
|
|
19861
|
+
return this;
|
|
19862
|
+
};
|
|
19863
|
+
setProps.call(this, [
|
|
19864
|
+
["itemType", itemType],
|
|
19865
|
+
["ua", ua],
|
|
19866
|
+
["uaCH", uaCH],
|
|
19867
|
+
["rgxMap", rgxMap],
|
|
19868
|
+
["data", createIData(this, itemType)]
|
|
19869
|
+
]);
|
|
19870
|
+
return this;
|
|
19871
|
+
}
|
|
19872
|
+
function UAParser(ua, extensions, headers) {
|
|
19873
|
+
if (typeof ua === TYPEOF.OBJECT) {
|
|
19874
|
+
if (isExtensions(ua, true)) {
|
|
19875
|
+
if (typeof extensions === TYPEOF.OBJECT) {
|
|
19876
|
+
headers = extensions;
|
|
19877
|
+
}
|
|
19878
|
+
extensions = ua;
|
|
19879
|
+
} else {
|
|
19880
|
+
headers = ua;
|
|
19881
|
+
extensions = void 0;
|
|
19882
|
+
}
|
|
19883
|
+
ua = void 0;
|
|
19884
|
+
} else if (typeof ua === TYPEOF.STRING && !isExtensions(extensions, true)) {
|
|
19885
|
+
headers = extensions;
|
|
19886
|
+
extensions = void 0;
|
|
19887
|
+
}
|
|
19888
|
+
if (headers) {
|
|
19889
|
+
if (typeof headers.append === TYPEOF.FUNCTION) {
|
|
19890
|
+
var kv = {};
|
|
19891
|
+
headers.forEach(function(v, k2) {
|
|
19892
|
+
kv[String(k2).toLowerCase()] = v;
|
|
19893
|
+
});
|
|
19894
|
+
headers = kv;
|
|
19895
|
+
} else {
|
|
19896
|
+
var normalized = {};
|
|
19897
|
+
for (var header in headers) {
|
|
19898
|
+
if (headers.hasOwnProperty(header)) {
|
|
19899
|
+
normalized[String(header).toLowerCase()] = headers[header];
|
|
19900
|
+
}
|
|
19901
|
+
}
|
|
19902
|
+
headers = normalized;
|
|
19903
|
+
}
|
|
19904
|
+
}
|
|
19905
|
+
if (!(this instanceof UAParser)) {
|
|
19906
|
+
return new UAParser(ua, extensions, headers).getResult();
|
|
19907
|
+
}
|
|
19908
|
+
var userAgent = typeof ua === TYPEOF.STRING ? ua : (
|
|
19909
|
+
// Passed user-agent string
|
|
19910
|
+
headers && headers[USER_AGENT] ? headers[USER_AGENT] : (
|
|
19911
|
+
// User-Agent from passed headers
|
|
19912
|
+
NAVIGATOR && NAVIGATOR.userAgent ? NAVIGATOR.userAgent : (
|
|
19913
|
+
// navigator.userAgent
|
|
19914
|
+
EMPTY
|
|
19915
|
+
)
|
|
19916
|
+
)
|
|
19917
|
+
), httpUACH = new UACHData(headers, true), regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes, createItemFunc = function(itemType) {
|
|
19918
|
+
if (itemType == RESULT) {
|
|
19919
|
+
return function() {
|
|
19920
|
+
return new UAItem(itemType, userAgent, regexMap, httpUACH).set("ua", userAgent).set(BROWSER, this.getBrowser()).set(CPU, this.getCPU()).set(DEVICE, this.getDevice()).set(ENGINE, this.getEngine()).set(OS, this.getOS()).get();
|
|
19921
|
+
};
|
|
19922
|
+
} else {
|
|
19923
|
+
return function() {
|
|
19924
|
+
return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();
|
|
19925
|
+
};
|
|
19926
|
+
}
|
|
19927
|
+
};
|
|
19928
|
+
setProps.call(this, [
|
|
19929
|
+
["getBrowser", createItemFunc(BROWSER)],
|
|
19930
|
+
["getCPU", createItemFunc(CPU)],
|
|
19931
|
+
["getDevice", createItemFunc(DEVICE)],
|
|
19932
|
+
["getEngine", createItemFunc(ENGINE)],
|
|
19933
|
+
["getOS", createItemFunc(OS)],
|
|
19934
|
+
["getResult", createItemFunc(RESULT)],
|
|
19935
|
+
["getUA", function() {
|
|
19936
|
+
return userAgent;
|
|
19937
|
+
}],
|
|
19938
|
+
["setUA", function(ua2) {
|
|
19939
|
+
if (isString(ua2))
|
|
19940
|
+
userAgent = trim(ua2, UA_MAX_LENGTH);
|
|
19941
|
+
return this;
|
|
19942
|
+
}]
|
|
19943
|
+
]).setUA(userAgent);
|
|
19944
|
+
return this;
|
|
19945
|
+
}
|
|
19946
|
+
UAParser.VERSION = LIBVERSION;
|
|
19947
|
+
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR, TYPE]);
|
|
19948
|
+
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
19949
|
+
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
19950
|
+
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
19951
|
+
|
|
19358
19952
|
// ../hms-video-store/dist/index.js
|
|
19359
|
-
var import_ua_parser_js = __toESM(require_ua_parser());
|
|
19360
19953
|
var import_lodash3 = __toESM(require_lodash2());
|
|
19361
|
-
import { v4 as
|
|
19362
|
-
import { v4 as
|
|
19363
|
-
import { v4 as
|
|
19954
|
+
import { v4 as Lo } from "uuid";
|
|
19955
|
+
import { v4 as Ho } from "uuid";
|
|
19956
|
+
import { v4 as Oo } from "uuid";
|
|
19364
19957
|
|
|
19365
19958
|
// ../../node_modules/webrtc-adapter/src/js/adapter_core.js
|
|
19366
19959
|
init_define_process_env();
|
|
@@ -19598,7 +20191,7 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19598
20191
|
if (typeof c2 !== "object" || c2.mandatory || c2.optional) {
|
|
19599
20192
|
return c2;
|
|
19600
20193
|
}
|
|
19601
|
-
const
|
|
20194
|
+
const cc2 = {};
|
|
19602
20195
|
Object.keys(c2).forEach((key) => {
|
|
19603
20196
|
if (key === "require" || key === "advanced" || key === "mediaSource") {
|
|
19604
20197
|
return;
|
|
@@ -19614,35 +20207,35 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19614
20207
|
return name === "deviceId" ? "sourceId" : name;
|
|
19615
20208
|
};
|
|
19616
20209
|
if (r.ideal !== void 0) {
|
|
19617
|
-
|
|
20210
|
+
cc2.optional = cc2.optional || [];
|
|
19618
20211
|
let oc2 = {};
|
|
19619
20212
|
if (typeof r.ideal === "number") {
|
|
19620
20213
|
oc2[oldname_("min", key)] = r.ideal;
|
|
19621
|
-
|
|
20214
|
+
cc2.optional.push(oc2);
|
|
19622
20215
|
oc2 = {};
|
|
19623
20216
|
oc2[oldname_("max", key)] = r.ideal;
|
|
19624
|
-
|
|
20217
|
+
cc2.optional.push(oc2);
|
|
19625
20218
|
} else {
|
|
19626
20219
|
oc2[oldname_("", key)] = r.ideal;
|
|
19627
|
-
|
|
20220
|
+
cc2.optional.push(oc2);
|
|
19628
20221
|
}
|
|
19629
20222
|
}
|
|
19630
20223
|
if (r.exact !== void 0 && typeof r.exact !== "number") {
|
|
19631
|
-
|
|
19632
|
-
|
|
20224
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20225
|
+
cc2.mandatory[oldname_("", key)] = r.exact;
|
|
19633
20226
|
} else {
|
|
19634
20227
|
["min", "max"].forEach((mix) => {
|
|
19635
20228
|
if (r[mix] !== void 0) {
|
|
19636
|
-
|
|
19637
|
-
|
|
20229
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20230
|
+
cc2.mandatory[oldname_(mix, key)] = r[mix];
|
|
19638
20231
|
}
|
|
19639
20232
|
});
|
|
19640
20233
|
}
|
|
19641
20234
|
});
|
|
19642
20235
|
if (c2.advanced) {
|
|
19643
|
-
|
|
20236
|
+
cc2.optional = (cc2.optional || []).concat(c2.advanced);
|
|
19644
20237
|
}
|
|
19645
|
-
return
|
|
20238
|
+
return cc2;
|
|
19646
20239
|
};
|
|
19647
20240
|
const shimConstraints_ = function(constraints, func) {
|
|
19648
20241
|
if (browserDetails.version >= 61) {
|
|
@@ -21185,15 +21778,15 @@ function shimSendThrowTypeError(window2) {
|
|
|
21185
21778
|
if (!(window2.RTCPeerConnection && "createDataChannel" in window2.RTCPeerConnection.prototype)) {
|
|
21186
21779
|
return;
|
|
21187
21780
|
}
|
|
21188
|
-
function wrapDcSend(
|
|
21189
|
-
const origDataChannelSend =
|
|
21190
|
-
|
|
21781
|
+
function wrapDcSend(dc2, pc) {
|
|
21782
|
+
const origDataChannelSend = dc2.send;
|
|
21783
|
+
dc2.send = function send() {
|
|
21191
21784
|
const data3 = arguments[0];
|
|
21192
21785
|
const length = data3.length || data3.size || data3.byteLength;
|
|
21193
|
-
if (
|
|
21786
|
+
if (dc2.readyState === "open" && pc.sctp && length > pc.sctp.maxMessageSize) {
|
|
21194
21787
|
throw new TypeError("Message too large (can send a maximum of " + pc.sctp.maxMessageSize + " bytes)");
|
|
21195
21788
|
}
|
|
21196
|
-
return origDataChannelSend.apply(
|
|
21789
|
+
return origDataChannelSend.apply(dc2, arguments);
|
|
21197
21790
|
};
|
|
21198
21791
|
}
|
|
21199
21792
|
const origCreateDataChannel = window2.RTCPeerConnection.prototype.createDataChannel;
|
|
@@ -21457,42 +22050,42 @@ var adapter = adapterFactory({ window: typeof window === "undefined" ? void 0 :
|
|
|
21457
22050
|
|
|
21458
22051
|
// ../hms-video-store/dist/index.js
|
|
21459
22052
|
var import_lodash4 = __toESM(require_lodash2());
|
|
21460
|
-
import { v4 as
|
|
21461
|
-
import { v4 as
|
|
21462
|
-
import { EventEmitter2 as
|
|
21463
|
-
var
|
|
21464
|
-
import { EventEmitter2 as
|
|
21465
|
-
import { v4 as En } from "uuid";
|
|
21466
|
-
import { EventEmitter2 as Pn } from "eventemitter2";
|
|
21467
|
-
import An from "eventemitter2";
|
|
22053
|
+
import { v4 as Fo } from "uuid";
|
|
22054
|
+
import { v4 as jo } from "uuid";
|
|
22055
|
+
import { EventEmitter2 as Jo } from "eventemitter2";
|
|
22056
|
+
var Zt = __toESM(require_lib());
|
|
22057
|
+
import { EventEmitter2 as kn } from "eventemitter2";
|
|
21468
22058
|
import { v4 as In } from "uuid";
|
|
21469
|
-
import {
|
|
21470
|
-
|
|
21471
|
-
|
|
21472
|
-
|
|
21473
|
-
var
|
|
21474
|
-
var
|
|
21475
|
-
var
|
|
21476
|
-
var
|
|
22059
|
+
import { EventEmitter2 as Rn } from "eventemitter2";
|
|
22060
|
+
import Cn from "eventemitter2";
|
|
22061
|
+
import { v4 as Ln } from "uuid";
|
|
22062
|
+
import { v4 as _n } from "uuid";
|
|
22063
|
+
var go = Object.defineProperty;
|
|
22064
|
+
var To = Object.defineProperties;
|
|
22065
|
+
var fo = Object.getOwnPropertyDescriptors;
|
|
22066
|
+
var ni = Object.getOwnPropertySymbols;
|
|
22067
|
+
var vs = Object.prototype.hasOwnProperty;
|
|
22068
|
+
var Ms = Object.prototype.propertyIsEnumerable;
|
|
22069
|
+
var fs = (a2, e, t) => e in a2 ? go(a2, e, { enumerable: true, configurable: true, writable: true, value: t }) : a2[e] = t;
|
|
21477
22070
|
var m = (a2, e) => {
|
|
21478
22071
|
for (var t in e || (e = {}))
|
|
21479
|
-
|
|
21480
|
-
if (
|
|
21481
|
-
for (var t of
|
|
21482
|
-
|
|
22072
|
+
vs.call(e, t) && fs(a2, t, e[t]);
|
|
22073
|
+
if (ni)
|
|
22074
|
+
for (var t of ni(e))
|
|
22075
|
+
Ms.call(e, t) && fs(a2, t, e[t]);
|
|
21483
22076
|
return a2;
|
|
21484
22077
|
};
|
|
21485
|
-
var M = (a2, e) =>
|
|
21486
|
-
var
|
|
22078
|
+
var M = (a2, e) => To(a2, fo(e));
|
|
22079
|
+
var Er = (a2, e) => {
|
|
21487
22080
|
var t = {};
|
|
21488
22081
|
for (var i in a2)
|
|
21489
|
-
|
|
21490
|
-
if (a2 != null &&
|
|
21491
|
-
for (var i of
|
|
21492
|
-
e.indexOf(i) < 0 &&
|
|
22082
|
+
vs.call(a2, i) && e.indexOf(i) < 0 && (t[i] = a2[i]);
|
|
22083
|
+
if (a2 != null && ni)
|
|
22084
|
+
for (var i of ni(a2))
|
|
22085
|
+
e.indexOf(i) < 0 && Ms.call(a2, i) && (t[i] = a2[i]);
|
|
21493
22086
|
return t;
|
|
21494
22087
|
};
|
|
21495
|
-
var
|
|
22088
|
+
var yo = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
|
|
21496
22089
|
var c = (a2, e, t) => new Promise((i, r) => {
|
|
21497
22090
|
var s = (d) => {
|
|
21498
22091
|
try {
|
|
@@ -21509,51 +22102,51 @@ var c = (a2, e, t) => new Promise((i, r) => {
|
|
|
21509
22102
|
}, n = (d) => d.done ? i(d.value) : Promise.resolve(d.value).then(s, o);
|
|
21510
22103
|
n((t = t.apply(a2, e)).next());
|
|
21511
22104
|
});
|
|
21512
|
-
var
|
|
21513
|
-
|
|
22105
|
+
var Cr = yo((id, Co) => {
|
|
22106
|
+
Co.exports = { version: "0.12.40-alpha.0", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist", "src"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^2.0.6", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
|
|
21514
22107
|
});
|
|
21515
|
-
var
|
|
21516
|
-
var
|
|
21517
|
-
var
|
|
21518
|
-
var
|
|
21519
|
-
var
|
|
21520
|
-
function
|
|
22108
|
+
var Pr = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(Pr || {});
|
|
22109
|
+
var ko = ((e) => (e.CHAT = "chat", e))(ko || {});
|
|
22110
|
+
var ys = ((t) => (t.INFO = "info", t.ERROR = "error", t))(ys || {});
|
|
22111
|
+
var br = ((w) => (w.PEER_JOINED = "PEER_JOINED", w.PEER_LEFT = "PEER_LEFT", w.PEER_LIST = "PEER_LIST", w.NEW_MESSAGE = "NEW_MESSAGE", w.ERROR = "ERROR", w.RECONNECTING = "RECONNECTING", w.RECONNECTED = "RECONNECTED", w.TRACK_ADDED = "TRACK_ADDED", w.TRACK_REMOVED = "TRACK_REMOVED", w.TRACK_MUTED = "TRACK_MUTED", w.TRACK_UNMUTED = "TRACK_UNMUTED", w.TRACK_DEGRADED = "TRACK_DEGRADED", w.TRACK_RESTORED = "TRACK_RESTORED", w.TRACK_DESCRIPTION_CHANGED = "TRACK_DESCRIPTION_CHANGED", w.ROLE_UPDATED = "ROLE_UPDATED", w.CHANGE_TRACK_STATE_REQUEST = "CHANGE_TRACK_STATE_REQUEST", w.CHANGE_MULTI_TRACK_STATE_REQUEST = "CHANGE_MULTI_TRACK_STATE_REQUEST", w.ROOM_ENDED = "ROOM_ENDED", w.REMOVED_FROM_ROOM = "REMOVED_FROM_ROOM", w.DEVICE_CHANGE_UPDATE = "DEVICE_CHANGE_UPDATE", w.PLAYLIST_TRACK_ENDED = "PLAYLIST_TRACK_ENDED", w.NAME_UPDATED = "NAME_UPDATED", w.METADATA_UPDATED = "METADATA_UPDATED", w.POLL_CREATED = "POLL_CREATED", w.POLL_STARTED = "POLL_STARTED", w.POLL_STOPPED = "POLL_STOPPED", w.POLL_VOTES_UPDATED = "POLL_VOTES_UPDATED", w.POLLS_LIST = "POLLS_LIST", w.HAND_RAISE_CHANGED = "HAND_RAISE_CHANGED", w.TRANSCRIPTION_STATE_UPDATED = "TRANSCRIPTION_STATE_UPDATED", w))(br || {});
|
|
22112
|
+
var ks = ((t) => (t.audio = "audio", t.video = "video", t))(ks || {});
|
|
22113
|
+
function Ge(a2, e) {
|
|
21521
22114
|
let t, i;
|
|
21522
22115
|
if (e)
|
|
21523
22116
|
for (let r of e.auxiliaryTracks) {
|
|
21524
22117
|
let s = a2[r];
|
|
21525
|
-
|
|
22118
|
+
Eo(s) && (i = Tt(s) ? s : i, t = ft(s) ? s : t);
|
|
21526
22119
|
}
|
|
21527
22120
|
return { video: t, audio: i };
|
|
21528
22121
|
}
|
|
21529
|
-
function
|
|
22122
|
+
function Tt(a2) {
|
|
21530
22123
|
return a2 && a2.type === "audio";
|
|
21531
22124
|
}
|
|
21532
|
-
function
|
|
22125
|
+
function ft(a2) {
|
|
21533
22126
|
return a2 && a2.type === "video";
|
|
21534
22127
|
}
|
|
21535
|
-
function
|
|
22128
|
+
function Eo(a2) {
|
|
21536
22129
|
return a2 && a2.source === "screen";
|
|
21537
22130
|
}
|
|
21538
|
-
function
|
|
22131
|
+
function li(a2) {
|
|
21539
22132
|
return a2 && a2.source === "audioplaylist";
|
|
21540
22133
|
}
|
|
21541
|
-
function
|
|
22134
|
+
function vt(a2) {
|
|
21542
22135
|
return a2 && a2.source === "videoplaylist";
|
|
21543
22136
|
}
|
|
21544
|
-
function
|
|
22137
|
+
function Es(a2) {
|
|
21545
22138
|
return a2 ? !!(a2 != null && a2.degraded) : false;
|
|
21546
22139
|
}
|
|
21547
|
-
function
|
|
22140
|
+
function Ye(a2, e) {
|
|
21548
22141
|
return e && a2.tracks[e] ? a2.tracks[e].enabled : false;
|
|
21549
22142
|
}
|
|
21550
|
-
function
|
|
22143
|
+
function Mt(a2) {
|
|
21551
22144
|
var r;
|
|
21552
22145
|
let e = false, t = false, i = false;
|
|
21553
22146
|
return (r = a2 == null ? void 0 : a2.publishParams) != null && r.allowed && (e = a2.publishParams.allowed.includes("video"), t = a2.publishParams.allowed.includes("audio"), i = a2.publishParams.allowed.includes("screen")), { video: e, audio: t, screen: i };
|
|
21554
22147
|
}
|
|
21555
|
-
var
|
|
21556
|
-
var
|
|
22148
|
+
var bs = ((d) => (d[d.VERBOSE = 0] = "VERBOSE", d[d.DEBUG = 1] = "DEBUG", d[d.INFO = 2] = "INFO", d[d.WARN = 3] = "WARN", d[d.TIME = 4] = "TIME", d[d.TIMEEND = 5] = "TIMEEND", d[d.ERROR = 6] = "ERROR", d[d.NONE = 7] = "NONE", d))(bs || {});
|
|
22149
|
+
var Po = typeof window != "undefined" && typeof window.expect != "undefined";
|
|
21557
22150
|
var l = class {
|
|
21558
22151
|
static v(e, ...t) {
|
|
21559
22152
|
this.log(0, e, ...t);
|
|
@@ -21619,31 +22212,46 @@ var l = class {
|
|
|
21619
22212
|
}
|
|
21620
22213
|
}
|
|
21621
22214
|
};
|
|
21622
|
-
l.level =
|
|
21623
|
-
var
|
|
21624
|
-
var
|
|
21625
|
-
var
|
|
21626
|
-
var
|
|
21627
|
-
|
|
21628
|
-
|
|
21629
|
-
|
|
21630
|
-
|
|
21631
|
-
|
|
21632
|
-
|
|
22215
|
+
l.level = Po ? 7 : 0;
|
|
22216
|
+
var Ar = new UAParser();
|
|
22217
|
+
var yt = null;
|
|
22218
|
+
var Ir = null;
|
|
22219
|
+
var x = typeof window != "undefined";
|
|
22220
|
+
if (x)
|
|
22221
|
+
try {
|
|
22222
|
+
let a2 = Ar.getResult(), e = a2.withClientHints();
|
|
22223
|
+
e && typeof e.then == "function" ? (Ir = e, Ir.then((t) => {
|
|
22224
|
+
yt = t;
|
|
22225
|
+
}).catch(() => {
|
|
22226
|
+
yt = a2;
|
|
22227
|
+
})) : (l.d("UAParser", "Client Hints not supported, using standard UA parsing"), yt = e);
|
|
22228
|
+
} catch (a2) {
|
|
22229
|
+
yt = Ar.getResult();
|
|
22230
|
+
}
|
|
22231
|
+
var De = () => yt || Ar.getResult();
|
|
22232
|
+
var he = { getBrowser: () => De().browser, getOS: () => De().os, getDevice: () => De().device, getCPU: () => De().cpu, getEngine: () => De().engine, getUA: () => De().ua, getResult: De, withClientHints: () => Ir || Promise.resolve(De()) };
|
|
21633
22233
|
var As;
|
|
21634
|
-
var
|
|
22234
|
+
var We = typeof window == "undefined" && !((As = he.getBrowser().name) != null && As.toLowerCase().includes("electron"));
|
|
22235
|
+
var Ao = () => !We;
|
|
22236
|
+
var bc = Ao();
|
|
21635
22237
|
var Is;
|
|
21636
22238
|
var Rs;
|
|
21637
|
-
var
|
|
21638
|
-
var
|
|
21639
|
-
|
|
21640
|
-
|
|
22239
|
+
var Ns = (Rs = (Is = he.getBrowser()) == null ? void 0 : Is.name) == null ? void 0 : Rs.toLowerCase().includes("safari");
|
|
22240
|
+
var Hs;
|
|
22241
|
+
var Cs;
|
|
22242
|
+
var Os = ((Cs = (Hs = he.getBrowser()) == null ? void 0 : Hs.name) == null ? void 0 : Cs.toLowerCase()) === "firefox";
|
|
22243
|
+
var Ls;
|
|
22244
|
+
var Ds;
|
|
22245
|
+
var xs = ((Ds = (Ls = he.getEngine()) == null ? void 0 : Ls.name) == null ? void 0 : Ds.toLowerCase()) === "blink";
|
|
22246
|
+
var Us = ((i) => (i.CUSTOM = "CUSTOM", i.LOCAL = "LOCAL", i.HMS = "HMS", i))(Us || {});
|
|
22247
|
+
function Io() {
|
|
22248
|
+
if (x && window) {
|
|
21641
22249
|
let a2 = window.location.hostname;
|
|
21642
22250
|
return a2 === "localhost" || a2 === "127.0.0.1" ? "LOCAL" : a2.includes("app.100ms.live") ? "HMS" : "CUSTOM";
|
|
21643
22251
|
}
|
|
21644
22252
|
return "CUSTOM";
|
|
21645
22253
|
}
|
|
21646
|
-
var
|
|
22254
|
+
var Ze = Io();
|
|
21647
22255
|
var k = { WebSocketConnectionErrors: { FAILED_TO_CONNECT: 1e3, WEBSOCKET_CONNECTION_LOST: 1003, ABNORMAL_CLOSE: 1006 }, APIErrors: { SERVER_ERRORS: 2e3, INIT_CONFIG_NOT_AVAILABLE: 2002, ENDPOINT_UNREACHABLE: 2003, INVALID_TOKEN_FORMAT: 2004 }, TracksErrors: { GENERIC_TRACK: 3e3, CANT_ACCESS_CAPTURE_DEVICE: 3001, DEVICE_NOT_AVAILABLE: 3002, DEVICE_IN_USE: 3003, DEVICE_LOST_MIDWAY: 3004, NOTHING_TO_RETURN: 3005, INVALID_VIDEO_SETTINGS: 3006, CODEC_CHANGE_NOT_PERMITTED: 3007, AUTOPLAY_ERROR: 3008, OVER_CONSTRAINED: 3009, NO_AUDIO_DETECTED: 3010, SYSTEM_DENIED_PERMISSION: 3011, CURRENT_TAB_NOT_SHARED: 3012, AUDIO_PLAYBACK_ERROR: 3013, SELECTED_DEVICE_MISSING: 3014, NO_DATA: 3015 }, WebrtcErrors: { CREATE_OFFER_FAILED: 4001, CREATE_ANSWER_FAILED: 4002, SET_LOCAL_DESCRIPTION_FAILED: 4003, SET_REMOTE_DESCRIPTION_FAILED: 4004, ICE_FAILURE: 4005, ICE_DISCONNECTED: 4006, STATS_FAILED: 4007 }, WebsocketMethodErrors: { SERVER_ERRORS: 5e3, ALREADY_JOINED: 5001, CANNOT_JOIN_PREVIEW_IN_PROGRESS: 5002 }, GenericErrors: { NOT_CONNECTED: 6e3, SIGNALLING: 6001, UNKNOWN: 6002, NOT_READY: 6003, JSON_PARSING_FAILED: 6004, TRACK_METADATA_MISSING: 6005, RTC_TRACK_MISSING: 6006, PEER_METADATA_MISSING: 6007, INVALID_ROLE: 6008, PREVIEW_IN_PROGRESS: 6009, MISSING_MEDIADEVICES: 6010, MISSING_RTCPEERCONNECTION: 6011, LOCAL_STORAGE_ACCESS_DENIED: 6012, VALIDATION_FAILED: 6013 }, PlaylistErrors: { NO_ENTRY_TO_PLAY: 8001, NO_ENTRY_IS_PLAYING: 8002 } };
|
|
21648
22256
|
var E = class a extends Error {
|
|
21649
22257
|
constructor(t, i, r, s, o, n = false) {
|
|
@@ -21700,8 +22308,8 @@ var W = class extends E {
|
|
|
21700
22308
|
}`;
|
|
21701
22309
|
}
|
|
21702
22310
|
};
|
|
21703
|
-
var
|
|
21704
|
-
var
|
|
22311
|
+
var Bs = ((r) => (r.AUDIO = "audio", r.VIDEO = "video", r.AUDIO_VIDEO = "audio, video", r.SCREEN = "screen", r))(Bs || {});
|
|
22312
|
+
var Ro = ["join", "offer", "answer", "trickle", "on-error", "JOIN"];
|
|
21705
22313
|
var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
21706
22314
|
return new E(k.WebSocketConnectionErrors.FAILED_TO_CONNECT, "WebsocketFailedToConnect", a2, `[WS]: ${e}`, `[WS]: ${e}`);
|
|
21707
22315
|
}, WebSocketConnectionLost(a2, e = "") {
|
|
@@ -21763,7 +22371,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21763
22371
|
}, StatsFailed(a2, e = "") {
|
|
21764
22372
|
return new E(k.WebrtcErrors.STATS_FAILED, "StatsFailed", a2, `Failed to WebRTC get stats - ${e}`, e);
|
|
21765
22373
|
} }, WebsocketMethodErrors: { ServerErrors(a2, e, t) {
|
|
21766
|
-
return new E(a2, "ServerErrors", e, t, t,
|
|
22374
|
+
return new E(a2, "ServerErrors", e, t, t, Ro.includes(e));
|
|
21767
22375
|
}, AlreadyJoined(a2, e = "") {
|
|
21768
22376
|
return new E(k.WebsocketMethodErrors.ALREADY_JOINED, "AlreadyJoined", a2, "[JOIN]: You have already joined this room.", e);
|
|
21769
22377
|
}, CannotJoinPreviewInProgress(a2, e = "") {
|
|
@@ -21811,7 +22419,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21811
22419
|
}, NoEntryPlaying(a2, e) {
|
|
21812
22420
|
return new E(k.PlaylistErrors.NO_ENTRY_IS_PLAYING, "NoEntryIsPlaying", a2, "No entry is playing at this time", e);
|
|
21813
22421
|
} } };
|
|
21814
|
-
var
|
|
22422
|
+
var Hr = class {
|
|
21815
22423
|
constructor() {
|
|
21816
22424
|
this.valuesMap = /* @__PURE__ */ new Map();
|
|
21817
22425
|
}
|
|
@@ -21836,9 +22444,9 @@ var br = class {
|
|
|
21836
22444
|
return this.valuesMap.size;
|
|
21837
22445
|
}
|
|
21838
22446
|
};
|
|
21839
|
-
var
|
|
22447
|
+
var Vs = () => {
|
|
21840
22448
|
try {
|
|
21841
|
-
|
|
22449
|
+
x && !localStorage && (window.localStorage = new Hr());
|
|
21842
22450
|
} catch (a2) {
|
|
21843
22451
|
l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied());
|
|
21844
22452
|
}
|
|
@@ -21850,7 +22458,7 @@ var ve = class {
|
|
|
21850
22458
|
}
|
|
21851
22459
|
getStorage() {
|
|
21852
22460
|
try {
|
|
21853
|
-
return
|
|
22461
|
+
return x && !this.storage && (Vs(), this.storage = window.localStorage), this.storage;
|
|
21854
22462
|
} catch (e) {
|
|
21855
22463
|
return l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied()), null;
|
|
21856
22464
|
}
|
|
@@ -21870,32 +22478,32 @@ var ve = class {
|
|
|
21870
22478
|
(e = this.getStorage()) == null || e.removeItem(this.key);
|
|
21871
22479
|
}
|
|
21872
22480
|
};
|
|
21873
|
-
var
|
|
22481
|
+
var ui = () => {
|
|
21874
22482
|
let a2, e = new ve("hms-analytics-deviceId"), t = e.get();
|
|
21875
|
-
return t ? a2 = t : (a2 =
|
|
22483
|
+
return t ? a2 = t : (a2 = Ho(), e.set(a2)), a2;
|
|
21876
22484
|
};
|
|
21877
22485
|
function me(a2) {
|
|
21878
22486
|
return a2 != null;
|
|
21879
22487
|
}
|
|
21880
|
-
var
|
|
21881
|
-
function
|
|
21882
|
-
let t = "web", i =
|
|
21883
|
-
if (
|
|
21884
|
-
return
|
|
21885
|
-
let r = he.getOS(), s = he.getDevice(), o = he.getBrowser(), n =
|
|
21886
|
-
return s.type && (p = `${
|
|
22488
|
+
var Ws = Cr().version;
|
|
22489
|
+
function bt(a2 = "prod", e) {
|
|
22490
|
+
let t = "web", i = Ze !== "LOCAL" && a2 === "prod" ? "prod" : "debug";
|
|
22491
|
+
if (We)
|
|
22492
|
+
return $s({ os: "web_nodejs", os_version: process.version, sdk: t, sdk_version: Ws, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: "node", framework_version: process.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
22493
|
+
let r = he.getOS(), s = he.getDevice(), o = he.getBrowser(), n = Lr(`web_${r.name}`), d = r.version || "", u = Lr(`${o.name}_${o.version}`), p = u;
|
|
22494
|
+
return s.type && (p = `${Lr(`${s.vendor}_${s.type}`)}/${u}`), $s({ os: n, os_version: d, sdk: t, sdk_version: Ws, device_model: p, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: e == null ? void 0 : e.type, framework_version: e == null ? void 0 : e.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
21887
22495
|
}
|
|
21888
|
-
function
|
|
22496
|
+
function Lr(a2) {
|
|
21889
22497
|
return a2.replace(/ /g, "_");
|
|
21890
22498
|
}
|
|
21891
|
-
var
|
|
22499
|
+
var $s = (a2, e = ",") => Object.keys(a2).filter((t) => me(a2[t])).map((t) => `${t}:${a2[t]}`).join(e);
|
|
21892
22500
|
var C = class {
|
|
21893
22501
|
constructor({ name: e, level: t, properties: i, includesPII: r, timestamp: s }) {
|
|
21894
|
-
this.metadata = { peer: {}, userAgent:
|
|
21895
|
-
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id =
|
|
22502
|
+
this.metadata = { peer: {}, userAgent: bt() };
|
|
22503
|
+
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id = Lo(), this.device_id = ui();
|
|
21896
22504
|
}
|
|
21897
22505
|
toSignalParams() {
|
|
21898
|
-
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain:
|
|
22506
|
+
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain: Ze }), timestamp: (/* @__PURE__ */ new Date()).getTime() };
|
|
21899
22507
|
}
|
|
21900
22508
|
};
|
|
21901
22509
|
var y = class {
|
|
@@ -21908,12 +22516,12 @@ var y = class {
|
|
|
21908
22516
|
return new C({ name: i, level: r, properties: s });
|
|
21909
22517
|
}
|
|
21910
22518
|
static preview(i) {
|
|
21911
|
-
var r = i, { error: e } = r, t =
|
|
22519
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21912
22520
|
let s = this.eventNameFor("preview", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(t, e);
|
|
21913
22521
|
return new C({ name: s, level: o, properties: n });
|
|
21914
22522
|
}
|
|
21915
22523
|
static join(i) {
|
|
21916
|
-
var r = i, { error: e } = r, t =
|
|
22524
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21917
22525
|
let s = this.eventNameFor("join", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(M(m({}, t), { is_preview_called: !!t.is_preview_called }), e);
|
|
21918
22526
|
return new C({ name: s, level: o, properties: n });
|
|
21919
22527
|
}
|
|
@@ -22004,7 +22612,7 @@ var y = class {
|
|
|
22004
22612
|
}
|
|
22005
22613
|
};
|
|
22006
22614
|
y.KEY_REQUESTED_AT = "requested_at", y.KEY_RESPONDED_AT = "responded_at";
|
|
22007
|
-
var
|
|
22615
|
+
var Dr = class {
|
|
22008
22616
|
constructor() {
|
|
22009
22617
|
this.storage = new ve("hms-device-selection");
|
|
22010
22618
|
this.remember = false;
|
|
@@ -22052,19 +22660,19 @@ var Rr = class {
|
|
|
22052
22660
|
return e.deviceId === t.deviceId && (e.groupId === t.groupId || !e.groupId);
|
|
22053
22661
|
}
|
|
22054
22662
|
};
|
|
22055
|
-
var X = new
|
|
22056
|
-
var
|
|
22057
|
-
var
|
|
22058
|
-
var
|
|
22059
|
-
var
|
|
22060
|
-
var
|
|
22061
|
-
var
|
|
22062
|
-
var
|
|
22063
|
-
var
|
|
22064
|
-
var
|
|
22065
|
-
var
|
|
22066
|
-
var
|
|
22067
|
-
function
|
|
22663
|
+
var X = new Dr();
|
|
22664
|
+
var wr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(wr || {});
|
|
22665
|
+
var _r = ((t) => (t.PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED", t.DEVICE_NOT_SUPPORTED = "DEVICE_NOT_SUPPORTED", t))(_r || {});
|
|
22666
|
+
var Nr = ((t) => (t.SIP = "sip", t.REGULAR = "regular", t))(Nr || {});
|
|
22667
|
+
var qs = ((n) => (n.NONE = "none", n.INITIALISED = "initialised", n.STARTED = "started", n.PAUSED = "paused", n.RESUMED = "resumed", n.STOPPED = "stopped", n.FAILED = "failed", n))(qs || {});
|
|
22668
|
+
var js = ((t) => (t.DVR = "dvr", t.NO_DVR = "no-dvr", t))(js || {});
|
|
22669
|
+
var Js = ((i) => (i.REGULAR = "regular", i.SCREEN = "screen", i.COMPOSITE = "composite", i))(Js || {});
|
|
22670
|
+
var Qs = ((r) => (r.INITIALISED = "initialised", r.STARTED = "started", r.STOPPED = "stopped", r.FAILED = "failed", r))(Qs || {});
|
|
22671
|
+
var zs = ((e) => (e.CAPTION = "caption", e))(zs || {});
|
|
22672
|
+
var Or = ((t) => (t.VOICE = "voice", t.MUSIC = "music", t))(Or || {});
|
|
22673
|
+
var Ys = ((i) => (i.videoInput = "videoInput", i.audioInput = "audioInput", i.audioOutput = "audioOutput", i))(Ys || {});
|
|
22674
|
+
var xr = ((r) => (r.SPEAKERPHONE = "SPEAKERPHONE", r.WIRED = "WIRED", r.BLUETOOTH = "BLUETOOTH", r.EARPIECE = "EARPIECE", r))(xr || {});
|
|
22675
|
+
function Ti(a2, e = 300) {
|
|
22068
22676
|
let t;
|
|
22069
22677
|
return function(...i) {
|
|
22070
22678
|
clearTimeout(t), t = void 0;
|
|
@@ -22074,7 +22682,7 @@ function Si(a2, e = 300) {
|
|
|
22074
22682
|
}, e);
|
|
22075
22683
|
};
|
|
22076
22684
|
}
|
|
22077
|
-
var
|
|
22685
|
+
var Wr = class {
|
|
22078
22686
|
constructor() {
|
|
22079
22687
|
this.TAG = "[HMSIntersectionObserverWrapper]";
|
|
22080
22688
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -22097,12 +22705,12 @@ var Br = class {
|
|
|
22097
22705
|
this.createObserver();
|
|
22098
22706
|
}
|
|
22099
22707
|
isSupported() {
|
|
22100
|
-
let e =
|
|
22708
|
+
let e = x && typeof window.IntersectionObserver != "undefined";
|
|
22101
22709
|
return e || l.w(this.TAG, "IntersectionObserver is not supported, fallback will be used instead"), e;
|
|
22102
22710
|
}
|
|
22103
22711
|
};
|
|
22104
|
-
var
|
|
22105
|
-
var
|
|
22712
|
+
var ra = new Wr();
|
|
22713
|
+
var $r = class {
|
|
22106
22714
|
constructor() {
|
|
22107
22715
|
this.TAG = "[HMSResizeObserverWrapper]";
|
|
22108
22716
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -22115,7 +22723,7 @@ var Vr = class {
|
|
|
22115
22723
|
(t = this.resizeObserver) == null || t.unobserve(e), this.listeners.delete(e);
|
|
22116
22724
|
};
|
|
22117
22725
|
this.createObserver = () => {
|
|
22118
|
-
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(
|
|
22726
|
+
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(Ti(this.handleResize, 300)));
|
|
22119
22727
|
};
|
|
22120
22728
|
this.handleResize = (e) => {
|
|
22121
22729
|
var t;
|
|
@@ -22125,47 +22733,47 @@ var Vr = class {
|
|
|
22125
22733
|
this.createObserver();
|
|
22126
22734
|
}
|
|
22127
22735
|
isSupported() {
|
|
22128
|
-
let e =
|
|
22736
|
+
let e = x && typeof window.ResizeObserver != "undefined";
|
|
22129
22737
|
return e || l.w(this.TAG, "Resize Observer is not supported"), e;
|
|
22130
22738
|
}
|
|
22131
22739
|
};
|
|
22132
|
-
var
|
|
22133
|
-
var
|
|
22134
|
-
var
|
|
22135
|
-
var
|
|
22136
|
-
var
|
|
22137
|
-
var
|
|
22138
|
-
var
|
|
22740
|
+
var sa = new $r();
|
|
22741
|
+
var Kr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(Kr || {});
|
|
22742
|
+
var qr = ((t) => (t["2D"] = "2d", t.WEBGL = "webgl", t.WEBGL2 = "webgl2", t))(qr || {});
|
|
22743
|
+
var na = "https://event.100ms.live/v2/client/report";
|
|
22744
|
+
var ca = "https://event-nonprod.100ms.live/v2/client/report";
|
|
22745
|
+
var Ct = Math.pow(2, 31) - 1;
|
|
22746
|
+
var nt = class {
|
|
22139
22747
|
};
|
|
22140
|
-
|
|
22748
|
+
nt.makePeerId = () => jo();
|
|
22141
22749
|
var F = (a2) => a2.room;
|
|
22142
|
-
var
|
|
22143
|
-
var
|
|
22144
|
-
var
|
|
22750
|
+
var Qo = (a2) => a2.errors;
|
|
22751
|
+
var Rm = createSelector(Qo, (a2) => a2.length === 0 ? null : a2.at(-1));
|
|
22752
|
+
var Hm = createSelector(F, (a2) => a2.id);
|
|
22145
22753
|
var z = (a2) => a2.peers;
|
|
22146
|
-
var
|
|
22147
|
-
var
|
|
22754
|
+
var Ii = (a2) => a2.messages.byID;
|
|
22755
|
+
var Ta = (a2) => a2.messages.allIDs;
|
|
22148
22756
|
var N = (a2) => a2.tracks;
|
|
22149
|
-
var
|
|
22150
|
-
var
|
|
22151
|
-
var
|
|
22152
|
-
var
|
|
22153
|
-
var
|
|
22154
|
-
var Ee = createSelector([F, z,
|
|
22155
|
-
var
|
|
22156
|
-
var
|
|
22757
|
+
var Zr = (a2) => a2.appData;
|
|
22758
|
+
var zo = (a2) => a2.speakers;
|
|
22759
|
+
var Ve = createSelector([F], (a2) => a2 && a2.isConnected);
|
|
22760
|
+
var Dm = createSelector([Ve, F], (a2, e) => a2 ? e.peerCount !== void 0 ? e.peerCount || 1 : e.peers.length : Math.max(e.peerCount !== void 0 ? e.peerCount : e.peers.length - 1, 0));
|
|
22761
|
+
var Yo = (a2) => a2.hideLocalPeer;
|
|
22762
|
+
var Ee = createSelector([F, z, Yo], (a2, e, t) => t ? a2.peers.filter((i) => a2.localPeer !== i).map((i) => e[i]) : a2.peers.map((i) => e[i]));
|
|
22763
|
+
var Xo = createSelector(N, (a2) => Object.values(a2));
|
|
22764
|
+
var re = createSelector(F, z, (a2, e) => e[a2.localPeer]);
|
|
22157
22765
|
var Ie = createSelector(F, (a2) => a2.localPeer);
|
|
22158
|
-
var
|
|
22159
|
-
var
|
|
22160
|
-
var le = createSelector(
|
|
22161
|
-
var Z = createSelector(
|
|
22162
|
-
var
|
|
22163
|
-
var
|
|
22766
|
+
var wm = createSelector(re, (a2) => a2 == null ? void 0 : a2.name);
|
|
22767
|
+
var _m = createSelector(re, (a2) => a2 == null ? void 0 : a2.roleName);
|
|
22768
|
+
var le = createSelector(re, (a2) => a2 == null ? void 0 : a2.audioTrack);
|
|
22769
|
+
var Z = createSelector(re, (a2) => a2 == null ? void 0 : a2.videoTrack);
|
|
22770
|
+
var Zo = createSelector(re, (a2) => a2 == null ? void 0 : a2.auxiliaryTracks);
|
|
22771
|
+
var va = createSelector([le, Z, Zo], (a2, e, t) => {
|
|
22164
22772
|
let i = t ? [...t] : [];
|
|
22165
22773
|
return a2 && i.unshift(a2), e && i.unshift(e), i;
|
|
22166
22774
|
});
|
|
22167
|
-
var
|
|
22168
|
-
var
|
|
22775
|
+
var Nm = createSelector(Ee, (a2) => a2.filter((e) => !e.isLocal));
|
|
22776
|
+
var Om = createSelector(z, zo, (a2, e) => {
|
|
22169
22777
|
let t = Object.entries(e).sort((i, r) => {
|
|
22170
22778
|
var n, d;
|
|
22171
22779
|
let s = ((n = i[1]) == null ? void 0 : n.audioLevel) || 0;
|
|
@@ -22178,112 +22786,112 @@ var Lm = createSelector(z, qo, (a2, e) => {
|
|
|
22178
22786
|
}
|
|
22179
22787
|
return null;
|
|
22180
22788
|
});
|
|
22181
|
-
var
|
|
22182
|
-
let { video: t, audio: i } =
|
|
22789
|
+
var ts = createSelector(re, N, (a2, e) => {
|
|
22790
|
+
let { video: t, audio: i } = Ge(e, a2);
|
|
22183
22791
|
return !!(t || i);
|
|
22184
22792
|
});
|
|
22185
|
-
var
|
|
22793
|
+
var en = createSelector(z, N, (a2, e) => {
|
|
22186
22794
|
let t;
|
|
22187
22795
|
for (let i in a2) {
|
|
22188
|
-
let r = a2[i], { video: s, audio: o } =
|
|
22796
|
+
let r = a2[i], { video: s, audio: o } = Ge(e, r);
|
|
22189
22797
|
if (s)
|
|
22190
22798
|
return r;
|
|
22191
22799
|
o && !t && (t = r);
|
|
22192
22800
|
}
|
|
22193
22801
|
return t;
|
|
22194
22802
|
});
|
|
22195
|
-
var
|
|
22196
|
-
var
|
|
22803
|
+
var Um = createSelector(en, (a2) => !!a2);
|
|
22804
|
+
var Bm = createSelector(z, N, (a2, e) => {
|
|
22197
22805
|
for (let t in a2) {
|
|
22198
|
-
let i = a2[t], { audio: r, video: s } =
|
|
22806
|
+
let i = a2[t], { audio: r, video: s } = Ge(e, i);
|
|
22199
22807
|
if (!s && r)
|
|
22200
22808
|
return i;
|
|
22201
22809
|
}
|
|
22202
22810
|
});
|
|
22203
|
-
var
|
|
22811
|
+
var Vm = createSelector(z, N, (a2, e) => {
|
|
22204
22812
|
let t = [], i = [];
|
|
22205
22813
|
for (let r in a2) {
|
|
22206
|
-
let s = a2[r], { video: o, audio: n } =
|
|
22814
|
+
let s = a2[r], { video: o, audio: n } = Ge(e, s);
|
|
22207
22815
|
o ? t.push(s) : n && i.push(s);
|
|
22208
22816
|
}
|
|
22209
22817
|
return t.concat(i);
|
|
22210
22818
|
});
|
|
22211
|
-
var
|
|
22819
|
+
var Fm = createSelector(z, N, (a2, e) => {
|
|
22212
22820
|
for (let t in e) {
|
|
22213
22821
|
let i = e[t];
|
|
22214
|
-
if (
|
|
22822
|
+
if (vt(i) && ft(i) && i.peerId)
|
|
22215
22823
|
return a2[i.peerId];
|
|
22216
22824
|
}
|
|
22217
22825
|
});
|
|
22218
|
-
var
|
|
22826
|
+
var Gm = createSelector(z, N, (a2, e) => {
|
|
22219
22827
|
for (let t in e) {
|
|
22220
22828
|
let i = e[t];
|
|
22221
|
-
if (
|
|
22829
|
+
if (li(i) && i.peerId)
|
|
22222
22830
|
return a2[i.peerId];
|
|
22223
22831
|
}
|
|
22224
22832
|
});
|
|
22225
|
-
var
|
|
22226
|
-
var
|
|
22227
|
-
var
|
|
22228
|
-
var
|
|
22833
|
+
var Wm = createSelector(Xo, (a2) => a2.filter(Es));
|
|
22834
|
+
var $m = createSelector(Ta, (a2) => a2.length);
|
|
22835
|
+
var Km = createSelector(Ii, (a2) => Object.values(a2).filter((e) => !e.read).length);
|
|
22836
|
+
var _t = createSelector(Ta, Ii, (a2, e) => {
|
|
22229
22837
|
let t = [];
|
|
22230
22838
|
return a2.forEach((i) => {
|
|
22231
22839
|
t.push(e[i]);
|
|
22232
22840
|
}), t;
|
|
22233
22841
|
});
|
|
22234
|
-
var
|
|
22842
|
+
var tn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22235
22843
|
var t;
|
|
22236
22844
|
return !e.recipientPeer && !(e.recipientRoles && ((t = e.recipientRoles) == null ? void 0 : t.length) > 0);
|
|
22237
22845
|
}));
|
|
22238
|
-
var
|
|
22239
|
-
var
|
|
22240
|
-
var
|
|
22241
|
-
var
|
|
22242
|
-
var
|
|
22846
|
+
var qm = createSelector(tn, (a2) => a2.filter((e) => !e.read).length);
|
|
22847
|
+
var se = createSelector([F], (a2) => a2 && a2.roomState);
|
|
22848
|
+
var ya = createSelector(se, (a2) => a2 === "Preview");
|
|
22849
|
+
var jm = createSelector(F, (a2) => a2.roomState !== "Disconnected");
|
|
22850
|
+
var Jm = createSelector(F, (a2) => !a2.transcriptions || a2.transcriptions.length <= 0 ? false : a2.transcriptions.some((e) => e.mode === "caption" && e.state === "started"));
|
|
22243
22851
|
var Pe = (a2) => a2.roles;
|
|
22244
|
-
var
|
|
22245
|
-
var
|
|
22246
|
-
var
|
|
22852
|
+
var Qm = createSelector([Pe], (a2) => Object.keys(a2));
|
|
22853
|
+
var dt = createSelector([re, Pe], (a2, e) => a2 != null && a2.roleName ? e[a2.roleName] : null);
|
|
22854
|
+
var rn = (a2) => {
|
|
22247
22855
|
var e;
|
|
22248
22856
|
return (e = a2.preview) == null ? void 0 : e.asRole;
|
|
22249
22857
|
};
|
|
22250
|
-
var
|
|
22251
|
-
var
|
|
22858
|
+
var ka = createSelector([rn, Pe], (a2, e) => a2 ? e[a2] : null);
|
|
22859
|
+
var zm = createSelector([dt], (a2) => {
|
|
22252
22860
|
var e;
|
|
22253
22861
|
return (e = a2 == null ? void 0 : a2.subscribeParams) != null && e.subscribeToRoles ? a2.subscribeParams.subscribeToRoles.length > 0 : false;
|
|
22254
22862
|
});
|
|
22255
|
-
var
|
|
22256
|
-
var
|
|
22257
|
-
var
|
|
22258
|
-
var
|
|
22259
|
-
var
|
|
22260
|
-
var
|
|
22261
|
-
var
|
|
22262
|
-
var
|
|
22263
|
-
var
|
|
22264
|
-
var
|
|
22265
|
-
var
|
|
22266
|
-
var
|
|
22267
|
-
var
|
|
22268
|
-
var
|
|
22269
|
-
var
|
|
22270
|
-
var
|
|
22271
|
-
var
|
|
22272
|
-
var
|
|
22273
|
-
var
|
|
22274
|
-
var
|
|
22275
|
-
var
|
|
22276
|
-
var
|
|
22277
|
-
var
|
|
22863
|
+
var Ea = createSelector(dt, (a2) => a2 == null ? void 0 : a2.permissions);
|
|
22864
|
+
var Ym = createSelector(F, (a2) => a2.recording);
|
|
22865
|
+
var Xm = createSelector(F, (a2) => a2.rtmp);
|
|
22866
|
+
var Zm = createSelector(F, (a2) => a2.hls);
|
|
22867
|
+
var eS = createSelector(F, (a2) => a2.transcriptions);
|
|
22868
|
+
var tS = createSelector(F, (a2) => a2.sessionId);
|
|
22869
|
+
var iS = createSelector(F, (a2) => a2.startedAt);
|
|
22870
|
+
var rS = createSelector(F, (a2) => !!a2.isLargeRoom);
|
|
22871
|
+
var sS = createSelector(F, (a2) => !!a2.isEffectsEnabled);
|
|
22872
|
+
var aS = createSelector(F, (a2) => !!a2.isVBEnabled);
|
|
22873
|
+
var oS = createSelector(F, (a2) => a2.effectsKey);
|
|
22874
|
+
var Pa = (a2) => a2.polls;
|
|
22875
|
+
var lS = createSelector(Ee, (a2) => a2.filter((e) => e.isHandRaised));
|
|
22876
|
+
var sn = (a2) => a2.whiteboards;
|
|
22877
|
+
var uS = createSelector(sn, (a2) => Object.values(a2)[0]);
|
|
22878
|
+
var Aa = (a2 = "audio") => (e) => e.playlist[a2].list;
|
|
22879
|
+
var is = (a2 = "audio") => (e) => e.playlist[a2].selection;
|
|
22880
|
+
var Ia = (a2 = "audio") => (e) => e.playlist[a2].progress;
|
|
22881
|
+
var Ra = (a2 = "audio") => (e) => e.playlist[a2].currentTime;
|
|
22882
|
+
var Ha = (a2 = "audio") => (e) => e.playlist[a2].playbackRate;
|
|
22883
|
+
var Ca = (a2 = "audio") => (e) => e.playlist[a2].volume;
|
|
22884
|
+
var La = (a2 = "audio") => createSelector(Aa(a2), (e) => Object.values(e));
|
|
22885
|
+
var Da = (a2 = "audio") => createSelector(Aa(a2), is(a2), (e, t) => {
|
|
22278
22886
|
if (t.id)
|
|
22279
22887
|
return e[t.id];
|
|
22280
22888
|
});
|
|
22281
|
-
var
|
|
22282
|
-
var
|
|
22889
|
+
var wa = { selection: is("audio"), progress: Ia("audio"), currentTime: Ra("audio"), playbackRate: Ha("audio"), volume: Ca("audio"), list: La("audio"), selectedItem: Da("audio") };
|
|
22890
|
+
var _a7 = { selection: is("video"), progress: Ia("video"), currentTime: Ra("video"), playbackRate: Ha("video"), volume: Ca("video"), list: La("video"), selectedItem: Da("video") };
|
|
22283
22891
|
function H(a2) {
|
|
22284
22892
|
return (e) => (t) => a2(t, e);
|
|
22285
22893
|
}
|
|
22286
|
-
var
|
|
22894
|
+
var Nt = "HMS-Store:";
|
|
22287
22895
|
var b = class {
|
|
22288
22896
|
static v(e, ...t) {
|
|
22289
22897
|
this.log(0, e, ...t);
|
|
@@ -22313,23 +22921,23 @@ var b = class {
|
|
|
22313
22921
|
if (!(this.level.valueOf() > e.valueOf()))
|
|
22314
22922
|
switch (e) {
|
|
22315
22923
|
case 0: {
|
|
22316
|
-
console.log(
|
|
22924
|
+
console.log(Nt, ...t);
|
|
22317
22925
|
break;
|
|
22318
22926
|
}
|
|
22319
22927
|
case 1: {
|
|
22320
|
-
console.debug(
|
|
22928
|
+
console.debug(Nt, ...t);
|
|
22321
22929
|
break;
|
|
22322
22930
|
}
|
|
22323
22931
|
case 2: {
|
|
22324
|
-
console.info(
|
|
22932
|
+
console.info(Nt, ...t);
|
|
22325
22933
|
break;
|
|
22326
22934
|
}
|
|
22327
22935
|
case 3: {
|
|
22328
|
-
console.warn(
|
|
22936
|
+
console.warn(Nt, ...t);
|
|
22329
22937
|
break;
|
|
22330
22938
|
}
|
|
22331
22939
|
case 6: {
|
|
22332
|
-
console.error(
|
|
22940
|
+
console.error(Nt, ...t);
|
|
22333
22941
|
break;
|
|
22334
22942
|
}
|
|
22335
22943
|
case 4: {
|
|
@@ -22350,133 +22958,133 @@ var b = class {
|
|
|
22350
22958
|
}
|
|
22351
22959
|
};
|
|
22352
22960
|
b.level = 0;
|
|
22353
|
-
var
|
|
22354
|
-
var
|
|
22355
|
-
var
|
|
22356
|
-
var
|
|
22357
|
-
var
|
|
22358
|
-
var Y = createSelector([z,
|
|
22359
|
-
var
|
|
22360
|
-
var
|
|
22961
|
+
var rs = (a2, e) => e;
|
|
22962
|
+
var Ot = (a2, e) => e;
|
|
22963
|
+
var Na = (a2, e) => e;
|
|
22964
|
+
var an = (a2, e) => e;
|
|
22965
|
+
var on = (a2, e) => e;
|
|
22966
|
+
var Y = createSelector([z, rs], (a2, e) => e ? a2[e] : null);
|
|
22967
|
+
var ss = createSelector([N, Ot], (a2, e) => e ? a2[e] : null);
|
|
22968
|
+
var nn = createSelector([N, Ot], (a2, e) => {
|
|
22361
22969
|
if (!e)
|
|
22362
22970
|
return null;
|
|
22363
22971
|
let t = a2[e];
|
|
22364
22972
|
return (t == null ? void 0 : t.type) === "video" ? t : null;
|
|
22365
22973
|
});
|
|
22366
|
-
var
|
|
22974
|
+
var cn = createSelector([N, Ot], (a2, e) => {
|
|
22367
22975
|
if (!e)
|
|
22368
22976
|
return null;
|
|
22369
22977
|
let t = a2[e];
|
|
22370
22978
|
return (t == null ? void 0 : t.type) === "audio" ? t : null;
|
|
22371
22979
|
});
|
|
22372
|
-
var
|
|
22980
|
+
var dn = createSelector([N, Ot], (a2, e) => {
|
|
22373
22981
|
if (!e)
|
|
22374
22982
|
return null;
|
|
22375
22983
|
let t = a2[e];
|
|
22376
22984
|
return (t == null ? void 0 : t.type) === "audio" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22377
22985
|
});
|
|
22378
|
-
var
|
|
22986
|
+
var ln = createSelector([N, Ot], (a2, e) => {
|
|
22379
22987
|
if (!e)
|
|
22380
22988
|
return null;
|
|
22381
22989
|
let t = a2[e];
|
|
22382
22990
|
return (t == null ? void 0 : t.type) === "video" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22383
22991
|
});
|
|
22384
|
-
var
|
|
22992
|
+
var un = createSelector([Pa, on], (a2, e) => e ? a2[e] : null);
|
|
22385
22993
|
var ee = H(Y);
|
|
22386
|
-
var
|
|
22994
|
+
var kS = H(createSelector([Zr, an], (a2, e) => {
|
|
22387
22995
|
if (a2)
|
|
22388
22996
|
return e ? a2[e] : a2;
|
|
22389
22997
|
}));
|
|
22390
|
-
function
|
|
22998
|
+
function ES(a2) {
|
|
22391
22999
|
return (e) => {
|
|
22392
23000
|
if (e.sessionStore)
|
|
22393
23001
|
return a2 ? e.sessionStore[a2] : e.sessionStore;
|
|
22394
23002
|
};
|
|
22395
23003
|
}
|
|
22396
|
-
var
|
|
22397
|
-
var
|
|
22398
|
-
var
|
|
22399
|
-
var
|
|
22400
|
-
var
|
|
22401
|
-
var
|
|
22402
|
-
var
|
|
22403
|
-
var
|
|
23004
|
+
var bS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.name));
|
|
23005
|
+
var AS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.type));
|
|
23006
|
+
var Ri = H(ss);
|
|
23007
|
+
var Oa = H(nn);
|
|
23008
|
+
var IS = H(cn);
|
|
23009
|
+
var RS = H(dn);
|
|
23010
|
+
var HS = H(ln);
|
|
23011
|
+
var pn = H((a2, e) => {
|
|
22404
23012
|
let t = Y(a2, e);
|
|
22405
23013
|
if (t && t.videoTrack && t.videoTrack !== "")
|
|
22406
23014
|
return a2.tracks[t.videoTrack];
|
|
22407
23015
|
});
|
|
22408
|
-
var
|
|
23016
|
+
var hn = H((a2, e) => {
|
|
22409
23017
|
let t = Y(a2, e);
|
|
22410
23018
|
if (t && t.audioTrack && t.audioTrack !== "")
|
|
22411
23019
|
return a2.tracks[t.audioTrack];
|
|
22412
23020
|
});
|
|
22413
|
-
var
|
|
23021
|
+
var LS = H((a2, e) => {
|
|
22414
23022
|
let t = Y(a2, e);
|
|
22415
23023
|
return (t == null ? void 0 : t.auxiliaryTracks.map((i) => a2.tracks[i])) || [];
|
|
22416
23024
|
});
|
|
22417
|
-
var
|
|
22418
|
-
var
|
|
22419
|
-
var
|
|
22420
|
-
let t =
|
|
22421
|
-
return
|
|
22422
|
-
};
|
|
22423
|
-
var
|
|
22424
|
-
var
|
|
23025
|
+
var xa = (a2, e) => e ? a2.speakers[e] : null;
|
|
23026
|
+
var DS = H(createSelector(xa, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
23027
|
+
var mn = (a2, e) => {
|
|
23028
|
+
let t = hn(e)(a2);
|
|
23029
|
+
return xa(a2, t == null ? void 0 : t.id);
|
|
23030
|
+
};
|
|
23031
|
+
var wS = H(createSelector(mn, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
23032
|
+
var _S = H((a2, e) => {
|
|
22425
23033
|
if (e)
|
|
22426
23034
|
return a2.connectionQualities[e];
|
|
22427
23035
|
});
|
|
22428
|
-
var
|
|
23036
|
+
var NS = H((a2, e) => {
|
|
22429
23037
|
let t = Y(a2, e);
|
|
22430
23038
|
if (t) {
|
|
22431
|
-
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) =>
|
|
23039
|
+
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) => Tt(a2.tracks[r]));
|
|
22432
23040
|
return i ? a2.tracks[i] : void 0;
|
|
22433
23041
|
}
|
|
22434
23042
|
});
|
|
22435
|
-
var
|
|
23043
|
+
var OS2 = H(createSelector(N, Y, (a2, e) => {
|
|
22436
23044
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22437
23045
|
let r = a2[i];
|
|
22438
|
-
return
|
|
23046
|
+
return vt(r) && ft(r);
|
|
22439
23047
|
});
|
|
22440
23048
|
return t ? a2[t] : void 0;
|
|
22441
23049
|
}));
|
|
22442
|
-
var
|
|
23050
|
+
var xS = H(createSelector(N, Y, (a2, e) => {
|
|
22443
23051
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22444
23052
|
let r = a2[i];
|
|
22445
|
-
return
|
|
23053
|
+
return vt(r) && Tt(r);
|
|
22446
23054
|
});
|
|
22447
23055
|
return t ? a2[t] : void 0;
|
|
22448
23056
|
}));
|
|
22449
|
-
var
|
|
23057
|
+
var US = H(createSelector(N, Y, (a2, e) => {
|
|
22450
23058
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22451
23059
|
let r = a2[i];
|
|
22452
|
-
return
|
|
23060
|
+
return li(r) && Tt(r);
|
|
22453
23061
|
});
|
|
22454
23062
|
return t ? a2[t] : void 0;
|
|
22455
23063
|
}));
|
|
22456
|
-
var
|
|
22457
|
-
var
|
|
22458
|
-
var
|
|
23064
|
+
var Ua = H(createSelector(N, Y, (a2, e) => Ge(a2, e)));
|
|
23065
|
+
var Ba = (a2) => createSelector(Ua(a2), (e) => e.audio);
|
|
23066
|
+
var VS = H((a2, e) => {
|
|
22459
23067
|
let t = Y(a2, e);
|
|
22460
|
-
return
|
|
23068
|
+
return Ye(a2, t == null ? void 0 : t.audioTrack);
|
|
22461
23069
|
});
|
|
22462
|
-
var
|
|
23070
|
+
var FS = H((a2, e) => {
|
|
22463
23071
|
let t = Y(a2, e);
|
|
22464
|
-
return
|
|
23072
|
+
return Ye(a2, t == null ? void 0 : t.videoTrack);
|
|
22465
23073
|
});
|
|
22466
|
-
var
|
|
23074
|
+
var Va = H((a2, e) => {
|
|
22467
23075
|
if (e && a2.tracks[e])
|
|
22468
23076
|
return a2.tracks[e].volume === 0;
|
|
22469
23077
|
});
|
|
22470
|
-
var
|
|
23078
|
+
var GS = H((a2, e) => {
|
|
22471
23079
|
let t = Y(a2, e);
|
|
22472
|
-
return
|
|
23080
|
+
return Va(t == null ? void 0 : t.audioTrack)(a2);
|
|
22473
23081
|
});
|
|
22474
|
-
var
|
|
22475
|
-
let t =
|
|
22476
|
-
return
|
|
23082
|
+
var WS = H((a2, e) => {
|
|
23083
|
+
let t = Ba(e)(a2);
|
|
23084
|
+
return Va(t == null ? void 0 : t.id)(a2);
|
|
22477
23085
|
});
|
|
22478
|
-
var
|
|
22479
|
-
let t =
|
|
23086
|
+
var Fa = H((a2, e) => {
|
|
23087
|
+
let t = ss(a2, e);
|
|
22480
23088
|
if (t) {
|
|
22481
23089
|
if (t.type !== "audio") {
|
|
22482
23090
|
b.w("Please pass audio track here");
|
|
@@ -22485,16 +23093,16 @@ var xa = H((a2, e) => {
|
|
|
22485
23093
|
return t.volume;
|
|
22486
23094
|
}
|
|
22487
23095
|
});
|
|
22488
|
-
var
|
|
23096
|
+
var $S = H((a2, e) => {
|
|
22489
23097
|
let t = Y(a2, e);
|
|
22490
|
-
return
|
|
23098
|
+
return Fa(t == null ? void 0 : t.audioTrack)(a2);
|
|
22491
23099
|
});
|
|
22492
|
-
var
|
|
22493
|
-
let t =
|
|
22494
|
-
return
|
|
23100
|
+
var KS = H((a2, e) => {
|
|
23101
|
+
let t = Ba(e)(a2);
|
|
23102
|
+
return Fa(t == null ? void 0 : t.id)(a2);
|
|
22495
23103
|
});
|
|
22496
|
-
var
|
|
22497
|
-
let t =
|
|
23104
|
+
var qS = H((a2, e) => {
|
|
23105
|
+
let t = ss(a2, e);
|
|
22498
23106
|
if (t) {
|
|
22499
23107
|
if (t.type !== "video") {
|
|
22500
23108
|
b.w("Please pass video track here");
|
|
@@ -22503,50 +23111,50 @@ var FS = H((a2, e) => {
|
|
|
22503
23111
|
return t.layer;
|
|
22504
23112
|
}
|
|
22505
23113
|
});
|
|
22506
|
-
var
|
|
23114
|
+
var Ga = createSelector([_t, Ie, rs], (a2, e, t) => {
|
|
22507
23115
|
if (t)
|
|
22508
23116
|
return a2.filter((i) => {
|
|
22509
23117
|
var r;
|
|
22510
23118
|
return !i.recipientPeer && !((r = i.recipientRoles) != null && r.length) || i.sender && ![e, t].includes(i.sender) ? false : [e, t].includes(i.recipientPeer);
|
|
22511
23119
|
});
|
|
22512
23120
|
});
|
|
22513
|
-
var
|
|
23121
|
+
var Wa = createSelector([_t, Na], (a2, e) => {
|
|
22514
23122
|
if (e)
|
|
22515
23123
|
return a2.filter((t) => {
|
|
22516
23124
|
var i, r;
|
|
22517
23125
|
return (i = t.recipientRoles) != null && i.length ? (r = t.recipientRoles) == null ? void 0 : r.includes(e) : false;
|
|
22518
23126
|
});
|
|
22519
23127
|
});
|
|
22520
|
-
var
|
|
23128
|
+
var Sn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22521
23129
|
var t;
|
|
22522
23130
|
return !e.recipientPeer && !((t = e.recipientRoles) != null && t.length);
|
|
22523
23131
|
}));
|
|
22524
|
-
var
|
|
22525
|
-
var
|
|
22526
|
-
var
|
|
22527
|
-
var
|
|
22528
|
-
var
|
|
22529
|
-
var
|
|
22530
|
-
var
|
|
22531
|
-
var
|
|
22532
|
-
var
|
|
23132
|
+
var gn = createSelector([Wa, Na], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
23133
|
+
var Tn = createSelector([Ga, rs], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
23134
|
+
var jS = createSelector(Sn, (a2) => a2.filter((e) => !e.read).length);
|
|
23135
|
+
var JS = H(Ga);
|
|
23136
|
+
var QS = H(Wa);
|
|
23137
|
+
var zS = H(gn);
|
|
23138
|
+
var YS = H(Tn);
|
|
23139
|
+
var $a = H(un);
|
|
23140
|
+
var dg = createSelector([z, N], (a2, e) => Object.values(a2).map((i) => {
|
|
22533
23141
|
var r;
|
|
22534
23142
|
return { peer: i, isAudioEnabled: i.audioTrack ? (r = e[i.audioTrack]) == null ? void 0 : r.enabled : false };
|
|
22535
23143
|
}));
|
|
22536
|
-
var
|
|
22537
|
-
var
|
|
22538
|
-
var
|
|
22539
|
-
var
|
|
22540
|
-
var
|
|
23144
|
+
var fn = (a2) => a2.roleChangeRequests[0] || null;
|
|
23145
|
+
var lg = createSelector([fn, z, Pe], (a2, e, t) => a2 ? { requestedBy: a2.requestedBy ? e[a2.requestedBy] : void 0, role: t[a2.roleName], token: a2.token } : null);
|
|
23146
|
+
var ug = createSelector([dt], (a2) => Mt(a2));
|
|
23147
|
+
var pg = createSelector([ka], (a2) => Mt(a2));
|
|
23148
|
+
var Mn = createSelector([Z, N], (a2, e) => {
|
|
22541
23149
|
let t = null;
|
|
22542
23150
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22543
23151
|
});
|
|
22544
|
-
var
|
|
23152
|
+
var yn = createSelector([le, N], (a2, e) => {
|
|
22545
23153
|
let t = null;
|
|
22546
23154
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22547
23155
|
});
|
|
22548
|
-
var
|
|
22549
|
-
var
|
|
23156
|
+
var Pn = ((n) => (n[n.STARTING = 0] = "STARTING", n[n.INIT_FETCHED = 1] = "INIT_FETCHED", n[n.SIGNAL_CONNECTED = 2] = "SIGNAL_CONNECTED", n[n.ICE_ESTABLISHED = 3] = "ICE_ESTABLISHED", n[n.MEDIA_CAPTURED = 4] = "MEDIA_CAPTURED", n[n.MEDIA_PUBLISHED = 5] = "MEDIA_PUBLISHED", n[n.COMPLETED = 6] = "COMPLETED", n))(Pn || {});
|
|
23157
|
+
var ds = class {
|
|
22550
23158
|
constructor() {
|
|
22551
23159
|
this.TAG = "[HTTPAnalyticsTransport]";
|
|
22552
23160
|
this.failedEvents = new ve("client-events");
|
|
@@ -22565,7 +23173,7 @@ var as = class {
|
|
|
22565
23173
|
this.addEventToStorage(e);
|
|
22566
23174
|
return;
|
|
22567
23175
|
}
|
|
22568
|
-
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ?
|
|
23176
|
+
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ? na : ca;
|
|
22569
23177
|
fetch(i, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${e.metadata.token}`, user_agent_v2: e.metadata.userAgent }, body: JSON.stringify(t) }).then((r) => {
|
|
22570
23178
|
if (r.status === 401) {
|
|
22571
23179
|
this.removeFromStorage(e);
|
|
@@ -22591,8 +23199,8 @@ var as = class {
|
|
|
22591
23199
|
i > -1 && (t.splice(i, 1), this.failedEvents.set(t));
|
|
22592
23200
|
}
|
|
22593
23201
|
};
|
|
22594
|
-
var He = new
|
|
22595
|
-
var
|
|
23202
|
+
var He = new ds();
|
|
23203
|
+
var qt = class {
|
|
22596
23204
|
static handleError(e) {
|
|
22597
23205
|
if (e.status === 404)
|
|
22598
23206
|
throw S.APIErrors.EndpointUnreachable("FEEDBACK", e.statusText);
|
|
@@ -22618,67 +23226,67 @@ var $t = class {
|
|
|
22618
23226
|
});
|
|
22619
23227
|
}
|
|
22620
23228
|
};
|
|
22621
|
-
|
|
22622
|
-
var
|
|
23229
|
+
qt.TAG = "[FeedbackService]";
|
|
23230
|
+
var ls = ((f) => (f.FLAG_SERVER_SUB_DEGRADATION = "subscribeDegradation", f.FLAG_SERVER_SIMULCAST = "simulcast", f.FLAG_NON_WEBRTC_DISABLE_OFFER = "nonWebRTCDisableOffer", f.FLAG_PUBLISH_STATS = "publishStats", f.FLAG_SUBSCRIBE_STATS = "subscribeStats", f.FLAG_ON_DEMAND_TRACKS = "onDemandTracks", f.FLAG_DISABLE_VIDEO_TRACK_AUTO_UNSUBSCRIBE = "disableVideoTrackAutoUnsubscribe", f.FLAG_WHITEBOARD_ENABLED = "whiteboardEnabled", f.FLAG_EFFECTS_SDK_ENABLED = "effectsSDKEnabled", f.FLAG_VB_ENABLED = "vb", f.FLAG_HIPAA_ENABLED = "hipaa", f.FLAG_NOISE_CANCELLATION = "noiseCancellation", f.FLAG_SCALE_SCREENSHARE_BASED_ON_PIXELS = "scaleScreenshareBasedOnPixels", f.FLAG_DISABLE_NONE_LAYER_REQUEST = "disableNoneLayerRequest", f))(ls || {});
|
|
22623
23231
|
var j = ((s) => (s[s.ConnectFailed = 0] = "ConnectFailed", s[s.SignalDisconnect = 1] = "SignalDisconnect", s[s.JoinWSMessageFailed = 2] = "JoinWSMessageFailed", s[s.PublishIceConnectionFailed = 3] = "PublishIceConnectionFailed", s[s.SubscribeIceConnectionFailed = 4] = "SubscribeIceConnectionFailed", s))(j || {});
|
|
22624
|
-
var
|
|
22625
|
-
var
|
|
22626
|
-
var
|
|
22627
|
-
var
|
|
22628
|
-
var
|
|
22629
|
-
var
|
|
22630
|
-
var
|
|
22631
|
-
var
|
|
22632
|
-
var
|
|
22633
|
-
var
|
|
22634
|
-
var Le = createSelector([
|
|
22635
|
-
var
|
|
23232
|
+
var ur = ((n) => (n.Disconnected = "Disconnected", n.Connecting = "Connecting", n.Joined = "Joined", n.Preview = "Preview", n.Failed = "Failed", n.Reconnecting = "Reconnecting", n.Leaving = "Leaving", n))(ur || {});
|
|
23233
|
+
var mt = ((t) => (t[t.Publish = 0] = "Publish", t[t.Subscribe = 1] = "Subscribe", t))(mt || {});
|
|
23234
|
+
var Kn = (a2) => a2.localPeer.id;
|
|
23235
|
+
var qn = (a2) => a2.localPeer.audioTrack;
|
|
23236
|
+
var jn = (a2) => a2.localPeer.videoTrack;
|
|
23237
|
+
var Jn = (a2, e) => e;
|
|
23238
|
+
var mo = (a2, e) => e;
|
|
23239
|
+
var Qn = (a2) => a2.remoteTrackStats;
|
|
23240
|
+
var So = (a2) => a2.peerStats;
|
|
23241
|
+
var ms = (a2) => a2.localTrackStats;
|
|
23242
|
+
var Le = createSelector([So, Kn], (a2, e) => a2[e]);
|
|
23243
|
+
var zn = createSelector(Le, (a2) => {
|
|
22636
23244
|
var e;
|
|
22637
23245
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.packetsLost;
|
|
22638
23246
|
});
|
|
22639
|
-
var
|
|
23247
|
+
var Yn = createSelector(Le, (a2) => {
|
|
22640
23248
|
var e;
|
|
22641
23249
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.jitter;
|
|
22642
23250
|
});
|
|
22643
|
-
var
|
|
23251
|
+
var Xn = createSelector(Le, (a2) => {
|
|
22644
23252
|
var e;
|
|
22645
23253
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bitrate;
|
|
22646
23254
|
});
|
|
22647
|
-
var
|
|
23255
|
+
var Zn = createSelector(Le, (a2) => {
|
|
22648
23256
|
var e;
|
|
22649
23257
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bitrate;
|
|
22650
23258
|
});
|
|
22651
|
-
var
|
|
23259
|
+
var ec = createSelector(Le, (a2) => {
|
|
22652
23260
|
var e;
|
|
22653
23261
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.availableOutgoingBitrate;
|
|
22654
23262
|
});
|
|
22655
|
-
var
|
|
23263
|
+
var tc = createSelector(Le, (a2) => {
|
|
22656
23264
|
var e;
|
|
22657
23265
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.availableIncomingBitrate;
|
|
22658
23266
|
});
|
|
22659
|
-
var
|
|
23267
|
+
var ic = createSelector(Le, (a2) => {
|
|
22660
23268
|
var e;
|
|
22661
23269
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bytesSent;
|
|
22662
23270
|
});
|
|
22663
|
-
var
|
|
23271
|
+
var rc = createSelector(Le, (a2) => {
|
|
22664
23272
|
var e;
|
|
22665
23273
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bytesReceived;
|
|
22666
23274
|
});
|
|
22667
|
-
var
|
|
22668
|
-
var
|
|
22669
|
-
var
|
|
22670
|
-
var
|
|
22671
|
-
var
|
|
22672
|
-
var
|
|
23275
|
+
var sc = createSelector([So, Jn], (a2, e) => e ? a2[e] : void 0);
|
|
23276
|
+
var ac = createSelector([Qn, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23277
|
+
var Ss = createSelector([ms, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23278
|
+
var oc = H(sc);
|
|
23279
|
+
var nc = H(ac);
|
|
23280
|
+
var cc = createSelector([ms, qn], (a2, e) => {
|
|
22673
23281
|
var t;
|
|
22674
23282
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22675
23283
|
});
|
|
22676
|
-
var
|
|
22677
|
-
var
|
|
23284
|
+
var dc = H(createSelector(Ss, (a2) => a2 == null ? void 0 : a2[0]));
|
|
23285
|
+
var lc = createSelector([ms, jn], (a2, e) => {
|
|
22678
23286
|
var t;
|
|
22679
23287
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22680
23288
|
});
|
|
22681
|
-
var
|
|
23289
|
+
var uc = H(createSelector(Ss, (a2) => a2));
|
|
22682
23290
|
|
|
22683
23291
|
// src/Prebuilt/components/Header/StreamActions.tsx
|
|
22684
23292
|
import {
|
|
@@ -22797,7 +23405,7 @@ var RecordingStatus = () => {
|
|
|
22797
23405
|
};
|
|
22798
23406
|
var RecordingPauseStatus = () => {
|
|
22799
23407
|
const recording = useHMSStore29(selectRecordingState2);
|
|
22800
|
-
if (recording.hls && recording.hls.state ===
|
|
23408
|
+
if (recording.hls && recording.hls.state === qs.PAUSED) {
|
|
22801
23409
|
return /* @__PURE__ */ React64.createElement(
|
|
22802
23410
|
Tooltip,
|
|
22803
23411
|
{
|
|
@@ -27655,7 +28263,7 @@ var Chat = () => {
|
|
|
27655
28263
|
const listRef = useRef26(null);
|
|
27656
28264
|
const hmsActions = useHMSActions42();
|
|
27657
28265
|
const vanillaStore = useHMSVanillaStore11();
|
|
27658
|
-
const { enabled: isChatEnabled = true } = useHMSStore61(
|
|
28266
|
+
const { enabled: isChatEnabled = true } = useHMSStore61(ES("chatState" /* CHAT_STATE */)) || {};
|
|
27659
28267
|
const isMobile = useMedia20(config.media.md);
|
|
27660
28268
|
const isMobileHLSStream = useMobileHLSStream();
|
|
27661
28269
|
const isLandscapeStream = useLandscapeHLSStream();
|
|
@@ -27745,7 +28353,7 @@ var NewMessageIndicator = ({
|
|
|
27745
28353
|
scrollToBottom,
|
|
27746
28354
|
listRef
|
|
27747
28355
|
}) => {
|
|
27748
|
-
const unreadCount = useHMSStore61(
|
|
28356
|
+
const unreadCount = useHMSStore61(Km);
|
|
27749
28357
|
if (!unreadCount || !listRef.current) {
|
|
27750
28358
|
return null;
|
|
27751
28359
|
}
|
|
@@ -28758,7 +29366,7 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28758
29366
|
const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
|
|
28759
29367
|
const hmsActions = useHMSActions45();
|
|
28760
29368
|
const localPeer = useHMSStore69(selectLocalPeer8);
|
|
28761
|
-
const role = useHMSStore69(
|
|
29369
|
+
const role = useHMSStore69(dt);
|
|
28762
29370
|
const isVideoOn = useHMSStore69(selectIsLocalVideoEnabled6);
|
|
28763
29371
|
const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
|
|
28764
29372
|
const trackSelector = selectVideoTrackByID4(localPeer == null ? void 0 : localPeer.videoTrack);
|
|
@@ -28767,12 +29375,12 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28767
29375
|
const roomState = useHMSStore69(selectRoomState6);
|
|
28768
29376
|
const isLargeRoom = useHMSStore69(selectIsLargeRoom3);
|
|
28769
29377
|
const isEffectsSupported = VBHandler.isEffectsSupported();
|
|
28770
|
-
const isEffectsEnabled = useHMSStore69(
|
|
28771
|
-
const effectsKey = useHMSStore69(
|
|
29378
|
+
const isEffectsEnabled = useHMSStore69(sS);
|
|
29379
|
+
const effectsKey = useHMSStore69(oS);
|
|
28772
29380
|
const isMobile = useMedia24(config.media.md);
|
|
28773
29381
|
const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
|
|
28774
29382
|
const isPluginAdded = useHMSStore69(selectIsLocalVideoPluginPresent(((_a8 = VBHandler) == null ? void 0 : _a8.getName()) || ""));
|
|
28775
|
-
const background = useHMSStore69(
|
|
29383
|
+
const background = useHMSStore69(kS(APP_DATA.background));
|
|
28776
29384
|
const mediaList = backgroundMedia.map((media) => media.url || "");
|
|
28777
29385
|
const pluginLoadingRef = useRef27(false);
|
|
28778
29386
|
const isBlurSupported = (_b7 = VBHandler) == null ? void 0 : _b7.isBlurSupported();
|
|
@@ -34608,8 +35216,8 @@ import { useEffect as useEffect75 } from "react";
|
|
|
34608
35216
|
import { useAwayNotifications as useAwayNotifications5, useHMSNotifications as useHMSNotifications8, useHMSStore as useHMSStore92 } from "@100mslive/react-sdk";
|
|
34609
35217
|
var MessageNotifications = () => {
|
|
34610
35218
|
var _a8, _b7;
|
|
34611
|
-
const notification = useHMSNotifications8(
|
|
34612
|
-
const amIScreenSharing = useHMSStore92(
|
|
35219
|
+
const notification = useHMSNotifications8(br.NEW_MESSAGE);
|
|
35220
|
+
const amIScreenSharing = useHMSStore92(ts);
|
|
34613
35221
|
const logoURL = (_b7 = (_a8 = useRoomLayout()) == null ? void 0 : _a8.logo) == null ? void 0 : _b7.url;
|
|
34614
35222
|
const { pipWindow } = usePIPWindow();
|
|
34615
35223
|
const { showNotification } = useAwayNotifications5();
|