@privateid/ultrapass-web-sdk 1.1.0 → 1.1.2

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.
@@ -12,7 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
12
12
  import { proxy } from 'comlink';
13
13
  import { callbackTypeEnum, createCallback } from '../../../../createCallback';
14
14
  import { CameraFaceMode } from '../../../../types';
15
- import { defineDimensionsForCanvas, releaseCanvas } from './face.utils';
15
+ import { defineDimensionsForCanvas, releaseCanvas, wrapCallbackWithImageCreation } from './face.utils';
16
16
  import { DEFAULT_PREDICT_CONFIG } from '../../support/wasm';
17
17
  import { getIsSIMD, isMobileDevice, printLogs } from '../../global/shared.utils';
18
18
  import { AGE_ESTIMATION_BASE_CONFIG, ENROLL_BASE_CONFIG, LOG_MESSAGES, URL_OVERRIDES } from './face.constants';
@@ -34,9 +34,11 @@ export class FaceService {
34
34
  printLogs('[FaceService] initialized', '');
35
35
  }
36
36
  preparePrivdWasmResult(callback, callbackType, image, config) {
37
+ // Wrap callback with image creation for debug purposes (predict operations)
38
+ const wrappedCallback = wrapCallbackWithImageCreation(callback, image, false);
37
39
  this.privid_wasm_result = createCallback({
38
40
  type: callbackType,
39
- callbackFunction: callback,
41
+ callbackFunction: wrappedCallback,
40
42
  imageData: (config === null || config === void 0 ? void 0 : config.sendImageToJS) ? image : undefined,
41
43
  });
42
44
  }
@@ -152,9 +154,11 @@ export class FaceService {
152
154
  return undefined;
153
155
  }
154
156
  const imageData = this.generateImageData(true);
157
+ // Wrap callback with image creation for debug purposes
158
+ const wrappedCallback = wrapCallbackWithImageCreation(params.callback, imageData, true);
155
159
  this.privid_wasm_result = createCallback({
156
160
  type: callbackTypeEnum.enroll,
157
- callbackFunction: params.callback,
161
+ callbackFunction: wrappedCallback,
158
162
  });
159
163
  const bestImage = yield this.wasmService.enroll(imageData, JSON.stringify(configJSON), proxy(this.privid_wasm_result));
