@prosopo/provider 3.13.7 → 4.7.1

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 (761) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +107 -56
  2. package/.turbo/turbo-build$colon$tsc.log +71 -0
  3. package/.turbo/turbo-build.log +110 -57
  4. package/CHANGELOG.md +1474 -0
  5. package/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
  6. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
  7. package/dist/api/admin/apiAdminRoutesProvider.js +31 -1
  8. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
  9. package/dist/api/admin/apiClearAllCountersEndpoint.d.ts +14 -0
  10. package/dist/api/admin/apiClearAllCountersEndpoint.d.ts.map +1 -0
  11. package/dist/api/admin/apiClearAllCountersEndpoint.js +59 -0
  12. package/dist/api/admin/apiClearAllCountersEndpoint.js.map +1 -0
  13. package/dist/api/admin/apiDnsEventEndpoint.d.ts +15 -0
  14. package/dist/api/admin/apiDnsEventEndpoint.d.ts.map +1 -0
  15. package/dist/api/admin/apiDnsEventEndpoint.js +64 -0
  16. package/dist/api/admin/apiDnsEventEndpoint.js.map +1 -0
  17. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.d.ts +13 -0
  18. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.d.ts.map +1 -0
  19. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js +49 -0
  20. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js.map +1 -0
  21. package/dist/api/admin/apiGetDecisionMachineEndpoint.d.ts +14 -0
  22. package/dist/api/admin/apiGetDecisionMachineEndpoint.d.ts.map +1 -0
  23. package/dist/api/admin/apiGetDecisionMachineEndpoint.js +42 -0
  24. package/dist/api/admin/apiGetDecisionMachineEndpoint.js.map +1 -0
  25. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +14 -0
  26. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
  27. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +1 -1
  28. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
  29. package/dist/api/admin/apiRegisterSiteKeysEndpoint.d.ts +14 -0
  30. package/dist/api/admin/apiRegisterSiteKeysEndpoint.d.ts.map +1 -0
  31. package/dist/api/admin/apiRegisterSiteKeysEndpoint.js +33 -0
  32. package/dist/api/admin/apiRegisterSiteKeysEndpoint.js.map +1 -0
  33. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.d.ts +13 -0
  34. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.d.ts.map +1 -0
  35. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js +41 -0
  36. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js.map +1 -0
  37. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.d.ts +14 -0
  38. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.d.ts.map +1 -0
  39. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js +42 -0
  40. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js.map +1 -0
  41. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +23 -0
  42. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -0
  43. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +1 -1
  44. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +1 -0
  45. package/dist/api/admin/apiRemoveSiteKeyEndpoint.d.ts +14 -0
  46. package/dist/api/admin/apiRemoveSiteKeyEndpoint.d.ts.map +1 -0
  47. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js +32 -0
  48. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js.map +1 -0
  49. package/dist/api/admin/apiRemoveSiteKeysEndpoint.d.ts +14 -0
  50. package/dist/api/admin/apiRemoveSiteKeysEndpoint.d.ts.map +1 -0
  51. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js +34 -0
  52. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js.map +1 -0
  53. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +13 -0
  54. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -0
  55. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +1 -1
  56. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -0
  57. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.d.ts +14 -0
  58. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.d.ts.map +1 -0
  59. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js +60 -0
  60. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js.map +1 -0
  61. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +14 -0
  62. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +1 -0
  63. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +1 -1
  64. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +1 -0
  65. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
  66. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
  67. package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
  68. package/dist/api/blacklistRequestInspector.d.ts +20 -0
  69. package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
  70. package/dist/api/blacklistRequestInspector.js +20 -6
  71. package/dist/api/blacklistRequestInspector.js.map +1 -0
  72. package/dist/api/block.d.ts +4 -0
  73. package/dist/api/block.d.ts.map +1 -0
  74. package/dist/api/block.js +19 -8
  75. package/dist/api/block.js.map +1 -0
  76. package/dist/api/captcha/checkSpamEmail.d.ts +6 -0
  77. package/dist/api/captcha/checkSpamEmail.d.ts.map +1 -0
  78. package/dist/api/captcha/checkSpamEmail.js +80 -0
  79. package/dist/api/captcha/checkSpamEmail.js.map +1 -0
  80. package/dist/api/captcha/contextAwareValidation.d.ts +4 -0
  81. package/dist/api/captcha/contextAwareValidation.d.ts.map +1 -0
  82. package/dist/api/captcha/contextAwareValidation.js.map +1 -0
  83. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts +31 -0
  84. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -0
  85. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +123 -0
  86. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -0
  87. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +3 -0
  88. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -0
  89. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +13 -0
  90. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -0
  91. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts +36 -0
  92. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -0
  93. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +287 -0
  94. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -0
  95. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts +4 -0
  96. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts.map +1 -0
  97. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +14 -0
  98. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js.map +1 -0
  99. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts +7 -0
  100. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -0
  101. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +314 -0
  102. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -0
  103. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.d.ts +5 -0
  104. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.d.ts.map +1 -0
  105. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js +17 -0
  106. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js.map +1 -0
  107. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.d.ts +14 -0
  108. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.d.ts.map +1 -0
  109. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js +28 -0
  110. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js.map +1 -0
  111. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts +23 -0
  112. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -0
  113. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +61 -0
  114. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -0
  115. package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts +2 -0
  116. package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts.map +1 -0
  117. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +2 -364
  118. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js.map +1 -0
  119. package/dist/api/captcha/getImageCaptchaChallenge.d.ts +7 -0
  120. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -0
  121. package/dist/api/captcha/getImageCaptchaChallenge.js +36 -9
  122. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -0
  123. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts +7 -0
  124. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -0
  125. package/dist/api/captcha/getPoWCaptchaChallenge.js +49 -7
  126. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -0
  127. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +7 -0
  128. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -0
  129. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +201 -0
  130. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -0
  131. package/dist/api/captcha/maintenanceModeResponses.d.ts +5 -0
  132. package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -0
  133. package/dist/api/captcha/maintenanceModeResponses.js +42 -0
  134. package/dist/api/captcha/maintenanceModeResponses.js.map +1 -0
  135. package/dist/api/captcha/submitImageCaptchaSolution.d.ts +6 -0
  136. package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -0
  137. package/dist/api/captcha/submitImageCaptchaSolution.js +19 -2
  138. package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -0
  139. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +6 -0
  140. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -0
  141. package/dist/api/captcha/submitPoWCaptchaSolution.js +94 -6
  142. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -0
  143. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +6 -0
  144. package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -0
  145. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +108 -0
  146. package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -0
  147. package/dist/api/captcha.d.ts +4 -0
  148. package/dist/api/captcha.d.ts.map +1 -0
  149. package/dist/api/captcha.js +28 -3
  150. package/dist/api/captcha.js.map +1 -0
  151. package/dist/api/dnsEventUrl.d.ts +3 -0
  152. package/dist/api/dnsEventUrl.d.ts.map +1 -0
  153. package/dist/api/dnsEventUrl.js +25 -0
  154. package/dist/api/dnsEventUrl.js.map +1 -0
  155. package/dist/api/domainMiddleware.d.ts +4 -0
  156. package/dist/api/domainMiddleware.d.ts.map +1 -0
  157. package/dist/api/domainMiddleware.js +36 -5
  158. package/dist/api/domainMiddleware.js.map +1 -0
  159. package/dist/api/headerCheckMiddleware.d.ts +4 -0
  160. package/dist/api/headerCheckMiddleware.d.ts.map +1 -0
  161. package/dist/api/headerCheckMiddleware.js.map +1 -0
  162. package/dist/api/ignoreMiddleware.d.ts +3 -0
  163. package/dist/api/ignoreMiddleware.d.ts.map +1 -0
  164. package/dist/api/ignoreMiddleware.js.map +1 -0
  165. package/dist/api/ipInfoMiddleware.d.ts +4 -0
  166. package/dist/api/ipInfoMiddleware.d.ts.map +1 -0
  167. package/dist/api/ipInfoMiddleware.js +20 -0
  168. package/dist/api/ipInfoMiddleware.js.map +1 -0
  169. package/dist/api/ja4Middleware.d.ts +10 -0
  170. package/dist/api/ja4Middleware.d.ts.map +1 -0
  171. package/dist/api/ja4Middleware.js +1 -1
  172. package/dist/api/ja4Middleware.js.map +1 -0
  173. package/dist/api/public.d.ts +4 -0
  174. package/dist/api/public.d.ts.map +1 -0
  175. package/dist/api/public.js.map +1 -0
  176. package/dist/api/robotsMiddleware.d.ts +3 -0
  177. package/dist/api/robotsMiddleware.d.ts.map +1 -0
  178. package/dist/api/robotsMiddleware.js.map +1 -0
  179. package/dist/api/startProviderApi.d.ts +9 -0
  180. package/dist/api/startProviderApi.d.ts.map +1 -0
  181. package/dist/api/startProviderApi.js +217 -0
  182. package/dist/api/startProviderApi.js.map +1 -0
  183. package/dist/api/testSiteKey.d.ts +4 -0
  184. package/dist/api/testSiteKey.d.ts.map +1 -0
  185. package/dist/api/testSiteKey.js +17 -0
  186. package/dist/api/testSiteKey.js.map +1 -0
  187. package/dist/api/validateAddress.d.ts +5 -0
  188. package/dist/api/validateAddress.d.ts.map +1 -0
  189. package/dist/api/validateAddress.js.map +1 -0
  190. package/dist/api/verify.d.ts +4 -0
  191. package/dist/api/verify.d.ts.map +1 -0
  192. package/dist/api/verify.js +146 -9
  193. package/dist/api/verify.js.map +1 -0
  194. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +31 -1
  195. package/dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs +59 -0
  196. package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +65 -0
  197. package/dist/cjs/api/admin/apiGetAllDecisionMachinesEndpoint.cjs +49 -0
  198. package/dist/cjs/api/admin/apiGetDecisionMachineEndpoint.cjs +42 -0
  199. package/dist/cjs/api/admin/apiRegisterSiteKeyEndpoint.cjs +5 -5
  200. package/dist/cjs/api/admin/apiRegisterSiteKeysEndpoint.cjs +34 -0
  201. package/dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs +41 -0
  202. package/dist/cjs/api/admin/apiRemoveDecisionMachineEndpoint.cjs +42 -0
  203. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +6 -6
  204. package/dist/cjs/api/admin/apiRemoveSiteKeyEndpoint.cjs +33 -0
  205. package/dist/cjs/api/admin/apiRemoveSiteKeysEndpoint.cjs +35 -0
  206. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +5 -5
  207. package/dist/cjs/api/admin/apiUpdateDecisionMachineEndpoint.cjs +60 -0
  208. package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +7 -7
  209. package/dist/cjs/api/blacklistRequestInspector.cjs +20 -6
  210. package/dist/cjs/api/block.cjs +19 -8
  211. package/dist/cjs/api/captcha/checkSpamEmail.cjs +79 -0
  212. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +123 -0
  213. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +13 -0
  214. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +287 -0
  215. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +14 -0
  216. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +313 -0
  217. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.cjs +17 -0
  218. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs +28 -0
  219. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +61 -0
  220. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +2 -364
  221. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +35 -8
  222. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +48 -6
  223. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +200 -0
  224. package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +42 -0
  225. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +19 -2
  226. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +92 -4
  227. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +107 -0
  228. package/dist/cjs/api/captcha.cjs +29 -4
  229. package/dist/cjs/api/dnsEventUrl.cjs +25 -0
  230. package/dist/cjs/api/domainMiddleware.cjs +36 -5
  231. package/dist/cjs/api/ipInfoMiddleware.cjs +20 -0
  232. package/dist/cjs/api/ja4Middleware.cjs +7 -7
  233. package/dist/cjs/api/startProviderApi.cjs +240 -0
  234. package/dist/cjs/api/testSiteKey.cjs +17 -0
  235. package/dist/cjs/api/verify.cjs +145 -8
  236. package/dist/cjs/compositeIpAddress.cjs +6 -6
  237. package/dist/cjs/index.cjs +19 -0
  238. package/dist/cjs/rules/lang.cjs +1 -1
  239. package/dist/cjs/schedulers/updateSpamEmailDomains.cjs +46 -0
  240. package/dist/cjs/services/ipComparison.cjs +9 -10
  241. package/dist/cjs/tasks/captchaManager.cjs +338 -66
  242. package/dist/cjs/tasks/client/clientTasks.cjs +116 -5
  243. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +285 -0
  244. package/dist/cjs/tasks/detection/decodeBehavior.cjs +325 -0
  245. package/dist/cjs/tasks/detection/decodeBehavior.js +15 -0
  246. package/dist/cjs/tasks/detection/decodePayload.cjs +692 -661
  247. package/dist/cjs/tasks/detection/decodePayload.js +15 -0
  248. package/dist/cjs/tasks/detection/decodeSimd.cjs +348 -0
  249. package/dist/cjs/tasks/detection/decodeSimd.js +15 -0
  250. package/dist/cjs/tasks/detection/getBotScore.cjs +4 -2
  251. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +146 -43
  252. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +10 -7
  253. package/dist/cjs/tasks/frictionless/routingMachine.cjs +58 -0
  254. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +371 -57
  255. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +450 -55
  256. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +525 -0
  257. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasksUtils.cjs +7 -0
  258. package/dist/cjs/tasks/spam/checkSpamEmail.cjs +147 -0
  259. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +41 -0
  260. package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +92 -0
  261. package/dist/cjs/tasks/spam/updateSpamEmailDomains.cjs +58 -0
  262. package/dist/cjs/tasks/tasks.cjs +111 -13
  263. package/dist/cjs/util/usageCounters.cjs +201 -0
  264. package/dist/cjs/util.cjs +3 -4
  265. package/dist/cjs/utils/devicePlatform.cjs +10 -0
  266. package/dist/cjs/utils/dns.cjs +102 -0
  267. package/dist/cjs/utils/honeypot/encoders.cjs +86 -0
  268. package/dist/cjs/utils/honeypot/phraseBank.cjs +47 -0
  269. package/dist/cjs/utils/normalizeRequestIp.cjs +27 -0
  270. package/dist/compositeIpAddress.d.ts +5 -0
  271. package/dist/compositeIpAddress.d.ts.map +1 -0
  272. package/dist/compositeIpAddress.js +1 -1
  273. package/dist/compositeIpAddress.js.map +1 -0
  274. package/dist/index.d.ts +23 -0
  275. package/dist/index.d.ts.map +1 -0
  276. package/dist/index.js +16 -0
  277. package/dist/index.js.map +1 -0
  278. package/dist/pairs.d.ts +3 -0
  279. package/dist/pairs.d.ts.map +1 -0
  280. package/dist/pairs.js.map +1 -0
  281. package/dist/rules/lang.d.ts +3 -0
  282. package/dist/rules/lang.d.ts.map +1 -0
  283. package/dist/rules/lang.js +1 -1
  284. package/dist/rules/lang.js.map +1 -0
  285. package/dist/schedulers/captchaScheduler.d.ts +4 -0
  286. package/dist/schedulers/captchaScheduler.d.ts.map +1 -0
  287. package/dist/schedulers/captchaScheduler.js.map +1 -0
  288. package/dist/schedulers/getClientList.d.ts +4 -0
  289. package/dist/schedulers/getClientList.d.ts.map +1 -0
  290. package/dist/schedulers/getClientList.js.map +1 -0
  291. package/dist/schedulers/setClientEntropy.d.ts +4 -0
  292. package/dist/schedulers/setClientEntropy.d.ts.map +1 -0
  293. package/dist/schedulers/setClientEntropy.js.map +1 -0
  294. package/dist/schedulers/updateSpamEmailDomains.d.ts +4 -0
  295. package/dist/schedulers/updateSpamEmailDomains.d.ts.map +1 -0
  296. package/dist/schedulers/updateSpamEmailDomains.js +46 -0
  297. package/dist/schedulers/updateSpamEmailDomains.js.map +1 -0
  298. package/dist/services/ipComparison.d.ts +4 -0
  299. package/dist/services/ipComparison.d.ts.map +1 -0
  300. package/dist/services/ipComparison.js +3 -4
  301. package/dist/services/ipComparison.js.map +1 -0
  302. package/dist/tasks/captchaManager.d.ts +52 -0
  303. package/dist/tasks/captchaManager.d.ts.map +1 -0
  304. package/dist/tasks/captchaManager.js +336 -64
  305. package/dist/tasks/captchaManager.js.map +1 -0
  306. package/dist/tasks/client/clientTasks.d.ts +69 -0
  307. package/dist/tasks/client/clientTasks.d.ts.map +1 -0
  308. package/dist/tasks/client/clientTasks.js +117 -6
  309. package/dist/tasks/client/clientTasks.js.map +1 -0
  310. package/dist/tasks/dataset/datasetTasks.d.ts +13 -0
  311. package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -0
  312. package/dist/tasks/dataset/datasetTasks.js.map +1 -0
  313. package/dist/tasks/dataset/datasetTasksUtils.d.ts +3 -0
  314. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -0
  315. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -0
  316. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +20 -0
  317. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -0
  318. package/dist/tasks/decisionMachine/decisionMachineRunner.js +285 -0
  319. package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -0
  320. package/dist/tasks/detection/decodeBehavior.d.ts +3 -0
  321. package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -0
  322. package/dist/tasks/detection/decodeBehavior.js +15 -0
  323. package/dist/tasks/detection/decodeBehavior.js.map +1 -0
  324. package/dist/tasks/detection/decodePayload.d.ts +5 -0
  325. package/dist/tasks/detection/decodePayload.d.ts.map +1 -0
  326. package/dist/tasks/detection/decodePayload.js +15 -849
  327. package/dist/tasks/detection/decodePayload.js.map +1 -0
  328. package/dist/tasks/detection/decodeSimd.d.ts +3 -0
  329. package/dist/tasks/detection/decodeSimd.d.ts.map +1 -0
  330. package/dist/tasks/detection/decodeSimd.js +15 -0
  331. package/dist/tasks/detection/decodeSimd.js.map +1 -0
  332. package/dist/tasks/detection/getBehavioralData.d.ts +4 -0
  333. package/dist/tasks/detection/getBehavioralData.d.ts.map +1 -0
  334. package/dist/tasks/detection/getBehavioralData.js +51 -0
  335. package/dist/tasks/detection/getBehavioralData.js.map +1 -0
  336. package/dist/tasks/detection/getBotScore.d.ts +22 -0
  337. package/dist/tasks/detection/getBotScore.d.ts.map +1 -0
  338. package/dist/tasks/detection/getBotScore.js +6 -4
  339. package/dist/tasks/detection/getBotScore.js.map +1 -0
  340. package/dist/tasks/frictionless/frictionlessTasks.d.ts +69 -0
  341. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -0
  342. package/dist/tasks/frictionless/frictionlessTasks.js +144 -43
  343. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -0
  344. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +6 -0
  345. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
  346. package/dist/tasks/frictionless/frictionlessTasksUtils.js +10 -7
  347. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
  348. package/dist/tasks/frictionless/routingMachine.d.ts +15 -0
  349. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -0
  350. package/dist/tasks/frictionless/routingMachine.js +58 -0
  351. package/dist/tasks/frictionless/routingMachine.js.map +1 -0
  352. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +33 -0
  353. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -0
  354. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +371 -57
  355. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -0
  356. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +7 -0
  357. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -0
  358. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -0
  359. package/dist/tasks/index.d.ts +2 -0
  360. package/dist/tasks/index.d.ts.map +1 -0
  361. package/dist/tasks/index.js.map +1 -0
  362. package/dist/tasks/powCaptcha/powTasks.d.ts +36 -0
  363. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -0
  364. package/dist/tasks/powCaptcha/powTasks.js +452 -57
  365. package/dist/tasks/powCaptcha/powTasks.js.map +1 -0
  366. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +3 -0
  367. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -0
  368. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -0
  369. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +32 -0
  370. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -0
  371. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +525 -0
  372. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -0
  373. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.d.ts +2 -0
  374. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.d.ts.map +1 -0
  375. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js +7 -0
  376. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js.map +1 -0
  377. package/dist/tasks/spam/checkSpamEmail.d.ts +5 -0
  378. package/dist/tasks/spam/checkSpamEmail.d.ts.map +1 -0
  379. package/dist/tasks/spam/checkSpamEmail.js +147 -0
  380. package/dist/tasks/spam/checkSpamEmail.js.map +1 -0
  381. package/dist/tasks/spam/checkTrafficFilter.d.ts +10 -0
  382. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -0
  383. package/dist/tasks/spam/checkTrafficFilter.js +41 -0
  384. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -0
  385. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts +16 -0
  386. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts.map +1 -0
  387. package/dist/tasks/spam/evaluateEmailSpamRules.js +92 -0
  388. package/dist/tasks/spam/evaluateEmailSpamRules.js.map +1 -0
  389. package/dist/tasks/spam/updateSpamEmailDomains.d.ts +4 -0
  390. package/dist/tasks/spam/updateSpamEmailDomains.d.ts.map +1 -0
  391. package/dist/tasks/spam/updateSpamEmailDomains.js +58 -0
  392. package/dist/tasks/spam/updateSpamEmailDomains.js.map +1 -0
  393. package/dist/tasks/tasks.d.ts +36 -0
  394. package/dist/tasks/tasks.d.ts.map +1 -0
  395. package/dist/tasks/tasks.js +102 -4
  396. package/dist/tasks/tasks.js.map +1 -0
  397. package/dist/tests/index.d.ts +2 -0
  398. package/dist/tests/index.d.ts.map +1 -0
  399. package/dist/tests/index.js +2 -0
  400. package/dist/tests/index.js.map +1 -0
  401. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +2 -0
  402. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +1 -0
  403. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +82 -0
  404. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -0
  405. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.d.ts +2 -0
  406. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.d.ts.map +1 -0
  407. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js +107 -0
  408. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js.map +1 -0
  409. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +2 -0
  410. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +1 -0
  411. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +525 -0
  412. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -0
  413. package/dist/tests/integration/clientSettingsPersistence.integration.test.d.ts +2 -0
  414. package/dist/tests/integration/clientSettingsPersistence.integration.test.d.ts.map +1 -0
  415. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +165 -0
  416. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -0
  417. package/dist/tests/integration/decisionMachines.integration.test.d.ts +2 -0
  418. package/dist/tests/integration/decisionMachines.integration.test.d.ts.map +1 -0
  419. package/dist/tests/integration/decisionMachines.integration.test.js +511 -0
  420. package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -0
  421. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +2 -0
  422. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +1 -0
  423. package/dist/tests/integration/imgCaptcha.integration.test.js +646 -0
  424. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -0
  425. package/dist/tests/integration/ipValidation.integration.test.d.ts +2 -0
  426. package/dist/tests/integration/ipValidation.integration.test.d.ts.map +1 -0
  427. package/dist/tests/integration/ipValidation.integration.test.js +81 -0
  428. package/dist/tests/integration/ipValidation.integration.test.js.map +1 -0
  429. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +32 -0
  430. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -0
  431. package/dist/tests/integration/mocks/solvedTestCaptchas.js +1046 -0
  432. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +1 -0
  433. package/dist/tests/integration/powCaptcha.integration.test.d.ts +2 -0
  434. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +1 -0
  435. package/dist/tests/integration/powCaptcha.integration.test.js +502 -0
  436. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -0
  437. package/dist/tests/integration/registerSitekey.d.ts +3 -0
  438. package/dist/tests/integration/registerSitekey.d.ts.map +1 -0
  439. package/dist/tests/integration/registerSitekey.js +23 -0
  440. package/dist/tests/integration/registerSitekey.js.map +1 -0
  441. package/dist/tests/integration/routingDecisionMachines.integration.test.d.ts +2 -0
  442. package/dist/tests/integration/routingDecisionMachines.integration.test.d.ts.map +1 -0
  443. package/dist/tests/integration/routingDecisionMachines.integration.test.js +276 -0
  444. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -0
  445. package/dist/tests/integration/testUtils.d.ts +4 -0
  446. package/dist/tests/integration/testUtils.d.ts.map +1 -0
  447. package/dist/tests/integration/testUtils.js +15 -0
  448. package/dist/tests/integration/testUtils.js.map +1 -0
  449. package/dist/tests/integration/usageCounters.integration.test.d.ts +2 -0
  450. package/dist/tests/integration/usageCounters.integration.test.d.ts.map +1 -0
  451. package/dist/tests/integration/usageCounters.integration.test.js +103 -0
  452. package/dist/tests/integration/usageCounters.integration.test.js.map +1 -0
  453. package/dist/tests/integration/userAccessPolicy.d.ts +2 -0
  454. package/dist/tests/integration/userAccessPolicy.d.ts.map +1 -0
  455. package/dist/tests/integration/userAccessPolicy.js +2 -0
  456. package/dist/tests/integration/userAccessPolicy.js.map +1 -0
  457. package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.d.ts +2 -0
  458. package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.d.ts.map +1 -0
  459. package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.js +63 -0
  460. package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.js.map +1 -0
  461. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.d.ts +2 -0
  462. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.d.ts.map +1 -0
  463. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +55 -0
  464. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -0
  465. package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.d.ts +2 -0
  466. package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.d.ts.map +1 -0
  467. package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.js +67 -0
  468. package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.js.map +1 -0
  469. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts +2 -0
  470. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts.map +1 -0
  471. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js +56 -0
  472. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js.map +1 -0
  473. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.d.ts +2 -0
  474. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.d.ts.map +1 -0
  475. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +90 -0
  476. package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -0
  477. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts +2 -0
  478. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts.map +1 -0
  479. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js +59 -0
  480. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js.map +1 -0
  481. package/dist/tests/unit/api/adminRoutes.unit.test.d.ts +2 -0
  482. package/dist/tests/unit/api/adminRoutes.unit.test.d.ts.map +1 -0
  483. package/dist/tests/unit/api/adminRoutes.unit.test.js +131 -0
  484. package/dist/tests/unit/api/adminRoutes.unit.test.js.map +1 -0
  485. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +2 -0
  486. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +1 -0
  487. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +137 -0
  488. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -0
  489. package/dist/tests/unit/api/block.unit.test.d.ts +2 -0
  490. package/dist/tests/unit/api/block.unit.test.d.ts.map +1 -0
  491. package/dist/tests/unit/api/block.unit.test.js +60 -0
  492. package/dist/tests/unit/api/block.unit.test.js.map +1 -0
  493. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.d.ts +2 -0
  494. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.d.ts.map +1 -0
  495. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js +118 -0
  496. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js.map +1 -0
  497. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.d.ts +2 -0
  498. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.d.ts.map +1 -0
  499. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +37 -0
  500. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -0
  501. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.d.ts +2 -0
  502. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.d.ts.map +1 -0
  503. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +154 -0
  504. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -0
  505. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.d.ts +2 -0
  506. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.d.ts.map +1 -0
  507. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js +46 -0
  508. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js.map +1 -0
  509. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.d.ts +2 -0
  510. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.d.ts.map +1 -0
  511. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.js +69 -0
  512. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.js.map +1 -0
  513. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.d.ts +2 -0
  514. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.d.ts.map +1 -0
  515. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.js +98 -0
  516. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.js.map +1 -0
  517. package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.d.ts +2 -0
  518. package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.d.ts.map +1 -0
  519. package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.js +60 -0
  520. package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.js.map +1 -0
  521. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.d.ts +2 -0
  522. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.d.ts.map +1 -0
  523. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +134 -0
  524. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -0
  525. package/dist/tests/unit/api/captcha.unit.test.d.ts +2 -0
  526. package/dist/tests/unit/api/captcha.unit.test.d.ts.map +1 -0
  527. package/dist/tests/unit/api/captcha.unit.test.js +39 -0
  528. package/dist/tests/unit/api/captcha.unit.test.js.map +1 -0
  529. package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts +2 -0
  530. package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts.map +1 -0
  531. package/dist/tests/unit/api/contextAwareValidation.unit.test.js +84 -0
  532. package/dist/tests/unit/api/contextAwareValidation.unit.test.js.map +1 -0
  533. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts +2 -0
  534. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts.map +1 -0
  535. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +435 -0
  536. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -0
  537. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.d.ts +2 -0
  538. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.d.ts.map +1 -0
  539. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js +126 -0
  540. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js.map +1 -0
  541. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +2 -0
  542. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +1 -0
  543. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +113 -0
  544. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +1 -0
  545. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +2 -0
  546. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +1 -0
  547. package/dist/tests/unit/api/ja4Middleware.unit.test.js +138 -0
  548. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +1 -0
  549. package/dist/tests/unit/api/public.unit.test.d.ts +2 -0
  550. package/dist/tests/unit/api/public.unit.test.d.ts.map +1 -0
  551. package/dist/tests/unit/api/public.unit.test.js +198 -0
  552. package/dist/tests/unit/api/public.unit.test.js.map +1 -0
  553. package/dist/tests/unit/api/robotsMiddleware.unit.test.d.ts +2 -0
  554. package/dist/tests/unit/api/robotsMiddleware.unit.test.d.ts.map +1 -0
  555. package/dist/tests/unit/api/robotsMiddleware.unit.test.js +50 -0
  556. package/dist/tests/unit/api/robotsMiddleware.unit.test.js.map +1 -0
  557. package/dist/tests/unit/api/testSiteKey.unit.test.d.ts +2 -0
  558. package/dist/tests/unit/api/testSiteKey.unit.test.d.ts.map +1 -0
  559. package/dist/tests/unit/api/testSiteKey.unit.test.js +51 -0
  560. package/dist/tests/unit/api/testSiteKey.unit.test.js.map +1 -0
  561. package/dist/tests/unit/api/validateAddress.unit.test.d.ts +2 -0
  562. package/dist/tests/unit/api/validateAddress.unit.test.d.ts.map +1 -0
  563. package/dist/tests/unit/api/validateAddress.unit.test.js +141 -0
  564. package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -0
  565. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +2 -0
  566. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +1 -0
  567. package/dist/tests/unit/compositeIpAddress.unit.test.js +158 -0
  568. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -0
  569. package/dist/tests/unit/pairs.unit.test.d.ts +2 -0
  570. package/dist/tests/unit/pairs.unit.test.d.ts.map +1 -0
  571. package/dist/tests/unit/pairs.unit.test.js +229 -0
  572. package/dist/tests/unit/pairs.unit.test.js.map +1 -0
  573. package/dist/tests/unit/rules/lang.unit.test.d.ts +2 -0
  574. package/dist/tests/unit/rules/lang.unit.test.d.ts.map +1 -0
  575. package/dist/tests/unit/rules/lang.unit.test.js +207 -0
  576. package/dist/tests/unit/rules/lang.unit.test.js.map +1 -0
  577. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +2 -0
  578. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +1 -0
  579. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +75 -0
  580. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -0
  581. package/dist/tests/unit/schedulers/getClientList.unit.test.d.ts +2 -0
  582. package/dist/tests/unit/schedulers/getClientList.unit.test.d.ts.map +1 -0
  583. package/dist/tests/unit/schedulers/getClientList.unit.test.js +114 -0
  584. package/dist/tests/unit/schedulers/getClientList.unit.test.js.map +1 -0
  585. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.d.ts +2 -0
  586. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.d.ts.map +1 -0
  587. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js +114 -0
  588. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js.map +1 -0
  589. package/dist/tests/unit/services/ipComparison.unit.test.d.ts +2 -0
  590. package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +1 -0
  591. package/dist/tests/unit/services/ipComparison.unit.test.js +272 -0
  592. package/dist/tests/unit/services/ipComparison.unit.test.js.map +1 -0
  593. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
  594. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
  595. package/dist/tests/unit/tasks/captchaManager.unit.test.js +576 -0
  596. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
  597. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +2 -0
  598. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +1 -0
  599. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +343 -0
  600. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -0
  601. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +2 -0
  602. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +1 -0
  603. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +92 -0
  604. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -0
  605. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +2 -0
  606. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +1 -0
  607. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +75 -0
  608. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -0
  609. package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.d.ts +2 -0
  610. package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.d.ts.map +1 -0
  611. package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.js +213 -0
  612. package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.js.map +1 -0
  613. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.d.ts +2 -0
  614. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.d.ts.map +1 -0
  615. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +304 -0
  616. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -0
  617. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +2 -0
  618. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +1 -0
  619. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +109 -0
  620. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +1 -0
  621. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.d.ts +2 -0
  622. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.d.ts.map +1 -0
  623. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +115 -0
  624. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -0
  625. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +2 -0
  626. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +1 -0
  627. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +142 -0
  628. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -0
  629. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +2 -0
  630. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +1 -0
  631. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +350 -0
  632. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -0
  633. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
  634. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
  635. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +103 -0
  636. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
  637. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.d.ts +2 -0
  638. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.d.ts.map +1 -0
  639. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js +169 -0
  640. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js.map +1 -0
  641. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +2 -0
  642. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +1 -0
  643. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +1098 -0
  644. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -0
  645. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +2 -0
  646. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +1 -0
  647. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +56 -0
  648. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -0
  649. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +2 -0
  650. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +1 -0
  651. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +1714 -0
  652. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -0
  653. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +2 -0
  654. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +1 -0
  655. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +169 -0
  656. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -0
  657. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.d.ts +2 -0
  658. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.d.ts.map +1 -0
  659. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +313 -0
  660. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -0
  661. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.d.ts +2 -0
  662. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.d.ts.map +1 -0
  663. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.js +29 -0
  664. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.js.map +1 -0
  665. package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.d.ts +2 -0
  666. package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.d.ts.map +1 -0
  667. package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.js +434 -0
  668. package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.js.map +1 -0
  669. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.d.ts +2 -0
  670. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.d.ts.map +1 -0
  671. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +112 -0
  672. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -0
  673. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.d.ts +2 -0
  674. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.d.ts.map +1 -0
  675. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js +94 -0
  676. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js.map +1 -0
  677. package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.d.ts +2 -0
  678. package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.d.ts.map +1 -0
  679. package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.js +94 -0
  680. package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.js.map +1 -0
  681. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.d.ts +2 -0
  682. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.d.ts.map +1 -0
  683. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +208 -0
  684. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -0
  685. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +26 -0
  686. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -0
  687. package/dist/tests/unit/testUtils/mockProviderEnv.js +149 -0
  688. package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -0
  689. package/dist/tests/unit/util/redisCache.unit.test.d.ts +2 -0
  690. package/dist/tests/unit/util/redisCache.unit.test.d.ts.map +1 -0
  691. package/dist/tests/unit/util/redisCache.unit.test.js +257 -0
  692. package/dist/tests/unit/util/redisCache.unit.test.js.map +1 -0
  693. package/dist/tests/unit/util/usageCounters.unit.test.d.ts +2 -0
  694. package/dist/tests/unit/util/usageCounters.unit.test.d.ts.map +1 -0
  695. package/dist/tests/unit/util/usageCounters.unit.test.js +242 -0
  696. package/dist/tests/unit/util/usageCounters.unit.test.js.map +1 -0
  697. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +2 -0
  698. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +1 -0
  699. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +507 -0
  700. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +1 -0
  701. package/dist/tests/unit/util.ipDistance.unit.test.d.ts +2 -0
  702. package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +1 -0
  703. package/dist/tests/unit/util.ipDistance.unit.test.js +99 -0
  704. package/dist/tests/unit/util.ipDistance.unit.test.js.map +1 -0
  705. package/dist/tests/unit/util.unit.test.d.ts +2 -0
  706. package/dist/tests/unit/util.unit.test.d.ts.map +1 -0
  707. package/dist/tests/unit/util.unit.test.js +167 -0
  708. package/dist/tests/unit/util.unit.test.js.map +1 -0
  709. package/dist/tests/unit/utils/devicePlatform.unit.test.d.ts +2 -0
  710. package/dist/tests/unit/utils/devicePlatform.unit.test.d.ts.map +1 -0
  711. package/dist/tests/unit/utils/devicePlatform.unit.test.js +58 -0
  712. package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -0
  713. package/dist/tests/unit/utils/hashUserAgent.unit.test.d.ts +2 -0
  714. package/dist/tests/unit/utils/hashUserAgent.unit.test.d.ts.map +1 -0
  715. package/dist/tests/unit/utils/hashUserAgent.unit.test.js +52 -0
  716. package/dist/tests/unit/utils/hashUserAgent.unit.test.js.map +1 -0
  717. package/dist/tests/unit/utils/hashUserIp.unit.test.d.ts +2 -0
  718. package/dist/tests/unit/utils/hashUserIp.unit.test.d.ts.map +1 -0
  719. package/dist/tests/unit/utils/hashUserIp.unit.test.js +81 -0
  720. package/dist/tests/unit/utils/hashUserIp.unit.test.js.map +1 -0
  721. package/dist/util/usageCounters.d.ts +22 -0
  722. package/dist/util/usageCounters.d.ts.map +1 -0
  723. package/dist/util/usageCounters.js +201 -0
  724. package/dist/util/usageCounters.js.map +1 -0
  725. package/dist/util.d.ts +25 -0
  726. package/dist/util.d.ts.map +1 -0
  727. package/dist/util.js +3 -4
  728. package/dist/util.js.map +1 -0
  729. package/dist/utils/devicePlatform.d.ts +5 -0
  730. package/dist/utils/devicePlatform.d.ts.map +1 -0
  731. package/dist/utils/devicePlatform.js +10 -0
  732. package/dist/utils/devicePlatform.js.map +1 -0
  733. package/dist/utils/dns.d.ts +22 -0
  734. package/dist/utils/dns.d.ts.map +1 -0
  735. package/dist/utils/dns.js +84 -0
  736. package/dist/utils/dns.js.map +1 -0
  737. package/dist/utils/hashUserAgent.d.ts +2 -0
  738. package/dist/utils/hashUserAgent.d.ts.map +1 -0
  739. package/dist/utils/hashUserAgent.js.map +1 -0
  740. package/dist/utils/hashUserIp.d.ts +2 -0
  741. package/dist/utils/hashUserIp.d.ts.map +1 -0
  742. package/dist/utils/hashUserIp.js.map +1 -0
  743. package/dist/utils/honeypot/encoders.d.ts +3 -0
  744. package/dist/utils/honeypot/encoders.d.ts.map +1 -0
  745. package/dist/utils/honeypot/encoders.js +86 -0
  746. package/dist/utils/honeypot/encoders.js.map +1 -0
  747. package/dist/utils/honeypot/phraseBank.d.ts +3 -0
  748. package/dist/utils/honeypot/phraseBank.d.ts.map +1 -0
  749. package/dist/utils/honeypot/phraseBank.js +47 -0
  750. package/dist/utils/honeypot/phraseBank.js.map +1 -0
  751. package/dist/utils/normalizeRequestIp.d.ts +3 -0
  752. package/dist/utils/normalizeRequestIp.d.ts.map +1 -0
  753. package/dist/utils/normalizeRequestIp.js +27 -0
  754. package/dist/utils/normalizeRequestIp.js.map +1 -0
  755. package/package.json +30 -21
  756. package/vite.cjs.config.ts +17 -5
  757. package/vite.esm.config.ts +18 -4
  758. package/vite.test.config.ts +1 -1
  759. package/vite.threads.test.config.ts +1 -1
  760. package/dist/cjs/services/ipInfo.cjs +0 -87
  761. package/dist/services/ipInfo.js +0 -87
