@desplega.ai/agent-swarm 1.152.2 → 1.153.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.
Files changed (224) hide show
  1. package/README.md +1 -1
  2. package/dist/{acp-adapter-pfeje2v5.js → acp-adapter-ahmjxhek.js} +4 -4
  3. package/dist/{actions-0sttc7f5.js → actions-jzrfpkmn.js} +30 -26
  4. package/dist/{anthropic-messages-2y8nktar.js → anthropic-messages-9vqsbznt.js} +112 -84
  5. package/dist/{app-p8teva95.js → app-03na2vwb.js} +9 -6
  6. package/dist/{assistant-r45jnsrt.js → assistant-hfkxvhgt.js} +31 -27
  7. package/dist/{azure-openai-responses-f38x2avq.js → azure-openai-responses-04qwdwfq.js} +27 -13
  8. package/dist/{boot-reembed-je26h5y7.js → boot-reembed-c98xrad3.js} +8 -6
  9. package/dist/{boot-reembed-1qmybsd4.js → boot-reembed-zt3qm9xn.js} +9 -7
  10. package/dist/{boot-scrub-logs-gte3h1mm.js → boot-scrub-logs-jcqd8ksj.js} +6 -4
  11. package/dist/{claude-adapter-csc1mzka.js → claude-adapter-mgryg8g3.js} +17 -15
  12. package/dist/{claude-managed-adapter-dsmkcrjy.js → claude-managed-adapter-ea2aga6w.js} +3 -3
  13. package/dist/{claude-sdk-session-fcd6f078.js → claude-sdk-session-jjf4zss1.js} +17 -15
  14. package/dist/{cli-r2fpe7cx.js → cli-00w2c66p.js} +61 -55
  15. package/dist/{cli-fm4ytsdk.js → cli-0d9nbqxf.js} +1 -1
  16. package/dist/cli-0x5qzvkg.js +4279 -0
  17. package/dist/{cli-d3p82erb.js → cli-18amys3y.js} +9 -9
  18. package/dist/{cli-wbyk465z.js → cli-1hwnb4hc.js} +1 -1
  19. package/dist/{cli-xw7vak96.js → cli-3bcmp015.js} +5 -5
  20. package/dist/cli-3er6gcsn.js +1849 -0
  21. package/dist/{cli-c4eeb5q2.js → cli-5b6b62tz.js} +1 -1
  22. package/dist/{cli-4ahpr4sw.js → cli-5mbmvxnn.js} +5 -5
  23. package/dist/{cli-xy1cchaf.js → cli-5taqtpze.js} +235 -8
  24. package/dist/{cli-fmy65jdn.js → cli-6ks9xf1n.js} +7 -5
  25. package/dist/cli-7g9s78jf.js +2827 -0
  26. package/dist/{cli-jew3jda5.js → cli-7pnz2v6s.js} +2 -2
  27. package/dist/{cli-r84ctdxn.js → cli-83wkg402.js} +2 -2
  28. package/dist/{cli-jvy9qgjs.js → cli-a9scg8sv.js} +4 -4
  29. package/dist/{cli-4yc5d8fk.js → cli-avkd6mqv.js} +50 -0
  30. package/dist/{cli-ht5rs63n.js → cli-b2g6mzjc.js} +15 -6
  31. package/dist/{cli-jbmc0r7r.js → cli-bw0dfwkr.js} +1 -1
  32. package/dist/{cli-8wrympd7.js → cli-bzr0ftht.js} +26 -7
  33. package/dist/{cli-wpv5rgg2.js → cli-cdq08v3r.js} +2 -2
  34. package/dist/cli-cgj4hc12.js +18902 -0
  35. package/dist/cli-d6hk10xx.js +14075 -0
  36. package/dist/{cli-zvgj5zg8.js → cli-djvxhnc4.js} +31 -3324
  37. package/dist/{cli-s25avqg9.js → cli-e781c6f9.js} +1 -0
  38. package/dist/{cli-3bpzj8me.js → cli-eazstkad.js} +2 -2
  39. package/dist/{cli-s2qjdd6z.js → cli-eetrvv91.js} +1 -1
  40. package/dist/cli-h38x0qhg.js +6912 -0
  41. package/dist/{cli-9xvdm3bx.js → cli-h60qfasa.js} +742 -278
  42. package/dist/{pi-mono-adapter-jcqt71cg.js → cli-ja7mrygn.js} +67343 -101083
  43. package/dist/{cli-j8dggbcr.js → cli-k0g1sjzm.js} +23 -31
  44. package/dist/{cli-gphgnvpf.js → cli-m04pt18h.js} +2 -2
  45. package/dist/{cli-rgvp6r2x.js → cli-mcnhgnn1.js} +193 -4
  46. package/dist/{cli-j4nv2wqy.js → cli-mzgyhxbe.js} +10 -4
  47. package/dist/{cli-qn042eh7.js → cli-n0q9b7j4.js} +46 -1870
  48. package/dist/cli-n7h1kqpf.js +29 -0
  49. package/dist/{cli-ckz5t2hb.js → cli-nq0kgyxe.js} +5 -5
  50. package/dist/{cli-z3wkng35.js → cli-qrqhc31j.js} +151 -125
  51. package/dist/{cli-56h18ng2.js → cli-r8tdds6s.js} +1 -1
  52. package/dist/{cli-ch38q5z4.js → cli-rj7de4b2.js} +6788 -2541
  53. package/dist/{cli-qd65dvr6.js → cli-s5s1f2yn.js} +56 -40
  54. package/dist/{cli-kj76p1ez.js → cli-scwq51gn.js} +13 -7
  55. package/dist/{cli-2nnd56zt.js → cli-tdh4hjr2.js} +3 -2
  56. package/dist/{cli-c2mk1kgf.js → cli-v4en75c5.js} +8 -1
  57. package/dist/{cli-b9dd0h3k.js → cli-vw03hg5t.js} +3 -2
  58. package/dist/{cli-zvkq5csn.js → cli-ybpp1srm.js} +6 -6
  59. package/dist/cli-yn0a417a.js +4069 -0
  60. package/dist/{cli-gpqcs935.js → cli-ysc1kbet.js} +2 -2
  61. package/dist/{cli-zfzznn7c.js → cli-ytxs7mn1.js} +26 -2
  62. package/dist/cli-zcsyfw2z.js +3335 -0
  63. package/dist/{cli-4j8k1m4w.js → cli-zt1227k1.js} +1162 -192
  64. package/dist/cli-zy5w9gpt.js +230 -0
  65. package/dist/cli.js +26 -34
  66. package/dist/{codex-adapter-fxmpsabw.js → codex-adapter-8548daap.js} +12 -11
  67. package/dist/{codex-session-runner-rr1e47ea.js → codex-session-runner-2dad8p4x.js} +12 -11
  68. package/dist/{commands-0f5rxz51.js → commands-355dbpa8.js} +6 -4
  69. package/dist/{db-r3jxf3wy.js → db-4jjvwz1s.js} +6 -4
  70. package/dist/{dispatcher-06vph6q4.js → dispatcher-ca590nkz.js} +29 -25
  71. package/dist/dsh-adapter-rgvj6ykp.js +19 -0
  72. package/dist/{e2b-413b8t4v.js → e2b-93x1k0j5.js} +6 -7
  73. package/dist/{google-generative-ai-ndjmj5fa.js → google-generative-ai-xtw7tggr.js} +33 -73
  74. package/dist/{google-vertex-fr665tqs.js → google-vertex-zdqpms6n.js} +38 -68
  75. package/dist/{handlers-0hgtc910.js → handlers-2y6dqpvf.js} +32 -28
  76. package/dist/{hook-9kvrv1er.js → hook-0s8knepr.js} +11 -9
  77. package/dist/{hook-fbfhkat3.js → hook-k0gec254.js} +12 -10
  78. package/dist/{http-xbyx8k5j.js → http-jp2nb4zw.js} +300 -237
  79. package/dist/{index-tfsdxyv6.js → index-0wzg3sp3.js} +39 -24
  80. package/dist/{index-rnyahfn5.js → index-3mq6ce93.js} +29 -25
  81. package/dist/{index-jsw3aynb.js → index-42s7eezq.js} +29 -25
  82. package/dist/{cli-pdz9qde4.js → index-9ch1n761.js} +10 -11
  83. package/dist/{index-gpfn1741.js → index-b56xkbc7.js} +8 -6
  84. package/dist/{index-66xz5e9j.js → index-h5gs261z.js} +521 -9
  85. package/dist/{index-2sp0384z.js → index-kkeftv5h.js} +738 -21
  86. package/dist/{index-sgk50mbg.js → index-s37dbevy.js} +30 -26
  87. package/dist/index-w097eg0x.js +5 -0
  88. package/dist/jiti-loader-b4837mtm.js +34 -0
  89. package/dist/jiti-static-loader-q2g5ds0y.js +31267 -0
  90. package/dist/{keepalive-s3xpr7sw.js → keepalive-9pfw7t02.js} +8 -6
  91. package/dist/{lead-rq4n5r16.js → lead-7vcmcdq4.js} +44 -39
  92. package/dist/{maintenance-f0atj1ab.js → maintenance-x277jbpd.js} +9 -7
  93. package/dist/{mistral-conversations-qhr84ph3.js → mistral-conversations-zx0kn554.js} +24 -18
  94. package/dist/{node-x1g4v0pq.js → node-5qtycf6a.js} +16 -11
  95. package/dist/{oauth-refresh-sweep-q0t3bxre.js → oauth-refresh-sweep-5fwa7th2.js} +7 -5
  96. package/dist/{onboard-br5j1kch.js → onboard-17sv0f51.js} +103 -35
  97. package/dist/{openai-codex-responses-wy6a43wd.js → openai-codex-responses-4vjqzvjp.js} +33 -27
  98. package/dist/{openai-completions-32rdwmze.js → openai-completions-pxsmym7g.js} +52 -64
  99. package/dist/{openai-responses-6xwf7bzg.js → openai-responses-tmn0rqp0.js} +23 -24
  100. package/dist/{opencode-adapter-28axqa09.js → opencode-adapter-qbmv4tpy.js} +6 -6
  101. package/dist/{otel-impl-vdqge2nt.js → otel-impl-srjy4be4.js} +4 -4
  102. package/dist/{pi-messages-b1mbr6gp.js → pi-messages-txpjj39q.js} +3 -3
  103. package/dist/pi-mono-adapter-946a0sdd.js +1316 -0
  104. package/dist/{pricing-refresh-hb3691fd.js → pricing-refresh-vetcm563.js} +8 -6
  105. package/dist/{rbac-roles-jh280k9g.js → rbac-roles-cfzgr6r1.js} +8 -6
  106. package/dist/{rbac-roles-t78xt39b.js → rbac-roles-cmxaddmy.js} +7 -5
  107. package/dist/{render-v2-7p8r2ymg.js → render-v2-f9hzff72.js} +9 -6
  108. package/dist/{seed-pricing-hf889enh.js → seed-pricing-jggk6rsy.js} +7 -5
  109. package/dist/{setup-w6mb03jv.js → setup-8mfceb9t.js} +4 -5
  110. package/dist/virtual-modules-ax661xp0.js +54 -0
  111. package/dist/{work-objects-nt8gy1kj.js → work-objects-vdsdcczj.js} +32 -28
  112. package/dist/{worker-dwy617t0.js → worker-cd0nhyv1.js} +44 -39
  113. package/openapi.json +36 -14
  114. package/package.json +6 -6
  115. package/src/be/automation-preflight.ts +6 -4
  116. package/src/be/extensions/db.ts +35 -4
  117. package/src/be/models-catalog.ts +2 -0
  118. package/src/be/modelsdev-cache.json +213 -0
  119. package/src/be/rbac-audit.ts +2 -0
  120. package/src/be/seed-pricing.ts +3 -1
  121. package/src/be/swarm-config-guard.ts +1 -0
  122. package/src/commands/onboard/compose-generator.ts +6 -1
  123. package/src/commands/onboard/env-generator.ts +6 -1
  124. package/src/commands/onboard/manifest.ts +1 -0
  125. package/src/commands/onboard/steps/integration-slack.tsx +56 -16
  126. package/src/commands/onboard/steps/review.tsx +5 -0
  127. package/src/commands/onboard/types.ts +6 -0
  128. package/src/commands/onboard.tsx +5 -1
  129. package/src/commands/provider-credentials.ts +14 -2
  130. package/src/extensions/lifecycle.ts +15 -21
  131. package/src/http/agents.ts +2 -2
  132. package/src/http/config.ts +1 -1
  133. package/src/http/core.ts +5 -3
  134. package/src/http/extensions.ts +108 -34
  135. package/src/http/status.ts +22 -10
  136. package/src/prompts/base-prompt.ts +15 -7
  137. package/src/providers/claude-managed-models.ts +8 -0
  138. package/src/providers/codex-models.ts +15 -1
  139. package/src/providers/dsh-adapter.ts +248 -0
  140. package/src/providers/index.ts +5 -1
  141. package/src/providers/modelsdev-reasoning.json +50 -0
  142. package/src/rbac/legacy-policy.ts +15 -1
  143. package/src/rbac/types.ts +2 -0
  144. package/src/server.ts +7 -1
  145. package/src/slack/app.ts +32 -10
  146. package/src/slack/config.ts +29 -0
  147. package/src/telemetry.ts +2 -3
  148. package/src/tests/agents-harness-provider.test.ts +19 -0
  149. package/src/tests/agents-list-model-display.test.ts +60 -1
  150. package/src/tests/base-prompt.test.ts +25 -0
  151. package/src/tests/claude-managed-adapter.test.ts +6 -0
  152. package/src/tests/codex-gpt6-release.test.ts +97 -0
  153. package/src/tests/config-api-only-keys.test.ts +9 -0
  154. package/src/tests/context-window.test.ts +1 -0
  155. package/src/tests/dsh-adapter.test.ts +276 -0
  156. package/src/tests/e2e-nightly-report.test.ts +3 -3
  157. package/src/tests/e2e-redact.test.ts +2 -0
  158. package/src/tests/env-flag.test.ts +6 -0
  159. package/src/tests/extensions-db.test.ts +41 -0
  160. package/src/tests/extensions-http.test.ts +148 -4
  161. package/src/tests/extensions-lifecycle.test.ts +18 -0
  162. package/src/tests/extensions-mcp-tools.test.ts +9 -5
  163. package/src/tests/internal-ai/complete-structured.test.ts +32 -9
  164. package/src/tests/internal-ai/credentials.test.ts +4 -4
  165. package/src/tests/internal-ai/models.test.ts +20 -0
  166. package/src/tests/migration-046-budgets.test.ts +2 -0
  167. package/src/tests/model-control.test.ts +2 -2
  168. package/src/tests/onboard-compose.test.ts +14 -0
  169. package/src/tests/onboard-env.test.ts +17 -0
  170. package/src/tests/onboard-manifest.test.ts +12 -0
  171. package/src/tests/opus-5-5-registry.test.ts +48 -0
  172. package/src/tests/pricing-refresh.test.ts +1 -1
  173. package/src/tests/pricing-routes.test.ts +15 -3
  174. package/src/tests/provider-registration.test.ts +5 -2
  175. package/src/tests/rbac-admission-e2e.test.ts +54 -0
  176. package/src/tests/rbac-e2e-helpers.ts +2 -0
  177. package/src/tests/rbac-engine.test.ts +32 -0
  178. package/src/tests/rbac-wire-e2e.test.ts +33 -0
  179. package/src/tests/reasoning-effort.test.ts +8 -0
  180. package/src/tests/reload-config.test.ts +33 -0
  181. package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
  182. package/src/tests/slack-config.test.ts +136 -0
  183. package/src/tests/slack-mode-lifecycle.test.ts +69 -0
  184. package/src/tests/status.test.ts +22 -2
  185. package/src/tests/task-tool-preload-mcp.test.ts +3 -1
  186. package/src/tests/telemetry-init.test.ts +18 -0
  187. package/src/tests/workflow-llm.test.ts +3 -3
  188. package/src/tools/extension-common.ts +4 -0
  189. package/src/tools/extension-install.ts +1 -1
  190. package/src/tools/extension-list.ts +4 -3
  191. package/src/types.ts +17 -8
  192. package/src/utils/context-window.ts +1 -0
  193. package/src/utils/credentials.ts +8 -0
  194. package/src/utils/internal-ai/complete-structured.ts +8 -0
  195. package/src/utils/internal-ai/models.ts +5 -5
  196. package/templates/schedules/daily-status-report/content.md +25 -12
  197. package/templates/schedules/daily-workflow-health-audit/content.md +1 -1
  198. package/templates/skills/swarm-extensions/content.md +9 -5
  199. package/dist/cli-4wppfkcm.js +0 -16384
  200. package/dist/cli-55qrx3q8.js +0 -6041
  201. package/dist/cli-cg4vnyh4.js +0 -305
  202. package/dist/cli-jyetr64j.js +0 -52
  203. package/dist/cli-pp9ax9pa.js +0 -520
  204. package/dist/cli-qa66qaf0.js +0 -6076
  205. package/dist/cli-qghpvca2.js +0 -590
  206. package/dist/cli-rembwgt8.js +0 -861
  207. package/dist/cli-tcvj7j2r.js +0 -1971
  208. package/dist/cli-vfcth11k.js +0 -36
  209. package/dist/cli-w1d1bgkk.js +0 -1422
  210. package/dist/cli-y6x0gqtg.js +0 -5977
  211. package/dist/es5-tj3tn4jj.js +0 -844
  212. package/dist/index-1kq5hw2p.js +0 -467
  213. package/dist/index-1p8wdstt.js +0 -7
  214. package/dist/index-8fdjzb2f.js +0 -100
  215. package/dist/index-bxmwzbgw.js +0 -365
  216. package/dist/index-nzerxd5z.js +0 -7
  217. package/dist/index-pyymnzat.js +0 -1168
  218. package/dist/index-qv6atbab.js +0 -619
  219. package/dist/index-rja32qa7.js +0 -801
  220. package/dist/index-tzg5srfp.js +0 -211
  221. package/dist/index-vhncw983.js +0 -90
  222. package/dist/index-xk036zsk.js +0 -859
  223. package/dist/index-zyazbzcb.js +0 -6
  224. package/dist/{claude-managed-setup-48dwg9bv.js → claude-managed-setup-f5pmsyrp.js} +3 -3