160
164
  if (params.returnPortrait) {
@@ -1 +1 @@
1
- {"version":3,"file":"FaceService.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/face/FaceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FaceService.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/face/FaceService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,15 @@
1
1
  import { Dimensions } from './face.types';
2
2
  export declare function releaseCanvas(canvas: HTMLCanvasElement): void;
3
3
  export declare function defineDimensionsForCanvas(videoElementDimensions: Dimensions): Dimensions;
4
+ /**
5
+ * Check if debug mode should create images
6
+ */
7
+ export declare function shouldCreateDebugImages(): boolean;
8
+ /**
9
+ * Create and download images for debugging purposes
10
+ */
11
+ export declare function createDebugImages(images: ImageData[], title: string, isEnrollFlow: boolean): Promise<void>;
12
+ /**
13
+ * Wrapper for callback that creates debug images before calling the original callback
14
+ */
15
+ export declare function wrapCallbackWithImageCreation<T>(callback: (result: T) => void, imageData: ImageData, isEnrollFlow: boolean): (result: T) => void;
@@ -1,5 +1,16 @@
1
- import { printLogs } from '../../global/shared.utils';
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getDebugType, printLogs } from '../../global/shared.utils';
2
11
  import { CANVAS_CLEANUP_DIMENSION, MAX_DIMENSION } from './face.constants';
12
+ // Debug types that enable image creation
13
+ const DEBUG_TYPES_WITH_IMAGES = ['900', '901', '902', '903'];
3
14
  export function releaseCanvas(canvas) {
4
15
  try {
5
16
  printLogs('STARTING TO RELEASE CANVAS', '');
@@ -26,4 +37,66 @@ export function defineDimensionsForCanvas(videoElementDimensions) {
26
37
  height: Math.round(videoElementDimensions.height * downscale),
27
38
  };
28
39
  }
40
+ /**
41
+ * Check if debug mode should create images
42
+ */
43
+ export function shouldCreateDebugImages() {
44
+ const debugType = getDebugType();
45
+ return DEBUG_TYPES_WITH_IMAGES.includes(debugType);
46
+ }
47
+ /**
48
+ * Create and download images for debugging purposes
49
+ */
50
+ export function createDebugImages(images, title, isEnrollFlow) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (!shouldCreateDebugImages()) {
53
+ return;
54
+ }
55
+ try {
56
+ const promises = images.map((imageData) => __awaiter(this, void 0, void 0, function* () {
57
+ const canvas = document.createElement('canvas');
58
+ canvas.width = imageData.width;
59
+ canvas.height = imageData.height;
60
+ const context = canvas.getContext('2d');
61
+ context.putImageData(imageData, 0, 0);
62
+ const blob = yield new Promise((resolve) => canvas.toBlob(resolve, 'image/jpeg'));
63
+ const url = URL.createObjectURL(blob);
64
+ return { url, blob };
65
+ }));
66
+ const data = yield Promise.all(promises);
67
+ const a = document.createElement('a');
68
+ for (let i = 0; i < data.length; i++) {
69
+ yield new Promise((resolve) => {
70
+ a.href = data[i].url;
71
+ a.type = 'image/png';
72
+ a.download = `${title}_${isEnrollFlow ? 'enroll' : 'predict'}.png`;
73
+ document.body.appendChild(a);
74
+ a.click();
75
+ setTimeout(() => {
76
+ document.body.removeChild(a);
77
+ URL.revokeObjectURL(data[i].url);
78
+ resolve();
79
+ }, 1000);
80
+ });
81
+ }
82
+ printLogs('[face.utils] Debug images created and downloaded', { title, count: images.length });
83
+ }
84
+ catch (error) {
85
+ printLogs('[face.utils] Error creating debug images', error, 'ERROR');
86
+ }
87
+ });
88
+ }
89
+ /**
90
+ * Wrapper for callback that creates debug images before calling the original callback
91
+ */
92
+ export function wrapCallbackWithImageCreation(callback, imageData, isEnrollFlow) {
93
+ return (result) => __awaiter(this, void 0, void 0, function* () {
94
+ var _a, _b;
95
+ if (shouldCreateDebugImages()) {
96
+ const title = `original_${(_a = result === null || result === void 0 ? void 0 : result.face_validation_status) !== null && _a !== void 0 ? _a : 'unknown'}_${(_b = result === null || result === void 0 ? void 0 : result.antispoof_status) !== null && _b !== void 0 ? _b : 'unknown'}`;
97
+ yield createDebugImages([imageData], title, isEnrollFlow);
98
+ }
99
+ callback(result);
100
+ });
101
+ }
29
102
  //# sourceMappingURL=face.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"face.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/face/face.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG3E,MAAM,UAAU,aAAa,CAAC,MAAyB;IACrD,IAAI;QACF,SAAS,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,aAAa,CAAC,KAAK,GAAG,wBAAwB,CAAC;QAC/C,aAAa,CAAC,MAAM,GAAG,wBAAwB,CAAC;QAChD,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;SACzE;QACD,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACV,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;KAC5C;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,sBAAkC;IAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE;QACzF,OAAO,sBAAsB,CAAC;KAC/B;IACD,MAAM,SAAS,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxG,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3D,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,GAAG,SAAS,CAAC;KAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"face.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/core/face/face.utils.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare function isIOSDesktop(): boolean;
33
33
  export declare function isIOS(): boolean;
34
34
  export declare function isIOS15OrGreater(): boolean;
35
35
  export declare function isAndroidDesktop(): boolean;