@@ -1,10 +1,10 @@
1
1
  import { createPrivateKey } from "node:crypto";
2
2
  import { ProsopoApiError } from "@prosopo/common";
3
3
  import { CaptchaDatabase, ClientDatabase } from "@prosopo/database";
4
- import { ScheduledTaskNames, ScheduledTaskStatus, Tier } from "@prosopo/types";
4
+ import { ScheduledTaskNames, ScheduledTaskStatus, Tier, DecisionMachineScope } from "@prosopo/types";
5
5
  import { majorityAverage, parseUrl } from "@prosopo/util";
6
6
  import { validateSiteKey } from "../../api/validateAddress.js";
7
- const SAMPLE_SIZE = 100;
7
+ const SAMPLE_SIZE = 75;
8
8
  const isValidPrivateKey = (privateKeyString) => {
9
9
  const privateKey = Buffer.from(privateKeyString, "base64").toString("ascii");
10
10
  try {
@@ -62,6 +62,7 @@ class ClientTaskManager {
62
62
  try {
63
63
  const BATCH_SIZE = 1e3;
64
64
  const captchaDB = this.getCaptchaDB(this.config.mongoCaptchaUri);
65
+ const sweepStartedAt = /* @__PURE__ */ new Date();
65
66
  let processedCommitments = 0;
66
67
  await this.processBatchesWithCursor(
67
68
  async (skip) => await this.providerDB.getUnstoredDappUserCommitments(
@@ -69,11 +70,12 @@ class ClientTaskManager {
69
70
  skip
70
71
  ),
71
72
  async (batch) => {
72
- const filteredBatch = lastTask?.updated ? batch.filter((commitment) => this.isRecordUpdated(commitment)) : batch;
73
+ const filteredBatch = (lastTask?.updated ? batch.filter((commitment) => this.isRecordUpdated(commitment)) : batch).filter((commitment) => commitment.id !== "");
73
74
  if (filteredBatch.length > 0) {
74
75
  await captchaDB.saveCaptchas([], filteredBatch, []);
75
76
  await this.providerDB.markDappUserCommitmentsStored(
76
- filteredBatch.map((commitment) => commitment.id)
77
+ filteredBatch.map((commitment) => commitment.id),
78
+ sweepStartedAt
77
79
  );
78
80
  }
79
81
  processedCommitments += filteredBatch.length;
@@ -90,7 +92,8 @@ class ClientTaskManager {
90
92
  if (filteredBatch.length > 0) {
91
93
  await captchaDB.saveCaptchas([], [], filteredBatch);
92
94
  await this.providerDB.markDappUserPoWCommitmentsStored(
93
- filteredBatch.map((record) => record.challenge)
95
+ filteredBatch.map((record) => record.challenge),
96
+ sweepStartedAt
94
97
  );
95
98
  }
96
99
  processedPowRecords += filteredBatch.length;
@@ -104,7 +107,8 @@ class ClientTaskManager {
104
107
  if (filteredBatch.length > 0) {
105
108
  await captchaDB.saveCaptchas(filteredBatch, [], []);
106
109
  await this.providerDB.markSessionRecordsStored(
107
- filteredBatch.map((record) => record.sessionId)
110
+ filteredBatch.map((record) => record.sessionId),
111
+ sweepStartedAt
108
112
  );
109
113
  }
110
114
  processedSessionRecords += filteredBatch.length;
@@ -283,6 +287,30 @@ class ClientTaskManager {
283
287
  }
284
288
  ]);
285
289
  }
290
+ async registerSiteKeys(siteKeys) {
291
+ const records = [];
292
+ for (const { siteKey, tier, settings } of siteKeys) {
293
+ validateSiteKey(siteKey);
294
+ records.push({
295
+ account: siteKey,
296
+ tier,
297
+ settings
298
+ });
299
+ }
300
+ await this.providerDB.updateClientRecords(records);
301
+ }
302
+ async removeSiteKey(siteKey) {
303
+ validateSiteKey(siteKey);
304
+ await this.providerDB.removeClientRecords([siteKey]);
305
+ }
306
+ async removeSiteKeys(siteKeys) {
307
+ const accounts = [];
308
+ for (const { siteKey } of siteKeys) {
309
+ validateSiteKey(siteKey);
310
+ accounts.push(siteKey);
311
+ }
312
+ await this.providerDB.removeClientRecords(accounts);
313
+ }
286
314
  async updateDetectorKey(detectorKey) {
287
315
  if (!isValidPrivateKey(detectorKey)) {
288
316
  throw new ProsopoApiError("INVALID_DETECTOR_KEY", {
@@ -303,6 +331,89 @@ class ClientTaskManager {
303
331
  }
304
332
  await this.providerDB.removeDetectorKey(detectorKey, expirationInSeconds);
305
333
  }
334
+ async updateDecisionMachine(scope, runtime, source, dappAccount, language, name, version, captchaType) {
335
+ if (scope === DecisionMachineScope.Dapp && !dappAccount) {
336
+ throw new ProsopoApiError("API.BAD_REQUEST", {
337
+ context: { scope, dappAccount },
338
+ logger: this.logger
339
+ });
340
+ }
341
+ const now = /* @__PURE__ */ new Date();
342
+ await this.providerDB.upsertDecisionMachineArtifact({
343
+ scope,
344
+ dappAccount,
345
+ runtime,
346
+ language,
347
+ source,
348
+ name,
349
+ version,
350
+ captchaType,
351
+ createdAt: now,
352
+ updatedAt: now
353
+ });
354
+ return {
355
+ scope,
356
+ dappAccount,
357
+ updatedAt: now.toISOString()
358
+ };
359
+ }
360
+ async getAllDecisionMachines() {
361
+ const artifacts = await this.providerDB.getAllDecisionMachineArtifacts();
362
+ return artifacts.map((artifact) => ({
363
+ _id: artifact._id.toString(),
364
+ scope: artifact.scope,
365
+ dappAccount: artifact.dappAccount,
366
+ runtime: artifact.runtime,
367
+ language: artifact.language,
368
+ name: artifact.name,
369
+ version: artifact.version,
370
+ captchaType: artifact.captchaType,
371
+ createdAt: artifact.createdAt.toISOString(),
372
+ updatedAt: artifact.updatedAt.toISOString()
373
+ }));
374
+ }
375
+ async getDecisionMachine(id) {
376
+ const artifact = await this.providerDB.getDecisionMachineArtifactById(id);
377
+ if (!artifact) {
378
+ throw new ProsopoApiError("API.BAD_REQUEST", {
379
+ context: { id },
380
+ logger: this.logger
381
+ });
382
+ }
383
+ return {
384
+ _id: artifact._id.toString(),
385
+ scope: artifact.scope,
386
+ dappAccount: artifact.dappAccount,
387
+ runtime: artifact.runtime,
388
+ language: artifact.language,
389
+ source: artifact.source,
390
+ name: artifact.name,
391
+ version: artifact.version,
392
+ captchaType: artifact.captchaType,
393
+ createdAt: artifact.createdAt.toISOString(),
394
+ updatedAt: artifact.updatedAt.toISOString()
395
+ };
396
+ }
397
+ async removeDecisionMachine(id) {
398
+ const success = await this.providerDB.removeDecisionMachineArtifact(id);
399
+ if (!success) {
400
+ throw new ProsopoApiError("API.BAD_REQUEST", {
401
+ context: { id, message: "Decision machine not found" },
402
+ logger: this.logger
403
+ });
404
+ }
405
+ return {
406
+ success,
407
+ deletedId: id
408
+ };
409
+ }
410
+ async removeAllDecisionMachines() {
411
+ const deletedCount = await this.providerDB.removeAllDecisionMachineArtifacts();
412
+ return {
413
+ success: true,
414
+ deletedCount
415
+ };
416
+ }
306
417
  /**
307
418
  * Matches a request referrer against an allowed domain pattern.
308
419
  * Supports global '*', subdomain '*.example.com', glob '*example*',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTasks.js","sourceRoot":"","sources":["../../../src/tasks/client/clientTasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Logger } from "@prosopo/logger";
2
+ import type { DatasetRaw, ProsopoCaptchaCountConfigSchemaOutput, ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
+ export declare class DatasetManager {
5
+ config: ProsopoConfigOutput;
6
+ logger: Logger;
7
+ captchaConfig: ProsopoCaptchaCountConfigSchemaOutput;
8
+ db: IProviderDatabase;
9
+ constructor(config: ProsopoConfigOutput, logger: Logger, captchaConfig: ProsopoCaptchaCountConfigSchemaOutput, db: IProviderDatabase);
10
+ providerSetDatasetFromFile(file: JSON): Promise<void>;
11
+ providerSetDataset(datasetRaw: DatasetRaw): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=datasetTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasks.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EACX,UAAU,EACV,qCAAqC,EACrC,mBAAmB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,qBAAa,cAAc;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,qCAAqC,CAAC;IACrD,EAAE,EAAE,iBAAiB,CAAC;gBAGrB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,qCAAqC,EACpD,EAAE,EAAE,iBAAiB;IAahB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasks.js","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasks.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,cAAc;IAM1B,YACC,MAA2B,EAC3B,MAAc,EACd,aAAoD,EACpD,EAAqB;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAOD,KAAK,CAAC,0BAA0B,CAAC,IAAU;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAsB;QAC9C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAC5C,UAAU,EACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CACjC,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ import type { DatasetRaw } from "@prosopo/types";
2
+ export declare const providerValidateDataset: (datasetRaw: DatasetRaw, minSolvedCaptchas: number, minUnsolvedCaptchas: number) => Promise<import("@prosopo/types").Dataset>;
3
+ //# sourceMappingURL=datasetTasksUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasksUtils.d.ts","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasksUtils.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,eACvB,UAAU,qBACH,MAAM,uBACJ,MAAM,8CAyC3B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasksUtils.js","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasksUtils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC3C,UAAsB,EACtB,iBAAyB,EACzB,mBAA2B,EAC1B,EAAE;IAEH,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;QAC1E,MAAM,IAAI,eAAe,CAAC,6CAA6C,EAAE;YACxE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ;SACnC,GAAG,CAAC,CAAC,OAAO,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAG/C,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE;YACzE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAGD,IAAI,SAAS,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE;YACzE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAG/C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,IAAI,eAAe,CAAC,8BAA8B,EAAE;YACzD,OAAO,EAAE;gBACR,cAAc,EAAE,uBAAuB,CAAC,IAAI;gBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC1C;SACD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Logger } from "@prosopo/logger";
2
+ import { type CounterSpec, type DecisionMachineInput, type DecisionMachineOutput, type RoutingMachineInput, type RoutingMachineInputBase, type RoutingMachineOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
+ export declare class DecisionMachineRunner {
5
+ private readonly db;
6
+ private readonly artifactCache;
7
+ constructor(db: IProviderDatabase);
8
+ private static cacheKey;
9
+ private getCachedArtifact;
10
+ private setCachedArtifact;
11
+ decide(input: DecisionMachineInput, logger?: Logger): Promise<DecisionMachineOutput>;
12
+ route(input: RoutingMachineInput, logger?: Logger): Promise<RoutingMachineOutput | undefined>;
13
+ getRequiredCounters(input: RoutingMachineInputBase, logger?: Logger): Promise<CounterSpec[]>;
14
+ private selectArtifact;
15
+ private matchesCaptchaType;
16
+ private runArtifactExport;
17
+ private findExport;
18
+ private withTimeout;
19
+ }
20
+ //# sourceMappingURL=decisionMachineRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisionMachineRunner.d.ts","sourceRoot":"","sources":["../../../src/tasks/decisionMachine/decisionMachineRunner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,KAAK,WAAW,EAKhB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAI1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiCjE,qBAAa,qBAAqB;IAGrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAF/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;gBAEtC,EAAE,EAAE,iBAAiB;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAmBnB,MAAM,CACX,KAAK,EAAE,oBAAoB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IA0C3B,KAAK,CACV,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAgCtC,mBAAmB,CACxB,KAAK,EAAE,uBAAuB,EAC9B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;YAoCX,cAAc;IAyE5B,OAAO,CAAC,kBAAkB;YAoBZ,iBAAiB;IAsC/B,OAAO,CAAC,UAAU;YAwBJ,WAAW;CAoBzB"}
@@ -0,0 +1,285 @@
1
+ import vm from "node:vm";
2
+ import { DecisionMachineDecision, CounterSpecSchema, DecisionMachineRuntime, DecisionMachineOutputSchema, RoutingMachineOutputSchema, DecisionMachineScope } from "@prosopo/types";
3
+ import { z } from "zod";
4
+ const LOAD_TIMEOUT_MS = Number.parseInt(process.env.DECISION_MACHINE_LOAD_TIMEOUT_MS ?? "", 10) || 1e3;
5
+ const EXEC_TIMEOUT_MS = Number.parseInt(process.env.DECISION_MACHINE_EXEC_TIMEOUT_MS ?? "", 10) || 2e3;
6
+ const ARTIFACT_CACHE_TTL_MS = Number.parseInt(
7
+ process.env.DECISION_MACHINE_ARTIFACT_CACHE_TTL_MS ?? "",
8
+ 10
9
+ ) || 5 * 60 * 1e3;
10
+ const DEFAULT_DECISION = {
11
+ decision: DecisionMachineDecision.Allow
12
+ };
13
+ const RequiredCountersSchema = z.array(CounterSpecSchema);
14
+ class DecisionMachineRunner {
15
+ constructor(db) {
16
+ this.db = db;
17
+ this.artifactCache = /* @__PURE__ */ new Map();
18
+ }
19
+ /** Build a cache key for a given scope + dappAccount pair. */
20
+ static cacheKey(scope, dappAccount) {
21
+ return `${scope}:${dappAccount ?? ""}`;
22
+ }
23
+ /** Return a cached artifact if still fresh, or undefined. */
24
+ getCachedArtifact(scope, dappAccount) {
25
+ const entry = this.artifactCache.get(
26
+ DecisionMachineRunner.cacheKey(scope, dappAccount)
27
+ );
28
+ if (!entry) return null;
29
+ if (Date.now() - entry.cachedAt > ARTIFACT_CACHE_TTL_MS) {
30
+ this.artifactCache.delete(
31
+ DecisionMachineRunner.cacheKey(scope, dappAccount)
32
+ );
33
+ return null;
34
+ }
35
+ return entry.artifact;
36
+ }
37
+ /** Store an artifact (or undefined for negative cache) in the cache. */
38
+ setCachedArtifact(scope, dappAccount, artifact) {
39
+ this.artifactCache.set(DecisionMachineRunner.cacheKey(scope, dappAccount), {
40
+ artifact,
41
+ cachedAt: Date.now()
42
+ });
43
+ }
44
+ /**
45
+ * Evaluates a single decision machine artifact and returns a decision.
46
+ * Only one decision machine is selected and executed per request based on scope priority.
47
+ *
48
+ * @param input - The decision machine input containing user, dapp, and behavioral data
49
+ * @param logger - Optional logger for warnings and errors
50
+ * @returns A decision (allow/deny) with optional metadata
51
+ */
52
+ async decide(input, logger) {
53
+ try {
54
+ const artifact = await this.selectArtifact(
55
+ input.dappAccount,
56
+ input.captchaType
57
+ );
58
+ if (!artifact) {
59
+ return DEFAULT_DECISION;
60
+ }
61
+ if (artifact.runtime !== DecisionMachineRuntime.Node) {
62
+ logger?.warn?.(() => ({
63
+ msg: "Unsupported decision machine runtime, defaulting to allow",
64
+ data: { runtime: artifact.runtime }
65
+ }));
66
+ return DEFAULT_DECISION;
67
+ }
68
+ const decision = await this.runArtifactExport(
69
+ artifact,
70
+ ["decide", "default"],
71
+ { input: { ...input, phase: input.phase ?? "verify" } },
72
+ DecisionMachineOutputSchema
73
+ );
74
+ return decision ?? DEFAULT_DECISION;
75
+ } catch (error) {
76
+ logger?.error?.(() => ({
77
+ msg: "Decision machine failed, defaulting to allow",
78
+ err: error,
79
+ data: { dappAccount: input.dappAccount }
80
+ }));
81
+ return DEFAULT_DECISION;
82
+ }
83
+ }
84
+ /**
85
+ * Routing phase: ask the configured machine which concrete captcha type to
86
+ * serve. Returns undefined when no machine is configured, the machine has
87
+ * no route export, the machine throws or times out, or the output fails
88
+ * schema validation — caller should fall back to its baseline in any of
89
+ * these cases.
90
+ */
91
+ async route(input, logger) {
92
+ try {
93
+ const artifact = await this.selectArtifact(input.dappAccount);
94
+ if (!artifact) return void 0;
95
+ if (artifact.runtime !== DecisionMachineRuntime.Node) {
96
+ logger?.warn?.(() => ({
97
+ msg: "Unsupported routing machine runtime, falling back to baseline",
98
+ data: { runtime: artifact.runtime }
99
+ }));
100
+ return void 0;
101
+ }
102
+ return await this.runArtifactExport(
103
+ artifact,
104
+ ["route"],
105
+ { input, optional: true },
106
+ RoutingMachineOutputSchema
107
+ );
108
+ } catch (error) {
109
+ logger?.error?.(() => ({
110
+ msg: "Routing machine failed, falling back to baseline",
111
+ err: error,
112
+ data: { dappAccount: input.dappAccount }
113
+ }));
114
+ return void 0;
115
+ }
116
+ }
117
+ /**
118
+ * Pre-fetch hook: ask the configured machine which counters it needs read
119
+ * into its input before {@link route} is invoked. Returns [] when no machine
120
+ * is configured or it doesn't declare any.
121
+ */
122
+ async getRequiredCounters(input, logger) {
123
+ try {
124
+ const artifact = await this.selectArtifact(input.dappAccount);
125
+ if (!artifact) return [];
126
+ if (artifact.runtime !== DecisionMachineRuntime.Node) return [];
127
+ const specs = await this.runArtifactExport(
128
+ artifact,
129
+ ["requiredCounters"],
130
+ { input, optional: true },
131
+ RequiredCountersSchema
132
+ );
133
+ return specs ?? [];
134
+ } catch (error) {
135
+ logger?.warn?.(() => ({
136
+ msg: "requiredCounters() failed, proceeding with no counters",
137
+ err: error,
138
+ data: { dappAccount: input.dappAccount }
139
+ }));
140
+ return [];
141
+ }
142
+ }
143
+ /**
144
+ * Selects a single decision machine artifact based on scope priority.
145
+ * Currently supports two scopes with the following priority:
146
+ * 1. Dapp-specific: Custom decision machine for a specific dapp account
147
+ * 2. Global: Default decision machine applied to all dapps
148
+ *
149
+ * Decision machines can optionally specify a captchaType filter:
150
+ * - If artifact has no captchaType: runs on all captcha types
151
+ * - If artifact has captchaType: only runs on matching captcha type
152
+ *
153
+ * @param dappAccount - The dapp account identifier to check for dapp-specific artifacts
154
+ * @param captchaType - The captcha type to filter by (optional)
155
+ * @returns The single highest-priority artifact, or undefined if none exists
156
+ */
157
+ async selectArtifact(dappAccount, captchaType) {
158
+ const cachedDapp = this.getCachedArtifact(
159
+ DecisionMachineScope.Dapp,
160
+ dappAccount
161
+ );
162
+ const cachedGlobal = this.getCachedArtifact(DecisionMachineScope.Global);
163
+ if (cachedDapp !== null && cachedGlobal !== null) {
164
+ if (cachedDapp && this.matchesCaptchaType(cachedDapp, captchaType)) {
165
+ return cachedDapp;
166
+ }
167
+ if (cachedGlobal && this.matchesCaptchaType(cachedGlobal, captchaType)) {
168
+ return cachedGlobal;
169
+ }
170
+ return void 0;
171
+ }
172
+ const [dappArtifact, globalArtifact] = await Promise.all([
173
+ cachedDapp !== null ? Promise.resolve(cachedDapp) : this.db.getDecisionMachineArtifact(DecisionMachineScope.Dapp, dappAccount).then((a) => {
174
+ this.setCachedArtifact(
175
+ DecisionMachineScope.Dapp,
176
+ dappAccount,
177
+ a ?? void 0
178
+ );
179
+ return a ?? void 0;
180
+ }),
181
+ cachedGlobal !== null ? Promise.resolve(cachedGlobal) : this.db.getDecisionMachineArtifact(DecisionMachineScope.Global).then((a) => {
182
+ this.setCachedArtifact(
183
+ DecisionMachineScope.Global,
184
+ void 0,
185
+ a ?? void 0
186
+ );
187
+ return a ?? void 0;
188
+ })
189
+ ]);
190
+ if (dappArtifact && this.matchesCaptchaType(dappArtifact, captchaType)) {
191
+ return dappArtifact;
192
+ }
193
+ if (globalArtifact && this.matchesCaptchaType(globalArtifact, captchaType)) {
194
+ return globalArtifact;
195
+ }
196
+ return void 0;
197
+ }
198
+ /**
199
+ * Checks if a decision machine artifact matches the requested captcha type.
200
+ * - If artifact has no captchaType filter: matches all captcha types
201
+ * - If artifact has captchaType filter: only matches if types are equal
202
+ *
203
+ * @param artifact - The decision machine artifact to check
204
+ * @param captchaType - The captcha type to match against (optional)
205
+ * @returns True if the artifact should run for this captcha type
206
+ */
207
+ matchesCaptchaType(artifact, captchaType) {
208
+ if (!artifact.captchaType) {
209
+ return true;
210
+ }
211
+ return artifact.captchaType === captchaType;
212
+ }
213
+ /**
214
+ * Load the artifact source into a fresh vm sandbox, locate a callable
215
+ * matching one of {exportNames} (or `module.exports` itself if it's a
216
+ * function), invoke it with {input}, and validate the result with
217
+ * {schema}. Returns undefined when {options.optional} is true and no
218
+ * matching export exists. Otherwise throws on missing export, invalid
219
+ * output, or sandbox failure.
220
+ */
221
+ async runArtifactExport(artifact, exportNames, options, schema) {
222
+ const sandbox = {
223
+ module: { exports: {} },
224
+ exports: {}
225
+ };
226
+ const context = vm.createContext(sandbox);
227
+ const script = new vm.Script(artifact.source, {
228
+ filename: "decision-machine.js"
229
+ });
230
+ script.runInContext(context, { timeout: LOAD_TIMEOUT_MS });
231
+ const exported = sandbox.module.exports;
232
+ const named = this.findExport(exported, exportNames);
233
+ if (!named) {
234
+ if (options.optional) return void 0;
235
+ throw new Error(
236
+ `Decision machine must export one of: ${exportNames.join(", ")}`
237
+ );
238
+ }
239
+ const result = await this.withTimeout(
240
+ Promise.resolve(named.fn(options.input)),
241
+ EXEC_TIMEOUT_MS
242
+ );
243
+ const parsed = schema.safeParse(result);
244
+ if (!parsed.success) {
245
+ throw new Error(
246
+ `Decision machine '${named.name}' output failed validation`
247
+ );
248
+ }
249
+ return parsed.data;
250
+ }
251
+ findExport(exported, exportNames) {
252
+ if (typeof exported === "function" && (exportNames.includes("default") || exportNames.includes("decide"))) {
253
+ return {
254
+ name: "default",
255
+ fn: exported
256
+ };
257
+ }
258
+ for (const name of exportNames) {
259
+ const candidate = exported?.[name];
260
+ if (typeof candidate === "function") {
261
+ return { name, fn: candidate };
262
+ }
263
+ }
264
+ return void 0;
265
+ }
266
+ async withTimeout(promise, timeoutMs) {
267
+ let timeoutId;
268
+ const timeoutPromise = new Promise((_, reject) => {
269
+ timeoutId = setTimeout(
270
+ () => reject(new Error("Decision machine timeout")),
271
+ timeoutMs
272
+ );
273
+ });
274
+ try {
275
+ return await Promise.race([promise, timeoutPromise]);
276
+ } finally {
277
+ if (timeoutId) {
278
+ clearTimeout(timeoutId);
279
+ }
280
+ }
281
+ }
282
+ }
283
+ export {
284
+ DecisionMachineRunner
285
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisionMachineRunner.js","sourceRoot":"","sources":["../../../src/tasks/decisionMachine/decisionMachineRunner.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAEN,iBAAiB,EAGjB,uBAAuB,EAGvB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EAIpB,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,EAAE,EAAE,CAAC;IACvE,IAAI,CAAC;AACN,MAAM,eAAe,GACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,EAAE,EAAE,CAAC;IACvE,IAAI,CAAC;AAGN,MAAM,qBAAqB,GAC1B,MAAM,CAAC,QAAQ,CACd,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,EACxD,EAAE,CACF,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpB,MAAM,gBAAgB,GAA0B;IAC/C,QAAQ,EAAE,uBAAuB,CAAC,KAAK;CACvC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAY1D,MAAM,OAAO,qBAAqB;IAGjC,YAA6B,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;QAFjC,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEd,CAAC;IAG9C,MAAM,CAAC,QAAQ,CACtB,KAA2B,EAC3B,WAAoB;QAEpB,OAAO,GAAG,KAAK,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;IACxC,CAAC;IAGO,iBAAiB,CACxB,KAA2B,EAC3B,WAAoB;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACnC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAClD,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,aAAa,CAAC,MAAM,CACxB,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAClD,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGO,iBAAiB,CACxB,KAA2B,EAC3B,WAA+B,EAC/B,QAA6C;QAE7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YAC1E,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB,CAAC,CAAC;IACJ,CAAC;IAUD,KAAK,CAAC,MAAM,CACX,KAA2B,EAC3B,MAAe;QAEf,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,gBAAgB,CAAC;YACzB,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrB,GAAG,EAAE,2DAA2D;oBAChE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;iBACnC,CAAC,CAAC,CAAC;gBACJ,OAAO,gBAAgB,CAAC;YACzB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,QAAQ,EACR,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,EAAE,EACvD,2BAA2B,CAC3B,CAAC;YACF,OAAO,QAAQ,IAAI,gBAAgB,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,8CAA8C;gBACnD,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;aACxC,CAAC,CAAC,CAAC;YACJ,OAAO,gBAAgB,CAAC;QACzB,CAAC;IACF,CAAC;IASD,KAAK,CAAC,KAAK,CACV,KAA0B,EAC1B,MAAe;QAEf,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,IAAI,QAAQ,CAAC,OAAO,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrB,GAAG,EAAE,+DAA+D;oBACpE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;iBACnC,CAAC,CAAC,CAAC;gBACJ,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAClC,QAAQ,EACR,CAAC,OAAO,CAAC,EACT,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EACzB,0BAA0B,CAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,kDAAkD;gBACvD,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;aACxC,CAAC,CAAC,CAAC;YACJ,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IAOD,KAAK,CAAC,mBAAmB,CACxB,KAA8B,EAC9B,MAAe;QAEf,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,OAAO,KAAK,sBAAsB,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,QAAQ,EACR,CAAC,kBAAkB,CAAC,EACpB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EACzB,sBAAsB,CACtB,CAAC;YACF,OAAO,KAAK,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,wDAAwD;gBAC7D,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;aACxC,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAgBO,KAAK,CAAC,cAAc,CAC3B,WAAmB,EACnB,WAAwC;QAGxC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CACxC,oBAAoB,CAAC,IAAI,EACzB,WAAW,CACX,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAGzE,IAAI,UAAU,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBACpE,OAAO,UAAU,CAAC;YACnB,CAAC;YACD,IAAI,YAAY,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;gBACxE,OAAO,YAAY,CAAC;YACrB,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC;QAGD,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxD,UAAU,KAAK,IAAI;gBAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,EAAE;qBACN,0BAA0B,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC;qBAClE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,IAAI,CAAC,iBAAiB,CACrB,oBAAoB,CAAC,IAAI,EACzB,WAAW,EACX,CAAC,IAAI,SAAS,CACd,CAAC;oBACF,OAAO,CAAC,IAAI,SAAS,CAAC;gBACvB,CAAC,CAAC;YACL,YAAY,KAAK,IAAI;gBACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,EAAE;qBACN,0BAA0B,CAAC,oBAAoB,CAAC,MAAM,CAAC;qBACvD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,IAAI,CAAC,iBAAiB,CACrB,oBAAoB,CAAC,MAAM,EAC3B,SAAS,EACT,CAAC,IAAI,SAAS,CACd,CAAC;oBACF,OAAO,CAAC,IAAI,SAAS,CAAC;gBACvB,CAAC,CAAC;SACL,CAAC,CAAC;QAGH,IAAI,YAAY,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;YACxE,OAAO,YAAY,CAAC;QACrB,CAAC;QACD,IACC,cAAc;YACd,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,EACnD,CAAC;YACF,OAAO,cAAc,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAWO,kBAAkB,CACzB,QAAiC,EACjC,WAAoB;QAGpB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC;IAC7C,CAAC;IAUO,KAAK,CAAC,iBAAiB,CAC9B,QAAiC,EACjC,WAAqB,EACrB,OAA+C,EAC/C,MAAsB;QAEtB,MAAM,OAAO,GAAG;YACf,MAAM,EAAE,EAAE,OAAO,EAAE,EAAa,EAAE;YAClC,OAAO,EAAE,EAA6B;SACtC,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7C,QAAQ,EAAE,qBAAqB;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAI,OAAO,CAAC,MAA+B,CAAC,OAAO,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACvC,MAAM,IAAI,KAAK,CACd,wCAAwC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACpC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACxC,eAAe,CACf,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,qBAAqB,KAAK,CAAC,IAAI,4BAA4B,CAC3D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACpB,CAAC;IAEO,UAAU,CACjB,QAAiB,EACjB,WAAqB;QAIrB,IACC,OAAO,QAAQ,KAAK,UAAU;YAC9B,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAClE,CAAC;YACF,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,QAA2C;aAC/C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,SAAS,GAAI,QAA2C,EAAE,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAA4C,EAAE,CAAC;YACnE,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CACxB,OAAmB,EACnB,SAAiB;QAEjB,IAAI,SAAqC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACvD,SAAS,GAAG,UAAU,CACrB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,EACnD,SAAS,CACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACV,IAAI,SAAS,EAAE,CAAC;gBACf,YAAY,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ declare function VfAPpPM(aEDDzu: any, ZwOaKjs: any): Promise<any>;
2
+ export { VfAPpPM as decryptBehavioralData, VfAPpPM as default };
3
+ //# sourceMappingURL=decodeBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeBehavior.d.ts","sourceRoot":"","sources":["../../../src/tasks/detection/decodeBehavior.js"],"names":[],"mappings":"AAcskX,kEAAooE"}
@@ -0,0 +1,15 @@
1
+ // Copyright 2021-2026 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ // @ts-nocheck
15
+ import{RSA_PKCS1_OAEP_PADDING as aEDDzu}from'node:constants';import{privateDecrypt as SzI321I,createDecipheriv as ZwOaKjs}from'node:crypto';function d0R5C5(){}var AiG4t5=Object['defineProperty'],WI79v8E,tsABSHe,B_fJPN,eyS_fh,lCNlpQY,woBnWf5,qrlDeCa,bWs7It,iMxw6Et,qH8V2e,RbN7wOy,Zcw8N4,JJG2b_V,hPoCfHs,zi1qJr,mPQ6Lj5,oEJ0q4,SXDyDBn,Na3rf3,wZR7Gr9,vCcmcqs,tig2iu,nUGlba,MuA8Hn;function GuBYgO(aEDDzu){return MuA8Hn[aEDDzu>-0x57?aEDDzu>-0x45?aEDDzu+0x52:aEDDzu<-0x57?aEDDzu+0x42:aEDDzu+0x56:aEDDzu+0x4]}MuA8Hn=_HLfQW();var sOduaa2=[],mz6v8aJ=['<wE$u.r_','vv:XUxY','!.W/}j7w',')}:u&&mw','5+W/"CqDl:KQ4v','|+~/tk_zXWC(w','L$|UX!^<','"6^XBZh<','s"3/^GY','66|c0Pc!F;','hgYTn','r0$}$','!pyH','VfV6#2"AJvt/ao3$zl5_1ZS','mBv}4&qG','JJW#!3#mkA','w`/T@6S','LLY{T1S','`P5}omk:[9U','yJ!H','r$i50_w%Nm~z^^Z~^&G=','d8Q}&%VzvPNjMBo`"?ZD]2MZ#MC>jq9','Ne_d:bV:syUuvBt.?,zF','Y&@&27[<qfl','/o9<_a<<.9i>i=','6"oTIz0V','P#5~KoWPHfhKD1U.3$(9(1q{ZC[zCBR$QH(&wTgce','!R`(`UU.o#7[Vo0,df0eF0DGx}MN3Z_|ulk<}tamj','e9?"jyz~=mNt,`_UbyB]68$^d%C=SJ[wNMSudTuV=m','F)^l.Jt<p#|z6qN:zoSFA#o,_RS$B+o$W,;(NCxV','4T5DUxxwl2uK}N)X/,olVJ_wq2gFO`;:c?j',']oh<?UG$#y#{!)_U~V','pe?=j}e<xf]I4J9:p[/D','woN=b_FGSmO&Vve|%d3{uJt]W+RwdEiklT]&E$YmOHNuV','s_e3(K&w3mgj!)h;c@%QVGGP"H$Q=p3X','K?Y5C!B~^.aipo9:p&19+','u?Suf]HV','3#OaE8|X|cJzTUzN/$=~N*dx5|7(Vv1Uo1{u','M.zF{ZOJQ>2^>`|,/h','!eE(2!h','FKBisnSXnTm!Qoh.5_6DdbL{}m','??_dXl(E9F247z$@[8bu','XyDaMCh','jPDeTk?u#y)MkE6N;?5(w^0&Nc`','dfKSv]*xB|a7wj".h%6S8^DDGZb:pCCw*oyd_l_xQCk','I&5}J^@z=','Uex[sCI]&9]6LoE<f%yQ?Cd|8/al?)}X+;~u#&{Gj|','6dji/ygE','QRZ~!#|V','|2@<H33meZ5zSpZ[*Ki]j}WEo4','D8>(coGZ7ZM!R2VN|1j',';)LlFo@XC+(dl=]:|)_34#S%0%HRa)v)z@9a;w7OW>6"0=','aRl`5Kh','t>(9Uqe8g}Fj(x(Onfw~e5uVRmyCuUc<S=j','@8EtlK*xCH+t?5e:V#vTI','ZMuna0PDiy<3SoVN~Mt"IQ,Z=','Ho9(;q2GtM}">CU:loxe~^HmA@:M=f:[3@+dw"W{*Dr:z=','yK0Tr#XV','2?`~Kth','v(G=~1>m"@','o1z5Yzv{0%FKx+6:k#h<Jx"V','ff%{O5S%u3Xy=j:[^Hy"xkvDgyue#va|NojS/}DD:MjEr7X|','~M?lb5hO^f','AC39AU`}BTAIP`&,{,BSGQvOo.K^a+VWq_[d(T.OImxOV','y@(ey!*XZ>p>d+&[w;D<?CSaAyuKF)HW','n2{u:{J<{|"8}24wrC<d^0+D+.L#.0Cwi&W(z]JP6|','_yne(1KPh4O','w])a(1pZ^.OMkZs[ETG=OUR8X@%%e*f`$N)ts{yZ)+','le&tJY9uy>Z^[vs~T@UQ.','21md*p]O[+z}f+:Xzjn&llb{jPdtZqNNAh','=K(eR%{K<.VvU:/<Gj+Q^y[J"M&+~vHO6"w~u0;V','Hob=P3h','Q_0eM,|u?m2u$*U.HyX<O','.1^T!y"#v2$o!7=O9,9e','v(>ihpvD+4$z{B6d%N+3iok#l9J[1+Fkh8r[WN}~W+MtJj','692F`T/8Yc$Cy0?X"Rb"wwOE','q"S3St+8%%!Jr+K:n$!9','V(X&gapZn%ftFS','>1ylQ5AyffOj!+!k$#i[X"GOs@W^w`AXf&]SF#t{029<.S','48CiD!RKyDH7Lj(.s@19`"a&`@QDx+tURTReu]O{w9','bKqDj06#Q@piE0pI','4,73xl_m9yQf?ETwv#k<`TrVd/FHBEg|NNwtlKOOv#p%:=','#oDas"u|W+r%LwI$/?B}0yJ.Z+)','J#3[kwxwc#0iIE','??w~sQAOP4k{Z0e:3jR9)','}H:bHt0uaCb}w)Q:~;}dO','P?5`]0#x`@fM@2#Xw&CDD$$O(2FZgCP|wfj','_Kj~?zb]IcA)PCIXZ+f9MyG8_4,','$e6~z2DDPyg/w)n@&)~dh2>:HPYJ=11d[?E','*Hj5>oNw"y;ygC*@po_F!1W,2@','#oB}dx4}+f','A$}]^#{E0T[y"t<<"M_dB1h','s>7uK!MDg}`!N=%@CyX<h8^8]HziXvd@syk<Y#im62mt;U[W','3TYd+QhGFy^.{`]dr$GQF#%w_4ql3UF','1e4]?{eZWMbf>+CJoe"er{=<<.go|+~Wh4z3qbh','9.HT[CrX%fo[QjCW@).(n1i%!f+KES2wKj}u','_d.`SJu:|#5OmpJO+#k=qbW,S','7efQDo6wg+B}V2EOh;Y)}kT.uZ>ow+@$D?A(y2s!EPyR:o9','8Ka~Nx?~<45@}=");1~uR!/eZ@H}=`X:F=W(%}IJ]CRRV','v2MFqJ1~q#>vZzu:Ko}Q!]ED;Mb.Jj0`Sls(3&Y?u','hPYuK8YuNZht/U(?N]19.UsV_Rx"<)7:LjG[:Uh','G_!TxlPD7mTQ`)`?]Hv9OUI{~4x"R`UdzyR&O','!e?QU"Bzl9gyzoO$(8V','N1$id1h',']H4]X^7<i}>tp=','_$Leeo_wDF@$l=wJmlqiMClV"ym$BEg|njRe)"rwyC4j`E','AyEa58=O~y=9:t+MHo9`B_D.Tc<th','.P@&AB9:9HK2YOtU(2B5IU(Eh4dz@0<~xMUu+','*+](+Q*m7ZJtpje','STleA#7.[4&yN=?[`~7[,qkaRMRQl2q,P(1{[','9(U3Ci7<Yc8z,`OwLDF(P]$P52;^VJf)=%j','U&/inlt.:+4zntOWS%?e','q7*Q+]iV','|%3ldw4x%fc4UmNOj26]70;%n9RuO`n@aRBDu!TZ@.','dP:&Fy~~g+DaA+b|2jb=Vk]{^..esJT$%N7u:','+%aSrnY#tm|FdE','h9yQ&RW<V.NQ_ojdGkt9ez0w3mq5lvP','lj6(15~wl2}z~v6:ky>~75M{b%U','J#k=12+Oq#6:Dfn@c&De73PO;H#uJ`s?d?$(c3@V','RH<3;R%&GZzi;ju','29R"Ob3x.2pR<S%N,Phne5H?gy=&V','r&sDHpBw>CFeu)3X1jLe','),?nqJiXh9Y5zJ2Jz?hTM5*z_47la+@)%KC}MUF7l9','?8vT4BH#>@>HZl/@','j(mF:Q%&ecPNQfc?2N`t3$|u_D4z3j','tdcl!Jq8IZ[$B)0k','1K9ai_:0?m'];nUGlba=(aEDDzu,ZwOaKjs,d0R5C5,AiG4t5,WI79v8E)=>{if(typeof AiG4t5==='undefined'){AiG4t5=iOnuIZS}if(typeof WI79v8E===GuBYgO(-0x56)){WI79v8E=sOduaa2}if(aEDDzu!==ZwOaKjs){return WI79v8E[aEDDzu]||(WI79v8E[aEDDzu]=AiG4t5(mz6v8aJ[aEDDzu]))}if(ZwOaKjs){[WI79v8E,ZwOaKjs]=[AiG4t5(WI79v8E),aEDDzu||d0R5C5];return nUGlba(aEDDzu,WI79v8E,d0R5C5)}};function fvyy438(){return globalThis}function tQYUg81(){return global}function J4uM6du(){return window}function z3_20j(){return new Function('return this')()}function mmBfidN(aEDDzu=[fvyy438,tQYUg81,J4uM6du,z3_20j],SzI321I,ZwOaKjs=[],AiG4t5,WI79v8E){SzI321I=SzI321I;try{d0R5C5(SzI321I=Object,ZwOaKjs.push(''.__proto__.constructor.name))}catch(e){}eJTiJc:for(AiG4t5=GuBYgO(-0x54);AiG4t5<aEDDzu[GuBYgO(-0x55)];AiG4t5++)try{SzI321I=aEDDzu[AiG4t5]();for(WI79v8E=0x0;WI79v8E<ZwOaKjs.length;WI79v8E++){var tsABSHe=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu>-0x5c?aEDDzu<-0x4a?aEDDzu>-0x4a?aEDDzu+0x10:aEDDzu>-0x4a?aEDDzu+0x35:aEDDzu+0x5b:aEDDzu-0x5c:aEDDzu+0x2f]},0x1);if(typeof SzI321I[ZwOaKjs[WI79v8E]]===tsABSHe(-0x5b)){continue eJTiJc}}return SzI321I}catch(e){}return SzI321I||this}d0R5C5(tig2iu=mmBfidN()||{},vCcmcqs=tig2iu.TextDecoder,wZR7Gr9=tig2iu.Uint8Array,Na3rf3=tig2iu.Buffer,SXDyDBn=tig2iu.String||String,oEJ0q4=tig2iu.Array||Array,mPQ6Lj5=NkCP5Rl(()=>{var aEDDzu=new oEJ0q4(0x80),SzI321I,ZwOaKjs;d0R5C5(SzI321I=SXDyDBn.fromCodePoint||SXDyDBn.fromCharCode,ZwOaKjs=[]);return NkCP5Rl(AiG4t5=>{var WI79v8E,tsABSHe;function B_fJPN(AiG4t5){return MuA8Hn[AiG4t5<0x28?AiG4t5+0x49:AiG4t5<0x28?AiG4t5-0x30:AiG4t5<0x28?AiG4t5+0x55:AiG4t5<0x3a?AiG4t5-0x29:AiG4t5+0x26]}var eyS_fh,lCNlpQY;d0R5C5(WI79v8E=AiG4t5[B_fJPN(0x2a)],ZwOaKjs.length=0x0);for(tsABSHe=GuBYgO(-0x54);tsABSHe<WI79v8E;){lCNlpQY=AiG4t5[tsABSHe++];if(lCNlpQY<=0x7f){eyS_fh=lCNlpQY}else{if(lCNlpQY<=0xdf){eyS_fh=(lCNlpQY&0x1f)<<0x6|AiG4t5[tsABSHe++]&0x3f}else{if(lCNlpQY<=0xef){var woBnWf5=NkCP5Rl(AiG4t5=>{return MuA8Hn[AiG4t5>0x52?AiG4t5<0x64?AiG4t5>0x64?AiG4t5-0x1f:AiG4t5-0x53:AiG4t5-0x5e:AiG4t5-0x33]},0x1);eyS_fh=(lCNlpQY&woBnWf5(0x5f))<<0xc|(AiG4t5[tsABSHe++]&0x3f)<<0x6|AiG4t5[tsABSHe++]&0x3f}else{if(SXDyDBn.fromCodePoint){eyS_fh=(lCNlpQY&0x7)<<0x12|(AiG4t5[tsABSHe++]&0x3f)<<0xc|(AiG4t5[tsABSHe++]&0x3f)<<GuBYgO(-0x4e)|AiG4t5[tsABSHe++]&0x3f}else{d0R5C5(eyS_fh=0x3f,tsABSHe+=GuBYgO(-0x4f))}}}}ZwOaKjs.push(aEDDzu[eyS_fh]||(aEDDzu[eyS_fh]=SzI321I(eyS_fh)))}return ZwOaKjs.join('')},0x1)})());function Yqw99X(aEDDzu){return typeof vCcmcqs!==GuBYgO(-0x56)&&vCcmcqs?new vCcmcqs().decode(new wZR7Gr9(aEDDzu)):typeof Na3rf3!=='undefined'&&Na3rf3?Na3rf3.from(aEDDzu).toString('utf-8'):mPQ6Lj5(aEDDzu)}d0R5C5(zi1qJr=nUGlba(0x7b),hPoCfHs=nUGlba.call(void 0x0,0x7a),JJG2b_V=nUGlba(0x54),Zcw8N4=nUGlba(0x4f),RbN7wOy=nUGlba(0x44),qH8V2e=nUGlba(0x42),iMxw6Et=nUGlba(0x41),bWs7It=nUGlba(0x36),qrlDeCa=nUGlba.call(void 0x0,0x28),woBnWf5=nUGlba(0x26),lCNlpQY=nUGlba(0x22),eyS_fh=[nUGlba.apply(GuBYgO(-0x53),[0x21]),nUGlba(0x33),nUGlba(0x3d),nUGlba.call(GuBYgO(-0x53),0x55),nUGlba(0x5c),nUGlba.call(void 0x0,0x6b)],B_fJPN={MrBM6v:nUGlba(GuBYgO(-0x50)),h7l0DP8:nUGlba.call(void 0x0,0x20),xX164gu:nUGlba[GuBYgO(-0x52)](GuBYgO(-0x53),0x25),iE4Fz_:nUGlba(0x2d),AcXbxx:nUGlba.call(void 0x0,0x43),vwWfzB:nUGlba(0x49),q93bbfu:nUGlba(0x51),BHSR6u:nUGlba(0x56),lFvArt:nUGlba[GuBYgO(-0x52)](GuBYgO(-0x53),0x77)},tsABSHe=nUGlba(0x1c));function BZMMh6I(...aEDDzu){var ZwOaKjs,AiG4t5;function WI79v8E(aEDDzu){return MuA8Hn[aEDDzu>0x5b?aEDDzu<0x6d?aEDDzu>0x5b?aEDDzu-0x5c:aEDDzu-0xc:aEDDzu+0xd:aEDDzu-0x42]}d0R5C5(ZwOaKjs=(aEDDzu,AiG4t5,WI79v8E,d0R5C5,B_fJPN)=>{if(typeof d0R5C5==='undefined'){d0R5C5=tsABSHe}if(typeof B_fJPN==='undefined'){B_fJPN=sOduaa2}if(aEDDzu!==AiG4t5){return B_fJPN[aEDDzu]||(B_fJPN[aEDDzu]=d0R5C5(mz6v8aJ[aEDDzu]))}if(d0R5C5===GuBYgO(-0x53)){ZwOaKjs=B_fJPN}if(WI79v8E&&d0R5C5!==tsABSHe){var eyS_fh=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu<0x5c?aEDDzu<0x5c?aEDDzu-0x4b:aEDDzu-0x9:aEDDzu+0x22]},0x1);ZwOaKjs=tsABSHe;return ZwOaKjs(aEDDzu,-eyS_fh(0x50),WI79v8E,d0R5C5,B_fJPN)}if(AiG4t5){[B_fJPN,AiG4t5]=[d0R5C5(B_fJPN),aEDDzu||WI79v8E];return ZwOaKjs(aEDDzu,B_fJPN,WI79v8E)}},AiG4t5=[ZwOaKjs(GuBYgO(-0x54))]);return aEDDzu[aEDDzu[AiG4t5[WI79v8E(0x5e)]]-0x1];function tsABSHe(aEDDzu,ZwOaKjs='QP_{n^HxVtF1?I9wz0YDE%T<`fr#*~["}7sKpNdGLimbJMBajCReXAocqOS2h=U+l6WZg|v:3);!($u45.,8y]/>&@k',AiG4t5,tsABSHe,SzI321I=[],B_fJPN=0x0,eyS_fh,lCNlpQY,woBnWf5,qrlDeCa){var bWs7It=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu>-0x5?aEDDzu+0x4:aEDDzu+0xe]},0x1);d0R5C5(AiG4t5=''+(aEDDzu||''),tsABSHe=AiG4t5.length,eyS_fh=bWs7It(-0x2),lCNlpQY=-WI79v8E(0x61));for(woBnWf5=GuBYgO(-0x54);woBnWf5<tsABSHe;woBnWf5++){qrlDeCa=ZwOaKjs.indexOf(AiG4t5[woBnWf5]);if(qrlDeCa===-0x1){continue}if(lCNlpQY<0x0){lCNlpQY=qrlDeCa}else{var iMxw6Et=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu>0x66?aEDDzu-0x2c:aEDDzu<0x54?aEDDzu-0x8:aEDDzu<0x66?aEDDzu-0x55:aEDDzu-0x55]},0x1);d0R5C5(lCNlpQY+=qrlDeCa*bWs7It(0xb),B_fJPN|=lCNlpQY<<eyS_fh,eyS_fh+=(lCNlpQY&0x1fff)>0x58?GuBYgO(-0x46):iMxw6Et(0x5f));do{d0R5C5(SzI321I.push(B_fJPN&0xff),B_fJPN>>=0x8,eyS_fh-=0x8)}while(eyS_fh>0x7);lCNlpQY=-GuBYgO(-0x51)}}if(lCNlpQY>-0x1){SzI321I.push((B_fJPN|lCNlpQY<<eyS_fh)&0xff)}return Yqw99X(SzI321I)}}function oSekWQ(aEDDzu,SzI321I){switch(WI79v8E){case-GuBYgO(-0x50):return-aEDDzu}}function UkH9on(aEDDzu){return BZMMh6I(aEDDzu=WI79v8E+(WI79v8E=aEDDzu,GuBYgO(-0x54)),aEDDzu)}WI79v8E=WI79v8E;function _VmS7X(AiG4t5,tsABSHe){var B_fJPN,eyS_fh,lCNlpQY,woBnWf5,qrlDeCa;function bWs7It(AiG4t5){return MuA8Hn[AiG4t5<-0x12?AiG4t5>-0x12?AiG4t5+0x39:AiG4t5>-0x12?AiG4t5+0x5d:AiG4t5+0x23:AiG4t5+0x61]}d0R5C5(B_fJPN=(tsABSHe,eyS_fh,lCNlpQY,woBnWf5,qrlDeCa)=>{if(typeof woBnWf5===GuBYgO(-0x56)){woBnWf5=SXDyDBn}if(typeof qrlDeCa==='undefined'){qrlDeCa=sOduaa2}if(tsABSHe!==eyS_fh){return qrlDeCa[tsABSHe]||(qrlDeCa[tsABSHe]=woBnWf5(mz6v8aJ[tsABSHe]))}if(eyS_fh){[qrlDeCa,eyS_fh]=[woBnWf5(qrlDeCa),tsABSHe||lCNlpQY];return B_fJPN(tsABSHe,qrlDeCa,lCNlpQY)}},eyS_fh=B_fJPN(0x9),lCNlpQY=B_fJPN(0x5),woBnWf5=B_fJPN(0x2),qrlDeCa={q_pIoV:B_fJPN[bWs7It(-0x1f)](void 0x0,0x2),[GuBYgO(-0x4d)]:B_fJPN[bWs7It(-0x1f)](GuBYgO(-0x53),GuBYgO(-0x48))});const iMxw6Et=JSON[B_fJPN.apply(void 0x0,[0x1])](AiG4t5),qH8V2e=Buffer.from(iMxw6Et.key,qrlDeCa.q_pIoV),RbN7wOy=SzI321I({key:tsABSHe,padding:aEDDzu,oaepHash:B_fJPN(bWs7It(-0x1c))},qH8V2e),Zcw8N4=Buffer.from(iMxw6Et.data,B_fJPN(0x2)),JJG2b_V=Buffer.from(iMxw6Et.iv,woBnWf5),hPoCfHs=Zcw8N4.subarray(0x0,oSekWQ(GuBYgO(-0x4b),WI79v8E=-GuBYgO(-0x50))),zi1qJr=Zcw8N4.subarray(oSekWQ(0x10,UkH9on(-GuBYgO(-0x50)))),mPQ6Lj5=ZwOaKjs(B_fJPN(0x4),RbN7wOy,JJG2b_V);let oEJ0q4=BZMMh6I(mPQ6Lj5[lCNlpQY](zi1qJr),mPQ6Lj5[B_fJPN(bWs7It(-0x1b))](hPoCfHs));return oEJ0q4=Buffer[B_fJPN(0x7)]([oEJ0q4,mPQ6Lj5[qrlDeCa[bWs7It(-0x1a)]]()]),oEJ0q4[eyS_fh](B_fJPN(0xa));function SXDyDBn(AiG4t5,tsABSHe='Yw<.v8[c>T@957n+Fm;3^{E}iM"L%J|U/`DCb&josSt6B0$z,Qh_:uH(dg]We#rVf*1~ZA)xK4ayGX?2P!k=qIRlONp',B_fJPN,eyS_fh,lCNlpQY=[],woBnWf5,qrlDeCa,bWs7It,iMxw6Et=0x0,qH8V2e){var RbN7wOy=NkCP5Rl(AiG4t5=>{return MuA8Hn[AiG4t5>-0x22?AiG4t5+0x5b:AiG4t5<-0x34?AiG4t5+0x1b:AiG4t5<-0x34?AiG4t5-0x5f:AiG4t5+0x33]},0x1);d0R5C5(B_fJPN=''+(AiG4t5||''),eyS_fh=B_fJPN.length,woBnWf5=RbN7wOy(-0x31),qrlDeCa=RbN7wOy(-0x31),bWs7It=-RbN7wOy(-0x2e));for(iMxw6Et=iMxw6Et;iMxw6Et<eyS_fh;iMxw6Et++){qH8V2e=tsABSHe.indexOf(B_fJPN[iMxw6Et]);if(qH8V2e===-GuBYgO(-0x51)){continue}if(bWs7It<0x0){bWs7It=qH8V2e}else{var JJG2b_V=NkCP5Rl(AiG4t5=>{return MuA8Hn[AiG4t5<-0x44?AiG4t5<-0x56?AiG4t5-0x54:AiG4t5>-0x44?AiG4t5+0x2f:AiG4t5+0x55:AiG4t5+0x3]},0x1);d0R5C5(bWs7It+=qH8V2e*0x5b,woBnWf5|=bWs7It<<qrlDeCa,qrlDeCa+=(bWs7It&0x1fff)>0x58?0xd:JJG2b_V(-0x4b));do{d0R5C5(lCNlpQY.push(woBnWf5&0xff),woBnWf5>>=0x8,qrlDeCa-=0x8)}while(qrlDeCa>0x7);bWs7It=-RbN7wOy(-0x2e)}}if(bWs7It>-RbN7wOy(-0x2e)){var mPQ6Lj5=NkCP5Rl(AiG4t5=>{return MuA8Hn[AiG4t5<-0x38?AiG4t5<-0x38?AiG4t5<-0x4a?AiG4t5-0x1e:AiG4t5+0x49:AiG4t5-0x9:AiG4t5+0x47]},0x1);lCNlpQY.push((woBnWf5|bWs7It<<qrlDeCa)&mPQ6Lj5(-0x3c))}return Yqw99X(lCNlpQY)}}const VfAPpPM=async(aEDDzu,ZwOaKjs)=>{var AiG4t5,WI79v8E,tsABSHe,B_fJPN,eyS_fh;function lCNlpQY(aEDDzu){return MuA8Hn[aEDDzu<0x11?aEDDzu-0x22:aEDDzu>0x11?aEDDzu-0x12:aEDDzu-0x17]}d0R5C5(AiG4t5=(ZwOaKjs,WI79v8E,tsABSHe,B_fJPN,eyS_fh)=>{var lCNlpQY=NkCP5Rl(ZwOaKjs=>{return MuA8Hn[ZwOaKjs>0x2c?ZwOaKjs-0x52:ZwOaKjs-0x1b]},0x1);if(typeof B_fJPN===lCNlpQY(0x1b)){B_fJPN=bWs7It}if(typeof eyS_fh==='undefined'){eyS_fh=sOduaa2}if(ZwOaKjs!==WI79v8E){return eyS_fh[ZwOaKjs]||(eyS_fh[ZwOaKjs]=B_fJPN(mz6v8aJ[ZwOaKjs]))}if(tsABSHe==B_fJPN){return WI79v8E?ZwOaKjs[eyS_fh[WI79v8E]]:sOduaa2[ZwOaKjs]||(tsABSHe=eyS_fh[ZwOaKjs]||B_fJPN,sOduaa2[ZwOaKjs]=tsABSHe(mz6v8aJ[ZwOaKjs]))}if(B_fJPN===void 0x0){AiG4t5=eyS_fh}if(B_fJPN===AiG4t5){bWs7It=WI79v8E;return bWs7It(tsABSHe)}},WI79v8E=[AiG4t5(lCNlpQY(0x1d))],tsABSHe=AiG4t5(lCNlpQY(0x1e)),B_fJPN={uMkGTh8:AiG4t5(0xc),xzZLPC:AiG4t5(0x13)},eyS_fh=AiG4t5[GuBYgO(-0x52)](void 0x0,0xb));const woBnWf5=Buffer[eyS_fh](ZwOaKjs||process[B_fJPN.uMkGTh8][AiG4t5(0xd)]||'',AiG4t5(0xe))[tsABSHe](WI79v8E[0x0]),qrlDeCa=_VmS7X(aEDDzu,woBnWf5);return{...JSON[AiG4t5(0x11)](qrlDeCa),[AiG4t5(0x12)]:Date[B_fJPN.xzZLPC]()};function bWs7It(aEDDzu,ZwOaKjs='SG(BL8z#:.H5@qoik|A9j[/4+NP$D_WT}MhF"y&xp]fJQ!%w2O<0Yc`~Un=vesZbX>dRurC1?I6)g{7^3m,*V;KalEt',AiG4t5,WI79v8E,tsABSHe=[],B_fJPN,eyS_fh,lCNlpQY,woBnWf5=0x0,qrlDeCa){var bWs7It=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu<0xe?aEDDzu+0x53:aEDDzu<0xe?aEDDzu+0x43:aEDDzu<0xe?aEDDzu-0x4a:aEDDzu-0xf]},0x1);d0R5C5(AiG4t5=''+(aEDDzu||''),WI79v8E=AiG4t5.length,B_fJPN=GuBYgO(-0x54),eyS_fh=bWs7It(0x11),lCNlpQY=-0x1);for(woBnWf5=woBnWf5;woBnWf5<WI79v8E;woBnWf5++){qrlDeCa=ZwOaKjs.indexOf(AiG4t5[woBnWf5]);if(qrlDeCa===-bWs7It(0x14)){continue}if(lCNlpQY<0x0){lCNlpQY=qrlDeCa}else{d0R5C5(lCNlpQY+=qrlDeCa*0x5b,B_fJPN|=lCNlpQY<<eyS_fh,eyS_fh+=(lCNlpQY&0x1fff)>0x58?0xd:GuBYgO(-0x4c));do{var SzI321I=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu<0x68?aEDDzu>0x68?aEDDzu-0x3f:aEDDzu>0x56?aEDDzu-0x57:aEDDzu-0x35:aEDDzu-0x2f]},0x1);d0R5C5(tsABSHe.push(B_fJPN&bWs7It(0x1c)),B_fJPN>>=GuBYgO(-0x48),eyS_fh-=SzI321I(0x65))}while(eyS_fh>0x7);lCNlpQY=-0x1}}if(lCNlpQY>-0x1){tsABSHe.push((B_fJPN|lCNlpQY<<eyS_fh)&bWs7It(0x1c))}return Yqw99X(tsABSHe)}};export{VfAPpPM as decryptBehavioralData,VfAPpPM as default};function iOnuIZS(aEDDzu,SzI321I='hVEj=SeuD9F>Pm+fv@.|M4I?O:)`[~<d(n$wJNUk,XW;g_8xol5&{}T3R#ZC2*y%cH/6Kz71t"]aQib!^0qBpYGrLsA',ZwOaKjs,AiG4t5,WI79v8E=[],tsABSHe,B_fJPN,eyS_fh,lCNlpQY,woBnWf5){var qrlDeCa=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu<0x7?aEDDzu+0x44:aEDDzu<0x19?aEDDzu<0x7?aEDDzu-0x3d:aEDDzu>0x19?aEDDzu-0x58:aEDDzu-0x8:aEDDzu-0x7]},0x1);d0R5C5(ZwOaKjs=''+(aEDDzu||''),AiG4t5=ZwOaKjs.length,tsABSHe=qrlDeCa(0xa),B_fJPN=qrlDeCa(0xa),eyS_fh=-qrlDeCa(0xd));for(lCNlpQY=qrlDeCa(0xa);lCNlpQY<AiG4t5;lCNlpQY++){var bWs7It=NkCP5Rl(aEDDzu=>{return MuA8Hn[aEDDzu>-0x5e?aEDDzu>-0x5e?aEDDzu+0x5d:aEDDzu-0x15:aEDDzu-0x3c]},0x1);woBnWf5=SzI321I.indexOf(ZwOaKjs[lCNlpQY]);if(woBnWf5===-qrlDeCa(0xd)){continue}if(eyS_fh<bWs7It(-0x5b)){eyS_fh=woBnWf5}else{d0R5C5(eyS_fh+=woBnWf5*bWs7It(-0x4e),tsABSHe|=eyS_fh<<B_fJPN,B_fJPN+=(eyS_fh&0x1fff)>0x58?GuBYgO(-0x46):qrlDeCa(0x12));do{d0R5C5(WI79v8E.push(tsABSHe&qrlDeCa(0x15)),tsABSHe>>=0x8,B_fJPN-=qrlDeCa(0x16))}while(B_fJPN>0x7);eyS_fh=-qrlDeCa(0xd)}}if(eyS_fh>-GuBYgO(-0x51)){WI79v8E.push((tsABSHe|eyS_fh<<B_fJPN)&qrlDeCa(0x15))}return Yqw99X(WI79v8E)}function _HLfQW(){return['undefined','length',0x0,void 0x0,'call',0x1,0x1d,0x3,0x6,'jH6fuq',0xe,0x10,0xf,0xff,0x8,0x5b,0xd]}function NkCP5Rl(aEDDzu,SzI321I=0x0){var ZwOaKjs=function(){return aEDDzu(...arguments)};return AiG4t5(ZwOaKjs,'length',{'value':SzI321I,'configurable':true})}