@frankieone/one-sdk 0.6.7-rc.1 → 0.7.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +1 -1
  2. package/dist/commit.txt +2 -2
  3. package/dist/esm/modules/biometrics/{types/events.d.ts → events.d.ts} +2 -2
  4. package/dist/esm/modules/biometrics/events.js.map +1 -0
  5. package/dist/esm/modules/biometrics/index.d.ts +12 -3
  6. package/dist/esm/modules/biometrics/index.js +58 -75
  7. package/dist/esm/modules/biometrics/index.js.map +1 -1
  8. package/dist/esm/modules/biometrics/parseConfiguration.d.ts +2 -4
  9. package/dist/esm/modules/biometrics/parseConfiguration.js +0 -1
  10. package/dist/esm/modules/biometrics/parseConfiguration.js.map +1 -1
  11. package/dist/esm/modules/biometrics/vendors/OcrLabs/Liveness.js.map +1 -0
  12. package/dist/esm/modules/biometrics/vendors/OcrLabs/index.d.ts +4 -0
  13. package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/index.js +15 -20
  14. package/dist/esm/modules/biometrics/vendors/OcrLabs/index.js.map +1 -0
  15. package/dist/esm/modules/biometrics/vendors/OcrLabs/nolint_liveness-v3.1.1.min.umd.js.map +1 -0
  16. package/dist/esm/modules/biometrics/vendors/dummy-biometrics/green-tick-svg.js.map +1 -0
  17. package/dist/esm/modules/biometrics/vendors/dummy-biometrics/index.d.ts +3 -0
  18. package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/index.js +10 -16
  19. package/dist/esm/modules/biometrics/vendors/dummy-biometrics/index.js.map +1 -0
  20. package/dist/esm/modules/common/index.d.ts +4 -3
  21. package/dist/esm/modules/common/index.js +4 -3
  22. package/dist/esm/modules/common/index.js.map +1 -1
  23. package/dist/esm/modules/common/modules/HOF.d.ts +7 -18
  24. package/dist/esm/modules/common/modules/HOF.js +26 -9
  25. package/dist/esm/modules/common/modules/HOF.js.map +1 -1
  26. package/dist/esm/modules/common/modules/eventHub.d.ts +2 -2
  27. package/dist/esm/modules/common/modules/vendorLoading.d.ts +69 -45
  28. package/dist/esm/modules/common/modules/vendorLoading.js +134 -67
  29. package/dist/esm/modules/common/modules/vendorLoading.js.map +1 -1
  30. package/dist/esm/modules/common/types/Accessors.d.ts +3 -3
  31. package/dist/esm/modules/common/types/RecipeConfiguration.js +2 -0
  32. package/dist/esm/modules/common/types/RecipeConfiguration.js.map +1 -0
  33. package/dist/esm/modules/configuration.d.ts +18 -0
  34. package/dist/esm/modules/configuration.js +16 -0
  35. package/dist/esm/modules/configuration.js.map +1 -0
  36. package/dist/esm/modules/device/constants.d.ts +1 -1
  37. package/dist/esm/modules/device/constants.js +8 -1
  38. package/dist/esm/modules/device/constants.js.map +1 -1
  39. package/dist/esm/modules/device/{types/events.d.ts → events.d.ts} +3 -4
  40. package/dist/esm/modules/device/events.js.map +1 -0
  41. package/dist/esm/modules/device/index.d.ts +22 -3
  42. package/dist/esm/modules/device/index.js +64 -84
  43. package/dist/esm/modules/device/index.js.map +1 -1
  44. package/dist/esm/modules/device/parseConfiguration.d.ts +2 -5
  45. package/dist/esm/modules/device/parseConfiguration.js +3 -4
  46. package/dist/esm/modules/device/parseConfiguration.js.map +1 -1
  47. package/dist/esm/modules/device/vendors/Sardine.d.ts +3 -2
  48. package/dist/esm/modules/device/vendors/Sardine.js +36 -34
  49. package/dist/esm/modules/device/vendors/Sardine.js.map +1 -1
  50. package/dist/esm/modules/device/vendors/Threatmetrix/index.d.ts +3 -2
  51. package/dist/esm/modules/device/vendors/Threatmetrix/index.js +18 -30
  52. package/dist/esm/modules/device/vendors/Threatmetrix/index.js.map +1 -1
  53. package/dist/esm/modules/federation/events.js.map +1 -0
  54. package/dist/esm/modules/federation/index.d.ts +12 -3
  55. package/dist/esm/modules/federation/index.js +46 -65
  56. package/dist/esm/modules/federation/index.js.map +1 -1
  57. package/dist/esm/modules/federation/parseConfiguration.d.ts +2 -2
  58. package/dist/esm/modules/federation/parseConfiguration.js +9 -9
  59. package/dist/esm/modules/federation/parseConfiguration.js.map +1 -1
  60. package/dist/esm/modules/federation/vendors/Singpass.d.ts +4 -3
  61. package/dist/esm/modules/federation/vendors/Singpass.js +16 -23
  62. package/dist/esm/modules/federation/vendors/Singpass.js.map +1 -1
  63. package/dist/esm/modules/frankie-client/index.d.ts +2 -2
  64. package/dist/esm/modules/frankie-client/index.js +8 -4
  65. package/dist/esm/modules/frankie-client/index.js.map +1 -1
  66. package/dist/esm/modules/index.d.ts +8 -3
  67. package/dist/esm/modules/index.js +19 -1
  68. package/dist/esm/modules/index.js.map +1 -1
  69. package/dist/esm/modules/individual/actions/documents.d.ts +1 -1
  70. package/dist/esm/modules/individual/actions/emitEvents.d.ts +1 -1
  71. package/dist/esm/modules/individual/actions/search.d.ts +1 -1
  72. package/dist/esm/modules/individual/actions/search.js.map +1 -1
  73. package/dist/esm/modules/individual/actions/submit.d.ts +2 -2
  74. package/dist/esm/modules/individual/actions/submit.js.map +1 -1
  75. package/dist/esm/modules/individual/{types/events.d.ts → events.d.ts} +1 -1
  76. package/dist/esm/modules/individual/events.js.map +1 -0
  77. package/dist/esm/modules/individual/index.d.ts +29 -2
  78. package/dist/esm/modules/individual/index.js +66 -67
  79. package/dist/esm/modules/individual/index.js.map +1 -1
  80. package/dist/esm/modules/meta.json +1 -1
  81. package/dist/esm/modules/ocr/actions/start.d.ts +2 -2
  82. package/dist/esm/modules/ocr/{types/events.d.ts → events.d.ts} +2 -2
  83. package/dist/esm/modules/ocr/events.js.map +1 -0
  84. package/dist/esm/modules/ocr/index.d.ts +29 -8
  85. package/dist/esm/modules/ocr/index.js +45 -52
  86. package/dist/esm/modules/ocr/index.js.map +1 -1
  87. package/dist/esm/modules/sdk/index.d.ts +1 -1
  88. package/dist/esm/modules/sdk/index.js +11 -11
  89. package/dist/esm/modules/sdk/index.js.map +1 -1
  90. package/dist/esm/modules/sdk/initialisation/componentLoader.d.ts +1 -1
  91. package/dist/esm/modules/sdk/initialisation/componentLoader.js +24 -10
  92. package/dist/esm/modules/sdk/initialisation/componentLoader.js.map +1 -1
  93. package/dist/esm/modules/sdk/initialisation/configurationParser.d.ts +9 -10
  94. package/dist/esm/modules/sdk/initialisation/configurationParser.js +39 -20
  95. package/dist/esm/modules/sdk/initialisation/configurationParser.js.map +1 -1
  96. package/dist/esm/modules/sdk/initialisation/sharedDependencies.d.ts +2 -3
  97. package/dist/esm/modules/sdk/initialisation/sharedDependencies.js +6 -4
  98. package/dist/esm/modules/sdk/initialisation/sharedDependencies.js.map +1 -1
  99. package/dist/esm/modules/sdk/types/{events.d.ts → globalEvents.d.ts} +2 -2
  100. package/dist/esm/modules/sdk/types/globalEvents.js +2 -0
  101. package/dist/esm/modules/sdk/types/globalEvents.js.map +1 -0
  102. package/dist/esm/modules/sdk/types/index.d.ts +5 -4
  103. package/dist/esm/modules/sdk/types/index.js +5 -4
  104. package/dist/esm/modules/sdk/types/index.js.map +1 -1
  105. package/dist/esm/modules/sdk/types/oneSDK.d.ts +13 -0
  106. package/dist/esm/modules/sdk/types/oneSDK.js +2 -0
  107. package/dist/esm/modules/sdk/types/oneSDK.js.map +1 -0
  108. package/dist/esm/modules/sdk/types/oneSDKModules.d.ts +82 -0
  109. package/dist/esm/modules/sdk/types/oneSDKModules.js +2 -0
  110. package/dist/esm/modules/sdk/types/oneSDKModules.js.map +1 -0
  111. package/dist/esm/modules/sdk/types/{configuration.d.ts → oneSDKParameters.d.ts} +6 -20
  112. package/dist/esm/modules/sdk/types/oneSDKParameters.js +8 -0
  113. package/dist/esm/modules/sdk/types/oneSDKParameters.js.map +1 -0
  114. package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.d.ts +11 -0
  115. package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.js +2 -0
  116. package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.js.map +1 -0
  117. package/dist/esm/modules/session/SessionContext.d.ts +4 -1
  118. package/dist/esm/modules/session/SessionContext.js +6 -0
  119. package/dist/esm/modules/session/SessionContext.js.map +1 -1
  120. package/dist/esm/modules/session/index.d.ts +4 -5
  121. package/dist/esm/modules/session/index.js +21 -23
  122. package/dist/esm/modules/session/index.js.map +1 -1
  123. package/dist/esm/types/Primitives.d.ts +9 -1
  124. package/dist/esm/types/Utilities.d.ts +12 -0
  125. package/dist/release.txt +2 -2
  126. package/dist/umd/biometrics-dummy.js +1 -1
  127. package/dist/umd/biometrics-dummy.js.map +1 -1
  128. package/dist/umd/biometrics-ocrlabs.js +1 -1
  129. package/dist/umd/biometrics-ocrlabs.js.map +1 -1
  130. package/dist/umd/device-sardine.js +1 -1
  131. package/dist/umd/device-sardine.js.map +1 -1
  132. package/dist/umd/device-threatmetrix.js +1 -1
  133. package/dist/umd/device-threatmetrix.js.map +1 -1
  134. package/dist/umd/oneSdk.umd.js +1 -1
  135. package/dist/umd/oneSdk.umd.js.map +1 -1
  136. package/dist/version.txt +2 -2
  137. package/package.json +1 -1
  138. package/dist/esm/modules/biometrics/types/events.js.map +0 -1
  139. package/dist/esm/modules/biometrics/types/index.d.ts +0 -3
  140. package/dist/esm/modules/biometrics/types/index.js +0 -4
  141. package/dist/esm/modules/biometrics/types/index.js.map +0 -1
  142. package/dist/esm/modules/biometrics/types/module.d.ts +0 -8
  143. package/dist/esm/modules/biometrics/types/module.js +0 -2
  144. package/dist/esm/modules/biometrics/types/module.js.map +0 -1
  145. package/dist/esm/modules/biometrics/types/wrapper.d.ts +0 -19
  146. package/dist/esm/modules/biometrics/types/wrapper.js +0 -2
  147. package/dist/esm/modules/biometrics/types/wrapper.js.map +0 -1
  148. package/dist/esm/modules/biometrics/wrappers/OcrLabs/Liveness.js.map +0 -1
  149. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.d.ts +0 -3
  150. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js.map +0 -1
  151. package/dist/esm/modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.1.1.min.umd.js.map +0 -1
  152. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js.map +0 -1
  153. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.d.ts +0 -2
  154. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js.map +0 -1
  155. package/dist/esm/modules/common/constants.d.ts +0 -8
  156. package/dist/esm/modules/common/constants.js +0 -11
  157. package/dist/esm/modules/common/constants.js.map +0 -1
  158. package/dist/esm/modules/common/types/Configuration.js +0 -2
  159. package/dist/esm/modules/common/types/Configuration.js.map +0 -1
  160. package/dist/esm/modules/device/types/events.js.map +0 -1
  161. package/dist/esm/modules/device/types/index.d.ts +0 -3
  162. package/dist/esm/modules/device/types/index.js +0 -4
  163. package/dist/esm/modules/device/types/index.js.map +0 -1
  164. package/dist/esm/modules/device/types/module.d.ts +0 -13
  165. package/dist/esm/modules/device/types/module.js +0 -2
  166. package/dist/esm/modules/device/types/module.js.map +0 -1
  167. package/dist/esm/modules/device/types/wrapper.d.ts +0 -34
  168. package/dist/esm/modules/device/types/wrapper.js +0 -2
  169. package/dist/esm/modules/device/types/wrapper.js.map +0 -1
  170. package/dist/esm/modules/federation/types/events.js.map +0 -1
  171. package/dist/esm/modules/federation/types/module.d.ts +0 -8
  172. package/dist/esm/modules/federation/types/module.js +0 -2
  173. package/dist/esm/modules/federation/types/module.js.map +0 -1
  174. package/dist/esm/modules/federation/types/wrapper.d.ts +0 -18
  175. package/dist/esm/modules/federation/types/wrapper.js +0 -2
  176. package/dist/esm/modules/federation/types/wrapper.js.map +0 -1
  177. package/dist/esm/modules/individual/types/events.js.map +0 -1
  178. package/dist/esm/modules/individual/types/index.d.ts +0 -2
  179. package/dist/esm/modules/individual/types/index.js +0 -3
  180. package/dist/esm/modules/individual/types/index.js.map +0 -1
  181. package/dist/esm/modules/individual/types/module.d.ts +0 -31
  182. package/dist/esm/modules/individual/types/module.js +0 -2
  183. package/dist/esm/modules/individual/types/module.js.map +0 -1
  184. package/dist/esm/modules/ocr/types/events.js.map +0 -1
  185. package/dist/esm/modules/ocr/types/index.d.ts +0 -2
  186. package/dist/esm/modules/ocr/types/index.js +0 -3
  187. package/dist/esm/modules/ocr/types/index.js.map +0 -1
  188. package/dist/esm/modules/ocr/types/module.d.ts +0 -26
  189. package/dist/esm/modules/ocr/types/module.js +0 -2
  190. package/dist/esm/modules/ocr/types/module.js.map +0 -1
  191. package/dist/esm/modules/sdk/types/components.d.ts +0 -25
  192. package/dist/esm/modules/sdk/types/components.js +0 -2
  193. package/dist/esm/modules/sdk/types/components.js.map +0 -1
  194. package/dist/esm/modules/sdk/types/configuration.js +0 -38
  195. package/dist/esm/modules/sdk/types/configuration.js.map +0 -1
  196. package/dist/esm/modules/sdk/types/events.js +0 -2
  197. package/dist/esm/modules/sdk/types/events.js.map +0 -1
  198. package/dist/esm/modules/sdk/types/module.d.ts +0 -16
  199. package/dist/esm/modules/sdk/types/module.js +0 -2
  200. package/dist/esm/modules/sdk/types/module.js.map +0 -1
  201. /package/dist/esm/modules/biometrics/{types/events.js → events.js} +0 -0
  202. /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/Liveness.d.ts +0 -0
  203. /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/Liveness.js +0 -0
  204. /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/nolint_liveness-v3.1.1.min.umd.js +0 -0
  205. /package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/green-tick-svg.d.ts +0 -0
  206. /package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/green-tick-svg.js +0 -0
  207. /package/dist/esm/modules/common/types/{Configuration.d.ts → RecipeConfiguration.d.ts} +0 -0
  208. /package/dist/esm/modules/device/{types/events.js → events.js} +0 -0
  209. /package/dist/esm/modules/federation/{types/events.d.ts → events.d.ts} +0 -0
  210. /package/dist/esm/modules/federation/{types/events.js → events.js} +0 -0
  211. /package/dist/esm/modules/individual/{types/events.js → events.js} +0 -0
  212. /package/dist/esm/modules/ocr/{types/events.js → events.js} +0 -0