@@ -1,844 +0,0 @@
1
- import {
2
- __commonJS
3
- } from "./cli-bc05qbss.js";
4
-
5
- // node_modules/bowser/es5.js
6
- var require_es5 = __commonJS(function(exports, module) {
7
- (function(e, t) {
8
- typeof exports == "object" && typeof module == "object" ? module.exports = t() : typeof define == "function" && define.amd ? define([], t) : typeof exports == "object" ? exports.bowser = t() : e.bowser = t();
9
- })(exports, function() {
10
- return function(e) {
11
- var t = {};
12
- function r(i) {
13
- if (t[i])
14
- return t[i].exports;
15
- var n = t[i] = { i, l: false, exports: {} };
16
- return e[i].call(n.exports, n, n.exports, r), n.l = true, n.exports;
17
- }
18
- return r.m = e, r.c = t, r.d = function(e2, t2, i) {
19
- r.o(e2, t2) || Object.defineProperty(e2, t2, { enumerable: true, get: i });
20
- }, r.r = function(e2) {
21
- typeof Symbol != "undefined" && Symbol.toStringTag && Object.defineProperty(e2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e2, "__esModule", { value: true });
22
- }, r.t = function(e2, t2) {
23
- if (1 & t2 && (e2 = r(e2)), 8 & t2)
24
- return e2;
25
- if (4 & t2 && typeof e2 == "object" && e2 && e2.__esModule)
26
- return e2;
27
- var i = Object.create(null);
28
- if (r.r(i), Object.defineProperty(i, "default", { enumerable: true, value: e2 }), 2 & t2 && typeof e2 != "string")
29
- for (var n in e2)
30
- r.d(i, n, function(t3) {
31
- return e2[t3];
32
- }.bind(null, n));
33
- return i;
34
- }, r.n = function(e2) {
35
- var t2 = e2 && e2.__esModule ? function() {
36
- return e2.default;
37
- } : function() {
38
- return e2;
39
- };
40
- return r.d(t2, "a", t2), t2;
41
- }, r.o = function(e2, t2) {
42
- return Object.prototype.hasOwnProperty.call(e2, t2);
43
- }, r.p = "", r(r.s = 90);
44
- }({ 17: function(e, t, r) {
45
- t.__esModule = true, t.default = undefined;
46
- var i = r(18), n = function() {
47
- function e2() {}
48
- return e2.getFirstMatch = function(e3, t2) {
49
- var r2 = t2.match(e3);
50
- return r2 && r2.length > 0 && r2[1] || "";
51
- }, e2.getSecondMatch = function(e3, t2) {
52
- var r2 = t2.match(e3);
53
- return r2 && r2.length > 1 && r2[2] || "";
54
- }, e2.matchAndReturnConst = function(e3, t2, r2) {
55
- if (e3.test(t2))
56
- return r2;
57
- }, e2.getWindowsVersionName = function(e3) {
58
- switch (e3) {
59
- case "NT":
60
- return "NT";
61
- case "XP":
62
- return "XP";
63
- case "NT 5.0":
64
- return "2000";
65
- case "NT 5.1":
66
- return "XP";
67
- case "NT 5.2":
68
- return "2003";
69
- case "NT 6.0":
70
- return "Vista";
71
- case "NT 6.1":
72
- return "7";
73
- case "NT 6.2":
74
- return "8";
75
- case "NT 6.3":
76
- return "8.1";
77
- case "NT 10.0":
78
- return "10";
79
- default:
80
- return;
81
- }
82
- }, e2.getMacOSVersionName = function(e3) {
83
- var t2 = e3.split(".").splice(0, 2).map(function(e4) {
84
- return parseInt(e4, 10) || 0;
85
- });
86
- t2.push(0);
87
- var r2 = t2[0], i2 = t2[1];
88
- if (r2 === 10)
89
- switch (i2) {
90
- case 5:
91
- return "Leopard";
92
- case 6:
93
- return "Snow Leopard";
94
- case 7:
95
- return "Lion";
96
- case 8:
97
- return "Mountain Lion";
98
- case 9:
99
- return "Mavericks";
100
- case 10:
101
- return "Yosemite";
102
- case 11:
103
- return "El Capitan";
104
- case 12:
105
- return "Sierra";
106
- case 13:
107
- return "High Sierra";
108
- case 14:
109
- return "Mojave";
110
- case 15:
111
- return "Catalina";
112
- default:
113
- return;
114
- }
115
- switch (r2) {
116
- case 11:
117
- return "Big Sur";
118
- case 12:
119
- return "Monterey";
120
- case 13:
121
- return "Ventura";
122
- case 14:
123
- return "Sonoma";
124
- case 15:
125
- return "Sequoia";
126
- default:
127
- return;
128
- }
129
- }, e2.getAndroidVersionName = function(e3) {
130
- var t2 = e3.split(".").splice(0, 2).map(function(e4) {
131
- return parseInt(e4, 10) || 0;
132
- });
133
- if (t2.push(0), !(t2[0] === 1 && t2[1] < 5))
134
- return t2[0] === 1 && t2[1] < 6 ? "Cupcake" : t2[0] === 1 && t2[1] >= 6 ? "Donut" : t2[0] === 2 && t2[1] < 2 ? "Eclair" : t2[0] === 2 && t2[1] === 2 ? "Froyo" : t2[0] === 2 && t2[1] > 2 ? "Gingerbread" : t2[0] === 3 ? "Honeycomb" : t2[0] === 4 && t2[1] < 1 ? "Ice Cream Sandwich" : t2[0] === 4 && t2[1] < 4 ? "Jelly Bean" : t2[0] === 4 && t2[1] >= 4 ? "KitKat" : t2[0] === 5 ? "Lollipop" : t2[0] === 6 ? "Marshmallow" : t2[0] === 7 ? "Nougat" : t2[0] === 8 ? "Oreo" : t2[0] === 9 ? "Pie" : undefined;
135
- }, e2.getVersionPrecision = function(e3) {
136
- return e3.split(".").length;
137
- }, e2.compareVersions = function(t2, r2, i2) {
138
- i2 === undefined && (i2 = false);
139
- var n2 = e2.getVersionPrecision(t2), a = e2.getVersionPrecision(r2), o = Math.max(n2, a), s = 0, u = e2.map([t2, r2], function(t3) {
140
- var r3 = o - e2.getVersionPrecision(t3), i3 = t3 + new Array(r3 + 1).join(".0");
141
- return e2.map(i3.split("."), function(e3) {
142
- return new Array(20 - e3.length).join("0") + e3;
143
- }).reverse();
144
- });
145
- for (i2 && (s = o - Math.min(n2, a)), o -= 1;o >= s; ) {
146
- if (u[0][o] > u[1][o])
147
- return 1;
148
- if (u[0][o] === u[1][o]) {
149
- if (o === s)
150
- return 0;
151
- o -= 1;
152
- } else if (u[0][o] < u[1][o])
153
- return -1;
154
- }
155
- }, e2.map = function(e3, t2) {
156
- var r2, i2 = [];
157
- if (Array.prototype.map)
158
- return Array.prototype.map.call(e3, t2);
159
- for (r2 = 0;r2 < e3.length; r2 += 1)
160
- i2.push(t2(e3[r2]));
161
- return i2;
162
- }, e2.find = function(e3, t2) {
163
- var r2, i2;
164
- if (Array.prototype.find)
165
- return Array.prototype.find.call(e3, t2);
166
- for (r2 = 0, i2 = e3.length;r2 < i2; r2 += 1) {
167
- var n2 = e3[r2];
168
- if (t2(n2, r2))
169
- return n2;
170
- }
171
- }, e2.assign = function(e3) {
172
- for (var t2, r2, i2 = e3, n2 = arguments.length, a = new Array(n2 > 1 ? n2 - 1 : 0), o = 1;o < n2; o++)
173
- a[o - 1] = arguments[o];
174
- if (Object.assign)
175
- return Object.assign.apply(Object, [e3].concat(a));
176
- var s = function() {
177
- var e4 = a[t2];
178
- typeof e4 == "object" && e4 !== null && Object.keys(e4).forEach(function(t3) {
179
- i2[t3] = e4[t3];
180
- });
181
- };
182
- for (t2 = 0, r2 = a.length;t2 < r2; t2 += 1)
183
- s();
184
- return e3;
185
- }, e2.getBrowserAlias = function(e3) {
186
- return i.BROWSER_ALIASES_MAP[e3];
187
- }, e2.getBrowserTypeByAlias = function(e3) {
188
- return i.BROWSER_MAP[e3] || "";
189
- }, e2;
190
- }();
191
- t.default = n, e.exports = t.default;
192
- }, 18: function(e, t, r) {
193
- t.__esModule = true, t.ENGINE_MAP = t.OS_MAP = t.PLATFORMS_MAP = t.BROWSER_MAP = t.BROWSER_ALIASES_MAP = undefined;
194
- t.BROWSER_ALIASES_MAP = { AmazonBot: "amazonbot", "Amazon Silk": "amazon_silk", "Android Browser": "android", BaiduSpider: "baiduspider", Bada: "bada", BingCrawler: "bingcrawler", Brave: "brave", BlackBerry: "blackberry", "ChatGPT-User": "chatgpt_user", Chrome: "chrome", ClaudeBot: "claudebot", Chromium: "chromium", Diffbot: "diffbot", DuckDuckBot: "duckduckbot", DuckDuckGo: "duckduckgo", Electron: "electron", Epiphany: "epiphany", FacebookExternalHit: "facebookexternalhit", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", GPTBot: "gptbot", "Internet Explorer": "ie", InternetArchiveCrawler: "internetarchivecrawler", "K-Meleon": "k_meleon", LibreWolf: "librewolf", Linespider: "linespider", Maxthon: "maxthon", "Meta-ExternalAds": "meta_externalads", "Meta-ExternalAgent": "meta_externalagent", "Meta-ExternalFetcher": "meta_externalfetcher", "Meta-WebIndexer": "meta_webindexer", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", "OAI-SearchBot": "oai_searchbot", Omgilibot: "omgilibot", Opera: "opera", "Opera Coast": "opera_coast", "Pale Moon": "pale_moon", PerplexityBot: "perplexitybot", "Perplexity-User": "perplexity_user", PhantomJS: "phantomjs", PingdomBot: "pingdombot", Puffin: "puffin", QQ: "qq", QQLite: "qqlite", QupZilla: "qupzilla", Roku: "roku", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SlackBot: "slackbot", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", "Sogou Browser": "sogou", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", YahooSlurp: "yahooslurp", "Yandex Browser": "yandex", YandexBot: "yandexbot", YouBot: "youbot" };
195
- t.BROWSER_MAP = { amazonbot: "AmazonBot", amazon_silk: "Amazon Silk", android: "Android Browser", baiduspider: "BaiduSpider", bada: "Bada", bingcrawler: "BingCrawler", blackberry: "BlackBerry", brave: "Brave", chatgpt_user: "ChatGPT-User", chrome: "Chrome", claudebot: "ClaudeBot", chromium: "Chromium", diffbot: "Diffbot", duckduckbot: "DuckDuckBot", duckduckgo: "DuckDuckGo", edge: "Microsoft Edge", electron: "Electron", epiphany: "Epiphany", facebookexternalhit: "FacebookExternalHit", firefox: "Firefox", focus: "Focus", generic: "Generic", google_search: "Google Search", googlebot: "Googlebot", gptbot: "GPTBot", ie: "Internet Explorer", internetarchivecrawler: "InternetArchiveCrawler", k_meleon: "K-Meleon", librewolf: "LibreWolf", linespider: "Linespider", maxthon: "Maxthon", meta_externalads: "Meta-ExternalAds", meta_externalagent: "Meta-ExternalAgent", meta_externalfetcher: "Meta-ExternalFetcher", meta_webindexer: "Meta-WebIndexer", mz: "MZ Browser", naver: "NAVER Whale Browser", oai_searchbot: "OAI-SearchBot", omgilibot: "Omgilibot", opera: "Opera", opera_coast: "Opera Coast", pale_moon: "Pale Moon", perplexitybot: "PerplexityBot", perplexity_user: "Perplexity-User", phantomjs: "PhantomJS", pingdombot: "PingdomBot", puffin: "Puffin", qq: "QQ Browser", qqlite: "QQ Browser Lite", qupzilla: "QupZilla", roku: "Roku", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", slackbot: "SlackBot", sleipnir: "Sleipnir", sogou: "Sogou Browser", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yahooslurp: "YahooSlurp", yandex: "Yandex Browser", yandexbot: "YandexBot", youbot: "YouBot" };
196
- t.PLATFORMS_MAP = { bot: "bot", desktop: "desktop", mobile: "mobile", tablet: "tablet", tv: "tv" };
197
- t.OS_MAP = { Android: "Android", Bada: "Bada", BlackBerry: "BlackBerry", ChromeOS: "Chrome OS", HarmonyOS: "HarmonyOS", iOS: "iOS", Linux: "Linux", MacOS: "macOS", PlayStation4: "PlayStation 4", Roku: "Roku", Tizen: "Tizen", WebOS: "WebOS", Windows: "Windows", WindowsPhone: "Windows Phone" };
198
- t.ENGINE_MAP = { Blink: "Blink", EdgeHTML: "EdgeHTML", Gecko: "Gecko", Presto: "Presto", Trident: "Trident", WebKit: "WebKit" };
199
- }, 90: function(e, t, r) {
200
- t.__esModule = true, t.default = undefined;
201
- var i, n = (i = r(91)) && i.__esModule ? i : { default: i }, a = r(18);
202
- function o(e2, t2) {
203
- for (var r2 = 0;r2 < t2.length; r2++) {
204
- var i2 = t2[r2];
205
- i2.enumerable = i2.enumerable || false, i2.configurable = true, "value" in i2 && (i2.writable = true), Object.defineProperty(e2, i2.key, i2);
206
- }
207
- }
208
- var s = function() {
209
- function e2() {}
210
- var t2, r2, i2;
211
- return e2.getParser = function(e3, t3, r3) {
212
- if (t3 === undefined && (t3 = false), r3 === undefined && (r3 = null), typeof e3 != "string")
213
- throw new Error("UserAgent should be a string");
214
- return new n.default(e3, t3, r3);
215
- }, e2.parse = function(e3, t3) {
216
- return t3 === undefined && (t3 = null), new n.default(e3, t3).getResult();
217
- }, t2 = e2, i2 = [{ key: "BROWSER_MAP", get: function() {
218
- return a.BROWSER_MAP;
219
- } }, { key: "ENGINE_MAP", get: function() {
220
- return a.ENGINE_MAP;
221
- } }, { key: "OS_MAP", get: function() {
222
- return a.OS_MAP;
223
- } }, { key: "PLATFORMS_MAP", get: function() {
224
- return a.PLATFORMS_MAP;
225
- } }], (r2 = null) && o(t2.prototype, r2), i2 && o(t2, i2), e2;
226
- }();
227
- t.default = s, e.exports = t.default;
228
- }, 91: function(e, t, r) {
229
- t.__esModule = true, t.default = undefined;
230
- var i = u(r(92)), n = u(r(93)), a = u(r(94)), o = u(r(95)), s = u(r(17));
231
- function u(e2) {
232
- return e2 && e2.__esModule ? e2 : { default: e2 };
233
- }
234
- var d = function() {
235
- function e2(e3, t3, r2) {
236
- if (t3 === undefined && (t3 = false), r2 === undefined && (r2 = null), e3 == null || e3 === "")
237
- throw new Error("UserAgent parameter can't be empty");
238
- this._ua = e3;
239
- var i2 = false;
240
- typeof t3 == "boolean" ? (i2 = t3, this._hints = r2) : this._hints = t3 != null && typeof t3 == "object" ? t3 : null, this.parsedResult = {}, i2 !== true && this.parse();
241
- }
242
- var t2 = e2.prototype;
243
- return t2.getHints = function() {
244
- return this._hints;
245
- }, t2.hasBrand = function(e3) {
246
- if (!this._hints || !Array.isArray(this._hints.brands))
247
- return false;
248
- var t3 = e3.toLowerCase();
249
- return this._hints.brands.some(function(e4) {
250
- return e4.brand && e4.brand.toLowerCase() === t3;
251
- });
252
- }, t2.getBrandVersion = function(e3) {
253
- if (this._hints && Array.isArray(this._hints.brands)) {
254
- var t3 = e3.toLowerCase(), r2 = this._hints.brands.find(function(e4) {
255
- return e4.brand && e4.brand.toLowerCase() === t3;
256
- });
257
- return r2 ? r2.version : undefined;
258
- }
259
- }, t2.getUA = function() {
260
- return this._ua;
261
- }, t2.test = function(e3) {
262
- return e3.test(this._ua);
263
- }, t2.parseBrowser = function() {
264
- var e3 = this;
265
- this.parsedResult.browser = {};
266
- var t3 = s.default.find(i.default, function(t4) {
267
- if (typeof t4.test == "function")
268
- return t4.test(e3);
269
- if (Array.isArray(t4.test))
270
- return t4.test.some(function(t5) {
271
- return e3.test(t5);
272
- });
273
- throw new Error("Browser's test function is not valid");
274
- });
275
- return t3 && (this.parsedResult.browser = t3.describe(this.getUA(), this)), this.parsedResult.browser;
276
- }, t2.getBrowser = function() {
277
- return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser();
278
- }, t2.getBrowserName = function(e3) {
279
- return e3 ? String(this.getBrowser().name).toLowerCase() || "" : this.getBrowser().name || "";
280
- }, t2.getBrowserVersion = function() {
281
- return this.getBrowser().version;
282
- }, t2.getOS = function() {
283
- return this.parsedResult.os ? this.parsedResult.os : this.parseOS();
284
- }, t2.parseOS = function() {
285
- var e3 = this;
286
- this.parsedResult.os = {};
287
- var t3 = s.default.find(n.default, function(t4) {
288
- if (typeof t4.test == "function")
289
- return t4.test(e3);
290
- if (Array.isArray(t4.test))
291
- return t4.test.some(function(t5) {
292
- return e3.test(t5);
293
- });
294
- throw new Error("Browser's test function is not valid");
295
- });
296
- return t3 && (this.parsedResult.os = t3.describe(this.getUA())), this.parsedResult.os;
297
- }, t2.getOSName = function(e3) {
298
- var t3 = this.getOS().name;
299
- return e3 ? String(t3).toLowerCase() || "" : t3 || "";
300
- }, t2.getOSVersion = function() {
301
- return this.getOS().version;
302
- }, t2.getPlatform = function() {
303
- return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform();
304
- }, t2.getPlatformType = function(e3) {
305
- e3 === undefined && (e3 = false);
306
- var t3 = this.getPlatform().type;
307
- return e3 ? String(t3).toLowerCase() || "" : t3 || "";
308
- }, t2.parsePlatform = function() {
309
- var e3 = this;
310
- this.parsedResult.platform = {};
311
- var t3 = s.default.find(a.default, function(t4) {
312
- if (typeof t4.test == "function")
313
- return t4.test(e3);
314
- if (Array.isArray(t4.test))
315
- return t4.test.some(function(t5) {
316
- return e3.test(t5);
317
- });
318
- throw new Error("Browser's test function is not valid");
319
- });
320
- return t3 && (this.parsedResult.platform = t3.describe(this.getUA())), this.parsedResult.platform;
321
- }, t2.getEngine = function() {
322
- return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine();
323
- }, t2.getEngineName = function(e3) {
324
- return e3 ? String(this.getEngine().name).toLowerCase() || "" : this.getEngine().name || "";
325
- }, t2.parseEngine = function() {
326
- var e3 = this;
327
- this.parsedResult.engine = {};
328
- var t3 = s.default.find(o.default, function(t4) {
329
- if (typeof t4.test == "function")
330
- return t4.test(e3);
331
- if (Array.isArray(t4.test))
332
- return t4.test.some(function(t5) {
333
- return e3.test(t5);
334
- });
335
- throw new Error("Browser's test function is not valid");
336
- });
337
- return t3 && (this.parsedResult.engine = t3.describe(this.getUA())), this.parsedResult.engine;
338
- }, t2.parse = function() {
339
- return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;
340
- }, t2.getResult = function() {
341
- return s.default.assign({}, this.parsedResult);
342
- }, t2.satisfies = function(e3) {
343
- var t3 = this, r2 = {}, i2 = 0, n2 = {}, a2 = 0;
344
- if (Object.keys(e3).forEach(function(t4) {
345
- var o3 = e3[t4];
346
- typeof o3 == "string" ? (n2[t4] = o3, a2 += 1) : typeof o3 == "object" && (r2[t4] = o3, i2 += 1);
347
- }), i2 > 0) {
348
- var o2 = Object.keys(r2), u2 = s.default.find(o2, function(e4) {
349
- return t3.isOS(e4);
350
- });
351
- if (u2) {
352
- var d2 = this.satisfies(r2[u2]);
353
- if (d2 !== undefined)
354
- return d2;
355
- }
356
- var c = s.default.find(o2, function(e4) {
357
- return t3.isPlatform(e4);
358
- });
359
- if (c) {
360
- var f = this.satisfies(r2[c]);
361
- if (f !== undefined)
362
- return f;
363
- }
364
- }
365
- if (a2 > 0) {
366
- var l = Object.keys(n2), b = s.default.find(l, function(e4) {
367
- return t3.isBrowser(e4, true);
368
- });
369
- if (b !== undefined)
370
- return this.compareVersion(n2[b]);
371
- }
372
- }, t2.isBrowser = function(e3, t3) {
373
- t3 === undefined && (t3 = false);
374
- var r2 = this.getBrowserName().toLowerCase(), i2 = e3.toLowerCase(), n2 = s.default.getBrowserTypeByAlias(i2);
375
- return t3 && n2 && (i2 = n2.toLowerCase()), i2 === r2;
376
- }, t2.compareVersion = function(e3) {
377
- var t3 = [0], r2 = e3, i2 = false, n2 = this.getBrowserVersion();
378
- if (typeof n2 == "string")
379
- return e3[0] === ">" || e3[0] === "<" ? (r2 = e3.substr(1), e3[1] === "=" ? (i2 = true, r2 = e3.substr(2)) : t3 = [], e3[0] === ">" ? t3.push(1) : t3.push(-1)) : e3[0] === "=" ? r2 = e3.substr(1) : e3[0] === "~" && (i2 = true, r2 = e3.substr(1)), t3.indexOf(s.default.compareVersions(n2, r2, i2)) > -1;
380
- }, t2.isOS = function(e3) {
381
- return this.getOSName(true) === String(e3).toLowerCase();
382
- }, t2.isPlatform = function(e3) {
383
- return this.getPlatformType(true) === String(e3).toLowerCase();
384
- }, t2.isEngine = function(e3) {
385
- return this.getEngineName(true) === String(e3).toLowerCase();
386
- }, t2.is = function(e3, t3) {
387
- return t3 === undefined && (t3 = false), this.isBrowser(e3, t3) || this.isOS(e3) || this.isPlatform(e3);
388
- }, t2.some = function(e3) {
389
- var t3 = this;
390
- return e3 === undefined && (e3 = []), e3.some(function(e4) {
391
- return t3.is(e4);
392
- });
393
- }, e2;
394
- }();
395
- t.default = d, e.exports = t.default;
396
- }, 92: function(e, t, r) {
397
- t.__esModule = true, t.default = undefined;
398
- var i, n = (i = r(17)) && i.__esModule ? i : { default: i };
399
- var a = /version\/(\d+(\.?_?\d+)+)/i, o = [{ test: [/gptbot/i], describe: function(e2) {
400
- var t2 = { name: "GPTBot" }, r2 = n.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
401
- return r2 && (t2.version = r2), t2;
402
- } }, { test: [/chatgpt-user/i], describe: function(e2) {
403
- var t2 = { name: "ChatGPT-User" }, r2 = n.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
404
- return r2 && (t2.version = r2), t2;
405
- } }, { test: [/oai-searchbot/i], describe: function(e2) {
406
- var t2 = { name: "OAI-SearchBot" }, r2 = n.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
407
- return r2 && (t2.version = r2), t2;
408
- } }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: function(e2) {
409
- var t2 = { name: "ClaudeBot" }, r2 = n.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
410
- return r2 && (t2.version = r2), t2;
411
- } }, { test: [/omgilibot/i, /webzio-extended/i], describe: function(e2) {
412
- var t2 = { name: "Omgilibot" }, r2 = n.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
413
- return r2 && (t2.version = r2), t2;
414
- } }, { test: [/diffbot/i], describe: function(e2) {
415
- var t2 = { name: "Diffbot" }, r2 = n.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
416
- return r2 && (t2.version = r2), t2;
417
- } }, { test: [/perplexitybot/i], describe: function(e2) {
418
- var t2 = { name: "PerplexityBot" }, r2 = n.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
419
- return r2 && (t2.version = r2), t2;
420
- } }, { test: [/perplexity-user/i], describe: function(e2) {
421
- var t2 = { name: "Perplexity-User" }, r2 = n.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
422
- return r2 && (t2.version = r2), t2;
423
- } }, { test: [/youbot/i], describe: function(e2) {
424
- var t2 = { name: "YouBot" }, r2 = n.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
425
- return r2 && (t2.version = r2), t2;
426
- } }, { test: [/meta-webindexer/i], describe: function(e2) {
427
- var t2 = { name: "Meta-WebIndexer" }, r2 = n.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
428
- return r2 && (t2.version = r2), t2;
429
- } }, { test: [/meta-externalads/i], describe: function(e2) {
430
- var t2 = { name: "Meta-ExternalAds" }, r2 = n.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
431
- return r2 && (t2.version = r2), t2;
432
- } }, { test: [/meta-externalagent/i], describe: function(e2) {
433
- var t2 = { name: "Meta-ExternalAgent" }, r2 = n.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
434
- return r2 && (t2.version = r2), t2;
435
- } }, { test: [/meta-externalfetcher/i], describe: function(e2) {
436
- var t2 = { name: "Meta-ExternalFetcher" }, r2 = n.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
437
- return r2 && (t2.version = r2), t2;
438
- } }, { test: [/googlebot/i], describe: function(e2) {
439
- var t2 = { name: "Googlebot" }, r2 = n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, e2) || n.default.getFirstMatch(a, e2);
440
- return r2 && (t2.version = r2), t2;
441
- } }, { test: [/linespider/i], describe: function(e2) {
442
- var t2 = { name: "Linespider" }, r2 = n.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
443
- return r2 && (t2.version = r2), t2;
444
- } }, { test: [/amazonbot/i], describe: function(e2) {
445
- var t2 = { name: "AmazonBot" }, r2 = n.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
446
- return r2 && (t2.version = r2), t2;
447
- } }, { test: [/bingbot/i], describe: function(e2) {
448
- var t2 = { name: "BingCrawler" }, r2 = n.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
449
- return r2 && (t2.version = r2), t2;
450
- } }, { test: [/baiduspider/i], describe: function(e2) {
451
- var t2 = { name: "BaiduSpider" }, r2 = n.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
452
- return r2 && (t2.version = r2), t2;
453
- } }, { test: [/duckduckbot/i], describe: function(e2) {
454
- var t2 = { name: "DuckDuckBot" }, r2 = n.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
455
- return r2 && (t2.version = r2), t2;
456
- } }, { test: [/ia_archiver/i], describe: function(e2) {
457
- var t2 = { name: "InternetArchiveCrawler" }, r2 = n.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
458
- return r2 && (t2.version = r2), t2;
459
- } }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: function() {
460
- return { name: "FacebookExternalHit" };
461
- } }, { test: [/slackbot/i, /slack-imgProxy/i], describe: function(e2) {
462
- var t2 = { name: "SlackBot" }, r2 = n.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
463
- return r2 && (t2.version = r2), t2;
464
- } }, { test: [/yahoo!?[\s/]*slurp/i], describe: function() {
465
- return { name: "YahooSlurp" };
466
- } }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: function() {
467
- return { name: "YandexBot" };
468
- } }, { test: [/pingdom/i], describe: function() {
469
- return { name: "PingdomBot" };
470
- } }, { test: [/opera/i], describe: function(e2) {
471
- var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, e2);
472
- return r2 && (t2.version = r2), t2;
473
- } }, { test: [/opr\/|opios/i], describe: function(e2) {
474
- var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, e2) || n.default.getFirstMatch(a, e2);
475
- return r2 && (t2.version = r2), t2;
476
- } }, { test: [/SamsungBrowser/i], describe: function(e2) {
477
- var t2 = { name: "Samsung Internet for Android" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
478
- return r2 && (t2.version = r2), t2;
479
- } }, { test: [/Whale/i], describe: function(e2) {
480
- var t2 = { name: "NAVER Whale Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, e2);
481
- return r2 && (t2.version = r2), t2;
482
- } }, { test: [/PaleMoon/i], describe: function(e2) {
483
- var t2 = { name: "Pale Moon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i, e2);
484
- return r2 && (t2.version = r2), t2;
485
- } }, { test: [/MZBrowser/i], describe: function(e2) {
486
- var t2 = { name: "MZ Browser" }, r2 = n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
487
- return r2 && (t2.version = r2), t2;
488
- } }, { test: [/focus/i], describe: function(e2) {
489
- var t2 = { name: "Focus" }, r2 = n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
490
- return r2 && (t2.version = r2), t2;
491
- } }, { test: [/swing/i], describe: function(e2) {
492
- var t2 = { name: "Swing" }, r2 = n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
493
- return r2 && (t2.version = r2), t2;
494
- } }, { test: [/coast/i], describe: function(e2) {
495
- var t2 = { name: "Opera Coast" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, e2);
496
- return r2 && (t2.version = r2), t2;
497
- } }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe: function(e2) {
498
- var t2 = { name: "Opera Touch" }, r2 = n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
499
- return r2 && (t2.version = r2), t2;
500
- } }, { test: [/yabrowser/i], describe: function(e2) {
501
- var t2 = { name: "Yandex Browser" }, r2 = n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
502
- return r2 && (t2.version = r2), t2;
503
- } }, { test: [/ucbrowser/i], describe: function(e2) {
504
- var t2 = { name: "UC Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
505
- return r2 && (t2.version = r2), t2;
506
- } }, { test: [/Maxthon|mxios/i], describe: function(e2) {
507
- var t2 = { name: "Maxthon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
508
- return r2 && (t2.version = r2), t2;
509
- } }, { test: [/epiphany/i], describe: function(e2) {
510
- var t2 = { name: "Epiphany" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, e2);
511
- return r2 && (t2.version = r2), t2;
512
- } }, { test: [/puffin/i], describe: function(e2) {
513
- var t2 = { name: "Puffin" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, e2);
514
- return r2 && (t2.version = r2), t2;
515
- } }, { test: [/sleipnir/i], describe: function(e2) {
516
- var t2 = { name: "Sleipnir" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, e2);
517
- return r2 && (t2.version = r2), t2;
518
- } }, { test: [/k-meleon/i], describe: function(e2) {
519
- var t2 = { name: "K-Meleon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, e2);
520
- return r2 && (t2.version = r2), t2;
521
- } }, { test: [/micromessenger/i], describe: function(e2) {
522
- var t2 = { name: "WeChat" }, r2 = n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
523
- return r2 && (t2.version = r2), t2;
524
- } }, { test: [/qqbrowser/i], describe: function(e2) {
525
- var t2 = { name: /qqbrowserlite/i.test(e2) ? "QQ Browser Lite" : "QQ Browser" }, r2 = n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
526
- return r2 && (t2.version = r2), t2;
527
- } }, { test: [/msie|trident/i], describe: function(e2) {
528
- var t2 = { name: "Internet Explorer" }, r2 = n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, e2);
529
- return r2 && (t2.version = r2), t2;
530
- } }, { test: [/\sedg\//i], describe: function(e2) {
531
- var t2 = { name: "Microsoft Edge" }, r2 = n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, e2);
532
- return r2 && (t2.version = r2), t2;
533
- } }, { test: [/edg([ea]|ios)/i], describe: function(e2) {
534
- var t2 = { name: "Microsoft Edge" }, r2 = n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, e2);
535
- return r2 && (t2.version = r2), t2;
536
- } }, { test: [/vivaldi/i], describe: function(e2) {
537
- var t2 = { name: "Vivaldi" }, r2 = n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, e2);
538
- return r2 && (t2.version = r2), t2;
539
- } }, { test: [/seamonkey/i], describe: function(e2) {
540
- var t2 = { name: "SeaMonkey" }, r2 = n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, e2);
541
- return r2 && (t2.version = r2), t2;
542
- } }, { test: [/sailfish/i], describe: function(e2) {
543
- var t2 = { name: "Sailfish" }, r2 = n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, e2);
544
- return r2 && (t2.version = r2), t2;
545
- } }, { test: [/silk/i], describe: function(e2) {
546
- var t2 = { name: "Amazon Silk" }, r2 = n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, e2);
547
- return r2 && (t2.version = r2), t2;
548
- } }, { test: [/phantom/i], describe: function(e2) {
549
- var t2 = { name: "PhantomJS" }, r2 = n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, e2);
550
- return r2 && (t2.version = r2), t2;
551
- } }, { test: [/slimerjs/i], describe: function(e2) {
552
- var t2 = { name: "SlimerJS" }, r2 = n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, e2);
553
- return r2 && (t2.version = r2), t2;
554
- } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: function(e2) {
555
- var t2 = { name: "BlackBerry" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, e2);
556
- return r2 && (t2.version = r2), t2;
557
- } }, { test: [/(web|hpw)[o0]s/i], describe: function(e2) {
558
- var t2 = { name: "WebOS Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, e2);
559
- return r2 && (t2.version = r2), t2;
560
- } }, { test: [/bada/i], describe: function(e2) {
561
- var t2 = { name: "Bada" }, r2 = n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, e2);
562
- return r2 && (t2.version = r2), t2;
563
- } }, { test: [/tizen/i], describe: function(e2) {
564
- var t2 = { name: "Tizen" }, r2 = n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
565
- return r2 && (t2.version = r2), t2;
566
- } }, { test: [/qupzilla/i], describe: function(e2) {
567
- var t2 = { name: "QupZilla" }, r2 = n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
568
- return r2 && (t2.version = r2), t2;
569
- } }, { test: [/librewolf/i], describe: function(e2) {
570
- var t2 = { name: "LibreWolf" }, r2 = n.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i, e2);
571
- return r2 && (t2.version = r2), t2;
572
- } }, { test: [/firefox|iceweasel|fxios/i], describe: function(e2) {
573
- var t2 = { name: "Firefox" }, r2 = n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
574
- return r2 && (t2.version = r2), t2;
575
- } }, { test: [/electron/i], describe: function(e2) {
576
- var t2 = { name: "Electron" }, r2 = n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, e2);
577
- return r2 && (t2.version = r2), t2;
578
- } }, { test: [/sogoumobilebrowser/i, /metasr/i, /se 2\.[x]/i], describe: function(e2) {
579
- var t2 = { name: "Sogou Browser" }, r2 = n.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i, e2), i2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2), a2 = n.default.getFirstMatch(/se ([\d.]+)x/i, e2), o2 = r2 || i2 || a2;
580
- return o2 && (t2.version = o2), t2;
581
- } }, { test: [/MiuiBrowser/i], describe: function(e2) {
582
- var t2 = { name: "Miui" }, r2 = n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
583
- return r2 && (t2.version = r2), t2;
584
- } }, { test: function(e2) {
585
- return !!e2.hasBrand("DuckDuckGo") || e2.test(/\sDdg\/[\d.]+$/i);
586
- }, describe: function(e2, t2) {
587
- var r2 = { name: "DuckDuckGo" };
588
- if (t2) {
589
- var i2 = t2.getBrandVersion("DuckDuckGo");
590
- if (i2)
591
- return r2.version = i2, r2;
592
- }
593
- var a2 = n.default.getFirstMatch(/\sDdg\/([\d.]+)$/i, e2);
594
- return a2 && (r2.version = a2), r2;
595
- } }, { test: function(e2) {
596
- return e2.hasBrand("Brave");
597
- }, describe: function(e2, t2) {
598
- var r2 = { name: "Brave" };
599
- if (t2) {
600
- var i2 = t2.getBrandVersion("Brave");
601
- if (i2)
602
- return r2.version = i2, r2;
603
- }
604
- return r2;
605
- } }, { test: [/chromium/i], describe: function(e2) {
606
- var t2 = { name: "Chromium" }, r2 = n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
607
- return r2 && (t2.version = r2), t2;
608
- } }, { test: [/chrome|crios|crmo/i], describe: function(e2) {
609
- var t2 = { name: "Chrome" }, r2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2);
610
- return r2 && (t2.version = r2), t2;
611
- } }, { test: [/GSA/i], describe: function(e2) {
612
- var t2 = { name: "Google Search" }, r2 = n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, e2);
613
- return r2 && (t2.version = r2), t2;
614
- } }, { test: function(e2) {
615
- var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i);
616
- return t2 && r2;
617
- }, describe: function(e2) {
618
- var t2 = { name: "Android Browser" }, r2 = n.default.getFirstMatch(a, e2);
619
- return r2 && (t2.version = r2), t2;
620
- } }, { test: [/playstation 4/i], describe: function(e2) {
621
- var t2 = { name: "PlayStation 4" }, r2 = n.default.getFirstMatch(a, e2);
622
- return r2 && (t2.version = r2), t2;
623
- } }, { test: [/safari|applewebkit/i], describe: function(e2) {
624
- var t2 = { name: "Safari" }, r2 = n.default.getFirstMatch(a, e2);
625
- return r2 && (t2.version = r2), t2;
626
- } }, { test: [/.*/i], describe: function(e2) {
627
- var t2 = e2.search("\\(") !== -1 ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /;
628
- return { name: n.default.getFirstMatch(t2, e2), version: n.default.getSecondMatch(t2, e2) };
629
- } }];
630
- t.default = o, e.exports = t.default;
631
- }, 93: function(e, t, r) {
632
- t.__esModule = true, t.default = undefined;
633
- var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
634
- var o = [{ test: [/Roku\/DVP/], describe: function(e2) {
635
- var t2 = n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, e2);
636
- return { name: a.OS_MAP.Roku, version: t2 };
637
- } }, { test: [/windows phone/i], describe: function(e2) {
638
- var t2 = n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, e2);
639
- return { name: a.OS_MAP.WindowsPhone, version: t2 };
640
- } }, { test: [/windows /i], describe: function(e2) {
641
- var t2 = n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, e2), r2 = n.default.getWindowsVersionName(t2);
642
- return { name: a.OS_MAP.Windows, version: t2, versionName: r2 };
643
- } }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: function(e2) {
644
- var t2 = { name: a.OS_MAP.iOS }, r2 = n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/, e2);
645
- return r2 && (t2.version = r2), t2;
646
- } }, { test: [/macintosh/i], describe: function(e2) {
647
- var t2 = n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, e2).replace(/[_\s]/g, "."), r2 = n.default.getMacOSVersionName(t2), i2 = { name: a.OS_MAP.MacOS, version: t2 };
648
- return r2 && (i2.versionName = r2), i2;
649
- } }, { test: [/(ipod|iphone|ipad)/i], describe: function(e2) {
650
- var t2 = n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, e2).replace(/[_\s]/g, ".");
651
- return { name: a.OS_MAP.iOS, version: t2 };
652
- } }, { test: [/OpenHarmony/i], describe: function(e2) {
653
- var t2 = n.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i, e2);
654
- return { name: a.OS_MAP.HarmonyOS, version: t2 };
655
- } }, { test: function(e2) {
656
- var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i);
657
- return t2 && r2;
658
- }, describe: function(e2) {
659
- var t2 = n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, e2), r2 = n.default.getAndroidVersionName(t2), i2 = { name: a.OS_MAP.Android, version: t2 };
660
- return r2 && (i2.versionName = r2), i2;
661
- } }, { test: [/(web|hpw)[o0]s/i], describe: function(e2) {
662
- var t2 = n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, e2), r2 = { name: a.OS_MAP.WebOS };
663
- return t2 && t2.length && (r2.version = t2), r2;
664
- } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: function(e2) {
665
- var t2 = n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, e2) || n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, e2) || n.default.getFirstMatch(/\bbb(\d+)/i, e2);
666
- return { name: a.OS_MAP.BlackBerry, version: t2 };
667
- } }, { test: [/bada/i], describe: function(e2) {
668
- var t2 = n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, e2);
669
- return { name: a.OS_MAP.Bada, version: t2 };
670
- } }, { test: [/tizen/i], describe: function(e2) {
671
- var t2 = n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, e2);
672
- return { name: a.OS_MAP.Tizen, version: t2 };
673
- } }, { test: [/linux/i], describe: function() {
674
- return { name: a.OS_MAP.Linux };
675
- } }, { test: [/CrOS/], describe: function() {
676
- return { name: a.OS_MAP.ChromeOS };
677
- } }, { test: [/PlayStation 4/], describe: function(e2) {
678
- var t2 = n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, e2);
679
- return { name: a.OS_MAP.PlayStation4, version: t2 };
680
- } }];
681
- t.default = o, e.exports = t.default;
682
- }, 94: function(e, t, r) {
683
- t.__esModule = true, t.default = undefined;
684
- var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
685
- var o = [{ test: [/googlebot/i], describe: function() {
686
- return { type: a.PLATFORMS_MAP.bot, vendor: "Google" };
687
- } }, { test: [/linespider/i], describe: function() {
688
- return { type: a.PLATFORMS_MAP.bot, vendor: "Line" };
689
- } }, { test: [/amazonbot/i], describe: function() {
690
- return { type: a.PLATFORMS_MAP.bot, vendor: "Amazon" };
691
- } }, { test: [/gptbot/i], describe: function() {
692
- return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
693
- } }, { test: [/chatgpt-user/i], describe: function() {
694
- return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
695
- } }, { test: [/oai-searchbot/i], describe: function() {
696
- return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
697
- } }, { test: [/baiduspider/i], describe: function() {
698
- return { type: a.PLATFORMS_MAP.bot, vendor: "Baidu" };
699
- } }, { test: [/bingbot/i], describe: function() {
700
- return { type: a.PLATFORMS_MAP.bot, vendor: "Bing" };
701
- } }, { test: [/duckduckbot/i], describe: function() {
702
- return { type: a.PLATFORMS_MAP.bot, vendor: "DuckDuckGo" };
703
- } }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: function() {
704
- return { type: a.PLATFORMS_MAP.bot, vendor: "Anthropic" };
705
- } }, { test: [/omgilibot/i, /webzio-extended/i], describe: function() {
706
- return { type: a.PLATFORMS_MAP.bot, vendor: "Webz.io" };
707
- } }, { test: [/diffbot/i], describe: function() {
708
- return { type: a.PLATFORMS_MAP.bot, vendor: "Diffbot" };
709
- } }, { test: [/perplexitybot/i], describe: function() {
710
- return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" };
711
- } }, { test: [/perplexity-user/i], describe: function() {
712
- return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" };
713
- } }, { test: [/youbot/i], describe: function() {
714
- return { type: a.PLATFORMS_MAP.bot, vendor: "You.com" };
715
- } }, { test: [/ia_archiver/i], describe: function() {
716
- return { type: a.PLATFORMS_MAP.bot, vendor: "Internet Archive" };
717
- } }, { test: [/meta-webindexer/i], describe: function() {
718
- return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
719
- } }, { test: [/meta-externalads/i], describe: function() {
720
- return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
721
- } }, { test: [/meta-externalagent/i], describe: function() {
722
- return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
723
- } }, { test: [/meta-externalfetcher/i], describe: function() {
724
- return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
725
- } }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: function() {
726
- return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
727
- } }, { test: [/slackbot/i, /slack-imgProxy/i], describe: function() {
728
- return { type: a.PLATFORMS_MAP.bot, vendor: "Slack" };
729
- } }, { test: [/yahoo/i], describe: function() {
730
- return { type: a.PLATFORMS_MAP.bot, vendor: "Yahoo" };
731
- } }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: function() {
732
- return { type: a.PLATFORMS_MAP.bot, vendor: "Yandex" };
733
- } }, { test: [/pingdom/i], describe: function() {
734
- return { type: a.PLATFORMS_MAP.bot, vendor: "Pingdom" };
735
- } }, { test: [/huawei/i], describe: function(e2) {
736
- var t2 = n.default.getFirstMatch(/(can-l01)/i, e2) && "Nova", r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Huawei" };
737
- return t2 && (r2.model = t2), r2;
738
- } }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: function() {
739
- return { type: a.PLATFORMS_MAP.tablet, vendor: "Nexus" };
740
- } }, { test: [/ipad/i], describe: function() {
741
- return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
742
- } }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: function() {
743
- return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
744
- } }, { test: [/kftt build/i], describe: function() {
745
- return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" };
746
- } }, { test: [/silk/i], describe: function() {
747
- return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon" };
748
- } }, { test: [/tablet(?! pc)/i], describe: function() {
749
- return { type: a.PLATFORMS_MAP.tablet };
750
- } }, { test: function(e2) {
751
- var t2 = e2.test(/ipod|iphone/i), r2 = e2.test(/like (ipod|iphone)/i);
752
- return t2 && !r2;
753
- }, describe: function(e2) {
754
- var t2 = n.default.getFirstMatch(/(ipod|iphone)/i, e2);
755
- return { type: a.PLATFORMS_MAP.mobile, vendor: "Apple", model: t2 };
756
- } }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: function() {
757
- return { type: a.PLATFORMS_MAP.mobile, vendor: "Nexus" };
758
- } }, { test: [/Nokia/i], describe: function(e2) {
759
- var t2 = n.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i, e2), r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Nokia" };
760
- return t2 && (r2.model = t2), r2;
761
- } }, { test: [/[^-]mobi/i], describe: function() {
762
- return { type: a.PLATFORMS_MAP.mobile };
763
- } }, { test: function(e2) {
764
- return e2.getBrowserName(true) === "blackberry";
765
- }, describe: function() {
766
- return { type: a.PLATFORMS_MAP.mobile, vendor: "BlackBerry" };
767
- } }, { test: function(e2) {
768
- return e2.getBrowserName(true) === "bada";
769
- }, describe: function() {
770
- return { type: a.PLATFORMS_MAP.mobile };
771
- } }, { test: function(e2) {
772
- return e2.getBrowserName() === "windows phone";
773
- }, describe: function() {
774
- return { type: a.PLATFORMS_MAP.mobile, vendor: "Microsoft" };
775
- } }, { test: function(e2) {
776
- var t2 = Number(String(e2.getOSVersion()).split(".")[0]);
777
- return e2.getOSName(true) === "android" && t2 >= 3;
778
- }, describe: function() {
779
- return { type: a.PLATFORMS_MAP.tablet };
780
- } }, { test: function(e2) {
781
- return e2.getOSName(true) === "android";
782
- }, describe: function() {
783
- return { type: a.PLATFORMS_MAP.mobile };
784
- } }, { test: [/smart-?tv|smarttv/i], describe: function() {
785
- return { type: a.PLATFORMS_MAP.tv };
786
- } }, { test: [/netcast/i], describe: function() {
787
- return { type: a.PLATFORMS_MAP.tv };
788
- } }, { test: function(e2) {
789
- return e2.getOSName(true) === "macos";
790
- }, describe: function() {
791
- return { type: a.PLATFORMS_MAP.desktop, vendor: "Apple" };
792
- } }, { test: function(e2) {
793
- return e2.getOSName(true) === "windows";
794
- }, describe: function() {
795
- return { type: a.PLATFORMS_MAP.desktop };
796
- } }, { test: function(e2) {
797
- return e2.getOSName(true) === "linux";
798
- }, describe: function() {
799
- return { type: a.PLATFORMS_MAP.desktop };
800
- } }, { test: function(e2) {
801
- return e2.getOSName(true) === "playstation 4";
802
- }, describe: function() {
803
- return { type: a.PLATFORMS_MAP.tv };
804
- } }, { test: function(e2) {
805
- return e2.getOSName(true) === "roku";
806
- }, describe: function() {
807
- return { type: a.PLATFORMS_MAP.tv };
808
- } }];
809
- t.default = o, e.exports = t.default;
810
- }, 95: function(e, t, r) {
811
- t.__esModule = true, t.default = undefined;
812
- var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
813
- var o = [{ test: function(e2) {
814
- return e2.getBrowserName(true) === "microsoft edge";
815
- }, describe: function(e2) {
816
- if (/\sedg\//i.test(e2))
817
- return { name: a.ENGINE_MAP.Blink };
818
- var t2 = n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, e2);
819
- return { name: a.ENGINE_MAP.EdgeHTML, version: t2 };
820
- } }, { test: [/trident/i], describe: function(e2) {
821
- var t2 = { name: a.ENGINE_MAP.Trident }, r2 = n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, e2);
822
- return r2 && (t2.version = r2), t2;
823
- } }, { test: function(e2) {
824
- return e2.test(/presto/i);
825
- }, describe: function(e2) {
826
- var t2 = { name: a.ENGINE_MAP.Presto }, r2 = n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, e2);
827
- return r2 && (t2.version = r2), t2;
828
- } }, { test: function(e2) {
829
- var t2 = e2.test(/gecko/i), r2 = e2.test(/like gecko/i);
830
- return t2 && !r2;
831
- }, describe: function(e2) {
832
- var t2 = { name: a.ENGINE_MAP.Gecko }, r2 = n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, e2);
833
- return r2 && (t2.version = r2), t2;
834
- } }, { test: [/(apple)?webkit\/537\.36/i], describe: function() {
835
- return { name: a.ENGINE_MAP.Blink };
836
- } }, { test: [/(apple)?webkit/i], describe: function(e2) {
837
- var t2 = { name: a.ENGINE_MAP.WebKit }, r2 = n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, e2);
838
- return r2 && (t2.version = r2), t2;
839
- } }];
840
- t.default = o, e.exports = t.default;
841
- } });
842
- });
843
- });
844
- export default require_es5();