@prosopo/provider 3.13.7 → 3.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +14 -10
  2. package/.turbo/turbo-build$colon$tsc.log +65 -0
  3. package/.turbo/turbo-build.log +18 -11
  4. package/CHANGELOG.md +163 -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.map +1 -0
  8. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +14 -0
  9. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
  10. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
  11. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +23 -0
  12. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -0
  13. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +1 -0
  14. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +13 -0
  15. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -0
  16. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -0
  17. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +14 -0
  18. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +1 -0
  19. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +1 -0
  20. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
  21. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
  22. package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
  23. package/dist/api/blacklistRequestInspector.d.ts +19 -0
  24. package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
  25. package/dist/api/blacklistRequestInspector.js +4 -3
  26. package/dist/api/blacklistRequestInspector.js.map +1 -0
  27. package/dist/api/block.d.ts +3 -0
  28. package/dist/api/block.d.ts.map +1 -0
  29. package/dist/api/block.js.map +1 -0
  30. package/dist/api/captcha/contextAwareValidation.d.ts +4 -0
  31. package/dist/api/captcha/contextAwareValidation.d.ts.map +1 -0
  32. package/dist/api/captcha/contextAwareValidation.js.map +1 -0
  33. package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts +8 -0
  34. package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts.map +1 -0
  35. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js.map +1 -0
  36. package/dist/api/captcha/getImageCaptchaChallenge.d.ts +7 -0
  37. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -0
  38. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -0
  39. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts +7 -0
  40. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -0
  41. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -0
  42. package/dist/api/captcha/submitImageCaptchaSolution.d.ts +7 -0
  43. package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -0
  44. package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -0
  45. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +6 -0
  46. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -0
  47. package/dist/api/captcha/submitPoWCaptchaSolution.js +13 -2
  48. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -0
  49. package/dist/api/captcha.d.ts +4 -0
  50. package/dist/api/captcha.d.ts.map +1 -0
  51. package/dist/api/captcha.js.map +1 -0
  52. package/dist/api/domainMiddleware.d.ts +4 -0
  53. package/dist/api/domainMiddleware.d.ts.map +1 -0
  54. package/dist/api/domainMiddleware.js.map +1 -0
  55. package/dist/api/headerCheckMiddleware.d.ts +4 -0
  56. package/dist/api/headerCheckMiddleware.d.ts.map +1 -0
  57. package/dist/api/headerCheckMiddleware.js.map +1 -0
  58. package/dist/api/ignoreMiddleware.d.ts +3 -0
  59. package/dist/api/ignoreMiddleware.d.ts.map +1 -0
  60. package/dist/api/ignoreMiddleware.js.map +1 -0
  61. package/dist/api/ja4Middleware.d.ts +10 -0
  62. package/dist/api/ja4Middleware.d.ts.map +1 -0
  63. package/dist/api/ja4Middleware.js.map +1 -0
  64. package/dist/api/public.d.ts +4 -0
  65. package/dist/api/public.d.ts.map +1 -0
  66. package/dist/api/public.js.map +1 -0
  67. package/dist/api/robotsMiddleware.d.ts +3 -0
  68. package/dist/api/robotsMiddleware.d.ts.map +1 -0
  69. package/dist/api/robotsMiddleware.js.map +1 -0
  70. package/dist/api/validateAddress.d.ts +5 -0
  71. package/dist/api/validateAddress.d.ts.map +1 -0
  72. package/dist/api/validateAddress.js.map +1 -0
  73. package/dist/api/verify.d.ts +4 -0
  74. package/dist/api/verify.d.ts.map +1 -0
  75. package/dist/api/verify.js +3 -1
  76. package/dist/api/verify.js.map +1 -0
  77. package/dist/cjs/api/blacklistRequestInspector.cjs +4 -3
  78. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +13 -2
  79. package/dist/cjs/api/verify.cjs +3 -1
  80. package/dist/cjs/index.cjs +4 -0
  81. package/dist/cjs/tasks/client/clientTasks.cjs +1 -1
  82. package/dist/cjs/tasks/detection/decodeBehavior.cjs +328 -0
  83. package/dist/cjs/tasks/detection/decodeBehavior.js +15 -0
  84. package/dist/cjs/tasks/detection/decodePayload.cjs +638 -679
  85. package/dist/cjs/tasks/detection/decodePayload.js +15 -0
  86. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +4 -1
  87. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +210 -5
  88. package/dist/compositeIpAddress.d.ts +5 -0
  89. package/dist/compositeIpAddress.d.ts.map +1 -0
  90. package/dist/compositeIpAddress.js.map +1 -0
  91. package/dist/index.d.ts +19 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +4 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/pairs.d.ts +3 -0
  96. package/dist/pairs.d.ts.map +1 -0
  97. package/dist/pairs.js.map +1 -0
  98. package/dist/rules/lang.d.ts +3 -0
  99. package/dist/rules/lang.d.ts.map +1 -0
  100. package/dist/rules/lang.js.map +1 -0
  101. package/dist/schedulers/captchaScheduler.d.ts +4 -0
  102. package/dist/schedulers/captchaScheduler.d.ts.map +1 -0
  103. package/dist/schedulers/captchaScheduler.js.map +1 -0
  104. package/dist/schedulers/getClientList.d.ts +4 -0
  105. package/dist/schedulers/getClientList.d.ts.map +1 -0
  106. package/dist/schedulers/getClientList.js.map +1 -0
  107. package/dist/schedulers/setClientEntropy.d.ts +4 -0
  108. package/dist/schedulers/setClientEntropy.d.ts.map +1 -0
  109. package/dist/schedulers/setClientEntropy.js.map +1 -0
  110. package/dist/services/ipComparison.d.ts +3 -0
  111. package/dist/services/ipComparison.d.ts.map +1 -0
  112. package/dist/services/ipComparison.js.map +1 -0
  113. package/dist/services/ipInfo.d.ts +3 -0
  114. package/dist/services/ipInfo.d.ts.map +1 -0
  115. package/dist/services/ipInfo.js.map +1 -0
  116. package/dist/tasks/captchaManager.d.ts +34 -0
  117. package/dist/tasks/captchaManager.d.ts.map +1 -0
  118. package/dist/tasks/captchaManager.js.map +1 -0
  119. package/dist/tasks/client/clientTasks.d.ts +22 -0
  120. package/dist/tasks/client/clientTasks.d.ts.map +1 -0
  121. package/dist/tasks/client/clientTasks.js +1 -1
  122. package/dist/tasks/client/clientTasks.js.map +1 -0
  123. package/dist/tasks/dataset/datasetTasks.d.ts +13 -0
  124. package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -0
  125. package/dist/tasks/dataset/datasetTasks.js.map +1 -0
  126. package/dist/tasks/dataset/datasetTasksUtils.d.ts +3 -0
  127. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -0
  128. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -0
  129. package/dist/tasks/detection/decodeBehavior.d.ts +3 -0
  130. package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -0
  131. package/dist/tasks/detection/decodeBehavior.js +15 -0
  132. package/dist/tasks/detection/decodeBehavior.js.map +1 -0
  133. package/dist/tasks/detection/decodePayload.d.ts +5 -0
  134. package/dist/tasks/detection/decodePayload.d.ts.map +1 -0
  135. package/dist/tasks/detection/decodePayload.js +15 -849
  136. package/dist/tasks/detection/decodePayload.js.map +1 -0
  137. package/dist/tasks/detection/getBehavioralData.d.ts +4 -0
  138. package/dist/tasks/detection/getBehavioralData.d.ts.map +1 -0
  139. package/dist/tasks/detection/getBehavioralData.js +51 -0
  140. package/dist/tasks/detection/getBehavioralData.js.map +1 -0
  141. package/dist/tasks/detection/getBotScore.d.ts +20 -0
  142. package/dist/tasks/detection/getBotScore.d.ts.map +1 -0
  143. package/dist/tasks/detection/getBotScore.js +2 -2
  144. package/dist/tasks/detection/getBotScore.js.map +1 -0
  145. package/dist/tasks/frictionless/frictionlessTasks.d.ts +63 -0
  146. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -0
  147. package/dist/tasks/frictionless/frictionlessTasks.js +4 -1
  148. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -0
  149. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +6 -0
  150. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
  151. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
  152. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +29 -0
  153. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -0
  154. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -0
  155. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +7 -0
  156. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -0
  157. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -0
  158. package/dist/tasks/index.d.ts +2 -0
  159. package/dist/tasks/index.d.ts.map +1 -0
  160. package/dist/tasks/index.js.map +1 -0
  161. package/dist/tasks/powCaptcha/powTasks.d.ts +20 -0
  162. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -0
  163. package/dist/tasks/powCaptcha/powTasks.js +211 -6
  164. package/dist/tasks/powCaptcha/powTasks.js.map +1 -0
  165. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +3 -0
  166. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -0
  167. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -0
  168. package/dist/tasks/tasks.d.ts +25 -0
  169. package/dist/tasks/tasks.d.ts.map +1 -0
  170. package/dist/tasks/tasks.js.map +1 -0
  171. package/dist/tests/index.d.ts +2 -0
  172. package/dist/tests/index.d.ts.map +1 -0
  173. package/dist/tests/index.js +2 -0
  174. package/dist/tests/index.js.map +1 -0
  175. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +2 -0
  176. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +1 -0
  177. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +78 -0
  178. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -0
  179. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +2 -0
  180. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +1 -0
  181. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +486 -0
  182. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -0
  183. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +2 -0
  184. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +1 -0
  185. package/dist/tests/integration/imgCaptcha.integration.test.js +272 -0
  186. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -0
  187. package/dist/tests/integration/ipValidation.integration.test.d.ts +2 -0
  188. package/dist/tests/integration/ipValidation.integration.test.d.ts.map +1 -0
  189. package/dist/tests/integration/ipValidation.integration.test.js +75 -0
  190. package/dist/tests/integration/ipValidation.integration.test.js.map +1 -0
  191. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +32 -0
  192. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -0
  193. package/dist/tests/integration/mocks/solvedTestCaptchas.js +1046 -0
  194. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +1 -0
  195. package/dist/tests/integration/powCaptcha.integration.test.d.ts +2 -0
  196. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +1 -0
  197. package/dist/tests/integration/powCaptcha.integration.test.js +307 -0
  198. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -0
  199. package/dist/tests/integration/registerSitekey.d.ts +3 -0
  200. package/dist/tests/integration/registerSitekey.d.ts.map +1 -0
  201. package/dist/tests/integration/registerSitekey.js +21 -0
  202. package/dist/tests/integration/registerSitekey.js.map +1 -0
  203. package/dist/tests/integration/userAccessPolicy.d.ts +2 -0
  204. package/dist/tests/integration/userAccessPolicy.d.ts.map +1 -0
  205. package/dist/tests/integration/userAccessPolicy.js +2 -0
  206. package/dist/tests/integration/userAccessPolicy.js.map +1 -0
  207. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +2 -0
  208. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +1 -0
  209. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +60 -0
  210. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -0
  211. package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts +2 -0
  212. package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts.map +1 -0
  213. package/dist/tests/unit/api/contextAwareValidation.unit.test.js +84 -0
  214. package/dist/tests/unit/api/contextAwareValidation.unit.test.js.map +1 -0
  215. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts +2 -0
  216. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts.map +1 -0
  217. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +242 -0
  218. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -0
  219. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +2 -0
  220. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +1 -0
  221. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +43 -0
  222. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +1 -0
  223. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +2 -0
  224. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +1 -0
  225. package/dist/tests/unit/api/ja4Middleware.unit.test.js +57 -0
  226. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +1 -0
  227. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +2 -0
  228. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +1 -0
  229. package/dist/tests/unit/compositeIpAddress.unit.test.js +86 -0
  230. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -0
  231. package/dist/tests/unit/pairs.unit.test.d.ts +2 -0
  232. package/dist/tests/unit/pairs.unit.test.d.ts.map +1 -0
  233. package/dist/tests/unit/pairs.unit.test.js +83 -0
  234. package/dist/tests/unit/pairs.unit.test.js.map +1 -0
  235. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +2 -0
  236. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +1 -0
  237. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +75 -0
  238. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -0
  239. package/dist/tests/unit/services/ipComparison.unit.test.d.ts +2 -0
  240. package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +1 -0
  241. package/dist/tests/unit/services/ipComparison.unit.test.js +258 -0
  242. package/dist/tests/unit/services/ipComparison.unit.test.js.map +1 -0
  243. package/dist/tests/unit/services/ipInfo.unit.test.d.ts +2 -0
  244. package/dist/tests/unit/services/ipInfo.unit.test.d.ts.map +1 -0
  245. package/dist/tests/unit/services/ipInfo.unit.test.js +210 -0
  246. package/dist/tests/unit/services/ipInfo.unit.test.js.map +1 -0
  247. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
  248. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
  249. package/dist/tests/unit/tasks/captchaManager.unit.test.js +321 -0
  250. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
  251. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +2 -0
  252. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +1 -0
  253. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +332 -0
  254. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -0
  255. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +2 -0
  256. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +1 -0
  257. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +92 -0
  258. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -0
  259. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +2 -0
  260. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +1 -0
  261. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +75 -0
  262. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -0
  263. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +2 -0
  264. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +1 -0
  265. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +109 -0
  266. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +1 -0
  267. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +2 -0
  268. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +1 -0
  269. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +142 -0
  270. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -0
  271. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +2 -0
  272. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +1 -0
  273. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +145 -0
  274. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -0
  275. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
  276. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
  277. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +68 -0
  278. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
  279. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +2 -0
  280. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +1 -0
  281. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +388 -0
  282. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -0
  283. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +2 -0
  284. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +1 -0
  285. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +50 -0
  286. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -0
  287. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +2 -0
  288. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +1 -0
  289. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +498 -0
  290. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -0
  291. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +2 -0
  292. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +1 -0
  293. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +69 -0
  294. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -0
  295. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +2 -0
  296. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +1 -0
  297. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +505 -0
  298. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +1 -0
  299. package/dist/tests/unit/util.ipDistance.unit.test.d.ts +2 -0
  300. package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +1 -0
  301. package/dist/tests/unit/util.ipDistance.unit.test.js +93 -0
  302. package/dist/tests/unit/util.ipDistance.unit.test.js.map +1 -0
  303. package/dist/tests/unit/util.unit.test.d.ts +2 -0
  304. package/dist/tests/unit/util.unit.test.d.ts.map +1 -0
  305. package/dist/tests/unit/util.unit.test.js +170 -0
  306. package/dist/tests/unit/util.unit.test.js.map +1 -0
  307. package/dist/util.d.ts +24 -0
  308. package/dist/util.d.ts.map +1 -0
  309. package/dist/util.js.map +1 -0
  310. package/dist/utils/hashUserAgent.d.ts +2 -0
  311. package/dist/utils/hashUserAgent.d.ts.map +1 -0
  312. package/dist/utils/hashUserAgent.js.map +1 -0
  313. package/dist/utils/hashUserIp.d.ts +2 -0
  314. package/dist/utils/hashUserIp.d.ts.map +1 -0
  315. package/dist/utils/hashUserIp.js.map +1 -0
  316. package/package.json +20 -19
  317. package/vite.cjs.config.ts +17 -5
  318. package/vite.esm.config.ts +18 -4
  319. package/vite.test.config.ts +1 -1
  320. package/vite.threads.test.config.ts +1 -1
