@incodetech/core 2.2.0 → 2.3.0-rc.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 (258) hide show
  1. package/THIRD_PARTY_NOTICES.txt +281 -0
  2. package/dist/BaseWasmProvider-Dyi6dKp1.d.ts +65 -0
  3. package/dist/{BrowserDiagnosticsCryptoProvider-B8vorxN5.esm.js → BrowserDiagnosticsCryptoProvider-C_9o3L2L.esm.js} +1 -1
  4. package/dist/{BrowserVisibilityObserverProvider-BX1BiLDK.esm.js → BrowserVisibilityObserverProvider-BrJN1B8A.esm.js} +2 -0
  5. package/dist/FaceDetectionProvider-DTetAE8H.esm.js +476 -0
  6. package/dist/FaceDetectionProvider-LdZ47bWy.d.ts +36 -0
  7. package/dist/{IIdCaptureCapability-DHTT3FC2.d.ts → IIdCaptureCapability-RNiFhvXR.d.ts} +7 -33
  8. package/dist/IWasmUtilCapability-CXXDA5l1.d.ts +159 -0
  9. package/dist/{MotionSensorProvider-DGiV77J_.esm.js → MotionSensorProvider-BgTYwg9L.esm.js} +1 -1
  10. package/dist/{deepsightService-DLVQS_RH.d.ts → StreamCanvasCapture-B3YT2Bt6.d.ts} +54 -41
  11. package/dist/{StreamCanvasCapture-D2XcXCZ4.esm.js → StreamCanvasCapture-C9jtgBdT.esm.js} +2 -2
  12. package/dist/{addressSearch-D1XpBdUS.esm.js → addressSearch-BRSu_aGA.esm.js} +1 -1
  13. package/dist/advanceableErrors-CpF2cBy6.esm.js +21 -0
  14. package/dist/ae-signature.d.ts +4 -2
  15. package/dist/ae-signature.esm.js +1 -1
  16. package/dist/antifraud.esm.js +2 -2
  17. package/dist/{antifraudManager-CQFNgSPt.esm.js → antifraudManager-Bg9ynGum.esm.js} +2 -2
  18. package/dist/{antifraudStateMachine-Bf_JVNwn.esm.js → antifraudStateMachine-BHxehiJZ.esm.js} +1 -1
  19. package/dist/{apiError-BA1d_au0.esm.js → apiError-D0v5hFyN.esm.js} +14 -2
  20. package/dist/authentication.d.ts +3 -3
  21. package/dist/authentication.esm.js +2 -2
  22. package/dist/{authenticationManager-zh9TC62P.esm.js → authenticationManager-C4B4-29g.esm.js} +5 -5
  23. package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-DXTIUcma.d.ts} +7 -1
  24. package/dist/{authenticationStateMachine-xzi-vnvE.esm.js → authenticationStateMachine-DJ0zUm-A.esm.js} +6 -62
  25. package/dist/avatar.d.ts +1 -2
  26. package/dist/avatar.esm.js +1 -1
  27. package/dist/{backCameraStream-CUeYm5eu.esm.js → backCameraStream-BOtyQowf.esm.js} +83 -22
  28. package/dist/{camera-_2sXMXiF.esm.js → camera-sIa9ceW2.esm.js} +19 -1
  29. package/dist/camera.esm.js +1 -1
  30. package/dist/{canvas-E1zGkel4.esm.js → canvas-BxFzWTt-.esm.js} +19 -0
  31. package/dist/certificate-issuance.d.ts +2 -302
  32. package/dist/certificate-issuance.esm.js +3 -66
  33. package/dist/certificateIssuanceManager-Bfvkq7Cy.esm.js +69 -0
  34. package/dist/certificateIssuanceManager-DCgEidHz.d.ts +312 -0
  35. package/dist/{certificateIssuanceStateMachine-D_R92TYu.esm.js → certificateIssuanceStateMachine-BBD5h8c4.esm.js} +1 -1
  36. package/dist/consent.d.ts +1 -1
  37. package/dist/consent.esm.js +2 -2
  38. package/dist/{consentManager-BxjpLZAG.esm.js → consentManager-B5Vqdez-.esm.js} +2 -2
  39. package/dist/{consentManager-3Pbtj-RV.d.ts → consentManager-uhDPdU6i.d.ts} +4 -4
  40. package/dist/{consentStateMachine-D9D4ON8Z.esm.js → consentStateMachine-DbUmqWgV.esm.js} +1 -1
  41. package/dist/createCameraCycleOwnership-DQ5-F2oW.esm.js +826 -0
  42. package/dist/{createFaceAvatar-DQKaRise.esm.js → createFaceAvatar-BNHdeFj8.esm.js} +2 -2
  43. package/dist/createFaceAvatar-BlcTYgJv.d.ts +497 -0
  44. package/dist/cross-document-data-match.esm.js +1 -1
  45. package/dist/{crossDocumentDataMatchManager-CGT0V6RV.esm.js → crossDocumentDataMatchManager-QMOGwHXR.esm.js} +2 -2
  46. package/dist/curp-validation.d.ts +1 -1
  47. package/dist/curp-validation.esm.js +2 -2
  48. package/dist/{curpValidationManager-6Nmkn5u1.esm.js → curpValidationManager-D1ppROcF.esm.js} +2 -2
  49. package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-SSKNrm5Z.d.ts} +1 -1
  50. package/dist/{curpValidationStateMachine-Ds7KMacK.esm.js → curpValidationStateMachine-DvUPC_8S.esm.js} +1 -1
  51. package/dist/custom-fields.d.ts +2 -114
  52. package/dist/custom-fields.esm.js +2 -232
  53. package/dist/custom-watchlist.d.ts +2 -51
  54. package/dist/custom-watchlist.esm.js +3 -70
  55. package/dist/customFieldsManager-2j_PBq4U.esm.js +264 -0
  56. package/dist/customFieldsManager-8-W2KY4n.d.ts +141 -0
  57. package/dist/customWatchlistManager-DUVrEdw9.esm.js +73 -0
  58. package/dist/customWatchlistManager-PBWHr_oM.d.ts +64 -0
  59. package/dist/{customWatchlistStateMachine-YWSgKLbF.esm.js → customWatchlistStateMachine-qZVgkKgP.esm.js} +1 -1
  60. package/dist/{deepsightLoader--wMKWECS.esm.js → deepsightLoader-Dm7ejW4v.esm.js} +27 -71
  61. package/dist/device.d.ts +25 -2
  62. package/dist/device.esm.js +69 -7
  63. package/dist/document-capture.d.ts +2 -2
  64. package/dist/document-capture.esm.js +2 -2
  65. package/dist/{documentCaptureManager-DsQQhWry.esm.js → documentCaptureManager-DR_Wv-3H.esm.js} +2 -2
  66. package/dist/{documentCaptureManager-B3t0ydtg.d.ts → documentCaptureManager-DensIj5F.d.ts} +83 -83
  67. package/dist/{documentCaptureStateMachine-BM4Ex_5x.esm.js → documentCaptureStateMachine-CWOATHfE.esm.js} +5 -5
  68. package/dist/dynamic-forms.d.ts +1 -1
  69. package/dist/dynamic-forms.esm.js +2 -2
  70. package/dist/{dynamicFormsManager-fhK0yINk.d.ts → dynamicFormsManager-D5R_uxLQ.d.ts} +25 -3
  71. package/dist/{dynamicFormsManager-fFVIRBNv.esm.js → dynamicFormsManager-Dt98SDfV.esm.js} +16 -5
  72. package/dist/{dynamicFormsStateMachine-D6D7oEYk.esm.js → dynamicFormsStateMachine-obKr4IIp.esm.js} +35 -3
  73. package/dist/ekyb.d.ts +1 -1
  74. package/dist/ekyb.esm.js +3 -3
  75. package/dist/{ekybManager-Y3MkoXpC.esm.js → ekybManager-DNZKrKF3.esm.js} +2 -2
  76. package/dist/{ekybStateMachine-3nlnqdlr.esm.js → ekybStateMachine-DjhHQXZ8.esm.js} +3 -3
  77. package/dist/ekyc.esm.js +2 -2
  78. package/dist/{ekycManager-DgT48ky6.esm.js → ekycManager-CmQBpeiI.esm.js} +2 -2
  79. package/dist/{ekycStateMachine-CQwqiR-R.esm.js → ekycStateMachine-CmdW2gVm.esm.js} +2 -2
  80. package/dist/electronic-signature.d.ts +3 -3
  81. package/dist/electronic-signature.esm.js +2 -2
  82. package/dist/electronicSignatureManager-Ds-KEVTq.d.ts +2786 -0
  83. package/dist/{electronicSignatureManager-DGbAJ00W.esm.js → electronicSignatureManager-DzulxM4_.esm.js} +357 -51
  84. package/dist/email.esm.js +2 -2
  85. package/dist/{emailManager-BY0jeYwR.esm.js → emailManager-B5ek_UfM.esm.js} +2 -2
  86. package/dist/{emailStateMachine-Crw8QVmc.esm.js → emailStateMachine-CyPFZ7dW.esm.js} +1 -1
  87. package/dist/{endpoints-CCzL3XD_.esm.js → endpoints-D3B9mUHh.esm.js} +24 -7
  88. package/dist/{events-DYiyoSlx.esm.js → events-ijlbX_Wx.esm.js} +2 -2
  89. package/dist/events.d.ts +1 -1
  90. package/dist/events.esm.js +1 -1
  91. package/dist/extensibility.d.ts +24 -64
  92. package/dist/extensibility.esm.js +35 -29
  93. package/dist/face-match.esm.js +2 -2
  94. package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-CvtqcLxs.d.ts} +87 -54
  95. package/dist/{faceCaptureManagerFactory-CVnZ0fa5.esm.js → faceCaptureManagerFactory-pCmG4MeF.esm.js} +68 -7
  96. package/dist/faceCaptureSetup-BSextack.esm.js +2106 -0
  97. package/dist/{faceMatchManager-Ri4UbNz0.esm.js → faceMatchManager-Caal2zyV.esm.js} +2 -2
  98. package/dist/{faceMatchStateMachine-20DdZ3jg.esm.js → faceMatchStateMachine-BUc5FXYy.esm.js} +1 -1
  99. package/dist/{feature-management-CPQ4qv3F.esm.js → feature-management-B0sGlozZ.esm.js} +32 -7
  100. package/dist/feature-management.d.ts +1 -1
  101. package/dist/feature-management.esm.js +1 -1
  102. package/dist/field-comparison.esm.js +1 -1
  103. package/dist/{fieldComparisonManager-Cg6kPQQx.esm.js → fieldComparisonManager-BIs6HPJG.esm.js} +2 -2
  104. package/dist/fiscal-qr.d.ts +2 -56
  105. package/dist/fiscal-qr.esm.js +2 -308
  106. package/dist/fiscalQrManager-Bp_-3LJr.esm.js +34131 -0
  107. package/dist/fiscalQrManager-CHcBJwUM.d.ts +68 -0
  108. package/dist/flow-events.d.ts +1 -1
  109. package/dist/flow.d.ts +212 -185
  110. package/dist/flow.esm.js +119 -30
  111. package/dist/{flowCompletionService-tfeoGre9.esm.js → flowCompletionService-CLtbWhSK.esm.js} +2 -2
  112. package/dist/{flowServices-f5Ruz7R9.esm.js → flowServices-B5FwukTQ.esm.js} +91 -26
  113. package/dist/geolocation.esm.js +2 -2
  114. package/dist/{geolocationManager-CH6RfqFH.esm.js → geolocationManager-DIw-xq9a.esm.js} +2 -2
  115. package/dist/{geolocationStateMachine-DmbWFely.esm.js → geolocationStateMachine-DpG0TFOU.esm.js} +3 -3
  116. package/dist/getBrowser-CBiibsL-.esm.js +19 -0
  117. package/dist/{getBrowser-DNrQeL4T.esm.js → getBrowser-Cbe1C4Tn.esm.js} +2 -1
  118. package/dist/{getDeviceClass-9y-kbVDw.esm.js → getDeviceClass-5NYZg9s6.esm.js} +2 -2
  119. package/dist/getParsedUserAgent-B2iFDql1.esm.js +1278 -0
  120. package/dist/government-validation.d.ts +2 -85
  121. package/dist/government-validation.esm.js +3 -120
  122. package/dist/governmentValidationManager-D02vT4yY.d.ts +63 -0
  123. package/dist/governmentValidationManager-TjC9iVjH.esm.js +79 -0
  124. package/dist/governmentValidationStateMachine-D1ZnEqdd.esm.js +54 -0
  125. package/dist/home.d.ts +1 -1
  126. package/dist/home.esm.js +1 -1
  127. package/dist/id-ocr.d.ts +2 -2
  128. package/dist/id-ocr.esm.js +2 -2
  129. package/dist/id-selfie-flow.d.ts +3 -2
  130. package/dist/id-selfie-flow.esm.js +11 -10
  131. package/dist/id-verification.esm.js +2 -2
  132. package/dist/id.d.ts +29 -5
  133. package/dist/id.esm.js +48 -46
  134. package/dist/idCaptureDefaults-BcxjQDI3.esm.js +484 -0
  135. package/dist/{idCaptureManager-CqrqSjJV.d.ts → idCaptureManager-CvmHOWWd.d.ts} +227 -39
  136. package/dist/{idCaptureManager-BYwTZ2H8.esm.js → idCaptureManager-Vby8oYqh.esm.js} +259 -46
  137. package/dist/{idCaptureServices-44kwQItl.esm.js → idCaptureServices-CJIxD9ep.esm.js} +342 -31
  138. package/dist/idCaptureStateMachine-CmqihkUy.esm.js +5343 -0
  139. package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
  140. package/dist/{idOcrManager-BIQYQXXj.esm.js → idOcrManager-DHU22hVn.esm.js} +2 -2
  141. package/dist/{idOcrStateMachine-cSxzHpHt.esm.js → idOcrStateMachine-33UvRAHE.esm.js} +1 -1
  142. package/dist/{idVerificationManager-JpV_SAsl.esm.js → idVerificationManager-CyaixD0D.esm.js} +2 -2
  143. package/dist/{idVerificationStateMachine-nPeUNyFq.esm.js → idVerificationStateMachine-BPGrQZEm.esm.js} +1 -1
  144. package/dist/identity-reuse.esm.js +2 -2
  145. package/dist/{identityReuseManager-kNCg9AbD.esm.js → identityReuseManager-CWaNHBO3.esm.js} +2 -2
  146. package/dist/{identityReuseStateMachine-DyulxDjP.esm.js → identityReuseStateMachine-CQgnATo5.esm.js} +1 -1
  147. package/dist/{index-CLMF0QLQ.d.ts → index-DLcJT5YP.d.ts} +1 -1
  148. package/dist/index.d.ts +1 -1
  149. package/dist/index.esm.js +1 -1
  150. package/dist/{invokeOnCaptureCallback-GpvMuz9o.esm.js → invokeOnCaptureCallback-BjzPjJ_p.esm.js} +1 -1
  151. package/dist/mandatory-consent.d.ts +2 -2
  152. package/dist/mandatory-consent.esm.js +2 -2
  153. package/dist/{mandatoryConsentManager-DyPzUmsZ.d.ts → mandatoryConsentManager-CJSyhTpi.d.ts} +5 -5
  154. package/dist/{mandatoryConsentManager-B4Niyg_u.esm.js → mandatoryConsentManager-Du-m-tZ_.esm.js} +2 -2
  155. package/dist/{mandatoryConsentStateMachine-B4-1u-L8.esm.js → mandatoryConsentStateMachine-DSDAk7WZ.esm.js} +1 -1
  156. package/dist/multipartRecordingService-B3C_zlev.esm.js +594 -0
  157. package/dist/{permissionGuards-KINpmKtI.esm.js → permissionGuards-uYZYFu4J.esm.js} +1 -1
  158. package/dist/{permissionServices-UvUcOSRb.esm.js → permissionServices-Bj_fyWtv.esm.js} +5 -5
  159. package/dist/personhood.d.ts +6 -5
  160. package/dist/personhood.esm.js +10 -10
  161. package/dist/phone.esm.js +2 -2
  162. package/dist/{phoneManager-FsJ0W2Ei.esm.js → phoneManager-N1-sbrY4.esm.js} +2 -2
  163. package/dist/{phoneStateMachine-Ba0wKHyX.esm.js → phoneStateMachine-jl8LJKCo.esm.js} +1 -1
  164. package/dist/{platform-BJrm5nzZ.esm.js → platform-DkcRc9JV.esm.js} +29 -1
  165. package/dist/qe-signature.d.ts +5 -3
  166. package/dist/qe-signature.esm.js +2 -2
  167. package/dist/recordingsRepository-CCWy13M-.esm.js +72 -0
  168. package/dist/redirect-to-mobile.esm.js +2 -2
  169. package/dist/{redirectToMobileManager-y4VQB11M.esm.js → redirectToMobileManager-DsFzdTwA.esm.js} +2 -2
  170. package/dist/{redirectToMobileStateMachine-Cyv2x0PP.esm.js → redirectToMobileStateMachine-v3otpT-L.esm.js} +1 -1
  171. package/dist/{rolldown-runtime-FZ4Itg2g.esm.js → rolldown-runtime-FDOR9p9I.esm.js} +1 -19
  172. package/dist/{runChildModule-Dukuw23X.esm.js → runChildModule-TuyGE00X.esm.js} +3 -21
  173. package/dist/safeStorage-B-trhxg6.esm.js +423 -0
  174. package/dist/{sdkVersion-D1Bm59g6.esm.js → sdkVersion-CLxKvdyz.esm.js} +1 -1
  175. package/dist/selfie.d.ts +5 -5
  176. package/dist/selfie.esm.js +14 -76
  177. package/dist/{selfieErrorUtils-C2PYBVsp.esm.js → selfieErrorUtils-C77GXJH6.esm.js} +30 -4
  178. package/dist/{selfieManager-Bj6B2ZVy.esm.js → selfieManager-CihVnODO.esm.js} +5 -5
  179. package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-D1KRJ39M.d.ts} +8 -11
  180. package/dist/selfieStateMachine-fwMmNtOi.esm.js +69 -0
  181. package/dist/{session-BFdLgN4i.esm.js → session-BHIeAamR.esm.js} +4 -5
  182. package/dist/session.d.ts +21 -11
  183. package/dist/session.esm.js +5 -5
  184. package/dist/{sessionInitializer-dlfDehHk.esm.js → sessionInitializer-BLoK7SP9.esm.js} +187 -68
  185. package/dist/{setup-BgoWtvIS.d.ts → setup-Cv-JM9QC.d.ts} +63 -69
  186. package/dist/{setup-BIAtLa8k.esm.js → setup-msLybMbC.esm.js} +226 -100
  187. package/dist/signature.esm.js +2 -2
  188. package/dist/{signatureManager-Ca43yhwk.esm.js → signatureManager-ChsB-nMD.esm.js} +2 -2
  189. package/dist/{signatureStateMachine-K1LMRrxG.esm.js → signatureStateMachine-BHPwkJZS.esm.js} +1 -1
  190. package/dist/{src-0Jurt29N.esm.js → src-35ekGRzK.esm.js} +1 -1
  191. package/dist/{stats-B0nFKawG.esm.js → stats-DkK-f8JT.esm.js} +1 -1
  192. package/dist/stats.esm.js +1 -1
  193. package/dist/{trueSightService---iW2KKJ.esm.js → trueSightService-CKrrfV0Q.esm.js} +7 -7
  194. package/dist/trust-graph.esm.js +1 -1
  195. package/dist/{types-BX_XkMsQ2.d.ts → types-9_esGTPj.d.ts} +1 -1
  196. package/dist/types-BT_Oalip.d.ts +1 -0
  197. package/dist/{types-DelMqZLe.d.ts → types-BjSly8cp.d.ts} +1 -1
  198. package/dist/{types-Hmd7U0JA.d.ts → types-CM-jtjJ2.d.ts} +6 -81
  199. package/dist/{types-Bdf8_LYB2.d.ts → types-CjKBS37a2.d.ts} +303 -13
  200. package/dist/{types-DVmXIdzW.d.ts → types-D0gekt4U.d.ts} +38 -5
  201. package/dist/types-DgDvvzg0.d.ts +10 -0
  202. package/dist/{types-KPvmag_B.d.ts → types-Do5rEXij.d.ts} +7 -4
  203. package/dist/types-ZT1XFIJ8.d.ts +6 -0
  204. package/dist/video-selfie.d.ts +59 -35
  205. package/dist/video-selfie.esm.js +510 -601
  206. package/dist/{videoSelfieCameraWarmer-NEhFZvWx.esm.js → videoSelfieCameraWarmer-CB1IzZkt.esm.js} +14 -153
  207. package/dist/videoSelfieFlowModuleMachine-BUe2uACW.esm.js +32 -0
  208. package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-5YHFe0Mq.d.ts} +21 -5
  209. package/dist/virtualCameraCheck-WOloJ-do.esm.js +48 -0
  210. package/dist/warmup-CUUnwYxe.esm.js +714 -0
  211. package/dist/warmup-Cis2p6O0.d.ts +128 -0
  212. package/dist/wasm.d.ts +30 -6
  213. package/dist/wasm.esm.js +36 -4
  214. package/dist/{wasmDsFlagSync-BqUCwLY8.esm.js → wasmDsFlagSync-B2e8p268.esm.js} +2 -2
  215. package/dist/{wasmWebClient-DM8lkb0z.esm.js → wasmWebClient-B7baE-Wf.esm.js} +358 -28
  216. package/dist/watchlist-for-business.d.ts +2 -78
  217. package/dist/watchlist-for-business.esm.js +3 -102
  218. package/dist/watchlist.esm.js +2 -2
  219. package/dist/watchlistForBusinessManager-CpuuB1J2.esm.js +107 -0
  220. package/dist/watchlistForBusinessManager-CsnJnG-C.d.ts +99 -0
  221. package/dist/{watchlistForBusinessStateMachine-CxFnlshm.esm.js → watchlistForBusinessStateMachine-DEzgjz7C.esm.js} +13 -6
  222. package/dist/{watchlistManager-LoNZH9qm.esm.js → watchlistManager-CI8BHFob.esm.js} +2 -2
  223. package/dist/{watchlistStateMachine-DIKQDoUT.esm.js → watchlistStateMachine-DvOby3a-.esm.js} +1 -1
  224. package/dist/workflow.d.ts +12 -8
  225. package/dist/workflow.esm.js +48 -39
  226. package/package.json +4 -10
  227. package/dist/BrowserStorageProvider-k-FDkC4W.esm.js +0 -67
  228. package/dist/FaceDetectionProvider-Mh6q3EbA.d.ts +0 -349
  229. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +0 -23
  230. package/dist/IStorageCapability-ORkQfK3F.d.ts +0 -242
  231. package/dist/OpenViduRecordingProvider-Du98qevC.esm.js +0 -85
  232. package/dist/createFaceAvatar-BEj18KXi.d.ts +0 -50
  233. package/dist/document-upload.d.ts +0 -325
  234. package/dist/document-upload.esm.js +0 -197
  235. package/dist/electronicSignatureManager-CcUXQZS7.d.ts +0 -1300
  236. package/dist/faceCaptureSetup-Cd-04W_X.esm.js +0 -863
  237. package/dist/getBrowser-Cb8Zgrgp.esm.js +0 -7
  238. package/dist/getParsedUserAgent-pJjATANs.esm.js +0 -1622
  239. package/dist/governmentValidationStateMachine-CK9DrZXX.esm.js +0 -226
  240. package/dist/idCaptureDefaults-WeHbQM7W.esm.js +0 -225
  241. package/dist/idCaptureStateMachine-kZ5OpdfM.esm.js +0 -3342
  242. package/dist/lib-DAyUtOTj.esm.js +0 -12420
  243. package/dist/manualReviewService-D4IkipnN.esm.js +0 -15
  244. package/dist/mediaRecorderOptions-dALSV8af.esm.js +0 -40
  245. package/dist/onDeviceFaceResults-CUHwyZT4.esm.js +0 -646
  246. package/dist/openviduLazy-CCDpFWg1.esm.js +0 -10
  247. package/dist/recordingService-3NSENVwp.esm.js +0 -329
  248. package/dist/safeStorage-Ep56I-f_.esm.js +0 -982
  249. package/dist/selfieStateMachine-CHV_WNst.esm.js +0 -55
  250. package/dist/trueSight-B_icM8r2.esm.js +0 -1
  251. package/dist/types-EELWyWpd.d.ts +0 -6
  252. package/dist/types-Vb4P9ovf.d.ts +0 -22
  253. package/dist/warmup-Dv2alr2-.d.ts +0 -82
  254. package/dist/wasmDefaults-DTUrftxR.esm.js +0 -125
  255. package/dist/{Face2DProvider-UUQt_vRC.esm.js → Face2DProvider-BF48sz5c.esm.js} +1 -1
  256. package/dist/{PrivacyLensProvider-D8PS7AJa.esm.js → PrivacyLensProvider-EwnC_C5n.esm.js} +1 -1
  257. /package/dist/{types-BfgmV7s72.d.ts → types-BfgmV7s7.d.ts} +0 -0
  258. /package/dist/{types-CJ7Yl9K-2.d.ts → types-CJ7Yl9K-.d.ts} +0 -0