36
+ export declare const isBackCameraLabel: (label: string) => boolean;
36
37
  export declare const isMobileBackCameraPortrait: ({ label, facingMode }: {
37
38
  label: string;
38
39
  facingMode: FacingMode[];
@@ -32,9 +32,9 @@ export function parseUserAgent() {
32
32
  export function isPortrait() {
33
33
  return getScreenOrientation() === PORTRAIT;
34
34
  }
35
- // TODO: Refactor this to use the FacingMode enum
36
35
  export function isBackCameraAndPortrait(faceMode) {
37
- return isPortrait();
36
+ const isBack = faceMode === FacingMode.environment;
37
+ return isBack && isPortrait();
38
38
  }
39
39
  // TODO: Refactor these `isSomethingUA` functions to be one.
40
40
  export function isMobileUA() {
@@ -175,7 +175,7 @@ export function isAndroidDesktop() {
175
175
  // Android browser => Request Desktop Site.
176
176
  return isLinux() && window.navigator.maxTouchPoints > 1;
177
177
  }
178
- const isBackCameraLabel = (label) => {
178
+ export const isBackCameraLabel = (label) => {
179
179
  const lowerCase = (label === null || label === void 0 ? void 0 : label.toLowerCase()) || '';
180
180
  return BACK_CAMERA_WORDS.some((keyword) => lowerCase === null || lowerCase === void 0 ? void 0 : lowerCase.includes(keyword));
181
181
  };
@@ -283,8 +283,8 @@ export const getMobileVideoConstraints = (availableDevices, faceMode, isDocument
283
283
  const finalConstraints = {
284
284
  audio: false,
285
285
  video: Object.assign(Object.assign({
286
- // Use facingMode when deviceId is not specified for more reliable camera selection
287
- facingMode: selectedDeviceId ? undefined : faceMode, resizeMode, width: videoWidth, height: videoHeight }, ((selectedDeviceId || useDirectDeviceId) && { deviceId: selectedDeviceId })), { aspectRatio }),
286
+ // Use facingMode environment for back camera, user for front camera also provides better compatibility
287
+ facingMode: faceMode, resizeMode, width: videoWidth, height: videoHeight }, ((selectedDeviceId || useDirectDeviceId) && { deviceId: selectedDeviceId })), { aspectRatio }),
288
288
  };
289
289
  printLogs('[getMobileVideoConstraints] finalConstraits:', finalConstraints);
290
290
  return finalConstraints;
@@ -354,16 +354,19 @@ export function getFilteredVideoDevices() {
354
354
  return __awaiter(this, void 0, void 0, function* () {
355
355
  const permission = yield navigator.permissions.query({ name: 'camera' });
356
356
  if (permission.state === 'denied') {
357
- printLogs('Camera permission is denied', '', 'WARN');
357
+ printLogs('[getFilteredVideoDevices] Camera permission is denied', '', 'WARN');
358
358
  return [];
359
359
  }
360
- // Request camera permission first to ensure device labels are available
360
+ // Request camera permission just when it's not granted yet else get the device list without open a stream
361
361
  try {
362
- const stream = yield navigator.mediaDevices.getUserMedia({ video: true, audio: false });
363
- stream.getTracks().forEach((track) => track.stop());
362
+ if (permission.state !== 'granted') {
363
+ const stream = yield navigator.mediaDevices.getUserMedia({ video: true, audio: false });
364
+ stream.getTracks().forEach((track) => track.stop());
365
+ }
366
+ printLogs(`[getFilteredVideoDevices] openCamera permission state: `, permission.state);
364
367
  }
365
368
  catch (error) {
366
- printLogs('Camera permission denied or not available', error, 'WARN');
369
+ printLogs('[getFilteredVideoDevices] Camera permission denied or not available', error, 'WARN');
367
370
  }
368
371
  const devices = yield navigator.mediaDevices.enumerateDevices();
369
372
  const filtered = devices.filter((d) => d.kind === 'videoinput' && !checkDeviceIsVirtualCamera(d.label));
@@ -398,9 +401,20 @@ export function getTheNextResolutionAvailable(currentResolution) {
398
401
  export function startVideo(videoElement, stream) {
399
402
  return __awaiter(this, void 0, void 0, function* () {
400
403
  const element = document.getElementById(videoElement);
404
+ printLogs('[startVideo] Element found:', !!element);
405
+ printLogs('[startVideo] Stream tracks:', stream.getTracks().length);
401
406
  element.srcObject = stream;
402
- element.play();
403
- yield new Promise((resolve) => (element.onplaying = resolve));
407
+ // Create a listener for the 'onplaying' event before calling play()
408
+ const playingPromise = new Promise((resolve) => {
409
+ element.onplaying = () => {
410
+ printLogs('[startVideo] Video onplaying fired', '');
411
+ resolve(undefined);
412
+ };
413
+ });
414
+ yield element.play();
415
+ printLogs('[startVideo] Video playing:', !element.paused);
416
+ // wait for the 'onplaying' event to ensure video is actually playing
417
+ yield playingPromise;
404
418
  enableMutationObserver(element, stream);
405
419
  });
406
420
  }
@@ -492,7 +506,7 @@ export function handleDeviceId(devices, id, isMacSafari) {
492
506
  * ```
493
507
  */
494
508
  export function getDeviceMediaStream(deviceId, type, options) {
495
- var _a, _b;
509
+ var _a, _b, _c, _d;
496
510
  return __awaiter(this, void 0, void 0, function* () {
497
511
  const idealWidth = ((_a = options === null || options === void 0 ? void 0 : options.canvasResolution) === null || _a === void 0 ? void 0 : _a.width) || CAMERA_WIDTH;
498
512
  const idealHeight = ((_b = options === null || options === void 0 ? void 0 : options.canvasResolution) === null || _b === void 0 ? void 0 : _b.height) || CAMERA_HEIGHT;
@@ -510,11 +524,13 @@ export function getDeviceMediaStream(deviceId, type, options) {
510
524
  });
511
525
  try {
512
526
  const stream = yield navigator.mediaDevices.getUserMedia(constraints);
527
+ const streamSettings = (_d = (_c = stream.getVideoTracks()[0]) === null || _c === void 0 ? void 0 : _c.getSettings) === null || _d === void 0 ? void 0 : _d.call(_c);
528
+ printLogs('[getDeviceMediaStream] opened stream settings:', { deviceId: streamSettings === null || streamSettings === void 0 ? void 0 : streamSettings.deviceId, facingMode: streamSettings === null || streamSettings === void 0 ? void 0 : streamSettings.facingMode });
513
529
  return stream;
514
530
  }
515
531
  catch (error) {
516
- printLogs('getUserMedia error:', error.name, error.message);
517
- printLogs('Failed constraints:', constraints);
532
+ printLogs('[getDeviceMediaStream] getUserMedia error:', error.name, error.message);
533
+ printLogs('[getDeviceMediaStream] Failed constraints:', constraints);
518
534
  throw error;
519
535
  }
520
536
  });
@@ -1 +1 @@
1
- {"version":3,"file":"camera.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/camera/camera.utils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EACL,cAAc,EAGd,UAAU,GAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEhF,MAAM,UAAU,oBAAoB;IAClC,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE;QAC1C,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAC3F,OAAO,SAAS,IAAI,SAAS,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,8DAA8D;IAC9D,IAAI,CAAC,YAAY,EAAE,EAAE;QACnB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,oBAAoB,EAAE,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,uBAAuB,CAAC,QAAoB;IAC1D,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,WAAW;;IACzB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,MAAK,SAAS,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU;;IACxB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,MAAK,QAAQ,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU;;IACxB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,MAAK,QAAQ,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW;;IACzB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,MAAM,MAAK,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,SAAS;;IACvB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,IAAI,MAAK,SAAS,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;;IAC9B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,yEAAyE;IACzE,gDAAgD;IAChD,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,IAAI,MAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,sBAAsB,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO;;IACrB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,IAAI,MAAK,KAAK,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,sBAAsB;;IACpC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,IAAI,MAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,OAAO,KAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB;;IACnC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,CAAC;IACnC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,eAAe,EAAE;QACjD,OAAO,QAAQ,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,KAAI,EAAE,EAAE,EAAE,CAAC,CAAC;KACrD;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB;;IACnC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,0CAAE,QAAQ,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,KAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,kBAAkB;;IAChC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,IAAI,MAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,OAAO,KAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB;;IACpC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,0CAAE,OAAO,KAAI,EAAE,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,SAAS;;IACvB,OAAO,WAAW,EAAE,KAAK,SAAS,IAAI,CAAA,MAAA,MAAA,cAAc,EAAE,0CAAE,EAAE,0CAAE,IAAI,MAAK,SAAS,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,KAAK;;IACnB,OAAO,WAAW,EAAE,KAAK,SAAS,IAAI,CAAA,MAAA,MAAA,cAAc,EAAE,0CAAE,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,OAAO;;IACrB,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,OAAO,CAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,EAAE,0CAAE,IAAI,MAAK,OAAO,CAAC;AAClC,CAAC;AAED,wFAAwF;AACxF,oFAAoF;AACpF,oFAAoF;AACpF,4BAA4B;AAC5B,MAAM,UAAU,WAAW;IACzB,IAAI,SAAS,EAAE,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,OAAO,EAAE,EAAE;QACb,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,EAAE,IAAI,gBAAgB,EAAE,IAAI,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,YAAY;IAC1B,uCAAuC;IACvC,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,OAAO,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,YAAY,EAAE,EAAE;QAClB,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,yCAAyC;QACzC,OAAO,qBAAqB,EAAE,IAAI,EAAE,CAAC;KACtC;IACD,cAAc;IACd,OAAO,kBAAkB,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB;IAC9B,2CAA2C;IAC3C,OAAO,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAW,EAAE;IACnD,MAAM,SAAS,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAA+C,EAAE,EAAE;IAC/G,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA,CAAC;IAC9F,OAAO,cAAc,EAAE,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,cAAuB;IACrE,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,QAAiB,EAAuB,EAAE;IAC5E,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,cAAc,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE;oBACb,cAAc,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnD;gBACD,OAAO,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,cAAc,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACpC,aAAa;gBACb,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE;oBAC3B,aAAa;oBACb,uCAAY,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,KAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG;iBACzF;gBACD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,EAAE;YACf,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,UAAU,CAAC;KACnB;IAAC,OAAO,KAAU,EAAE;QACnB,mDAAmD;QACnD,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,gBAAoC,EACpC,QAAqB,EACrB,cAAwB,EACxB,gBAAoD,EACpD,gBAAyB,EACzB,wBAAkC,EAClC,EAAE;IACF,oFAAoF;IACpF,IAAI,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,CAAC,CAAC,CAAC,CAAC,kCAAkC;IACtE,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;QACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC;QACrF,IAAI,cAAc,EAAE;YAClB,MAAM,GAAG,cAAc,CAAC;SACzB;aAAM;YACL,iBAAiB,GAAG,IAAI,CAAC;SAC1B;KACF;SAAM,IAAI,KAAK,EAAE,IAAI,cAAc,IAAI,gBAAgB,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,IAAG,CAAC,EAAE;QACxF,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC5E,CAAC;QACF,MAAM,GAAG,eAAe,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;KACjD;IAED,IAAI,UAAU,GAAG,gBAAgB,CAAC;IAClC,IAAI,cAAc,EAAE,EAAE;QACpB,mDAAmD;QACnD;QACE,iEAAiE;QACjE,CAAC,SAAS,EAAE,IAAI,qBAAqB,EAAE,IAAI,GAAG,CAAC;YAC/C,uDAAuD;YACvD,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,EACxC;YACA,UAAU,GAAG,MAAM,CAAC;SACrB;QAED,yFAAyF;QACzF,IAAI,wBAAwB,EAAE;YAC5B,SAAS,CAAC,uFAAuF,EAAE,EAAE,CAAC,CAAC;YACvG,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE;oBACL,UAAU,EAAE,QAAQ;iBACrB;aACF,CAAC;SACH;QAED,IAAI,UAAU,CAAC;QACf,IAAI,WAAW,CAAC;QAChB,IAAI,WAAW,CAAC;QAEhB,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,MAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;YACvD,kFAAkF;YAClF,uEAAuE;YACvE,MAAM,aAAa,GAAG,QAAQ,KAAK,UAAU,CAAC,IAAI,CAAC;YACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACjG,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAEpG,4FAA4F;YAC5F,UAAU,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjC,WAAW,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACnC,WAAW,GAAG,YAAY,CAAC;SAC5B;aAAM,IAAI,QAAQ,EAAE;YACnB,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC;gBAC5C,CAAC,CAAC,4DAA4D;oBAC5D,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACrC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;YACpC,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC;gBAC7C,CAAC,CAAC,4DAA4D;oBAC5D,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACrC,CAAC,CAAC,SAAS,CAAC;YACd,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SACpE;QAED,MAAM,gBAAgB,GAAG;YACvB,KAAK,EAAE,KAAK;YACZ,KAAK;gBACH,mFAAmF;gBACnF,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACnD,UAAU,EACV,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,IAEhB,CAAC,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,KAC9E,WAAW,GACZ;SACF,CAAC;QAEF,SAAS,CAAC,8CAA8C,EAAE,gBAAgB,CAAC,CAAC;QAE5E,OAAO,gBAAgB,CAAC;KACzB;IACD,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,WAAW,EAAE,GAAG;YAChB,sDAAsD;YACtD,MAAM,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE;YAC7C,UAAU;SACX;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,SAAc,EAAE,WAAmB;IAChE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE1C,wDAAwD;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE5C,6CAA6C;IAC7C,UAAU,CAAC,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;IACvC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAEzC,yDAAyD;IACzD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC,sDAAsD;IACtD,MAAM,eAAe,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEzF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAW,EAAE,WAAmB;IAChE,iDAAiD;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAErC,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC3C,MAAM,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IAE9C,uDAAuD;IACvD,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtD,8CAA8C;IAC9C,eAAe,CAAC,KAAK,GAAG,aAAa,CAAC;IACtC,eAAe,CAAC,MAAM,GAAG,cAAc,CAAC;IAExC,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;IAEnD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CACrB,MAAM,EACN,EAAE,EACF,EAAE,EACF,QAAQ,GAAG,WAAW,EACtB,SAAS,GAAG,WAAW;IACvB,iBAAiB;IACjB,sCAAsC;IACtC,6BAA6B;IAC7B,4DAA4D;IAC5D,CAAC,EACD,CAAC,EAAE,6BAA6B;IAChC,4BAA4B;IAC5B,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,+CAA+C;IAC/C,MAAM,SAAS,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAExE,wBAAwB;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,WAAmB,EAAE,EAAE;IAChE,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACxE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEF,MAAM,UAAgB,uBAAuB;;QAC3C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAA0B,EAAE,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;YACjC,SAAS,CAAC,6BAA6B,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;SACX;QACD,wEAAwE;QACxE,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACrD;QAAC,OAAO,KAAK,EAAE;YACd,SAAS,CAAC,2CAA2C,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACvE;QAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAExG,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA0B,EAAE,OAAe;IAChF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAA0B;IAC1D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAgB,kBAAkB,CAAC,OAA0B,EAAE,QAAgB;;QACnF,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAChF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CAAA;AAED;;;;GAIG;AAEH,MAAM,UAAU,6BAA6B,CAAC,iBAAyB;IACrE,SAAS,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9G,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC;AAC/D,CAAC;AAED,MAAM,UAAgB,UAAU,CAAC,YAAoB,EAAE,MAAmB;;QACxE,MAAM,OAAO,GAAqB,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAqB,CAAC;QAC5F,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;QAE9D,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,YAA8B,EAAE,MAAmB;IACxF,MAAM,qBAAqB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;QACtD,IAAI,YAAY,CAAC,SAAS,KAAK,MAAM,EAAE;YACrC,SAAS,CAAC,yEAAyE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACjG,6CAA6C;YAC7C,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,gBAA0D,EAC1D,sBAA+B,EAC/B,UAAkB;IAElB,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAE;QAC3B,OAAO,UAAU,CAAC;KACnB;IACD,IAAI,sBAAsB,EAAE;QAC1B,OAAO,aAAa,CAAC;KACtB;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,gBAA0D;IACxF,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE;QAC5B,OAAO,gBAAgB,CAAC,MAAM,CAAC;KAChC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,gBAA0D,EAC1D,sBAA+B;IAE/B,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAE;QAC3B,OAAO,YAAY,CAAC;KACrB;IACD,IAAI,sBAAsB,EAAE;QAC1B,OAAO,CAAC,CAAC;KACV;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAgB,mBAAmB,CACvC,MAAmB,EACnB,OAA0B,EAC1B,QAA+B,EAC/B,YAAoB;;QAEpB,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAErC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,YAAY,EAAE;YAChB,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;SAC3C;QAED,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAEvC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA0B,EAAE,EAAW,EAAE,WAAqB;IAC3F,IAAI,EAAE,EAAE;QACN,OAAO,EAAE,CAAC;KACX;IACD,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;IACnD,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC;IAE/F,IAAI,WAAW,EAAE;QACf,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,wBAAwB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;KAC/E;IACD,OAAO,wBAAwB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAgB,oBAAoB,CACxC,QAA4B,EAC5B,IAA8B,EAC9B,OAOC;;;QAED,MAAM,UAAU,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,KAAK,KAAI,YAAY,CAAC;QACpE,MAAM,WAAW,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,MAAM,KAAI,aAAa,CAAC;QACvE,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE;YAC3D,QAAQ;YACR,mBAAmB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB;YACjD,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAC3B,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YACvC,cAAc,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YACvC,wBAAwB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,wBAAwB;YAC3D,eAAe,EAAE;gBACf,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,WAAW;aACpB;SACF,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5D,SAAS,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;SACb;;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAgB,4BAA4B,CAChD,IAAwB,EACxB,MAQC;;QAED,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE;wBACL,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;wBACpC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE;wBAC9C,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE;wBAChD,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;wBACzD,UAAU,EAAE,MAAM;wBAClB,SAAS,EAAE,YAAY;wBACvB,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;qBACnD;iBACF,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE;wBACL,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;wBACpC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,oBAAoB;wBAC3D,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI;wBAC7C,WAAW,EAAE,YAAY;wBACzB,UAAU,EAAE,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;wBAC5E,SAAS,EAAE,YAAmB;qBAC/B;iBACF,CAAC;YAEJ,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE;wBACL,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;wBACpC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,oBAAoB;wBAC3D,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI;qBAC9C;iBACF,CAAC;YAEJ,KAAK,QAAQ;gBACX,0IAA0I;gBAC1I,OAAO,yBAAyB,CAC9B,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAClF,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,wBAAwB,CAChC,CAAC;YAEJ;gBACE,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI;iBACZ,CAAC;SACL;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"camera.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/camera/camera.utils.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare abstract class BaseCameraService implements Camera {
15
15
  protected videoMutationObserver: MutationObserver | null;
16
16
  abstract openCamera(props: OpenCameraProps): Promise<CameraOpenResult>;
17
17
  protected prepareCameraResult(stream: MediaStream, devices: MediaDeviceInfo[], faceMode: CameraFaceMode | null, videoElementId: string): Promise<CameraOpenResult>;
18
+ protected static waitForCameraRelease(targetDeviceId?: string, targetFaceMode?: CameraFaceMode): Promise<void>;
18
19
  closeCamera(element?: string): Promise<void>;
19
20
  cameraSwitch(params: CameraSwitchParams): Promise<SwitchCameraResult | null>;
20
21
  isActive(): boolean;
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  /* eslint-disable lines-between-class-members */
12
12
  import { CameraFaceMode, } from '../camera.types';
13
13
  import { printLogs, setDefaultCameraDeviceId } from '../../../global/shared.utils';
14
- import { startVideo } from '../camera.utils';
14
+ import { isBackCameraLabel, isMobileDevice, startVideo } from '../camera.utils';
15
15
  export class BaseCameraService {
16
16
  constructor() {
17
17
  /** Current video element ID being used for camera stream */
@@ -52,6 +52,40 @@ export class BaseCameraService {
52
52
  };
53
53
  });
54
54
  }
55
+ // function to wait until the camera is released before opening it again
56
+ static waitForCameraRelease(targetDeviceId, targetFaceMode) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const isDesktop = !isMobileDevice();
59
+ const maxAttempts = isDesktop ? 5 : 10; // desktop can try less times
60
+ const delayMs = isDesktop ? 100 : 150; // desktop can use shorter delay
61
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
62
+ try {
63
+ // build constraints based on target deviceId or faceMode
64
+ const testConstraints = {
65
+ audio: false,
66
+ video: targetDeviceId
67
+ ? { deviceId: { exact: targetDeviceId } }
68
+ : { facingMode: targetFaceMode === CameraFaceMode.back ? 'environment' : 'user' }
69
+ };
70
+ printLogs(`[waitForCameraRelease] Attempt ${attempt + 1} - Testing camera availability`, testConstraints);
71
+ const testStream = yield navigator.mediaDevices.getUserMedia(testConstraints);
72
+ // if succeeded, camera is released
73
+ testStream.getTracks().forEach(track => track.stop());
74
+ printLogs(`[waitForCameraRelease] Camera released after ${attempt} attempts`, '');
75
+ // Wait a bit more to ensure the track is really closed
76
+ yield new Promise(resolve => setTimeout(resolve, 100));
77
+ return;
78
+ }
79
+ catch (error) {
80
+ // Camera still busy, wait and try again
81
+ printLogs(`[waitForCameraRelease] Attempt ${attempt + 1}/${maxAttempts} - Camera still busy: ${error.name}`, '');
82
+ yield new Promise(resolve => setTimeout(resolve, delayMs));
83
+ }
84
+ }
85
+ // If reached here, couldn't verify but let's proceed
86
+ printLogs('[waitForCameraRelease] Max attempts reached, proceeding anyway', '', 'WARN');
87
+ });
88
+ }
55
89
  closeCamera(element) {
56
90
  return __awaiter(this, void 0, void 0, function* () {
57
91
  try {
@@ -59,13 +93,30 @@ export class BaseCameraService {
59
93
  const videoEl = document.getElementById(video);
60
94
  const streamFromElement = videoEl === null || videoEl === void 0 ? void 0 : videoEl.srcObject;
61
95
  if (streamFromElement) {
62
- streamFromElement.getTracks().forEach((track) => track.stop());
96
+ const tracks = streamFromElement.getTracks();
97
+ tracks.forEach((track) => {
98
+ printLogs('[closeCamera] Stopping track:', track.label);
99
+ track.stop();
100
+ });
63
101
  videoEl.srcObject = null;
102
+ // Wait for all tracks to finish stopping
103
+ yield Promise.all(tracks.map(track => new Promise(resolve => {
104
+ if (track.readyState === 'ended') {
105
+ resolve();
106
+ }
107
+ else {
108
+ track.onended = () => resolve();
109
+ setTimeout(() => resolve(), 1000);
110
+ }
111
+ })));
64
112
  }
65
113
  this.closeMediaStream();
66
114
  this.setCurrentDeviceId(null);
67
115
  this.setMediaDevices(null);
68
116
  this.closeVideoMutationObserver();
117
+ // backoff to ensure camera hardware is released
118
+ yield new Promise(resolve => setTimeout(resolve, 200));
119
+ printLogs('[closeCamera] Camera hardware released', '');
69
120
  }
70
121
  catch (err) {
71
122
  printLogs(`Close Camera: `, err, 'ERROR');
@@ -76,11 +127,29 @@ export class BaseCameraService {
76
127
  return __awaiter(this, void 0, void 0, function* () {
77
128
  if (!this.getVideoElementId())
78
129
  return null;
130
+ const mediaDevices = this.getMediaDevices();
131
+ // Security check: This is to prevent switching when no devices are available normally caused by race conditions where we have on attenpt to switch
132
+ // on "road" and the user tried to switch camera very fast multiple times what cause the race condition on browsers. To avoid this we just check if we have devices available before switching."
133
+ if (!mediaDevices || mediaDevices.length === 0) {
134
+ printLogs('[BaseCameraService] cameraSwitch: No media devices available', '', 'WARN');
135
+ return null;
136
+ }
137
+ const selectedDevice = mediaDevices.find((dev => dev.deviceId === params.deviceId));
138
+ // An additional security check to avoid switching to a non existing device
139
+ if (!selectedDevice) {
140
+ printLogs('[BaseCameraService] cameraSwitch: Device not found', params.deviceId, 'WARN');
141
+ return null;
142
+ }
143
+ const resolvedFaceMode = isBackCameraLabel(selectedDevice.label)
144
+ ? CameraFaceMode.back
145
+ : CameraFaceMode.front;
79
146
  printLogs('[BaseCameraService] cameraSwitch deviceId:', params.deviceId);
80
147
  yield this.closeCamera();
148
+ yield BaseCameraService.waitForCameraRelease(params.deviceId, resolvedFaceMode);
81
149
  const result = yield this.openCamera({
82
150
  videoElementId: this.getVideoElementId(),
83
151
  deviceId: params.deviceId,
152
+ requestFaceMode: resolvedFaceMode,
84
153
  });
85
154
  return {
86
155
  capabilities: result.capabilities,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/BaseCameraService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/BaseCameraService.ts"],"names":[],"mappings":"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"}
@@ -17,26 +17,13 @@ export class MobileCameraService extends BaseCameraService {
17
17
  openCamera(props) {
18
18
  var _a, _b;
19
19
  return __awaiter(this, void 0, void 0, function* () {
20
- printLogs('[MobileCameraService] openCamera props', props);
21
20
  try {
22
- localStorage.removeItem('defaultDeviceId'); // removing saved device id for mobile to avoid load the wrong camera
23
- // Close any existing camera stream before opening a new one
21
+ localStorage.removeItem('defaultDeviceId');
24
22
  if (this.isActive()) {
25
23
  yield this.closeCamera(props.videoElementId);
26
24
  }
27
25
  this.setVideoElementId(props.videoElementId);
28
26
  this.setFaceMode(props.requestFaceMode || CameraFaceMode.front);
29
- // Check camera permission status
30
- let hasPermission = false;
31
- try {
32
- const permission = yield navigator.permissions.query({ name: 'camera' });
33
- hasPermission = permission.state === 'granted';
34
- printLogs(`[MobileCameraService] openCamera browser permission state: `, permission.state);
35
- }
36
- catch (error) {
37
- // permissions API might not be available in all browsers
38
- printLogs(`[MobileCameraService] openCamera browser permission state fail: `, error);
39
- }
40
27
  let devices = yield getFilteredVideoDevices();
41
28
  // sorting the cameras to bring face cameras first when is face scan and back cameras first when is document scan
42
29
  if (props.requestFaceMode === CameraFaceMode.back) {
@@ -59,11 +46,14 @@ export class MobileCameraService extends BaseCameraService {
59
46
  if (devices.length === 0) {
60
47
  throw new Error('NO_CAMERA');
61
48
  }
49
+ const isFirstPermissionRequest = !props.deviceId && this.faceMode !== CameraFaceMode.back;
62
50
  // If we don't have permission yet (first time), use only facingMode for more reliable camera selection
63
51
  // If we already have permission, we can use deviceId for specific camera selection
64
- const useDeviceId = hasPermission && props.deviceId ? props.deviceId : undefined;
65
- const isFirstPermissionRequest = !hasPermission;
52
+ const useDeviceId = isFirstPermissionRequest ? undefined : props.deviceId;
53
+ printLogs('[MobileCameraService] Waiting for camera availability...', '');
54
+ yield BaseCameraService.waitForCameraRelease(useDeviceId, this.faceMode);
66
55
  printLogs(`[MobileCameraService] openCamera using deviceId: `, useDeviceId || 'auto (facingMode)');
56
+ printLogs(`[MobileCameraService] openCamera props deviceid: `, props.deviceId || 'none');
67
57
  printLogs(`[MobileCameraService] openCamera faceMode: `, this.faceMode);
68
58
  printLogs(`[MobileCameraService] openCamera isFirstPermissionRequest: `, isFirstPermissionRequest);
69
59
  const stream = yield getDeviceMediaStream(useDeviceId, 'mobile', {
@@ -1 +1 @@
1
- {"version":3,"file":"MobileCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/MobileCameraService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/MobileCameraService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAqC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAC3C,UAAU,CAAC,KAAsB;;;YAC5C,IAAI;gBACF,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACnB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;iBAC9C;gBAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;gBAEhE,IAAI,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC;gBAC9C,iHAAiH;gBACjH,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc,CAAC,IAAI,EAAE;oBACjD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,OAAO,OAAO,GAAG,OAAO,CAAC;oBAC3B,CAAC,CAAC,CAAC;iBACJ;qBAAM,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc,CAAC,KAAK,EAAE;oBACzD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpD,OAAO,QAAQ,GAAG,QAAQ,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBACJ;gBAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAChC,SAAS,CAAC,2CAA2C,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;iBAC9B;gBAED,MAAM,wBAAwB,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC;gBAE1F,uGAAuG;gBACvG,mFAAmF;gBACnF,MAAM,WAAW,GAAG,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAE1E,SAAS,CAAC,0DAA0D,EAAE,EAAE,CAAC,CAAC;gBAC1E,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEzE,SAAS,CAAC,mDAAmD,EAAE,WAAW,IAAI,mBAAmB,CAAC,CAAC;gBACnG,SAAS,CAAC,mDAAmD,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;gBACzF,SAAS,CAAC,6CAA6C,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxE,SAAS,CAAC,6DAA6D,EAAE,wBAAwB,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE;oBAC/D,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,OAAO;oBACvB,wBAAwB;iBACzB,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,MAAM,cAAc,GAAG,MAAA,MAAA,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,0CAAE,QAAQ,CAAC;gBAC3E,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACxC,SAAS,CAAC,sDAAsD,EAAE,cAAc,CAAC,CAAC;iBACnF;gBACD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;aAC7F;YAAC,OAAO,CAAC,EAAE;gBACV,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;aACb;;KACF;CACF"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@privateid/ultrapass-web-sdk",
3
3
  "homepage": "https://github.com/openinfer/ultraWebSDK?tab=readme-ov-file#ultra-web-sdk",
4
4
  "description": "Ultrapass Web SDK provides privacy-preserving biometric authentication and identity verification using Homomorphic Tokens (FTs). It enables secure face, voice, and fingerprint recognition directly in web browsers without exposing sensitive biometric data, ensuring user privacy without obligations under regulations like GDPR and CCPA.",
5
- "version": "1.1.0",
5
+ "version": "1.1.2",
6
6
  "keywords": [
7
7
  "Face recognition",
8
8
  "voice recognition",