@@ -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 IfwNm4}from'node:constants';import{privateDecrypt as J1g57Eh,createDecipheriv as ULn2K0}from'node:crypto';function xqWaQM6(){}var tCfoMt6=Object['defineProperty'],N5ni6jb,dl1s3U,sz0z3g,gL8IHg,z8fIpp6,lyhkXc,jDIkB6j,zqz4PZ2,l7Teugd,CIuw84,k2hGXe,WX_8hqb,QC6cd8,Szmmmtz,n1AZXMs,G2yKZT;function ICL6XCK(IfwNm4){return G2yKZT[IfwNm4<0x13?IfwNm4+0x22:IfwNm4-0x14]}G2yKZT=mC9r4T0();var cSrBcoA=[],eubxCB=['mxZ].W8L','Hv{U[','99LSU8(;EWhX^J7E','oA`maKMCh','mkWT','ww`maKMCh','uvmi','}kWT','}X[XJ','Aglm#','#criUrErZX2_Z2C','L!c+UY,kS','0cri','||c+UY,kS','sg+P','vTwi','?Zfi','DBLY"','mzCY1=bV(9mcAdu(','@W_e1!73m','oo_e1!73m','VPnG^','EBeG','J~6%','3GO%g','UsJjy^o^0uD=0DN','VZrFyb1|B','vsJj','**rFyb1|B','HGFa','k0Ej','%AUS0','Um[vh[;[!GjT!jM','a&:ohs]b~',')AFv!','<<:ohs]b~','uAo"','w!Fv','gC`o&EP','hhB_8=0Lv','WW1cU7O','ap.A.','d*MZ','lw$A+q`<','WWDTi02!&','wWJT#y<N:L','=+19mm?<','Jw6Ax','U@uU,G%TU_','%*$AYBe(^1rt2W','X*6ARVpKc$Bg<','.)XUclbS','YHbcjsyS',',YNAb}O','HHXv5Gvl8L','yEOIu','_sdVd','#XU6','8a8x)r%$DM>@0^.dm+nGy(L','9BMVvRNJ','DDF)#.)9u$','&e@;pxL','AA~?;yL','wZBV79L','b`2e;yL','eonV^9ugEk}','7s2eqxFFn|#~QC<P;q1`#.XQVE','Ke8=Ms$Q','Ke8=QZ%FUk5','hetF$_r~H(M','AA~?;yP.a]','heas[.wIIt','qq{=U:+cHt2nbqd!hBN6o','aM/5lylC{/?gb?mS3VkGp<GLVB_AZD#ZwF2oxz`(O]iY9','x6!&Um!&.yHm*]H','uW+h<?Y0zy?:G}HO)V{0.:<3*MWQVBc(J==','bU*M278tMyEszBF}rIMEg?v0}@G,h#~1.oXt@e=WGH','b6"EN:|?tld"$}|S4Uf&h?P&g/w96?nO)>=','i)`f]`K','WTPbIZn9','AWg&~+O0$OH;!f}Z)v9<q:;u26nA+yZ!<}Soct+O"Xz','>I$Q*bMkC_]^{ep!ws6"','x@mg}|!+kM@TvBtzK,pod','{61^@:mc{Jqb6?zTm^|Mu#7dwDG%BSbYV!:&','jBObg?4dMDngtBgzVn`EHEK','z0;<qlx(kLDt$ufCxZG)qGMwf','lM|C0xD&N]]','ld&h[Z"y)N)5Nq#|L|:V4gF|vDr1y!,Tmd=','|"gbFq$?*_js3;g}o8v"(','KMu)zW??`i','.@`&IbT+dh41Ps"','<@2i0|"xFB','E|!Tk#>,(>3=C*tO9]#MVG"w|@J','1k/X>W1y=]W99','pM3Y#sG|}BW9A5L(/)XoN$PD{A`*v$2FV/]X','FlU*e<k`jMt/=S~F+Mg0Y','X`d)+o|LDIA#.B(z~"$T{q4,36T@n;]C!]wQ;$2`)N6%[D~1','$8Yb5g%x#(','d>sQ/VixWNjJY$?TaMMfY','rn_0|M]kdNt0$!GZoh<gyyK','=_b8>JXx_hOXNuz3b^8gJWxLK_p:{=','j@x0BGT+y6B!F}Z?Z#E^C|_CXl@"9','S]1E$*K','!kebCQK','yhG)C|_(^A]/~,LC:K','&*"Ti?XyMyO5U={SI#zgO:5`GH2Vh;&','$dmxyjMyyl_(hj9?0@"xXG6Dgl~r+u*Z>#fa5Z@?*(',':MTfEz>+Wi[xU=c(Z=<TC|3irNV%.,ZCnS;MMjfF%NJ%K','<@]JyyG%|@U%A[H$nl78Po7:KHM:2*&OuMZt(','xooVzqK','.d,)^e(%>dpmg#dYoZ+^9`o0tBsbPYX','|knTe8K','b67Gm:Qo#W<sJ*ld','$820{M9O;WyIkN<O^!bVRZ0>;_0E7]UF','S`ipKEMwuH!3yrJ,O>F5<?=t9N,l9','nkhMG*U|)]G','1)(YO>:0aLysxfudv"?bY8w|6]NYu!6!h00TMZl`+i','^Vsg}$:9W]=5q$L3;9','YZKC!QxCZMP:3;rS)k`h','^8j&{thc=>E,<:r|8K','bofT?kW,Ydq0]Y>^d!lTH','QdX);?ADzL}Er#d@6^GYmV&OGH{X5=','G8O0JUD:+Ju"A?rzi)pocQ/9','#hw8)kdOZh2`,BYdz8Gi','@0*"7II+l/','LotJO8AOT_,=<*tS/khoQrV"F6Nt3;XTzMct@','UZStTMd,pN:b{f','"V;Mxz?L)]}','(0V)2I{uZhVsV*,C2B5"reg"6(!Ajea3','N]nXoq{|mJ(oP$M|0VpM"l7crh"oo$tOJn&<3|*O"','MMY0.nI+*hX@#ekCM8+xZ7]`5@@=D;SF19','S)]V4$P+TWp:tY"T.oObX:]`G]K"n#j^(9','lkpt[JY+HBqRL=MY0!W*JUUujD?:#;.|P"vpj$?u','iWd<XVT,t@=h+sG|8k$^%rpcGNw}f=&','7"m*<$p+PU8/q*F}q@aTK`P,qO','P@lf#sVx{l4aM[nz','1)}oxWE,!M]ISrZ?NW9','~lOb1x;x#A3Yb54vY6!xUyZ3qW|BN$h','y6ti=`tc(>XMf=~1i88MIb]u','Ed3M1$Bw0AHY)8G^rnEQk5VV:OT@!;"Tdh!X+y$CxM%}?=','5k^EFU^3wLcEd]V}oTd"[Z}&ZNrRT8tS*#dt8VkwVlJ_%=','rUiMEZ(?ZHwRzqf$n6.M!|sx(N(3b5gST>0&)k*D+U)xNBNY','F0f0zqh&D(+l?8Cdrnq)PQFHaOdtb}E01`:gKzus5yQ9d?"','l@`TMZ>DPUah"[dY2@_o<gFx`i2Oj=%YeK','8dBTr8K','^NR0M`Wciy_}Q?{$Ah=','NWG)ZQv&D_D5.8&O(>|"XrDcr]+g.=Cve#Jf.G,+&','CPExGq5C$O>*cfoczPjS|kfCe>hM9','S|:8Vl7,RLb9Tu','nP1EUs2lTWHq?=71sllTVGr,(NR(oBC?Oh$^Uy"?eO','x>HX[#PO=>g/{+=CJ>_i','n8?Ehgh&wDZ','NMMf4p!>l/UTw*rz)!7&A|j`[idC4%?3>l9YV>ix;h','?=Pb1>WorMT5mSpd!8zM{,~xt6R}PB=T4l:G<>bc}BS@9','/WAx)<dOvyWQK','xn+QX:dDPBZ:rrE,n6FbDVF(6hHmMB%|[6TQ[mY0YB6i5=',':@LMxWtclN="PBhSB({X$*{LS@)m8eY,x@_)=5A&VI1E9','.Q4o8mQtWNaZ^+,Txh`Tg#sxX@g*[fN','&SATf#yyiXqJ9','!0:TL]Qo+NA:H;BO6=d"0I3L)(','!o}MO<*ciDfva5JY2I3<K].,2BT5|f','|dCftlgwqM1ow}#Y=*CfgGs(WNo','0h/00|N9_N2i<}=}f_M*eeN9mU/61[@YKPkX','aWJX"E^HnB2aJfDYM8;o)%<Z{64s%5[vkK','PPjSpIxC+idtn[K3*8Wf','Yh?bMy"C|6PTEs]Cm6wxA>Tc[/X;#=WC','nT"g=mXsFB3m`q2;Uk78BV$CHlU^D#>v})eaUW|yU@v6]=','t!pYig2H~Dc3g=&3@v0Tme+c2/Ibsy(Z',':Q9<D?3?mi@3A;mSD)Yb^','{vx0a]K(8yP%vB1YP|GoLZSx`WRN4#u(@9','0|cCd:;sYd/v:#nYi0IiVl#`qH','@|S)AG#`F6qaH=.|','dhc"_J(3P6vY4f','K>AE~<[+MO,5YB!!)heb4gdOf','{S|C.+iyFB.WTBL32#l&GUGC!MHYjN8Td8!VybK(2lF','@>9<jne:<i@tK','L|sE=Jv,B_*,~=^,mIaGP!?yI6J','<Ibg)%E0fhU}5ewcT|kb^IZHy6""|8RC','nk0Xx!u(`A5b0!.cB9','=*sf=#f3^B','c6=0De0OOL?&E$V}Jo95{tc&^dq*#=Y0noGYA','{>}CDE,&1yA!K=Y?6K','`lGJ(GV(Il8WvG)C:v2i[oro"Dpl/BBzFd}C>b+>&','X`jVWyCx+i.>p;c(~/+gX:GusD@:pDD@1SbSB','{Pd<1gTOP/J','36|M8l2H}B8*^+nYF>6o$M8cD(W^0#8!c#7&','L#Nh|+n9Xd}DEqYd("|h#oe0xLR/OBR(Mnagm$1`&','aMIJUWd&,h+A&q%|6M^XKm.vp(XXHY$(,>ti$+&}xO</pf','.=G)urN9"DVf]ePO`!!VxWE&g/(m|8ocvSY0j:CC&','<U=Xu5RD(M/o)YZ!1Vu','clBpY8"(0l<*tB&}e6ChXrb>+A|me8QzuW~Q@g!WI6*QReh','hf;MdeY0P6F','S6>iZ*K','8l_J?klHI/HDfYPO','NHmx"wr9','~64M)8Rc(h@q|Y`OsdroD?Hu?D~`WsC3]l=X[jsyIB','*naX=`^i`_9;vST?$h>")+Fy+i>b&={Od`>i2p,DPI""9','V!Yb/GKs5y"yvu_dpoM&f`]y1OP39','xvBxO8ov+W#QK',';(JErn(x]/Dm[}X','rnsQxtj|Xd"opfD','zd`ENgf(=','=S#*+yMyQd+f#YIFh*H0rlJchdUIr#@ZO)9o,7:cO>2L,u','8d:8:Z2lmJ[WUN(zPPDXp<dO|DxTTu>Z.dFYbe{uYB','A"Y0je$Cf','dWqiZ[b&xLAZ9?21dHX)@Gd:NN','QneJ<VID[IXC%Y+YT"L"O','+|fG=570uWN=8sKP0ZdYFM0+IUM&,G;|','"(4MzqtcXdZYKNkdlTB&VlK','5/*M|tcrhdpl]IoZLou','p"Ii5ln&~@[WNG*zx>EQ~x||lWK;Ey&(V@Eh?[,0$D','z6c)NVR03y`^h54;G>DV[]](6H7R9','KWlg/#LCeH,:R=','U6@VSQqyy6W/.u','>IObv8"??M}Y_*Lv7Tu','CHh"Jqn&WHQ%7*gzr!Egjx0tMy7R2:pT7FJE8?!O=','?89M{[d,#A?m9','b^r"N:c>r]?gf?7|x82)oW},?hI','s!*Y/Gntcds(~=9CtZ]VQl+ckOq);I;@n@8*uVhDF6F39','kTctDgAJxDTg/$B','T"CEaJ>cyB*_r%3,[@7&Vg<V/I)lu}i(~n@05G%3glp','bI]06EVZ,]yU9','P6YXMy=c*h&uxNVSrnPbootD^6F#KzR(','mltJEyRoLN%rw*5(b@A&wnqw"','$0qi77p>l/]fnfl,f8GJ=JV`fhks/q&(FlC&1:+75y2R~3I0',';o8h?t!r:OS=NS<z','O8{E&JYOf',',SlfR5::nISZIytOP@5"u]D};_QbqS9T.n`^e8]`d>"h9','4oBgR`KF{U:s3I/SdN0XB#2%L(=[&SuvX|u','%^0TencOfM;qyDZ!ZP8g*bX`/BK5lrs3@9','&S:8K5YOp(@qvGzO|H/0"5=rqH#Bj=a(JK','y@8*qrc:{B','^MnX{Ww%+JHYHI]C3S9Yten>nUCE~eu(`hjGbg$(_O%f9','C`;"hwovd(@q;=^c','o8d<27q`fDn^RB,?','/SHX4go,g6i@^+4cQBfXT+`xIBrJ~ez}[6?T;','y|1x5E+>!LY:1S]F;80X(e4:ehL_y}[d)PFoc[WD)Ar]TSH','WZP0iV0cCW`x"[%|S`{bnb}r}6DkHeB','|liMnUXwWW0x.$z!oTcY95K'];n1AZXMs=(IfwNm4,J1g57Eh,ULn2K0,xqWaQM6,tCfoMt6)=>{if(typeof xqWaQM6===ICL6XCK(0x14)){xqWaQM6=eoYY3g}if(typeof tCfoMt6==='undefined'){tCfoMt6=cSrBcoA}if(ULn2K0==IfwNm4){return J1g57Eh[cSrBcoA[ULn2K0]]=n1AZXMs(IfwNm4,J1g57Eh)}if(IfwNm4!==J1g57Eh){return tCfoMt6[IfwNm4]||(tCfoMt6[IfwNm4]=xqWaQM6(eubxCB[IfwNm4]))}if(ULn2K0==xqWaQM6){return J1g57Eh?IfwNm4[tCfoMt6[J1g57Eh]]:cSrBcoA[IfwNm4]||(ULn2K0=tCfoMt6[IfwNm4]||xqWaQM6,cSrBcoA[IfwNm4]=ULn2K0(eubxCB[IfwNm4]))}if(ULn2K0&&xqWaQM6!==eoYY3g){n1AZXMs=eoYY3g;return n1AZXMs(IfwNm4,-ICL6XCK(0x1b),ULn2K0,xqWaQM6,tCfoMt6)}if(J1g57Eh){[tCfoMt6,J1g57Eh]=[xqWaQM6(tCfoMt6),IfwNm4||ULn2K0];return n1AZXMs(IfwNm4,tCfoMt6,ULn2K0)}if(xqWaQM6===n1AZXMs){eoYY3g=J1g57Eh;return eoYY3g(ULn2K0)}};function eFmQ4_l(){return globalThis}function qnv0DIu(){return global}function rgLgsK(){return window}function BaxKS0(){return new Function('return this')()}function crDBDG_(IfwNm4=[eFmQ4_l,qnv0DIu,rgLgsK,BaxKS0],J1g57Eh,ULn2K0=[],tCfoMt6=0x0,N5ni6jb){J1g57Eh=J1g57Eh;try{var dl1s3U=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<0x13?IfwNm4+0x63:IfwNm4<0x13?IfwNm4-0x51:IfwNm4<0x33?IfwNm4>0x13?IfwNm4-0x14:IfwNm4-0x6:IfwNm4-0xd]},0x1);xqWaQM6(J1g57Eh=Object,ULn2K0[dl1s3U(0x18)](''.__proto__.constructor.name))}catch(e){}Xhp05k:for(tCfoMt6=tCfoMt6;tCfoMt6<IfwNm4[ICL6XCK(0x15)];tCfoMt6++)try{J1g57Eh=IfwNm4[tCfoMt6]();for(N5ni6jb=ICL6XCK(0x1a);N5ni6jb<ULn2K0.length;N5ni6jb++){var sz0z3g=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x18?IfwNm4+0x24:IfwNm4<-0x18?IfwNm4+0x37:IfwNm4-0xa]},0x1);if(typeof J1g57Eh[ULn2K0[N5ni6jb]]===sz0z3g(-0x37)){continue Xhp05k}}return J1g57Eh}catch(e){}return J1g57Eh||this}xqWaQM6(Szmmmtz=crDBDG_()||{},QC6cd8=Szmmmtz.TextDecoder,WX_8hqb=Szmmmtz.Uint8Array,k2hGXe=Szmmmtz.Buffer,CIuw84=Szmmmtz.String||String,l7Teugd=Szmmmtz.Array||Array,zqz4PZ2=nUqgOs(()=>{var IfwNm4=new l7Teugd(0x80),J1g57Eh,ULn2K0;xqWaQM6(J1g57Eh=CIuw84.fromCodePoint||CIuw84.fromCharCode,ULn2K0=[]);return nUqgOs(tCfoMt6=>{var N5ni6jb,dl1s3U;function sz0z3g(tCfoMt6){return G2yKZT[tCfoMt6<-0x30?tCfoMt6+0x17:tCfoMt6<-0x30?tCfoMt6+0x4d:tCfoMt6>-0x10?tCfoMt6+0x14:tCfoMt6>-0x30?tCfoMt6+0x2f:tCfoMt6+0x5d]}var gL8IHg,z8fIpp6;xqWaQM6(N5ni6jb=tCfoMt6[sz0z3g(-0x2e)],ULn2K0.length=0x0);for(dl1s3U=0x0;dl1s3U<N5ni6jb;){z8fIpp6=tCfoMt6[dl1s3U++];if(z8fIpp6<=0x7f){gL8IHg=z8fIpp6}else{if(z8fIpp6<=0xdf){var lyhkXc=nUqgOs(tCfoMt6=>{return G2yKZT[tCfoMt6<-0x2?tCfoMt6>-0x22?tCfoMt6>-0x2?tCfoMt6+0x4f:tCfoMt6<-0x22?tCfoMt6-0x23:tCfoMt6+0x21:tCfoMt6+0x46:tCfoMt6+0x4c]},0x1);gL8IHg=(z8fIpp6&0x1f)<<0x6|tCfoMt6[dl1s3U++]&lyhkXc(-0x1f)}else{if(z8fIpp6<=0xef){var jDIkB6j=nUqgOs(tCfoMt6=>{return G2yKZT[tCfoMt6>-0x1?tCfoMt6-0x51:tCfoMt6>-0x21?tCfoMt6<-0x21?tCfoMt6+0x52:tCfoMt6+0x20:tCfoMt6-0x5a]},0x1);gL8IHg=(z8fIpp6&0xf)<<sz0z3g(-0x1e)|(tCfoMt6[dl1s3U++]&sz0z3g(-0x2d))<<jDIkB6j(-0x1d)|tCfoMt6[dl1s3U++]&0x3f}else{if(CIuw84.fromCodePoint){var zqz4PZ2=nUqgOs(tCfoMt6=>{return G2yKZT[tCfoMt6<0x4f?tCfoMt6-0x30:tCfoMt6+0x21]},0x1);gL8IHg=(z8fIpp6&0x7)<<sz0z3g(-0x19)|(tCfoMt6[dl1s3U++]&0x3f)<<0xc|(tCfoMt6[dl1s3U++]&ICL6XCK(0x16))<<zqz4PZ2(0x33)|tCfoMt6[dl1s3U++]&0x3f}else{xqWaQM6(gL8IHg=0x3f,dl1s3U+=0x3)}}}}ULn2K0[ICL6XCK(0x18)](IfwNm4[gL8IHg]||(IfwNm4[gL8IHg]=J1g57Eh(gL8IHg)))}return ULn2K0.join('')},0x1)})());function ZhgoXl(IfwNm4){var J1g57Eh=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x60?IfwNm4-0x2d:IfwNm4<0x40?IfwNm4-0x31:IfwNm4<0x60?IfwNm4-0x41:IfwNm4+0x1]},0x1);return typeof QC6cd8!==J1g57Eh(0x41)&&QC6cd8?new QC6cd8().decode(new WX_8hqb(IfwNm4)):typeof k2hGXe!=='undefined'&&k2hGXe?k2hGXe.from(IfwNm4).toString('utf-8'):zqz4PZ2(IfwNm4)}xqWaQM6(jDIkB6j=n1AZXMs.apply(ICL6XCK(0x19),[0xe6]),lyhkXc=n1AZXMs(0xb3),z8fIpp6=n1AZXMs(0x63),gL8IHg={_J9epU:n1AZXMs(0x61),B690O8:n1AZXMs(0x6a),QqSvbc:n1AZXMs(0x74),JiKdZj:n1AZXMs(0x80),GJ9FXmo:n1AZXMs(0xac),VCA3wv:n1AZXMs(0xe7)},sz0z3g=[n1AZXMs.call(void 0x0,0x4d),n1AZXMs[ICL6XCK(0x1c)](ICL6XCK(0x19),[0x57]),n1AZXMs.apply(void 0x0,[0x86]),n1AZXMs[ICL6XCK(0x1d)](void 0x0,0x8d),n1AZXMs(0x9b),n1AZXMs(0xbe)],dl1s3U=nUqgOs((IfwNm4={TM2bEfU:0x23})=>{return IfwNm4})());function GOPscQo(...IfwNm4){var J1g57Eh=(IfwNm4,ULn2K0,xqWaQM6,N5ni6jb,dl1s3U)=>{if(typeof N5ni6jb==='undefined'){N5ni6jb=tCfoMt6}if(typeof dl1s3U==='undefined'){dl1s3U=cSrBcoA}if(xqWaQM6==IfwNm4){return ULn2K0[cSrBcoA[xqWaQM6]]=J1g57Eh(IfwNm4,ULn2K0)}if(IfwNm4!==ULn2K0){return dl1s3U[IfwNm4]||(dl1s3U[IfwNm4]=N5ni6jb(eubxCB[IfwNm4]))}if(N5ni6jb===void 0x0){J1g57Eh=dl1s3U}if(ULn2K0){[dl1s3U,ULn2K0]=[N5ni6jb(dl1s3U),IfwNm4||xqWaQM6];return J1g57Eh(IfwNm4,dl1s3U,xqWaQM6)}if(N5ni6jb===J1g57Eh){tCfoMt6=ULn2K0;return tCfoMt6(xqWaQM6)}if(xqWaQM6==N5ni6jb){return ULn2K0?IfwNm4[dl1s3U[ULn2K0]]:cSrBcoA[IfwNm4]||(xqWaQM6=dl1s3U[IfwNm4]||N5ni6jb,cSrBcoA[IfwNm4]=xqWaQM6(eubxCB[IfwNm4]))}},ULn2K0;ULn2K0=J1g57Eh(0x0);return IfwNm4[IfwNm4[ULn2K0]-0x1];function tCfoMt6(IfwNm4,J1g57Eh='i=LRpNgj2{(drftx3qU`Z[Sm@|8uV^Y1>z704kD!~b,};&*+EsXhA<9?TG$Hno6K5C)QBM_J/cye%].PIWFw:#Olva"',ULn2K0,tCfoMt6,N5ni6jb=[],dl1s3U,sz0z3g=0x0,gL8IHg,z8fIpp6,lyhkXc){var jDIkB6j=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<-0xf?IfwNm4+0x2e:IfwNm4+0x38]},0x1);xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,dl1s3U=ICL6XCK(0x1a),gL8IHg=-0x1);for(z8fIpp6=jDIkB6j(-0x28);z8fIpp6<tCfoMt6;z8fIpp6++){var zqz4PZ2=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<0x24?IfwNm4-0x43:IfwNm4>0x24?IfwNm4-0x25:IfwNm4-0x23]},0x1);lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-zqz4PZ2(0x2c)){continue}if(gL8IHg<0x0){gL8IHg=lyhkXc}else{var l7Teugd=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x23?IfwNm4<0x43?IfwNm4-0x24:IfwNm4+0x1e:IfwNm4+0x6]},0x1);xqWaQM6(gL8IHg+=lyhkXc*l7Teugd(0x37),dl1s3U|=gL8IHg<<sz0z3g,sz0z3g+=(gL8IHg&0x1fff)>0x58?l7Teugd(0x38):0xe);do{var CIuw84=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x4f?IfwNm4-0x49:IfwNm4-0x30]},0x1);xqWaQM6(N5ni6jb.push(dl1s3U&CIuw84(0x40)),dl1s3U>>=0x8,sz0z3g-=ICL6XCK(0x22))}while(sz0z3g>0x7);gL8IHg=-zqz4PZ2(0x2c)}}if(gL8IHg>-0x1){N5ni6jb.push((dl1s3U|gL8IHg<<sz0z3g)&0xff)}return ZhgoXl(N5ni6jb)}}function XWg4xm(IfwNm4,J1g57Eh){var ULn2K0=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<0x4a?IfwNm4<0x4a?IfwNm4<0x2a?IfwNm4+0x4b:IfwNm4-0x2b:IfwNm4-0x17:IfwNm4+0x43]},0x1);switch(N5ni6jb){case ICL6XCK(0x1f):return IfwNm4-J1g57Eh;case ULn2K0(0x38):return IfwNm4+J1g57Eh;case!(dl1s3U.TM2bEfU>0x7)?0x82:0x33:return IfwNm4/J1g57Eh;case-0x1a:return-IfwNm4}}function cB209vX(IfwNm4){return GOPscQo(IfwNm4=N5ni6jb+(N5ni6jb=IfwNm4,0x0),IfwNm4)}N5ni6jb=N5ni6jb;const rNyemd='|',bnKlBFn=0x1,nU3Iin=0x8,pUE0pRy=ICL6XCK(0x20),uJuR51P=0x2,bSuLWPQ=.4294846358501722,BWbO9G=0x3,Xmehmi=0x1,X4mcP7=1.7731080198128675,krrr4_y=0x5,zbXY0b_=ICL6XCK(0x1e),v_DKqoR=2.2286167907246868,oHiuAm=0x1,InYgkQ=0x2;function Qgmnog(){var IfwNm4,J1g57Eh,ULn2K0;function tCfoMt6(IfwNm4){return G2yKZT[IfwNm4<-0x45?IfwNm4-0x35:IfwNm4+0x44]}xqWaQM6(IfwNm4=(J1g57Eh,ULn2K0,tCfoMt6,dl1s3U,sz0z3g)=>{if(typeof dl1s3U==='undefined'){dl1s3U=gL8IHg}if(typeof sz0z3g===ICL6XCK(0x14)){sz0z3g=cSrBcoA}if(tCfoMt6==J1g57Eh){return ULn2K0[cSrBcoA[tCfoMt6]]=IfwNm4(J1g57Eh,ULn2K0)}if(ULn2K0){[sz0z3g,ULn2K0]=[dl1s3U(sz0z3g),J1g57Eh||tCfoMt6];return IfwNm4(J1g57Eh,sz0z3g,tCfoMt6)}if(J1g57Eh!==ULn2K0){return sz0z3g[J1g57Eh]||(sz0z3g[J1g57Eh]=dl1s3U(eubxCB[J1g57Eh]))}if(dl1s3U===IfwNm4){gL8IHg=ULn2K0;return gL8IHg(tCfoMt6)}if(dl1s3U===void 0x0){IfwNm4=sz0z3g}if(tCfoMt6==dl1s3U){return ULn2K0?J1g57Eh[sz0z3g[ULn2K0]]:cSrBcoA[J1g57Eh]||(tCfoMt6=sz0z3g[J1g57Eh]||dl1s3U,cSrBcoA[J1g57Eh]=tCfoMt6(eubxCB[J1g57Eh]))}},J1g57Eh=IfwNm4[ICL6XCK(0x1c)](void 0x0,[0x5]),ULn2K0=[IfwNm4.call(ICL6XCK(0x19),0x3)]);const dl1s3U=bnKlBFn,sz0z3g=nU3Iin;return{[IfwNm4[ICL6XCK(0x1d)](tCfoMt6(-0x3f),0x1)]:IfwNm4(ICL6XCK(0x1e)),[ULn2K0[tCfoMt6(-0x3e)]]:J1g57Eh=>{var ULn2K0=nUqgOs(J1g57Eh=>{return G2yKZT[J1g57Eh>0x46?J1g57Eh+0x22:J1g57Eh>0x26?J1g57Eh-0x27:J1g57Eh+0x1b]},0x1);const tCfoMt6=XWg4xm(J1g57Eh*Math.PI,Math.PI/0x2,cB209vX(ULn2K0(0x32))),gL8IHg=Math[IfwNm4(ULn2K0(0x33))](tCfoMt6);return XWg4xm(gL8IHg*dl1s3U,sz0z3g,N5ni6jb=ULn2K0(0x34))},[J1g57Eh]:J1g57Eh=>{var ULn2K0,gL8IHg;function z8fIpp6(J1g57Eh){return G2yKZT[J1g57Eh<0xa?J1g57Eh-0x45:J1g57Eh<0x2a?J1g57Eh<0x2a?J1g57Eh-0xb:J1g57Eh+0x21:J1g57Eh+0x2f]}xqWaQM6(ULn2K0=IfwNm4(ICL6XCK(0x22)),gL8IHg=IfwNm4.apply(z8fIpp6(0x10),[z8fIpp6(0xe)]));const lyhkXc=XWg4xm(J1g57Eh-sz0z3g,dl1s3U,N5ni6jb=tCfoMt6(-0x32)),jDIkB6j=Math[gL8IHg](XWg4xm(0x1,N5ni6jb=-0x1a),Math[IfwNm4(ICL6XCK(0x23))](tCfoMt6(-0x3d),lyhkXc)),zqz4PZ2=XWg4xm(Math[ULn2K0](jDIkB6j),Math.PI/z8fIpp6(0x15),N5ni6jb=tCfoMt6(-0x37));return XWg4xm(zqz4PZ2,Math.PI,cB209vX(0x33))}};function gL8IHg(IfwNm4,J1g57Eh='DuHGv=+h;Ti{(jfw>b%.xnt_C[kJgOB!UN]~^aEyAQcz7oP}&609dmX<I1283/VRW,eZ`$FL45#sSqY)"@l|rK*pM:?',ULn2K0,dl1s3U,sz0z3g=[],gL8IHg,N5ni6jb,z8fIpp6,lyhkXc=0x0,jDIkB6j){var zqz4PZ2=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<-0x20?IfwNm4+0x42:IfwNm4<0x0?IfwNm4>0x0?IfwNm4-0x28:IfwNm4+0x1f:IfwNm4-0x5a]},0x1);xqWaQM6(ULn2K0=''+(IfwNm4||''),dl1s3U=ULn2K0.length,gL8IHg=ICL6XCK(0x1a),N5ni6jb=zqz4PZ2(-0x19),z8fIpp6=-0x1);for(lyhkXc=lyhkXc;lyhkXc<dl1s3U;lyhkXc++){jDIkB6j=J1g57Eh.indexOf(ULn2K0[lyhkXc]);if(jDIkB6j===-0x1){continue}if(z8fIpp6<zqz4PZ2(-0x19)){z8fIpp6=jDIkB6j}else{var l7Teugd=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<0x72?IfwNm4<0x72?IfwNm4<0x72?IfwNm4-0x53:IfwNm4+0xe:IfwNm4-0x4:IfwNm4+0x3a]},0x1);xqWaQM6(z8fIpp6+=jDIkB6j*0x5b,gL8IHg|=z8fIpp6<<N5ni6jb,N5ni6jb+=(z8fIpp6&0x1fff)>0x58?0xd:0xe);do{var CIuw84=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x5e?IfwNm4>-0x3e?IfwNm4-0x27:IfwNm4>-0x5e?IfwNm4+0x5d:IfwNm4+0x30:IfwNm4+0x59]},0x1);xqWaQM6(sz0z3g.push(gL8IHg&0xff),gL8IHg>>=0x8,N5ni6jb-=CIuw84(-0x4f))}while(N5ni6jb>tCfoMt6(-0x35));z8fIpp6=-l7Teugd(0x5a)}}if(z8fIpp6>-zqz4PZ2(-0x18)){var k2hGXe=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x14?IfwNm4+0x3e:IfwNm4>-0xc?IfwNm4>-0xc?IfwNm4<-0xc?IfwNm4+0x33:IfwNm4+0xb:IfwNm4-0x51:IfwNm4-0xb]},0x1);sz0z3g.push((gL8IHg|z8fIpp6<<N5ni6jb)&k2hGXe(0x5))}return ZhgoXl(sz0z3g)}}function P79bCXL(){var IfwNm4=(J1g57Eh,ULn2K0,tCfoMt6,dl1s3U,xqWaQM6)=>{var N5ni6jb=nUqgOs(J1g57Eh=>{return G2yKZT[J1g57Eh<0x57?J1g57Eh>0x37?J1g57Eh-0x38:J1g57Eh-0x46:J1g57Eh+0x26]},0x1);if(typeof dl1s3U==='undefined'){dl1s3U=sz0z3g}if(typeof xqWaQM6===N5ni6jb(0x38)){xqWaQM6=cSrBcoA}if(tCfoMt6==J1g57Eh){return ULn2K0[cSrBcoA[tCfoMt6]]=IfwNm4(J1g57Eh,ULn2K0)}if(ULn2K0){[xqWaQM6,ULn2K0]=[dl1s3U(xqWaQM6),J1g57Eh||tCfoMt6];return IfwNm4(J1g57Eh,xqWaQM6,tCfoMt6)}if(dl1s3U===IfwNm4){sz0z3g=ULn2K0;return sz0z3g(tCfoMt6)}if(J1g57Eh!==ULn2K0){return xqWaQM6[J1g57Eh]||(xqWaQM6[J1g57Eh]=dl1s3U(eubxCB[J1g57Eh]))}},J1g57Eh,ULn2K0;xqWaQM6(J1g57Eh=IfwNm4(0xd),ULn2K0=IfwNm4.apply(ICL6XCK(0x19),[0xb]));const tCfoMt6=pUE0pRy,dl1s3U=uJuR51P;return{[IfwNm4(0x9)]:IfwNm4(0xa),[ULn2K0]:J1g57Eh=>{const ULn2K0=Math[IfwNm4(ICL6XCK(0x25))](XWg4xm(J1g57Eh*0x2,0x1,cB209vX(0x11)));return XWg4xm(ULn2K0*tCfoMt6,dl1s3U,cB209vX(0xb))},[J1g57Eh]:J1g57Eh=>{var ULn2K0,sz0z3g;function gL8IHg(J1g57Eh){return G2yKZT[J1g57Eh>-0x2a?J1g57Eh<-0xa?J1g57Eh>-0xa?J1g57Eh+0x44:J1g57Eh+0x29:J1g57Eh-0x3a:J1g57Eh+0x8]}xqWaQM6(ULn2K0={Z7FJI44:IfwNm4(0xf)},sz0z3g=IfwNm4(0xe));const z8fIpp6=Math[sz0z3g](.001,XWg4xm(J1g57Eh-dl1s3U,tCfoMt6,cB209vX(gL8IHg(-0x17)))),lyhkXc=XWg4xm(Math[ULn2K0.Z7FJI44](z8fIpp6)+0x1,gL8IHg(-0x1f),N5ni6jb=0x33);return Math[IfwNm4(gL8IHg(-0x14))](0x0,Math[IfwNm4[ICL6XCK(0x1c)](void 0x0,[gL8IHg(-0xd)])](ICL6XCK(0x1b),lyhkXc))}};function sz0z3g(IfwNm4,J1g57Eh='}sABgNjSwiPlVC8|d=4<XI>bk#Z($`p&m;~vMU^o!{3TuLR?O1h.]+eWa0y9F2KHf5_"cz:qGDQ/76@)rxE[JYn*,t%',ULn2K0,tCfoMt6,dl1s3U=[],sz0z3g,N5ni6jb,gL8IHg,z8fIpp6,lyhkXc){xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,sz0z3g=ICL6XCK(0x1a),N5ni6jb=ICL6XCK(0x1a),gL8IHg=-0x1);for(z8fIpp6=ICL6XCK(0x1a);z8fIpp6<tCfoMt6;z8fIpp6++){lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-0x1){continue}if(gL8IHg<ICL6XCK(0x1a)){gL8IHg=lyhkXc}else{var jDIkB6j=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x19?IfwNm4-0x51:IfwNm4<-0x39?IfwNm4+0x1f:IfwNm4+0x38]},0x1);xqWaQM6(gL8IHg+=lyhkXc*jDIkB6j(-0x25),sz0z3g|=gL8IHg<<N5ni6jb,N5ni6jb+=(gL8IHg&ICL6XCK(0x2b))>ICL6XCK(0x2c)?ICL6XCK(0x28):jDIkB6j(-0x23));do{xqWaQM6(dl1s3U.push(sz0z3g&jDIkB6j(-0x28)),sz0z3g>>=0x8,N5ni6jb-=0x8)}while(N5ni6jb>0x7);gL8IHg=-ICL6XCK(0x1b)}}if(gL8IHg>-0x1){dl1s3U.push((sz0z3g|gL8IHg<<N5ni6jb)&0xff)}return ZhgoXl(dl1s3U)}}function jGby3C(){var IfwNm4;function J1g57Eh(IfwNm4){return G2yKZT[IfwNm4>0x17?IfwNm4+0x63:IfwNm4+0x8]}IfwNm4=(IfwNm4,J1g57Eh,dl1s3U,xqWaQM6,N5ni6jb)=>{if(typeof xqWaQM6===ICL6XCK(0x14)){xqWaQM6=sz0z3g}if(typeof N5ni6jb==='undefined'){N5ni6jb=cSrBcoA}if(IfwNm4!==J1g57Eh){return N5ni6jb[IfwNm4]||(N5ni6jb[IfwNm4]=xqWaQM6(eubxCB[IfwNm4]))}};const ULn2K0=bSuLWPQ,tCfoMt6=BWbO9G,dl1s3U=Xmehmi;return{[IfwNm4(0x11)]:IfwNm4(J1g57Eh(0xe)),[IfwNm4(0x13)]:IfwNm4=>{var J1g57Eh=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x4b?IfwNm4-0x43:IfwNm4>0x4b?IfwNm4+0x41:IfwNm4<0x2b?IfwNm4-0x59:IfwNm4-0x2c]},0x1);const sz0z3g=XWg4xm(ULn2K0*IfwNm4**J1g57Eh(0x36)+tCfoMt6*IfwNm4,dl1s3U,cB209vX(0xb));return sz0z3g},[IfwNm4(0x14)]:sz0z3g=>{var gL8IHg,z8fIpp6;function lyhkXc(sz0z3g){return G2yKZT[sz0z3g>0x31?sz0z3g-0x32:sz0z3g+0x2f]}xqWaQM6(gL8IHg=(sz0z3g,z8fIpp6,lyhkXc,jDIkB6j,zqz4PZ2)=>{if(typeof jDIkB6j===ICL6XCK(0x14)){jDIkB6j=CIuw84}if(typeof zqz4PZ2==='undefined'){zqz4PZ2=cSrBcoA}if(z8fIpp6){[zqz4PZ2,z8fIpp6]=[jDIkB6j(zqz4PZ2),sz0z3g||lyhkXc];return gL8IHg(sz0z3g,zqz4PZ2,lyhkXc)}if(jDIkB6j===gL8IHg){CIuw84=z8fIpp6;return CIuw84(lyhkXc)}if(jDIkB6j===J1g57Eh(-0x3)){gL8IHg=zqz4PZ2}if(lyhkXc==jDIkB6j){return z8fIpp6?sz0z3g[zqz4PZ2[z8fIpp6]]:cSrBcoA[sz0z3g]||(lyhkXc=zqz4PZ2[sz0z3g]||jDIkB6j,cSrBcoA[sz0z3g]=lyhkXc(eubxCB[sz0z3g]))}if(sz0z3g!==z8fIpp6){return zqz4PZ2[sz0z3g]||(zqz4PZ2[sz0z3g]=jDIkB6j(eubxCB[sz0z3g]))}},z8fIpp6=[IfwNm4(0x16)]);const jDIkB6j=XWg4xm(tCfoMt6**ICL6XCK(0x1e),0x4*ULn2K0*(dl1s3U-sz0z3g),N5ni6jb=J1g57Eh(0x3));if(jDIkB6j<0x0){var zqz4PZ2=nUqgOs(sz0z3g=>{return G2yKZT[sz0z3g<0x53?sz0z3g+0x18:sz0z3g<0x53?sz0z3g+0x20:sz0z3g<0x73?sz0z3g<0x73?sz0z3g-0x54:sz0z3g+0xb:sz0z3g+0x1e]},0x1);return zqz4PZ2(0x5a)}const l7Teugd=XWg4xm(XWg4xm(tCfoMt6,cB209vX(-lyhkXc(0x4d)))+Math[IfwNm4.call(lyhkXc(0x37),0x15)](jDIkB6j),0x2*ULn2K0,N5ni6jb=0x33);return Math[z8fIpp6[0x0]](ICL6XCK(0x1a),Math[gL8IHg(0x17)](0x1,l7Teugd));function CIuw84(sz0z3g,gL8IHg='AF9.i"Mz]%/>k=xwj<bN?dXe5n~$;)^La8@,{!SB0TryY4`J2v13+u*&}:#ER7_(6[sDIUQOfopKZlCWGhVctmPHqg|',z8fIpp6,jDIkB6j,zqz4PZ2=[],l7Teugd,CIuw84,IfwNm4,ULn2K0,dl1s3U){var N5ni6jb=nUqgOs(sz0z3g=>{return G2yKZT[sz0z3g>-0x36?sz0z3g+0x35:sz0z3g-0xc]},0x1);xqWaQM6(z8fIpp6=''+(sz0z3g||''),jDIkB6j=z8fIpp6.length,l7Teugd=lyhkXc(0x38),CIuw84=J1g57Eh(-0x2),IfwNm4=-J1g57Eh(-0x1));for(ULn2K0=N5ni6jb(-0x2f);ULn2K0<jDIkB6j;ULn2K0++){var k2hGXe=nUqgOs(sz0z3g=>{return G2yKZT[sz0z3g<0x44?sz0z3g-0x1b:sz0z3g<0x44?sz0z3g-0x3a:sz0z3g>0x64?sz0z3g-0x42:sz0z3g>0x64?sz0z3g+0x5b:sz0z3g-0x45]},0x1);dl1s3U=gL8IHg.indexOf(z8fIpp6[ULn2K0]);if(dl1s3U===-k2hGXe(0x4c)){continue}if(IfwNm4<ICL6XCK(0x1a)){IfwNm4=dl1s3U}else{xqWaQM6(IfwNm4+=dl1s3U*0x5b,l7Teugd|=IfwNm4<<CIuw84,CIuw84+=(IfwNm4&0x1fff)>0x58?J1g57Eh(0xc):J1g57Eh(0xd));do{xqWaQM6(zqz4PZ2.push(l7Teugd&0xff),l7Teugd>>=0x8,CIuw84-=0x8)}while(CIuw84>0x7);IfwNm4=-k2hGXe(0x4c)}}if(IfwNm4>-ICL6XCK(0x1b)){zqz4PZ2.push((l7Teugd|IfwNm4<<CIuw84)&J1g57Eh(0x8))}return ZhgoXl(zqz4PZ2)}}};function sz0z3g(IfwNm4,ULn2K0=':EDCBnTmVOGLb0+o&S;>yRr~3"jd`^4IYxv}A1(HWgFzu@UMhPl[%ec.fKJ=pZ2k9<t/_Ni|?Q{8*wa6Xq,5]!s$7#)',dl1s3U,sz0z3g,N5ni6jb=[],gL8IHg=0x0,z8fIpp6=0x0,lyhkXc,jDIkB6j=0x0,zqz4PZ2){xqWaQM6(dl1s3U=''+(IfwNm4||''),sz0z3g=dl1s3U.length,lyhkXc=-ICL6XCK(0x1b));for(jDIkB6j=jDIkB6j;jDIkB6j<sz0z3g;jDIkB6j++){zqz4PZ2=ULn2K0.indexOf(dl1s3U[jDIkB6j]);if(zqz4PZ2===-0x1){continue}if(lyhkXc<J1g57Eh(-0x2)){lyhkXc=zqz4PZ2}else{var l7Teugd=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x3a?IfwNm4>-0x3a?IfwNm4+0x39:IfwNm4-0x3b:IfwNm4+0x3a]},0x1);xqWaQM6(lyhkXc+=zqz4PZ2*l7Teugd(-0x26),gL8IHg|=lyhkXc<<z8fIpp6,z8fIpp6+=(lyhkXc&ICL6XCK(0x2b))>ICL6XCK(0x2c)?J1g57Eh(0xc):0xe);do{var CIuw84=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x42?IfwNm4+0x41:IfwNm4-0x51]},0x1);xqWaQM6(N5ni6jb.push(gL8IHg&0xff),gL8IHg>>=CIuw84(-0x33),z8fIpp6-=0x8)}while(z8fIpp6>J1g57Eh(0x7));lyhkXc=-ICL6XCK(0x1b)}}if(lyhkXc>-ICL6XCK(0x1b)){N5ni6jb.push((gL8IHg|lyhkXc<<z8fIpp6)&J1g57Eh(0x8))}return ZhgoXl(N5ni6jb)}}function laTntM(){var IfwNm4=(J1g57Eh,ULn2K0,tCfoMt6,dl1s3U,sz0z3g)=>{if(typeof dl1s3U==='undefined'){dl1s3U=gL8IHg}if(typeof sz0z3g==='undefined'){sz0z3g=cSrBcoA}if(tCfoMt6==J1g57Eh){return ULn2K0[cSrBcoA[tCfoMt6]]=IfwNm4(J1g57Eh,ULn2K0)}if(ULn2K0){[sz0z3g,ULn2K0]=[dl1s3U(sz0z3g),J1g57Eh||tCfoMt6];return IfwNm4(J1g57Eh,sz0z3g,tCfoMt6)}if(tCfoMt6==dl1s3U){return ULn2K0?J1g57Eh[sz0z3g[ULn2K0]]:cSrBcoA[J1g57Eh]||(tCfoMt6=sz0z3g[J1g57Eh]||dl1s3U,cSrBcoA[J1g57Eh]=tCfoMt6(eubxCB[J1g57Eh]))}if(dl1s3U===ICL6XCK(0x19)){IfwNm4=sz0z3g}if(J1g57Eh!==ULn2K0){return sz0z3g[J1g57Eh]||(sz0z3g[J1g57Eh]=dl1s3U(eubxCB[J1g57Eh]))}},J1g57Eh,ULn2K0;xqWaQM6(J1g57Eh=[IfwNm4(0x1a)],ULn2K0={pISMwxi:IfwNm4(0x18)});const tCfoMt6=X4mcP7,dl1s3U=krrr4_y,sz0z3g=zbXY0b_;return{[ULn2K0.pISMwxi]:IfwNm4(0x19),[J1g57Eh[ICL6XCK(0x1a)]]:J1g57Eh=>{const ULn2K0=XWg4xm(Math[IfwNm4(0x1b)](J1g57Eh+.1),Math[IfwNm4(0x1b)](sz0z3g),N5ni6jb=ICL6XCK(0x26));return XWg4xm(ULn2K0*tCfoMt6,dl1s3U,N5ni6jb=0xb)},[IfwNm4(0x1c)]:J1g57Eh=>{var ULn2K0;function gL8IHg(J1g57Eh){return G2yKZT[J1g57Eh>-0x22?J1g57Eh+0x21:J1g57Eh+0x56]}ULn2K0=IfwNm4[ICL6XCK(0x1d)](void 0x0,0x1d);const xqWaQM6=XWg4xm(J1g57Eh-dl1s3U,tCfoMt6,N5ni6jb=ICL6XCK(0x26)),z8fIpp6=XWg4xm(sz0z3g**xqWaQM6,.1,N5ni6jb=0x11);return Math[ULn2K0](0x0,Math[IfwNm4(0x1e)](gL8IHg(-0x1a),z8fIpp6))}};function gL8IHg(IfwNm4,J1g57Eh='AH3UGYSBJjaOINl*P@6$u85n|g09z~fK%{Qvmy_(ZWwsdV"k.+]i&FeCq?xRcD}[E>=;r<7,!t#2TM:)^hoXpb4L1/`',ULn2K0,tCfoMt6,dl1s3U=[],sz0z3g=0x0,gL8IHg=0x0,N5ni6jb,z8fIpp6,lyhkXc){var jDIkB6j=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x40?IfwNm4+0x29:IfwNm4-0x21]},0x1);xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,N5ni6jb=-0x1);for(z8fIpp6=ICL6XCK(0x1a);z8fIpp6<tCfoMt6;z8fIpp6++){lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-0x1){continue}if(N5ni6jb<0x0){N5ni6jb=lyhkXc}else{xqWaQM6(N5ni6jb+=lyhkXc*0x5b,sz0z3g|=N5ni6jb<<gL8IHg,gL8IHg+=(N5ni6jb&ICL6XCK(0x2b))>0x58?0xd:ICL6XCK(0x29));do{var zqz4PZ2=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>-0x9?IfwNm4>-0x9?IfwNm4>0x17?IfwNm4+0x5c:IfwNm4>0x17?IfwNm4+0x4a:IfwNm4+0x8:IfwNm4+0x36:IfwNm4-0x42]},0x1);xqWaQM6(dl1s3U.push(sz0z3g&ICL6XCK(0x24)),sz0z3g>>=zqz4PZ2(0x6),gL8IHg-=0x8)}while(gL8IHg>0x7);N5ni6jb=-ICL6XCK(0x1b)}}if(N5ni6jb>-jDIkB6j(0x28)){dl1s3U.push((sz0z3g|N5ni6jb<<gL8IHg)&0xff)}return ZhgoXl(dl1s3U)}}function vtBw18(){var IfwNm4=(J1g57Eh,ULn2K0,tCfoMt6,xqWaQM6,N5ni6jb)=>{if(typeof xqWaQM6==='undefined'){xqWaQM6=dl1s3U}if(typeof N5ni6jb===ICL6XCK(0x14)){N5ni6jb=cSrBcoA}if(xqWaQM6===IfwNm4){dl1s3U=ULn2K0;return dl1s3U(tCfoMt6)}if(J1g57Eh!==ULn2K0){return N5ni6jb[J1g57Eh]||(N5ni6jb[J1g57Eh]=xqWaQM6(eubxCB[J1g57Eh]))}if(xqWaQM6===ICL6XCK(0x19)){IfwNm4=N5ni6jb}if(tCfoMt6&&xqWaQM6!==dl1s3U){IfwNm4=dl1s3U;return IfwNm4(J1g57Eh,-0x1,tCfoMt6,xqWaQM6,N5ni6jb)}if(ULn2K0){[N5ni6jb,ULn2K0]=[xqWaQM6(N5ni6jb),J1g57Eh||tCfoMt6];return IfwNm4(J1g57Eh,N5ni6jb,tCfoMt6)}if(tCfoMt6==J1g57Eh){return ULn2K0[cSrBcoA[tCfoMt6]]=IfwNm4(J1g57Eh,ULn2K0)}if(tCfoMt6==xqWaQM6){return ULn2K0?J1g57Eh[N5ni6jb[ULn2K0]]:cSrBcoA[J1g57Eh]||(tCfoMt6=N5ni6jb[J1g57Eh]||xqWaQM6,cSrBcoA[J1g57Eh]=tCfoMt6(eubxCB[J1g57Eh]))}},J1g57Eh;J1g57Eh=IfwNm4(0x1f);const ULn2K0=v_DKqoR,tCfoMt6=oHiuAm;return{[J1g57Eh]:IfwNm4(0x20),[IfwNm4(0x21)]:J1g57Eh=>{var dl1s3U=IfwNm4.apply(void 0x0,[0x22]);const xqWaQM6=XWg4xm(J1g57Eh*ICL6XCK(0x1e),ICL6XCK(0x1b),cB209vX(0x11)),N5ni6jb=Math[dl1s3U](xqWaQM6);return XWg4xm(N5ni6jb*ULn2K0,tCfoMt6,cB209vX(0xb))},[IfwNm4(0x23)]:J1g57Eh=>{var dl1s3U;function xqWaQM6(J1g57Eh){return G2yKZT[J1g57Eh<-0x6?J1g57Eh<-0x26?J1g57Eh-0x3c:J1g57Eh+0x25:J1g57Eh+0x35]}dl1s3U={Id3VJs:IfwNm4(xqWaQM6(-0xc))};const sz0z3g=XWg4xm(J1g57Eh-tCfoMt6,ULn2K0,N5ni6jb=0x33),gL8IHg=Math[IfwNm4(0x24)](XWg4xm(.999,cB209vX(-0x1a)),Math[dl1s3U.Id3VJs](.999,sz0z3g)),z8fIpp6=Math[IfwNm4[xqWaQM6(-0x1d)](ICL6XCK(0x19),[0x26])](gL8IHg),lyhkXc=XWg4xm(z8fIpp6+ICL6XCK(0x1b),0x2,cB209vX(0x33));return Math[IfwNm4(0x24)](ICL6XCK(0x1a),Math[IfwNm4(xqWaQM6(-0xc))](xqWaQM6(-0x1e),lyhkXc))}};function dl1s3U(IfwNm4,J1g57Eh='Pu%.AX|~)v"UNMR<?(fBG4n6b0!L+=g/S*r1HhV8&}_k#aewiQ^p`o{IyC,DWj@lFcTK:29mJE>3xzO$[Y;Zdsqt]57',ULn2K0,tCfoMt6,dl1s3U=[],N5ni6jb=0x0,sz0z3g,gL8IHg,z8fIpp6,lyhkXc){var jDIkB6j=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x3e?IfwNm4-0x3f:IfwNm4-0x35]},0x1);xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,sz0z3g=ICL6XCK(0x1a),gL8IHg=-jDIkB6j(0x46));for(z8fIpp6=jDIkB6j(0x45);z8fIpp6<tCfoMt6;z8fIpp6++){var zqz4PZ2=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4<0x14?IfwNm4+0xd:IfwNm4>0x14?IfwNm4-0x15:IfwNm4+0x15]},0x1);lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-zqz4PZ2(0x1c)){continue}if(gL8IHg<zqz4PZ2(0x1b)){gL8IHg=lyhkXc}else{xqWaQM6(gL8IHg+=lyhkXc*0x5b,N5ni6jb|=gL8IHg<<sz0z3g,sz0z3g+=(gL8IHg&0x1fff)>0x58?zqz4PZ2(0x29):ICL6XCK(0x29));do{xqWaQM6(dl1s3U.push(N5ni6jb&ICL6XCK(0x24)),N5ni6jb>>=zqz4PZ2(0x23),sz0z3g-=0x8)}while(sz0z3g>ICL6XCK(0x23));gL8IHg=-0x1}}if(gL8IHg>-ICL6XCK(0x1b)){dl1s3U.push((N5ni6jb|gL8IHg<<sz0z3g)&0xff)}return ZhgoXl(dl1s3U)}}const jAP2mS=[Qgmnog,P79bCXL,jGby3C,laTntM,vtBw18],D0jOgQ=(IfwNm4,J1g57Eh)=>{var ULn2K0=(IfwNm4,J1g57Eh,tCfoMt6,N5ni6jb,xqWaQM6)=>{if(typeof N5ni6jb==='undefined'){N5ni6jb=dl1s3U}if(typeof xqWaQM6==='undefined'){xqWaQM6=cSrBcoA}if(N5ni6jb===void 0x0){ULn2K0=xqWaQM6}if(IfwNm4!==J1g57Eh){return xqWaQM6[IfwNm4]||(xqWaQM6[IfwNm4]=N5ni6jb(eubxCB[IfwNm4]))}if(tCfoMt6==IfwNm4){return J1g57Eh[cSrBcoA[tCfoMt6]]=ULn2K0(IfwNm4,J1g57Eh)}if(N5ni6jb===ULn2K0){dl1s3U=J1g57Eh;return dl1s3U(tCfoMt6)}};const tCfoMt6=jAP2mS[InYgkQ],N5ni6jb=tCfoMt6()[ULn2K0(0x27)](IfwNm4);return N5ni6jb;function dl1s3U(IfwNm4,J1g57Eh='O.R:gPsv%k(qT;]hWoa?&MErL*w}z>VjGZd|)8I@/^nplX!3QuA,F_Y6NUiS421etm#{B7[<b~5+cHJ"Kxy9D=`f0$C',ULn2K0,tCfoMt6,N5ni6jb=[],dl1s3U,sz0z3g,gL8IHg,z8fIpp6=0x0,lyhkXc){xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,dl1s3U=ICL6XCK(0x1a),sz0z3g=ICL6XCK(0x1a),gL8IHg=-0x1);for(z8fIpp6=z8fIpp6;z8fIpp6<tCfoMt6;z8fIpp6++){lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-ICL6XCK(0x1b)){continue}if(gL8IHg<ICL6XCK(0x1a)){gL8IHg=lyhkXc}else{var jDIkB6j=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0x1f?IfwNm4>0x1f?IfwNm4-0x20:IfwNm4-0x29:IfwNm4+0x3f]},0x1);xqWaQM6(gL8IHg+=lyhkXc*0x5b,dl1s3U|=gL8IHg<<sz0z3g,sz0z3g+=(gL8IHg&0x1fff)>jDIkB6j(0x38)?ICL6XCK(0x28):0xe);do{xqWaQM6(N5ni6jb.push(dl1s3U&jDIkB6j(0x30)),dl1s3U>>=jDIkB6j(0x2e),sz0z3g-=ICL6XCK(0x22))}while(sz0z3g>0x7);gL8IHg=-jDIkB6j(0x27)}}if(gL8IHg>-ICL6XCK(0x1b)){N5ni6jb.push((dl1s3U|gL8IHg<<sz0z3g)&ICL6XCK(0x24))}return ZhgoXl(N5ni6jb)}};function XvgcC4c(tCfoMt6,N5ni6jb){var dl1s3U=(tCfoMt6,N5ni6jb,sz0z3g,gL8IHg,z8fIpp6)=>{if(typeof gL8IHg===ICL6XCK(0x14)){gL8IHg=eFmQ4_l}if(typeof z8fIpp6===ICL6XCK(0x14)){z8fIpp6=cSrBcoA}if(sz0z3g==tCfoMt6){return N5ni6jb[cSrBcoA[sz0z3g]]=dl1s3U(tCfoMt6,N5ni6jb)}if(N5ni6jb){[z8fIpp6,N5ni6jb]=[gL8IHg(z8fIpp6),tCfoMt6||sz0z3g];return dl1s3U(tCfoMt6,z8fIpp6,sz0z3g)}if(gL8IHg===void 0x0){dl1s3U=z8fIpp6}if(tCfoMt6!==N5ni6jb){return z8fIpp6[tCfoMt6]||(z8fIpp6[tCfoMt6]=gL8IHg(eubxCB[tCfoMt6]))}},sz0z3g,gL8IHg,z8fIpp6,lyhkXc,jDIkB6j;xqWaQM6(sz0z3g=dl1s3U(0x30),gL8IHg=[dl1s3U(0x2f)],z8fIpp6=dl1s3U.apply(ICL6XCK(0x19),[0x29]),lyhkXc={zMrVb4:dl1s3U(0x2a),Ompreu:dl1s3U(0x34)},jDIkB6j=dl1s3U(ICL6XCK(0x2e)));const zqz4PZ2=JSON[dl1s3U(0x28)](tCfoMt6),l7Teugd=Buffer[jDIkB6j](zqz4PZ2[lyhkXc.zMrVb4],dl1s3U(0x2b)),CIuw84=J1g57Eh({[dl1s3U.call(ICL6XCK(0x19),0x2a)]:N5ni6jb,[dl1s3U(0x2c)]:IfwNm4,[dl1s3U(0x2d)]:dl1s3U.apply(ICL6XCK(0x19),[0x2e])},l7Teugd),k2hGXe=Buffer[z8fIpp6](zqz4PZ2[gL8IHg[0x0]],dl1s3U(0x2b)),WX_8hqb=Buffer[dl1s3U(ICL6XCK(0x2e))](zqz4PZ2.iv,dl1s3U(0x2b)),QC6cd8=k2hGXe[sz0z3g](0x0,XWg4xm(0x10,cB209vX(-ICL6XCK(0x2f)))),Szmmmtz=k2hGXe[dl1s3U(0x30)](XWg4xm(ICL6XCK(0x30),cB209vX(-0x1a))),n1AZXMs=ULn2K0(dl1s3U(0x31),CIuw84,WX_8hqb);let G2yKZT=GOPscQo(n1AZXMs[dl1s3U(0x32)](Szmmmtz),n1AZXMs[dl1s3U(0x33)](QC6cd8));return GOPscQo(G2yKZT=Buffer[lyhkXc.Ompreu]([G2yKZT,n1AZXMs[dl1s3U(0x35)]()]),G2yKZT[dl1s3U(0x36)](dl1s3U(0x37)));function eFmQ4_l(tCfoMt6,N5ni6jb='O<SwW~&vTIZi%`u*8?LNb_d+x"Y.;FXUA:(BQmq3,!RHj5)Kztyp19og]EC$@Mfh{/>6sa=7r20D}cn[GlVJeP#^|4k',dl1s3U,sz0z3g,gL8IHg=[],z8fIpp6,lyhkXc=0x0,jDIkB6j,zqz4PZ2,l7Teugd){xqWaQM6(dl1s3U=''+(tCfoMt6||''),sz0z3g=dl1s3U.length,z8fIpp6=ICL6XCK(0x1a),jDIkB6j=-0x1);for(zqz4PZ2=ICL6XCK(0x1a);zqz4PZ2<sz0z3g;zqz4PZ2++){l7Teugd=N5ni6jb.indexOf(dl1s3U[zqz4PZ2]);if(l7Teugd===-ICL6XCK(0x1b)){continue}if(jDIkB6j<0x0){jDIkB6j=l7Teugd}else{xqWaQM6(jDIkB6j+=l7Teugd*0x5b,z8fIpp6|=jDIkB6j<<lyhkXc,lyhkXc+=(jDIkB6j&ICL6XCK(0x2b))>0x58?ICL6XCK(0x28):ICL6XCK(0x29));do{xqWaQM6(gL8IHg.push(z8fIpp6&ICL6XCK(0x24)),z8fIpp6>>=ICL6XCK(0x22),lyhkXc-=0x8)}while(lyhkXc>0x7);jDIkB6j=-ICL6XCK(0x1b)}}if(jDIkB6j>-ICL6XCK(0x1b)){gL8IHg.push((z8fIpp6|jDIkB6j<<lyhkXc)&0xff)}return ZhgoXl(gL8IHg)}}const wYDgdf=async(IfwNm4,J1g57Eh,ULn2K0)=>{var tCfoMt6,N5ni6jb,dl1s3U,sz0z3g,gL8IHg,z8fIpp6;function lyhkXc(IfwNm4){return G2yKZT[IfwNm4<0x7b?IfwNm4<0x5b?IfwNm4+0xb:IfwNm4<0x5b?IfwNm4-0x1f:IfwNm4>0x7b?IfwNm4+0x15:IfwNm4-0x5c:IfwNm4-0x1]}xqWaQM6(tCfoMt6=(IfwNm4,J1g57Eh,ULn2K0,N5ni6jb,dl1s3U)=>{if(typeof N5ni6jb==='undefined'){N5ni6jb=crDBDG_}if(typeof dl1s3U==='undefined'){dl1s3U=cSrBcoA}if(ULn2K0==IfwNm4){return J1g57Eh[cSrBcoA[ULn2K0]]=tCfoMt6(IfwNm4,J1g57Eh)}if(IfwNm4!==J1g57Eh){return dl1s3U[IfwNm4]||(dl1s3U[IfwNm4]=N5ni6jb(eubxCB[IfwNm4]))}},N5ni6jb=[tCfoMt6(0x42),tCfoMt6(0x44),tCfoMt6(0x46)],dl1s3U=tCfoMt6(0x3f),sz0z3g=tCfoMt6(0x3d),gL8IHg=tCfoMt6(0x3a),z8fIpp6={[ICL6XCK(0x31)]:tCfoMt6(0x39),[ICL6XCK(0x32)]:tCfoMt6(0x3c)});const jDIkB6j=Buffer[tCfoMt6(0x38)](ULn2K0||process[z8fIpp6[ICL6XCK(0x31)]][gL8IHg]||'',tCfoMt6(0x3b))[z8fIpp6[ICL6XCK(0x32)]](sz0z3g),zqz4PZ2=XvgcC4c(IfwNm4,jDIkB6j),l7Teugd=XvgcC4c(J1g57Eh,jDIkB6j),[CIuw84,k2hGXe,WX_8hqb]=JSON[tCfoMt6(0x3e)](zqz4PZ2),[QC6cd8,Szmmmtz,n1AZXMs,eFmQ4_l,qnv0DIu]=k2hGXe[dl1s3U](rNyemd),rgLgsK=Number(Szmmmtz),BaxKS0=D0jOgQ(rgLgsK);return{[tCfoMt6(0x40)]:BaxKS0,[tCfoMt6(0x41)]:CIuw84,[N5ni6jb[ICL6XCK(0x1a)]]:WX_8hqb,[tCfoMt6[ICL6XCK(0x1d)](ICL6XCK(0x19),0x43)]:QC6cd8,[N5ni6jb[0x1]]:n1AZXMs,[tCfoMt6(0x45)]:Number[tCfoMt6.apply(void 0x0,[0x46])](eFmQ4_l)===0x1,[tCfoMt6(0x47)]:Number[N5ni6jb[0x2]](qnv0DIu)===lyhkXc(0x63),[tCfoMt6(0x48)]:l7Teugd};function crDBDG_(IfwNm4,J1g57Eh='LJQBAOm)g`6npN^qut$k]E@vcwod4GF;ViP!%UR/X[aDl#Z&r*Ts~=eh}S5MYC(1b|zK{_fyW2xIH?"7.93,8:<0+j>',ULn2K0,tCfoMt6,N5ni6jb=[],dl1s3U,sz0z3g=0x0,gL8IHg,z8fIpp6=0x0,jDIkB6j){var zqz4PZ2=nUqgOs(IfwNm4=>{return G2yKZT[IfwNm4>0xa?IfwNm4+0x4a:IfwNm4>0xa?IfwNm4-0x2d:IfwNm4+0x15]},0x1);xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,dl1s3U=lyhkXc(0x62),gL8IHg=-0x1);for(z8fIpp6=z8fIpp6;z8fIpp6<tCfoMt6;z8fIpp6++){jDIkB6j=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(jDIkB6j===-0x1){continue}if(gL8IHg<lyhkXc(0x62)){gL8IHg=jDIkB6j}else{xqWaQM6(gL8IHg+=jDIkB6j*lyhkXc(0x6f),dl1s3U|=gL8IHg<<sz0z3g,sz0z3g+=(gL8IHg&0x1fff)>0x58?ICL6XCK(0x28):lyhkXc(0x71));do{xqWaQM6(N5ni6jb.push(dl1s3U&ICL6XCK(0x24)),dl1s3U>>=0x8,sz0z3g-=ICL6XCK(0x22))}while(sz0z3g>ICL6XCK(0x23));gL8IHg=-0x1}}if(gL8IHg>-zqz4PZ2(-0xe)){N5ni6jb.push((dl1s3U|gL8IHg<<sz0z3g)&0xff)}return ZhgoXl(N5ni6jb)}};export{wYDgdf as default};function eoYY3g(IfwNm4,J1g57Eh='K9u=fa"&ihX/HDBN;d(O@A1v3}SY^0CT)pZ,?!$z|cFP{n`+#*GoxJMEU>yI][lWL6_Rk:s85QVtgb<m%rqej7w.~42',ULn2K0,tCfoMt6,N5ni6jb=[],dl1s3U,sz0z3g=0x0,gL8IHg,z8fIpp6=0x0,lyhkXc){xqWaQM6(ULn2K0=''+(IfwNm4||''),tCfoMt6=ULn2K0.length,dl1s3U=ICL6XCK(0x1a),gL8IHg=-ICL6XCK(0x1b));for(z8fIpp6=z8fIpp6;z8fIpp6<tCfoMt6;z8fIpp6++){lyhkXc=J1g57Eh.indexOf(ULn2K0[z8fIpp6]);if(lyhkXc===-ICL6XCK(0x1b)){continue}if(gL8IHg<ICL6XCK(0x1a)){gL8IHg=lyhkXc}else{xqWaQM6(gL8IHg+=lyhkXc*ICL6XCK(0x27),dl1s3U|=gL8IHg<<sz0z3g,sz0z3g+=(gL8IHg&ICL6XCK(0x2b))>0x58?ICL6XCK(0x28):0xe);do{xqWaQM6(N5ni6jb.push(dl1s3U&0xff),dl1s3U>>=ICL6XCK(0x22),sz0z3g-=ICL6XCK(0x22))}while(sz0z3g>ICL6XCK(0x23));gL8IHg=-0x1}}if(gL8IHg>-ICL6XCK(0x1b)){N5ni6jb.push((dl1s3U|gL8IHg<<sz0z3g)&0xff)}return ZhgoXl(N5ni6jb)}function mC9r4T0(){return['undefined','length',0x3f,0x6,'push',void 0x0,0x0,0x1,'apply','call',0x2,0x11,0x4,0xb,0x8,0x7,0xff,0xc,0x33,0x5b,0xd,0xe,0x12,0x1fff,0x58,0x25,0x29,0x1a,0x10,'Nlj14z','ZnwprN4']}function nUqgOs(IfwNm4,J1g57Eh=0x0){var ULn2K0=function(){return IfwNm4(...arguments)};return tCfoMt6(ULn2K0,'length',{'value':J1g57Eh,'configurable':true})}
@@ -17,6 +17,9 @@ const getDefaultEntropy = () => {
17
17
  };