@@ -1,1622 +0,0 @@
1
- //#region ../../node_modules/.pnpm/ua-parser-js@2.0.9/node_modules/ua-parser-js/src/main/ua-parser.mjs
2
- var LIBVERSION = "2.0.9";
3
- var UA_MAX_LENGTH = 500;
4
- var USER_AGENT = "user-agent";
5
- var EMPTY = "";
6
- var UNKNOWN = "?";
7
- var TYPEOF = {
8
- FUNCTION: "function",
9
- OBJECT: "object",
10
- STRING: "string",
11
- UNDEFINED: "undefined"
12
- };
13
- var BROWSER = "browser";
14
- var CPU = "cpu";
15
- var DEVICE = "device";
16
- var ENGINE = "engine";
17
- var OS = "os";
18
- var RESULT = "result";
19
- var NAME = "name";
20
- var TYPE = "type";
21
- var VENDOR = "vendor";
22
- var VERSION = "version";
23
- var ARCHITECTURE = "architecture";
24
- var MAJOR = "major";
25
- var MODEL = "model";
26
- var CONSOLE = "console";
27
- var MOBILE = "mobile";
28
- var TABLET = "tablet";
29
- var SMARTTV = "smarttv";
30
- var WEARABLE = "wearable";
31
- var XR = "xr";
32
- var EMBEDDED = "embedded";
33
- var FETCHER = "fetcher";
34
- var INAPP = "inapp";
35
- var BRANDS = "brands";
36
- var FORMFACTORS = "formFactors";
37
- var FULLVERLIST = "fullVersionList";
38
- var PLATFORM = "platform";
39
- var PLATFORMVER = "platformVersion";
40
- var BITNESS = "bitness";
41
- var CH = "sec-ch-ua";
42
- var CH_FULL_VER_LIST = CH + "-full-version-list";
43
- var CH_ARCH = CH + "-arch";
44
- var CH_BITNESS = CH + "-" + BITNESS;
45
- var CH_FORM_FACTORS = CH + "-form-factors";
46
- var CH_MOBILE = CH + "-" + MOBILE;
47
- var CH_MODEL = CH + "-" + MODEL;
48
- var CH_PLATFORM = CH + "-" + PLATFORM;
49
- var CH_PLATFORM_VER = CH_PLATFORM + "-version";
50
- var CH_ALL_VALUES = [
51
- BRANDS,
52
- FULLVERLIST,
53
- MOBILE,
54
- MODEL,
55
- PLATFORM,
56
- PLATFORMVER,
57
- ARCHITECTURE,
58
- FORMFACTORS,
59
- BITNESS
60
- ];
61
- var AMAZON = "Amazon";
62
- var APPLE = "Apple";
63
- var ASUS = "ASUS";
64
- var BLACKBERRY = "BlackBerry";
65
- var GOOGLE = "Google";
66
- var HUAWEI = "Huawei";
67
- var LENOVO = "Lenovo";
68
- var HONOR = "Honor";
69
- var LG = "LG";
70
- var MICROSOFT = "Microsoft";
71
- var MOTOROLA = "Motorola";
72
- var NVIDIA = "Nvidia";
73
- var ONEPLUS = "OnePlus";
74
- var OPPO = "OPPO";
75
- var SAMSUNG = "Samsung";
76
- var SHARP = "Sharp";
77
- var SONY = "Sony";
78
- var XIAOMI = "Xiaomi";
79
- var ZEBRA = "Zebra";
80
- var CHROME = "Chrome";
81
- var CHROMIUM = "Chromium";
82
- var CHROMECAST = "Chromecast";
83
- var EDGE = "Edge";
84
- var FIREFOX = "Firefox";
85
- var OPERA = "Opera";
86
- var FACEBOOK = "Facebook";
87
- var SOGOU = "Sogou";
88
- var PREFIX_MOBILE = "Mobile ";
89
- var SUFFIX_BROWSER = " Browser";
90
- var WINDOWS = "Windows";
91
- var NAVIGATOR = typeof window !== TYPEOF.UNDEFINED && window.navigator ? window.navigator : void 0;
92
- var NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : void 0;
93
- var extend = function(defaultRgx, extensions) {
94
- var mergedRgx = {};
95
- var extraRgx = extensions;
96
- if (!isExtensions(extensions)) {
97
- extraRgx = {};
98
- for (var i in extensions) for (var j in extensions[i]) extraRgx[j] = extensions[i][j].concat(extraRgx[j] ? extraRgx[j] : []);
99
- }
100
- for (var k in defaultRgx) mergedRgx[k] = extraRgx[k] && extraRgx[k].length % 2 === 0 ? extraRgx[k].concat(defaultRgx[k]) : defaultRgx[k];
101
- return mergedRgx;
102
- };
103
- var enumerize = function(arr) {
104
- var enums = {};
105
- for (var i = 0; i < arr.length; i++) enums[arr[i].toUpperCase()] = arr[i];
106
- return enums;
107
- };
108
- var has = function(str1, str2) {
109
- if (typeof str1 === TYPEOF.OBJECT && str1.length > 0) {
110
- for (var i in str1) if (lowerize(str2) == lowerize(str1[i])) return true;
111
- return false;
112
- }
113
- return isString(str1) ? lowerize(str2) == lowerize(str1) : false;
114
- };
115
- var isExtensions = function(obj, deep) {
116
- for (var prop in obj) return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);
117
- };
118
- var isString = function(val) {
119
- return typeof val === TYPEOF.STRING;
120
- };
121
- var itemListToArray = function(header) {
122
- if (!header) return void 0;
123
- var arr = [];
124
- var tokens = strip(/\\?\"/g, header).split(",");
125
- for (var i = 0; i < tokens.length; i++) if (tokens[i].indexOf(";") > -1) {
126
- var token = trim(tokens[i]).split(";v=");
127
- arr[i] = {
128
- brand: token[0],
129
- version: token[1]
130
- };
131
- } else arr[i] = trim(tokens[i]);
132
- return arr;
133
- };
134
- var lowerize = function(str) {
135
- return isString(str) ? str.toLowerCase() : str;
136
- };
137
- var majorize = function(version) {
138
- return isString(version) ? strip(/[^\d\.]/g, version).split(".")[0] : void 0;
139
- };
140
- var setProps = function(arr) {
141
- for (var i in arr) {
142
- if (!arr.hasOwnProperty(i)) continue;
143
- var propName = arr[i];
144
- if (typeof propName == TYPEOF.OBJECT && propName.length == 2) this[propName[0]] = propName[1];
145
- else this[propName] = void 0;
146
- }
147
- return this;
148
- };
149
- var strip = function(pattern, str) {
150
- return isString(str) ? str.replace(pattern, EMPTY) : str;
151
- };
152
- var stripQuotes = function(str) {
153
- return strip(/\\?\"/g, str);
154
- };
155
- var trim = function(str, len) {
156
- str = strip(/^\s\s*/, String(str));
157
- return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
158
- };
159
- var rgxMapper = function(ua, arrays) {
160
- if (!ua || !arrays) return;
161
- var i = 0, j, k, p, q, matches, match;
162
- while (i < arrays.length && !matches) {
163
- var regex = arrays[i], props = arrays[i + 1];
164
- j = k = 0;
165
- while (j < regex.length && !matches) {
166
- if (!regex[j]) break;
167
- matches = regex[j++].exec(ua);
168
- if (!!matches) for (p = 0; p < props.length; p++) {
169
- match = matches[++k];
170
- q = props[p];
171
- if (typeof q === TYPEOF.OBJECT && q.length > 0) {
172
- if (q.length === 2) if (typeof q[1] == TYPEOF.FUNCTION) this[q[0]] = q[1].call(this, match);
173
- else this[q[0]] = q[1];
174
- else if (q.length >= 3) {
175
- if (typeof q[1] === TYPEOF.FUNCTION && !(q[1].exec && q[1].test)) if (q.length > 3) this[q[0]] = match ? q[1].apply(this, q.slice(2)) : void 0;
176
- else this[q[0]] = match ? q[1].call(this, match, q[2]) : void 0;
177
- else if (q.length == 3) this[q[0]] = match ? match.replace(q[1], q[2]) : void 0;
178
- else if (q.length == 4) this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : void 0;
179
- else if (q.length > 4) this[q[0]] = match ? q[3].apply(this, [match.replace(q[1], q[2])].concat(q.slice(4))) : void 0;
180
- }
181
- } else this[q] = match ? match : void 0;
182
- }
183
- }
184
- i += 2;
185
- }
186
- };
187
- var strMapper = function(str, map) {
188
- for (var i in map) if (typeof map[i] === TYPEOF.OBJECT && map[i].length > 0) {
189
- for (var j = 0; j < map[i].length; j++) if (has(map[i][j], str)) return i === UNKNOWN ? void 0 : i;
190
- } else if (has(map[i], str)) return i === UNKNOWN ? void 0 : i;
191
- return map.hasOwnProperty("*") ? map["*"] : str;
192
- };
193
- var windowsVersionMap = {
194
- "ME": "4.90",
195
- "NT 3.51": "3.51",
196
- "NT 4.0": "4.0",
197
- "2000": ["5.0", "5.01"],
198
- "XP": ["5.1", "5.2"],
199
- "Vista": "6.0",
200
- "7": "6.1",
201
- "8": "6.2",
202
- "8.1": "6.3",
203
- "10": ["6.4", "10.0"],
204
- "NT": ""
205
- };
206
- var formFactorsMap = {
207
- "embedded": "Automotive",
208
- "mobile": "Mobile",
209
- "tablet": ["Tablet", "EInk"],
210
- "smarttv": "TV",
211
- "wearable": "Watch",
212
- "xr": ["VR", "XR"],
213
- "?": ["Desktop", "Unknown"],
214
- "*": void 0
215
- };
216
- var browserHintsMap = {
217
- "Chrome": "Google Chrome",
218
- "Edge": "Microsoft Edge",
219
- "Edge WebView2": "Microsoft Edge WebView2",
220
- "Chrome WebView": "Android WebView",
221
- "Chrome Headless": "HeadlessChrome",
222
- "Huawei Browser": "HuaweiBrowser",
223
- "MIUI Browser": "Miui Browser",
224
- "Opera Mobi": "OperaMobile",
225
- "Yandex": "YaBrowser"
226
- };
227
- var defaultRegexes = {
228
- browser: [
229
- [/\b(?:crmo|crios)\/([\w\.]+)/i],
230
- [VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
231
- [/webview.+edge\/([\w\.]+)/i],
232
- [VERSION, [NAME, EDGE + " WebView"]],
233
- [/edg(?:e|ios|a)?\/([\w\.]+)/i],
234
- [VERSION, [NAME, "Edge"]],
235
- [
236
- /(opera mini)\/([-\w\.]+)/i,
237
- /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
238
- /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
239
- ],
240
- [NAME, VERSION],
241
- [/opios[\/ ]+([\w\.]+)/i],
242
- [VERSION, [NAME, OPERA + " Mini"]],
243
- [/\bop(?:rg)?x\/([\w\.]+)/i],
244
- [VERSION, [NAME, OPERA + " GX"]],
245
- [/\bopr\/([\w\.]+)/i],
246
- [VERSION, [NAME, OPERA]],
247
- [/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],
248
- [VERSION, [NAME, "Baidu"]],
249
- [/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],
250
- [VERSION, [NAME, "Maxthon"]],
251
- [
252
- /(kindle)\/([\w\.]+)/i,
253
- /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
254
- /(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
255
- /(?:ms|\()(ie) ([\w\.]+)/i,
256
- /(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,
257
- /(brave)(?: chrome)?\/([\d\.]+)/i,
258
- /(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
259
- /(qwant)(?:ios|mobile)\/([\d\.]+)/i,
260
- /(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
261
- ],
262
- [NAME, VERSION],
263
- [/quark(?:pc)?\/([-\w\.]+)/i],
264
- [VERSION, [NAME, "Quark"]],
265
- [/\bddg\/([\w\.]+)/i],
266
- [VERSION, [NAME, "DuckDuckGo"]],
267
- [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],
268
- [VERSION, [NAME, "UCBrowser"]],
269
- [
270
- /microm.+\bqbcore\/([\w\.]+)/i,
271
- /\bqbcore\/([\w\.]+).+microm/i,
272
- /micromessenger\/([\w\.]+)/i
273
- ],
274
- [VERSION, [NAME, "WeChat"]],
275
- [/konqueror\/([\w\.]+)/i],
276
- [VERSION, [NAME, "Konqueror"]],
277
- [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],
278
- [VERSION, [NAME, "IE"]],
279
- [/ya(?:search)?browser\/([\w\.]+)/i],
280
- [VERSION, [NAME, "Yandex"]],
281
- [/slbrowser\/([\w\.]+)/i],
282
- [VERSION, [NAME, "Smart " + LENOVO + SUFFIX_BROWSER]],
283
- [/(av(?:ast|g|ira))\/([\w\.]+)/i],
284
- [[
285
- NAME,
286
- /(.+)/,
287
- "$1 Secure" + SUFFIX_BROWSER
288
- ], VERSION],
289
- [/norton\/([\w\.]+)/i],
290
- [VERSION, [NAME, "Norton Private" + SUFFIX_BROWSER]],
291
- [/\bfocus\/([\w\.]+)/i],
292
- [VERSION, [NAME, FIREFOX + " Focus"]],
293
- [/ mms\/([\w\.]+)$/i],
294
- [VERSION, [NAME, OPERA + " Neon"]],
295
- [/ opt\/([\w\.]+)$/i],
296
- [VERSION, [NAME, OPERA + " Touch"]],
297
- [/coc_coc\w+\/([\w\.]+)/i],
298
- [VERSION, [NAME, "Coc Coc"]],
299
- [/dolfin\/([\w\.]+)/i],
300
- [VERSION, [NAME, "Dolphin"]],
301
- [/coast\/([\w\.]+)/i],
302
- [VERSION, [NAME, OPERA + " Coast"]],
303
- [/miuibrowser\/([\w\.]+)/i],
304
- [VERSION, [NAME, "MIUI" + SUFFIX_BROWSER]],
305
- [/fxios\/([\w\.-]+)/i],
306
- [VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],
307
- [/\bqihoobrowser\/?([\w\.]*)/i],
308
- [VERSION, [NAME, "360"]],
309
- [/\b(qq)\/([\w\.]+)/i],
310
- [[
311
- NAME,
312
- /(.+)/,
313
- "$1Browser"
314
- ], VERSION],
315
- [/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],
316
- [[
317
- NAME,
318
- /(.+)/,
319
- "$1" + SUFFIX_BROWSER
320
- ], VERSION],
321
- [/samsungbrowser\/([\w\.]+)/i],
322
- [VERSION, [NAME, SAMSUNG + " Internet"]],
323
- [/metasr[\/ ]?([\d\.]+)/i],
324
- [VERSION, [NAME, SOGOU + " Explorer"]],
325
- [/(sogou)mo\w+\/([\d\.]+)/i],
326
- [[NAME, SOGOU + " Mobile"], VERSION],
327
- [
328
- /(electron)\/([\w\.]+) safari/i,
329
- /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
330
- /m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
331
- ],
332
- [NAME, VERSION],
333
- [/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],
334
- [NAME],
335
- [/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],
336
- [VERSION, NAME],
337
- [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],
338
- [
339
- [NAME, FACEBOOK],
340
- VERSION,
341
- [TYPE, INAPP]
342
- ],
343
- [
344
- /(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
345
- /(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
346
- /(daum)apps[\/ ]([\w\.]+)/i,
347
- /safari (line)\/([\w\.]+)/i,
348
- /\b(line)\/([\w\.]+)\/iab/i,
349
- /(alipay)client\/([\w\.]+)/i,
350
- /(twitter)(?:and| f.+e\/([\w\.]+))/i,
351
- /(bing)(?:web|sapphire)\/([\w\.]+)/i,
352
- /(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
353
- ],
354
- [
355
- NAME,
356
- VERSION,
357
- [TYPE, INAPP]
358
- ],
359
- [/\bgsa\/([\w\.]+) .*safari\//i],
360
- [
361
- VERSION,
362
- [NAME, "GSA"],
363
- [TYPE, INAPP]
364
- ],
365
- [/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],
366
- [
367
- VERSION,
368
- [NAME, "TikTok"],
369
- [TYPE, INAPP]
370
- ],
371
- [/\[(linkedin)app\]/i],
372
- [NAME, [TYPE, INAPP]],
373
- [/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],
374
- [
375
- [
376
- NAME,
377
- /(.+)/,
378
- "Zalo"
379
- ],
380
- VERSION,
381
- [TYPE, INAPP]
382
- ],
383
- [/(chromium)[\/ ]([-\w\.]+)/i],
384
- [NAME, VERSION],
385
- [/ome-(lighthouse)$/i],
386
- [NAME, [TYPE, FETCHER]],
387
- [/headlesschrome(?:\/([\w\.]+)| )/i],
388
- [VERSION, [NAME, CHROME + " Headless"]],
389
- [/wv\).+chrome\/([\w\.]+).+edgw\//i],
390
- [VERSION, [NAME, EDGE + " WebView2"]],
391
- [/ wv\).+(chrome)\/([\w\.]+)/i],
392
- [[NAME, CHROME + " WebView"], VERSION],
393
- [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],
394
- [VERSION, [NAME, "Android" + SUFFIX_BROWSER]],
395
- [/chrome\/([\w\.]+) mobile/i],
396
- [VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
397
- [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],
398
- [NAME, VERSION],
399
- [/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],
400
- [VERSION, [NAME, PREFIX_MOBILE + "Safari"]],
401
- [/iphone .*mobile(?:\/\w+ | ?)safari/i],
402
- [[NAME, PREFIX_MOBILE + "Safari"]],
403
- [/version\/([\w\.\,]+) .*(safari)/i],
404
- [VERSION, NAME],
405
- [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],
406
- [NAME, [VERSION, "1"]],
407
- [/(webkit|khtml)\/([\w\.]+)/i],
408
- [NAME, VERSION],
409
- [/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],
410
- [[NAME, PREFIX_MOBILE + FIREFOX], VERSION],
411
- [/(navigator|netscape\d?)\/([-\w\.]+)/i],
412
- [[NAME, "Netscape"], VERSION],
413
- [/(wolvic|librewolf)\/([\w\.]+)/i],
414
- [NAME, VERSION],
415
- [/mobile vr; rv:([\w\.]+)\).+firefox/i],
416
- [VERSION, [NAME, FIREFOX + " Reality"]],
417
- [
418
- /ekiohf.+(flow)\/([\w\.]+)/i,
419
- /(swiftfox)/i,
420
- /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
421
- /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
422
- /(firefox)\/([\w\.]+)/i,
423
- /(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
424
- /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
425
- /\b(links) \(([\w\.]+)/i
426
- ],
427
- [NAME, [
428
- VERSION,
429
- /_/g,
430
- "."
431
- ]],
432
- [/(cobalt)\/([\w\.]+)/i],
433
- [NAME, [
434
- VERSION,
435
- /[^\d\.]+./,
436
- EMPTY
437
- ]]
438
- ],
439
- cpu: [
440
- [/\b((amd|x|x86[-_]?|wow|win)64)\b/i],
441
- [[ARCHITECTURE, "amd64"]],
442
- [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i],
443
- [[ARCHITECTURE, "ia32"]],
444
- [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],
445
- [[ARCHITECTURE, "arm64"]],
446
- [/\b(arm(v[67])?ht?n?[fl]p?)\b/i],
447
- [[ARCHITECTURE, "armhf"]],
448
- [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],
449
- [[ARCHITECTURE, "arm"]],
450
- [/ sun4\w[;\)]/i],
451
- [[ARCHITECTURE, "sparc"]],
452
- [
453
- /\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
454
- /((ppc|powerpc)(64)?)( mac|;|\))/i,
455
- /(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
456
- ],
457
- [[
458
- ARCHITECTURE,
459
- /ower/,
460
- EMPTY,
461
- lowerize
462
- ]],
463
- [/mc680.0/i],
464
- [[ARCHITECTURE, "68k"]],
465
- [/winnt.+\[axp/i],
466
- [[ARCHITECTURE, "alpha"]]
467
- ],
468
- device: [
469
- [/\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],
470
- [
471
- MODEL,
472
- [VENDOR, SAMSUNG],
473
- [TYPE, TABLET]
474
- ],
475
- [
476
- /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
477
- /samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
478
- /sec-(sgh\w+)/i
479
- ],
480
- [
481
- MODEL,
482
- [VENDOR, SAMSUNG],
483
- [TYPE, MOBILE]
484
- ],
485
- [/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],
486
- [
487
- MODEL,
488
- [VENDOR, APPLE],
489
- [TYPE, MOBILE]
490
- ],
491
- [/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i, /\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],
492
- [
493
- MODEL,
494
- [VENDOR, APPLE],
495
- [TYPE, TABLET]
496
- ],
497
- [/(macintosh);/i],
498
- [MODEL, [VENDOR, APPLE]],
499
- [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],
500
- [
501
- MODEL,
502
- [VENDOR, SHARP],
503
- [TYPE, MOBILE]
504
- ],
505
- [/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],
506
- [
507
- MODEL,
508
- [VENDOR, HONOR],
509
- [TYPE, TABLET]
510
- ],
511
- [/honor([-\w ]+)[;\)]/i],
512
- [
513
- MODEL,
514
- [VENDOR, HONOR],
515
- [TYPE, MOBILE]
516
- ],
517
- [/\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],
518
- [
519
- MODEL,
520
- [VENDOR, HUAWEI],
521
- [TYPE, TABLET]
522
- ],
523
- [/(?:huawei) ?([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],
524
- [
525
- MODEL,
526
- [VENDOR, HUAWEI],
527
- [TYPE, MOBILE]
528
- ],
529
- [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],
530
- [
531
- [
532
- MODEL,
533
- /_/g,
534
- " "
535
- ],
536
- [VENDOR, XIAOMI],
537
- [TYPE, TABLET]
538
- ],
539
- [
540
- /\b; (\w+) build\/hm\1/i,
541
- /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
542
- /oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,
543
- /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
544
- / ([\w ]+) miui\/v?\d/i
545
- ],
546
- [
547
- [
548
- MODEL,
549
- /_/g,
550
- " "
551
- ],
552
- [VENDOR, XIAOMI],
553
- [TYPE, MOBILE]
554
- ],
555
- [/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-l]\w[1m]10)\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],
556
- [
557
- MODEL,
558
- [VENDOR, ONEPLUS],
559
- [TYPE, MOBILE]
560
- ],
561
- [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],
562
- [
563
- MODEL,
564
- [VENDOR, OPPO],
565
- [TYPE, MOBILE]
566
- ],
567
- [/\b(opd2(\d{3}a?))(?: bui|\))/i],
568
- [
569
- MODEL,
570
- [
571
- VENDOR,
572
- strMapper,
573
- {
574
- "OnePlus": [
575
- "203",
576
- "304",
577
- "403",
578
- "404",
579
- "413",
580
- "415"
581
- ],
582
- "*": OPPO
583
- }
584
- ],
585
- [TYPE, TABLET]
586
- ],
587
- [/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],
588
- [
589
- MODEL,
590
- [VENDOR, "BLU"],
591
- [TYPE, MOBILE]
592
- ],
593
- [/; vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i],
594
- [
595
- MODEL,
596
- [VENDOR, "Vivo"],
597
- [TYPE, MOBILE]
598
- ],
599
- [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],
600
- [
601
- MODEL,
602
- [VENDOR, "Realme"],
603
- [TYPE, MOBILE]
604
- ],
605
- [/(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, /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],
606
- [
607
- MODEL,
608
- [VENDOR, LENOVO],
609
- [TYPE, TABLET]
610
- ],
611
- [/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],
612
- [
613
- MODEL,
614
- [VENDOR, LENOVO],
615
- [TYPE, MOBILE]
616
- ],
617
- [
618
- /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
619
- /\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
620
- /((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
621
- ],
622
- [
623
- MODEL,
624
- [VENDOR, MOTOROLA],
625
- [TYPE, MOBILE]
626
- ],
627
- [/\b(mz60\d|xoom[2 ]{0,2}) build\//i],
628
- [
629
- MODEL,
630
- [VENDOR, MOTOROLA],
631
- [TYPE, TABLET]
632
- ],
633
- [/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],
634
- [
635
- MODEL,
636
- [VENDOR, LG],
637
- [TYPE, TABLET]
638
- ],
639
- [
640
- /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
641
- /\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
642
- /\blg-?([\d\w]+) bui/i
643
- ],
644
- [
645
- MODEL,
646
- [VENDOR, LG],
647
- [TYPE, MOBILE]
648
- ],
649
- [/(nokia) (t[12][01])/i],
650
- [
651
- VENDOR,
652
- MODEL,
653
- [TYPE, TABLET]
654
- ],
655
- [/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i, /nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],
656
- [
657
- [
658
- MODEL,
659
- /_/g,
660
- " "
661
- ],
662
- [TYPE, MOBILE],
663
- [VENDOR, "Nokia"]
664
- ],
665
- [/(pixel (c|tablet))\b/i],
666
- [
667
- MODEL,
668
- [VENDOR, GOOGLE],
669
- [TYPE, TABLET]
670
- ],
671
- [/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],
672
- [
673
- MODEL,
674
- [VENDOR, GOOGLE],
675
- [TYPE, MOBILE]
676
- ],
677
- [/(google) (pixelbook( go)?)/i],
678
- [VENDOR, MODEL],
679
- [/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],
680
- [
681
- MODEL,
682
- [VENDOR, SONY],
683
- [TYPE, MOBILE]
684
- ],
685
- [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i],
686
- [
687
- [MODEL, "Xperia Tablet"],
688
- [VENDOR, SONY],
689
- [TYPE, TABLET]
690
- ],
691
- [
692
- /(alexa)webm/i,
693
- /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
694
- /(kf[a-z]+)( bui|\)).+silk\//i
695
- ],
696
- [
697
- MODEL,
698
- [VENDOR, AMAZON],
699
- [TYPE, TABLET]
700
- ],
701
- [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],
702
- [
703
- [
704
- MODEL,
705
- /(.+)/g,
706
- "Fire Phone $1"
707
- ],
708
- [VENDOR, AMAZON],
709
- [TYPE, MOBILE]
710
- ],
711
- [/(playbook);[-\w\),; ]+(rim)/i],
712
- [
713
- MODEL,
714
- VENDOR,
715
- [TYPE, TABLET]
716
- ],
717
- [/\b((?:bb[a-f]|st[hv])100-\d)/i, /(?:blackberry|\(bb10;) (\w+)/i],
718
- [
719
- MODEL,
720
- [VENDOR, BLACKBERRY],
721
- [TYPE, MOBILE]
722
- ],
723
- [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],
724
- [
725
- MODEL,
726
- [VENDOR, ASUS],
727
- [TYPE, TABLET]
728
- ],
729
- [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],
730
- [
731
- MODEL,
732
- [VENDOR, ASUS],
733
- [TYPE, MOBILE]
734
- ],
735
- [/(nexus 9)/i],
736
- [
737
- MODEL,
738
- [VENDOR, "HTC"],
739
- [TYPE, TABLET]
740
- ],
741
- [
742
- /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
743
- /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
744
- /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
745
- ],
746
- [
747
- VENDOR,
748
- [
749
- MODEL,
750
- /_/g,
751
- " "
752
- ],
753
- [TYPE, MOBILE]
754
- ],
755
- [/tcl (xess p17aa)/i, /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],
756
- [
757
- MODEL,
758
- [VENDOR, "TCL"],
759
- [TYPE, TABLET]
760
- ],
761
- [/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],
762
- [
763
- MODEL,
764
- [VENDOR, "TCL"],
765
- [TYPE, MOBILE]
766
- ],
767
- [/(itel) ((\w+))/i],
768
- [
769
- [VENDOR, lowerize],
770
- MODEL,
771
- [
772
- TYPE,
773
- strMapper,
774
- {
775
- "tablet": ["p10001l", "w7001"],
776
- "*": "mobile"
777
- }
778
- ]
779
- ],
780
- [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],
781
- [
782
- MODEL,
783
- [VENDOR, "Acer"],
784
- [TYPE, TABLET]
785
- ],
786
- [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i],
787
- [
788
- MODEL,
789
- [VENDOR, "Meizu"],
790
- [TYPE, MOBILE]
791
- ],
792
- [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],
793
- [
794
- MODEL,
795
- [VENDOR, "Ulefone"],
796
- [TYPE, MOBILE]
797
- ],
798
- [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i],
799
- [
800
- MODEL,
801
- [VENDOR, "Energizer"],
802
- [TYPE, MOBILE]
803
- ],
804
- [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],
805
- [
806
- MODEL,
807
- [VENDOR, "Cat"],
808
- [TYPE, MOBILE]
809
- ],
810
- [/((?:new )?andromax[\w- ]+)(?: bui|\))/i],
811
- [
812
- MODEL,
813
- [VENDOR, "Smartfren"],
814
- [TYPE, MOBILE]
815
- ],
816
- [/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],
817
- [
818
- MODEL,
819
- [VENDOR, "Nothing"],
820
- [TYPE, MOBILE]
821
- ],
822
- [/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i, /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],
823
- [
824
- MODEL,
825
- [VENDOR, "Archos"],
826
- [TYPE, TABLET]
827
- ],
828
- [/archos ([\w ]+)( b|\))/i, /; (ac[3-6]\d\w{2,8})( b|\))/i],
829
- [
830
- MODEL,
831
- [VENDOR, "Archos"],
832
- [TYPE, MOBILE]
833
- ],
834
- [/; (n159v)/i],
835
- [
836
- MODEL,
837
- [VENDOR, "HMD"],
838
- [TYPE, MOBILE]
839
- ],
840
- [/(imo) (tab \w+)/i, /(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],
841
- [
842
- VENDOR,
843
- MODEL,
844
- [TYPE, TABLET]
845
- ],
846
- [
847
- /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
848
- /; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,
849
- /(hp) ([\w ]+\w)/i,
850
- /(microsoft); (lumia[\w ]+)/i,
851
- /(oppo) ?([\w ]+) bui/i,
852
- /(hisense) ([ehv][\w ]+)\)/i,
853
- /droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
854
- ],
855
- [
856
- VENDOR,
857
- MODEL,
858
- [TYPE, MOBILE]
859
- ],
860
- [
861
- /(kobo)\s(ereader|touch)/i,
862
- /(hp).+(touchpad(?!.+tablet)|tablet)/i,
863
- /(kindle)\/([\w\.]+)/i
864
- ],
865
- [
866
- VENDOR,
867
- MODEL,
868
- [TYPE, TABLET]
869
- ],
870
- [/(surface duo)/i],
871
- [
872
- MODEL,
873
- [VENDOR, MICROSOFT],
874
- [TYPE, TABLET]
875
- ],
876
- [/droid [\d\.]+; (fp\du?)(?: b|\))/i],
877
- [
878
- MODEL,
879
- [VENDOR, "Fairphone"],
880
- [TYPE, MOBILE]
881
- ],
882
- [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],
883
- [
884
- MODEL,
885
- [VENDOR, NVIDIA],
886
- [TYPE, TABLET]
887
- ],
888
- [/(sprint) (\w+)/i],
889
- [
890
- VENDOR,
891
- MODEL,
892
- [TYPE, MOBILE]
893
- ],
894
- [/(kin\.[onetw]{3})/i],
895
- [
896
- [
897
- MODEL,
898
- /\./g,
899
- " "
900
- ],
901
- [VENDOR, MICROSOFT],
902
- [TYPE, MOBILE]
903
- ],
904
- [/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],
905
- [
906
- MODEL,
907
- [VENDOR, ZEBRA],
908
- [TYPE, TABLET]
909
- ],
910
- [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],
911
- [
912
- MODEL,
913
- [VENDOR, ZEBRA],
914
- [TYPE, MOBILE]
915
- ],
916
- [/(philips)[\w ]+tv/i, /smart-tv.+(samsung)/i],
917
- [VENDOR, [TYPE, SMARTTV]],
918
- [/hbbtv.+maple;(\d+)/i],
919
- [
920
- [
921
- MODEL,
922
- /^/,
923
- "SmartTV"
924
- ],
925
- [VENDOR, SAMSUNG],
926
- [TYPE, SMARTTV]
927
- ],
928
- [/(vizio)(?: |.+model\/)(\w+-\w+)/i, /tcast.+(lg)e?. ([-\w]+)/i],
929
- [
930
- VENDOR,
931
- MODEL,
932
- [TYPE, SMARTTV]
933
- ],
934
- [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],
935
- [[VENDOR, LG], [TYPE, SMARTTV]],
936
- [/(apple) ?tv/i],
937
- [
938
- VENDOR,
939
- [MODEL, APPLE + " TV"],
940
- [TYPE, SMARTTV]
941
- ],
942
- [/crkey.*devicetype\/chromecast/i],
943
- [
944
- [MODEL, CHROMECAST + " Third Generation"],
945
- [VENDOR, GOOGLE],
946
- [TYPE, SMARTTV]
947
- ],
948
- [/crkey.*devicetype\/([^/]*)/i],
949
- [
950
- [
951
- MODEL,
952
- /^/,
953
- "Chromecast "
954
- ],
955
- [VENDOR, GOOGLE],
956
- [TYPE, SMARTTV]
957
- ],
958
- [/fuchsia.*crkey/i],
959
- [
960
- [MODEL, CHROMECAST + " Nest Hub"],
961
- [VENDOR, GOOGLE],
962
- [TYPE, SMARTTV]
963
- ],
964
- [/crkey/i],
965
- [
966
- [MODEL, CHROMECAST],
967
- [VENDOR, GOOGLE],
968
- [TYPE, SMARTTV]
969
- ],
970
- [/(portaltv)/i],
971
- [
972
- MODEL,
973
- [VENDOR, FACEBOOK],
974
- [TYPE, SMARTTV]
975
- ],
976
- [/droid.+aft(\w+)( bui|\))/i],
977
- [
978
- MODEL,
979
- [VENDOR, AMAZON],
980
- [TYPE, SMARTTV]
981
- ],
982
- [/(shield \w+ tv)/i],
983
- [
984
- MODEL,
985
- [VENDOR, NVIDIA],
986
- [TYPE, SMARTTV]
987
- ],
988
- [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i],
989
- [
990
- MODEL,
991
- [VENDOR, SHARP],
992
- [TYPE, SMARTTV]
993
- ],
994
- [/(bravia[\w ]+)( bui|\))/i],
995
- [
996
- MODEL,
997
- [VENDOR, SONY],
998
- [TYPE, SMARTTV]
999
- ],
1000
- [/(mi(tv|box)-?\w+) bui/i],
1001
- [
1002
- MODEL,
1003
- [VENDOR, XIAOMI],
1004
- [TYPE, SMARTTV]
1005
- ],
1006
- [/Hbbtv.*(technisat) (.*);/i],
1007
- [
1008
- VENDOR,
1009
- MODEL,
1010
- [TYPE, SMARTTV]
1011
- ],
1012
- [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],
1013
- [
1014
- [
1015
- VENDOR,
1016
- /.+\/(\w+)/,
1017
- "$1",
1018
- strMapper,
1019
- { "LG": "lge" }
1020
- ],
1021
- [MODEL, trim],
1022
- [TYPE, SMARTTV]
1023
- ],
1024
- [/(playstation \w+)/i],
1025
- [
1026
- MODEL,
1027
- [VENDOR, SONY],
1028
- [TYPE, CONSOLE]
1029
- ],
1030
- [/\b(xbox(?: one)?(?!; xbox))[\); ]/i],
1031
- [
1032
- MODEL,
1033
- [VENDOR, MICROSOFT],
1034
- [TYPE, CONSOLE]
1035
- ],
1036
- [
1037
- /(ouya)/i,
1038
- /(nintendo) (\w+)/i,
1039
- /(retroid) (pocket ([^\)]+))/i,
1040
- /(valve).+(steam deck)/i,
1041
- /droid.+; ((shield|rgcube|gr0006))( bui|\))/i
1042
- ],
1043
- [
1044
- [
1045
- VENDOR,
1046
- strMapper,
1047
- {
1048
- "Nvidia": "Shield",
1049
- "Anbernic": "RGCUBE",
1050
- "Logitech": "GR0006"
1051
- }
1052
- ],
1053
- MODEL,
1054
- [TYPE, CONSOLE]
1055
- ],
1056
- [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],
1057
- [
1058
- MODEL,
1059
- [VENDOR, SAMSUNG],
1060
- [TYPE, WEARABLE]
1061
- ],
1062
- [/((pebble))app/i, /(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],
1063
- [
1064
- VENDOR,
1065
- MODEL,
1066
- [TYPE, WEARABLE]
1067
- ],
1068
- [/(ow(?:19|20)?we?[1-3]{1,3})/i],
1069
- [
1070
- MODEL,
1071
- [VENDOR, OPPO],
1072
- [TYPE, WEARABLE]
1073
- ],
1074
- [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],
1075
- [
1076
- MODEL,
1077
- [VENDOR, APPLE],
1078
- [TYPE, WEARABLE]
1079
- ],
1080
- [/(opwwe\d{3})/i],
1081
- [
1082
- MODEL,
1083
- [VENDOR, ONEPLUS],
1084
- [TYPE, WEARABLE]
1085
- ],
1086
- [/(moto 360)/i],
1087
- [
1088
- MODEL,
1089
- [VENDOR, MOTOROLA],
1090
- [TYPE, WEARABLE]
1091
- ],
1092
- [/(smartwatch 3)/i],
1093
- [
1094
- MODEL,
1095
- [VENDOR, SONY],
1096
- [TYPE, WEARABLE]
1097
- ],
1098
- [/(g watch r)/i],
1099
- [
1100
- MODEL,
1101
- [VENDOR, LG],
1102
- [TYPE, WEARABLE]
1103
- ],
1104
- [/droid.+; (wt63?0{2,3})\)/i],
1105
- [
1106
- MODEL,
1107
- [VENDOR, ZEBRA],
1108
- [TYPE, WEARABLE]
1109
- ],
1110
- [/droid.+; (glass) \d/i],
1111
- [
1112
- MODEL,
1113
- [VENDOR, GOOGLE],
1114
- [TYPE, XR]
1115
- ],
1116
- [/(pico) ([\w ]+) os\d/i],
1117
- [
1118
- VENDOR,
1119
- MODEL,
1120
- [TYPE, XR]
1121
- ],
1122
- [/(quest( \d| pro)?s?).+vr/i],
1123
- [
1124
- MODEL,
1125
- [VENDOR, FACEBOOK],
1126
- [TYPE, XR]
1127
- ],
1128
- [/mobile vr; rv.+firefox/i],
1129
- [[TYPE, XR]],
1130
- [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],
1131
- [VENDOR, [TYPE, EMBEDDED]],
1132
- [/(aeobc)\b/i],
1133
- [
1134
- MODEL,
1135
- [VENDOR, AMAZON],
1136
- [TYPE, EMBEDDED]
1137
- ],
1138
- [/(homepod).+mac os/i],
1139
- [
1140
- MODEL,
1141
- [VENDOR, APPLE],
1142
- [TYPE, EMBEDDED]
1143
- ],
1144
- [/windows iot/i],
1145
- [[TYPE, EMBEDDED]],
1146
- [/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],
1147
- [MODEL, [TYPE, SMARTTV]],
1148
- [/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],
1149
- [[TYPE, SMARTTV]],
1150
- [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],
1151
- [MODEL, [
1152
- TYPE,
1153
- strMapper,
1154
- {
1155
- "mobile": "Mobile",
1156
- "xr": "VR",
1157
- "*": TABLET
1158
- }
1159
- ]],
1160
- [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],
1161
- [[TYPE, TABLET]],
1162
- [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],
1163
- [[TYPE, MOBILE]],
1164
- [/droid .+?; ([\w\. -]+)( bui|\))/i],
1165
- [MODEL, [VENDOR, "Generic"]]
1166
- ],
1167
- engine: [
1168
- [/windows.+ edge\/([\w\.]+)/i],
1169
- [VERSION, [NAME, EDGE + "HTML"]],
1170
- [/(arkweb)\/([\w\.]+)/i],
1171
- [NAME, VERSION],
1172
- [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],
1173
- [VERSION, [NAME, "Blink"]],
1174
- [
1175
- /(presto)\/([\w\.]+)/i,
1176
- /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
1177
- /ekioh(flow)\/([\w\.]+)/i,
1178
- /(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,
1179
- /(icab)[\/ ]([23]\.[\d\.]+)/i,
1180
- /\b(libweb)/i
1181
- ],
1182
- [NAME, VERSION],
1183
- [/ladybird\//i],
1184
- [[NAME, "LibWeb"]],
1185
- [/rv\:([\w\.]{1,9})\b.+(gecko)/i],
1186
- [VERSION, NAME]
1187
- ],
1188
- os: [
1189
- [/(windows nt) (6\.[23]); arm/i],
1190
- [[
1191
- NAME,
1192
- /N/,
1193
- "R"
1194
- ], [
1195
- VERSION,
1196
- strMapper,
1197
- windowsVersionMap
1198
- ]],
1199
- [/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i, /(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],
1200
- [NAME, VERSION],
1201
- [/windows nt ?([\d\.\)]*)(?!.+xbox)/i, /\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],
1202
- [[
1203
- VERSION,
1204
- /(;|\))/g,
1205
- "",
1206
- strMapper,
1207
- windowsVersionMap
1208
- ], [NAME, WINDOWS]],
1209
- [/(windows ce)\/?([\d\.]*)/i],
1210
- [NAME, VERSION],
1211
- [
1212
- /[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
1213
- /(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,
1214
- /\btvos ?([\w\.]+)/i,
1215
- /cfnetwork\/.+darwin/i
1216
- ],
1217
- [[
1218
- VERSION,
1219
- /_/g,
1220
- "."
1221
- ], [NAME, "iOS"]],
1222
- [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],
1223
- [[NAME, "macOS"], [
1224
- VERSION,
1225
- /_/g,
1226
- "."
1227
- ]],
1228
- [/android ([\d\.]+).*crkey/i],
1229
- [VERSION, [NAME, CHROMECAST + " Android"]],
1230
- [/fuchsia.*crkey\/([\d\.]+)/i],
1231
- [VERSION, [NAME, CHROMECAST + " Fuchsia"]],
1232
- [/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],
1233
- [VERSION, [NAME, CHROMECAST + " SmartSpeaker"]],
1234
- [/linux.*crkey\/([\d\.]+)/i],
1235
- [VERSION, [NAME, CHROMECAST + " Linux"]],
1236
- [/crkey\/([\d\.]+)/i],
1237
- [VERSION, [NAME, CHROMECAST]],
1238
- [/droid ([\w\.]+)\b.+(android[- ]x86)/i],
1239
- [VERSION, NAME],
1240
- [/(ubuntu) ([\w\.]+) like android/i],
1241
- [[
1242
- NAME,
1243
- /(.+)/,
1244
- "$1 Touch"
1245
- ], VERSION],
1246
- [/(harmonyos)[\/ ]?([\d\.]*)/i, /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],
1247
- [NAME, VERSION],
1248
- [/\(bb(10);/i],
1249
- [VERSION, [NAME, BLACKBERRY]],
1250
- [/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],
1251
- [VERSION, [NAME, "Symbian"]],
1252
- [/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],
1253
- [VERSION, [NAME, FIREFOX + " OS"]],
1254
- [/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i, /webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],
1255
- [VERSION, [NAME, "webOS"]],
1256
- [/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],
1257
- [[
1258
- VERSION,
1259
- strMapper,
1260
- {
1261
- "25": "120",
1262
- "24": "108",
1263
- "23": "94",
1264
- "22": "87",
1265
- "6": "79",
1266
- "5": "68",
1267
- "4": "53",
1268
- "3": "38",
1269
- "2": "538",
1270
- "1": "537",
1271
- "*": "TV"
1272
- }
1273
- ], [NAME, "webOS"]],
1274
- [/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],
1275
- [VERSION, [NAME, "watchOS"]],
1276
- [/cros [\w]+(?:\)| ([\w\.]+)\b)/i],
1277
- [VERSION, [NAME, "Chrome OS"]],
1278
- [/kepler ([\w\.]+); (aft|aeo)/i],
1279
- [VERSION, [NAME, "Vega OS"]],
1280
- [
1281
- /(netrange)mmh/i,
1282
- /(nettv)\/(\d+\.[\w\.]+)/i,
1283
- /(nintendo|playstation) (\w+)/i,
1284
- /(xbox); +xbox ([^\);]+)/i,
1285
- /(pico) .+os([\w\.]+)/i,
1286
- /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
1287
- /linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
1288
- /(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
1289
- /([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,
1290
- /((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
1291
- /\b(aix)[; ]([1-9\.]{0,4})/i,
1292
- /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
1293
- /(gnu) ?([\w\.]*)/i,
1294
- /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
1295
- /(haiku) ?(r\d)?/i
1296
- ],
1297
- [NAME, VERSION],
1298
- [/(sunos) ?([\d\.]*)/i],
1299
- [[NAME, "Solaris"], VERSION],
1300
- [/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i, /(unix) ?([\w\.]*)/i],
1301
- [NAME, VERSION]
1302
- ]
1303
- };
1304
- var defaultProps = (function() {
1305
- var props = {
1306
- init: {},
1307
- isIgnore: {},
1308
- isIgnoreRgx: {},
1309
- toString: {}
1310
- };
1311
- setProps.call(props.init, [
1312
- [BROWSER, [
1313
- NAME,
1314
- VERSION,
1315
- MAJOR,
1316
- TYPE
1317
- ]],
1318
- [CPU, [ARCHITECTURE]],
1319
- [DEVICE, [
1320
- TYPE,
1321
- MODEL,
1322
- VENDOR
1323
- ]],
1324
- [ENGINE, [NAME, VERSION]],
1325
- [OS, [NAME, VERSION]]
1326
- ]);
1327
- setProps.call(props.isIgnore, [
1328
- [BROWSER, [VERSION, MAJOR]],
1329
- [ENGINE, [VERSION]],
1330
- [OS, [VERSION]]
1331
- ]);
1332
- setProps.call(props.isIgnoreRgx, [[BROWSER, / ?browser$/i], [OS, / ?os$/i]]);
1333
- setProps.call(props.toString, [
1334
- [BROWSER, [NAME, VERSION]],
1335
- [CPU, [ARCHITECTURE]],
1336
- [DEVICE, [VENDOR, MODEL]],
1337
- [ENGINE, [NAME, VERSION]],
1338
- [OS, [NAME, VERSION]]
1339
- ]);
1340
- return props;
1341
- })();
1342
- var createIData = function(item, itemType) {
1343
- var init_props = defaultProps.init[itemType], is_ignoreProps = defaultProps.isIgnore[itemType] || 0, is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0, toString_props = defaultProps.toString[itemType] || 0;
1344
- function IData() {
1345
- setProps.call(this, init_props);
1346
- }
1347
- IData.prototype.getItem = function() {
1348
- return item;
1349
- };
1350
- IData.prototype.withClientHints = function() {
1351
- if (!NAVIGATOR_UADATA) return item.parseCH().get();
1352
- return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function(res) {
1353
- return item.setCH(new UACHData(res, false)).parseCH().get();
1354
- });
1355
- };
1356
- IData.prototype.withFeatureCheck = function() {
1357
- return item.detectFeature().get();
1358
- };
1359
- if (itemType != RESULT) {
1360
- IData.prototype.is = function(strToCheck) {
1361
- var is = false;
1362
- for (var i in this) 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)) {
1363
- is = true;
1364
- if (strToCheck != TYPEOF.UNDEFINED) break;
1365
- } else if (strToCheck == TYPEOF.UNDEFINED && is) {
1366
- is = !is;
1367
- break;
1368
- }
1369
- return is;
1370
- };
1371
- IData.prototype.toString = function() {
1372
- var str = EMPTY;
1373
- for (var i in toString_props) if (typeof this[toString_props[i]] !== TYPEOF.UNDEFINED) str += (str ? " " : EMPTY) + this[toString_props[i]];
1374
- return str || TYPEOF.UNDEFINED;
1375
- };
1376
- }
1377
- IData.prototype.then = function(cb) {
1378
- var that = this;
1379
- var IDataResolve = function() {
1380
- for (var prop in that) if (that.hasOwnProperty(prop)) this[prop] = that[prop];
1381
- };
1382
- IDataResolve.prototype = {
1383
- is: IData.prototype.is,
1384
- toString: IData.prototype.toString,
1385
- withClientHints: IData.prototype.withClientHints,
1386
- withFeatureCheck: IData.prototype.withFeatureCheck
1387
- };
1388
- var resolveData = new IDataResolve();
1389
- cb(resolveData);
1390
- return resolveData;
1391
- };
1392
- return new IData();
1393
- };
1394
- function UACHData(uach, isHttpUACH) {
1395
- uach = uach || {};
1396
- setProps.call(this, CH_ALL_VALUES);
1397
- if (isHttpUACH) setProps.call(this, [
1398
- [BRANDS, itemListToArray(uach[CH])],
1399
- [FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
1400
- [MOBILE, /\?1/.test(uach[CH_MOBILE])],
1401
- [MODEL, stripQuotes(uach[CH_MODEL])],
1402
- [PLATFORM, stripQuotes(uach[CH_PLATFORM])],
1403
- [PLATFORMVER, stripQuotes(uach[CH_PLATFORM_VER])],
1404
- [ARCHITECTURE, stripQuotes(uach[CH_ARCH])],
1405
- [FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
1406
- [BITNESS, stripQuotes(uach[CH_BITNESS])]
1407
- ]);
1408
- else for (var prop in uach) if (this.hasOwnProperty(prop) && typeof uach[prop] !== TYPEOF.UNDEFINED) this[prop] = uach[prop];
1409
- }
1410
- function UAItem(itemType, ua, rgxMap, uaCH) {
1411
- setProps.call(this, [
1412
- ["itemType", itemType],
1413
- ["ua", ua],
1414
- ["uaCH", uaCH],
1415
- ["rgxMap", rgxMap],
1416
- ["data", createIData(this, itemType)]
1417
- ]);
1418
- return this;
1419
- }
1420
- UAItem.prototype.get = function(prop) {
1421
- if (!prop) return this.data;
1422
- return this.data.hasOwnProperty(prop) ? this.data[prop] : void 0;
1423
- };
1424
- UAItem.prototype.set = function(prop, val) {
1425
- this.data[prop] = val;
1426
- return this;
1427
- };
1428
- UAItem.prototype.setCH = function(ch) {
1429
- this.uaCH = ch;
1430
- return this;
1431
- };
1432
- UAItem.prototype.detectFeature = function() {
1433
- if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) switch (this.itemType) {
1434
- case BROWSER:
1435
- if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == TYPEOF.FUNCTION) this.set(NAME, "Brave");
1436
- break;
1437
- case DEVICE:
1438
- if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) this.set(TYPE, MOBILE);
1439
- if (this.get(MODEL) == "Macintosh" && NAVIGATOR && typeof NAVIGATOR.standalone !== TYPEOF.UNDEFINED && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) this.set(MODEL, "iPad").set(TYPE, TABLET);
1440
- break;
1441
- case OS:
1442
- if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
1443
- break;
1444
- case RESULT:
1445
- var data = this.data;
1446
- var detect = function(itemType) {
1447
- return data[itemType].getItem().detectFeature().get();
1448
- };
1449
- this.set(BROWSER, detect(BROWSER)).set(CPU, detect(CPU)).set(DEVICE, detect(DEVICE)).set(ENGINE, detect(ENGINE)).set(OS, detect(OS));
1450
- }
1451
- return this;
1452
- };
1453
- UAItem.prototype.parseUA = function() {
1454
- if (this.itemType != RESULT) rgxMapper.call(this.data, this.ua, this.rgxMap);
1455
- switch (this.itemType) {
1456
- case BROWSER:
1457
- this.set(MAJOR, majorize(this.get(VERSION)));
1458
- break;
1459
- case OS:
1460
- if (this.get(NAME) == "iOS" && this.get(VERSION) == "18.6") {
1461
- var realVersion = /\) Version\/([\d\.]+)/.exec(this.ua);
1462
- if (realVersion && parseInt(realVersion[1].substring(0, 2), 10) >= 26) this.set(VERSION, realVersion[1]);
1463
- }
1464
- break;
1465
- }
1466
- return this;
1467
- };
1468
- UAItem.prototype.parseCH = function() {
1469
- var uaCH = this.uaCH, rgxMap = this.rgxMap;
1470
- switch (this.itemType) {
1471
- case BROWSER:
1472
- case ENGINE:
1473
- var brands = uaCH[FULLVERLIST] || uaCH[BRANDS], prevName;
1474
- if (brands) for (var i = 0; i < brands.length; i++) {
1475
- var brandName = brands[i].brand || brands[i], brandVersion = brands[i].version;
1476
- if (this.itemType == BROWSER && !/not.a.brand/i.test(brandName) && (!prevName || /Chrom/.test(prevName) && brandName != CHROMIUM || prevName == EDGE && /WebView2/.test(brandName))) {
1477
- brandName = strMapper(brandName, browserHintsMap);
1478
- prevName = this.get(NAME);
1479
- if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) this.set(NAME, brandName).set(VERSION, brandVersion).set(MAJOR, majorize(brandVersion));
1480
- prevName = brandName;
1481
- }
1482
- if (this.itemType == ENGINE && brandName == CHROMIUM) this.set(VERSION, brandVersion);
1483
- }
1484
- break;
1485
- case CPU:
1486
- var archName = uaCH[ARCHITECTURE];
1487
- if (archName) {
1488
- if (archName && uaCH[BITNESS] == "64") archName += "64";
1489
- rgxMapper.call(this.data, archName + ";", rgxMap);
1490
- }
1491
- break;
1492
- case DEVICE:
1493
- if (uaCH[MOBILE]) this.set(TYPE, MOBILE);
1494
- if (uaCH[MODEL]) {
1495
- this.set(MODEL, uaCH[MODEL]);
1496
- if (!this.get(TYPE) || !this.get(VENDOR)) {
1497
- var reParse = {};
1498
- rgxMapper.call(reParse, "droid 9; " + uaCH[MODEL] + ")", rgxMap);
1499
- if (!this.get(TYPE) && !!reParse.type) this.set(TYPE, reParse.type);
1500
- if (!this.get(VENDOR) && !!reParse.vendor) this.set(VENDOR, reParse.vendor);
1501
- }
1502
- }
1503
- if (uaCH[FORMFACTORS]) {
1504
- var ff;
1505
- if (typeof uaCH[FORMFACTORS] !== "string") {
1506
- var idx = 0;
1507
- while (!ff && idx < uaCH[FORMFACTORS].length) ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);
1508
- } else ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);
1509
- this.set(TYPE, ff);
1510
- }
1511
- break;
1512
- case OS:
1513
- var osName = uaCH[PLATFORM];
1514
- if (osName) {
1515
- var osVersion = uaCH[PLATFORMVER];
1516
- if (osName == WINDOWS) osVersion = parseInt(majorize(osVersion), 10) >= 13 ? "11" : "10";
1517
- this.set(NAME, osName).set(VERSION, osVersion);
1518
- }
1519
- if (this.get(NAME) == WINDOWS && uaCH[MODEL] == "Xbox") this.set(NAME, "Xbox").set(VERSION, void 0);
1520
- break;
1521
- case RESULT:
1522
- var data = this.data;
1523
- var parse = function(itemType) {
1524
- return data[itemType].getItem().setCH(uaCH).parseCH().get();
1525
- };
1526
- this.set(BROWSER, parse(BROWSER)).set(CPU, parse(CPU)).set(DEVICE, parse(DEVICE)).set(ENGINE, parse(ENGINE)).set(OS, parse(OS));
1527
- }
1528
- return this;
1529
- };
1530
- function UAParser(ua, extensions, headers) {
1531
- if (typeof ua === TYPEOF.OBJECT) {
1532
- if (isExtensions(ua, true)) {
1533
- if (typeof extensions === TYPEOF.OBJECT) headers = extensions;
1534
- extensions = ua;
1535
- } else {
1536
- headers = ua;
1537
- extensions = void 0;
1538
- }
1539
- ua = void 0;
1540
- } else if (typeof ua === TYPEOF.STRING && !isExtensions(extensions, true)) {
1541
- headers = extensions;
1542
- extensions = void 0;
1543
- }
1544
- if (headers) if (typeof headers.append === TYPEOF.FUNCTION) {
1545
- var kv = {};
1546
- headers.forEach(function(v, k) {
1547
- kv[String(k).toLowerCase()] = v;
1548
- });
1549
- headers = kv;
1550
- } else {
1551
- var normalized = {};
1552
- for (var header in headers) if (headers.hasOwnProperty(header)) normalized[String(header).toLowerCase()] = headers[header];
1553
- headers = normalized;
1554
- }
1555
- if (!(this instanceof UAParser)) return new UAParser(ua, extensions, headers).getResult();
1556
- var userAgent = typeof ua === TYPEOF.STRING ? ua : headers && headers[USER_AGENT] ? headers[USER_AGENT] : NAVIGATOR && NAVIGATOR.userAgent ? NAVIGATOR.userAgent : EMPTY, httpUACH = new UACHData(headers, true), regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes, createItemFunc = function(itemType) {
1557
- if (itemType == RESULT) return function() {
1558
- 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();
1559
- };
1560
- else return function() {
1561
- return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();
1562
- };
1563
- };
1564
- setProps.call(this, [
1565
- ["getBrowser", createItemFunc(BROWSER)],
1566
- ["getCPU", createItemFunc(CPU)],
1567
- ["getDevice", createItemFunc(DEVICE)],
1568
- ["getEngine", createItemFunc(ENGINE)],
1569
- ["getOS", createItemFunc(OS)],
1570
- ["getResult", createItemFunc(RESULT)],
1571
- ["getUA", function() {
1572
- return userAgent;
1573
- }],
1574
- ["setUA", function(ua) {
1575
- if (isString(ua)) userAgent = trim(ua, UA_MAX_LENGTH);
1576
- return this;
1577
- }]
1578
- ]).setUA(userAgent);
1579
- return this;
1580
- }
1581
- UAParser.VERSION = LIBVERSION;
1582
- UAParser.BROWSER = enumerize([
1583
- NAME,
1584
- VERSION,
1585
- MAJOR,
1586
- TYPE
1587
- ]);
1588
- UAParser.CPU = enumerize([ARCHITECTURE]);
1589
- UAParser.DEVICE = enumerize([
1590
- MODEL,
1591
- VENDOR,
1592
- TYPE,
1593
- CONSOLE,
1594
- MOBILE,
1595
- SMARTTV,
1596
- TABLET,
1597
- WEARABLE,
1598
- EMBEDDED
1599
- ]);
1600
- UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
1601
- //#endregion
1602
- //#region ../infra/src/device/getParsedUserAgent.ts
1603
- function getParsedUserAgent(userAgent) {
1604
- const result = (userAgent ? new UAParser(userAgent) : new UAParser()).getResult();
1605
- return {
1606
- device: {
1607
- model: result.device.model,
1608
- vendor: result.device.vendor,
1609
- type: result.device.type
1610
- },
1611
- os: {
1612
- name: result.os.name,
1613
- version: result.os.version
1614
- },
1615
- browser: {
1616
- name: result.browser.name,
1617
- version: result.browser.version
1618
- }
1619
- };
1620
- }
1621
- //#endregion
1622
- export { UAParser as n, getParsedUserAgent as t };