@prosopo/provider 4.15.16 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +103 -102
- package/.turbo/turbo-build$colon$tsc.log +24 -24
- package/.turbo/turbo-build.log +103 -102
- package/CHANGELOG.md +108 -0
- package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -1
- package/dist/api/admin/apiAdminRoutesProvider.js +3 -5
- package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -1
- package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts +11 -0
- package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js +56 -0
- package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js.map +1 -0
- package/dist/api/captcha/assignDetectorBundle.d.ts +6 -0
- package/dist/api/captcha/assignDetectorBundle.d.ts.map +1 -0
- package/dist/api/captcha/assignDetectorBundle.js +51 -0
- package/dist/api/captcha/assignDetectorBundle.js.map +1 -0
- package/dist/api/captcha/assignDetectorBundle.test.d.ts +2 -0
- package/dist/api/captcha/assignDetectorBundle.test.d.ts.map +1 -0
- package/dist/api/captcha/assignDetectorBundle.test.js +71 -0
- package/dist/api/captcha/assignDetectorBundle.test.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +21 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +3 -3
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +13 -7
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts +3 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +52 -18
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts +2 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js +86 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js.map +1 -0
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js +2 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js +2 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +2 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +6 -0
- package/dist/api/captcha.js.map +1 -1
- package/dist/api/startProviderApi.d.ts.map +1 -1
- package/dist/api/startProviderApi.js +21 -3
- package/dist/api/startProviderApi.js.map +1 -1
- package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +3 -5
- package/dist/cjs/api/admin/apiReplaceDetectorPoolEndpoint.cjs +56 -0
- package/dist/cjs/api/captcha/assignDetectorBundle.cjs +51 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +21 -2
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +3 -3
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +12 -6
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +52 -17
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -1
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +2 -1
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +2 -1
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +1 -1
- package/dist/cjs/api/captcha.cjs +6 -0
- package/dist/cjs/api/startProviderApi.cjs +24 -5
- package/dist/cjs/tasks/captchaManager.cjs +76 -59
- package/dist/cjs/tasks/client/clientTasks.cjs +1 -29
- package/dist/cjs/tasks/detection/bundlePool.cjs +220 -0
- package/dist/cjs/tasks/detection/decodeBehavior.cjs +644 -362
- package/dist/cjs/tasks/detection/decodeBehavior.js +1 -1
- package/dist/cjs/tasks/detection/decodePayload.cjs +956 -617
- package/dist/cjs/tasks/detection/decodePayload.js +1 -1
- package/dist/cjs/tasks/detection/decodeSimd.cjs +723 -411
- package/dist/cjs/tasks/detection/decodeSimd.js +1 -1
- package/dist/cjs/tasks/detection/getBotScore.cjs +2 -2
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +35 -12
- package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +1 -2
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +6 -6
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +2 -2
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +2 -2
- package/dist/tasks/captchaManager.d.ts +12 -4
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +76 -59
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/client/clientTasks.d.ts +0 -2
- package/dist/tasks/client/clientTasks.d.ts.map +1 -1
- package/dist/tasks/client/clientTasks.js +1 -29
- package/dist/tasks/client/clientTasks.js.map +1 -1
- package/dist/tasks/detection/bundlePool.d.ts +32 -0
- package/dist/tasks/detection/bundlePool.d.ts.map +1 -0
- package/dist/tasks/detection/bundlePool.js +215 -0
- package/dist/tasks/detection/bundlePool.js.map +1 -0
- package/dist/tasks/detection/bundlePool.test.d.ts +2 -0
- package/dist/tasks/detection/bundlePool.test.d.ts.map +1 -0
- package/dist/tasks/detection/bundlePool.test.js +178 -0
- package/dist/tasks/detection/bundlePool.test.js.map +1 -0
- package/dist/tasks/detection/decodeBehavior.d.ts +2 -2
- package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -1
- package/dist/tasks/detection/decodeBehavior.js +1 -1
- package/dist/tasks/detection/decodeBehavior.js.map +1 -1
- package/dist/tasks/detection/decodePayload.d.ts +2 -2
- package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
- package/dist/tasks/detection/decodePayload.js +1 -1
- package/dist/tasks/detection/decodePayload.js.map +1 -1
- package/dist/tasks/detection/decodeSimd.d.ts +2 -2
- package/dist/tasks/detection/decodeSimd.d.ts.map +1 -1
- package/dist/tasks/detection/decodeSimd.js +1 -1
- package/dist/tasks/detection/decodeSimd.js.map +1 -1
- package/dist/tasks/detection/getBotScore.d.ts +1 -1
- package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
- package/dist/tasks/detection/getBotScore.js +3 -3
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +10 -2
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +35 -12
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +1 -1
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasksUtils.js +1 -2
- package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +6 -6
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +2 -2
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +2 -2
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/maintenanceModeAdmin.integration.test.js +0 -28
- package/dist/tests/integration/maintenanceModeAdmin.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/adminRoutes.unit.test.js +0 -46
- package/dist/tests/unit/api/adminRoutes.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +51 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js +12 -12
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js.map +1 -1
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +15 -1
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +14 -30
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +3 -3
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +25 -7
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -1
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +6 -14
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +0 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +0 -2
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -1
- package/fixtures/detector-pool/bundle-0.js +15 -0
- package/fixtures/detector-pool/bundle-0.json +1 -0
- package/package.json +14 -14
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -23
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +0 -32
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +0 -39
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
- package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +0 -32
- package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +0 -39
- package/dist/tasks/detection/getBehavioralData.d.ts +0 -4
- package/dist/tasks/detection/getBehavioralData.d.ts.map +0 -1
- package/dist/tasks/detection/getBehavioralData.js +0 -51
- package/dist/tasks/detection/getBehavioralData.js.map +0 -1
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts +0 -2
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js +0 -57
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js.map +0 -1
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts +0 -2
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js +0 -60
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js.map +0 -1
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +0 -2
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +0 -109
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"privateKey":"LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRREtOVndQZU9RUTBHUTMKWlB2TWN1ZWlnYllPZUFZKzNETWdFcm9oNlRaektnU3UxK1o2TWRqMjlERVJzcHpPQjlzYkhtUHpLYjdCYUJqWAo0RWRuanVWU2xtUEtucmpqQ3JTKzhacDZrRDNpOEFWQVk1RWhKVkkvMmdXSU9rc01jOGRPVzViaUtnL2dLMWUxCjJ3NlRSbFozdm9pUlZxYWhOT3pzSzNWVGJMaVo5ZHlrb2plNDJCQ3JCRGpILzNqRjVTekx5RjFXZ05KSmpFUkkKbDJ3SzBNUUxpUUZoeWxIdmN0WlRVekJzd0JGUnhFTGZDb3Z5R1NZbGdyMTJDaUVFQ3QzS2FNMGZuZkJPeVgxeQpTdDZPQlNYcDZGN1JZL3NvbkNMb3hDcTBPTmRLdlloR1BQdFd2cWdKNkl2UDNVbnhNTHI5ZlZSN25mSGFqVjRsCnFrTkdTbERkQWdNQkFBRUNnZ0VBVXRTMDEybXdFdXNxZ2o2Tm50eGE0b2k3NlFWbG1ZNWVLdjlBMis5S2JMYUQKb0pPMFI4M3ZrSW5MSi9MQXBPMDI1YzczSm42dE0xRFBERzlGRUxqS1c2QmJWSDdjUWJUN0FWUzY4UVh4TStzYQpXNXZ0c1dRMll3Mk9RcFdPZEpWZ3lVcGZibG5Ja3cxdUtvS0hYL0RxTHJjUC9taytiTDdmWm9jTzBwT3dzdS8yCjJFRSt3Y3ZGKzh0eDVkL3VlM3E0Q2h2NXk4R3B1MGNlU01ObnYydE9adisvVGNPWnorZnppbENoQy8wU01nRWkKNVQ0eGwxQ0E5V2tpTFpJbm1DV3FGTktVZm1wU2ZnTzkwa2pVZ0xrK1k3eUlpNUhjcW51TU9GT3ZnOW5CUzR6dQpyd0JRMnh1Z3oxOUpFMGtjd3JjVDVBTlQvT1ZTYlh2NFlRaStiOU5PQ1FLQmdRRDNnV3BMYktNUi9DZVVwQnc5CmJ0Z1BwSTZ5KzF3QlRjTC9MdDFJTTlweWNULzdMeDlVVmJCakQ3UEVqMG5acjZaQUZFY3NVaVhSNVJhWlZqVUcKYTU3c1d2aHdRYzJWSG1pcnFBYTdOM0VseDZ0WjhiajlFamIvbE1FcnZndnRyVjhwSVR3NFNBNUNoaVBQTWpQNwp3VUVmNTFkT0FDU2dOQmVYdUN2bk9Pczdud0tCZ1FEUkpmYkRxam5EMEExYWRCWC9VNjdpanBNcmlCQWIrOVhYCnBoMytxVGZVOTBjVGRScnlIOGRxQitoUjA0WTNmVkN0Q3Jncm85STN6Q1FoVUdldG5kaFlQeFh6UE5jeHZpeWsKQ1dnUHl6NE5lWUI1SFcvN2VLdHk1WXlQMnFTT3lGcXJaTjFkdkJXdjloVm43by9ZSGFEdDJQUnJjaXhvdUNlagp0U0txN1hLaUF3S0JnRWM2NG9sMGFYWHFtTVdKZVdzZ3RHUEVHeUZkZjd3TVVoczR0SXhzQitrNXVJMGtvYUtXCnlwMm56amU2ZVNtQ0NKbVdmR2svOXd4eUhzL2daSUJGaHNaRTVBMENreFRnWElWU1pTV0tMakVPUnIwcStPODAKUjhuRVdOZXE2U25zNUY4azVuellGK3FEU2xqOS9NSHVlenlnU3ByekpaZEpocVN1WjB3ek1GZkhBb0dBYm10RQpwSGl5bHBhNDloQmpyTEZabTNMNmIva2R5Q2hrOWIxV0NLVCtQUWx3Rk8yMmxDNEM4Zy9LcjZpbEs1YVZpVVluCmhhS3YwWldOWGFrOWs0UEtQSXpSNGVFMUc2WHptNGI3MFpyVDMvbE53cU93QTJ2cDJIY29ocXBBUnNHd1hOeWIKb21reWFmdlp3VTFKMUNlUVZ3STd5SjQyby9MVnVyQmU1UzhIWGxFQ2dZRUFrSzA4dFhYMEpJakRLTmQyRW1UdApCZ2FtcW9ueTY3UlRrcmxSYk1XRWlHVUsrakZSRHdDa2tqQyttQ2ZLb0ZPTy9MRjF5aTdyeEozcHJNcXdmNlU2CkJ5bVcyb0FNNUdRcmd0SEFRRmVNeWNHa21naGpUWXZoKy9iZU51d2VYRzZsMmlRdXVkSVZxcThINThHUkV4OHgKVEkyeWpvMTBWUGN0RjVQK3FUbkJNNWc9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K","innerConfig":"FPpKnA0X10mkYihXjAoliLFnqvz3U+/I3XFjvoyrdZq7cHIyLBHx3ZlIr5oaVO8Izg=="}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/provider",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -23,23 +23,23 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@noble/hashes": "1.8.0",
|
|
25
25
|
"@polkadot/util": "13.5.7",
|
|
26
|
-
"@prosopo/api": "
|
|
27
|
-
"@prosopo/api-express-router": "3.1.
|
|
26
|
+
"@prosopo/api": "4.0.0",
|
|
27
|
+
"@prosopo/api-express-router": "3.1.54",
|
|
28
28
|
"@prosopo/api-route": "2.6.53",
|
|
29
29
|
"@prosopo/common": "3.1.48",
|
|
30
30
|
"@prosopo/logger": "2.0.4",
|
|
31
|
-
"@prosopo/database": "
|
|
32
|
-
"@prosopo/datasets": "3.1.
|
|
33
|
-
"@prosopo/env": "3.6.
|
|
34
|
-
"@prosopo/ipinfo": "0.3.
|
|
35
|
-
"@prosopo/keyring": "2.9.
|
|
36
|
-
"@prosopo/load-balancer": "2.10.
|
|
31
|
+
"@prosopo/database": "4.0.0",
|
|
32
|
+
"@prosopo/datasets": "3.1.56",
|
|
33
|
+
"@prosopo/env": "3.6.23",
|
|
34
|
+
"@prosopo/ipinfo": "0.3.1",
|
|
35
|
+
"@prosopo/keyring": "2.9.63",
|
|
36
|
+
"@prosopo/load-balancer": "2.10.17",
|
|
37
37
|
"@prosopo/redis-client": "1.0.30",
|
|
38
38
|
"@prosopo/locale": "3.2.8",
|
|
39
|
-
"@prosopo/types": "
|
|
40
|
-
"@prosopo/types-database": "
|
|
41
|
-
"@prosopo/types-env": "2.10.
|
|
42
|
-
"@prosopo/user-access-policy": "3.12.
|
|
39
|
+
"@prosopo/types": "5.0.0",
|
|
40
|
+
"@prosopo/types-database": "5.0.0",
|
|
41
|
+
"@prosopo/types-env": "2.10.20",
|
|
42
|
+
"@prosopo/user-access-policy": "3.12.11",
|
|
43
43
|
"@prosopo/util": "3.3.5",
|
|
44
44
|
"@prosopo/util-crypto": "13.5.30",
|
|
45
45
|
"cron": "3.1.7",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"zod": "3.23.8"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@prosopo/config": "3.3.
|
|
57
|
+
"@prosopo/config": "3.3.6",
|
|
58
58
|
"@types/node": "22.5.5",
|
|
59
59
|
"@types/pg": "8.16.0",
|
|
60
60
|
"@types/uuid": "10.0.0",
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import { type Logger } from "@prosopo/logger";
|
|
3
|
-
import { RemoveDetectorKeyBodySpec } from "@prosopo/types";
|
|
4
|
-
import type { z } from "zod";
|
|
5
|
-
import type { ClientTaskManager } from "../../tasks/client/clientTasks.js";
|
|
6
|
-
type RemoveDetectorKeyBodyType = typeof RemoveDetectorKeyBodySpec;
|
|
7
|
-
declare class ApiRemoveDetectorKeyEndpoint implements ApiEndpoint<RemoveDetectorKeyBodyType> {
|
|
8
|
-
private readonly clientTaskManager;
|
|
9
|
-
constructor(clientTaskManager: ClientTaskManager);
|
|
10
|
-
processRequest(args: z.infer<RemoveDetectorKeyBodyType>, logger?: Logger): Promise<ApiEndpointResponse>;
|
|
11
|
-
getRequestArgsSchema(): z.ZodObject<{
|
|
12
|
-
detectorKey: z.ZodString;
|
|
13
|
-
expirationInSeconds: z.ZodOptional<z.ZodNumber>;
|
|
14
|
-
}, "strip", z.ZodTypeAny, {
|
|
15
|
-
detectorKey: string;
|
|
16
|
-
expirationInSeconds?: number | undefined;
|
|
17
|
-
}, {
|
|
18
|
-
detectorKey: string;
|
|
19
|
-
expirationInSeconds?: number | undefined;
|
|
20
|
-
}>;
|
|
21
|
-
}
|
|
22
|
-
export { ApiRemoveDetectorKeyEndpoint };
|
|
23
|
-
//# sourceMappingURL=apiRemoveDetectorKeyEndpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiRemoveDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAElE,cAAM,4BACL,YAAW,WAAW,CAAC,yBAAyB,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA0BxB,oBAAoB;qBAMo/sG,EAAG,SAAS;;;;;;;;;CAH3htG;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { getLogger } from "@prosopo/logger";
|
|
2
|
-
import { RemoveDetectorKeyBodySpec } from "@prosopo/types";
|
|
3
|
-
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
4
|
-
//#region src/api/admin/apiRemoveDetectorKeyEndpoint.ts
|
|
5
|
-
var ApiRemoveDetectorKeyEndpoint = class {
|
|
6
|
-
constructor(clientTaskManager) {
|
|
7
|
-
this.clientTaskManager = clientTaskManager;
|
|
8
|
-
}
|
|
9
|
-
async processRequest(args, logger) {
|
|
10
|
-
logger = logger ? logger.with({}, "admin:detector-key:remove") : getLogger("info", "provider:admin:detector-key:remove");
|
|
11
|
-
try {
|
|
12
|
-
const { detectorKey, expirationInSeconds } = args;
|
|
13
|
-
logger.info(() => ({ msg: "Removing detector key" }));
|
|
14
|
-
await this.clientTaskManager.removeDetectorKey(detectorKey, expirationInSeconds);
|
|
15
|
-
return { status: ApiEndpointResponseStatus.SUCCESS };
|
|
16
|
-
} catch (error) {
|
|
17
|
-
logger.error(() => ({
|
|
18
|
-
err: error,
|
|
19
|
-
msg: "Error updating detector key"
|
|
20
|
-
}));
|
|
21
|
-
return {
|
|
22
|
-
status: ApiEndpointResponseStatus.FAIL,
|
|
23
|
-
error: error.message
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
getRequestArgsSchema() {
|
|
28
|
-
return RemoveDetectorKeyBodySpec;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
export { ApiRemoveDetectorKeyEndpoint };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiRemoveDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,MAAM,4BAA4B;IAGjC,YAAoC,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAE5E,KAAK,CAAC,cAAc,CACnB,IAAwC,EACxC,MAAe;QAEf,MAAM,GAAG,MAAM;YACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;QAC3D,IAAI,CAAC;YACJ,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;YAElD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAEtD,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAC7C,WAAW,EACX,mBAAmB,CACnB,CAAC;YAEF,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;aACzC,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,IAAI;gBACtC,KAAK,EAAG,KAAyB,CAAC,OAAO;aACzC,CAAC;QACH,CAAC;IACF,CAAC;IAEM,oBAAoB;QAC1B,OAAO,yBAAyB,CAAC;IAClC,CAAC;CACD;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import { type Logger } from "@prosopo/logger";
|
|
3
|
-
import { UpdateDetectorKeyBody } from "@prosopo/types";
|
|
4
|
-
import type { z } from "zod";
|
|
5
|
-
import type { ClientTaskManager } from "../../tasks/client/clientTasks.js";
|
|
6
|
-
type UpdateDetectorKeyBodyType = typeof UpdateDetectorKeyBody;
|
|
7
|
-
declare class ApiUpdateDetectorKeyEndpoint implements ApiEndpoint<UpdateDetectorKeyBodyType> {
|
|
8
|
-
private readonly clientTaskManager;
|
|
9
|
-
constructor(clientTaskManager: ClientTaskManager);
|
|
10
|
-
processRequest(args: z.infer<UpdateDetectorKeyBodyType>, logger?: Logger): Promise<ApiEndpointResponse>;
|
|
11
|
-
getRequestArgsSchema(): UpdateDetectorKeyBodyType;
|
|
12
|
-
}
|
|
13
|
-
export { ApiUpdateDetectorKeyEndpoint };
|
|
14
|
-
//# sourceMappingURL=apiUpdateDetectorKeyEndpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDetectorKeyEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,qBAAqB,CAAC;AAE9D,cAAM,4BACL,YAAW,WAAW,CAAC,yBAAyB,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA+BxB,oBAAoB,IAAI,yBAAyB;CAGxD;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { getLogger } from "@prosopo/logger";
|
|
2
|
-
import { UpdateDetectorKeyBody } from "@prosopo/types";
|
|
3
|
-
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
4
|
-
//#region src/api/admin/apiUpdateDetectorKeyEndpoint.ts
|
|
5
|
-
var ApiUpdateDetectorKeyEndpoint = class {
|
|
6
|
-
constructor(clientTaskManager) {
|
|
7
|
-
this.clientTaskManager = clientTaskManager;
|
|
8
|
-
}
|
|
9
|
-
async processRequest(args, logger) {
|
|
10
|
-
logger = logger ? logger.with({}, "admin:detector-key:update") : getLogger("info", "provider:admin:detector-key:update");
|
|
11
|
-
try {
|
|
12
|
-
const { detectorKey } = args;
|
|
13
|
-
logger.info(() => ({ msg: "Updating detector key" }));
|
|
14
|
-
const activeDetectorKeys = await this.clientTaskManager.updateDetectorKey(detectorKey);
|
|
15
|
-
logger.info(() => ({
|
|
16
|
-
msg: "Detector key updated",
|
|
17
|
-
activeDetectorKeys
|
|
18
|
-
}));
|
|
19
|
-
return {
|
|
20
|
-
status: ApiEndpointResponseStatus.SUCCESS,
|
|
21
|
-
data: { activeDetectorKeys }
|
|
22
|
-
};
|
|
23
|
-
} catch (error) {
|
|
24
|
-
logger.error(() => ({
|
|
25
|
-
msg: "Error updating detector key",
|
|
26
|
-
err: error
|
|
27
|
-
}));
|
|
28
|
-
return {
|
|
29
|
-
status: ApiEndpointResponseStatus.FAIL,
|
|
30
|
-
error: error.message
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
getRequestArgsSchema() {
|
|
35
|
-
return UpdateDetectorKeyBody;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
//#endregion
|
|
39
|
-
export { ApiUpdateDetectorKeyEndpoint };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDetectorKeyEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,MAAM,4BAA4B;IAGjC,YAAoC,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAE5E,KAAK,CAAC,cAAc,CACnB,IAAwC,EACxC,MAAe;QAEf,MAAM,GAAG,MAAM;YACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;QAC3D,IAAI,CAAC;YACJ,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAE7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAEtD,MAAM,kBAAkB,GACvB,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE7D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,GAAG,EAAE,sBAAsB;gBAC3B,kBAAkB;aAClB,CAAC,CAAC,CAAC;YACJ,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;gBACzC,IAAI,EAAE;oBACL,kBAAkB;iBAClB;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,IAAI;gBACtC,KAAK,EAAG,KAAyB,CAAC,OAAO;aACzC,CAAC;QACH,CAAC;IACF,CAAC;IAEM,oBAAoB;QAC1B,OAAO,qBAAqB,CAAC;IAC9B,CAAC;CACD;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
let _prosopo_logger = require("@prosopo/logger");
|
|
2
|
-
let _prosopo_types = require("@prosopo/types");
|
|
3
|
-
let _prosopo_api_route = require("@prosopo/api-route");
|
|
4
|
-
//#region src/api/admin/apiRemoveDetectorKeyEndpoint.ts
|
|
5
|
-
var ApiRemoveDetectorKeyEndpoint = class {
|
|
6
|
-
constructor(clientTaskManager) {
|
|
7
|
-
this.clientTaskManager = clientTaskManager;
|
|
8
|
-
}
|
|
9
|
-
async processRequest(args, logger) {
|
|
10
|
-
logger = logger ? logger.with({}, "admin:detector-key:remove") : (0, _prosopo_logger.getLogger)("info", "provider:admin:detector-key:remove");
|
|
11
|
-
try {
|
|
12
|
-
const { detectorKey, expirationInSeconds } = args;
|
|
13
|
-
logger.info(() => ({ msg: "Removing detector key" }));
|
|
14
|
-
await this.clientTaskManager.removeDetectorKey(detectorKey, expirationInSeconds);
|
|
15
|
-
return { status: _prosopo_api_route.ApiEndpointResponseStatus.SUCCESS };
|
|
16
|
-
} catch (error) {
|
|
17
|
-
logger.error(() => ({
|
|
18
|
-
err: error,
|
|
19
|
-
msg: "Error updating detector key"
|
|
20
|
-
}));
|
|
21
|
-
return {
|
|
22
|
-
status: _prosopo_api_route.ApiEndpointResponseStatus.FAIL,
|
|
23
|
-
error: error.message
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
getRequestArgsSchema() {
|
|
28
|
-
return _prosopo_types.RemoveDetectorKeyBodySpec;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
exports.ApiRemoveDetectorKeyEndpoint = ApiRemoveDetectorKeyEndpoint;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
let _prosopo_logger = require("@prosopo/logger");
|
|
2
|
-
let _prosopo_types = require("@prosopo/types");
|
|
3
|
-
let _prosopo_api_route = require("@prosopo/api-route");
|
|
4
|
-
//#region src/api/admin/apiUpdateDetectorKeyEndpoint.ts
|
|
5
|
-
var ApiUpdateDetectorKeyEndpoint = class {
|
|
6
|
-
constructor(clientTaskManager) {
|
|
7
|
-
this.clientTaskManager = clientTaskManager;
|
|
8
|
-
}
|
|
9
|
-
async processRequest(args, logger) {
|
|
10
|
-
logger = logger ? logger.with({}, "admin:detector-key:update") : (0, _prosopo_logger.getLogger)("info", "provider:admin:detector-key:update");
|
|
11
|
-
try {
|
|
12
|
-
const { detectorKey } = args;
|
|
13
|
-
logger.info(() => ({ msg: "Updating detector key" }));
|
|
14
|
-
const activeDetectorKeys = await this.clientTaskManager.updateDetectorKey(detectorKey);
|
|
15
|
-
logger.info(() => ({
|
|
16
|
-
msg: "Detector key updated",
|
|
17
|
-
activeDetectorKeys
|
|
18
|
-
}));
|
|
19
|
-
return {
|
|
20
|
-
status: _prosopo_api_route.ApiEndpointResponseStatus.SUCCESS,
|
|
21
|
-
data: { activeDetectorKeys }
|
|
22
|
-
};
|
|
23
|
-
} catch (error) {
|
|
24
|
-
logger.error(() => ({
|
|
25
|
-
msg: "Error updating detector key",
|
|
26
|
-
err: error
|
|
27
|
-
}));
|
|
28
|
-
return {
|
|
29
|
-
status: _prosopo_api_route.ApiEndpointResponseStatus.FAIL,
|
|
30
|
-
error: error.message
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
getRequestArgsSchema() {
|
|
35
|
-
return _prosopo_types.UpdateDetectorKeyBody;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
//#endregion
|
|
39
|
-
exports.ApiUpdateDetectorKeyEndpoint = ApiUpdateDetectorKeyEndpoint;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { Logger } from "@prosopo/logger";
|
|
2
|
-
import type { BehavioralDataResult } from "./decodeBehavior.js";
|
|
3
|
-
export declare const getBehavioralData: (encryptedData: string, privateKeys: (string | undefined)[], logger?: Logger) => Promise<BehavioralDataResult | null>;
|
|
4
|
-
//# sourceMappingURL=getBehavioralData.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBehavioralData.d.ts","sourceRoot":"","sources":["../../../src/tasks/detection/getBehavioralData.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,eAAO,MAAM,iBAAiB,kBACd,MAAM,eACR,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,WAC1B,MAAM,KACb,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAwDrC,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import decryptBehavioralData from "./decodeBehavior.js";
|
|
2
|
-
export const getBehavioralData = async (encryptedData, privateKeys, logger) => {
|
|
3
|
-
const decryptKeys = privateKeys.filter((k) => k);
|
|
4
|
-
if (decryptKeys.length === 0) {
|
|
5
|
-
logger?.error(() => ({
|
|
6
|
-
msg: "No decryption keys provided",
|
|
7
|
-
}));
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
for (const [keyIndex, key] of decryptKeys.entries()) {
|
|
11
|
-
try {
|
|
12
|
-
logger?.info(() => ({
|
|
13
|
-
msg: "Attempting to decrypt behavioral data",
|
|
14
|
-
data: {
|
|
15
|
-
keyIndex: keyIndex + 1,
|
|
16
|
-
totalKeys: decryptKeys.length,
|
|
17
|
-
},
|
|
18
|
-
}));
|
|
19
|
-
const result = await decryptBehavioralData(encryptedData, key);
|
|
20
|
-
logger?.info(() => ({
|
|
21
|
-
msg: "Behavioral data decrypted successfully",
|
|
22
|
-
data: {
|
|
23
|
-
keyIndex: keyIndex + 1,
|
|
24
|
-
collector1Count: result.collector1.length,
|
|
25
|
-
collector2Count: result.collector2.length,
|
|
26
|
-
collector3Count: result.collector3.length,
|
|
27
|
-
deviceCapability: result.deviceCapability,
|
|
28
|
-
},
|
|
29
|
-
}));
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
logger?.debug(() => ({
|
|
34
|
-
msg: "Failed to decrypt with key, trying next",
|
|
35
|
-
data: {
|
|
36
|
-
keyIndex: keyIndex + 1,
|
|
37
|
-
totalKeys: decryptKeys.length,
|
|
38
|
-
err: error,
|
|
39
|
-
},
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
logger?.error(() => ({
|
|
44
|
-
msg: "Failed to decrypt behavioral data with all available keys",
|
|
45
|
-
data: {
|
|
46
|
-
totalKeysAttempted: decryptKeys.length,
|
|
47
|
-
},
|
|
48
|
-
}));
|
|
49
|
-
return null;
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=getBehavioralData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBehavioralData.js","sourceRoot":"","sources":["../../../src/tasks/detection/getBehavioralData.ts"],"names":[],"mappings":"AAgBA,OAAO,qBAAqB,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACrC,aAAqB,EACrB,WAAmC,EACnC,MAAe,EACwB,EAAE;IACzC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACpB,GAAG,EAAE,6BAA6B;SAClC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnB,GAAG,EAAE,uCAAuC;gBAC5C,IAAI,EAAE;oBACL,QAAQ,EAAE,QAAQ,GAAG,CAAC;oBACtB,SAAS,EAAE,WAAW,CAAC,MAAM;iBAC7B;aACD,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAE/D,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnB,GAAG,EAAE,wCAAwC;gBAC7C,IAAI,EAAE;oBACL,QAAQ,EAAE,QAAQ,GAAG,CAAC;oBACtB,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;oBACzC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;oBACzC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;oBACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBACzC;aACD,CAAC,CAAC,CAAC;YAEJ,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpB,GAAG,EAAE,yCAAyC;gBAC9C,IAAI,EAAE;oBACL,QAAQ,EAAE,QAAQ,GAAG,CAAC;oBACtB,SAAS,EAAE,WAAW,CAAC,MAAM;oBAC7B,GAAG,EAAE,KAAK;iBACV;aACD,CAAC,CAAC,CAAC;QAEL,CAAC;IACF,CAAC;IAGD,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,2DAA2D;QAChE,IAAI,EAAE;YACL,kBAAkB,EAAE,WAAW,CAAC,MAAM;SACtC;KACD,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
2
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
-
import { ApiRemoveDetectorKeyEndpoint } from "../../../../api/admin/apiRemoveDetectorKeyEndpoint.js";
|
|
4
|
-
describe("ApiRemoveDetectorKeyEndpoint", () => {
|
|
5
|
-
let endpoint;
|
|
6
|
-
let mockClientTaskManager;
|
|
7
|
-
let mockLogger;
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
vi.clearAllMocks();
|
|
10
|
-
mockClientTaskManager = {
|
|
11
|
-
removeDetectorKey: vi.fn().mockResolvedValue(undefined),
|
|
12
|
-
};
|
|
13
|
-
mockLogger = {
|
|
14
|
-
info: vi.fn(),
|
|
15
|
-
error: vi.fn(),
|
|
16
|
-
with: vi.fn().mockReturnThis(),
|
|
17
|
-
};
|
|
18
|
-
endpoint = new ApiRemoveDetectorKeyEndpoint(mockClientTaskManager);
|
|
19
|
-
});
|
|
20
|
-
it("returns success status when detector key is removed", async () => {
|
|
21
|
-
const result = await endpoint.processRequest({
|
|
22
|
-
detectorKey: "test-key",
|
|
23
|
-
expirationInSeconds: 3600,
|
|
24
|
-
}, mockLogger);
|
|
25
|
-
expect(result.status).toBe(ApiEndpointResponseStatus.SUCCESS);
|
|
26
|
-
});
|
|
27
|
-
it("calls removeDetectorKey with correct parameters", async () => {
|
|
28
|
-
const detectorKey = "test-key";
|
|
29
|
-
const expirationInSeconds = 3600;
|
|
30
|
-
await endpoint.processRequest({ detectorKey, expirationInSeconds }, mockLogger);
|
|
31
|
-
expect(mockClientTaskManager.removeDetectorKey).toHaveBeenCalledWith(detectorKey, expirationInSeconds);
|
|
32
|
-
});
|
|
33
|
-
it("returns fail status when removeDetectorKey throws error", async () => {
|
|
34
|
-
const error = new Error("Test error");
|
|
35
|
-
mockClientTaskManager.removeDetectorKey.mockRejectedValue(error);
|
|
36
|
-
const result = await endpoint.processRequest({
|
|
37
|
-
detectorKey: "test-key",
|
|
38
|
-
expirationInSeconds: 3600,
|
|
39
|
-
}, mockLogger);
|
|
40
|
-
expect(result.status).toBe(ApiEndpointResponseStatus.FAIL);
|
|
41
|
-
expect(result.error).toBe("Test error");
|
|
42
|
-
});
|
|
43
|
-
it("logs error when removeDetectorKey fails", async () => {
|
|
44
|
-
const error = new Error("Test error");
|
|
45
|
-
mockClientTaskManager.removeDetectorKey.mockRejectedValue(error);
|
|
46
|
-
await endpoint.processRequest({
|
|
47
|
-
detectorKey: "test-key",
|
|
48
|
-
expirationInSeconds: 3600,
|
|
49
|
-
}, mockLogger);
|
|
50
|
-
expect(mockLogger.error).toHaveBeenCalled();
|
|
51
|
-
});
|
|
52
|
-
it("returns correct schema", () => {
|
|
53
|
-
const schema = endpoint.getRequestArgsSchema();
|
|
54
|
-
expect(schema).toBeDefined();
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=apiRemoveDetectorKeyEndpoint.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDetectorKeyEndpoint.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
2
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
-
import { ApiUpdateDetectorKeyEndpoint } from "../../../../api/admin/apiUpdateDetectorKeyEndpoint.js";
|
|
4
|
-
describe("ApiUpdateDetectorKeyEndpoint", () => {
|
|
5
|
-
let endpoint;
|
|
6
|
-
let mockClientTaskManager;
|
|
7
|
-
let mockLogger;
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
vi.clearAllMocks();
|
|
10
|
-
mockClientTaskManager = {
|
|
11
|
-
updateDetectorKey: vi.fn().mockResolvedValue(["key1", "key2"]),
|
|
12
|
-
};
|
|
13
|
-
mockLogger = {
|
|
14
|
-
info: vi.fn(),
|
|
15
|
-
error: vi.fn(),
|
|
16
|
-
with: vi.fn().mockReturnThis(),
|
|
17
|
-
};
|
|
18
|
-
endpoint = new ApiUpdateDetectorKeyEndpoint(mockClientTaskManager);
|
|
19
|
-
});
|
|
20
|
-
it("returns success status with active detector keys", async () => {
|
|
21
|
-
const result = await endpoint.processRequest({
|
|
22
|
-
detectorKey: "test-key",
|
|
23
|
-
}, mockLogger);
|
|
24
|
-
expect(result.status).toBe(ApiEndpointResponseStatus.SUCCESS);
|
|
25
|
-
expect(result.data).toHaveProperty("activeDetectorKeys", ["key1", "key2"]);
|
|
26
|
-
});
|
|
27
|
-
it("calls updateDetectorKey with correct parameters", async () => {
|
|
28
|
-
const detectorKey = "test-key";
|
|
29
|
-
await endpoint.processRequest({ detectorKey }, mockLogger);
|
|
30
|
-
expect(mockClientTaskManager.updateDetectorKey).toHaveBeenCalledWith(detectorKey);
|
|
31
|
-
});
|
|
32
|
-
it("returns fail status when updateDetectorKey throws error", async () => {
|
|
33
|
-
const error = new Error("Test error");
|
|
34
|
-
mockClientTaskManager.updateDetectorKey.mockRejectedValue(error);
|
|
35
|
-
const result = await endpoint.processRequest({
|
|
36
|
-
detectorKey: "test-key",
|
|
37
|
-
}, mockLogger);
|
|
38
|
-
expect(result.status).toBe(ApiEndpointResponseStatus.FAIL);
|
|
39
|
-
expect(result.error).toBe("Test error");
|
|
40
|
-
});
|
|
41
|
-
it("logs error when updateDetectorKey fails", async () => {
|
|
42
|
-
const error = new Error("Test error");
|
|
43
|
-
mockClientTaskManager.updateDetectorKey.mockRejectedValue(error);
|
|
44
|
-
await endpoint.processRequest({
|
|
45
|
-
detectorKey: "test-key",
|
|
46
|
-
}, mockLogger);
|
|
47
|
-
expect(mockLogger.error).toHaveBeenCalled();
|
|
48
|
-
});
|
|
49
|
-
it("logs success message with active detector keys", async () => {
|
|
50
|
-
await endpoint.processRequest({
|
|
51
|
-
detectorKey: "test-key",
|
|
52
|
-
}, mockLogger);
|
|
53
|
-
expect(mockLogger.info).toHaveBeenCalled();
|
|
54
|
-
});
|
|
55
|
-
it("returns correct schema", () => {
|
|
56
|
-
const schema = endpoint.getRequestArgsSchema();
|
|
57
|
-
expect(schema).toBeDefined();
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
//# sourceMappingURL=apiUpdateDetectorKeyEndpoint.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDetectorKeyEndpoint.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBehavioralData.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBehavioralData.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { getBehavioralData } from "../../../../tasks/detection/getBehavioralData.js";
|
|
3
|
-
vi.mock("../../../../tasks/detection/decodeBehavior.js", () => ({
|
|
4
|
-
default: vi.fn(),
|
|
5
|
-
}));
|
|
6
|
-
describe("getBehavioralData", () => {
|
|
7
|
-
let mockLogger;
|
|
8
|
-
let mockDecryptBehavioralData;
|
|
9
|
-
beforeEach(async () => {
|
|
10
|
-
vi.clearAllMocks();
|
|
11
|
-
vi.resetModules();
|
|
12
|
-
mockLogger = {
|
|
13
|
-
error: vi.fn(),
|
|
14
|
-
info: vi.fn(),
|
|
15
|
-
debug: vi.fn(),
|
|
16
|
-
};
|
|
17
|
-
const decodeBehaviorModule = await import("../../../../tasks/detection/decodeBehavior.js");
|
|
18
|
-
mockDecryptBehavioralData = decodeBehaviorModule.default;
|
|
19
|
-
});
|
|
20
|
-
it("should successfully decrypt behavioral data with first key", async () => {
|
|
21
|
-
const encryptedData = "encrypted-data";
|
|
22
|
-
const keys = ["key1", "key2"];
|
|
23
|
-
const mockResult = {
|
|
24
|
-
collector1: [{ x: 1, y: 2 }],
|
|
25
|
-
collector2: [{ x: 3, y: 4 }],
|
|
26
|
-
collector3: [{ x: 5, y: 6 }],
|
|
27
|
-
deviceCapability: "touch",
|
|
28
|
-
timestamp: Date.now(),
|
|
29
|
-
};
|
|
30
|
-
mockDecryptBehavioralData.mockResolvedValueOnce(mockResult);
|
|
31
|
-
const result = await getBehavioralData(encryptedData, keys, mockLogger);
|
|
32
|
-
expect(result).toEqual(mockResult);
|
|
33
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledTimes(1);
|
|
34
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledWith(encryptedData, "key1");
|
|
35
|
-
expect(mockLogger.info).toHaveBeenCalledWith(expect.any(Function));
|
|
36
|
-
});
|
|
37
|
-
it("should try second key if first fails", async () => {
|
|
38
|
-
const encryptedData = "encrypted-data";
|
|
39
|
-
const keys = ["key1", "key2"];
|
|
40
|
-
const mockResult = {
|
|
41
|
-
collector1: [{ x: 1, y: 2 }],
|
|
42
|
-
collector2: [{ x: 3, y: 4 }],
|
|
43
|
-
collector3: [{ x: 5, y: 6 }],
|
|
44
|
-
deviceCapability: "touch",
|
|
45
|
-
timestamp: Date.now(),
|
|
46
|
-
};
|
|
47
|
-
mockDecryptBehavioralData
|
|
48
|
-
.mockRejectedValueOnce(new Error("Decryption failed"))
|
|
49
|
-
.mockResolvedValueOnce(mockResult);
|
|
50
|
-
const result = await getBehavioralData(encryptedData, keys, mockLogger);
|
|
51
|
-
expect(result).toEqual(mockResult);
|
|
52
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledTimes(2);
|
|
53
|
-
expect(mockDecryptBehavioralData).toHaveBeenNthCalledWith(1, encryptedData, "key1");
|
|
54
|
-
expect(mockDecryptBehavioralData).toHaveBeenNthCalledWith(2, encryptedData, "key2");
|
|
55
|
-
expect(mockLogger.debug).toHaveBeenCalled();
|
|
56
|
-
expect(mockLogger.info).toHaveBeenCalled();
|
|
57
|
-
});
|
|
58
|
-
it("should return null if all keys fail", async () => {
|
|
59
|
-
const encryptedData = "encrypted-data";
|
|
60
|
-
const keys = ["key1", "key2"];
|
|
61
|
-
mockDecryptBehavioralData
|
|
62
|
-
.mockRejectedValueOnce(new Error("Decryption failed"))
|
|
63
|
-
.mockRejectedValueOnce(new Error("Decryption failed"));
|
|
64
|
-
const result = await getBehavioralData(encryptedData, keys, mockLogger);
|
|
65
|
-
expect(result).toBeNull();
|
|
66
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledTimes(2);
|
|
67
|
-
expect(mockLogger.error).toHaveBeenCalledWith(expect.any(Function));
|
|
68
|
-
});
|
|
69
|
-
it("should return null and log error if no keys provided", async () => {
|
|
70
|
-
const encryptedData = "encrypted-data";
|
|
71
|
-
const keys = [];
|
|
72
|
-
const result = await getBehavioralData(encryptedData, keys, mockLogger);
|
|
73
|
-
expect(result).toBeNull();
|
|
74
|
-
expect(mockDecryptBehavioralData).not.toHaveBeenCalled();
|
|
75
|
-
expect(mockLogger.error).toHaveBeenCalledWith(expect.any(Function));
|
|
76
|
-
});
|
|
77
|
-
it("should filter out undefined keys", async () => {
|
|
78
|
-
const encryptedData = "encrypted-data";
|
|
79
|
-
const keys = ["key1", undefined, "key2"];
|
|
80
|
-
const mockResult = {
|
|
81
|
-
collector1: [{ x: 1, y: 2 }],
|
|
82
|
-
collector2: [],
|
|
83
|
-
collector3: [],
|
|
84
|
-
deviceCapability: "no-touch",
|
|
85
|
-
timestamp: Date.now(),
|
|
86
|
-
};
|
|
87
|
-
mockDecryptBehavioralData.mockResolvedValueOnce(mockResult);
|
|
88
|
-
const result = await getBehavioralData(encryptedData, keys, mockLogger);
|
|
89
|
-
expect(result).toEqual(mockResult);
|
|
90
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledTimes(1);
|
|
91
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledWith(encryptedData, "key1");
|
|
92
|
-
});
|
|
93
|
-
it("should work without logger", async () => {
|
|
94
|
-
const encryptedData = "encrypted-data";
|
|
95
|
-
const keys = ["key1"];
|
|
96
|
-
const mockResult = {
|
|
97
|
-
collector1: [],
|
|
98
|
-
collector2: [],
|
|
99
|
-
collector3: [],
|
|
100
|
-
deviceCapability: "unknown",
|
|
101
|
-
timestamp: Date.now(),
|
|
102
|
-
};
|
|
103
|
-
mockDecryptBehavioralData.mockResolvedValueOnce(mockResult);
|
|
104
|
-
const result = await getBehavioralData(encryptedData, keys);
|
|
105
|
-
expect(result).toEqual(mockResult);
|
|
106
|
-
expect(mockDecryptBehavioralData).toHaveBeenCalledTimes(1);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=getBehavioralData.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBehavioralData.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBehavioralData.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAGrF,EAAE,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAClC,IAAI,UAAkB,CAAC;IACvB,IAAI,yBAAmD,CAAC;IAExD,UAAU,CAAC,KAAK,IAAI,EAAE;QACrB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,YAAY,EAAE,CAAC;QAElB,UAAU,GAAG;YACZ,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;SACO,CAAC;QAEvB,MAAM,oBAAoB,GAAG,MAAM,MAAM,CACxC,+CAA+C,CAC/C,CAAC;QACF,yBAAyB,GAAG,oBAAoB,CAAC,OAEhD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG;YAClB,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAE,OAAO;YACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,yBAAyB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CACrD,aAAa,EACb,MAAM,CACN,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG;YAClB,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAE,OAAO;YACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,yBAAyB;aACvB,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACrD,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,yBAAyB,CAAC,CAAC,uBAAuB,CACxD,CAAC,EACD,aAAa,EACb,MAAM,CACN,CAAC;QACF,MAAM,CAAC,yBAAyB,CAAC,CAAC,uBAAuB,CACxD,CAAC,EACD,aAAa,EACb,MAAM,CACN,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9B,yBAAyB;aACvB,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACrD,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG;YAClB,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,gBAAgB,EAAE,UAAU;YAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,yBAAyB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CACrD,aAAa,EACb,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG;YAClB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,gBAAgB,EAAE,SAAS;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,yBAAyB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|