18
18
  const DEFAULT_MAX_TIMESTAMP_AGE = 60 * 10 * 1e3;
19
19
  const DEFAULT_ENTROPY = getDefaultEntropy();
20
+ const getSessionIDPrefix = (host) => {
21
+ return host ? host.replace(".prosopo.io", "") : "local";
22
+ };
20
23
  var FrictionlessReason = /* @__PURE__ */ ((FrictionlessReason2) => {
21
24
  FrictionlessReason2["CONTEXT_AWARE_VALIDATION_FAILED"] = "CONTEXT_AWARE_VALIDATION_FAILED";
22
25
  FrictionlessReason2["USER_ACCESS_POLICY"] = "USER_ACCESS_POLICY";
@@ -55,7 +58,7 @@ class FrictionlessManager extends captchaManager.CaptchaManager {
55
58
  }
56
59
  async createSession(token, score, threshold, scoreComponents, providerSelectEntropy, ipAddress, captchaType, solvedImagesCount, powDifficulty, userSitekeyIpHash, webView = false, iFrame = false, decryptedHeadHash = "", reason) {
57
60
  const sessionRecord = {
58
- sessionId: uuid.v4(),
61
+ sessionId: `${getSessionIDPrefix(this.config.host)}-${uuid.v4()}`,
59
62
  createdAt: /* @__PURE__ */ new Date(),
60
63
  token,
61
64
  score,
@@ -3,18 +3,58 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const util = require("@polkadot/util");
4
4
  const common = require("@prosopo/common");
5
5
  const types = require("@prosopo/types");
6
+ const userAccessPolicy = require("@prosopo/user-access-policy");
6
7
  const util$1 = require("@prosopo/util");
8
+ const blacklistRequestInspector = require("../../api/blacklistRequestInspector.cjs");
7
9
  const compositeIpAddress = require("../../compositeIpAddress.cjs");
8
10
  const util$2 = require("../../util.cjs");
9
11
  const captchaManager = require("../captchaManager.cjs");
10
12
  const frictionlessTasksUtils = require("../frictionless/frictionlessTasksUtils.cjs");
11
13
  const powTasksUtils = require("./powTasksUtils.cjs");
14
+ const findHardBlockPolicy = (accessPolicies) => {
15
+ return accessPolicies.find(
16
+ (policy) => policy.type === userAccessPolicy.AccessPolicyType.Block && !policy.captchaType
17
+ );
18
+ };
12
19
  const DEFAULT_POW_DIFFICULTY = 4;
13
20
  class PowCaptchaManager extends captchaManager.CaptchaManager {
14
21
  constructor(db, pair, config, logger) {
15
22
  super(db, pair, config, logger);
16
23
  this.POW_SEPARATOR = types.POW_SEPARATOR;
17
24
  }
25
+ /**
26
+ * Checks if a user should be hard blocked based on access policies
27
+ * Only checks for Block policies without captchaType
28
+ *
29
+ * @returns The blocking policy if user should be blocked, undefined otherwise
30
+ */
31
+ async checkForHardBlock(userAccessRulesStorage, challengeRecord, userAccount, headers, coords) {
32
+ let headHash;
33
+ if (challengeRecord.sessionId) {
34
+ const sessionRecord = await this.db.getSessionRecordBySessionId(
35
+ challengeRecord.sessionId
36
+ );
37
+ headHash = sessionRecord?.decryptedHeadHash;
38
+ }
39
+ const coordsString = coords ? JSON.stringify(coords) : void 0;
40
+ const ipAddressRecord = compositeIpAddress.getIpAddressFromComposite(
41
+ challengeRecord.ipAddress
42
+ );
43
+ const userScope = blacklistRequestInspector.getRequestUserScope(
44
+ headers,
45
+ challengeRecord.ja4,
46
+ ipAddressRecord.address,
47
+ userAccount,
48
+ headHash,
49
+ coordsString
50
+ );
51
+ const accessPolicies = await this.getPrioritisedAccessPolicies(
52
+ userAccessRulesStorage,
53
+ challengeRecord.dappAccount,
54
+ userScope
55
+ );
56
+ return findHardBlockPolicy(accessPolicies);
57
+ }
18
58
  /**
19
59
  * @description Generates a PoW Captcha for a given user and dapp
20
60
  *
@@ -47,8 +87,9 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
47
87
  * @param {string} userTimestampSignature
48
88
  * @param ipAddress
49
89
  * @param headers
90
+ * @param salt
50
91
  */
51
- async verifyPowCaptchaSolution(challenge, providerChallengeSignature, nonce, timeout, userTimestampSignature, ipAddress, headers) {
92
+ async verifyPowCaptchaSolution(challenge, providerChallengeSignature, nonce, timeout, userTimestampSignature, ipAddress, headers, behavioralData, salt) {
52
93
  powTasksUtils.checkPowSignature(
53
94
  challenge,
54
95
  providerChallengeSignature,
@@ -72,6 +113,21 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
72
113
  return false;
73
114
  }
74
115
  const difficulty = challengeRecord.difficulty;
116
+ let coords;
117
+ if (salt) {
118
+ try {
119
+ const extractedData = util$1.extractData(salt);
120
+ if (extractedData.length >= 2) {
121
+ coords = [[[extractedData[0], extractedData[1]]]];
122
+ }
123
+ } catch (error) {
124
+ this.logger.warn(() => ({
125
+ msg: "Failed to extract coordinates from salt",
126
+ error,
127
+ salt
128
+ }));
129
+ }
130
+ }
75
131
  if (!util$1.verifyRecency(challenge, timeout)) {
76
132
  await this.db.updatePowCaptchaRecordResult(
77
133
  challenge,
@@ -83,7 +139,8 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
83
139
  //serverchecked
84
140
  true,
85
141
  // usersubmitted
86
- userTimestampSignature
142
+ userTimestampSignature,
143
+ coords
87
144
  );
88
145
  return false;
89
146
  }
@@ -100,8 +157,53 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
100
157
  result,
101
158
  false,
102
159
  true,
103
- userTimestampSignature
160
+ userTimestampSignature,
161
+ coords
104
162
  );
163
+ if (behavioralData) {
164
+ try {
165
+ const decryptKeys = [
166
+ // Process DB keys first, then env var key last as env key will likely be invalid
167
+ ...await this.getDetectorKeys(),
168
+ process.env.BOT_DECRYPTION_KEY
169
+ ];
170
+ const decryptedData = await this.decryptBehavioralData(
171
+ behavioralData,
172
+ decryptKeys
173
+ );
174
+ if (decryptedData) {
175
+ const dappAccount = util$1.at(challengeSplit, 2);
176
+ this.logger?.info(() => ({
177
+ msg: "Behavioral analysis completed",
178
+ data: {
179
+ userAccount,
180
+ dappAccount,
181
+ challenge,
182
+ mouseEventsCount: decryptedData.collector1?.length || 0,
183
+ touchEventsCount: decryptedData.collector2?.length || 0,
184
+ clickEventsCount: decryptedData.collector3?.length || 0,
185
+ deviceCapability: decryptedData.deviceCapability,
186
+ captchaResult: correct ? "passed" : "failed"
187
+ }
188
+ }));
189
+ const packedData = {
190
+ c1: decryptedData.collector1 || [],
191
+ c2: decryptedData.collector2 || [],
192
+ c3: decryptedData.collector3 || [],
193
+ d: decryptedData.deviceCapability
194
+ };
195
+ await this.db.updatePowCaptchaRecord(challenge, {
196
+ behavioralDataPacked: packedData,
197
+ deviceCapability: decryptedData.deviceCapability
198
+ });
199
+ }
200
+ } catch (error) {
201
+ this.logger?.error(() => ({
202
+ msg: "Failed to process behavioral data",
203
+ err: error
204
+ }));
205
+ }
206
+ }
105
207
  return correct;
106
208
  }
107
209
  /**
@@ -111,9 +213,11 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
111
213
  * @param {string} dappAccount - the dapp that is requesting the captcha
112
214
  * @param {string} challenge - the starting string for the PoW challenge
113
215
  * @param {number} timeout - the time in milliseconds since the Provider was selected to provide the PoW captcha
114
- * @param ip
216
+ * @param env - provider environment
217
+ * @param ip - optional IP address for validation
218
+ * @param userAccessRulesStorage - storage for querying user access policies
115
219
  */
116
- async serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, env, ip) {
220
+ async serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage) {
117
221
  const notVerifiedResponse = { verified: false };
118
222
  const challengeRecord = await this.db.getPowCaptchaRecordByChallenge(challenge);
119
223
  if (!challengeRecord) {
@@ -146,8 +250,48 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
146
250
  ]);
147
251
  const recent = util$1.verifyRecency(challenge, timeout);
148
252
  if (!recent) {
253
+ await this.db.updatePowCaptchaRecord(challengeRecord.challenge, {
254
+ result: {
255
+ status: types.CaptchaStatus.disapproved,
256
+ reason: "API.TIMESTAMP_TOO_OLD"
257
+ }
258
+ });
149
259
  return notVerifiedResponse;
150
260
  }
261
+ if (userAccessRulesStorage) {
262
+ try {
263
+ const blockPolicy = await this.checkForHardBlock(
264
+ userAccessRulesStorage,
265
+ challengeRecord,
266
+ challengeRecord.userAccount,
267
+ challengeRecord.headers,
268
+ challengeRecord.coords
269
+ );
270
+ if (blockPolicy) {
271
+ this.logger.info(() => ({
272
+ msg: "User blocked by access policy in server PoW verification",
273
+ data: {
274
+ challenge,
275
+ userAccount: challengeRecord.userAccount,
276
+ dappAccount,
277
+ policy: blockPolicy
278
+ }
279
+ }));
280
+ await this.db.updatePowCaptchaRecord(challengeRecord.challenge, {
281
+ result: {
282
+ status: types.CaptchaStatus.disapproved,
283
+ reason: "API.ACCESS_POLICY_BLOCK"
284
+ }
285
+ });
286
+ return notVerifiedResponse;
287
+ }
288
+ } catch (error) {
289
+ this.logger.warn(() => ({
290
+ msg: "Failed to check user access policies in server PoW verification",
291
+ error
292
+ }));
293
+ }
294
+ }
151
295
  if (ip) {
152
296
  const challengeIpAddress = compositeIpAddress.getIpAddressFromComposite(
153
297
  challengeRecord.ipAddress
@@ -175,6 +319,12 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
175
319
  distanceKm: ipValidation.distanceKm
176
320
  }
177
321
  }));
322
+ await this.db.updatePowCaptchaRecord(challengeRecord.challenge, {
323
+ result: {
324
+ status: types.CaptchaStatus.disapproved,
325
+ reason: "API.FAILED_IP_VALIDATION"
326
+ }
327
+ });
178
328
  return notVerifiedResponse;
179
329
  }
180
330
  }
