@100mslive/roomkit-react 0.3.39 → 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 +2250 -1625
- 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 +2261 -1636
- 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
|
@@ -34,8 +34,8 @@ var __objRest = (source, exclude) => {
|
|
|
34
34
|
}
|
|
35
35
|
return target;
|
|
36
36
|
};
|
|
37
|
-
var __esm = (
|
|
38
|
-
return
|
|
37
|
+
var __esm = (fn2, res) => function __init() {
|
|
38
|
+
return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
|
|
39
39
|
};
|
|
40
40
|
var __commonJS = (cb, mod) => function __require() {
|
|
41
41
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
@@ -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_d1b8aae5-fafa-4266-96da-0e43c423c6ab", 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", 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", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_d1b8aae5-fafa-4266-96da-0e43c423c6ab", 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", 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: "1875", 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: "20250915.37.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:11660", 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", 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: "17789362075", 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: "42f8cd96ebaaca99872c8dae510b747e6ccd02fb", 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: "bdb33d54fdac620981f021cb63bb43b5371b9101b281f828c42dc7f45b7a6a01", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/main", 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--1758092231516-0.5535623433330032:/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--1758092231323-0.14164655836774864:/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--1758092205292-0.31607679605871053:/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--1758092205120-0.24175984671023176:/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_ee799690-24c7-4e9a-9ded-2277c3280fde", INVOCATION_ID: "ebf4189ba53f4bdaa4eacbe918fac09d", 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: "764", 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 1000045595", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "main", 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", 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", 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: "true", 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: "42f8cd96ebaaca99872c8dae510b747e6ccd02fb", 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/main", 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_d1b8aae5-fafa-4266-96da-0e43c423c6ab", 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_d1b8aae5-fafa-4266-96da-0e43c423c6ab", 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_d1b8aae5-fafa-4266-96da-0e43c423c6ab" };
|
|
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__";
|
|
@@ -2286,8 +2286,8 @@ var require_lodash = __commonJS({
|
|
|
2286
2286
|
function createBind(func, bitmask, thisArg) {
|
|
2287
2287
|
var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
|
|
2288
2288
|
function wrapper() {
|
|
2289
|
-
var
|
|
2290
|
-
return
|
|
2289
|
+
var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2290
|
+
return fn2.apply(isBind ? thisArg : this, arguments);
|
|
2291
2291
|
}
|
|
2292
2292
|
return wrapper;
|
|
2293
2293
|
}
|
|
@@ -2353,8 +2353,8 @@ var require_lodash = __commonJS({
|
|
|
2353
2353
|
arity - length
|
|
2354
2354
|
);
|
|
2355
2355
|
}
|
|
2356
|
-
var
|
|
2357
|
-
return apply(
|
|
2356
|
+
var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2357
|
+
return apply(fn2, this, args);
|
|
2358
2358
|
}
|
|
2359
2359
|
return wrapper;
|
|
2360
2360
|
}
|
|
@@ -2442,7 +2442,7 @@ var require_lodash = __commonJS({
|
|
|
2442
2442
|
arity - length
|
|
2443
2443
|
);
|
|
2444
2444
|
}
|
|
2445
|
-
var thisBinding = isBind ? thisArg : this,
|
|
2445
|
+
var thisBinding = isBind ? thisArg : this, fn2 = isBindKey ? thisBinding[func] : func;
|
|
2446
2446
|
length = args.length;
|
|
2447
2447
|
if (argPos) {
|
|
2448
2448
|
args = reorder(args, argPos);
|
|
@@ -2453,9 +2453,9 @@ var require_lodash = __commonJS({
|
|
|
2453
2453
|
args.length = ary2;
|
|
2454
2454
|
}
|
|
2455
2455
|
if (this && this !== root && this instanceof wrapper) {
|
|
2456
|
-
|
|
2456
|
+
fn2 = Ctor || createCtor(fn2);
|
|
2457
2457
|
}
|
|
2458
|
-
return
|
|
2458
|
+
return fn2.apply(thisBinding, args);
|
|
2459
2459
|
}
|
|
2460
2460
|
return wrapper;
|
|
2461
2461
|
}
|
|
@@ -2512,14 +2512,14 @@ var require_lodash = __commonJS({
|
|
|
2512
2512
|
function createPartial(func, bitmask, thisArg, partials) {
|
|
2513
2513
|
var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
|
|
2514
2514
|
function wrapper() {
|
|
2515
|
-
var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength),
|
|
2515
|
+
var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength), fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2516
2516
|
while (++leftIndex < leftLength) {
|
|
2517
2517
|
args[leftIndex] = partials[leftIndex];
|
|
2518
2518
|
}
|
|
2519
2519
|
while (argsLength--) {
|
|
2520
2520
|
args[leftIndex++] = arguments[++argsIndex];
|
|
2521
2521
|
}
|
|
2522
|
-
return apply(
|
|
2522
|
+
return apply(fn2, isBind ? thisArg : this, args);
|
|
2523
2523
|
}
|
|
2524
2524
|
return wrapper;
|
|
2525
2525
|
}
|
|
@@ -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 ko } from "uuid";
|
|
19954
|
+
import { v4 as Lo } from "uuid";
|
|
19363
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
|
-
|
|
19618
|
-
let
|
|
20210
|
+
cc2.optional = cc2.optional || [];
|
|
20211
|
+
let oc2 = {};
|
|
19619
20212
|
if (typeof r.ideal === "number") {
|
|
19620
|
-
|
|
19621
|
-
|
|
19622
|
-
|
|
19623
|
-
|
|
19624
|
-
|
|
20213
|
+
oc2[oldname_("min", key)] = r.ideal;
|
|
20214
|
+
cc2.optional.push(oc2);
|
|
20215
|
+
oc2 = {};
|
|
20216
|
+
oc2[oldname_("max", key)] = r.ideal;
|
|
20217
|
+
cc2.optional.push(oc2);
|
|
19625
20218
|
} else {
|
|
19626
|
-
|
|
19627
|
-
|
|
20219
|
+
oc2[oldname_("", key)] = r.ideal;
|
|
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 Mn } from "uuid";
|
|
21466
|
-
import { EventEmitter2 as yn } from "eventemitter2";
|
|
21467
|
-
import En from "eventemitter2";
|
|
21468
|
-
import { v4 as Pn } from "uuid";
|
|
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";
|
|
21469
22058
|
import { v4 as In } from "uuid";
|
|
21470
|
-
|
|
21471
|
-
|
|
21472
|
-
|
|
21473
|
-
|
|
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,28 +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
|
-
|
|
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()) };
|
|
21632
22233
|
var As;
|
|
22234
|
+
var We = typeof window == "undefined" && !((As = he.getBrowser().name) != null && As.toLowerCase().includes("electron"));
|
|
22235
|
+
var Ao = () => !We;
|
|
22236
|
+
var bc = Ao();
|
|
21633
22237
|
var Is;
|
|
21634
|
-
var
|
|
21635
|
-
var
|
|
21636
|
-
|
|
21637
|
-
|
|
22238
|
+
var Rs;
|
|
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) {
|
|
21638
22249
|
let a2 = window.location.hostname;
|
|
21639
22250
|
return a2 === "localhost" || a2 === "127.0.0.1" ? "LOCAL" : a2.includes("app.100ms.live") ? "HMS" : "CUSTOM";
|
|
21640
22251
|
}
|
|
21641
22252
|
return "CUSTOM";
|
|
21642
22253
|
}
|
|
21643
|
-
var
|
|
22254
|
+
var Ze = Io();
|
|
21644
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 } };
|
|
21645
22256
|
var E = class a extends Error {
|
|
21646
22257
|
constructor(t, i, r, s, o, n = false) {
|
|
@@ -21697,8 +22308,8 @@ var W = class extends E {
|
|
|
21697
22308
|
}`;
|
|
21698
22309
|
}
|
|
21699
22310
|
};
|
|
21700
|
-
var
|
|
21701
|
-
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"];
|
|
21702
22313
|
var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
21703
22314
|
return new E(k.WebSocketConnectionErrors.FAILED_TO_CONNECT, "WebsocketFailedToConnect", a2, `[WS]: ${e}`, `[WS]: ${e}`);
|
|
21704
22315
|
}, WebSocketConnectionLost(a2, e = "") {
|
|
@@ -21760,7 +22371,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21760
22371
|
}, StatsFailed(a2, e = "") {
|
|
21761
22372
|
return new E(k.WebrtcErrors.STATS_FAILED, "StatsFailed", a2, `Failed to WebRTC get stats - ${e}`, e);
|
|
21762
22373
|
} }, WebsocketMethodErrors: { ServerErrors(a2, e, t) {
|
|
21763
|
-
return new E(a2, "ServerErrors", e, t, t,
|
|
22374
|
+
return new E(a2, "ServerErrors", e, t, t, Ro.includes(e));
|
|
21764
22375
|
}, AlreadyJoined(a2, e = "") {
|
|
21765
22376
|
return new E(k.WebsocketMethodErrors.ALREADY_JOINED, "AlreadyJoined", a2, "[JOIN]: You have already joined this room.", e);
|
|
21766
22377
|
}, CannotJoinPreviewInProgress(a2, e = "") {
|
|
@@ -21808,7 +22419,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21808
22419
|
}, NoEntryPlaying(a2, e) {
|
|
21809
22420
|
return new E(k.PlaylistErrors.NO_ENTRY_IS_PLAYING, "NoEntryIsPlaying", a2, "No entry is playing at this time", e);
|
|
21810
22421
|
} } };
|
|
21811
|
-
var
|
|
22422
|
+
var Hr = class {
|
|
21812
22423
|
constructor() {
|
|
21813
22424
|
this.valuesMap = /* @__PURE__ */ new Map();
|
|
21814
22425
|
}
|
|
@@ -21833,9 +22444,9 @@ var Ar = class {
|
|
|
21833
22444
|
return this.valuesMap.size;
|
|
21834
22445
|
}
|
|
21835
22446
|
};
|
|
21836
|
-
var
|
|
22447
|
+
var Vs = () => {
|
|
21837
22448
|
try {
|
|
21838
|
-
|
|
22449
|
+
x && !localStorage && (window.localStorage = new Hr());
|
|
21839
22450
|
} catch (a2) {
|
|
21840
22451
|
l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied());
|
|
21841
22452
|
}
|
|
@@ -21847,7 +22458,7 @@ var ve = class {
|
|
|
21847
22458
|
}
|
|
21848
22459
|
getStorage() {
|
|
21849
22460
|
try {
|
|
21850
|
-
return
|
|
22461
|
+
return x && !this.storage && (Vs(), this.storage = window.localStorage), this.storage;
|
|
21851
22462
|
} catch (e) {
|
|
21852
22463
|
return l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied()), null;
|
|
21853
22464
|
}
|
|
@@ -21867,32 +22478,32 @@ var ve = class {
|
|
|
21867
22478
|
(e = this.getStorage()) == null || e.removeItem(this.key);
|
|
21868
22479
|
}
|
|
21869
22480
|
};
|
|
21870
|
-
var
|
|
22481
|
+
var ui = () => {
|
|
21871
22482
|
let a2, e = new ve("hms-analytics-deviceId"), t = e.get();
|
|
21872
|
-
return t ? a2 = t : (a2 =
|
|
22483
|
+
return t ? a2 = t : (a2 = Ho(), e.set(a2)), a2;
|
|
21873
22484
|
};
|
|
21874
|
-
function
|
|
22485
|
+
function me(a2) {
|
|
21875
22486
|
return a2 != null;
|
|
21876
22487
|
}
|
|
21877
|
-
var
|
|
21878
|
-
function
|
|
21879
|
-
let t = "web", i =
|
|
21880
|
-
if (
|
|
21881
|
-
return
|
|
21882
|
-
let r =
|
|
21883
|
-
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 });
|
|
21884
22495
|
}
|
|
21885
|
-
function
|
|
22496
|
+
function Lr(a2) {
|
|
21886
22497
|
return a2.replace(/ /g, "_");
|
|
21887
22498
|
}
|
|
21888
|
-
var
|
|
22499
|
+
var $s = (a2, e = ",") => Object.keys(a2).filter((t) => me(a2[t])).map((t) => `${t}:${a2[t]}`).join(e);
|
|
21889
22500
|
var C = class {
|
|
21890
22501
|
constructor({ name: e, level: t, properties: i, includesPII: r, timestamp: s }) {
|
|
21891
|
-
this.metadata = { peer: {}, userAgent:
|
|
21892
|
-
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();
|
|
21893
22504
|
}
|
|
21894
22505
|
toSignalParams() {
|
|
21895
|
-
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() };
|
|
21896
22507
|
}
|
|
21897
22508
|
};
|
|
21898
22509
|
var y = class {
|
|
@@ -21905,12 +22516,12 @@ var y = class {
|
|
|
21905
22516
|
return new C({ name: i, level: r, properties: s });
|
|
21906
22517
|
}
|
|
21907
22518
|
static preview(i) {
|
|
21908
|
-
var r = i, { error: e } = r, t =
|
|
22519
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21909
22520
|
let s = this.eventNameFor("preview", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(t, e);
|
|
21910
22521
|
return new C({ name: s, level: o, properties: n });
|
|
21911
22522
|
}
|
|
21912
22523
|
static join(i) {
|
|
21913
|
-
var r = i, { error: e } = r, t =
|
|
22524
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21914
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);
|
|
21915
22526
|
return new C({ name: s, level: o, properties: n });
|
|
21916
22527
|
}
|
|
@@ -22001,14 +22612,24 @@ var y = class {
|
|
|
22001
22612
|
}
|
|
22002
22613
|
};
|
|
22003
22614
|
y.KEY_REQUESTED_AT = "requested_at", y.KEY_RESPONDED_AT = "responded_at";
|
|
22004
|
-
var
|
|
22615
|
+
var Dr = class {
|
|
22005
22616
|
constructor() {
|
|
22006
22617
|
this.storage = new ve("hms-device-selection");
|
|
22007
22618
|
this.remember = false;
|
|
22008
22619
|
this.TAG = "[HMSDeviceStorage]";
|
|
22009
22620
|
}
|
|
22010
22621
|
setDevices(e) {
|
|
22011
|
-
|
|
22622
|
+
var r;
|
|
22623
|
+
if (this.devices = e, !this.remember)
|
|
22624
|
+
return;
|
|
22625
|
+
let t = this.storage.get();
|
|
22626
|
+
if (!t)
|
|
22627
|
+
return;
|
|
22628
|
+
let i = ["audioInput", "videoInput", "audioOutput"];
|
|
22629
|
+
for (let s of i) {
|
|
22630
|
+
let o = t[s];
|
|
22631
|
+
o && ((r = e[s]) != null && r.some((d) => this.isSame(o, d)) || (l.w(this.TAG, `Removing ${s} device from storage as it's no longer available: ${o.deviceId}`), this.removeSelection(s)));
|
|
22632
|
+
}
|
|
22012
22633
|
}
|
|
22013
22634
|
rememberDevices(e) {
|
|
22014
22635
|
this.remember = e;
|
|
@@ -22024,6 +22645,10 @@ var Hr = class {
|
|
|
22024
22645
|
let s = this.storage.get() || {};
|
|
22025
22646
|
s[e] = r, this.storage.set(s);
|
|
22026
22647
|
}
|
|
22648
|
+
removeSelection(e) {
|
|
22649
|
+
let t = this.storage.get() || {};
|
|
22650
|
+
t[e] && (delete t[e], this.storage.set(t));
|
|
22651
|
+
}
|
|
22027
22652
|
getSelection() {
|
|
22028
22653
|
if (this.remember)
|
|
22029
22654
|
return this.storage.get();
|
|
@@ -22035,19 +22660,19 @@ var Hr = class {
|
|
|
22035
22660
|
return e.deviceId === t.deviceId && (e.groupId === t.groupId || !e.groupId);
|
|
22036
22661
|
}
|
|
22037
22662
|
};
|
|
22038
|
-
var X = new
|
|
22039
|
-
var
|
|
22040
|
-
var
|
|
22041
|
-
var
|
|
22042
|
-
var
|
|
22043
|
-
var
|
|
22044
|
-
var
|
|
22045
|
-
var
|
|
22046
|
-
var
|
|
22047
|
-
var
|
|
22048
|
-
var
|
|
22049
|
-
var
|
|
22050
|
-
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) {
|
|
22051
22676
|
let t;
|
|
22052
22677
|
return function(...i) {
|
|
22053
22678
|
clearTimeout(t), t = void 0;
|
|
@@ -22057,7 +22682,7 @@ function gi(a2, e = 300) {
|
|
|
22057
22682
|
}, e);
|
|
22058
22683
|
};
|
|
22059
22684
|
}
|
|
22060
|
-
var
|
|
22685
|
+
var Wr = class {
|
|
22061
22686
|
constructor() {
|
|
22062
22687
|
this.TAG = "[HMSIntersectionObserverWrapper]";
|
|
22063
22688
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -22080,12 +22705,12 @@ var Vr = class {
|
|
|
22080
22705
|
this.createObserver();
|
|
22081
22706
|
}
|
|
22082
22707
|
isSupported() {
|
|
22083
|
-
let e =
|
|
22708
|
+
let e = x && typeof window.IntersectionObserver != "undefined";
|
|
22084
22709
|
return e || l.w(this.TAG, "IntersectionObserver is not supported, fallback will be used instead"), e;
|
|
22085
22710
|
}
|
|
22086
22711
|
};
|
|
22087
|
-
var
|
|
22088
|
-
var
|
|
22712
|
+
var ra = new Wr();
|
|
22713
|
+
var $r = class {
|
|
22089
22714
|
constructor() {
|
|
22090
22715
|
this.TAG = "[HMSResizeObserverWrapper]";
|
|
22091
22716
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -22098,7 +22723,7 @@ var Fr = class {
|
|
|
22098
22723
|
(t = this.resizeObserver) == null || t.unobserve(e), this.listeners.delete(e);
|
|
22099
22724
|
};
|
|
22100
22725
|
this.createObserver = () => {
|
|
22101
|
-
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(
|
|
22726
|
+
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(Ti(this.handleResize, 300)));
|
|
22102
22727
|
};
|
|
22103
22728
|
this.handleResize = (e) => {
|
|
22104
22729
|
var t;
|
|
@@ -22108,47 +22733,47 @@ var Fr = class {
|
|
|
22108
22733
|
this.createObserver();
|
|
22109
22734
|
}
|
|
22110
22735
|
isSupported() {
|
|
22111
|
-
let e =
|
|
22736
|
+
let e = x && typeof window.ResizeObserver != "undefined";
|
|
22112
22737
|
return e || l.w(this.TAG, "Resize Observer is not supported"), e;
|
|
22113
22738
|
}
|
|
22114
22739
|
};
|
|
22115
|
-
var
|
|
22116
|
-
var
|
|
22117
|
-
var
|
|
22118
|
-
var
|
|
22119
|
-
var
|
|
22120
|
-
var
|
|
22121
|
-
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 {
|
|
22122
22747
|
};
|
|
22123
|
-
|
|
22748
|
+
nt.makePeerId = () => jo();
|
|
22124
22749
|
var F = (a2) => a2.room;
|
|
22125
|
-
var
|
|
22126
|
-
var
|
|
22127
|
-
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);
|
|
22128
22753
|
var z = (a2) => a2.peers;
|
|
22129
|
-
var
|
|
22130
|
-
var
|
|
22754
|
+
var Ii = (a2) => a2.messages.byID;
|
|
22755
|
+
var Ta = (a2) => a2.messages.allIDs;
|
|
22131
22756
|
var N = (a2) => a2.tracks;
|
|
22132
|
-
var
|
|
22133
|
-
var
|
|
22134
|
-
var
|
|
22135
|
-
var
|
|
22136
|
-
var
|
|
22137
|
-
var Ee = createSelector([F, z,
|
|
22138
|
-
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));
|
|
22139
22764
|
var re = createSelector(F, z, (a2, e) => e[a2.localPeer]);
|
|
22140
22765
|
var Ie = createSelector(F, (a2) => a2.localPeer);
|
|
22141
|
-
var
|
|
22142
|
-
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);
|
|
22143
22768
|
var le = createSelector(re, (a2) => a2 == null ? void 0 : a2.audioTrack);
|
|
22144
22769
|
var Z = createSelector(re, (a2) => a2 == null ? void 0 : a2.videoTrack);
|
|
22145
|
-
var
|
|
22146
|
-
var
|
|
22770
|
+
var Zo = createSelector(re, (a2) => a2 == null ? void 0 : a2.auxiliaryTracks);
|
|
22771
|
+
var va = createSelector([le, Z, Zo], (a2, e, t) => {
|
|
22147
22772
|
let i = t ? [...t] : [];
|
|
22148
22773
|
return a2 && i.unshift(a2), e && i.unshift(e), i;
|
|
22149
22774
|
});
|
|
22150
|
-
var
|
|
22151
|
-
var
|
|
22775
|
+
var Nm = createSelector(Ee, (a2) => a2.filter((e) => !e.isLocal));
|
|
22776
|
+
var Om = createSelector(z, zo, (a2, e) => {
|
|
22152
22777
|
let t = Object.entries(e).sort((i, r) => {
|
|
22153
22778
|
var n, d;
|
|
22154
22779
|
let s = ((n = i[1]) == null ? void 0 : n.audioLevel) || 0;
|
|
@@ -22161,112 +22786,112 @@ var Rm = createSelector(z, Wo, (a2, e) => {
|
|
|
22161
22786
|
}
|
|
22162
22787
|
return null;
|
|
22163
22788
|
});
|
|
22164
|
-
var
|
|
22165
|
-
let { video: t, audio: i } =
|
|
22789
|
+
var ts = createSelector(re, N, (a2, e) => {
|
|
22790
|
+
let { video: t, audio: i } = Ge(e, a2);
|
|
22166
22791
|
return !!(t || i);
|
|
22167
22792
|
});
|
|
22168
|
-
var
|
|
22793
|
+
var en = createSelector(z, N, (a2, e) => {
|
|
22169
22794
|
let t;
|
|
22170
22795
|
for (let i in a2) {
|
|
22171
|
-
let r = a2[i], { video: s, audio: o } =
|
|
22796
|
+
let r = a2[i], { video: s, audio: o } = Ge(e, r);
|
|
22172
22797
|
if (s)
|
|
22173
22798
|
return r;
|
|
22174
22799
|
o && !t && (t = r);
|
|
22175
22800
|
}
|
|
22176
22801
|
return t;
|
|
22177
22802
|
});
|
|
22178
|
-
var
|
|
22179
|
-
var
|
|
22803
|
+
var Um = createSelector(en, (a2) => !!a2);
|
|
22804
|
+
var Bm = createSelector(z, N, (a2, e) => {
|
|
22180
22805
|
for (let t in a2) {
|
|
22181
|
-
let i = a2[t], { audio: r, video: s } =
|
|
22806
|
+
let i = a2[t], { audio: r, video: s } = Ge(e, i);
|
|
22182
22807
|
if (!s && r)
|
|
22183
22808
|
return i;
|
|
22184
22809
|
}
|
|
22185
22810
|
});
|
|
22186
|
-
var
|
|
22811
|
+
var Vm = createSelector(z, N, (a2, e) => {
|
|
22187
22812
|
let t = [], i = [];
|
|
22188
22813
|
for (let r in a2) {
|
|
22189
|
-
let s = a2[r], { video: o, audio: n } =
|
|
22814
|
+
let s = a2[r], { video: o, audio: n } = Ge(e, s);
|
|
22190
22815
|
o ? t.push(s) : n && i.push(s);
|
|
22191
22816
|
}
|
|
22192
22817
|
return t.concat(i);
|
|
22193
22818
|
});
|
|
22194
|
-
var
|
|
22819
|
+
var Fm = createSelector(z, N, (a2, e) => {
|
|
22195
22820
|
for (let t in e) {
|
|
22196
22821
|
let i = e[t];
|
|
22197
|
-
if (
|
|
22822
|
+
if (vt(i) && ft(i) && i.peerId)
|
|
22198
22823
|
return a2[i.peerId];
|
|
22199
22824
|
}
|
|
22200
22825
|
});
|
|
22201
|
-
var
|
|
22826
|
+
var Gm = createSelector(z, N, (a2, e) => {
|
|
22202
22827
|
for (let t in e) {
|
|
22203
22828
|
let i = e[t];
|
|
22204
|
-
if (
|
|
22829
|
+
if (li(i) && i.peerId)
|
|
22205
22830
|
return a2[i.peerId];
|
|
22206
22831
|
}
|
|
22207
22832
|
});
|
|
22208
|
-
var
|
|
22209
|
-
var
|
|
22210
|
-
var
|
|
22211
|
-
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) => {
|
|
22212
22837
|
let t = [];
|
|
22213
22838
|
return a2.forEach((i) => {
|
|
22214
22839
|
t.push(e[i]);
|
|
22215
22840
|
}), t;
|
|
22216
22841
|
});
|
|
22217
|
-
var
|
|
22842
|
+
var tn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22218
22843
|
var t;
|
|
22219
22844
|
return !e.recipientPeer && !(e.recipientRoles && ((t = e.recipientRoles) == null ? void 0 : t.length) > 0);
|
|
22220
22845
|
}));
|
|
22221
|
-
var
|
|
22846
|
+
var qm = createSelector(tn, (a2) => a2.filter((e) => !e.read).length);
|
|
22222
22847
|
var se = createSelector([F], (a2) => a2 && a2.roomState);
|
|
22223
|
-
var
|
|
22224
|
-
var
|
|
22225
|
-
var
|
|
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"));
|
|
22226
22851
|
var Pe = (a2) => a2.roles;
|
|
22227
|
-
var
|
|
22228
|
-
var
|
|
22229
|
-
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) => {
|
|
22230
22855
|
var e;
|
|
22231
22856
|
return (e = a2.preview) == null ? void 0 : e.asRole;
|
|
22232
22857
|
};
|
|
22233
|
-
var
|
|
22234
|
-
var
|
|
22858
|
+
var ka = createSelector([rn, Pe], (a2, e) => a2 ? e[a2] : null);
|
|
22859
|
+
var zm = createSelector([dt], (a2) => {
|
|
22235
22860
|
var e;
|
|
22236
22861
|
return (e = a2 == null ? void 0 : a2.subscribeParams) != null && e.subscribeToRoles ? a2.subscribeParams.subscribeToRoles.length > 0 : false;
|
|
22237
22862
|
});
|
|
22238
|
-
var
|
|
22239
|
-
var
|
|
22240
|
-
var
|
|
22241
|
-
var
|
|
22242
|
-
var
|
|
22243
|
-
var
|
|
22244
|
-
var
|
|
22245
|
-
var
|
|
22246
|
-
var
|
|
22247
|
-
var
|
|
22248
|
-
var
|
|
22249
|
-
var
|
|
22250
|
-
var
|
|
22251
|
-
var
|
|
22252
|
-
var
|
|
22253
|
-
var
|
|
22254
|
-
var
|
|
22255
|
-
var
|
|
22256
|
-
var
|
|
22257
|
-
var
|
|
22258
|
-
var
|
|
22259
|
-
var
|
|
22260
|
-
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) => {
|
|
22261
22886
|
if (t.id)
|
|
22262
22887
|
return e[t.id];
|
|
22263
22888
|
});
|
|
22264
|
-
var
|
|
22265
|
-
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") };
|
|
22266
22891
|
function H(a2) {
|
|
22267
22892
|
return (e) => (t) => a2(t, e);
|
|
22268
22893
|
}
|
|
22269
|
-
var
|
|
22894
|
+
var Nt = "HMS-Store:";
|
|
22270
22895
|
var b = class {
|
|
22271
22896
|
static v(e, ...t) {
|
|
22272
22897
|
this.log(0, e, ...t);
|
|
@@ -22296,23 +22921,23 @@ var b = class {
|
|
|
22296
22921
|
if (!(this.level.valueOf() > e.valueOf()))
|
|
22297
22922
|
switch (e) {
|
|
22298
22923
|
case 0: {
|
|
22299
|
-
console.log(
|
|
22924
|
+
console.log(Nt, ...t);
|
|
22300
22925
|
break;
|
|
22301
22926
|
}
|
|
22302
22927
|
case 1: {
|
|
22303
|
-
console.debug(
|
|
22928
|
+
console.debug(Nt, ...t);
|
|
22304
22929
|
break;
|
|
22305
22930
|
}
|
|
22306
22931
|
case 2: {
|
|
22307
|
-
console.info(
|
|
22932
|
+
console.info(Nt, ...t);
|
|
22308
22933
|
break;
|
|
22309
22934
|
}
|
|
22310
22935
|
case 3: {
|
|
22311
|
-
console.warn(
|
|
22936
|
+
console.warn(Nt, ...t);
|
|
22312
22937
|
break;
|
|
22313
22938
|
}
|
|
22314
22939
|
case 6: {
|
|
22315
|
-
console.error(
|
|
22940
|
+
console.error(Nt, ...t);
|
|
22316
22941
|
break;
|
|
22317
22942
|
}
|
|
22318
22943
|
case 4: {
|
|
@@ -22333,133 +22958,133 @@ var b = class {
|
|
|
22333
22958
|
}
|
|
22334
22959
|
};
|
|
22335
22960
|
b.level = 0;
|
|
22336
|
-
var
|
|
22337
|
-
var
|
|
22338
|
-
var
|
|
22339
|
-
var
|
|
22340
|
-
var
|
|
22341
|
-
var Y = createSelector([z,
|
|
22342
|
-
var
|
|
22343
|
-
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) => {
|
|
22344
22969
|
if (!e)
|
|
22345
22970
|
return null;
|
|
22346
22971
|
let t = a2[e];
|
|
22347
22972
|
return (t == null ? void 0 : t.type) === "video" ? t : null;
|
|
22348
22973
|
});
|
|
22349
|
-
var
|
|
22974
|
+
var cn = createSelector([N, Ot], (a2, e) => {
|
|
22350
22975
|
if (!e)
|
|
22351
22976
|
return null;
|
|
22352
22977
|
let t = a2[e];
|
|
22353
22978
|
return (t == null ? void 0 : t.type) === "audio" ? t : null;
|
|
22354
22979
|
});
|
|
22355
|
-
var
|
|
22980
|
+
var dn = createSelector([N, Ot], (a2, e) => {
|
|
22356
22981
|
if (!e)
|
|
22357
22982
|
return null;
|
|
22358
22983
|
let t = a2[e];
|
|
22359
22984
|
return (t == null ? void 0 : t.type) === "audio" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22360
22985
|
});
|
|
22361
|
-
var
|
|
22986
|
+
var ln = createSelector([N, Ot], (a2, e) => {
|
|
22362
22987
|
if (!e)
|
|
22363
22988
|
return null;
|
|
22364
22989
|
let t = a2[e];
|
|
22365
22990
|
return (t == null ? void 0 : t.type) === "video" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22366
22991
|
});
|
|
22367
|
-
var
|
|
22992
|
+
var un = createSelector([Pa, on], (a2, e) => e ? a2[e] : null);
|
|
22368
22993
|
var ee = H(Y);
|
|
22369
|
-
var
|
|
22994
|
+
var kS = H(createSelector([Zr, an], (a2, e) => {
|
|
22370
22995
|
if (a2)
|
|
22371
22996
|
return e ? a2[e] : a2;
|
|
22372
22997
|
}));
|
|
22373
|
-
function
|
|
22998
|
+
function ES(a2) {
|
|
22374
22999
|
return (e) => {
|
|
22375
23000
|
if (e.sessionStore)
|
|
22376
23001
|
return a2 ? e.sessionStore[a2] : e.sessionStore;
|
|
22377
23002
|
};
|
|
22378
23003
|
}
|
|
22379
|
-
var
|
|
22380
|
-
var
|
|
22381
|
-
var
|
|
22382
|
-
var
|
|
22383
|
-
var
|
|
22384
|
-
var
|
|
22385
|
-
var
|
|
22386
|
-
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) => {
|
|
22387
23012
|
let t = Y(a2, e);
|
|
22388
23013
|
if (t && t.videoTrack && t.videoTrack !== "")
|
|
22389
23014
|
return a2.tracks[t.videoTrack];
|
|
22390
23015
|
});
|
|
22391
|
-
var
|
|
23016
|
+
var hn = H((a2, e) => {
|
|
22392
23017
|
let t = Y(a2, e);
|
|
22393
23018
|
if (t && t.audioTrack && t.audioTrack !== "")
|
|
22394
23019
|
return a2.tracks[t.audioTrack];
|
|
22395
23020
|
});
|
|
22396
|
-
var
|
|
23021
|
+
var LS = H((a2, e) => {
|
|
22397
23022
|
let t = Y(a2, e);
|
|
22398
23023
|
return (t == null ? void 0 : t.auxiliaryTracks.map((i) => a2.tracks[i])) || [];
|
|
22399
23024
|
});
|
|
22400
|
-
var
|
|
22401
|
-
var
|
|
22402
|
-
var
|
|
22403
|
-
let t =
|
|
22404
|
-
return
|
|
22405
|
-
};
|
|
22406
|
-
var
|
|
22407
|
-
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) => {
|
|
22408
23033
|
if (e)
|
|
22409
23034
|
return a2.connectionQualities[e];
|
|
22410
23035
|
});
|
|
22411
|
-
var
|
|
23036
|
+
var NS = H((a2, e) => {
|
|
22412
23037
|
let t = Y(a2, e);
|
|
22413
23038
|
if (t) {
|
|
22414
|
-
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]));
|
|
22415
23040
|
return i ? a2.tracks[i] : void 0;
|
|
22416
23041
|
}
|
|
22417
23042
|
});
|
|
22418
|
-
var
|
|
23043
|
+
var OS2 = H(createSelector(N, Y, (a2, e) => {
|
|
22419
23044
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22420
23045
|
let r = a2[i];
|
|
22421
|
-
return
|
|
23046
|
+
return vt(r) && ft(r);
|
|
22422
23047
|
});
|
|
22423
23048
|
return t ? a2[t] : void 0;
|
|
22424
23049
|
}));
|
|
22425
|
-
var
|
|
23050
|
+
var xS = H(createSelector(N, Y, (a2, e) => {
|
|
22426
23051
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22427
23052
|
let r = a2[i];
|
|
22428
|
-
return
|
|
23053
|
+
return vt(r) && Tt(r);
|
|
22429
23054
|
});
|
|
22430
23055
|
return t ? a2[t] : void 0;
|
|
22431
23056
|
}));
|
|
22432
|
-
var
|
|
23057
|
+
var US = H(createSelector(N, Y, (a2, e) => {
|
|
22433
23058
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22434
23059
|
let r = a2[i];
|
|
22435
|
-
return
|
|
23060
|
+
return li(r) && Tt(r);
|
|
22436
23061
|
});
|
|
22437
23062
|
return t ? a2[t] : void 0;
|
|
22438
23063
|
}));
|
|
22439
|
-
var
|
|
22440
|
-
var
|
|
22441
|
-
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) => {
|
|
22442
23067
|
let t = Y(a2, e);
|
|
22443
|
-
return
|
|
23068
|
+
return Ye(a2, t == null ? void 0 : t.audioTrack);
|
|
22444
23069
|
});
|
|
22445
|
-
var
|
|
23070
|
+
var FS = H((a2, e) => {
|
|
22446
23071
|
let t = Y(a2, e);
|
|
22447
|
-
return
|
|
23072
|
+
return Ye(a2, t == null ? void 0 : t.videoTrack);
|
|
22448
23073
|
});
|
|
22449
|
-
var
|
|
23074
|
+
var Va = H((a2, e) => {
|
|
22450
23075
|
if (e && a2.tracks[e])
|
|
22451
23076
|
return a2.tracks[e].volume === 0;
|
|
22452
23077
|
});
|
|
22453
|
-
var
|
|
23078
|
+
var GS = H((a2, e) => {
|
|
22454
23079
|
let t = Y(a2, e);
|
|
22455
|
-
return
|
|
23080
|
+
return Va(t == null ? void 0 : t.audioTrack)(a2);
|
|
22456
23081
|
});
|
|
22457
|
-
var
|
|
22458
|
-
let t =
|
|
22459
|
-
return
|
|
23082
|
+
var WS = H((a2, e) => {
|
|
23083
|
+
let t = Ba(e)(a2);
|
|
23084
|
+
return Va(t == null ? void 0 : t.id)(a2);
|
|
22460
23085
|
});
|
|
22461
|
-
var
|
|
22462
|
-
let t =
|
|
23086
|
+
var Fa = H((a2, e) => {
|
|
23087
|
+
let t = ss(a2, e);
|
|
22463
23088
|
if (t) {
|
|
22464
23089
|
if (t.type !== "audio") {
|
|
22465
23090
|
b.w("Please pass audio track here");
|
|
@@ -22468,16 +23093,16 @@ var _a7 = H((a2, e) => {
|
|
|
22468
23093
|
return t.volume;
|
|
22469
23094
|
}
|
|
22470
23095
|
});
|
|
22471
|
-
var
|
|
23096
|
+
var $S = H((a2, e) => {
|
|
22472
23097
|
let t = Y(a2, e);
|
|
22473
|
-
return
|
|
23098
|
+
return Fa(t == null ? void 0 : t.audioTrack)(a2);
|
|
22474
23099
|
});
|
|
22475
|
-
var
|
|
22476
|
-
let t =
|
|
22477
|
-
return
|
|
23100
|
+
var KS = H((a2, e) => {
|
|
23101
|
+
let t = Ba(e)(a2);
|
|
23102
|
+
return Fa(t == null ? void 0 : t.id)(a2);
|
|
22478
23103
|
});
|
|
22479
|
-
var
|
|
22480
|
-
let t =
|
|
23104
|
+
var qS = H((a2, e) => {
|
|
23105
|
+
let t = ss(a2, e);
|
|
22481
23106
|
if (t) {
|
|
22482
23107
|
if (t.type !== "video") {
|
|
22483
23108
|
b.w("Please pass video track here");
|
|
@@ -22486,50 +23111,50 @@ var US = H((a2, e) => {
|
|
|
22486
23111
|
return t.layer;
|
|
22487
23112
|
}
|
|
22488
23113
|
});
|
|
22489
|
-
var
|
|
23114
|
+
var Ga = createSelector([_t, Ie, rs], (a2, e, t) => {
|
|
22490
23115
|
if (t)
|
|
22491
23116
|
return a2.filter((i) => {
|
|
22492
23117
|
var r;
|
|
22493
23118
|
return !i.recipientPeer && !((r = i.recipientRoles) != null && r.length) || i.sender && ![e, t].includes(i.sender) ? false : [e, t].includes(i.recipientPeer);
|
|
22494
23119
|
});
|
|
22495
23120
|
});
|
|
22496
|
-
var
|
|
23121
|
+
var Wa = createSelector([_t, Na], (a2, e) => {
|
|
22497
23122
|
if (e)
|
|
22498
23123
|
return a2.filter((t) => {
|
|
22499
23124
|
var i, r;
|
|
22500
23125
|
return (i = t.recipientRoles) != null && i.length ? (r = t.recipientRoles) == null ? void 0 : r.includes(e) : false;
|
|
22501
23126
|
});
|
|
22502
23127
|
});
|
|
22503
|
-
var
|
|
23128
|
+
var Sn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22504
23129
|
var t;
|
|
22505
23130
|
return !e.recipientPeer && !((t = e.recipientRoles) != null && t.length);
|
|
22506
23131
|
}));
|
|
22507
|
-
var
|
|
22508
|
-
var
|
|
22509
|
-
var
|
|
22510
|
-
var
|
|
22511
|
-
var
|
|
22512
|
-
var
|
|
22513
|
-
var
|
|
22514
|
-
var
|
|
22515
|
-
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) => {
|
|
22516
23141
|
var r;
|
|
22517
23142
|
return { peer: i, isAudioEnabled: i.audioTrack ? (r = e[i.audioTrack]) == null ? void 0 : r.enabled : false };
|
|
22518
23143
|
}));
|
|
22519
|
-
var
|
|
22520
|
-
var
|
|
22521
|
-
var
|
|
22522
|
-
var
|
|
22523
|
-
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) => {
|
|
22524
23149
|
let t = null;
|
|
22525
23150
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22526
23151
|
});
|
|
22527
|
-
var
|
|
23152
|
+
var yn = createSelector([le, N], (a2, e) => {
|
|
22528
23153
|
let t = null;
|
|
22529
23154
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22530
23155
|
});
|
|
22531
|
-
var
|
|
22532
|
-
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 {
|
|
22533
23158
|
constructor() {
|
|
22534
23159
|
this.TAG = "[HTTPAnalyticsTransport]";
|
|
22535
23160
|
this.failedEvents = new ve("client-events");
|
|
@@ -22548,7 +23173,7 @@ var os = class {
|
|
|
22548
23173
|
this.addEventToStorage(e);
|
|
22549
23174
|
return;
|
|
22550
23175
|
}
|
|
22551
|
-
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;
|
|
22552
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) => {
|
|
22553
23178
|
if (r.status === 401) {
|
|
22554
23179
|
this.removeFromStorage(e);
|
|
@@ -22574,8 +23199,8 @@ var os = class {
|
|
|
22574
23199
|
i > -1 && (t.splice(i, 1), this.failedEvents.set(t));
|
|
22575
23200
|
}
|
|
22576
23201
|
};
|
|
22577
|
-
var He = new
|
|
22578
|
-
var
|
|
23202
|
+
var He = new ds();
|
|
23203
|
+
var qt = class {
|
|
22579
23204
|
static handleError(e) {
|
|
22580
23205
|
if (e.status === 404)
|
|
22581
23206
|
throw S.APIErrors.EndpointUnreachable("FEEDBACK", e.statusText);
|
|
@@ -22601,67 +23226,67 @@ var $t = class {
|
|
|
22601
23226
|
});
|
|
22602
23227
|
}
|
|
22603
23228
|
};
|
|
22604
|
-
|
|
22605
|
-
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 || {});
|
|
22606
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 || {});
|
|
22607
|
-
var
|
|
22608
|
-
var
|
|
22609
|
-
var
|
|
22610
|
-
var
|
|
22611
|
-
var
|
|
22612
|
-
var
|
|
22613
|
-
var
|
|
22614
|
-
var
|
|
22615
|
-
var
|
|
22616
|
-
var
|
|
22617
|
-
var Le = createSelector([
|
|
22618
|
-
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) => {
|
|
22619
23244
|
var e;
|
|
22620
23245
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.packetsLost;
|
|
22621
23246
|
});
|
|
22622
|
-
var
|
|
23247
|
+
var Yn = createSelector(Le, (a2) => {
|
|
22623
23248
|
var e;
|
|
22624
23249
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.jitter;
|
|
22625
23250
|
});
|
|
22626
|
-
var
|
|
23251
|
+
var Xn = createSelector(Le, (a2) => {
|
|
22627
23252
|
var e;
|
|
22628
23253
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bitrate;
|
|
22629
23254
|
});
|
|
22630
|
-
var
|
|
23255
|
+
var Zn = createSelector(Le, (a2) => {
|
|
22631
23256
|
var e;
|
|
22632
23257
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bitrate;
|
|
22633
23258
|
});
|
|
22634
|
-
var
|
|
23259
|
+
var ec = createSelector(Le, (a2) => {
|
|
22635
23260
|
var e;
|
|
22636
23261
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.availableOutgoingBitrate;
|
|
22637
23262
|
});
|
|
22638
|
-
var
|
|
23263
|
+
var tc = createSelector(Le, (a2) => {
|
|
22639
23264
|
var e;
|
|
22640
23265
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.availableIncomingBitrate;
|
|
22641
23266
|
});
|
|
22642
|
-
var
|
|
23267
|
+
var ic = createSelector(Le, (a2) => {
|
|
22643
23268
|
var e;
|
|
22644
23269
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bytesSent;
|
|
22645
23270
|
});
|
|
22646
|
-
var
|
|
23271
|
+
var rc = createSelector(Le, (a2) => {
|
|
22647
23272
|
var e;
|
|
22648
23273
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bytesReceived;
|
|
22649
23274
|
});
|
|
22650
|
-
var
|
|
22651
|
-
var
|
|
22652
|
-
var
|
|
22653
|
-
var
|
|
22654
|
-
var
|
|
22655
|
-
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) => {
|
|
22656
23281
|
var t;
|
|
22657
23282
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22658
23283
|
});
|
|
22659
|
-
var
|
|
22660
|
-
var
|
|
23284
|
+
var dc = H(createSelector(Ss, (a2) => a2 == null ? void 0 : a2[0]));
|
|
23285
|
+
var lc = createSelector([ms, jn], (a2, e) => {
|
|
22661
23286
|
var t;
|
|
22662
23287
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22663
23288
|
});
|
|
22664
|
-
var
|
|
23289
|
+
var uc = H(createSelector(Ss, (a2) => a2));
|
|
22665
23290
|
|
|
22666
23291
|
// src/Prebuilt/components/Header/StreamActions.tsx
|
|
22667
23292
|
import {
|
|
@@ -22780,7 +23405,7 @@ var RecordingStatus = () => {
|
|
|
22780
23405
|
};
|
|
22781
23406
|
var RecordingPauseStatus = () => {
|
|
22782
23407
|
const recording = useHMSStore29(selectRecordingState2);
|
|
22783
|
-
if (recording.hls && recording.hls.state ===
|
|
23408
|
+
if (recording.hls && recording.hls.state === qs.PAUSED) {
|
|
22784
23409
|
return /* @__PURE__ */ React64.createElement(
|
|
22785
23410
|
Tooltip,
|
|
22786
23411
|
{
|
|
@@ -27638,7 +28263,7 @@ var Chat = () => {
|
|
|
27638
28263
|
const listRef = useRef26(null);
|
|
27639
28264
|
const hmsActions = useHMSActions42();
|
|
27640
28265
|
const vanillaStore = useHMSVanillaStore11();
|
|
27641
|
-
const { enabled: isChatEnabled = true } = useHMSStore61(
|
|
28266
|
+
const { enabled: isChatEnabled = true } = useHMSStore61(ES("chatState" /* CHAT_STATE */)) || {};
|
|
27642
28267
|
const isMobile = useMedia20(config.media.md);
|
|
27643
28268
|
const isMobileHLSStream = useMobileHLSStream();
|
|
27644
28269
|
const isLandscapeStream = useLandscapeHLSStream();
|
|
@@ -27728,7 +28353,7 @@ var NewMessageIndicator = ({
|
|
|
27728
28353
|
scrollToBottom,
|
|
27729
28354
|
listRef
|
|
27730
28355
|
}) => {
|
|
27731
|
-
const unreadCount = useHMSStore61(
|
|
28356
|
+
const unreadCount = useHMSStore61(Km);
|
|
27732
28357
|
if (!unreadCount || !listRef.current) {
|
|
27733
28358
|
return null;
|
|
27734
28359
|
}
|
|
@@ -28741,7 +29366,7 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28741
29366
|
const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
|
|
28742
29367
|
const hmsActions = useHMSActions45();
|
|
28743
29368
|
const localPeer = useHMSStore69(selectLocalPeer8);
|
|
28744
|
-
const role = useHMSStore69(
|
|
29369
|
+
const role = useHMSStore69(dt);
|
|
28745
29370
|
const isVideoOn = useHMSStore69(selectIsLocalVideoEnabled6);
|
|
28746
29371
|
const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
|
|
28747
29372
|
const trackSelector = selectVideoTrackByID4(localPeer == null ? void 0 : localPeer.videoTrack);
|
|
@@ -28750,12 +29375,12 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28750
29375
|
const roomState = useHMSStore69(selectRoomState6);
|
|
28751
29376
|
const isLargeRoom = useHMSStore69(selectIsLargeRoom3);
|
|
28752
29377
|
const isEffectsSupported = VBHandler.isEffectsSupported();
|
|
28753
|
-
const isEffectsEnabled = useHMSStore69(
|
|
28754
|
-
const effectsKey = useHMSStore69(
|
|
29378
|
+
const isEffectsEnabled = useHMSStore69(sS);
|
|
29379
|
+
const effectsKey = useHMSStore69(oS);
|
|
28755
29380
|
const isMobile = useMedia24(config.media.md);
|
|
28756
29381
|
const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
|
|
28757
29382
|
const isPluginAdded = useHMSStore69(selectIsLocalVideoPluginPresent(((_a8 = VBHandler) == null ? void 0 : _a8.getName()) || ""));
|
|
28758
|
-
const background = useHMSStore69(
|
|
29383
|
+
const background = useHMSStore69(kS(APP_DATA.background));
|
|
28759
29384
|
const mediaList = backgroundMedia.map((media) => media.url || "");
|
|
28760
29385
|
const pluginLoadingRef = useRef27(false);
|
|
28761
29386
|
const isBlurSupported = (_b7 = VBHandler) == null ? void 0 : _b7.isBlurSupported();
|
|
@@ -34591,8 +35216,8 @@ import { useEffect as useEffect75 } from "react";
|
|
|
34591
35216
|
import { useAwayNotifications as useAwayNotifications5, useHMSNotifications as useHMSNotifications8, useHMSStore as useHMSStore92 } from "@100mslive/react-sdk";
|
|
34592
35217
|
var MessageNotifications = () => {
|
|
34593
35218
|
var _a8, _b7;
|
|
34594
|
-
const notification = useHMSNotifications8(
|
|
34595
|
-
const amIScreenSharing = useHMSStore92(
|
|
35219
|
+
const notification = useHMSNotifications8(br.NEW_MESSAGE);
|
|
35220
|
+
const amIScreenSharing = useHMSStore92(ts);
|
|
34596
35221
|
const logoURL = (_b7 = (_a8 = useRoomLayout()) == null ? void 0 : _a8.logo) == null ? void 0 : _b7.url;
|
|
34597
35222
|
const { pipWindow } = usePIPWindow();
|
|
34598
35223
|
const { showNotification } = useAwayNotifications5();
|