package/README.md CHANGED
@@ -1 +1 @@
1
- https://apidocs.frankiefinancial.com/docs/about-onesdk
1
+ https://apidocs.frankiefinancial.com/docs/about-onesdk
package/dist/commit.txt CHANGED
@@ -1,2 +1,2 @@
1
- e6b3758b9923263ddfefe5470afc2ae96ca33982
2
- e6b3758b9923263ddfefe5470afc2ae96ca33982
1
+ d81d99c427884e36b880ad06cb1aa7def05957cc
2
+ d81d99c427884e36b880ad06cb1aa7def05957cc
@@ -1,5 +1,5 @@
1
- import { Vendor } from "../constants";
2
- import { Status } from "../../frankie-client/clients/IDVClient";
1
+ import { Status } from "../frankie-client/clients/IDVClient";
2
+ import { Vendor } from "./constants";
3
3
  export declare type Events = {
4
4
  vendor_sdk_loaded: [{
5
5
  vendor: Vendor;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../modules/biometrics/events.ts"],"names":[],"mappings":""}
@@ -1,4 +1,13 @@
1
- import { BiometricsModule } from "./types";
1
+ import { EventHub } from "../common";
2
+ import { ModuleContext, ModuleInitialiseFunction } from "../sdk/types";
3
+ import { Events } from "./events";
2
4
  export * from "./constants";
3
- export * from "./types";
4
- export declare const biometricsModule: BiometricsModule;
5
+ export declare const initialise: ModuleInitialiseFunction<"biometrics", BiometricsModuleContext>;
6
+ export declare type BiometricsModuleContext = ModuleContext<{
7
+ mount(domElementOrSelector: string | HTMLElement): void;
8
+ }, Events>;
9
+ export declare type BiometricsWrapperContext = Record<string, never>;
10
+ export declare type BiometricsWrapperOptions = {
11
+ eventHub: EventHub<Events>;
12
+ mountElement: HTMLElement;
13
+ };
@@ -1,80 +1,63 @@
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 { loadAndInitialiseVendor, mkEventHub, mkEventListener } from "../common";
1
+ import { mkEventHub, mkEventListener, mkVendorLoader } from "../common";
11
2
  import { SdkModes } from "../sdk/types";
12
3
  import { validateConfiguration } from "./parseConfiguration";
13
4
  export * from "./constants";
14
- export * from "./types";
15
- export const biometricsModule = {
16
- initialise: (options) => {
17
- options = validateConfiguration(options);
18
- const { globalEventHub, recipe } = options;
19
- const eventHub = mkEventHub();
20
- let vendorContext;
21
- const mount = (domElementOrSelector) => {
22
- const mountElement = typeof domElementOrSelector === "string" ? document.querySelector(domElementOrSelector) : domElementOrSelector;
23
- // If initialising in dummy mode, force the use of the dummy-biometrics wrapper
24
- // otherwise load the wrapper based on the provider's name
25
- const vendorName = options.mode === SdkModes.DUMMY ? "dummy-biometrics" : recipe.biometrics.provider.name;
26
- loadAndInitialiseVendor({
27
- componentName: "biometrics",
28
- eventHub,
29
- wrapperOptions: Object.assign(Object.assign({}, options), { eventHub, mountElement }),
30
- vendorName: vendorName,
31
- moduleOptions: options,
32
- preInitialisation: () => {
33
- if (vendorContext) {
34
- globalEventHub.emit("warning", {
35
- message: "Double initialisation of Biometrics module detected.",
36
- });
37
- }
38
- if (!mountElement)
39
- throw new Error(`DOM Element ${domElementOrSelector} not found.`);
40
- },
41
- vendorLoader: ({ vendorName }) => __awaiter(void 0, void 0, void 0, function* () {
42
- // Expects file with interface { wrapper: VendorWrapper }
43
- let moduleLoader;
44
- if (vendorName === "ocrlabs")
45
- moduleLoader = import(/* webpackChunkName: 'biometrics-ocrlabs' */ "./wrappers/OcrLabs/index");
46
- if (vendorName === "dummy-biometrics")
47
- moduleLoader = import(/* webpackChunkName: 'biometrics-dummy' */ "./wrappers/dummy-biometrics/index");
48
- if (!moduleLoader)
49
- throw new Error(`Vendor not recognised: '${vendorName}'`);
50
- return moduleLoader.then((module) => module.wrapper);
51
- }),
52
- onSuccess: (context) => {
53
- globalEventHub.emit("telemetry", {
54
- eventName: "BIOMETRICS:MOUNT",
55
- data: { vendor: vendorName },
56
- });
57
- vendorContext = context; // TODO: remove this type casting (doesn't work for ts@6.4)
58
- },
59
- onError: (error) => {
60
- globalEventHub.emit("telemetry", {
61
- eventName: "BIOMETRICS:MOUNT:ERROR",
62
- data: { vendor: vendorName },
63
- error,
64
- });
65
- },
66
- });
67
- };
68
- // Event mappings for telemetry
69
- eventHub.on("results", (results) => globalEventHub.emit("telemetry", {
70
- eventName: "BIOMETRICS:RESULTS",
71
- data: results,
72
- }));
73
- eventHub.on("processing", (status) => globalEventHub.emit("telemetry", {
74
- eventName: "BIOMETRICS:PROCESSING",
75
- data: status,
76
- }));
77
- return Object.assign(Object.assign({}, mkEventListener(eventHub)), { mount });
78
- },
5
+ export const initialise = (sharedConfiguration) => {
6
+ validateConfiguration(sharedConfiguration);
7
+ const { globalEventHub, recipe } = sharedConfiguration;
8
+ const eventHub = mkEventHub();
9
+ const loadVendorWrapper = mkVendorLoader({
10
+ // If initialising in dummy mode, force the use of the dummy-biometrics wrapper
11
+ // otherwise load the wrapper based on the provider's name
12
+ vendorName: sharedConfiguration.mode.modeName === SdkModes.DUMMY ? "dummy-biometrics" : recipe.biometrics.provider.name,
13
+ sharedConfiguration,
14
+ vendorLoader: {
15
+ ocrlabs: () => import(/* webpackChunkName: 'biometrics-ocrlabs' */ "./vendors/OcrLabs/index"),
16
+ "dummy-biometrics": () => import(/* webpackChunkName: 'biometrics-dummy' */ "./vendors/dummy-biometrics/index"),
17
+ },
18
+ });
19
+ // Publicly exposed "mount" function
20
+ const mount = (domElementOrSelector) => {
21
+ // Load and initialise vendor wrapper
22
+ // Which will automatically mount camera feed to HTML element provided as parameter above
23
+ loadVendorWrapper({
24
+ vendorWrapperOptions: () => {
25
+ // Resolve the target HTML Element
26
+ const mountElement = typeof domElementOrSelector === "string"
27
+ ? window.document.querySelector(domElementOrSelector)
28
+ : domElementOrSelector;
29
+ if (!mountElement)
30
+ throw new Error(`DOM Element ${domElementOrSelector} not found.`);
31
+ // Return values required by the wrapper and the vendor loading function
32
+ return {
33
+ eventHub,
34
+ mountElement,
35
+ };
36
+ },
37
+ onSuccess: (_, { vendorName }) => {
38
+ globalEventHub.emit("telemetry", {
39
+ eventName: "BIOMETRICS:MOUNT",
40
+ data: { vendor: vendorName },
41
+ });
42
+ },
43
+ onError: (error, { vendorName }) => {
44
+ globalEventHub.emit("telemetry", {
45
+ eventName: "BIOMETRICS:MOUNT:ERROR",
46
+ data: { vendor: vendorName },
47
+ error,
48
+ });
49
+ },
50
+ });
51
+ };
52
+ // Event mappings for telemetry
53
+ eventHub.on("results", (results) => globalEventHub.emit("telemetry", {
54
+ eventName: "BIOMETRICS:RESULTS",
55
+ data: results,
56
+ }));
57
+ eventHub.on("processing", (status) => globalEventHub.emit("telemetry", {
58
+ eventName: "BIOMETRICS:PROCESSING",
59
+ data: status,
60
+ }));
61
+ return Object.assign(Object.assign({}, mkEventListener(eventHub)), { mount });
79
62
  };
80
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/biometrics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/biometrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAA2C,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,cAAc,aAAa,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAoE,CAAC,mBAAmB,EAAE,EAAE;IACjH,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAE3C,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,EAAU,CAAC;IAEtC,MAAM,iBAAiB,GAAG,cAAc,CAAC;QACvC,+EAA+E;QAC/E,0DAA0D;QAC1D,UAAU,EACR,mBAAmB,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;QAC7G,mBAAmB;QACnB,YAAY,EAAE;YACZ,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC,yBAAyB,CAAC;YAC7F,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,kCAAkC,CAAC;SAChH;KACF,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,KAAK,GAAG,CAAC,oBAA0C,EAAE,EAAE;QAC3D,qCAAqC;QACrC,yFAAyF;QACzF,iBAAiB,CAAC;YAChB,oBAAoB,EAAE,GAAG,EAAE;gBACzB,kCAAkC;gBAClC,MAAM,YAAY,GAChB,OAAO,oBAAoB,KAAK,QAAQ;oBACtC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAc,oBAAoB,CAAC;oBAClE,CAAC,CAAC,oBAAoB,CAAC;gBAC3B,IAAI,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,oBAAoB,aAAa,CAAC,CAAC;gBACrF,wEAAwE;gBACxE,OAAO;oBACL,QAAQ;oBACR,YAAY;iBACb,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC/B,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC/B,SAAS,EAAE,kBAAkB;oBAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACjC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC/B,SAAS,EAAE,wBAAwB;oBACnC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;oBAC5B,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CACjC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;QAC/B,SAAS,EAAE,oBAAoB;QAC/B,IAAI,EAAE,OAAO;KACd,CAAC,CACH,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACnC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;QAC/B,SAAS,EAAE,uBAAuB;QAClC,IAAI,EAAE,MAAM;KACb,CAAC,CACH,CAAC;IAEF,uCACK,eAAe,CAAC,QAAQ,CAAC,KAC5B,KAAK,IACL;AACJ,CAAC,CAAC"}
@@ -1,4 +1,2 @@
1
- import { BaseModuleOptions } from "../sdk/types";
2
- declare type AllConfiguration = BaseModuleOptions;
3
- export declare function validateConfiguration(options: AllConfiguration): AllConfiguration;
4
- export {};
1
+ import { SharedConfiguration } from "../sdk/types";
2
+ export declare function validateConfiguration(options: SharedConfiguration): void;
@@ -2,6 +2,5 @@ export function validateConfiguration(options) {
2
2
  const { recipe } = options;
3
3
  if (!recipe.biometrics)
4
4
  throw new Error("Missing biometrics configuration");
5
- return options;
6
5
  }
7
6
  //# sourceMappingURL=parseConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseConfiguration.js","sourceRoot":"","sources":["../../../../modules/biometrics/parseConfiguration.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CAAC,OAAyB;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC5E,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"parseConfiguration.js","sourceRoot":"","sources":["../../../../modules/biometrics/parseConfiguration.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Liveness.js","sourceRoot":"","sources":["../../../../../../modules/biometrics/vendors/OcrLabs/Liveness.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { BiometricsWrapperContext, BiometricsWrapperOptions } from "../../../biometrics";
2
+ import { WrapperInitialiseFunction } from "../../../sdk";
3
+ import "./nolint_liveness-v3.1.1.min.umd.js";
4
+ export declare const initialise: WrapperInitialiseFunction<BiometricsWrapperOptions, BiometricsWrapperContext, "async">;
@@ -37,19 +37,12 @@ const createOverlay = (strokeColour) => {
37
37
  }
38
38
  return imageElement;
39
39
  };
40
- export const wrapper = {
41
- vendor: "ocrlabs",
42
- initialise(options) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- // prematurely mount our ui to the dom before sdk session initialisation.
45
- mountUserInterface(options);
46
- return {
47
- vendor: "ocrlabs",
48
- };
49
- });
50
- },
51
- };
52
- const mountUserInterface = (options) => {
40
+ export const initialise = (shared, options) => __awaiter(void 0, void 0, void 0, function* () {
41
+ // prematurely mount our ui to the dom before sdk session initialisation.
42
+ mountUserInterface(shared, options);
43
+ return {};
44
+ });
45
+ const mountUserInterface = (shared, options) => {
53
46
  const { mountElement: originalElement } = options;
54
47
  const mountElement = originalElement.cloneNode(true);
55
48
  originalElement.parentNode.replaceChild(mountElement, originalElement);
@@ -120,7 +113,7 @@ const mountUserInterface = (options) => {
120
113
  zIndex: "3",
121
114
  });
122
115
  mountElement.appendChild(instructions);
123
- loadOcrLabs(options);
116
+ loadOcrLabs(shared, options);
124
117
  return videoElement;
125
118
  };