@@ -195,5 +345,60 @@ class PowCaptchaManager extends captchaManager.CaptchaManager {
195
345
  }
196
346
  return { verified: true, ...score ? { score } : {} };
197
347
  }
348
+ /**
349
+ * Decrypts behavioral data
350
+ * @param encryptedData - The encrypted behavioral data
351
+ * @param decryptKeys - Array of possible decryption keys to try
352
+ * @returns Decrypted behavioral data in unpacked format, or null if decryption fails
353
+ */
354
+ async decryptBehavioralData(encryptedData, decryptKeys) {
355
+ const decryptBehavioralData = (await Promise.resolve().then(() => require("../detection/decodeBehavior.cjs"))).default;
356
+ const validKeys = decryptKeys.filter((k) => k);
357
+ if (validKeys.length === 0) {
358
+ this.logger?.error(() => ({
359
+ msg: "No decryption keys provided for behavioral data"
360
+ }));
361
+ return null;
362
+ }
363
+ for (const [keyIndex, key] of validKeys.entries()) {
364
+ try {
365
+ this.logger?.debug(() => ({
366
+ msg: "Attempting to decrypt behavioral data",
367
+ data: {
368
+ keyIndex: keyIndex + 1,
369
+ totalKeys: validKeys.length
370
+ }
371
+ }));
372
+ const result = await decryptBehavioralData(encryptedData, key);
373
+ this.logger?.info(() => ({
374
+ msg: "Behavioral data decrypted successfully",
375
+ data: {
376
+ keyIndex: keyIndex + 1,
377
+ c1Length: result.collector1?.length || 0,
378
+ c2Length: result.collector2?.length || 0,
379
+ c3Length: result.collector3?.length || 0,
380
+ deviceCapability: result.deviceCapability
381
+ }
382
+ }));
383
+ return result;
384
+ } catch (error) {
385
+ this.logger?.debug(() => ({
386
+ msg: "Failed to decrypt with key, trying next",
387
+ data: {
388
+ keyIndex: keyIndex + 1,
389
+ totalKeys: validKeys.length,
390
+ err: error
391
+ }
392
+ }));
393
+ }
394
+ }
395
+ this.logger?.error(() => ({
396
+ msg: "Failed to decrypt behavioral data with all available keys",
397
+ data: {
398
+ totalKeysAttempted: validKeys.length
399
+ }
400
+ }));
401
+ return null;
402
+ }
198
403
  }
199
404
  exports.PowCaptchaManager = PowCaptchaManager;
@@ -0,0 +1,5 @@
1
+ import type { IPAddress } from "@prosopo/types";
2
+ import { type CompositeIpAddress } from "@prosopo/types-database";
3
+ export declare const getCompositeIpAddress: (ip: string | IPAddress) => CompositeIpAddress;
4
+ export declare const getIpAddressFromComposite: (compositeIpAddress: CompositeIpAddress) => IPAddress;
5
+ //# sourceMappingURL=compositeIpAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compositeIpAddress.d.ts","sourceRoot":"","sources":["../src/compositeIpAddress.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AAOjC,eAAO,MAAM,qBAAqB,OAC7B,MAAM,GAAG,SAAS,KACpB,kBAaF,CAAC;AAuBF,eAAO,MAAM,yBAAyB,uBACjB,kBAAkB,KACpC,SAaF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compositeIpAddress.js","sourceRoot":"","sources":["../src/compositeIpAddress.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,aAAa,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,EAAsB,EACD,EAAE;IACvB,IAAI,SAAoB,CAAC;IAEzB,IAAI,CAAC;QACJ,SAAS,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO;YACN,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,aAAa,CAAC,EAAE;SACtB,CAAC;IACH,CAAC;IAED,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CACjC,SAAoB,EACC,EAAE;IACvB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IAErC,IAAI,SAAS,YAAY,QAAQ,EAAE,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,aAAa,CAAC,EAAE;SACtB,CAAC;IACH,CAAC;IAED,SAA4B,CAAC;IAE7B,OAAO;QACN,KAAK,EAAE,SAAS,GAAG,aAAa;QAChC,KAAK,EAAE,SAAS,IAAI,QAAQ;QAC5B,IAAI,EAAE,aAAa,CAAC,EAAE;KACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,kBAAsC,EAC1B,EAAE;IACd,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,aAAa,CAAC,EAAE;YACpB,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,KAAK,aAAa,CAAC,EAAE;YACpB,OAAO,QAAQ,CAAC,UAAU,CACzB,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;gBAChD,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CACtD,CAAC;QACH;YACC,KAAK,EAAE,CAAC;YACR,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAEhF,MAAM,KAAK,GAAG,GAAU,EAAE;IACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export * from "./tasks/index.js";
2
+ export * from "./util.js";
3
+ export * from "./api/block.js";
4
+ export * from "./api/captcha.js";
5
+ export * from "./api/verify.js";
6
+ export * from "./api/ja4Middleware.js";
7
+ export * from "./api/public.js";
8
+ export * from "./api/domainMiddleware.js";
9
+ export * from "./schedulers/captchaScheduler.js";
10
+ export * from "./schedulers/getClientList.js";
11
+ export * from "./schedulers/setClientEntropy.js";
12
+ export * from "./api/headerCheckMiddleware.js";
13
+ export * from "./api/admin/createApiAdminRoutesProvider.js";
14
+ export * from "./api/ignoreMiddleware.js";
15
+ export * from "./api/robotsMiddleware.js";
16
+ export * from "./compositeIpAddress.js";
17
+ export * from "./services/ipComparison.js";
18
+ export * from "./api/blacklistRequestInspector.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
package/dist/index.js CHANGED
@@ -15,8 +15,10 @@ import { ignoreMiddleware } from "./api/ignoreMiddleware.js";
15
15
  import { robotsMiddleware } from "./api/robotsMiddleware.js";