126
119
  // reset to the original container dom element and close the ocrlabs session.
@@ -141,9 +134,10 @@ const cleanup = (options) => __awaiter(void 0, void 0, void 0, function* () {
141
134
  }
142
135
  return true;
143
136
  });
144
- const loadOcrLabs = (options) => __awaiter(void 0, void 0, void 0, function* () {
145
- const idvClient = new IDVClient(options.frankieClient);
146
- const { eventHub, recipe } = options;
137
+ const loadOcrLabs = (shared, options) => __awaiter(void 0, void 0, void 0, function* () {
138
+ const { frankieClient, recipe } = shared;
139
+ const { eventHub } = options;
140
+ const idvClient = new IDVClient(frankieClient);
147
141
  // fetch session data for ocrlabs initialisation.
148
142
  const { token: session_id } = yield idvClient.getToken();
149
143
  const sessionData = {
@@ -175,7 +169,7 @@ const loadOcrLabs = (options) => __awaiter(void 0, void 0, void 0, function* ()
175
169
  videoElement.style.display = "block";
176
170
  overlayContainer.style.display = "block";
177
171
  eventHub.emit("ready");
178
- runLivenessChecks(options, idvClient);
172
+ runLivenessChecks(shared, options, idvClient);
179
173
  }
180
174
  catch (error) {
181
175
  eventHub.emit("session_data_failed_loading", {
@@ -185,8 +179,9 @@ const loadOcrLabs = (options) => __awaiter(void 0, void 0, void 0, function* ()
185
179
  cleanup(options);
186
180
  }
187
181
  });
188
- const runLivenessChecks = (options, idvClient) => __awaiter(void 0, void 0, void 0, function* () {
189
- const { eventHub, recipe: { biometrics: { is_synchronous: isSynchronous }, }, } = options;
182
+ const runLivenessChecks = (shared, options, idvClient) => __awaiter(void 0, void 0, void 0, function* () {
183
+ const { recipe: { biometrics: { is_synchronous: isSynchronous }, }, } = shared;
184
+ const { eventHub } = options;
190
185
  const overlayContainer = document.getElementById("onesdk_idv_overlay");
191
186
  const instructions = document.getElementById("onesdk_idv_instructions");
192
187
  overlayContainer.style.display = "block";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../modules/biometrics/vendors/OcrLabs/index.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,qCAAqC,CAAC;AAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAWjC,MAAM,aAAa,GAAG,CAAC,YAA4B,EAAoB,EAAE;IACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IACvC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACnC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAClC,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACzC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAEhC,QAAQ,YAAY,EAAE;QACpB,KAAK,OAAO,CAAC,CAAC;YACZ,YAAY,CAAC,GAAG;gBACd,w0EAAw0E,CAAC;YAC30E,MAAM;SACP;QACD,KAAK,KAAK,CAAC,CAAC;YACV,YAAY,CAAC,GAAG;gBACd,w0EAAw0E,CAAC;YAC30E,MAAM;SACP;QACD,KAAK,OAAO,CAAC;QACb,OAAO,CAAC,CAAC;YACP,YAAY,CAAC,GAAG;gBACd,w0EAAw0E,CAAC;SAC50E;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,UAAU,GAInB,CAAO,MAAM,EAAE,OAAO,EAAE,EAAE;IAC5B,yEAAyE;IACzE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAA,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAA2B,EAAE,OAAiC,EAAoB,EAAE;IAC9G,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAA2B,CAAC;IAC/E,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAEvE,YAAY,CAAC,EAAE,GAAG,sBAAsB,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,GAAG,mBAAmB,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QAC1B,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,gDAAgD;QAC5D,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC;IAChC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,GAAG,kBAAkB,CAAC;IACrC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QAChC,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,aAAa,EAAE,2BAA2B;KACtD,CAAC,CAAC;IACH,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,GAAG,oBAAoB,CAAC;IAC3C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QACpC,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,GAAG;KACZ,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,GAAG,yBAAyB,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QAChC,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,gDAAgD;QAC5D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAC;IACH,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEvC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,OAAO,GAAG,CAAO,OAAiC,EAAoB,EAAE;IAC5E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAE3C,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IACrE,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEjF,IAAI;QACF,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,QAAQ,CAAC,IAAI,CACX,OAAO,EACP,IAAI,WAAW,CAAC,iCAAiC,EAAE;YACjD,OAAO;SACR,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,WAAW,GAAG,CAAO,MAA2B,EAAE,OAAiC,EAAiB,EAAE;IAC1G,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/C,iDAAiD;IACjD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEzD,MAAM,WAAW,GAAgB;QAC/B,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK;KACxC,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACtC,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAgC,CAAC;IAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAEvE,gDAAgD;IAChD,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,WAAW,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAI;QACF,MAAM,QAAQ,CAAC,aAAa,CAAC,sCAAsC,EAAE;YACnE,YAAY;YACZ,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,+FAA+F;QAC/F,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACrC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KAC/C;IAAC,OAAO,KAAK,EAAE;QACd,QAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC3C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC;KAClB;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAA2B,EAC3B,OAAiC,EACjC,SAAoB,EACpB,EAAE;IACF,MAAM,EACJ,MAAM,EAAE,EACN,UAAU,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,GAC9C,GACF,GAAG,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAExE,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACzC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAErC,8DAA8D;IAC9D,MAAM,eAAe,GAAG,CAAO,IAAmB,EAAE,eAAuB,EAAE,EAAE;QAC7E,MAAM,4BAA4B,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;QAE5D,MAAM,SAAS,GAAG,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC;YACzC,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC1D,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAErD,IAAI;gBACF,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;oBAC1B,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnC,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC1D,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAErD,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EAAE,4BAA4B,CAAC,CAAC;aAClC;YAAC,OAAO,KAAK,EAAE;gBACd,YAAY,CAAC,SAAS,GAAG,sBAAsB,CAAC;gBAChD,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC1D,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAChC,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;iBACvD,CAAC,CAAC;gBAEH,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,EAAE,4BAA4B,CAAC,CAAC;aAClC;QACH,CAAC,CAAA,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAA,CAAC;IAEF,MAAM,eAAe,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACrE,MAAM,eAAe,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;IAE9D,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEpC,IAAI;QACF,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,CAAC,uCAAuC;QAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QAExF,QAAQ,WAAW,EAAE;YACnB,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CACX,OAAO,EACP,IAAI,WAAW,CACb,6FAA6F,EAC7F,EAAE,WAAW,EAAE,CAChB,CACF,CAAC;gBACF,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjB,MAAM;aACP;YACD,KAAK,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACjC,QAAQ,CAAC,IAAI,CACX,OAAO,EACP,IAAI,WAAW,CACb,wHAAwH,EACxH,EAAE,WAAW,EAAE,CAChB,CACF,CAAC;gBACF,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjB,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE;oBACtD,WAAW;iBACZ,CAAC,CAAC;aACJ;SACF;KACF;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,WAAW,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;KACnF;IAED,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAA,CAAC"}