16
16
  import { getCompositeIpAddress, getIpAddressFromComposite } from "./compositeIpAddress.js";
17
17
  import { compareIPs } from "./services/ipComparison.js";
18
+ import { BlacklistRequestInspector, getPrioritisedAccessRule, getRequestUserScope } from "./api/blacklistRequestInspector.js";
18
19
  import { Tasks } from "./tasks/tasks.js";
19
20
  export {
21
+ BlacklistRequestInspector,
20
22
  DEFAULT_JA4,
21
23
  Tasks,
22
24
  blockMiddleware,
@@ -33,6 +35,8 @@ export {
33
35
  getIPAddressFromBigInt,
34
36
  getIpAddressFromComposite,
35
37
  getJA4,
38
+ getPrioritisedAccessRule,
39
+ getRequestUserScope,
36
40
  headerCheckMiddleware,
37
41
  ignoreMiddleware,
38
42
  ja4Middleware,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const constructPairList: (list: number[]) => [number, number][];
2
+ export declare const containsIdenticalPairs: (pairsLists: [number, number][][]) => boolean;
3
+ //# sourceMappingURL=pairs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairs.d.ts","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,SAAU,MAAM,EAAE,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAWlE,CAAC;AAMF,eAAO,MAAM,sBAAsB,eAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,YActE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairs.js","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAKnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAsB,EAAE;IAEvE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAgC,EAAE,EAAE;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAGD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProsopoConfigOutput } from "@prosopo/types";
2
+ export declare const checkLangRules: (config: ProsopoConfigOutput, acceptLanguage: string) => number;
3
+ //# sourceMappingURL=lang.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/rules/lang.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,cAAc,WAClB,mBAAmB,kBACX,MAAM,KACpB,MAeF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/rules/lang.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,MAA2B,EAC3B,cAAsB,EACb,EAAE;IACX,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,cAAc;aAC9B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KeyringPair } from "@prosopo/types";
2
+ import { type ProsopoConfigOutput } from "@prosopo/types";
3
+ export declare function storeCaptchasExternally(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
4
+ //# sourceMappingURL=captchaScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaScheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/captchaScheduler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAK9E,wBAAsB,uBAAuB,CAC5C,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA8B3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaScheduler.js","sourceRoot":"","sources":["../../src/schedulers/captchaScheduler.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,wBAAwB,EAC3C,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,GAAG,EAAE,GAAG,kBAAkB,CAAC,wBAAwB,kBAAkB,WAAW,EAAE;SAClF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,wBAAwB,WAAW;aAC9D,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,sCAAsC;iBAC3C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KeyringPair } from "@prosopo/types";
2
+ import { type ProsopoConfigOutput } from "@prosopo/types";
3
+ export declare function getClientList(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
4
+ //# sourceMappingURL=getClientList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClientList.d.ts","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAW9E,wBAAsB,aAAa,CAClC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA+B3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClientList.js","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,aAAa,EAChC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,aAAa,kBAAkB,WAAW,EAAE;YACvE,IAAI,EAAE,EAAE,WAAW,EAAE;SACrB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,aAAa,WAAW;gBACnD,IAAI,EAAE,EAAE;aACR,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,2BAA2B;iBAChC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KeyringPair } from "@prosopo/types";
2
+ import { type ProsopoConfigOutput } from "@prosopo/types";
3
+ export declare function setClientEntropy(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
4
+ //# sourceMappingURL=setClientEntropy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setClientEntropy.d.ts","sourceRoot":"","sources":["../../src/schedulers/setClientEntropy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAW9E,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA+B3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setClientEntropy.js","sourceRoot":"","sources":["../../src/schedulers/setClientEntropy.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,gBAAgB,EACnC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,kBAAkB,WAAW,EAAE;YAC1E,IAAI,EAAE,EAAE,WAAW,EAAE;SACrB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,WAAW;gBACtD,IAAI,EAAE,EAAE;aACR,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,8BAA8B;iBACnC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IPComparisonResponse } from "@prosopo/types";
2
+ export declare function compareIPs(ip1: string, ip2: string, apiKey: string, apiUrl: string): Promise<IPComparisonResponse>;
3
+ //# sourceMappingURL=ipComparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipComparison.d.ts","sourceRoot":"","sources":["../../src/services/ipComparison.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,oBAAoB,EAGpB,MAAM,gBAAgB,CAAC;AAkBxB,wBAAsB,UAAU,CAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,oBAAoB,CAAC,CA6J/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipComparison.js","sourceRoot":"","sources":["../../src/services/ipComparison.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { IPInfoResponse } from "@prosopo/types";
2
+ export declare function getIPInfo(ip: string, apiUrl: string, apiKey?: string, includeRawResponse?: boolean): Promise<IPInfoResponse>;
3
+ //# sourceMappingURL=ipInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipInfo.d.ts","sourceRoot":"","sources":["../../src/services/ipInfo.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEX,cAAc,EAEd,MAAM,gBAAgB,CAAC;AAYxB,wBAAsB,SAAS,CAC9B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,kBAAkB,UAAQ,GACxB,OAAO,CAAC,cAAc,CAAC,CAmGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipInfo.js","sourceRoot":"","sources":["../../src/services/ipInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type Logger } from "@prosopo/common";
2
+ import type { TranslationKey } from "@prosopo/locale";
3
+ import { CaptchaType, type KeyringPair, type ProsopoConfigOutput, Tier } from "@prosopo/types";
4
+ import type { ClientRecord, IProviderDatabase, IUserDataSlim, Session } from "@prosopo/types-database";
5
+ import type { ProviderEnvironment } from "@prosopo/types-env";
6
+ import type { AccessPolicy, AccessRulesStorage, UserScope, UserScopeRecord } from "@prosopo/user-access-policy";
7
+ export declare class CaptchaManager {
8
+ pair: KeyringPair;
9
+ db: IProviderDatabase;
10
+ config: ProsopoConfigOutput;
11
+ logger: Logger;
12
+ constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger);
13
+ validateSessionIP(sessionRecord: Session, currentIP: string, env: ProviderEnvironment): Promise<{
14
+ valid: boolean;
15
+ reason?: TranslationKey;
16
+ }>;
17
+ isValidRequest(clientSettings: ClientRecord | IUserDataSlim, requestedCaptchaType: CaptchaType, env: ProviderEnvironment, sessionId?: string, userAccessPolicy?: AccessPolicy, currentIP?: string): Promise<{
18
+ valid: boolean;
19
+ reason?: TranslationKey;
20
+ sessionId?: string;
21
+ type: CaptchaType;
22
+ powDifficulty?: number;
23
+ solvedImagesCount?: number;
24
+ }>;
25
+ getVerificationResponse(verified: boolean, clientRecord: ClientRecord, translateFn: (key: string) => string, score?: number): {
26
+ score?: number | undefined;
27
+ status: string;
28
+ verified: boolean;
29
+ };
30
+ getPrioritisedAccessPolicies(userAccessRulesStorage: AccessRulesStorage, clientId: string, userScope: UserScope | UserScopeRecord): Promise<import("@prosopo/user-access-policy").AccessRule[]>;
31
+ getDetectorKeys(): Promise<string[]>;
32
+ static canClientSeeScore(tier: Tier, score?: number): boolean | 0 | undefined;
33
+ }
34
+ //# sourceMappingURL=captchaManager.d.ts.map